import { AgentBase, type SpawnPlan } from '../../../core/agent-base.js'; import type { AgentSendOpts } from '../../../core/types.js'; /** v1.3.8 — token-level streaming. With `--include-partial-messages` the CLI * emits `content_block_delta` / `text_delta` events as the model writes, * instead of one whole text block per turn — so the TUI streams smoothly * rather than landing a paragraph at a time. Default ON; set * AGIM_CLAUDE_PARTIAL_STREAM=0 to fall back to block streaming (e.g. for an * older Claude Code CLI that doesn't recognise the flag). */ export declare function claudePartialStreamEnabled(): boolean; export declare class ClaudeCodeAdapter extends AgentBase { readonly name = "claude-code"; readonly aliases: string[]; readonly kind: "cli"; protected get commandName(): string; /** * Legacy/fallback args — used when approval routing is disabled or not * applicable (no IM context, bus down, AGIM_APPROVAL_DISABLED=1). * * planMode override: when opts.planMode is true we hand claude * `--permission-mode plan` regardless of fallback path. plan is read-only * by design so the IM approval bus has nothing to gate, and dontAsk would * silently re-allow mutations the user explicitly opted out of. */ protected buildArgs(prompt: string, opts: AgentSendOpts): string[]; protected prepareCommand(prompt: string, opts: AgentSendOpts): Promise; protected extractText(event: unknown): string; /** * v1.3 — surface Claude Code's own cost + token usage so the audit-log * actually records non-zero numbers for claude invocations. Claude Code * CLI 2.x emits a `result` event at the end of each run with * `total_cost_usd` (already priced) and `usage` (token counts). We pipe * both through `opts.onUsage`, which the router accumulates and writes * into invocations.cost. */ protected inspectEvent(event: unknown, opts: AgentSendOpts): void; } export declare const claudeCodeAdapter: ClaudeCodeAdapter; export declare const _testInternals: { prepareCommand(adapter: ClaudeCodeAdapter, prompt: string, opts: AgentSendOpts): Promise; buildArgs(adapter: ClaudeCodeAdapter, prompt: string, opts?: AgentSendOpts): string[]; extractText(adapter: ClaudeCodeAdapter, event: unknown): string; }; //# sourceMappingURL=index.d.ts.map