Skip to content

feat(agents): Configuration tab on the Agents page [20/21] - #341

Merged
gusfcarvalho merged 2 commits into
agent-config/19-historyfrom
agent-config/20-config-tab
Oct 6, 2026
Merged

gusfcarvalho merged 2 commits into
agent-config/19-historyfrom
agent-config/20-config-tab

Conversation

@gusfcarvalho

@gusfcarvalho gusfcarvalho commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Part 20 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

Wires everything up: AgentConfigTab and the Configuration tab on the Agents page. The agents route and side nav are now gated on agent:read (keys and CRUD inside the page stay behind admin:manage).

Tests

Specs for the tab, the Agents view, router and side nav; AiDiagnosticsView.spec.ts and sspViews.spec.ts now unmount wrappers so PrimeVue's TabList timer can't fire after teardown.

Size exception

This PR is just over the 1k-line limit (about 1,030 lines, package-lock excluded) and carries the size-exception label. The overflow is the tab-level specs for the paginated instance list (one instance makes one list request and shows no paging notice; a fleet past the page cap gets a fleet-wide header, a paged picker and blocked edits). They need AgentConfigTab, which this layer introduces.

🤖 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: 2eec67e8-81a4-441e-b93b-dd07ed62a6ac
📥 Commits

Reviewing files that changed from the base of the PR and between 8d58a72 and 9f0a1f8.

📒 Files selected for processing (10)
  • src/components/agents/config/AgentConfigTab.vue
  • src/components/agents/config/__tests__/AgentConfigTab.spec.ts
  • src/router/__tests__/index.spec.ts
  • src/router/index.ts
  • src/views/LeftSideNav.vue
  • src/views/__tests__/AgentsView.spec.ts
  • src/views/__tests__/AiDiagnosticsView.spec.ts
  • src/views/__tests__/LeftSideNav.spec.ts
  • src/views/admin/AgentsView.vue
  • src/views/system-security-plans/__tests__/sspViews.spec.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

Failed permission hydration currently enables optimistic admin access and triggers unauthorized key requests.

Review effort: Balanced
Findings: 1 High severity

Open (1)
What changed in this PR

Wires agent remote configuration into the Agents page with permission-aware routing and UI.

Changes:

  • Adds the Configuration tab and lazy-loaded configuration workspace.
  • Gates agent navigation on agent:read while retaining admin-only CRUD and key controls.
  • Adds coverage and stabilizes PrimeVue tab tests through automatic unmounting.
File Description
src/​components/​agents/​config/​AgentConfigTab.vue Adds the configuration interface.
src/​components/​agents/​config/​__tests__/​AgentConfigTab.spec.ts Tests configuration states and permissions.
src/​views/​admin/​AgentsView.vue Integrates the tab and permission gates.
src/​views/​__tests__/​AgentsView.spec.ts Tests admin and reader behavior.
src/​views/​LeftSideNav.vue Changes Agents navigation to agent:read.
src/​views/​__tests__/​LeftSideNav.spec.ts Tests non-admin Agents visibility.
src/​router/​index.ts Changes the route permission.
src/​router/​__tests__/​index.spec.ts Tests route permission metadata.
src/​views/​__tests__/​AiDiagnosticsView.spec.ts Adds automatic wrapper cleanup.
src/​views/​system-security-plans/​__tests__/​sspViews.spec.ts Adds automatic wrapper cleanup.

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

Comment on lines +554 to +562
const permissionsReady = ref(loaded.value);
if (!permissionsReady.value) {
Promise.resolve(hydrate())
.catch(() => undefined)
.finally(() => {
permissionsReady.value = true;
});
}
const isAdmin = computed(() => permissionsReady.value && canManageAdmin.value);
@gusfcarvalho
gusfcarvalho force-pushed the agent-config/20-config-tab branch from b7f7922 to 89bb1db Compare October 5, 2026 16:32
@ccf-lisa
ccf-lisa Bot force-pushed the agent-config/20-config-tab branch from 89bb1db to 0e1f629 Compare October 6, 2026 09:40
@ccf-lisa
ccf-lisa Bot force-pushed the agent-config/20-config-tab branch from 0e1f629 to 4025803 Compare October 6, 2026 11:38
@ccf-lisa
ccf-lisa Bot force-pushed the agent-config/20-config-tab branch from 4025803 to 6210417 Compare October 6, 2026 11:51
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

@ccf-lisa
ccf-lisa Bot force-pushed the agent-config/20-config-tab branch from 6210417 to c903644 Compare October 6, 2026 13:32
@ccf-lisa
ccf-lisa Bot force-pushed the agent-config/20-config-tab branch from c903644 to c26538d Compare October 6, 2026 14:20
@gusfcarvalho gusfcarvalho added the size-exception PR intentionally exceeds the 1k-line size limit; reasoning in the description label Oct 6, 2026
@ccf-lisa
ccf-lisa Bot force-pushed the agent-config/20-config-tab branch from c26538d to a26a7f6 Compare October 6, 2026 14:38
gusfcarvalho and others added 2 commits October 6, 2026 12:14
Layer 20 of 21 in the stacked split of #318.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The header's instance count is the API's fleet-wide total, not the
loaded rows. Tab specs cover one instance (one list request, no paging
notices) and a fleet past the page cap (fleet-wide header, paged
picker, edits blocked with the cap named).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@gusfcarvalho
gusfcarvalho force-pushed the agent-config/20-config-tab branch from a26a7f6 to 9f0a1f8 Compare October 6, 2026 15:14
@gusfcarvalho
gusfcarvalho merged commit a198cf0 into main Oct 6, 2026
4 checks passed
@gusfcarvalho
gusfcarvalho deleted the agent-config/20-config-tab 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

size-exception PR intentionally exceeds the 1k-line size limit; reasoning in the description

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants