Files
pulse/docs/release-control
rcourtman d4efc08909 Surface agent integrations in Settings → API Access
The agent substrate has been entirely API-side until now. An
operator opening Pulse had no way to know it existed, no way to
see what an agent connected to their instance could do, and no
quick path to a working MCP integration. Slice 59 closes that
visibility gap.

A new AgentIntegrationsPanel renders below the existing
APITokenManager on the API Access tab. The panel:

- Fetches /api/agent/capabilities at mount and renders the
  declared capabilities grouped by category (Context, Operator
  state, Patrol findings, Action governance), each row showing
  name, method+path, scope chip, description, and the stable
  error codes the manifest declares. Adding a capability on the
  backend extends this list automatically; nothing in the panel
  is hardcoded against the substrate's surface.

- Generates an MCP config snippet using window.location.origin so
  the snippet is correct for whichever URL the operator is
  reading from. Includes a copy-to-clipboard button (matching
  the existing CopyCommandBlock pattern) and a brief explainer
  pointing at the right config path for Claude Desktop and
  Claude Code.

- Links to cmd/pulse-mcp/README.md, cmd/agent-probe, and
  docs/AGENT_SUBSTRATE.md so an integrator has the full setup
  story without leaving the panel.

Wiring is one import + one component placement in
APIAccessPanel.tsx. The api tab already concerns "what can be
done with API tokens"; adding the agent surface as a sibling
section under the same tab keeps the operator's mental model
coherent (one place for machine-driven access) and avoids
growing the Settings tab inventory or touching
settingsNavigationModel, the registry, the loaders, or the
routing tests.

Two architectural pins land alongside:

- settingsArchitecture.test.ts gains a guardrail that the
  AgentIntegrationsPanel sits as a sibling section inside
  APIAccessPanel rather than being lifted into its own tab.
  Drift would fragment the agent surface across navigation.
- The frontend-primitives contract documents the
  sibling-panel-over-new-tab pattern for additive operator
  surfaces closely related to an existing tab's intent.
- The security-privacy contract documents the new section's
  presence on the API Access tab and pins that token minting
  still flows through APITokenManager — the new section
  surfaces what tokens unlock, not a parallel auth path.

Verified against the running dev server: the page renders the
four category sections (Context, Operator state, Patrol
findings, Action governance), the live MCP config snippet
contains the deployment's own origin, and the manifest endpoint
serves all 14 capabilities (the 11 substrate capabilities + the
3 action capabilities from slice 58). TypeScript clean across
the frontend.
2026-05-10 16:35:40 +01:00
..