feat(ai): unify agent chat lifecycle - #44
Conversation
…ntly Select an available Vite port by default while preserving strict behavior for explicit ports, and let Vite own browser opening in development. Resolve prompt setup through the shared shell configuration so working-directory semantics remain consistent.
… MCP Add request-scoped, authenticated MCP capabilities for Claude and Codex agent providers, including shared tool policy resolution, schema validation, approvals, expiry, and revocation. Propagate structured chat runtimes and agent prompts so new and resumed sessions receive consistent caller-owned tools, while disabled tool sets remain tool-free. Advertise caller-tool support through model capabilities and catalogs. BREAKING CHANGE: NewCodexAppServer now accepts ai.Config instead of a model string.
Add disabled-model filtering to whoami and expose exact backend/model runtime data for prompts. Use canonical run requests for preview and execution, and require explicit Save as for read-only prompts to prevent implicit local forks. BREAKING CHANGE: Updating a read-only prompt now fails; clients must use Save as/create to make an editable copy.
…-tool approvals Persist chat execution identity, prompt runs, credential leases, and tool approval requests so caller tools are bound to the admitted session and can be revoked or revalidated throughout a run. Route live approval resolutions through durable authority, recover approval state from stored thread messages, and propagate provider tool-use IDs through the Claude agent bridge. BREAKING CHANGE: agent-backed caller tools now require an authoritative execution with MCP enabled
Keep runtime model metadata aligned with catalog capability defaults and verify disabled selections remain consistent under concurrent updates.
Expose process diagnostics for cmux surfaces, panes, workspaces, and individual PIDs. Report runtime, resource usage, listeners, process locations, and optional Go stacks for easier local debugging. Claude-Session-Id: 019fc117-12df-7130-a435-2df0841694df
…ripts Unwrap static sh/bash/zsh wrappers so rendered transcripts show the actual command while preserving shell flags and arguments. Centralize streaming and history output on canonical transcript rows, with safer tool-result handling and TTY redraw support. Preserve raw history serialization when explicitly requested.
Preserve one canonical transcript representation across Claude, Codex, and live agent events so wrapped shell commands display and serialize consistently. Use stateful rendering with flush and error propagation for streamed output while avoiding duplicate rows across iterations. BREAKING CHANGE: Message.Raw is no longer serialized in canonical session JSON
Claude-Session-Id: 019fc16e-32f2-7263-aeaa-d7cad6482315
Use the v0.0.54 action revision for lint and test jobs and align with its updated configuration interface.
Align the webapp's React and React DOM type packages with current React 19 declarations while keeping the runtime on React 18.
Expose cmux workspace, pane, and surface inspection through the CLI. Resolve target process trees and present runtime, resource, listener, location, and optional Go stack details for easier debugging.
|
Important Review skippedToo many files! This PR contains 186 files, which is 86 over the limit of 100. To get a review, narrow the scope: Upgrade to a paid plan to raise the limit. This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (3)
📒 Files selected for processing (186)
You can disable this status message by setting the 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. Comment |
Gavel summary
Totals: 0 passed · 0 failed · 0 skipped · - |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Gavel summary
Totals: 3016 passed · 5 failed · 10 skipped · 1m45s Failing testsmigrations — Captain duplicate session collapse > re-points a subagent at the surviving row instead of cascading it awaygithub.com/flanksource/captain/pkg/database — TestDurableSessionPromptRunAndPlanStoresgithub.com/flanksource/captain/pkg/cli — TestHandleSessionGetReturnsAllMatchesgithub.com/flanksource/captain/pkg/cli — TestRunSessionListAndGetClaudevitest Execution |
What
Notes
NewCodexAppServer, authoritative MCP execution, and canonical session JSON.