Skip to content

feat(agent-config): inline scalar and map field editing [15/21] - #336

Merged
gusfcarvalho merged 1 commit into
agent-config/14-workspace-dialogsfrom
agent-config/15-inline-editing
Oct 6, 2026
Merged

gusfcarvalho merged 1 commit into
agent-config/14-workspace-dialogsfrom
agent-config/15-inline-editing

Conversation

@gusfcarvalho

Copy link
Copy Markdown
Contributor

Part 15 of 21 of the stacked split of #318 (agent remote configuration). Every layer adds the final version of its files from #318, and only imports from layers below it, so each layer passes make reviewable on its own. Nothing is reachable in the app until layer 20 wires the Configuration tab in.

What

Inline editing in the Effective view: scalar editor, editable field wrapper, map field editor, access/pending indicators, empty/null value helpers, and the config flags summary.

Tests

emptyValue.spec.ts; inline editing end to end is covered by InlineEditing.spec.ts in layer 21.

🤖 Generated with Claude Code

Copilot AI balanced review requested due to automatic review settings October 5, 2026 10:52
@coderabbitai

coderabbitai Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 59 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 1b20608c-39c4-48b6-8404-fc90fa98e17a
📥 Commits

Reviewing files that changed from the base of the PR and between 807a4ee and 20ee278.

📒 Files selected for processing (10)
  • src/components/agents/config/ConfigFlagsSummary.vue
  • src/components/agents/config/effective/AccessIcon.vue
  • src/components/agents/config/effective/EditableField.vue
  • src/components/agents/config/effective/InlineScalarEditor.vue
  • src/components/agents/config/effective/MapFieldEditor.vue
  • src/components/agents/config/effective/PendingPill.vue
  • src/components/agents/config/effective/__tests__/emptyValue.spec.ts
  • src/components/agents/config/effective/emptyValue.ts
  • src/components/agents/config/effective/nullKeys.ts
  • src/components/agents/config/effective/scalar.ts
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Map additions bypass per-key access controls, and empty-value handling can use an incomplete set of instance bases.

Review effort: Balanced
Findings: 1 High severity · 2 Medium severity

Open (3)
What changed in this PR

Adds inline agent-configuration editing components for the future Effective view.

Changes:

  • Adds scalar/map editors with access, pending, and undo indicators.
  • Adds empty/null handling and agent flag summaries.
  • Tests empty string map behavior.
File Description
scalar.ts Defines scalar editor kinds.
PendingPill.vue Displays pending changes and undo.
nullKeys.ts Detects invalid null object values.
MapFieldEditor.vue Edits plugin config and label maps.
InlineScalarEditor.vue Edits scalar configuration values.
emptyValue.ts Implements empty string inheritance behavior.
EditableField.vue Wraps fields with editing and access controls.
AccessIcon.vue Displays field-access indicators.
emptyValue.spec.ts Tests empty-value behavior.
ConfigFlagsSummary.vue Summarizes editable agent flags.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

:warn-keys="field === 'config'"
:test-id="`${field}-${plugin}`"
@set="setValue"
@add="(k, v) => draft.set(p(k), v)"
Comment on lines +124 to +126
const bases = [ws.placeholderBase.value, ...ws.bases.value];
/** Some instance's file defines this key: emptying it inherits the file value. */
const inAnyBase = definedInAnyBase(bases, props.ptr);
Comment on lines +80 to +82
function setValue(k: string, v: string) {
setStringKey(draft, [ctx.placeholderBase.value, ...ctx.bases.value], p(k), v);
}
@gusfcarvalho
gusfcarvalho force-pushed the agent-config/15-inline-editing branch from 5fc2700 to 2c70aaa Compare October 5, 2026 16:32
@ccf-lisa
ccf-lisa Bot force-pushed the agent-config/15-inline-editing branch from 2c70aaa to d200150 Compare October 6, 2026 09:40
@ccf-lisa
ccf-lisa Bot force-pushed the agent-config/15-inline-editing branch from d200150 to eb2cdad Compare October 6, 2026 11:38
ianmiell
ianmiell previously approved these changes Oct 6, 2026

@ianmiell ianmiell left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ccf-review: APPROVE

no findings.

Stack (gh stack 343): #322 → #323 → #324 → #325 → #326 → #327 → #328 → #329 → #330 → #331 → #332 → #333 → #334 → #335 → #336 → #337 → #338 → #339 → #340 → #341 → #342

Layer 15 of 21 in the stacked split of #318.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@gusfcarvalho
gusfcarvalho force-pushed the agent-config/15-inline-editing branch from fe058c4 to 20ee278 Compare October 6, 2026 15:14
@gusfcarvalho
gusfcarvalho merged commit 86bcc33 into main Oct 6, 2026
4 checks passed
@gusfcarvalho
gusfcarvalho deleted the agent-config/15-inline-editing branch October 6, 2026 16:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants