Merge branch 'sidecars-claude' into sidecars
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import type { MessageCost, ChatEvent } from '../api/chat/types';
|
||||
import type { MessageCost, ChatEvent, TurnMessage } from '../api/chat/types';
|
||||
|
||||
// ── Envelope ──
|
||||
|
||||
@@ -35,7 +35,10 @@ export type SidecarEvent =
|
||||
| { type: 'proxy:secret'; id: string; secret: string }
|
||||
// Claude Code
|
||||
| { type: 'claude:spawned'; id: string; sessionKey: string }
|
||||
| { type: 'claude:event'; sessionKey: string; event: ChatEvent }
|
||||
// A finished, browser-facing turn message. The agent has already committed it to chat_session_events
|
||||
// and `seq` is its cursor id there; officer relays it verbatim. No `seq` means it is not durable —
|
||||
// an `assistant:delta` (superseded by the text that follows) or a message whose write failed.
|
||||
| { type: 'claude:message'; sessionKey: string; msg: TurnMessage; seq?: number }
|
||||
| { type: 'claude:result'; id: string; result: ClaudeCodeResult }
|
||||
| { type: 'claude:error'; id: string; error: string }
|
||||
| { type: 'claude:killed'; id: string }
|
||||
@@ -93,6 +96,10 @@ export type ClaudeSpawnStreamingParams = {
|
||||
cwd?: string;
|
||||
model?: string;
|
||||
resumeSessionId?: string; // resume this Claude session uuid (from the /chat session list)
|
||||
// Whether turn output should be committed to chat_session_events (default true). A chat session wants
|
||||
// it — that is what survives an officer restart. A pipeline step does not: its sessionKey is a throwaway
|
||||
// uuid no browser will ever replay, and the job's own event log is its record.
|
||||
durable?: boolean;
|
||||
};
|
||||
|
||||
export type ClaudeCodeResult = {
|
||||
|
||||
Reference in New Issue
Block a user