@factory/droid-sdk 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -482
- package/dist/chunk-5UXINOXG.mjs +24483 -0
- package/dist/chunk-5UXINOXG.mjs.map +1 -0
- package/dist/chunk-C3KHERVH.js +24483 -0
- package/dist/chunk-C3KHERVH.js.map +1 -0
- package/dist/{index-CwXX5IUH.d.cts → index-D_SzTnFR.d.mts} +83826 -81547
- package/dist/{index-CwXX5IUH.d.ts → index-D_SzTnFR.d.ts} +83826 -81547
- package/dist/index.d.mts +4 -0
- package/dist/index.d.ts +4 -93103
- package/dist/index.js +821 -11745
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +822 -0
- package/dist/index.mjs.map +1 -0
- package/dist/node.d.mts +736 -0
- package/dist/node.d.ts +736 -0
- package/dist/node.js +4601 -0
- package/dist/node.js.map +1 -0
- package/dist/node.mjs +4601 -0
- package/dist/node.mjs.map +1 -0
- package/docs/typescript-sdk-reference.md +1260 -0
- package/examples/browser/daemon-lifecycle.ts +95 -0
- package/examples/browser/daemon-multi-session.ts +66 -0
- package/examples/browser/daemon-session.ts +73 -0
- package/examples/browser/index.html +68 -0
- package/examples/browser/list-sessions.ts +52 -0
- package/examples/{abort-session-stream.ts → node/abort-session-stream.ts} +8 -10
- package/examples/node/ask-user-elicitation.ts +35 -0
- package/examples/node/compact-session.ts +48 -0
- package/examples/node/enter-spec-mode.ts +66 -0
- package/examples/node/fork-session.ts +45 -0
- package/examples/node/hook-execution.ts +94 -0
- package/examples/node/image-attachment.ts +35 -0
- package/examples/node/init-metadata.ts +24 -0
- package/examples/{interrupt-session.ts → node/interrupt-session.ts} +7 -6
- package/examples/node/list-sessions.ts +20 -0
- package/examples/node/multi-turn-session.ts +33 -0
- package/examples/node/observability.ts +88 -0
- package/examples/node/permission-handler.ts +55 -0
- package/examples/node/rename-session.ts +29 -0
- package/examples/node/result-metadata.ts +34 -0
- package/examples/node/rewind-session.ts +69 -0
- package/examples/node/run.ts +25 -0
- package/examples/{sdk-mcp-tool.ts → node/sdk-mcp-tool.ts} +22 -12
- package/examples/node/session-settings.ts +35 -0
- package/examples/node/session-stream.ts +44 -0
- package/examples/node/spec-mode-new-session.ts +92 -0
- package/examples/node/spec-mode-same-session.ts +85 -0
- package/examples/node/structured-output.ts +73 -0
- package/examples/node/tool-controls.ts +26 -0
- package/examples/package.json +3 -0
- package/package.json +20 -42
- package/dist/index.cjs +0 -12135
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -93103
- package/dist/protocol/index.cjs +0 -6466
- package/dist/protocol/index.cjs.map +0 -1
- package/dist/protocol/index.d.cts +0 -2
- package/dist/protocol/index.d.ts +0 -2
- package/dist/protocol/index.js +0 -6078
- package/dist/protocol/index.js.map +0 -1
- package/docs/daemon-usage-guide.md +0 -544
- package/docs/sdk-usage-guide.md +0 -748
- package/examples/daemon-multi-session.ts +0 -67
- package/examples/droid-dev-structured-output.ts +0 -44
- package/examples/fork-session.ts +0 -68
- package/examples/hook-execution.ts +0 -68
- package/examples/init-metadata.ts +0 -24
- package/examples/list-sessions.ts +0 -19
- package/examples/multi-turn-session.ts +0 -40
- package/examples/permission-handler.ts +0 -41
- package/examples/readme-structured-output.ts +0 -26
- package/examples/result-metadata.ts +0 -63
- package/examples/run.ts +0 -39
- package/examples/session-stream.ts +0 -57
- package/examples/spec-mode-new-session.ts +0 -61
- package/examples/spec-mode-same-session.ts +0 -72
- package/examples/structured-output.ts +0 -60
- package/examples/test-compact.ts +0 -65
- package/examples/test-rewind.ts +0 -87
- package/examples/tool-controls.ts +0 -37
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/protocol/enums.ts","../../src/protocol/constants.ts","../../src/protocol/json-rpc.ts","../../src/protocol/host.ts","../../src/protocol/session.ts","../../src/protocol/session-source.ts","../../src/protocol/messages.ts","../../src/protocol/model-settings.ts","../../src/protocol/settings.ts","../../src/protocol/general-settings.ts","../../src/protocol/custom-models.ts","../../src/protocol/policy.ts","../../src/protocol/loop.ts","../../src/protocol/selectable-list-item.ts","../../src/protocol/mcp.ts","../../src/protocol/mission-decomposition.ts","../../src/protocol/cli.ts","../../src/protocol/client.ts","../../src/protocol/automations-enums.ts","../../src/protocol/automations.ts","../../src/protocol/crons.ts","../../src/protocol/session-summary.ts","../../src/protocol/session-tools.ts","../../src/protocol/session-settings-schema.ts","../../src/protocol/tools-enums.ts","../../src/protocol/tools.ts","../../src/protocol/updater.ts","../../src/protocol/usage.ts","../../src/protocol/daemon/index.ts","../../src/protocol/daemon/enums.ts","../../src/protocol/daemon/bug-report.ts","../../src/protocol/daemon/management.ts","../../src/protocol/daemon/skills.ts","../../src/protocol/daemon/commands.ts","../../src/protocol/daemon/relay.ts","../../src/protocol/daemon/terminal.ts","../../src/protocol/daemon/connection.ts","../../src/protocol/daemon/mcp.ts","../../src/protocol/daemon/automations.ts","../../src/protocol/daemon/crons.ts","../../src/protocol/daemon/plugins.ts","../../src/protocol/daemon/settings.ts","../../src/protocol/daemon/droid.ts"],"sourcesContent":["// Protocol enums (shared, droid, session, llm, settings, sources).\n\nexport enum JsonRpcMessageType {\n Request = 'request',\n Response = 'response',\n Notification = 'notification',\n}\n\n/**\n * Standard JSON-RPC 2.0 error codes\n * @see https://www.jsonrpc.org/specification#error_object\n */\nexport enum JsonRpcErrorCode {\n PARSE_ERROR = -32700,\n INVALID_REQUEST = -32600,\n METHOD_NOT_FOUND = -32601,\n INVALID_PARAMS = -32602,\n INTERNAL_ERROR = -32603,\n AUTHENTICATION_ERROR = -32001,\n ENTITY_NOT_FOUND = -32004,\n /** Session's CLI process has disconnected or died */\n SESSION_DISCONNECTED = -32005,\n}\n\n/**\n * The interaction mode determines how Droid operates.\n * - Auto: Droid can execute actions based on autonomy level\n * - Spec: Droid is in planning/research mode only (read-only operations)\n * - Mission: Droid orchestrates missions with read-only tools and orchestrator controls\n */\nexport enum DroidInteractionMode {\n Auto = 'auto',\n Spec = 'spec',\n /** @deprecated Use Mission instead. Kept for protocol compatibility. */\n AGI = 'agi',\n Mission = 'mission',\n}\n\n/**\n * Supported operating system platforms\n */\nexport enum Platform {\n Darwin = 'darwin',\n Windows = 'win32',\n Linux = 'linux',\n}\n\n/**\n * Autonomy level determines what actions Droid can perform without user confirmation.\n * - Off: User controls all actions (confirmation required for everything)\n * - Low: Allow file edits and read-only commands\n * - Medium: Allow reversible commands\n * - High: Allow all commands without prompts\n */\nexport enum AutonomyLevel {\n Off = 'off',\n Low = 'low',\n Medium = 'medium',\n High = 'high',\n}\n\n/**\n * Combined autonomy mode for backward compatibility.\n * This is derived from DroidInteractionMode + AutonomyLevel:\n * - Normal = Auto + Off\n * - Spec = Spec mode (autonomy level ignored)\n * - AutoLow = Auto + Low\n * - AutoMedium = Auto + Medium\n * - AutoHigh = Auto + High\n * @deprecated Use DroidInteractionMode + AutonomyLevel instead\n */\nexport enum AutonomyMode {\n Normal = 'normal',\n Spec = 'spec',\n AutoLow = 'auto-low',\n AutoMedium = 'auto-medium',\n AutoHigh = 'auto-high',\n}\n\n// ---------------------------------------------------------------------------\n// droid/enums.ts (leaf — zero imports)\n// ---------------------------------------------------------------------------\n\n// Tool confirmation outcome options (possible user responses to permission requests)\nexport enum ToolConfirmationOutcome {\n ProceedOnce = 'proceed_once',\n ProceedAlways = 'proceed_always',\n /** Like ProceedAlways, but persists the exact file path instead of its parent directory. */\n ProceedAlwaysForExactPath = 'proceed_always_file',\n ProceedAutoRun = 'proceed_auto_run',\n ProceedAutoRunLow = 'proceed_auto_run_low',\n ProceedAutoRunMedium = 'proceed_auto_run_medium',\n ProceedAutoRunHigh = 'proceed_auto_run_high',\n ProceedNewSession = 'proceed_new_session',\n ProceedNewSessionLow = 'proceed_new_session_low',\n ProceedNewSessionMedium = 'proceed_new_session_medium',\n ProceedNewSessionHigh = 'proceed_new_session_high',\n ProceedEdit = 'proceed_edit',\n /** MCP: Persist approval for specific tool(s) across sessions */\n ProceedAlwaysTools = 'proceed_always_tools',\n /** MCP: Persist approval for all tools from a server across sessions */\n ProceedAlwaysServer = 'proceed_always_server',\n Cancel = 'cancel',\n}\n\n// Tool confirmation type (which tool is requesting permission)\nexport enum ToolConfirmationType {\n Edit = 'edit',\n Execute = 'exec',\n Create = 'create',\n AskUser = 'ask_user',\n ExitSpecMode = 'exit_spec_mode',\n ProposeMission = 'propose_mission',\n StartMissionRun = 'start_mission_run',\n ApplyPatch = 'apply_patch',\n McpTool = 'mcp_tool',\n SandboxViolation = 'sandbox_violation',\n}\n\n// Sandbox violation type (filesystem read, filesystem write, or network)\nexport enum SandboxViolationType {\n FilesystemRead = 'filesystem-read',\n FilesystemWrite = 'filesystem-write',\n Network = 'network',\n}\n\n// Sandbox violation reason (why the access was denied)\nexport enum SandboxViolationReason {\n DenyList = 'deny-list',\n NotAllowed = 'not-allowed',\n}\n\n// Sandbox operation type (the type of operation that was blocked)\nexport enum SandboxOperationType {\n Read = 'read',\n Write = 'write',\n Network = 'network',\n}\n\n// Droid server methods (client to server communication)\nexport enum DroidServerMethod {\n INITIALIZE_SESSION = 'droid.initialize_session',\n LOAD_SESSION = 'droid.load_session',\n ADD_USER_MESSAGE = 'droid.add_user_message',\n RESOLVE_QUEUED_USER_MESSAGE = 'droid.resolve_queued_user_message',\n CLOSE_SESSION = 'droid.close_session',\n INTERRUPT_SESSION = 'droid.interrupt_session',\n KILL_WORKER_SESSION = 'droid.kill_worker_session',\n UPDATE_SESSION_SETTINGS = 'droid.update_session_settings',\n // MCP server management\n TOGGLE_MCP_SERVER = 'droid.toggle_mcp_server',\n AUTHENTICATE_MCP_SERVER = 'droid.authenticate_mcp_server',\n CANCEL_MCP_AUTH = 'droid.cancel_mcp_auth',\n CLEAR_MCP_AUTH = 'droid.clear_mcp_auth',\n ADD_MCP_SERVER = 'droid.add_mcp_server',\n REMOVE_MCP_SERVER = 'droid.remove_mcp_server',\n LIST_MCP_REGISTRY = 'droid.list_mcp_registry',\n LIST_MCP_TOOLS = 'droid.list_mcp_tools',\n LIST_TOOLS = 'droid.list_tools',\n LIST_MCP_SERVERS = 'droid.list_mcp_servers',\n TOGGLE_MCP_TOOL = 'droid.toggle_mcp_tool',\n SUBMIT_MCP_AUTH_CODE = 'droid.submit_mcp_auth_code',\n // Skills\n LIST_SKILLS = 'droid.list_skills',\n // Custom slash commands\n LIST_COMMANDS = 'droid.list_commands',\n // Bug reports\n SUBMIT_BUG_REPORT = 'droid.submit_bug_report',\n // Rewind\n GET_REWIND_INFO = 'droid.get_rewind_info',\n EXECUTE_REWIND = 'droid.execute_rewind',\n // Compaction\n COMPACT_SESSION = 'droid.compact_session',\n // Fork\n FORK_SESSION = 'droid.fork_session',\n // Rename\n RENAME_SESSION = 'droid.rename_session',\n // Context stats\n GET_CONTEXT_STATS = 'droid.get_context_stats',\n // Detailed context breakdown for the /context modal\n GET_CONTEXT_BREAKDOWN = 'droid.get_context_breakdown',\n // Cache warmup\n WARMUP_CACHE = 'droid.warmup_cache',\n}\n\nexport enum QueuePlacement {\n EndOfTurn = 'end_of_turn',\n EndOfLoop = 'end_of_loop',\n}\n\nexport enum ResolveQueuedUserMessageAction {\n UpdateQueue = 'update_queue',\n Delete = 'delete',\n}\n\n// Droid client methods (server to client communication)\nexport enum DroidClientMethod {\n SESSION_NOTIFICATION = 'droid.session_notification',\n REQUEST_PERMISSION = 'droid.request_permission',\n ASK_USER = 'droid.ask_user',\n}\n\n// Session notification types\nexport enum SessionNotificationType {\n TOOL_RESULT = 'tool_result',\n TOOL_PROGRESS_UPDATE = 'tool_progress_update',\n CREATE_MESSAGE = 'create_message',\n ERROR = 'error',\n DROID_WORKING_STATE_CHANGED = 'droid_working_state_changed',\n SESSION_COMPACTED = 'session_compacted',\n LOOP_STATE_CHANGED = 'loop_state_changed',\n PERMISSION_RESOLVED = 'permission_resolved',\n SETTINGS_UPDATED = 'settings_updated',\n SESSION_TITLE_UPDATED = 'session_title_updated',\n MCP_STATUS_CHANGED = 'mcp_status_changed',\n ASSISTANT_TEXT_DELTA = 'assistant_text_delta',\n ASSISTANT_TEXT_COMPLETE = 'assistant_text_complete',\n STRUCTURED_OUTPUT = 'structured_output',\n THINKING_TEXT_DELTA = 'thinking_text_delta',\n THINKING_TEXT_COMPLETE = 'thinking_text_complete',\n SESSION_TOKEN_USAGE_CHANGED = 'session_token_usage_changed',\n MISSION_STATE_CHANGED = 'mission_state_changed',\n MISSION_FEATURES_CHANGED = 'mission_features_changed',\n MISSION_PROGRESS_ENTRY = 'mission_progress_entry',\n MISSION_HEARTBEAT = 'mission_heartbeat',\n MISSION_WORKER_STARTED = 'mission_worker_started',\n MISSION_WORKER_COMPLETED = 'mission_worker_completed',\n MCP_AUTH_REQUIRED = 'mcp_auth_required',\n MCP_AUTH_COMPLETED = 'mcp_auth_completed',\n HOOK_EXECUTION_STARTED = 'hook_execution_started',\n HOOK_EXECUTION_COMPLETED = 'hook_execution_completed',\n TOOL_CALL = 'tool_call',\n QUEUED_MESSAGES_DISCARDED = 'queued_messages_discarded',\n /**\n * Internal daemon keep-alive signal emitted while a long-running tool\n * (e.g. Execute) is actively executing but not streaming output. Used by\n * the daemon to refresh session inactivity timeouts. Not forwarded to\n * external clients.\n */\n TOOL_EXECUTION_HEARTBEAT = 'tool_execution_heartbeat',\n}\n\nexport enum StructuredOutputErrorCode {\n MissingStructuredOutput = 'missing_structured_output',\n InvalidStructuredOutput = 'invalid_structured_output',\n InvalidSchema = 'invalid_schema',\n SchemaValidationFailed = 'schema_validation_failed',\n}\n\nexport enum McpAuthOutcome {\n Success = 'success',\n Cancelled = 'cancelled',\n Failed = 'failed',\n}\n\n// MCP server connection status\nexport enum McpServerStatus {\n Connecting = 'connecting',\n Connected = 'connected',\n Disconnected = 'disconnected',\n Failed = 'failed',\n Disabled = 'disabled',\n}\n\n// MCP server transport type\nexport enum McpServerType {\n Stdio = 'stdio',\n Http = 'http',\n Sse = 'sse',\n}\n\n// Overall MCP initialization status\nexport enum McpStatus {\n NotInitialized = 'not-initialized',\n Initializing = 'initializing',\n Ready = 'ready',\n NoServers = 'no-servers',\n Failed = 'failed',\n}\n\n// Error types for error notifications\nexport enum DroidErrorType {\n CONNECTION_ERROR = 'ConnectionError',\n PROTOCOL_ERROR = 'ProtocolError',\n SESSION_ERROR = 'SessionError',\n TIMEOUT_ERROR = 'TimeoutError',\n DROID_CLIENT_ERROR = 'DroidClientError',\n PROCESS_EXIT_ERROR = 'ProcessExitError',\n ERROR = 'Error',\n}\n\n// Droid working state (represents what the agent is currently doing)\nexport enum DroidWorkingState {\n Idle = 'idle',\n Thinking = 'thinking',\n StreamingAssistantMessage = 'streaming_assistant_message',\n WaitingForToolConfirmation = 'waiting_for_tool_confirmation',\n ExecutingTool = 'executing_tool',\n CompactingConversation = 'compacting_conversation',\n}\n\nexport enum DroidLoopStatus {\n Waiting = 'waiting',\n Running = 'running',\n Due = 'due',\n Stopped = 'stopped',\n Error = 'error',\n}\n\nexport enum DroidLoopStopReason {\n UserStopped = 'user_stopped',\n ManualMessage = 'manual_message',\n Interrupted = 'interrupted',\n SessionClosed = 'session_closed',\n ProcessExited = 'process_exited',\n Error = 'error',\n}\n\nexport enum ContextStatsAccuracy {\n Exact = 'exact',\n Estimated = 'estimated',\n}\n\nexport enum ToolExecutionRenderStatus {\n Streaming = 'streaming',\n Pending = 'pending',\n Executing = 'executing',\n Completed = 'completed',\n Error = 'error',\n}\n\n// Session type for mission decomposition (orchestrator manages workers)\nexport enum DecompSessionType {\n Orchestrator = 'orchestrator',\n Worker = 'worker',\n}\n\n/** Mission state enum (used by orchestrator mission runner). */\nexport enum MissionState {\n /** Idle. Waiting for user to send a message. */\n AwaitingInput = 'awaiting_input',\n /** Orchestrator is creating mission artifacts after user accepted proposal. */\n Initializing = 'initializing',\n /** Runner is active, spawning/monitoring workers. User input disabled. */\n Running = 'running',\n /** User paused execution. Resumable. */\n Paused = 'paused',\n /** Worker returned control or failed. Orchestrator acts next. */\n OrchestratorTurn = 'orchestrator_turn',\n /** All features done. Terminal state. */\n Completed = 'completed',\n}\n\n/** Feature status enum (mirrors orchestrator feature lifecycle). */\nexport enum FeatureStatus {\n Pending = 'pending',\n InProgress = 'in_progress',\n Completed = 'completed',\n Cancelled = 'cancelled',\n}\n\n/** Success state for feature completion. */\nexport enum FeatureSuccessState {\n Success = 'success',\n Partial = 'partial',\n Failure = 'failure',\n}\n\n/** Issue severity for discovered issues. */\nexport enum IssueSeverity {\n Blocking = 'blocking',\n NonBlocking = 'non_blocking',\n Suggestion = 'suggestion',\n}\n\n/** Dismissal item type. */\nexport enum DismissalType {\n DiscoveredIssue = 'discovered_issue',\n CriticalContext = 'critical_context',\n IncompleteWork = 'incomplete_work',\n}\n\n/** Progress log entry type. */\nexport enum ProgressLogEntryType {\n MissionAccepted = 'mission_accepted',\n MissionPaused = 'mission_paused',\n MissionResumed = 'mission_resumed',\n MissionRunStarted = 'mission_run_started',\n WorkerStarted = 'worker_started',\n WorkerSelectedFeature = 'worker_selected_feature',\n WorkerCompleted = 'worker_completed',\n WorkerFailed = 'worker_failed',\n WorkerPaused = 'worker_paused',\n HandoffItemsDismissed = 'handoff_items_dismissed',\n MilestoneValidationTriggered = 'milestone_validation_triggered',\n}\n\n/** Structured failure cause used by orchestrators to branch on auto-pause vs requeue. */\nexport enum WorkerFailureReason {\n UnrecoverableUsage402 = 'unrecoverable_usage_402',\n}\n\n/** Structured cause for automatically-triggered mission pauses. */\nexport enum MissionPauseReason {\n UnrecoverableUsage402 = 'unrecoverable_usage_402',\n}\n\n/**\n * Color-key discriminators for the `/context` window usage breakdown. Each key\n * maps to a CSS variable in the rendering surface (CLI chalk colors or web\n * design tokens), so adding a new category requires updating both ends.\n */\nexport enum ContextCategoryColorKey {\n SystemPrompt = 'systemPrompt',\n SystemTools = 'systemTools',\n McpTools = 'mcpTools',\n UserInfo = 'userInfo',\n AgentsMd = 'agentsMd',\n CustomAgents = 'customAgents',\n Skills = 'skills',\n Messages = 'messages',\n}\n\n// ---------------------------------------------------------------------------\n// sessionV2/messages/enums.ts\n// ---------------------------------------------------------------------------\n\nexport enum MessageVisibility {\n Both = 'both',\n LLMOnly = 'llm_only',\n UserOnly = 'user_only',\n}\n\nexport enum MessageRoleNoSystem {\n User = 'user',\n Assistant = 'assistant',\n Tool = 'tool',\n}\n\nexport enum MessageRole {\n User = 'user',\n Assistant = 'assistant',\n Tool = 'tool',\n System = 'system',\n}\n\nexport enum MessageContentBlockType {\n Text = 'text',\n Image = 'image',\n Thinking = 'thinking',\n RedactedThinking = 'redacted_thinking',\n ToolUse = 'tool_use',\n ToolResult = 'tool_result',\n Document = 'document',\n}\n\nexport enum DocumentSourceType {\n Base64 = 'base64',\n Text = 'text',\n}\n\n// ---------------------------------------------------------------------------\n// session/sources/enums.ts\n// ---------------------------------------------------------------------------\n\nexport enum SessionPlatform {\n Slack = 'slack',\n Web = 'web',\n Api = 'api',\n SessionsApi = 'sessions_api',\n Linear = 'linear',\n ReadinessRemediation = 'readiness-remediation',\n ReadinessEvaluation = 'readiness-evaluation',\n Automation = 'automation',\n WikiGeneration = 'wiki-generation',\n WikiCISetup = 'wiki-ci-setup',\n}\n\nexport enum SessionOrigin {\n Web = 'web',\n Desktop = 'desktop',\n CliTui = 'cli_tui',\n CliExec = 'cli_exec',\n CliAcp = 'cli_acp',\n Slack = 'slack',\n Linear = 'linear',\n SessionsApi = 'sessions_api',\n Api = 'api',\n Automation = 'automation',\n ReadinessRemediation = 'readiness-remediation',\n ReadinessEvaluation = 'readiness-evaluation',\n WikiGeneration = 'wiki-generation',\n WikiCiSetup = 'wiki-ci-setup',\n}\n\n// ---------------------------------------------------------------------------\n// llm/enums.ts (leaf subset)\n// ---------------------------------------------------------------------------\n\n/**\n * ModelID enum defines unique identifiers for language models.\n *\n * These IDs are independent of provider (Anthropic, OpenAI, etc.) and reasoning effort (Low, Medium, High).\n * They represent the core model identity that remains consistent regardless of how the model is accessed.\n */\nexport enum ModelID {\n // Claude models\n CLAUDE_SONNET_3_5 = 'claude-3-5-sonnet-20241022',\n CLAUDE_SONNET_3_7 = 'claude-3-7-sonnet-20250219',\n CLAUDE_SONNET_4 = 'claude-sonnet-4-20250514',\n CLAUDE_OPUS_4 = 'claude-opus-4-1-20250805',\n CLAUDE_HAIKU_3_5 = 'claude-3-5-haiku-20241022',\n CLAUDE_SONNET_4_5 = 'claude-sonnet-4-5-20250929',\n CLAUDE_OPUS_4_5 = 'claude-opus-4-5-20251101',\n CLAUDE_HAIKU_4_5 = 'claude-haiku-4-5-20251001',\n CLAUDE_SONNET_4_6 = 'claude-sonnet-4-6',\n CLAUDE_OPUS_4_6 = 'claude-opus-4-6',\n CLAUDE_OPUS_4_6_FAST = 'claude-opus-4-6-fast',\n CLAUDE_OPUS_4_7 = 'claude-opus-4-7',\n CLAUDE_OPUS_4_7_FAST = 'claude-opus-4-7-fast',\n CLAUDE_OPUS_4_8 = 'claude-opus-4-8',\n CLAUDE_OPUS_4_8_FAST = 'claude-opus-4-8-fast',\n ASPEN_0515 = 'aspen-05-15',\n ALMOND_0527 = 'almond-05-27',\n\n // OpenAI models\n GPT_5 = 'gpt-5-2025-08-07',\n GPT_5_MINI = 'gpt-5-mini-2025-08-07',\n GPT_5_NANO = 'gpt-5-nano-2025-08-07',\n GPT_5_CODEX = 'gpt-5-codex',\n GPT_5_1 = 'gpt-5.1',\n GPT_5_1_CODEX = 'gpt-5.1-codex',\n GPT_5_1_CODEX_MAX = 'gpt-5.1-codex-max',\n GPT_5_2 = 'gpt-5.2',\n GPT_5_2_CODEX = 'gpt-5.2-codex',\n GPT_5_3_CODEX = 'gpt-5.3-codex',\n GPT_5_3_CODEX_FAST = 'gpt-5.3-codex-fast',\n GPT_5_4 = 'gpt-5.4',\n GPT_5_4_FAST = 'gpt-5.4-fast',\n GPT_5_4_MINI = 'gpt-5.4-mini',\n GPT_5_5 = 'gpt-5.5',\n GPT_5_5_FAST = 'gpt-5.5-fast',\n GPT_5_5_PRO = 'gpt-5.5-pro',\n OLM_0305 = 'olm-03-05',\n ORBIT_0409 = 'orbit-04-09',\n OLIVE_0522 = 'olive-05-22',\n ORIEL_0601 = 'oriel-06-01',\n OXIDE_0601 = 'oxide-06-01',\n OXBOW_0601 = 'oxbow-06-01',\n OCELOT_0601 = 'ocelot-06-01',\n\n // Google models\n GEMINI_2_5_FLASH = 'gemini-2.5-flash',\n GEMINI_2_5_PRO = 'gemini-2.5-pro',\n GEMINI_3_PRO = 'gemini-3-pro-preview',\n GEMINI_3_FLASH = 'gemini-3-flash-preview',\n GEMINI_3_1_PRO = 'gemini-3.1-pro-preview',\n GEMINI_3_5_FLASH = 'gemini-3.5-flash',\n GANTRY_0507 = 'gantry-05-07',\n\n // XAI models\n TITAN_0212 = 'titan-02-12',\n\n // Open source models\n GLM_4_6 = 'glm-4.6',\n GLM_4_7 = 'glm-4.7',\n KIMI_K2_5 = 'kimi-k2.5',\n KIMI_K2_6 = 'kimi-k2.6',\n DEEPSEEK_V4_PRO = 'deepseek-v4-pro',\n MINIMAX_M2_5 = 'minimax-m2.5',\n MINIMAX_M2_7 = 'minimax-m2.7',\n GLM_5 = 'glm-5',\n GLM_5_1 = 'glm-5.1',\n\n // Routers\n FACTORY_ROUTER = 'factory-router',\n}\n\nexport enum OpenAIPhase {\n Commentary = 'commentary',\n FinalAnswer = 'final_answer',\n}\n\n/**\n * Wire-format field name for assistant-message reasoning on the OpenAI\n * Chat Completions endpoint. OpenAI / XAI capture reasoning in `reasoning`;\n * vLLM / SGLang / Fireworks' Kimi deployments use `reasoning_content`.\n */\nexport enum ChatCompletionReasoningField {\n Reasoning = 'reasoning',\n ReasoningContent = 'reasoning_content',\n}\n\n/**\n * Enum defining the reasoning effort levels for LLMs.\n * This determines how much \"thinking\" the model does before responding.\n */\nexport enum ReasoningEffort {\n None = 'none',\n Dynamic = 'dynamic',\n Off = 'off',\n Minimal = 'minimal',\n Low = 'low',\n Medium = 'medium',\n High = 'high',\n ExtraHigh = 'xhigh',\n Max = 'max',\n}\n\nexport enum ModelProvider {\n ANTHROPIC = 'anthropic',\n OPENAI = 'openai',\n GENERIC_CHAT_COMPLETION_API = 'generic-chat-completion-api',\n FACTORY = 'factory',\n GOOGLE = 'google',\n XAI = 'xai',\n VOYAGE = 'voyage',\n /**\n * BYOK custom models served over the AWS Bedrock Converse API\n * (`ConverseStream`). Distinct from {@link ModelProvider.ANTHROPIC}\n * Bedrock routing (which speaks the Anthropic Messages dialect over the\n * Bedrock SDK): this provider speaks the native Converse schema and is\n * never used for first-party / proxy-routed models.\n */\n BEDROCK_CONVERSE = 'bedrock-converse',\n}\n\nexport enum ApiProvider {\n BEDROCK = 'bedrock',\n ANTHROPIC = 'anthropic',\n VERTEX_ANTHROPIC = 'vertex_anthropic',\n BEDROCK_ANTHROPIC = 'bedrock_anthropic',\n BEDROCK_CONVERSE = 'bedrock_converse',\n OPENAI = 'openai',\n AZURE_OPENAI = 'azure_openai',\n GOOGLE = 'google',\n XAI = 'xai',\n FIREWORKS = 'fireworks',\n BASETEN = 'baseten',\n SNOWFLAKE = 'snowflake',\n}\n\nexport enum ModelKind {\n Concrete = 'concrete',\n Router = 'router',\n}\n\nexport enum LLMModelTier {\n Standard = 'standard',\n Premium = 'premium',\n Overage = 'overage',\n}\n\n// ---------------------------------------------------------------------------\n// settings/enums.ts (leaf subset)\n// ---------------------------------------------------------------------------\n\n/**\n * Settings hierarchy level enum.\n * Precedence order (highest to lowest): Org -> Runtime -> Folder -> Project -> User\n */\nexport enum SettingsLevel {\n Org = 'org',\n Runtime = 'runtime',\n User = 'user',\n Project = 'project',\n Folder = 'folder',\n Dynamic = 'dynamic',\n BuiltIn = 'builtin',\n}\n\nexport enum DroidLocation {\n Project = 'project',\n Personal = 'personal',\n}\n\nexport enum SkillLocation {\n Project = 'project',\n Personal = 'personal',\n Builtin = 'builtin',\n}\n\nexport enum SandboxMode {\n PerCommand = 'per-command',\n WholeProcess = 'whole-process',\n}\n\n// ---------------------------------------------------------------------------\n// settings/enums.ts (additional leaf enums for GeneralSettingsSchema)\n// ---------------------------------------------------------------------------\n\nexport enum DiffMode {\n Github = 'github',\n Unified = 'unified',\n}\n\nexport enum SoundFocusMode {\n Always = 'always',\n Focused = 'focused',\n Unfocused = 'unfocused',\n}\n\nexport enum TodoDisplayMode {\n Inline = 'inline',\n Pinned = 'pinned',\n}\n\nexport enum SubagentSoundMode {\n Off = 'off',\n Quiet = 'quiet',\n Inherit = 'inherit',\n}\n\n// ---------------------------------------------------------------------------\n// cli/enums.ts (leaf enums for GeneralSettingsSchema)\n// ---------------------------------------------------------------------------\n\nexport enum LogoAnimationMode {\n Once = 'once',\n Always = 'always',\n Off = 'off',\n}\n\nexport enum ToolResultDisplay {\n Expanded = 'expanded',\n Compact = 'compact',\n}\n","import { DroidWorkingState } from './enums.js';\n\nexport const FACTORY_CLIENT_HEADER = 'X-Factory-Client';\nexport const FACTORY_CLIENT_VERSION = 'X-Client-Version';\nexport const ACTIVE_ORGANIZATION_HEADER = 'X-Factory-Org-Id';\n\n/**\n * Legacy envelope field for old JSON-RPC peers - `factoryApiVersion` must be set to this value.\n *\n * @deprecated Do not change this value; use `factoryProtocolVersion` for runtime compatibility.\n */\nexport const LEGACY_FACTORY_API_VERSION = '1.0.0' as const;\n\nexport const FACTORY_PROTOCOL_VERSION = '1.66.0' as const;\n\nexport const JSONRPC_VERSION = '2.0' as const;\n\n/**\n * Sentinel ModelID value for the Factory routing model.\n */\nexport const FACTORY_ROUTER_MODEL_ID = 'factory-router' as const;\n\n/**\n * Sentinel value used by CompactionModelSchema to mean \"use the session's\n * current model for compaction\".\n */\nexport const CURRENT_COMPACTION_MODEL = 'current-model';\n\n/** Sized comparably to a trimmed user message in the classifier context budget. */\nexport const FACTORY_ROUTER_GUIDANCE_MAX_LENGTH = 2000;\nexport const FACTORY_ROUTER_RULES_MAX_COUNT = 20;\nexport const FACTORY_ROUTER_RULE_WHEN_MAX_LENGTH = 300;\nexport const FACTORY_ROUTER_RULE_GUIDANCE_MAX_LENGTH = 600;\n\n/**\n * System reminder tag constants used for marking content as hidden from users.\n */\nexport const SYSTEM_REMINDER_START = '<system-reminder>';\nexport const SYSTEM_REMINDER_END = '</system-reminder>';\n\n/**\n * System notification tag constants used for marking notifications as hidden from users.\n */\nexport const SYSTEM_NOTIFICATION_START = '<system-notification>';\nexport const SYSTEM_NOTIFICATION_END = '</system-notification>';\n\nexport const EXIT_SPEC_MODE_REJECTED_MESSAGE =\n 'Plan not approved - remaining in Spec Mode. Provide feedback to refine the spec.';\n\nconst seconds = (value: number) => value * 1_000;\nconst minutes = (value: number) => seconds(value * 60);\nconst hours = (value: number) => minutes(value * 60);\n\nexport const LOOP_INTERVAL_POLICY = {\n minMs: minutes(1),\n maxMs: hours(24),\n displayRange: '1m–24h',\n examples: '5m, 30m, 2h',\n} as const;\n\nconst DROID_RUNNING_STATES = [\n DroidWorkingState.Thinking,\n DroidWorkingState.StreamingAssistantMessage,\n DroidWorkingState.ExecutingTool,\n DroidWorkingState.CompactingConversation,\n];\nexport const DROID_IN_PROGRESS_STATES = [\n ...DROID_RUNNING_STATES,\n DroidWorkingState.WaitingForToolConfirmation,\n];\n","// JSON-RPC envelope/base protocol schemas.\n// Note: params/result/data use z.unknown() intentionally so envelopes carry\n// arbitrary payloads without typing the inner shape at this layer.\n\nimport { z } from 'zod';\n\nimport { JSONRPC_VERSION, LEGACY_FACTORY_API_VERSION } from './constants.js';\nimport {\n DroidInteractionMode,\n JsonRpcErrorCode,\n JsonRpcMessageType,\n} from './enums.js';\n\nconst JsonRpcMessageTypeSchema = z.nativeEnum(JsonRpcMessageType);\n\nexport const DroidInteractionModeSchema = z.nativeEnum(DroidInteractionMode);\n\n/**\n * Trace context metadata for distributed tracing propagation.\n * Follows W3C Trace Context standard for cross-service trace correlation.\n * @see https://www.w3.org/TR/trace-context/\n */\nexport const TraceContextMetaSchema = z.object({\n /** W3C traceparent header value (e.g., \"00-0af7651916cd43dd8448eb211c80319c-00f067aa0ba902b7-01\") */\n traceparent: z.string().optional(),\n /** W3C tracestate header value for vendor-specific trace data */\n tracestate: z.string().optional(),\n});\n\nexport const JsonRpcEnvelopeSchema = z.object({\n jsonrpc: z.literal(JSONRPC_VERSION),\n // Legacy metadata only. Do not repurpose for compatibility checks.\n factoryApiVersion: z\n .literal(LEGACY_FACTORY_API_VERSION)\n .describe('DEPRECATED - use factoryProtocolVersion for versioning instead'),\n /** Optional runtime compatibility signal; tolerate absence while old peers roll forward. */\n factoryProtocolVersion: z.string().optional(),\n /** Optional metadata for trace context propagation (MCP-style) */\n _meta: TraceContextMetaSchema.optional(),\n});\n\nexport const JsonRpcProtocolVersionMismatchErrorDataSchema = z.object({\n localFactoryProtocolVersion: z.string(),\n peerFactoryProtocolVersion: z.string(),\n messageType: JsonRpcMessageTypeSchema.optional(),\n method: z.string().optional(),\n requestId: z.string().nullable().optional(),\n});\n\nexport const JsonRpcErrorSchema = z.object({\n code: z.nativeEnum(JsonRpcErrorCode),\n message: z.string(),\n data: z.unknown().optional(),\n});\n\nexport const BaseRequestSchema = z.object({\n type: z.literal('request'),\n id: z.string(),\n method: z.string(),\n params: z.unknown().optional(),\n});\n\nconst BaseResponseGenericSchema = z.object({\n type: z.literal('response'),\n id: z.string().nullable(),\n result: z.unknown().optional(),\n error: JsonRpcErrorSchema.optional(),\n});\n\n// id and result are required\nexport const BaseResponseSuccessSchema = BaseResponseGenericSchema.extend({\n id: z.string(),\n result: z.unknown(),\n});\n// error is required\nexport const BaseResponseFailureSchema = BaseResponseGenericSchema.extend({\n error: JsonRpcErrorSchema,\n});\n\nexport const BaseNotificationSchema = z.object({\n type: z.literal('notification'),\n method: z.string(),\n params: z.unknown().optional(),\n});\n\nexport const JsonRpcBaseRequestSchema = JsonRpcEnvelopeSchema.extend(\n BaseRequestSchema.shape\n);\nexport const JsonRpcBaseResponseSuccessSchema = JsonRpcEnvelopeSchema.extend(\n BaseResponseSuccessSchema.shape\n);\nexport const JsonRpcBaseResponseFailureSchema = JsonRpcEnvelopeSchema.extend(\n BaseResponseFailureSchema.shape\n);\nconst JsonRpcBaseResponseGenericSchema = JsonRpcEnvelopeSchema.extend(\n BaseResponseGenericSchema.shape\n);\n\nexport const JsonRpcBaseResponseSchema = z.union([\n JsonRpcBaseResponseFailureSchema,\n JsonRpcBaseResponseSuccessSchema,\n]);\n\nexport const JsonRpcBaseNotificationSchema = JsonRpcEnvelopeSchema.extend(\n BaseNotificationSchema.shape\n);\n\n/**\n * Generic acknowledgement payload for command-style RPCs.\n */\nexport const CommandAckSchema = z.object({\n accepted: z.literal(true),\n});\n\n// Discriminated union for initial message type routing\n// After parsing, use JsonRpcBaseResponseSchema for strict success/failure typing\nexport const JsonRpcMessageSchema = z.discriminatedUnion('type', [\n JsonRpcBaseRequestSchema,\n JsonRpcBaseResponseGenericSchema,\n JsonRpcBaseNotificationSchema,\n]);\n\nexport type TraceContextMeta = z.infer<typeof TraceContextMetaSchema>;\nexport type JsonRpcEnvelope = z.infer<typeof JsonRpcEnvelopeSchema>;\nexport type JsonRpcError = z.infer<typeof JsonRpcErrorSchema>;\nexport type JsonRpcProtocolVersionMismatchErrorData = z.infer<\n typeof JsonRpcProtocolVersionMismatchErrorDataSchema\n>;\nexport type JsonRpcBaseRequest = z.infer<typeof JsonRpcBaseRequestSchema>;\nexport type JsonRpcBaseResponseSuccess = z.infer<\n typeof JsonRpcBaseResponseSuccessSchema\n>;\nexport type JsonRpcBaseResponseFailure = z.infer<\n typeof JsonRpcBaseResponseFailureSchema\n>;\nexport type JsonRpcBaseResponse = z.infer<typeof JsonRpcBaseResponseSchema>;\nexport type JsonRpcBaseNotification = z.infer<\n typeof JsonRpcBaseNotificationSchema\n>;\nexport type CommandAck = z.infer<typeof CommandAckSchema>;\nexport type JsonRpcMessage = z.infer<typeof JsonRpcMessageSchema>;\n","import { z } from 'zod';\n\nexport const HostIdSchema = z.string().uuid();\n\nconst ComputerRegistrationSchema = z.object({\n computerId: z.string().uuid(),\n firestoreOrgId: z.string().min(1),\n userId: z.string().min(1),\n registeredAt: z.number(),\n});\n\nexport const HostConfigSchema = z.object({\n schemaVersion: z.literal(1), // when we need to bump the version, make this a discriminated union of v1 vs v2 schemas\n hostId: HostIdSchema,\n createdAt: z.number(),\n computerRegistration: ComputerRegistrationSchema.optional(),\n});\n\nexport const LegacyComputerConfigSchema = z.object({\n computerId: z.string().uuid(),\n registeredAt: z.number(),\n});\n\nexport type ComputerRegistration = z.infer<typeof ComputerRegistrationSchema>;\nexport type HostConfig = z.infer<typeof HostConfigSchema>;\nexport type LegacyComputerConfig = z.infer<typeof LegacyComputerConfigSchema>;\nexport type ResolvedComputerRegistration = Omit<\n ComputerRegistration,\n 'registeredAt'\n>;\n\nexport type ResolvedHostIdentity = {\n hostId: string;\n computerRegistration?: ResolvedComputerRegistration;\n};\n","// Leaf session schemas (tags, token usage).\n\nimport { z } from 'zod';\n\nimport type { DecompSessionType } from './enums.js';\n\nexport const SessionTagSchema = z.object({\n name: z.string().min(1),\n metadata: z.record(z.string()).optional(),\n});\n\nexport type SessionTag = z.infer<typeof SessionTagSchema>;\n\nexport interface MissionSessionTagMetadata {\n role: DecompSessionType;\n missionId: string;\n}\n\n/**\n * Token usage schema for session settings.\n * Tracks LLM token consumption for a session.\n */\nexport const TokenUsageSchema = z\n .object({\n inputTokens: z.number(),\n outputTokens: z.number(),\n cacheCreationTokens: z.number(),\n cacheReadTokens: z.number(),\n thinkingTokens: z.number(),\n factoryCredits: z.number().optional(),\n })\n .strip();\n\nexport type TokenUsage = z.infer<typeof TokenUsageSchema>;\n","import { z } from 'zod';\n\nimport { SessionPlatform } from './enums.js';\n\n// -------------------------------------------------------------\n// Platform source schemas (used for messages and sessions)\n// -------------------------------------------------------------\n\nconst SlackSourceSchema = z.object({\n platform: z.literal(SessionPlatform.Slack),\n teamId: z.string().nullish(),\n channel: z.string().nullish(),\n threadTs: z.string().nullish(),\n userId: z.string().nullish(),\n});\n\nconst WebSourceSchema = z.object({\n platform: z.literal(SessionPlatform.Web),\n});\n\nconst ApiSourceSchema = z.object({\n platform: z.literal(SessionPlatform.Api),\n});\n\nconst SessionsApiSourceSchema = z.object({\n platform: z.literal(SessionPlatform.SessionsApi),\n});\n\nconst LinearSourceSchema = z.object({\n platform: z.literal(SessionPlatform.Linear),\n agentSessionId: z.string(),\n issueId: z.string().nullish(),\n issueUrl: z.string().nullish(),\n issueIdentifier: z.string().nullish(),\n organizationId: z.string().nullish(),\n userId: z.string().nullish(),\n});\n\nconst ReadinessRemediationSourceSchema = z.object({\n platform: z.literal(SessionPlatform.ReadinessRemediation),\n reportId: z.string(),\n repoUrl: z.string(),\n criterionId: z.string(),\n});\n\nconst ReadinessEvaluationSourceSchema = z.object({\n platform: z.literal(SessionPlatform.ReadinessEvaluation),\n repoUrl: z.string(),\n});\n\nconst AutomationSourceSchema = z.object({\n platform: z.literal(SessionPlatform.Automation),\n automationId: z.string(),\n computerId: z.string(),\n});\n\nconst WikiGenerationSourceSchema = z.object({\n platform: z.literal(SessionPlatform.WikiGeneration),\n repoUrl: z.string(),\n});\n\nconst WikiCISetupSourceSchema = z.object({\n platform: z.literal(SessionPlatform.WikiCISetup),\n repoUrl: z.string(),\n});\n\n// -------------------------------------------------------------\n// Session-specific source schemas (adds delegationSessionId)\n// -------------------------------------------------------------\n\nconst SlackSessionSourceSchema = SlackSourceSchema.extend({\n delegationSessionId: z.string(),\n});\n\nconst WebSessionSourceSchema = WebSourceSchema.extend({\n delegationSessionId: z.string(),\n});\n\nconst ApiSessionSourceSchema = ApiSourceSchema.extend({\n delegationSessionId: z.string(),\n});\n\nconst SessionsApiSessionSourceSchema = SessionsApiSourceSchema.extend({\n delegationSessionId: z.string(),\n});\n\nconst LinearSessionSourceSchema = LinearSourceSchema.extend({\n delegationSessionId: z.string(),\n});\n\nexport const SessionSourceSchema = z.discriminatedUnion('platform', [\n SlackSessionSourceSchema,\n WebSessionSourceSchema,\n ApiSessionSourceSchema,\n SessionsApiSessionSourceSchema,\n LinearSessionSourceSchema,\n ReadinessRemediationSourceSchema, // No delegationSessionId needed\n ReadinessEvaluationSourceSchema, // No delegationSessionId needed\n AutomationSourceSchema, // No delegationSessionId needed\n WikiGenerationSourceSchema, // No delegationSessionId needed\n WikiCISetupSourceSchema, // No delegationSessionId needed\n]);\n\n// -------------------------------------------------------------\n// Inferred types (single source of truth)\n// -------------------------------------------------------------\n\nexport type SlackSource = z.infer<typeof SlackSourceSchema>;\nexport type WebSource = z.infer<typeof WebSourceSchema>;\nexport type ApiSource = z.infer<typeof ApiSourceSchema>;\nexport type SessionsApiSource = z.infer<typeof SessionsApiSourceSchema>;\nexport type LinearSource = z.infer<typeof LinearSourceSchema>;\nexport type ReadinessRemediationSource = z.infer<\n typeof ReadinessRemediationSourceSchema\n>;\nexport type ReadinessEvaluationSource = z.infer<\n typeof ReadinessEvaluationSourceSchema\n>;\nexport type AutomationSource = z.infer<typeof AutomationSourceSchema>;\nexport type WikiGenerationSource = z.infer<typeof WikiGenerationSourceSchema>;\nexport type WikiCISetupSource = z.infer<typeof WikiCISetupSourceSchema>;\nexport type PlatformSource =\n | SlackSource\n | WebSource\n | ApiSource\n | SessionsApiSource\n | LinearSource\n | ReadinessRemediationSource\n | ReadinessEvaluationSource\n | AutomationSource\n | WikiGenerationSource\n | WikiCISetupSource;\nexport type SessionSource = z.infer<typeof SessionSourceSchema>;\n","import { z } from 'zod';\n\nimport {\n ChatCompletionReasoningField,\n DocumentSourceType,\n MessageContentBlockType,\n MessageRole,\n MessageVisibility,\n ModelProvider,\n OpenAIPhase,\n SessionOrigin,\n} from './enums.js';\n\n// Base content block with optional id field\nexport const BaseContentBlockSchema = z.object({\n id: z.string().optional(),\n});\n\n// Text block\nexport const TextBlockSchema = BaseContentBlockSchema.extend({\n type: z.literal(MessageContentBlockType.Text),\n text: z.string(),\n});\n\n// Image source and block\nexport const Base64ImageSourceSchema = z.object({\n type: z.literal('base64'),\n data: z.string(),\n mediaType: z.enum(['image/jpeg', 'image/png', 'image/gif', 'image/webp']),\n});\n\nexport const ImageBlockSchema = BaseContentBlockSchema.extend({\n type: z.literal(MessageContentBlockType.Image),\n source: Base64ImageSourceSchema,\n});\n\n// Thinking blocks\nexport const ThinkingBlockSchema = BaseContentBlockSchema.extend({\n type: z.literal(MessageContentBlockType.Thinking),\n signature: z.string(), // required but can be empty string for Gemini\n signatureProvider: z\n .union([z.nativeEnum(ModelProvider), z.literal('unknown')])\n .optional(),\n thinking: z.string(),\n durationMs: z.number().nonnegative().optional(),\n});\n\nexport const RedactedThinkingBlockSchema = BaseContentBlockSchema.extend({\n type: z.literal(MessageContentBlockType.RedactedThinking),\n data: z.string(),\n});\n\n// Tool use block (id is required, not optional)\nexport const ToolUseSchema = z.object({\n type: z.literal(MessageContentBlockType.ToolUse),\n id: z.string(),\n input: z.record(z.unknown()),\n name: z.string(),\n thoughtSignature: z.string().optional(), // Gemini thought signature\n});\n\n// Used to send initial PDF content from the client to the daemon.\nexport const Base64PDFSourceSchema = z.object({\n type: z.literal(DocumentSourceType.Base64),\n mediaType: z.literal('application/pdf'),\n data: z.string(),\n parsedData: z.string().optional(),\n name: z.string().optional(),\n path: z.string().optional(),\n});\n\nexport const PlainTextSourceSchema = z.object({\n type: z.literal(DocumentSourceType.Text),\n mediaType: z.literal('text/plain'),\n data: z.string(),\n name: z.string().optional(),\n mime: z.string().optional(),\n});\n\nexport const DocumentSourceSchema = z.union([\n Base64PDFSourceSchema,\n PlainTextSourceSchema,\n]);\n\nexport const DocumentBlockSchema = BaseContentBlockSchema.extend({\n type: z.literal(MessageContentBlockType.Document),\n source: DocumentSourceSchema,\n});\n\n// Tool result block\nexport const ToolResultSchema = BaseContentBlockSchema.extend({\n type: z.literal(MessageContentBlockType.ToolResult),\n toolUseId: z.string(),\n content: z\n .union([\n z.string(),\n z.array(\n z.union([TextBlockSchema, ImageBlockSchema, DocumentBlockSchema])\n ),\n ])\n .optional(),\n isError: z.boolean().optional(),\n});\n\n// Content block discriminated union\nexport const ContentBlockSchema = z.discriminatedUnion('type', [\n TextBlockSchema,\n ImageBlockSchema,\n ThinkingBlockSchema,\n RedactedThinkingBlockSchema,\n ToolUseSchema,\n ToolResultSchema,\n DocumentBlockSchema,\n]);\n\n// Cache label for caching support\nexport const CacheLabelSchema = z.object({\n cache_control: z\n .object({\n type: z.literal('ephemeral'),\n })\n .optional(),\n});\n\n// FactoryDroidMessage schema (used in JSON-RPC protocol and application)\nexport const FactoryDroidMessageSchema = z.object({\n id: z.string(),\n role: z.nativeEnum(MessageRole),\n content: z.array(ContentBlockSchema),\n createdAt: z.number(),\n updatedAt: z.number(),\n parentId: z.string().optional(),\n userMessageSource: z.nativeEnum(SessionOrigin).optional(),\n visibility: z.nativeEnum(MessageVisibility).optional(),\n openaiMessageId: z.string().optional(),\n openaiPhase: z\n .enum([OpenAIPhase.Commentary, OpenAIPhase.FinalAnswer])\n .nullable()\n .optional(),\n openaiEncryptedContent: z.string().optional(),\n openaiReasoningId: z.string().optional(),\n openaiReasoningSummary: z.string().optional(),\n geminiThoughtSignature: z\n .string()\n .optional()\n .describe(\n '@deprecated Use thinking block `signature` fields with `signatureProvider: \"google\"` instead. Do not use in new code.'\n ),\n chatCompletionReasoningField: z\n .nativeEnum(ChatCompletionReasoningField)\n .optional(),\n chatCompletionReasoningContent: z.string().optional(),\n isUserVisible: z.boolean().optional(), // deprecated\n isError: z.boolean().optional(),\n});\n\n// FactoryDroidMessageWithCaching schema\nexport const FactoryDroidMessageWithCachingSchema =\n FactoryDroidMessageSchema.extend({\n content: z.array(ContentBlockSchema.and(CacheLabelSchema)),\n });\n\nexport type TextBlock = z.infer<typeof TextBlockSchema>;\nexport type Base64ImageSource = z.infer<typeof Base64ImageSourceSchema>;\nexport type ImageBlock = z.infer<typeof ImageBlockSchema>;\nexport type ThinkingBlock = z.infer<typeof ThinkingBlockSchema>;\nexport type RedactedThinkingBlock = z.infer<typeof RedactedThinkingBlockSchema>;\nexport type ToolUse = z.infer<typeof ToolUseSchema>;\nexport type Base64PDFSource = z.infer<typeof Base64PDFSourceSchema>;\nexport type PlainTextSource = z.infer<typeof PlainTextSourceSchema>;\nexport type DocumentSource = z.infer<typeof DocumentSourceSchema>;\nexport type DocumentBlock = z.infer<typeof DocumentBlockSchema>;\nexport type ToolResult = z.infer<typeof ToolResultSchema>;\nexport type ContentBlock = z.infer<typeof ContentBlockSchema>;\nexport type CacheLabel = z.infer<typeof CacheLabelSchema>;\nexport type FactoryDroidMessage = z.infer<typeof FactoryDroidMessageSchema>;\nexport type FactoryDroidMessageWithCaching = z.infer<\n typeof FactoryDroidMessageWithCachingSchema\n>;\n","// Mission and subagent model-settings schemas.\n\nimport { z } from 'zod';\n\nimport { ReasoningEffort } from './enums.js';\n\nconst ReasoningEffortSchema = z.nativeEnum(ReasoningEffort);\n\nexport const MissionModelSettingsSchema = z.object({\n workerModel: z.string().optional(),\n workerReasoningEffort: ReasoningEffortSchema.optional(),\n validationWorkerModel: z.string().optional(),\n validationWorkerReasoningEffort: ReasoningEffortSchema.optional(),\n skipScrutiny: z.boolean().optional(),\n skipUserTesting: z.boolean().optional(),\n});\n\nexport const SubagentModelSettingsSchema = z.object({\n lightModel: z.string().optional(),\n lightReasoningEffort: ReasoningEffortSchema.optional(),\n mediumModel: z.string().optional(),\n mediumReasoningEffort: ReasoningEffortSchema.optional(),\n heavyModel: z.string().optional(),\n heavyReasoningEffort: ReasoningEffortSchema.optional(),\n});\n\nexport type MissionModelSettings = z.infer<typeof MissionModelSettingsSchema>;\nexport type SubagentModelSettings = z.infer<typeof SubagentModelSettingsSchema>;\n","// Leaf settings schemas: MarketplaceSourceSchema (+ inner discriminated-union\n// variants), SessionDefaultSettingsSchema, CompactionModelSchema,\n// AutonomyModeSchema, and the settings-resolution event family.\n//\n// MissionModelSettingsSchema and SubagentModelSettingsSchema live in\n// ./model-settings.js. GeneralSettingsSchema and ManagedSettingsBaseSchema\n// (plus their helper schemas) live in ./general-settings.js.\n\nimport { z } from 'zod';\n\nimport {\n CURRENT_COMPACTION_MODEL,\n FACTORY_ROUTER_MODEL_ID,\n} from './constants.js';\nimport {\n AutonomyLevel,\n AutonomyMode,\n ModelID,\n ReasoningEffort,\n} from './enums.js';\nimport { DroidInteractionModeSchema } from './json-rpc.js';\n\n// =============================================================================\n// Session Default Settings Schema\n// =============================================================================\n\nconst ReasoningEffortSchema = z.nativeEnum(ReasoningEffort);\n\nexport const AutonomyModeSchema = z.nativeEnum(AutonomyMode);\n\nconst FIRST_COMPACTION_MODEL_ID = 'claude-3-5-sonnet-20241022';\nconst CompactionModelIdValues: [string, ...string[]] = [\n FIRST_COMPACTION_MODEL_ID,\n ...Object.values(ModelID).filter(\n (modelId) =>\n modelId !== FACTORY_ROUTER_MODEL_ID &&\n modelId !== FIRST_COMPACTION_MODEL_ID\n ),\n];\n\nexport const CompactionModelSchema = z.union([\n z.literal(CURRENT_COMPACTION_MODEL),\n z.enum(CompactionModelIdValues),\n z.string().regex(/^custom:.+$/, 'Expected a custom model id'),\n]);\n\nexport const SessionDefaultSettingsSchema = z.object({\n model: z.string().optional(),\n reasoningEffort: ReasoningEffortSchema.optional(),\n interactionMode: DroidInteractionModeSchema.optional(),\n autonomyLevel: z.nativeEnum(AutonomyLevel).optional(),\n autonomyMode: AutonomyModeSchema.optional().describe(\n 'Deprecated: use interactionMode + autonomyLevel instead.'\n ),\n specModeModel: z.string().optional(),\n specModeReasoningEffort: ReasoningEffortSchema.optional(),\n /**\n * When true, new sessions started against a git repo are created in an\n * isolated worktree. Gated behind the `DesktopWorktrees` feature flag in\n * the desktop UI.\n */\n runInWorktree: z.boolean().optional(),\n});\n\n// =============================================================================\n// Marketplace Source Schema\n// =============================================================================\n\nconst GitHubMarketplaceSourceSchema = z.object({\n source: z.literal('github'),\n repo: z.string(),\n});\n\nconst UrlMarketplaceSourceSchema = z.object({\n source: z.literal('url'),\n url: z.string(),\n});\n\nconst LocalMarketplaceSourceSchema = z.object({\n source: z.literal('local'),\n path: z.string(),\n});\n\nconst GitSubdirMarketplaceSourceSchema = z.object({\n source: z.literal('git-subdir'),\n url: z.string(),\n path: z.string(),\n});\n\nexport const MarketplaceSourceSchema = z.discriminatedUnion('source', [\n GitHubMarketplaceSourceSchema,\n UrlMarketplaceSourceSchema,\n LocalMarketplaceSourceSchema,\n GitSubdirMarketplaceSourceSchema,\n]);\n\n// =============================================================================\n// Settings Resolution Chain Schemas\n// =============================================================================\n\nexport const SettingsSourceTypeEnum = z.enum([\n /** Factory's hardcoded defaults (lowest priority) */\n 'builtin-default',\n /** Remote dynamic config (e.g. Statsig dynamic configs) */\n 'dynamic-config',\n /** Organization-level settings pushed from the server */\n 'org',\n /** User-level settings from ~/.factory/settings.json */\n 'user',\n /** Project-level settings from <git-root>/.factory/settings.json */\n 'project',\n /** Folder-level settings from ancestor .factory/settings.json files */\n 'folder',\n /** Model availability determined by a feature flag gate */\n 'feature-flag',\n /** Value read from browser localStorage (CLOUD path only) */\n 'localstorage',\n /** Value provided via React Router navigation state (e.g. template launch, session continuation) */\n 'nav-state',\n /** Model/effort override enforced for orchestrator (mission) sessions */\n 'orchestrator-override',\n /** Last-resort fallback when no model was selected after all other sources */\n 'auto-select',\n /** Settings restored from the daemon's CLI process for this session — re-resolved from the settings hierarchy if the daemon restarts */\n 'session-state',\n]);\n\nexport const SettingsSourceSchema = z.object({\n type: SettingsSourceTypeEnum,\n filePath: z.string().optional(),\n flagName: z.string().optional(),\n key: z.string().optional(),\n orgId: z.string().optional(),\n});\n\nexport const SettingsActionEnum = z.enum([\n 'set',\n 'override',\n 'skip',\n 'fallback',\n]);\n\nconst SettingsResolutionLocationSchema = z.object({\n package: z.string(),\n file: z.string(),\n function: z.string().optional(),\n});\n\nexport const SettingsResolutionEventSchema = z.object({\n timestamp: z.string(),\n keys: z.array(z.string()),\n action: SettingsActionEnum,\n source: SettingsSourceSchema,\n value: z.record(z.unknown()).optional(),\n reason: z.string().optional(),\n location: SettingsResolutionLocationSchema.optional(),\n});\n\nexport type SessionDefaultSettings = z.infer<\n typeof SessionDefaultSettingsSchema\n>;\nexport type MarketplaceSource = z.infer<typeof MarketplaceSourceSchema>;\nexport type CompactionModel = z.infer<typeof CompactionModelSchema>;\nexport type SettingsResolutionEvent = z.infer<\n typeof SettingsResolutionEventSchema\n>;\nexport type SettingsSource = z.infer<typeof SettingsSourceSchema>;\n","import { z } from 'zod';\n\nimport {\n FACTORY_ROUTER_GUIDANCE_MAX_LENGTH,\n FACTORY_ROUTER_RULE_GUIDANCE_MAX_LENGTH,\n FACTORY_ROUTER_RULE_WHEN_MAX_LENGTH,\n FACTORY_ROUTER_RULES_MAX_COUNT,\n} from './constants.js';\nimport { CustomModelsSchema } from './custom-models.js';\nimport {\n AutonomyLevel,\n DiffMode,\n LogoAnimationMode,\n ModelID,\n ReasoningEffort,\n SandboxMode,\n SoundFocusMode,\n SubagentSoundMode,\n TodoDisplayMode,\n ToolResultDisplay,\n} from './enums.js';\nimport {\n MissionModelSettingsSchema,\n SubagentModelSettingsSchema,\n} from './model-settings.js';\nimport { UserModelPolicySchema } from './policy.js';\nimport {\n CompactionModelSchema,\n MarketplaceSourceSchema,\n SessionDefaultSettingsSchema,\n} from './settings.js';\n\nconst ReasoningEffortSchema = z.nativeEnum(ReasoningEffort);\n\n// =============================================================================\n// Model Policy Schema (for org-level model access control)\n// =============================================================================\n\n/**\n * A lenient model ID array that silently drops unrecognized values instead of\n * failing validation. Ensures backward compatibility when ModelID enum values\n * are removed — persisted settings referencing old IDs filter them out rather\n * than failing to parse.\n */\nconst modelIdValues: ReadonlySet<string> = new Set(Object.values(ModelID));\nconst tolerantModelIdArray = z\n .array(z.string())\n .transform((ids) => ids.filter((id): id is ModelID => modelIdValues.has(id)));\n\nexport const ModelPolicySchema = z.object({\n allowedModelIds: tolerantModelIdArray.optional(),\n blockedModelIds: tolerantModelIdArray.optional(),\n allowCustomModels: z.boolean().optional(),\n allowedBaseUrls: z.array(z.string()).optional(),\n allowAllFactoryModels: z.boolean().optional(),\n isFastModelsAllowed: z.boolean().optional(),\n});\n\n// =============================================================================\n// MCP Policy Schema (for org-level MCP server access control)\n// =============================================================================\n\nexport const McpPolicySchema = z.object({\n enabled: z.boolean().default(false),\n allowlist: z.array(z.string()).optional(),\n});\n\n// =============================================================================\n// Mission Policy Schema (for org-level missions access control)\n// =============================================================================\n\nexport const MissionPolicySchema = z.object({\n restrictedAccess: z.boolean().default(false),\n allowedUserIds: z.array(z.string()).optional(),\n});\n\n// =============================================================================\n// Network Policy Schema (for org-level network access control)\n// IP format validation is handled by @factory/utils/ip (isValidIpOrCidr).\n// The schema only enforces shape: non-empty array of trimmed strings.\n// =============================================================================\n\nconst NetworkPolicySchema = z.object({\n allowedIps: z\n .array(z.string().trim())\n .min(1, 'IP allowlist must contain at least one entry when enabled'),\n});\n\n// =============================================================================\n// Sandbox Settings Schema\n// =============================================================================\n\nexport const SandboxFilesystemSettingsSchema = z.object({\n allowWrite: z.array(z.string()).optional(),\n allowRead: z.array(z.string()).optional(),\n denyWrite: z.array(z.string()).optional(),\n denyRead: z.array(z.string()).optional(),\n});\n\nexport const SandboxNetworkSettingsSchema = z.object({\n allowedDomains: z.array(z.string()).optional(),\n allowUnixSockets: z.array(z.string()).optional(),\n allowAllUnixSockets: z.boolean().optional(),\n allowLocalBinding: z.boolean().optional(),\n httpProxyPort: z.number().optional(),\n socksProxyPort: z.number().optional(),\n});\n\nconst SandboxModeSchema = z.nativeEnum(SandboxMode);\n\nexport const SandboxSettingsSchema = z.object({\n enabled: z.boolean().optional(),\n mode: SandboxModeSchema.optional(),\n filesystem: SandboxFilesystemSettingsSchema.optional(),\n network: SandboxNetworkSettingsSchema.optional(),\n});\n\n// =============================================================================\n// Session Retention Constants\n// =============================================================================\n\nexport const SESSION_RETENTION_MIN_DAYS = 14;\nexport const SESSION_RETENTION_MAX_DAYS = 365;\n\nconst ExtraMarketplaceEntrySchema = z.object({\n source: MarketplaceSourceSchema,\n});\n\nexport const FactoryRouterRuleSchema = z.object({\n when: z.string().max(FACTORY_ROUTER_RULE_WHEN_MAX_LENGTH).optional(),\n guidance: z.string().max(FACTORY_ROUTER_RULE_GUIDANCE_MAX_LENGTH),\n});\n\n// =============================================================================\n// Managed Settings Schema\n// =============================================================================\n\nconst McpAutonomyLevelSchema = z.enum([\n AutonomyLevel.Low,\n AutonomyLevel.Medium,\n AutonomyLevel.High,\n]);\n\nconst McpAutonomyUrlOverrideSchema = z.object({\n urlPattern: z.string().trim().min(1),\n defaultLevel: McpAutonomyLevelSchema,\n});\n\nconst StatusLineConfigSchema = z.object({\n type: z.literal('command').optional(),\n command: z.string(),\n padding: z.number().optional(),\n maxRows: z.number().int().min(1).max(3).optional(),\n});\n\n// Exported (not internal-only) to allow `.extend(...)` across module\n// boundaries and to surface it on the public protocol namespace.\nexport const ManagedSettingsBaseSchema = z.object({\n sessionDefaultSettings: SessionDefaultSettingsSchema.optional(),\n maxAutonomyLevel: z.nativeEnum(AutonomyLevel).optional(),\n mcpAutonomyOverrides: z\n .record(\n z.string(),\n z.object({\n defaultLevel: McpAutonomyLevelSchema.optional(),\n tools: z.record(z.string(), McpAutonomyLevelSchema).optional(),\n })\n )\n .optional(),\n mcpAutonomyUrlOverrides: z.array(McpAutonomyUrlOverrideSchema).optional(),\n cloudSessionSync: z.boolean().optional(),\n wikiCloudSync: z.boolean().optional(),\n includeCoAuthoredByDroid: z.boolean().optional(),\n enableDroidShield: z.boolean().optional(),\n ideAutoConnect: z.boolean().optional(),\n commandAllowlist: z.array(z.string()).optional(),\n commandDenylist: z.array(z.string()).optional(),\n customModels: CustomModelsSchema.optional(),\n modelPolicy: ModelPolicySchema.optional(),\n mcpPolicy: McpPolicySchema.optional(),\n missionPolicy: MissionPolicySchema.optional(),\n userModelPolicies: z.record(z.string(), UserModelPolicySchema).optional(),\n enabledPlugins: z.record(z.boolean()).optional(),\n extraKnownMarketplaces: z.record(ExtraMarketplaceEntrySchema).optional(),\n strictKnownMarketplaces: z.array(MarketplaceSourceSchema).optional(),\n networkPolicy: NetworkPolicySchema.optional(),\n sandbox: SandboxSettingsSchema.optional(),\n restrictMemberVisibility: z.boolean().optional(),\n restrictApiKeyCreationToManagers: z.boolean().optional(),\n managedComputersEnabled: z.boolean().optional(),\n managedComputersAllowedEmails: z.array(z.string().trim()).optional(),\n byomComputersEnabled: z.boolean().optional(),\n byomComputersAllowedEmails: z.array(z.string().trim()).optional(),\n sessionRetentionDays: z\n .number()\n .int()\n .min(SESSION_RETENTION_MIN_DAYS)\n .max(SESSION_RETENTION_MAX_DAYS)\n .optional(),\n factoryRouterGuidance: z\n .string()\n .max(FACTORY_ROUTER_GUIDANCE_MAX_LENGTH)\n .optional(),\n factoryRouterRules: z\n .array(FactoryRouterRuleSchema)\n .max(FACTORY_ROUTER_RULES_MAX_COUNT)\n .optional(),\n});\n\n// =============================================================================\n// General Settings Schema (CLI settings.json / settings.local.json)\n// =============================================================================\n\nexport const GeneralSettingsSchema = ManagedSettingsBaseSchema.extend({\n diffMode: z.nativeEnum(DiffMode).optional(),\n ideExtensionPromptedAt: z.record(z.number()).optional(),\n ideActivationNudgedForVersion: z.record(z.string()).optional(),\n enableCompletionBell: z.boolean().optional(),\n completionSound: z.string().optional(),\n awaitingInputSound: z.string().optional(),\n soundFocusMode: z.nativeEnum(SoundFocusMode).optional(),\n completionSoundFocusMode: z.nativeEnum(SoundFocusMode).optional(),\n awaitingInputSoundFocusMode: z.nativeEnum(SoundFocusMode).optional(),\n specSaveEnabled: z.boolean().optional(),\n specSaveDir: z.string().optional(),\n todoDisplayMode: z.nativeEnum(TodoDisplayMode).optional(),\n toolResultDisplay: z.nativeEnum(ToolResultDisplay).optional(),\n showThinkingInMainView: z.boolean().optional(),\n keepSystemAwakeDuringMissions: z.boolean().optional(),\n showTokenUsageIndicator: z.boolean().optional(),\n missionOrchestratorModel: z.string().optional(),\n missionOrchestratorReasoningEffort: ReasoningEffortSchema.optional(),\n modelFavorites: z.array(z.string()).optional(),\n dismissedNewModels: z.array(z.string()).optional(),\n logoAnimation: z.nativeEnum(LogoAnimationMode).optional(),\n missionModelSettings: MissionModelSettingsSchema.optional(),\n subagentModelSettings: SubagentModelSettingsSchema.optional(),\n statusLine: StatusLineConfigSchema.optional(),\n theme: z.string().optional(),\n overrideTerminalColors: z.boolean().optional(),\n hasSeenMissionOnboarding: z.boolean().optional(),\n worktreeDirectory: z.string().optional(),\n windowZoomLevel: z.number().finite().optional(),\n remoteAccessEnabled: z.boolean().optional(),\n llmRequestTimeout: z.number().min(1000).optional(),\n subagentInactivityTimeout: z.number().min(1000).optional(),\n subagentSounds: z.nativeEnum(SubagentSoundMode).optional(),\n nerdFont: z.boolean().optional(),\n compactionTokenLimit: z.number().optional(),\n compactionTokenLimitPerModel: z.record(z.number()).optional(),\n compactionModel: CompactionModelSchema.optional(),\n});\n\nexport type ManagedSettingsBase = z.infer<typeof ManagedSettingsBaseSchema>;\nexport type GeneralSettings = z.infer<typeof GeneralSettingsSchema>;\nexport type ModelPolicy = z.infer<typeof ModelPolicySchema>;\nexport type McpPolicy = z.infer<typeof McpPolicySchema>;\nexport type MissionPolicy = z.infer<typeof MissionPolicySchema>;\nexport type SandboxSettings = z.infer<typeof SandboxSettingsSchema>;\nexport type FactoryRouterRule = z.infer<typeof FactoryRouterRuleSchema>;\n","// Custom-model schemas (includes apiKey / aws credential fields).\n// SandboxModeSchema is colocated here.\n\nimport { z } from 'zod';\n\nimport { ModelProvider, ReasoningEffort, SandboxMode } from './enums.js';\n\nconst ReasoningEffortSchema = z.nativeEnum(ReasoningEffort);\n\nexport const SandboxModeSchema = z.nativeEnum(SandboxMode);\n\nconst CustomModelBedrockSchema = z.object({\n awsProfile: z.string().optional(),\n awsRegion: z.string().min(1).optional(),\n bedrockBaseUrl: z.string().url().optional(),\n awsAuthRefresh: z.string().optional(),\n awsCredentialExport: z.string().optional(),\n});\n\nexport const ManagedCustomModelSchema = z\n .object({\n model: z.string(),\n id: z.string().optional(),\n index: z.number().optional(),\n baseUrl: z.string().optional(),\n apiKey: z.string().optional(),\n provider: z.nativeEnum(ModelProvider),\n displayName: z.string().optional(),\n maxContextLimit: z.number().optional(),\n enableThinking: z.boolean().optional(),\n thinkingMaxTokens: z.number().optional(),\n maxOutputTokens: z.number().optional(),\n reasoningEffort: ReasoningEffortSchema.optional(),\n extraHeaders: z.record(z.string()).optional(),\n extraArgs: z.record(z.unknown()).optional(),\n noImageSupport: z.boolean().optional(),\n bedrock: CustomModelBedrockSchema.optional(),\n })\n .superRefine((model, ctx) => {\n if (model.provider === ModelProvider.BEDROCK_CONVERSE && !model.bedrock) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['bedrock'],\n message:\n 'bedrock-converse custom models require a bedrock configuration block',\n });\n return;\n }\n if (model.bedrock) {\n if (\n model.provider !== ModelProvider.ANTHROPIC &&\n model.provider !== ModelProvider.BEDROCK_CONVERSE\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['provider'],\n message:\n 'bedrock custom models require provider \"anthropic\" or \"bedrock-converse\"',\n });\n }\n return;\n }\n if (!model.baseUrl) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['baseUrl'],\n message: 'baseUrl is required unless bedrock is configured',\n });\n }\n if (!model.apiKey) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['apiKey'],\n message: 'apiKey is required unless bedrock is configured',\n });\n }\n });\n\nexport const CustomModelsSchema = z.array(ManagedCustomModelSchema);\n\nexport type ManagedCustomModel = z.infer<typeof ManagedCustomModelSchema>;\nexport type CustomModels = z.infer<typeof CustomModelsSchema>;\n","import { z } from 'zod';\n\nimport { ModelID } from './enums.js';\n\n/**\n * A lenient model ID array that silently drops unrecognized values instead of\n * failing validation. Ensures backward compatibility when ModelID enum values\n * are removed — persisted policies referencing old IDs filter them out rather\n * than failing to parse.\n */\nconst modelIdValues: ReadonlySet<string> = new Set(Object.values(ModelID));\nconst tolerantModelIdArray = z\n .array(z.string())\n .transform((ids) => ids.filter((id): id is ModelID => modelIdValues.has(id)));\n\nexport const UserModelPolicySchema = z.object({\n allowedModelIds: tolerantModelIdArray,\n blockedModelIds: tolerantModelIdArray,\n});\n","import { z } from 'zod';\n\nimport { DroidLoopStatus, DroidLoopStopReason } from './enums.js';\n\n// Bounds are frozen at the values shipped with the deprecated loop protocol\n// surface; they intentionally do not track the live LOOP_INTERVAL_POLICY.\nconst DEPRECATED_LOOP_INTERVAL_MIN_MS = 5_000;\nconst DEPRECATED_LOOP_INTERVAL_MAX_MS = 24 * 60 * 60 * 1_000;\n\n/** @deprecated Loop scheduling now uses daemon cron schemas. */\nconst LoopIntervalMsSchema = z\n .number()\n .int()\n .finite()\n .safe()\n .min(DEPRECATED_LOOP_INTERVAL_MIN_MS)\n .max(DEPRECATED_LOOP_INTERVAL_MAX_MS);\n\n/** @deprecated Loop scheduling now uses daemon cron schemas. */\nexport const LoopStateSchema = z.object({\n loopId: z.string(),\n status: z.nativeEnum(DroidLoopStatus),\n intervalMs: LoopIntervalMsSchema,\n iteration: z.number().int().nonnegative(),\n startedAt: z.number().int().nonnegative(),\n updatedAt: z.number().int().nonnegative(),\n nextRunAt: z.number().int().nonnegative().nullable(),\n isDue: z.boolean(),\n lastRunStartedAt: z.number().int().nonnegative().optional(),\n lastRunCompletedAt: z.number().int().nonnegative().optional(),\n stopReason: z.nativeEnum(DroidLoopStopReason).optional(),\n});\n\nexport type LoopState = z.infer<typeof LoopStateSchema>;\n","import { z } from 'zod';\n\nimport { ToolConfirmationOutcome } from './enums.js';\n\n/**\n * Schema for a selectable list item in CLI UI\n *\n * Used for tool confirmation prompts to provide structured options\n * that can be rendered with visual feedback (colors, prefixes, etc.)\n */\nexport const ToolConfirmationListItemSchema = z.object({\n label: z.string(),\n value: z.nativeEnum(ToolConfirmationOutcome),\n});\n\nexport type ToolConfirmationListItem = z.infer<\n typeof ToolConfirmationListItemSchema\n>;\n","import { z } from 'zod';\n\nimport { McpServerStatus, McpServerType, SettingsLevel } from './enums.js';\n\n// MCP primitives\nexport const McpServerNameSchema = z.string();\nexport const McpServerTypeSchema = z.enum(['stdio', 'http', 'sse']);\n\n// Server config field schemas (used by registry and add-server requests)\nexport const McpHttpServerConfigFieldsSchema = z.object({\n url: z.string().optional(),\n});\n\nexport const McpStdioServerConfigFieldsSchema = z.object({\n command: z.string().optional(),\n args: z.array(z.string()).optional(),\n});\n\n// MCP server status (shared between LIST_MCP_SERVERS result and MCP_STATUS_CHANGED notification)\nexport const McpServerStatusInfoSchema = z.object({\n name: z.string(),\n status: z.nativeEnum(McpServerStatus),\n source: z.nativeEnum(SettingsLevel),\n isManaged: z.boolean(),\n error: z.string().optional(),\n toolCount: z.number().optional(),\n serverType: z.nativeEnum(McpServerType),\n hasAuthTokens: z.boolean().optional(),\n requiresAuth: z.boolean().optional(),\n pendingAuthUrl: z.string().optional(),\n pendingAuthMessage: z.string().optional(),\n pendingAuthState: z.string().optional(),\n});\n\n// MCP status summary (shared between LIST_MCP_SERVERS result and MCP_STATUS_CHANGED notification)\nexport const McpStatusSummarySchema = z.object({\n total: z.number(),\n connected: z.number(),\n connecting: z.number(),\n failed: z.number(),\n disabled: z.number().optional(),\n});\n\n// MCP registry server entity\nconst McpRegistryServerBaseSchema = z.object({\n name: McpServerNameSchema,\n description: z.string(),\n type: McpServerTypeSchema,\n});\n\nexport const McpRegistryServerSchema = McpRegistryServerBaseSchema.merge(\n McpHttpServerConfigFieldsSchema\n)\n .merge(McpStdioServerConfigFieldsSchema)\n .extend({\n note: z.string().optional(),\n logoUrl: z.string().optional(),\n });\n\n// MCP tool entity\nexport const McpToolInfoSchema = z.object({\n serverName: McpServerNameSchema,\n name: z.string(),\n description: z.string().optional(),\n isEnabled: z.boolean(),\n isReadOnly: z.boolean().optional(),\n inputSchema: z\n .object({\n type: z.string().optional(),\n properties: z.record(z.unknown()).optional(),\n required: z.array(z.string()).optional(),\n })\n .optional(),\n});\n","import { z } from 'zod';\n\nimport { CustomModelsSchema } from './custom-models.js';\nimport {\n DismissalType,\n FeatureStatus,\n FeatureSuccessState,\n IssueSeverity,\n MissionPauseReason,\n MissionState,\n ProgressLogEntryType,\n WorkerFailureReason,\n} from './enums.js';\n\nexport const FeatureSuccessStateSchema = z.nativeEnum(FeatureSuccessState);\n\nconst OptionalNonBlankStringSchema = z.preprocess(\n (value) =>\n typeof value === 'string' && value.trim() === '' ? undefined : value,\n z.string().optional()\n);\n\n// -------------------------\n// Feature schema\n// -------------------------\n\n/**\n * Mission feature schema.\n *\n * NOTE: This is intentionally tolerant (passthrough + optional fields)\n * because the CLI/orchestrator owns the canonical on-disk feature shape and\n * may evolve it over time.\n */\nexport const MissionFeatureSchema = z.object({\n id: z.string(),\n description: z.string(),\n status: z.nativeEnum(FeatureStatus),\n skillName: z.string(),\n preconditions: z.array(z.string()),\n expectedBehavior: z.array(z.string()),\n fulfills: z.array(z.string()).optional(),\n\n // Optional orchestrator-authored fields\n milestone: z.string().optional(),\n\n // System-managed fields (present in CLI features.json)\n workerSessionIds: z.array(z.string()).optional(),\n // Deprecated compatibility fields kept for protocol stability.\n currentWorkerSessionId: z.string().nullable().optional(),\n completedWorkerSessionId: z.string().nullable().optional(),\n});\n\n// -------------------------\n// Progress log schemas\n// -------------------------\n\n// -------------------------\n// Handoff-related schemas\n// -------------------------\n\nconst IssueSeveritySchema = z.nativeEnum(IssueSeverity);\n\nconst DismissalTypeSchema = z.nativeEnum(DismissalType);\n\nexport const DiscoveredIssueSchema = z.object({\n severity: IssueSeveritySchema,\n description: z.string(),\n suggestedFix: z.string().optional(),\n});\n\nexport const VerificationCommandSchema = z.object({\n command: z.string(),\n exitCode: z.number(),\n observation: z.string(),\n});\n\nexport const InteractiveCheckSchema = z.object({\n action: z.string(),\n observed: z.string(),\n});\n\nexport const VerificationSchema = z.object({\n commandsRun: z.array(VerificationCommandSchema),\n interactiveChecks: z.array(InteractiveCheckSchema).optional(),\n});\n\nexport const TestCaseSchema = z.object({\n name: z.string(),\n verifies: z.string(),\n});\n\nexport const TestFileSchema = z.object({\n file: z.string(),\n cases: z.array(TestCaseSchema),\n});\n\nexport const TestsSchema = z.object({\n added: z.array(TestFileSchema),\n updated: z.array(z.string()).optional(),\n coverage: z.string(),\n});\n\nconst SkillDeviationSchema = z.object({\n step: z.string(),\n whatIDidInstead: z.string(),\n why: z.string(),\n});\n\nconst SkillFeedbackSchema = z.object({\n followedProcedure: z.boolean(),\n deviations: z.array(SkillDeviationSchema),\n suggestedChanges: z.array(z.string()).optional(),\n});\n\nexport const HandoffSchema = z.object({\n // Optional for backward compatibility with historical on-disk handoffs.\n salientSummary: z.string().optional(),\n whatWasImplemented: z.string(),\n whatWasLeftUndone: z.string(),\n verification: VerificationSchema,\n tests: TestsSchema,\n discoveredIssues: z.array(DiscoveredIssueSchema),\n skillFeedback: SkillFeedbackSchema.optional(),\n});\n\nexport const DismissalRecordSchema = z.object({\n type: DismissalTypeSchema,\n sourceFeatureId: z.string(),\n summary: z.string(),\n justification: z.string(),\n});\n\n// -------------------------\n// On-disk mission artifact schemas\n//\n// Describe the shape of files persisted under `{missionDir}/`. These are\n// intentionally stricter than the protocol-level MissionFeatureSchema above:\n// on-disk corruption (missing `status`, truncated state file, etc.) is the\n// failure class schema enforcement is designed to catch early.\n// -------------------------\n\n/**\n * On-disk feature schema. More permissive than `MissionFeatureSchema` for\n * list-typed fields (readers default them to `[]`). The required fields are\n * those the orchestrator always authors and whose silent regression would\n * lead to scheduler replay errors: `id`, `description`, `status`.\n */\nconst OnDiskMissionFeatureSchema = z\n .object({\n id: z.string(),\n description: z.string(),\n status: z.nativeEnum(FeatureStatus),\n skillName: z.string().optional(),\n preconditions: z.array(z.string()).optional(),\n expectedBehavior: z.union([z.array(z.string()), z.string()]).optional(),\n fulfills: z.array(z.string()).optional(),\n milestone: z.string().optional(),\n workerSessionIds: z.array(z.string()).optional(),\n currentWorkerSessionId: z.string().nullable().optional(),\n completedWorkerSessionId: z.string().nullable().optional(),\n })\n .passthrough();\n\n/**\n * Schema for handoff entries stored in `handoffs.jsonl`.\n */\nexport const HandoffEntrySchema = z.object({\n timestamp: z.string(),\n workerSessionId: z.string(),\n featureId: z.string(),\n milestone: z.string().optional(),\n commitId: OptionalNonBlankStringSchema,\n repoPath: OptionalNonBlankStringSchema,\n handoff: HandoffSchema,\n});\n\n/**\n * Schema for per-worker handoff JSON files written to\n * `{missionDir}/handoffs/{timestamp}__{featureId}__{workerSessionId}.json`.\n */\nexport const WorkerHandoffFileSchema = z.object({\n timestamp: z.string(),\n workerSessionId: z.string(),\n featureId: z.string(),\n milestone: z.string().optional(),\n commitId: z.string().optional(),\n successState: z.string().optional(),\n returnToOrchestrator: z.boolean().optional(),\n handoff: HandoffSchema,\n});\n\n/**\n * Schema for the mission state file (`state.json`). System-managed.\n *\n * Kept permissive on unknown top-level keys (`.passthrough`) to stay\n * forward-compatible with in-flight missions authored by older CLI versions,\n * but strict on required fields and enums so that genuine corruption (e.g.\n * truncated write) is caught.\n */\nexport const MissionStateFileSchema = z\n .object({\n missionId: z.string().min(1),\n state: z.nativeEnum(MissionState),\n workingDirectory: z.string().min(1),\n createdAt: z.string(),\n updatedAt: z.string(),\n lastReviewedHandoffCount: z.number().nonnegative().optional(),\n })\n .passthrough();\n\n/**\n * Schema for the features file (`features.json`).\n *\n * Accepts only the modern `{ \"features\": [...] }` wrapper shape; legacy bare\n * arrays are normalized into the wrapper shape by callers before validation.\n */\nexport const FeaturesFileSchema = z\n .object({\n features: z.array(OnDiskMissionFeatureSchema),\n })\n .passthrough();\n\n/**\n * Schema for `runtime-custom-models.json`.\n */\nexport const RuntimeCustomModelsFileSchema = z.object({\n customModels: CustomModelsSchema,\n});\n\n// -------------------------\n// Progress log entry schemas\n// -------------------------\n\nconst BaseProgressLogEntrySchema = z.object({\n timestamp: z.string(),\n});\n\nexport const MissionAcceptedEntrySchema = BaseProgressLogEntrySchema.extend({\n type: z.literal(ProgressLogEntryType.MissionAccepted),\n title: z.string(),\n});\n\nexport const MissionPausedEntrySchema = BaseProgressLogEntrySchema.extend({\n type: z.literal(ProgressLogEntryType.MissionPaused),\n /** Structured cause when the pause is automatic. Absent for user-initiated pauses. */\n pauseReason: z.nativeEnum(MissionPauseReason).optional(),\n});\n\nexport const MissionResumedEntrySchema = BaseProgressLogEntrySchema.extend({\n type: z.literal(ProgressLogEntryType.MissionResumed),\n resumeWorkerSessionId: z.string().optional(),\n});\n\nexport const MissionRunStartedEntrySchema = BaseProgressLogEntrySchema.extend({\n type: z.literal(ProgressLogEntryType.MissionRunStarted),\n message: z.string().optional(),\n});\n\nexport const WorkerStartedEntrySchema = BaseProgressLogEntrySchema.extend({\n type: z.literal(ProgressLogEntryType.WorkerStarted),\n workerSessionId: z.string(),\n spawnId: z.string(),\n featureId: z.string().optional(),\n});\n\nexport const WorkerSelectedFeatureEntrySchema =\n BaseProgressLogEntrySchema.extend({\n type: z.literal(ProgressLogEntryType.WorkerSelectedFeature),\n workerSessionId: z.string(),\n featureId: z.string(),\n });\n\nexport const WorkerCompletedEntrySchema = BaseProgressLogEntrySchema.extend({\n type: z.literal(ProgressLogEntryType.WorkerCompleted),\n workerSessionId: z.string(),\n featureId: z.string(),\n successState: FeatureSuccessStateSchema,\n returnToOrchestrator: z.boolean(),\n commitId: OptionalNonBlankStringSchema,\n repoPath: OptionalNonBlankStringSchema,\n exitCode: z.number(),\n validatorsPassed: z.boolean().optional(),\n handoff: HandoffSchema.optional(),\n});\n\nexport const WorkerFailedEntrySchema = BaseProgressLogEntrySchema.extend({\n type: z.literal(ProgressLogEntryType.WorkerFailed),\n workerSessionId: z.string().optional(),\n spawnId: z.string(),\n exitCode: z.number().optional(),\n reason: z.string(),\n /** Structured failure cause used to branch on auto-pause vs requeue. Absent means a generic failure. */\n failureReason: z.nativeEnum(WorkerFailureReason).optional(),\n});\n\nexport const WorkerPausedEntrySchema = BaseProgressLogEntrySchema.extend({\n type: z.literal(ProgressLogEntryType.WorkerPaused),\n workerSessionId: z.string(),\n featureId: z.string().optional(),\n});\n\nexport const HandoffItemsDismissedEntrySchema =\n BaseProgressLogEntrySchema.extend({\n type: z.literal(ProgressLogEntryType.HandoffItemsDismissed),\n dismissals: z.array(DismissalRecordSchema).optional(),\n });\n\nexport const MilestoneValidationTriggeredEntrySchema =\n BaseProgressLogEntrySchema.extend({\n type: z.literal(ProgressLogEntryType.MilestoneValidationTriggered),\n milestone: z.string(),\n featureId: z.string(),\n });\n\nexport const ProgressLogEntrySchema = z.discriminatedUnion('type', [\n MissionAcceptedEntrySchema,\n MissionPausedEntrySchema,\n MissionResumedEntrySchema,\n MissionRunStartedEntrySchema,\n WorkerStartedEntrySchema,\n WorkerSelectedFeatureEntrySchema,\n WorkerCompletedEntrySchema,\n WorkerFailedEntrySchema,\n WorkerPausedEntrySchema,\n HandoffItemsDismissedEntrySchema,\n MilestoneValidationTriggeredEntrySchema,\n]);\n","import { z } from 'zod';\n\nimport { SandboxModeSchema } from './custom-models.js';\nimport {\n AutonomyLevel,\n AutonomyMode,\n DroidClientMethod,\n DroidErrorType,\n DroidWorkingState,\n McpAuthOutcome,\n MissionState,\n ReasoningEffort,\n SandboxOperationType,\n SandboxViolationReason,\n SandboxViolationType,\n SessionNotificationType,\n ToolConfirmationOutcome,\n ToolConfirmationType,\n} from './enums.js';\nimport {\n DroidInteractionModeSchema,\n JsonRpcBaseNotificationSchema,\n JsonRpcBaseRequestSchema,\n JsonRpcBaseResponseFailureSchema,\n JsonRpcBaseResponseSuccessSchema,\n JsonRpcEnvelopeSchema,\n} from './json-rpc.js';\nimport { LoopStateSchema } from './loop.js';\nimport { McpServerStatusInfoSchema, McpStatusSummarySchema } from './mcp.js';\nimport {\n FactoryDroidMessageSchema,\n ToolResultSchema,\n ToolUseSchema,\n} from './messages.js';\nimport {\n MissionFeatureSchema,\n ProgressLogEntrySchema,\n} from './mission-decomposition.js';\nimport { MissionModelSettingsSchema } from './model-settings.js';\nimport { ToolConfirmationListItemSchema } from './selectable-list-item.js';\nimport { TokenUsageSchema } from './session.js';\n\nconst ToolResultNotificationSchema = ToolResultSchema.extend({\n type: z.literal(SessionNotificationType.TOOL_RESULT),\n messageId: z.string(),\n});\n\n// Schema for streaming updates from subagent tool calls\nexport const ToolProgressUpdateSchema = z.object({\n type: z.enum(['tool_call', 'tool_result', 'error', 'status', 'message']),\n toolName: z.string().optional(),\n status: z.string().optional(),\n details: z.string().optional(),\n text: z.string().optional(),\n error: z.string().optional(),\n timestamp: z.number().optional(),\n parameters: z.record(z.unknown()).optional(),\n valueSnippet: z.string().optional(),\n terminalId: z.string().optional(),\n fullOutput: z.string().optional(),\n /** The session ID of the spawned subagent, parsed from a system/init debug event */\n subagentSessionId: z.string().optional(),\n});\n\nconst ToolProgressUpdateNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.TOOL_PROGRESS_UPDATE),\n toolUseId: z.string(),\n toolName: z.string(),\n update: ToolProgressUpdateSchema,\n});\n\nconst CreateMessageNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.CREATE_MESSAGE),\n message: FactoryDroidMessageSchema,\n parentId: z.string().optional(),\n requestId: z.string().optional(),\n});\n\nconst ErrorNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.ERROR),\n message: z.string(),\n errorType: z.nativeEnum(DroidErrorType),\n timestamp: z.string(),\n error: z\n .object({\n name: z.string(),\n message: z.string(),\n })\n .optional(),\n});\n\nconst DroidWorkingStateChangedNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.DROID_WORKING_STATE_CHANGED),\n newState: z.nativeEnum(DroidWorkingState),\n});\n\nexport const SessionCompactedNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.SESSION_COMPACTED),\n summaryId: z.string(),\n removedCount: z.number().nonnegative(),\n visibleBoundaryMessageId: z.string().nullable(),\n});\n\nexport const LoopStateChangedNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.LOOP_STATE_CHANGED),\n loopState: LoopStateSchema,\n});\n\nconst PermissionResolvedNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.PERMISSION_RESOLVED),\n requestId: z.string(),\n toolUseIds: z.array(z.string()), // Array to match batched permission requests\n selectedOption: z.nativeEnum(ToolConfirmationOutcome),\n});\n\nconst SettingsUpdatedNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.SETTINGS_UPDATED),\n requestId: z.string().optional(),\n settings: z.object({\n autonomyMode: z\n .nativeEnum(AutonomyMode)\n .optional()\n .describe('Deprecated: use interactionMode + autonomyLevel instead.'),\n interactionMode: DroidInteractionModeSchema.optional().catch(undefined),\n autonomyLevel: z.nativeEnum(AutonomyLevel).optional().catch(undefined),\n modelId: z.string().optional(),\n reasoningEffort: z.nativeEnum(ReasoningEffort).optional(),\n specModeModelId: z.string().optional(),\n specModeReasoningEffort: z.nativeEnum(ReasoningEffort).optional(),\n enabledToolIds: z.array(z.string()).optional(),\n disabledToolIds: z.array(z.string()).optional(),\n missionSettings: MissionModelSettingsSchema.optional(),\n compactionThresholdCheckEnabled: z.boolean().optional(),\n }),\n});\n\nconst SessionTitleUpdatedNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.SESSION_TITLE_UPDATED),\n requestId: z.string().optional(),\n title: z.string(),\n});\n\nconst McpStatusChangedNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.MCP_STATUS_CHANGED),\n servers: z.array(McpServerStatusInfoSchema),\n summary: McpStatusSummarySchema,\n});\n\nconst AssistantTextDeltaNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.ASSISTANT_TEXT_DELTA),\n messageId: z.string(),\n blockIndex: z.number(),\n textDelta: z.string(),\n});\n\nconst AssistantTextCompleteNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.ASSISTANT_TEXT_COMPLETE),\n messageId: z.string(),\n blockIndex: z.number(),\n});\n\nconst StructuredOutputNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.STRUCTURED_OUTPUT),\n messageId: z.string(),\n structuredOutput: z.record(z.unknown()).nullable(),\n});\n\nconst ThinkingTextDeltaNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.THINKING_TEXT_DELTA),\n messageId: z.string(),\n blockIndex: z.number(),\n textDelta: z.string(),\n});\n\nconst ThinkingTextCompleteNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.THINKING_TEXT_COMPLETE),\n messageId: z.string(),\n blockIndex: z.number(),\n durationMs: z.number().nonnegative().optional(),\n});\n\nexport const SessionTokenUsageChangedNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.SESSION_TOKEN_USAGE_CHANGED),\n sessionId: z.string(),\n tokenUsage: TokenUsageSchema,\n inclusiveTokenUsage: TokenUsageSchema.optional(),\n // Latest provider-reported usage used by the compaction meter.\n lastCallTokenUsage: TokenUsageSchema.pick({\n inputTokens: true,\n cacheReadTokens: true,\n })\n .extend({\n outputTokens: TokenUsageSchema.shape.outputTokens.optional(),\n })\n .optional(),\n});\n\n// Mission notification schemas\nexport const MissionStateChangedNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.MISSION_STATE_CHANGED),\n state: z.nativeEnum(MissionState),\n updatedAt: z.string().optional(),\n});\n\nexport const MissionFeaturesChangedNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.MISSION_FEATURES_CHANGED),\n features: z.array(MissionFeatureSchema),\n});\n\nexport const MissionProgressEntryNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.MISSION_PROGRESS_ENTRY),\n progressLog: z.array(ProgressLogEntrySchema),\n});\n\nexport const MissionHeartbeatNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.MISSION_HEARTBEAT),\n timestamp: z.string(),\n});\n\nexport const MissionWorkerStartedNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.MISSION_WORKER_STARTED),\n workerSessionId: z.string(),\n});\n\nexport const MissionWorkerCompletedNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.MISSION_WORKER_COMPLETED),\n workerSessionId: z.string(),\n exitCode: z.number(),\n});\n\nconst McpAuthRequiredNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.MCP_AUTH_REQUIRED),\n serverName: z.string(),\n authUrl: z.string(),\n message: z.string(),\n state: z.string(),\n});\n\nconst McpAuthCompletedNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.MCP_AUTH_COMPLETED),\n serverName: z.string(),\n outcome: z.nativeEnum(McpAuthOutcome),\n message: z.string(),\n});\n\nconst HookCommandSchema = z.object({\n command: z.string(),\n timeout: z.number().optional(),\n});\n\nconst HookResultSchema = z.object({\n exitCode: z.number(),\n stdout: z.string(),\n stderr: z.string(),\n command: z.string().optional(),\n timeout: z.number().optional(),\n});\n\nexport const DroidHookEventSchema = z.enum([\n 'PreToolUse',\n 'PostToolUse',\n 'Notification',\n 'UserPromptSubmit',\n 'Stop',\n 'SubagentStop',\n 'PreCompact',\n 'SessionStart',\n 'SessionEnd',\n]);\n\nconst ToolCallNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.TOOL_CALL),\n toolUse: ToolUseSchema,\n});\n\nconst QueuedMessagesDiscardedNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.QUEUED_MESSAGES_DISCARDED),\n text: z.string(),\n requestId: z.string().optional(),\n});\n\n/**\n * Internal keep-alive notification emitted while a long-running tool\n * (e.g. Execute/pytest) is actively running without producing new streaming\n * output. Consumed by the daemon to refresh the session inactivity timeout;\n * never forwarded to external clients.\n */\nconst ToolExecutionHeartbeatNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.TOOL_EXECUTION_HEARTBEAT),\n toolUseId: z.string(),\n toolName: z.string(),\n});\n\nconst HookExecutionStartedNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.HOOK_EXECUTION_STARTED),\n hookId: z.string(),\n hookEventName: z.string(),\n hookMatcher: z.string().optional(),\n hookCommands: z.array(HookCommandSchema),\n hookToolCallId: z.string().optional(),\n isParallelExecution: z.boolean().optional(),\n parallelGroupId: z.string().optional(),\n});\n\nconst HookExecutionCompletedNotificationSchema = z.object({\n type: z.literal(SessionNotificationType.HOOK_EXECUTION_COMPLETED),\n hookId: z.string(),\n hookEventName: DroidHookEventSchema.optional(),\n hookMatcher: z.string().optional(),\n hookToolCallId: z.string().optional(),\n hookStatus: z.enum(['completed', 'error']),\n hookResults: z.array(HookResultSchema).optional(),\n});\n\nexport const SandboxStatusSchema = z.object({\n enabled: z.boolean(),\n mode: SandboxModeSchema.optional(),\n});\n\nexport const SessionNotificationSchemaList = [\n ToolResultNotificationSchema,\n ToolProgressUpdateNotificationSchema,\n CreateMessageNotificationSchema,\n ErrorNotificationSchema,\n DroidWorkingStateChangedNotificationSchema,\n SessionCompactedNotificationSchema,\n LoopStateChangedNotificationSchema,\n PermissionResolvedNotificationSchema,\n SettingsUpdatedNotificationSchema,\n SessionTitleUpdatedNotificationSchema,\n McpStatusChangedNotificationSchema,\n AssistantTextDeltaNotificationSchema,\n AssistantTextCompleteNotificationSchema,\n StructuredOutputNotificationSchema,\n ThinkingTextDeltaNotificationSchema,\n ThinkingTextCompleteNotificationSchema,\n SessionTokenUsageChangedNotificationSchema,\n // Mission notifications\n MissionStateChangedNotificationSchema,\n MissionFeaturesChangedNotificationSchema,\n MissionProgressEntryNotificationSchema,\n MissionHeartbeatNotificationSchema,\n MissionWorkerStartedNotificationSchema,\n MissionWorkerCompletedNotificationSchema,\n McpAuthRequiredNotificationSchema,\n McpAuthCompletedNotificationSchema,\n HookExecutionStartedNotificationSchema,\n HookExecutionCompletedNotificationSchema,\n ToolCallNotificationSchema,\n QueuedMessagesDiscardedNotificationSchema,\n ToolExecutionHeartbeatNotificationSchema,\n] as const;\n\nconst SessionNotificationParamsSchema = z.object({\n notification: z.discriminatedUnion('type', SessionNotificationSchemaList),\n});\n\nexport const SessionNotificationSchema = JsonRpcBaseNotificationSchema.extend({\n method: z.literal(DroidClientMethod.SESSION_NOTIFICATION),\n params: SessionNotificationParamsSchema,\n});\n\n// Tool Confirmation Details schemas (matching TypeScript types in types.ts)\nconst EditToolConfirmationDetailsSchema = z.object({\n type: z.literal(ToolConfirmationType.Edit),\n filePath: z.string(),\n fileName: z.string(),\n oldContent: z.string().optional(),\n newContent: z.string().optional(),\n});\n\nconst ExecuteToolConfirmationDetailsSchema = z.object({\n type: z.literal(ToolConfirmationType.Execute),\n fullCommand: z.string(),\n command: z.string(),\n extractedCommands: z.array(z.string()).optional(),\n impactLevel: z.string().optional(),\n riskLevelReason: z.string().optional(),\n});\n\nconst CreateToolConfirmationDetailsSchema = z.object({\n type: z.literal(ToolConfirmationType.Create),\n filePath: z.string(),\n fileName: z.string(),\n content: z.string(),\n});\n\nconst AskUserConfirmationDetailsSchema = z.object({\n type: z.literal(ToolConfirmationType.AskUser),\n questionnaire: z.string(),\n parsed: z\n .object({\n questions: z.array(\n z.object({\n index: z.number(),\n topic: z.string(),\n question: z.string(),\n options: z.array(z.string()),\n })\n ),\n })\n .optional(),\n parseError: z\n .object({\n message: z.string(),\n line: z.number().optional(),\n })\n .optional(),\n});\n\nconst ExitSpecModeConfirmationDetailsSchema = z.object({\n type: z.literal(ToolConfirmationType.ExitSpecMode),\n plan: z.string(),\n title: z.string().optional(),\n});\n\nconst ProposeMissionConfirmationDetailsSchema = z.object({\n type: z.literal(ToolConfirmationType.ProposeMission),\n proposal: z.string(),\n title: z.string().optional(),\n});\n\nconst StartMissionRunConfirmationDetailsSchema = z.object({\n type: z.literal(ToolConfirmationType.StartMissionRun),\n runningMissionCount: z.number(),\n runningMissionSessionIds: z.array(z.string()),\n});\n\nconst ApplyPatchToolConfirmationDetailsSchema = z.object({\n type: z.literal(ToolConfirmationType.ApplyPatch),\n filePath: z.string(),\n fileName: z.string(),\n patchContent: z.string(),\n oldContent: z.string().optional(),\n newContent: z.string().optional(),\n});\n\nconst McpToolConfirmationDetailsSchema = z.object({\n type: z.literal(ToolConfirmationType.McpTool),\n toolName: z.string(),\n impactLevel: z.string(),\n serverName: z.string().optional(),\n actualToolName: z.string().optional(),\n});\n\nconst SandboxViolationConfirmationDetailsSchema = z.object({\n type: z.literal(ToolConfirmationType.SandboxViolation),\n violatingToolName: z.string(),\n target: z.string(),\n operationType: z.nativeEnum(SandboxOperationType),\n violationType: z.nativeEnum(SandboxViolationType),\n reason: z.string(),\n violationReason: z.nativeEnum(SandboxViolationReason).optional(),\n isOrgDeny: z.boolean(),\n});\n\nexport const ToolConfirmationDetailsSchema = z.discriminatedUnion('type', [\n EditToolConfirmationDetailsSchema,\n ExecuteToolConfirmationDetailsSchema,\n CreateToolConfirmationDetailsSchema,\n AskUserConfirmationDetailsSchema,\n ExitSpecModeConfirmationDetailsSchema,\n ProposeMissionConfirmationDetailsSchema,\n StartMissionRunConfirmationDetailsSchema,\n ApplyPatchToolConfirmationDetailsSchema,\n McpToolConfirmationDetailsSchema,\n SandboxViolationConfirmationDetailsSchema,\n]);\n\nconst ToolConfirmationInfoSchema = z.object({\n toolUse: ToolUseSchema,\n confirmationType: z.nativeEnum(ToolConfirmationType),\n details: ToolConfirmationDetailsSchema,\n});\n\nexport const RequestPermissionRequestParamsSchema = z.object({\n toolUses: z.array(ToolConfirmationInfoSchema),\n options: z.array(ToolConfirmationListItemSchema),\n});\n\nexport const RequestPermissionRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidClientMethod.REQUEST_PERMISSION),\n params: RequestPermissionRequestParamsSchema,\n});\n\n// ============================================================\n// Ask User (multi-question user input)\n// ============================================================\n\nexport const AskUserQuestionSchema = z.object({\n index: z.number(), // 1-based\n topic: z.string(),\n question: z.string(),\n options: z.array(z.string()),\n});\n\nexport const AskUserRequestParamsSchema = z.object({\n /** The tool call id that initiated this AskUser request */\n toolCallId: z.string(),\n questions: z.array(AskUserQuestionSchema),\n});\n\nexport const AskUserRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidClientMethod.ASK_USER),\n params: AskUserRequestParamsSchema,\n});\n\nexport const AskUserCollectedAnswerSchema = z.object({\n index: z.number(),\n question: z.string(),\n answer: z.string(),\n});\n\nexport const AskUserResultSchema = z.object({\n /** If true, the user cancelled the questionnaire */\n cancelled: z.boolean().optional(),\n answers: z.array(AskUserCollectedAnswerSchema),\n});\n\nexport const AskUserResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: AskUserResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const RequestPermissionResultSchema = z\n .object({\n selectedOption: z.nativeEnum(ToolConfirmationOutcome),\n comment: z.string().optional(),\n editedSpecContent: z.string().optional(),\n })\n .superRefine((value, ctx) => {\n if (\n value.selectedOption === ToolConfirmationOutcome.ProceedEdit &&\n typeof value.editedSpecContent !== 'string'\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n 'editedSpecContent is required when selectedOption is proceed_edit',\n path: ['editedSpecContent'],\n });\n }\n });\n\nexport const RequestPermissionResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: RequestPermissionResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const CliRequestOrNotificationSchema = JsonRpcEnvelopeSchema.and(\n z.discriminatedUnion('method', [\n SessionNotificationSchema,\n RequestPermissionRequestSchema,\n AskUserRequestSchema,\n ])\n);\n","import { z } from 'zod';\n\nimport {\n AskUserRequestParamsSchema,\n RequestPermissionRequestParamsSchema,\n SandboxStatusSchema,\n} from './cli.js';\nimport {\n AutonomyLevel,\n AutonomyMode,\n ContextCategoryColorKey,\n ContextStatsAccuracy,\n DecompSessionType,\n DroidLocation,\n DroidServerMethod,\n LLMModelTier,\n MessageRole,\n MessageVisibility,\n MissionState,\n ModelKind,\n ModelProvider,\n QueuePlacement,\n ReasoningEffort,\n ResolveQueuedUserMessageAction,\n SessionOrigin,\n SettingsLevel,\n SkillLocation,\n} from './enums.js';\nimport { HostIdSchema } from './host.js';\nimport {\n DroidInteractionModeSchema,\n JsonRpcBaseRequestSchema,\n JsonRpcBaseResponseFailureSchema,\n JsonRpcBaseResponseSuccessSchema,\n} from './json-rpc.js';\nimport { LoopStateSchema } from './loop.js';\nimport {\n McpHttpServerConfigFieldsSchema,\n McpRegistryServerSchema,\n McpServerNameSchema,\n McpServerStatusInfoSchema,\n McpServerTypeSchema,\n McpStatusSummarySchema,\n McpStdioServerConfigFieldsSchema,\n McpToolInfoSchema,\n} from './mcp.js';\nimport {\n Base64ImageSourceSchema,\n DocumentSourceSchema,\n FactoryDroidMessageSchema,\n} from './messages.js';\nimport {\n MissionFeatureSchema,\n ProgressLogEntrySchema,\n} from './mission-decomposition.js';\nimport { MissionModelSettingsSchema } from './model-settings.js';\nimport { SessionSourceSchema } from './session-source.js';\nimport { SessionTagSchema, TokenUsageSchema } from './session.js';\n\n/**\n * Schema for available model configuration returned in session init/load responses.\n * This represents both built-in models (feature-flag filtered) and custom BYOK models.\n */\nexport const AvailableModelConfigSchema = z.object({\n id: z.string(),\n displayName: z.string(),\n shortDisplayName: z.string(),\n modelProvider: z.nativeEnum(ModelProvider),\n supportedReasoningEfforts: z.array(z.nativeEnum(ReasoningEffort)),\n defaultReasoningEffort: z.nativeEnum(ReasoningEffort),\n isCustom: z.boolean().default(false),\n noImageSupport: z.boolean().optional(),\n tier: z.nativeEnum(LLMModelTier).optional(),\n tokenMultiplier: z.number().optional(),\n promoLabel: z.string().optional(),\n kind: z.nativeEnum(ModelKind).optional(),\n variantBadge: z.string().optional(),\n});\n\nexport const ContextStatsSchema = z.object({\n used: z.number(),\n remaining: z.number(),\n limit: z.number(),\n accuracy: z.nativeEnum(ContextStatsAccuracy),\n updatedAt: z.string(),\n});\n\nconst StdioMcpSchema = z.object({\n name: z.string(),\n command: z.string(),\n args: z.array(z.string()).default([]),\n env: z.record(z.string()).optional().default({}),\n});\n\nconst HttpHeaderSchema = z.object({\n name: z.string(),\n value: z.string(),\n});\n\nconst HttpMcpSchema = z.object({\n type: z.literal('http'),\n name: z.string(),\n url: z.string().url(),\n headers: HttpHeaderSchema.array().default([]),\n});\n\nconst SseMcpSchema = z.object({\n type: z.literal('sse'),\n name: z.string(),\n url: z.string().url(),\n headers: HttpHeaderSchema.array().default([]),\n});\n\nconst McpServersSchema = z\n .union([StdioMcpSchema, HttpMcpSchema, SseMcpSchema])\n .array();\n\nconst SessionSchema = z.object({\n messages: FactoryDroidMessageSchema.array(),\n title: z.string().optional(),\n});\n\n// Session type for mission decomposition (orchestrator manages workers)\nconst DecompSessionTypeSchema = z.nativeEnum(DecompSessionType);\n\nconst ToolOverrideParamsSchema = z.object({\n enabledToolIds: z.array(z.string()).optional(),\n disabledToolIds: z.array(z.string()).optional(),\n});\n\nexport const OutputFormatSchema = z.object({\n type: z.literal('json_schema'),\n schema: z.record(z.unknown()),\n});\n\nexport const InitializeSessionRequestParamsSchema = z\n .object({\n machineId: z.string(),\n cwd: z.string(),\n // Optional if we want to attach a session to a specific workspace\n workspaceId: z.string().optional(),\n // Optional if we want to create a session with a specific ID\n sessionId: z.string().optional(),\n mcpServers: McpServersSchema.optional(),\n // Session settings (optional - uses defaults from settings.json if not provided)\n autonomyMode: z\n .nativeEnum(AutonomyMode)\n .optional()\n .describe('Deprecated: use interactionMode + autonomyLevel instead.'),\n interactionMode: DroidInteractionModeSchema.optional().catch(undefined),\n autonomyLevel: z.nativeEnum(AutonomyLevel).optional().catch(undefined),\n modelId: z.string().optional(),\n reasoningEffort: z.nativeEnum(ReasoningEffort).optional(),\n specModeModelId: z.string().optional(),\n specModeReasoningEffort: z.nativeEnum(ReasoningEffort).optional(),\n missionSettings: MissionModelSettingsSchema.optional(),\n compactionThresholdCheckEnabled: z.boolean().optional(),\n /**\n * @deprecated use session tags instead: mission decomposition session\n * type (orchestrator or worker). undefined = standard session (not part of decomposition)\n */\n decompSessionType: DecompSessionTypeSchema.optional(),\n /**\n * @deprecated use session tags instead: mission id for worker sessions\n * (links worker back to its orchestrator's mission)\n */\n decompMissionId: z.string().optional(),\n // Skip permission checks (used by worker sessions running autonomously)\n skipPermissionsUnsafe: z.boolean().optional(),\n // Session metadata for delegations (Linear, Slack, etc.)\n sessionLocation: z.string().optional(),\n sessionSource: SessionSourceSchema.optional(),\n sessionOriginHint: z.nativeEnum(SessionOrigin).optional(),\n tags: z.array(SessionTagSchema).optional(),\n // OAuth callback URI for MCP auth relay (set by frontend based on web vs desktop client)\n mcpOAuthCallbackUri: z.string().optional(),\n /**\n * When true, the daemon should create or reuse a git worktree rooted\n * at `cwd` and run the session there. The original `cwd` is used to\n * locate the git repo; the actual session cwd becomes the worktree\n * path. No-op when `cwd` is not inside a git repository.\n */\n worktree: z.boolean().optional(),\n /**\n * Optional override for where the worktree directory is created.\n * Falls back to the user's `worktreeDirectory` setting (or the\n * sibling-of-repo default) when omitted.\n */\n worktreeDir: z.string().optional(),\n })\n .merge(ToolOverrideParamsSchema);\n\nexport const LoadSessionRequestParamsSchema = z.object({\n sessionId: z.string(),\n mcpServers: McpServersSchema.optional(),\n loadAllMessages: z.boolean().optional(),\n // OAuth callback URI for MCP auth relay (set by frontend based on web vs desktop client)\n mcpOAuthCallbackUri: z.string().optional(),\n});\n\nexport const AddUserMessageRequestParamsSchema = z.object({\n messageId: z.string().optional(),\n text: z.string(),\n images: Base64ImageSourceSchema.array().optional(),\n files: DocumentSourceSchema.array().optional(),\n outputFormat: OutputFormatSchema.optional(),\n skipAgentLoop: z.boolean().optional(),\n queuePlacement: z.nativeEnum(QueuePlacement).optional(),\n role: z.nativeEnum(MessageRole).optional(),\n visibility: z.nativeEnum(MessageVisibility).optional(),\n userMessageSource: z.nativeEnum(SessionOrigin).optional(),\n});\n\nconst QueuePlacementSchema = z.nativeEnum(QueuePlacement);\n\nexport const ResolveQueuedUserMessageRequestParamsSchema = z.discriminatedUnion(\n 'action',\n [\n z.object({\n requestId: z.string(),\n action: z.literal(ResolveQueuedUserMessageAction.UpdateQueue),\n queuePlacement: QueuePlacementSchema,\n }),\n z.object({\n requestId: z.string(),\n action: z.literal(ResolveQueuedUserMessageAction.Delete),\n }),\n ]\n);\n\nexport const InterruptSessionRequestParamsSchema = z.object({});\n\nconst CloseSessionRequestParamsSchema = z.object({\n reason: z.enum(['clear', 'logout', 'prompt_input_exit', 'other']).optional(),\n});\n\nexport const CloseSessionResultSchema = z.object({});\n\nexport const KillWorkerSessionRequestParamsSchema = z.object({\n workerSessionId: z.string(),\n});\n\nexport const KillWorkerSessionResultSchema = z.object({});\n\nexport const UpdateSessionSettingsRequestParamsSchema = z\n .object({\n modelId: z.string().optional(),\n reasoningEffort: z.nativeEnum(ReasoningEffort).optional(),\n autonomyMode: z\n .nativeEnum(AutonomyMode)\n .optional()\n .describe('Deprecated: use interactionMode + autonomyLevel instead.'),\n interactionMode: DroidInteractionModeSchema.optional().catch(undefined),\n autonomyLevel: z.nativeEnum(AutonomyLevel).optional().catch(undefined),\n specModeModelId: z.string().nullable().optional(),\n specModeReasoningEffort: z\n .nativeEnum(ReasoningEffort)\n .nullable()\n .optional(),\n missionSettings: MissionModelSettingsSchema.optional(),\n tags: z.array(SessionTagSchema).optional(),\n compactionTokenLimit: z.number().optional(),\n compactionThresholdCheckEnabled: z.boolean().optional(),\n })\n .merge(ToolOverrideParamsSchema);\n\nconst SessionSettingsSchema = z\n .object({\n modelId: z.string(),\n reasoningEffort: z.nativeEnum(ReasoningEffort),\n autonomyMode: z\n .nativeEnum(AutonomyMode)\n .optional()\n .describe('Deprecated: use interactionMode + autonomyLevel instead.'),\n interactionMode: DroidInteractionModeSchema.optional().catch(undefined),\n autonomyLevel: z.nativeEnum(AutonomyLevel).optional().catch(undefined),\n specModeModelId: z.string().optional(),\n specModeReasoningEffort: z.nativeEnum(ReasoningEffort).optional(),\n missionSettings: MissionModelSettingsSchema.optional(),\n tags: z.array(SessionTagSchema).optional(),\n sandbox: SandboxStatusSchema.optional(),\n compactionThresholdCheckEnabled: z.boolean().optional(),\n })\n .merge(ToolOverrideParamsSchema);\n\nconst GitRepoInfoSchema = z.object({\n owner: z.string().optional(),\n repoName: z.string(),\n});\n\n/**\n * Worktree metadata returned to the client when a session is created in\n * an isolated git worktree. Surfaces the branch + path so the UI can\n * display badges and the user can locate the worktree on disk.\n */\nconst SessionWorktreeInfoSchema = z.object({\n branch: z.string(),\n path: z.string(),\n repoRoot: z.string().optional(),\n isNewlyCreated: z.boolean(),\n});\n\nexport const InitializeSessionResultSchema = z.object({\n sessionId: z.string(),\n hostId: HostIdSchema.optional(),\n session: SessionSchema,\n mcpServers: McpServersSchema.optional(),\n settings: SessionSettingsSchema,\n gitRepo: GitRepoInfoSchema.optional(),\n availableModels: z.array(AvailableModelConfigSchema).optional(),\n worktree: SessionWorktreeInfoSchema.optional(),\n});\n\nexport const WorkerStateInfoSchema = z.object({\n startedAt: z.string(),\n completedAt: z.string().optional(),\n exitCode: z.number().optional(),\n});\n\n// Mission snapshot schema (optional, only for orchestrator sessions)\nexport const MissionStateSchema = z.object({\n state: z.nativeEnum(MissionState),\n updatedAt: z.string().optional(),\n title: z.string().optional(),\n workingDirectory: z.string().optional(),\n features: z.array(MissionFeatureSchema),\n progressLog: z.array(ProgressLogEntrySchema),\n workerSessionIds: z.array(z.string()),\n workerStates: z.record(WorkerStateInfoSchema).optional(),\n tokenUsage: TokenUsageSchema.optional(),\n tokenUsageBySessionId: z.record(TokenUsageSchema).optional(),\n});\n\nexport const LoadSessionResultSchema = z.object({\n session: SessionSchema,\n hostId: HostIdSchema.optional(),\n mcpServers: McpServersSchema.optional(),\n pendingPermissions: z\n .array(\n RequestPermissionRequestParamsSchema.extend({\n requestId: z.string(),\n })\n )\n .optional(),\n pendingAskUserRequests: z\n .array(\n AskUserRequestParamsSchema.extend({\n requestId: z.string(),\n })\n )\n .optional(),\n settings: SessionSettingsSchema,\n isAgentLoopInProgress: z.boolean().optional(),\n queuedMessages: z\n .array(\n AddUserMessageRequestParamsSchema.extend({\n requestId: z.string(),\n })\n )\n .optional(),\n gitRepo: GitRepoInfoSchema.optional(),\n cwd: z.string().optional(),\n callingSessionId: z.string().optional(),\n callingToolUseId: z.string().optional(),\n availableModels: z.array(AvailableModelConfigSchema).optional(),\n // Token usage for the session (input, output, cache tokens)\n tokenUsage: TokenUsageSchema.optional(),\n // Mission state (only for orchestrator sessions with active missions)\n mission: MissionStateSchema.optional(),\n // Session type for mission decomposition (orchestrator or worker)\n decompSessionType: DecompSessionTypeSchema.optional(),\n loopState: LoopStateSchema.nullable().optional(),\n});\n\nexport const AddUserMessageResultSchema = z.object({});\n\nexport const ResolveQueuedUserMessageResultSchema = z.object({});\n\nexport const InterruptSessionResultSchema = z.object({});\n\nexport const UpdateSessionSettingsResultSchema = z.object({});\n\nexport const GetUserInfoResultSchema = z.object({\n userId: z.string(),\n orgId: z.string(),\n});\n\nexport const ValidateWorkingDirectoryResultSchema = z.object({\n isValid: z.boolean(),\n error: z.string().optional(),\n /**\n * The fully-resolved absolute path (tilde expanded, `..`/`.` normalized,\n * symlinks canonicalized). Set by daemons that support it when\n * `isValid === true`. Optional for backwards compatibility with daemons\n * that predate the field — callers should fall back to the original\n * user input when absent.\n */\n resolvedPath: z.string().optional(),\n});\n\nexport const InitializeSessionRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.INITIALIZE_SESSION),\n params: InitializeSessionRequestParamsSchema,\n});\n\nexport const LoadSessionRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.LOAD_SESSION),\n params: LoadSessionRequestParamsSchema,\n});\n\nexport const AddUserMessageRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.ADD_USER_MESSAGE),\n params: AddUserMessageRequestParamsSchema,\n});\n\nexport const ResolveQueuedUserMessageRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.RESOLVE_QUEUED_USER_MESSAGE),\n params: ResolveQueuedUserMessageRequestParamsSchema,\n });\n\nexport const InterruptSessionRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.INTERRUPT_SESSION),\n params: InterruptSessionRequestParamsSchema,\n});\n\nexport const CloseSessionRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.CLOSE_SESSION),\n params: CloseSessionRequestParamsSchema,\n});\n\nexport const KillWorkerSessionRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.KILL_WORKER_SESSION),\n params: KillWorkerSessionRequestParamsSchema,\n});\n\nexport const UpdateSessionSettingsRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.UPDATE_SESSION_SETTINGS),\n params: UpdateSessionSettingsRequestParamsSchema,\n });\n\n// MCP server management requests\nconst McpServerNameParamsSchema = z.object({\n serverName: McpServerNameSchema,\n});\n\n// MCP config mutations are applied via user-level overrides only.\nconst McpSettingsLevelSchema = z.literal(SettingsLevel.User);\n\nconst McpHttpServerAddFieldsSchema = McpHttpServerConfigFieldsSchema.extend({\n headers: z.record(z.string()).optional(),\n});\n\nconst McpStdioServerAddFieldsSchema = McpStdioServerConfigFieldsSchema.extend({\n env: z.record(z.string()).optional(),\n});\n\nexport const ToggleMcpServerRequestParamsSchema =\n McpServerNameParamsSchema.extend({\n enabled: z.boolean(),\n settingsLevel: McpSettingsLevelSchema,\n });\n\nconst ToggleMcpServerResultSchema = z.object({\n success: z.boolean(),\n});\n\nexport const ToggleMcpServerRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.TOGGLE_MCP_SERVER),\n params: ToggleMcpServerRequestParamsSchema,\n});\n\nexport const AuthenticateMcpServerRequestParamsSchema =\n McpServerNameParamsSchema.extend({});\n\nconst AuthenticateMcpServerResultSchema = z.object({\n success: z.boolean(),\n});\n\nexport const AuthenticateMcpServerRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.AUTHENTICATE_MCP_SERVER),\n params: AuthenticateMcpServerRequestParamsSchema,\n });\n\nexport const CancelMcpAuthRequestParamsSchema =\n McpServerNameParamsSchema.extend({});\n\nconst CancelMcpAuthResultSchema = z.object({\n success: z.boolean(),\n});\n\nexport const CancelMcpAuthRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.CANCEL_MCP_AUTH),\n params: CancelMcpAuthRequestParamsSchema,\n});\n\nexport const ClearMcpAuthRequestParamsSchema = McpServerNameParamsSchema.extend(\n {}\n);\n\nconst ClearMcpAuthResultSchema = z.object({\n success: z.boolean(),\n});\n\nexport const ClearMcpAuthRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.CLEAR_MCP_AUTH),\n params: ClearMcpAuthRequestParamsSchema,\n});\n\n// Submit MCP auth code (for remote sessions)\nexport const SubmitMcpAuthCodeRequestParamsSchema = z.object({\n serverName: McpServerNameSchema,\n code: z.string(),\n state: z.string(),\n});\n\nconst SubmitMcpAuthCodeResultSchema = z.object({\n success: z.boolean(),\n});\n\nexport const SubmitMcpAuthCodeRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.SUBMIT_MCP_AUTH_CODE),\n params: SubmitMcpAuthCodeRequestParamsSchema,\n});\n\nexport const SubmitMcpAuthCodeResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: SubmitMcpAuthCodeResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\n// Add MCP server request\nexport const AddMcpServerRequestParamsSchema = z\n .object({\n name: McpServerNameSchema,\n type: McpServerTypeSchema,\n })\n .merge(McpHttpServerAddFieldsSchema)\n .merge(McpStdioServerAddFieldsSchema);\n\nconst AddMcpServerResultSchema = z.object({\n success: z.boolean(),\n});\n\nexport const AddMcpServerRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.ADD_MCP_SERVER),\n params: AddMcpServerRequestParamsSchema,\n});\n\n// Remove MCP server request\nexport const RemoveMcpServerRequestParamsSchema =\n McpServerNameParamsSchema.extend({\n settingsLevel: McpSettingsLevelSchema,\n });\n\nconst RemoveMcpServerResultSchema = z.object({\n success: z.boolean(),\n});\n\nexport const RemoveMcpServerRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.REMOVE_MCP_SERVER),\n params: RemoveMcpServerRequestParamsSchema,\n});\n\n// List MCP registry request (returns available servers from hardcoded registry)\nexport const ListMcpRegistryRequestParamsSchema = z.object({});\n\nexport const ListMcpRegistryResultSchema = z.object({\n servers: z.array(McpRegistryServerSchema),\n});\n\nexport const ListMcpRegistryRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.LIST_MCP_REGISTRY),\n params: ListMcpRegistryRequestParamsSchema,\n});\n\n// List MCP tools request (returns all tools with enabled/disabled state)\nexport const ListMcpToolsRequestParamsSchema = z.object({});\n\nexport const ListMcpToolsResultSchema = z.object({\n tools: z.array(McpToolInfoSchema),\n});\n\nexport const ListMcpToolsRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.LIST_MCP_TOOLS),\n params: ListMcpToolsRequestParamsSchema,\n});\n\nconst ToolCatalogCategorySchema = z.enum(['read', 'edit', 'execute', 'other']);\n\nconst ExecToolInfoSchema = z.object({\n id: z.string(),\n llmId: z.string(),\n displayName: z.string(),\n description: z.string(),\n category: ToolCatalogCategorySchema,\n defaultAllowed: z.boolean(),\n currentlyAllowed: z.boolean(),\n});\n\nexport const ListToolsRequestParamsSchema =\n UpdateSessionSettingsRequestParamsSchema.pick({\n modelId: true,\n autonomyMode: true,\n interactionMode: true,\n autonomyLevel: true,\n specModeModelId: true,\n enabledToolIds: true,\n disabledToolIds: true,\n }).extend({\n skipPermissionsUnsafe: z.boolean().optional(),\n depth: z.number().int().min(0).optional(),\n });\n\nexport const ListToolsResultSchema = z.object({\n tools: z.array(ExecToolInfoSchema),\n});\n\nexport const ListToolsRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.LIST_TOOLS),\n params: ListToolsRequestParamsSchema,\n});\n\n// List MCP servers request (returns current server status, same shape as MCP_STATUS_CHANGED notification)\nexport const ListMcpServersRequestParamsSchema = z.object({});\n\nexport const ListMcpServersResultSchema = z.object({\n servers: z.array(McpServerStatusInfoSchema),\n summary: McpStatusSummarySchema,\n});\n\nexport const ListMcpServersRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.LIST_MCP_SERVERS),\n params: ListMcpServersRequestParamsSchema,\n});\n\n// Toggle MCP tool request (enable/disable a specific tool)\nexport const ToggleMcpToolRequestParamsSchema =\n McpServerNameParamsSchema.extend({\n toolName: z.string(),\n enabled: z.boolean(),\n });\n\nconst ToggleMcpToolResultSchema = z.object({\n success: z.boolean(),\n});\n\nexport const ToggleMcpToolRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.TOGGLE_MCP_TOOL),\n params: ToggleMcpToolRequestParamsSchema,\n});\n\n// List skills request (returns all available skills)\nconst ListSkillsRequestParamsSchema = z.object({});\n\n// Resource file in a skill folder (anything except SKILL.md)\nconst SkillResourceSchema = z.object({\n name: z.string(),\n path: z.string(),\n type: z.enum(['reference', 'asset']), // reference = .md files, asset = other files\n});\n\nexport const SkillInfoSchema = z.object({\n name: z.string(),\n description: z.string().optional(),\n location: z.nativeEnum(SkillLocation),\n filePath: z.string(),\n enabled: z.boolean().optional(),\n userInvocable: z.boolean().optional(),\n version: z.string().optional(),\n // Full SKILL.md content (markdown)\n content: z.string().optional(),\n // Other files in the skill folder\n resources: z.array(SkillResourceSchema).optional(),\n});\n\nconst ListSkillsResultSchema = z.object({\n skills: z.array(SkillInfoSchema),\n});\n\nexport const ListSkillsRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.LIST_SKILLS),\n params: ListSkillsRequestParamsSchema,\n});\n\n// List commands request (returns all custom slash commands)\nconst ListCommandsRequestParamsSchema = z.object({});\n\nexport const CustomCommandInfoSchema = z.object({\n name: z.string(),\n description: z.string(),\n argumentHint: z.string().optional(),\n // Whether the command is backed by an executable script (resolution runs it)\n isExecutable: z.boolean().optional(),\n});\n\nconst ListCommandsResultSchema = z.object({\n commands: z.array(CustomCommandInfoSchema),\n});\n\nexport const ListCommandsRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.LIST_COMMANDS),\n params: ListCommandsRequestParamsSchema,\n});\n\nconst GetContextStatsRequestParamsSchema = z.object({});\n\nexport { ContextStatsSchema as GetContextStatsResultSchema };\n\nexport const GetContextStatsRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.GET_CONTEXT_STATS),\n params: GetContextStatsRequestParamsSchema,\n});\n\nconst ContextBreakdownCategorySchema = z.object({\n name: z.string(),\n tokens: z.number(),\n colorKey: z.nativeEnum(ContextCategoryColorKey),\n});\n\nconst ContextBreakdownSkillEntrySchema = z.object({\n name: z.string(),\n location: z.nativeEnum(SkillLocation),\n tokens: z.number(),\n});\n\nconst ContextBreakdownMcpServerEntrySchema = z.object({\n name: z.string(),\n toolCount: z.number(),\n tokens: z.number(),\n});\n\nconst ContextBreakdownDroidEntrySchema = z.object({\n name: z.string(),\n location: z.nativeEnum(DroidLocation),\n tokens: z.number(),\n});\n\nconst GetContextBreakdownRequestParamsSchema = z.object({});\n\nexport const GetContextBreakdownResultSchema = z.object({\n modelId: z.string(),\n modelDisplayName: z.string(),\n contextBudget: z.number(),\n lastCallCompactionTokens: z.number().optional(),\n usedTokens: z.number(),\n freeTokens: z.number(),\n categories: z.array(ContextBreakdownCategorySchema),\n skills: z.array(ContextBreakdownSkillEntrySchema),\n mcpServers: z.array(ContextBreakdownMcpServerEntrySchema),\n droids: z.array(ContextBreakdownDroidEntrySchema),\n});\n\nexport const GetContextBreakdownRequestSchema = JsonRpcBaseRequestSchema.extend(\n {\n method: z.literal(DroidServerMethod.GET_CONTEXT_BREAKDOWN),\n params: GetContextBreakdownRequestParamsSchema,\n }\n);\n\n// Submit bug report request (creates and uploads bug report with session data)\nconst SubmitBugReportRequestParamsSchema = z.object({\n userComment: z.string(),\n clientLogs: z.string().optional(),\n});\n\nexport const SubmitBugReportResultSchema = z.object({\n bugReportId: z.string(),\n});\n\nexport const SubmitBugReportRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.SUBMIT_BUG_REPORT),\n params: SubmitBugReportRequestParamsSchema,\n});\n\n// Rewind schemas\n\nconst GetRewindInfoRequestParamsSchema = z.object({\n sessionId: z.string(),\n messageId: z.string(),\n});\n\nconst RewindFileSnapshotSchema = z.object({\n filePath: z.string(),\n contentHash: z.string(),\n size: z.number(),\n});\n\nconst RewindFileCreationSchema = z.object({\n filePath: z.string(),\n});\n\nconst RewindEvictedFileSchema = z.object({\n filePath: z.string(),\n reason: z.string(),\n});\n\nexport const GetRewindInfoResultSchema = z.object({\n availableFiles: z.array(RewindFileSnapshotSchema),\n createdFiles: z.array(RewindFileCreationSchema),\n evictedFiles: z.array(RewindEvictedFileSchema),\n});\n\nexport const GetRewindInfoRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.GET_REWIND_INFO),\n params: GetRewindInfoRequestParamsSchema,\n});\n\nconst ExecuteRewindRequestParamsSchema = z.object({\n sessionId: z.string(),\n messageId: z.string(),\n filesToRestore: z.array(RewindFileSnapshotSchema),\n filesToDelete: z.array(RewindFileCreationSchema),\n forkTitle: z.string(),\n});\n\nexport const ExecuteRewindResultSchema = z.object({\n newSessionId: z.string(),\n restoredCount: z.number(),\n deletedCount: z.number(),\n failedRestoreCount: z.number(),\n failedDeleteCount: z.number(),\n});\n\nexport const ExecuteRewindRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.EXECUTE_REWIND),\n params: ExecuteRewindRequestParamsSchema,\n});\n\n// Compact session schemas\n\nconst CompactSessionRequestParamsSchema = z.object({\n customInstructions: z.string().optional(),\n});\n\nexport const CompactSessionResultSchema = z.object({\n newSessionId: z.string(),\n removedCount: z.number(),\n});\n\nexport const CompactSessionRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.COMPACT_SESSION),\n params: CompactSessionRequestParamsSchema,\n});\n\nexport const CompactSessionResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: CompactSessionResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const ForkSessionResultSchema = z.object({\n newSessionId: z.string(),\n});\n\nexport const ForkSessionRequestParamsSchema = z.object({\n title: z.string().optional(),\n tags: z\n .array(\n z.object({ name: z.string(), metadata: z.record(z.string()).optional() })\n )\n .optional(),\n});\n\nexport const ForkSessionRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.FORK_SESSION),\n params: ForkSessionRequestParamsSchema,\n});\n\nexport const ForkSessionResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: ForkSessionResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\n// Rename Session\nexport const RenameSessionRequestParamsSchema = z.object({\n title: z.string(),\n});\n\nexport const RenameSessionResultSchema = z.object({\n success: z.boolean(),\n});\n\nexport const RenameSessionRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.RENAME_SESSION),\n params: RenameSessionRequestParamsSchema,\n});\n\nexport const RenameSessionResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: RenameSessionResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\n// Cache warmup\nexport const WarmupCacheRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DroidServerMethod.WARMUP_CACHE),\n params: z.object({}),\n});\n\nexport const WarmupCacheResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: z.object({}),\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const ClientRequestSchema = z.discriminatedUnion('method', [\n InitializeSessionRequestSchema,\n LoadSessionRequestSchema,\n InterruptSessionRequestSchema,\n CloseSessionRequestSchema,\n KillWorkerSessionRequestSchema,\n AddUserMessageRequestSchema,\n ResolveQueuedUserMessageRequestSchema,\n UpdateSessionSettingsRequestSchema,\n ToggleMcpServerRequestSchema,\n AuthenticateMcpServerRequestSchema,\n CancelMcpAuthRequestSchema,\n ClearMcpAuthRequestSchema,\n AddMcpServerRequestSchema,\n RemoveMcpServerRequestSchema,\n ListMcpRegistryRequestSchema,\n ListMcpToolsRequestSchema,\n ListToolsRequestSchema,\n ListMcpServersRequestSchema,\n ToggleMcpToolRequestSchema,\n SubmitMcpAuthCodeRequestSchema,\n ListSkillsRequestSchema,\n ListCommandsRequestSchema,\n GetContextStatsRequestSchema,\n GetContextBreakdownRequestSchema,\n SubmitBugReportRequestSchema,\n GetRewindInfoRequestSchema,\n ExecuteRewindRequestSchema,\n CompactSessionRequestSchema,\n ForkSessionRequestSchema,\n RenameSessionRequestSchema,\n WarmupCacheRequestSchema,\n]);\n\nexport const InitializeSessionResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: InitializeSessionResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const LoadSessionResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: LoadSessionResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const AddUserMessageResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: AddUserMessageResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const ResolveQueuedUserMessageResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: ResolveQueuedUserMessageResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const InterruptSessionResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: InterruptSessionResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const CloseSessionResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: CloseSessionResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const KillWorkerSessionResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: KillWorkerSessionResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const UpdateSessionSettingsResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: UpdateSessionSettingsResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const ToggleMcpServerResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: ToggleMcpServerResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const AuthenticateMcpServerResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: AuthenticateMcpServerResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const CancelMcpAuthResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: CancelMcpAuthResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const ClearMcpAuthResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: ClearMcpAuthResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const AddMcpServerResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: AddMcpServerResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const RemoveMcpServerResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: RemoveMcpServerResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const ListMcpRegistryResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: ListMcpRegistryResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const ListMcpToolsResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: ListMcpToolsResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const ListToolsResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: ListToolsResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const ListMcpServersResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: ListMcpServersResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const ToggleMcpToolResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: ToggleMcpToolResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const ListSkillsResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: ListSkillsResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const ListCommandsResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: ListCommandsResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const GetContextStatsResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: ContextStatsSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const GetContextBreakdownResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: GetContextBreakdownResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const SubmitBugReportResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: SubmitBugReportResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const GetRewindInfoResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: GetRewindInfoResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const ExecuteRewindResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: ExecuteRewindResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n","/** Named schedule cadences */\nexport enum AutomationScheduleCadence {\n Daily = 'daily',\n Weekly = 'weekly',\n Monthly = 'monthly',\n}\n\n/** Types of validation issues */\nexport enum AutomationValidationIssueType {\n MissingFile = 'missing_file',\n InvalidFrontmatter = 'invalid_frontmatter',\n InvalidSchedule = 'invalid_schedule',\n ParseError = 'parse_error',\n}\n\n// =============================================================================\n// Control-plane enums\n// =============================================================================\n\n/**\n * Control-plane error codes.\n *\n * These codes enable deterministic error handling across CLI/desktop surfaces.\n */\nexport enum AutomationErrorCode {\n /** Automation with the given ID was not found */\n NotFound = 'AUTOMATION_NOT_FOUND',\n /** Automation already exists with the given ID */\n AlreadyExists = 'AUTOMATION_ALREADY_EXISTS',\n /** Invalid automation ID format */\n InvalidId = 'INVALID_AUTOMATION_ID',\n /** Invalid configuration (e.g., invalid schedule) */\n InvalidConfig = 'INVALID_AUTOMATION_CONFIG',\n /** Automation is already in the requested state */\n AlreadyInState = 'ALREADY_IN_STATE',\n /** A run is already in progress for this automation */\n RunInProgress = 'RUN_IN_PROGRESS',\n /** Heartbeat execution failed */\n ExecutionFailed = 'EXECUTION_FAILED',\n /** General internal error */\n InternalError = 'INTERNAL_ERROR',\n}\n\n/** Privacy level for an automation */\nexport enum AutomationPrivacyLevel {\n /** Only visible to the creator */\n Private = 'private',\n /** Visible to all members of the organization */\n Organization = 'organization',\n}\n","import { z } from 'zod';\n\nimport { AutomationPrivacyLevel } from './automations-enums.js';\n\nexport const AutomationCreatedBySchema = z.object({\n name: z.string(),\n email: z.string().optional(),\n avatarUrl: z.string().optional(),\n});\n\nexport type AutomationCreatedBy = z.infer<typeof AutomationCreatedBySchema>;\n\n/**\n * Schema for the on-disk YAML metadata in HEARTBEAT.md frontmatter.\n *\n * This is the flat representation stored between `---` delimiters.\n * Differs from AutomationConfig in that `schedule` is a plain string\n * (e.g. \"daily\", \"0 9 * * 1-5\") rather than the runtime\n * `{ cadence: string }` shape.\n */\nexport const AutomationsHeartbeatSchema = z.object({\n id: z.string().uuid().optional(),\n name: z.string(),\n description: z.string().optional(),\n schedule: z.string(),\n model: z.string().optional(),\n tags: z.array(z.string()).optional(),\n paused: z.boolean().optional(),\n privacyLevel: z.nativeEnum(AutomationPrivacyLevel).optional(),\n createdBy: AutomationCreatedBySchema.optional(),\n forkedFrom: z.string().optional(),\n});\n\nexport type AutomationsHeartbeat = z.infer<typeof AutomationsHeartbeatSchema>;\n","import { z } from 'zod';\n\nconst CronExpressionSchema = z\n .string()\n .trim()\n .regex(/^(\\S+\\s+){4}\\S+$/, 'Expected a standard 5-field cron expression');\n\nexport const CronCreateToolInputSchema = z.object({\n expression: CronExpressionSchema.describe(\n 'Standard 5-field cron expression in local time.'\n ),\n job: z.object({\n type: z.literal('prompt'),\n prompt: z.string().trim().min(1),\n }),\n target: z\n .object({\n type: z.literal('same_session'),\n })\n .optional(),\n recurring: z.boolean().describe('true for recurring tasks, false for once'),\n});\n\nexport const CronDeleteToolInputSchema = z.object({\n cronId: z.string().length(8),\n});\n\nexport const CronListToolInputSchema = z.object({});\n","import { z } from 'zod';\n\nimport { DecompSessionType } from './enums.js';\nimport { HostIdSchema } from './host.js';\n\n/**\n * Auto-stage for session title generation.\n * Tracks whether the title was generated from the first message or first file edit.\n */\nexport enum SessionTitleAutoStage {\n FirstMessage = 'first_message',\n FirstFileEdit = 'first_file_edit',\n}\n\n/**\n * Schema for the first line (session_start event) of a session .jsonl file.\n * This is the canonical definition of the session summary format on disk.\n */\nexport const SessionSummaryEventSchema = z.object({\n type: z.literal('session_start'),\n id: z.string(),\n title: z.string(),\n sessionTitle: z.string().optional(),\n isSessionTitleManuallySet: z.boolean().optional(),\n sessionTitleAutoStage: z.nativeEnum(SessionTitleAutoStage).optional(),\n owner: z.string(),\n parent: z.string().nullable().optional(),\n version: z.number().optional(),\n cwd: z.string().optional(),\n lastCwd: z.string().optional(),\n decompSessionType: z.nativeEnum(DecompSessionType).optional(),\n decompMissionId: z.string().optional(),\n callingSessionId: z.string().optional(),\n callingToolUseId: z.string().optional(),\n // Durable execution-store identity for this local session file.\n hostId: HostIdSchema.optional(),\n});\n\nexport type SessionSummaryEvent = z.infer<typeof SessionSummaryEventSchema>;\n","import { z } from 'zod';\n\nexport const GenericToolExecutionOutputSchema = z.union([\n z.record(z.string(), z.any()),\n z.string(),\n z.array(z.union([z.string(), z.record(z.string(), z.any())])),\n]);\n\nexport type GenericToolExecutionOutput = z.infer<\n typeof GenericToolExecutionOutputSchema\n>;\n","// `TokenUsageSchema` is imported from `./session.js` rather than redeclared\n// here, to avoid duplicate barrel exports for the same shape.\n\nimport { z } from 'zod';\n\nimport { ApiProvider, ModelProvider, ReasoningEffort } from './enums.js';\nimport { TokenUsageSchema } from './session.js';\nimport { SessionTagSchema } from './session.js';\nimport {\n CompactionModelSchema,\n SessionDefaultSettingsSchema,\n} from './settings.js';\n\n/**\n * Cached pick written once per Factory Router session (or overridden by the\n * upgrade tool). Resumes + sub-agents read it instead of re-routing.\n */\nexport const EffectiveFactoryRouterModelSchema = z\n .object({\n modelId: z.string(),\n apiProvider: z.nativeEnum(ApiProvider),\n reasoningEffort: z.nativeEnum(ReasoningEffort),\n })\n .strict();\n\n/**\n * Session settings schema.\n * Settings persisted to .settings.json for each session.\n */\nexport const SessionSettingsSchema = SessionDefaultSettingsSchema.extend({\n providerLock: z.nativeEnum(ModelProvider).optional(),\n providerLockTimestamp: z.string().optional(),\n apiProviderLock: z.nativeEnum(ApiProvider).optional(),\n assistantActiveTimeMs: z.number().optional(),\n tokenUsage: TokenUsageSchema.optional(),\n inclusiveTokenUsage: TokenUsageSchema.optional(),\n childInclusiveTokenUsageBySessionId: z.record(TokenUsageSchema).optional(),\n\n /**\n * ISO timestamp when the session was archived.\n * Presence indicates archived status (omit to unarchive).\n */\n archivedAt: z.string().optional(),\n\n /** Session tags for categorization */\n tags: z.array(SessionTagSchema).optional(),\n\n /** Additional tool IDs enabled for this session */\n enabledToolIds: z.array(z.string()).optional(),\n\n /** Tool IDs explicitly disabled for this session */\n disabledToolIds: z.array(z.string()).optional(),\n\n /** Model to use for compaction; \"current-model\" follows the session/spec model. */\n compactionModel: CompactionModelSchema.optional(),\n /** Whether threshold-based automatic compaction is enabled for this session */\n compactionThresholdCheckEnabled: z.boolean().optional(),\n\n effectiveFactoryRouterModel: EffectiveFactoryRouterModelSchema.optional(),\n});\n","/**\n * The execution location for an tool:\n * - Client: The tool is executed in the UI context (e.g. change the page).\n * - Server: The tool is executed server-side (e.g. a code search).\n * - Both: The tool can be executed in either environment depending on runtime logic.\n */\nexport enum ToolExecutionLocation {\n Client = 'client',\n Server = 'server',\n Both = 'both',\n}\n\n/**\n * Common status values for tool execution.\n * Used for tracking the progress and final outcome of an tool's execution.\n */\nexport enum ToolStatus {\n Pending = 'pending',\n Running = 'running',\n Completed = 'completed',\n Failed = 'failed',\n}\nexport enum RiskLevel {\n LOW = 'low',\n MEDIUM = 'medium',\n HIGH = 'high',\n}\n","import { z } from 'zod';\n\nimport { RiskLevel } from './tools-enums.js';\n\n// ============================================================\n// Common Tool Input Schemas\n// These schemas define the input parameters for tools and are\n// shared between droid-core (execution) and component-library (rendering)\n// ============================================================\n\n/**\n * Edit tool input (Anthropic-style find/replace)\n */\nexport const EditToolInputSchema = z.object({\n file_path: z.string(),\n old_str: z.string(),\n new_str: z.string(),\n change_all: z.boolean().optional(),\n});\n\n/**\n * Create tool input\n */\nexport const CreateToolInputSchema = z.object({\n file_path: z.string(),\n content: z.string(),\n});\n\n/**\n * Read tool input\n */\nexport const ReadToolInputSchema = z.object({\n file_path: z.string(),\n offset: z.number().optional(),\n limit: z.number().optional(),\n image_quality: z.enum(['default', 'high']).optional(),\n});\n\n/**\n * Execute tool input\n */\nexport const ExecuteToolInputSchema = z.object({\n summary: z.string().optional(),\n command: z.string(),\n timeout: z.number().optional(),\n riskLevel: z.nativeEnum(RiskLevel).optional(),\n riskLevelReason: z.string().optional(),\n fireAndForget: z.boolean().optional(),\n});\n\n/**\n * Glob tool input\n */\nexport const GlobToolInputSchema = z.object({\n patterns: z.array(z.string()).optional(),\n folder: z.string().optional(),\n excludePatterns: z.array(z.string()).optional(),\n});\n\n/**\n * Grep tool input\n */\nexport const GrepToolInputSchema = z.object({\n pattern: z.string(),\n path: z.string().optional(),\n glob_pattern: z.string().optional(),\n case_insensitive: z.boolean().optional(),\n output_mode: z.enum(['file_paths', 'content']).optional(),\n context: z.number().optional(),\n context_before: z.number().optional(),\n context_after: z.number().optional(),\n line_numbers: z.boolean().optional(),\n head_limit: z.number().optional(),\n});\n\n/**\n * LS tool input\n */\nexport const LSToolInputSchema = z.object({\n directory_path: z.string().optional(),\n ignorePatterns: z.array(z.string()).optional(),\n});\n\n/**\n * WebSearch tool input\n */\nexport const WebSearchToolInputSchema = z.object({\n query: z.string(),\n numResults: z.number().optional(),\n includeDomains: z.array(z.string()).optional(),\n excludeDomains: z.array(z.string()).optional(),\n category: z.string().optional(),\n});\n\n/**\n * FetchUrl tool input\n */\nexport const FetchUrlToolInputSchema = z.object({\n url: z.string(),\n});\n\n/**\n * Task (subagent) tool input\n */\nexport const TaskToolInputSchema = z.object({\n subagent_type: z\n .string()\n .describe(\n 'The custom droid name/identifier to run (must match an available droid; do not guess)'\n ),\n description: z\n .string()\n .describe('A short (3-5 word) description of the task (used in UI)'),\n prompt: z\n .string()\n .describe('The full task prompt for the subagent to execute'),\n});\n\n/**\n * TodoWrite tool input\n */\nexport const TodoWriteToolInputSchema = z.object({\n todos: z.string(),\n});\n\n/**\n * ExitSpecMode tool input\n */\nexport const ExitSpecModeToolInputSchema = z.object({\n plan: z.string(),\n title: z.string().optional(),\n});\n\n/**\n * Skill tool input\n */\nexport const SkillToolInputSchema = z.object({\n skill: z.string(),\n});\n\n/**\n * ApplyPatch tool input\n */\nexport const ApplyPatchToolInputSchema = z.object({\n file_path: z.string(),\n patch: z.string(),\n});\n\n/**\n * ProposeMission tool input\n */\nexport const ProposeMissionToolInputSchema = z.object({\n proposal: z.string(),\n title: z.string().optional(),\n});\n\n// ============================================================\n// Common Tool Result Schemas\n// These define the shape of data returned by tools\n// ============================================================\n\n/**\n * Diff line for Edit/Create tool results\n */\nexport const DiffLineSchema = z.object({\n type: z.enum(['added', 'removed', 'unchanged', 'context']),\n content: z.string(),\n lineNumber: z\n .object({\n old: z.number().optional(),\n new: z.number().optional(),\n })\n .optional(),\n});\n\n/**\n * Common result payload for file operation tools (Edit, Create, ApplyPatch)\n */\nexport const FileOperationResultSchema = z.object({\n success: z.boolean().optional(),\n diff: z.string().optional(),\n diffLines: z.array(DiffLineSchema).optional(),\n content: z.string().optional(),\n message: z.string().optional(),\n file_path: z.string().optional(),\n filePath: z.string().optional(),\n});\n","import { z } from 'zod';\n\n/**\n * Schema for a resolved binary download plan.\n * Contains a version and fully-qualified URLs for the binary and its checksum.\n * Used by both the backend API response and internal provisioning.\n */\nexport const BinaryDownloadPlanSchema = z.object({\n version: z.string(),\n binaryUrl: z.string(),\n checksumUrl: z.string(),\n});\n","import { z } from 'zod';\n\n/**\n * Token usage schema for tracking LLM token consumption.\n */\nexport const TokenUsageSchema = z.object({\n inputTokens: z.number().int(),\n outputTokens: z.number().int(),\n cacheCreationInputTokens: z.number().int(),\n cacheReadInputTokens: z.number().int(),\n thinkingTokens: z.number().int(),\n factoryCredits: z.number().optional(),\n});\n","// Internal barrel for the daemon protocol source-of-truth modules.\n// NOT yet wired into the public package API (src/index.ts).\n\nexport * from './enums.js';\nexport * from './bug-report.js';\nexport * from './management.js';\nexport * from './skills.js';\nexport * from './commands.js';\nexport * from './relay.js';\nexport * from './terminal.js';\nexport * from './connection.js';\nexport * from './mcp.js';\nexport * from './automations-enums.js';\nexport * from './automations.js';\nexport * from './crons.js';\nexport * from './plugins.js';\nexport * from './settings.js';\nexport * from './droid.js';\n","// Connection-level methods (shared across all daemon connections)\nexport enum DaemonConnectionMethod {\n AUTHENTICATE = 'daemon.authenticate',\n LOGOUT = 'daemon.logout',\n}\n\n// Connection-level events (notifications from server to client)\nexport enum DaemonConnectionEvent {\n CONNECTION_STATUS = 'daemon.connection_status',\n}\n\n/**\n * Connection state for daemon WebSocket connections.\n *\n * This enum contains two categories of states:\n *\n * **WebSocket connection states** (actual transport-level states):\n * - `Disconnected` - No active WebSocket connection\n * - `Connecting` - WebSocket handshake in progress\n * - `Connected` - WebSocket is open and ready\n * - `Closing` - WebSocket is closing\n *\n * **UI/UX display states** (for user feedback, not actual WS state):\n * - `LookingUpMachine` - Checking if session exists locally or in backend\n * - `StartingMachine` - Waiting for remote sandbox/machine to start before connecting\n * - `LoadingSession` - WebSocket connected, but loading session state from daemon\n * - `AuthenticationFailed` - Connection succeeded but authentication was rejected\n */\nexport enum ConnectionState {\n // WebSocket transport states\n Disconnected = 'disconnected',\n Connecting = 'connecting',\n Connected = 'connected',\n Closing = 'closing',\n\n // UI/UX display states (WebSocket may be connected)\n LookingUpMachine = 'looking_up_machine',\n StartingMachine = 'starting_machine',\n LoadingSession = 'loading_session',\n /** @deprecated Use ConnectionStatus.lastFailure instead. Will be removed in a future version. */\n AuthenticationFailed = 'authentication_failed',\n}\n\n// Terminal-specific methods\nexport enum DaemonTerminalMethod {\n CREATE = 'daemon.create_terminal',\n WRITE_DATA = 'daemon.write_terminal_data',\n RESIZE = 'daemon.resize_terminal',\n CLOSE = 'daemon.close_terminal',\n LIST = 'daemon.list_terminals',\n}\n\n// Terminal-specific events (notifications from server to client)\nexport enum DaemonTerminalEvent {\n DATA = 'daemon.terminal_data',\n EXIT = 'daemon.terminal_exit',\n ERROR = 'daemon.terminal_error',\n}\n\n// Droid-specific methods (for daemon-managed droid sessions)\nexport enum DaemonDroidMethod {\n INITIALIZE_SESSION = 'daemon.initialize_session',\n LOAD_SESSION = 'daemon.load_session',\n ADD_USER_MESSAGE = 'daemon.add_user_message',\n RESOLVE_QUEUED_USER_MESSAGE = 'daemon.resolve_queued_user_message',\n INTERRUPT_SESSION = 'daemon.interrupt_session',\n CLOSE_SESSION = 'daemon.close_session',\n KILL_WORKER_SESSION = 'daemon.kill_worker_session',\n LIST_OPENED_SESSIONS = 'daemon.list_opened_sessions',\n LIST_AVAILABLE_SESSIONS = 'daemon.list_available_sessions',\n GET_SESSION_MESSAGES = 'daemon.get_session_messages',\n UPDATE_SESSION_SETTINGS = 'daemon.update_session_settings',\n VALIDATE_WORKING_DIRECTORY = 'daemon.validate_working_directory',\n GET_MCP_CONFIG = 'daemon.get_mcp_config',\n UPDATE_MCP_CONFIG = 'daemon.update_mcp_config',\n TOGGLE_MCP_SERVER = 'daemon.toggle_mcp_server',\n AUTHENTICATE_MCP_SERVER = 'daemon.authenticate_mcp_server',\n CANCEL_MCP_AUTH = 'daemon.cancel_mcp_auth',\n CLEAR_MCP_AUTH = 'daemon.clear_mcp_auth',\n SUBMIT_MCP_AUTH_CODE = 'daemon.submit_mcp_auth_code',\n LIST_FILES = 'daemon.list_files',\n SEARCH_FILES = 'daemon.search_files',\n ADD_MCP_SERVER = 'daemon.add_mcp_server',\n REMOVE_MCP_SERVER = 'daemon.remove_mcp_server',\n LIST_MCP_REGISTRY = 'daemon.list_mcp_registry',\n LIST_MCP_TOOLS = 'daemon.list_mcp_tools',\n LIST_MCP_SERVERS = 'daemon.list_mcp_servers',\n TOGGLE_MCP_TOOL = 'daemon.toggle_mcp_tool',\n SEARCH_SESSIONS = 'daemon.search_sessions',\n ARCHIVE_SESSION = 'daemon.archive_session',\n UNARCHIVE_SESSION = 'daemon.unarchive_session',\n RENAME_SESSION = 'daemon.rename_session',\n LIST_SKILLS = 'daemon.list_skills',\n LIST_COMMANDS = 'daemon.list_commands',\n LIST_AVAILABLE_PLUGINS = 'daemon.list_available_plugins',\n LIST_INSTALLED_PLUGINS = 'daemon.list_installed_plugins',\n INSTALL_PLUGIN = 'daemon.install_plugin',\n UNINSTALL_PLUGIN = 'daemon.uninstall_plugin',\n UPDATE_PLUGIN = 'daemon.update_plugin',\n LIST_MARKETPLACES = 'daemon.list_marketplaces',\n ADD_MARKETPLACE = 'daemon.add_marketplace',\n REMOVE_MARKETPLACE = 'daemon.remove_marketplace',\n UPDATE_MARKETPLACE = 'daemon.update_marketplace',\n LIST_AUTOMATIONS = 'daemon.list_automations',\n RUN_AUTOMATION = 'daemon.run_automation',\n PAUSE_AUTOMATION = 'daemon.pause_automation',\n RESUME_AUTOMATION = 'daemon.resume_automation',\n GET_AUTOMATION_HISTORY = 'daemon.get_automation_history',\n GET_AUTOMATION_VISUAL = 'daemon.get_automation_visual',\n CREATE_AUTOMATION = 'daemon.create_automation',\n UPDATE_AUTOMATION_MODEL = 'daemon.update_automation_model',\n UPDATE_AUTOMATION_PRIVACY = 'daemon.update_automation_privacy',\n RENAME_AUTOMATION = 'daemon.rename_automation',\n DELETE_AUTOMATION = 'daemon.delete_automation',\n FORK_AUTOMATION = 'daemon.fork_automation',\n LIST_CRONS = 'daemon.list_crons',\n CREATE_CRON = 'daemon.create_cron',\n UPDATE_CRON = 'daemon.update_cron',\n DELETE_CRON = 'daemon.delete_cron',\n HOLD_SESSION_CRONS = 'daemon.hold_session_crons',\n RESUME_SESSION_CRONS = 'daemon.resume_session_crons',\n GET_GIT_DIFF = 'daemon.get_git_diff',\n GIT_PUSH = 'daemon.git_push',\n GIT_COMMIT = 'daemon.git_commit',\n CREATE_PR = 'daemon.create_pr',\n GET_SEMANTIC_DIFF_CACHE = 'daemon.get_semantic_diff_cache',\n SAVE_SEMANTIC_DIFF_CACHE = 'daemon.save_semantic_diff_cache',\n GENERATE_SEMANTIC_DIFF = 'daemon.generate_semantic_diff',\n GET_PROXY_TOKEN = 'daemon.get_proxy_token',\n GET_WORKSPACE_FILE_CONTENT = 'daemon.get_workspace_file_content',\n SUBMIT_BUG_REPORT = 'daemon.submit_bug_report',\n GET_REWIND_INFO = 'daemon.get_rewind_info',\n EXECUTE_REWIND = 'daemon.execute_rewind',\n COMPACT_SESSION = 'daemon.compact_session',\n FORK_SESSION = 'daemon.fork_session',\n WARMUP_CACHE = 'daemon.warmup_cache',\n GET_CONTEXT_BREAKDOWN = 'daemon.get_context_breakdown',\n}\n\nexport enum DaemonGetGitDiffUnavailableReason {\n MissingSessionCwd = 'missing_session_cwd',\n NotGitRepository = 'not_git_repository',\n GitNotAvailable = 'git_not_available',\n Unknown = 'unknown',\n}\n\n// Daemon-only settings methods (handled by daemon, not forwarded to CLI)\nexport enum DaemonSettingsMethod {\n GET_DEFAULT_SETTINGS = 'daemon.get_default_settings',\n UPDATE_SESSION_DEFAULTS = 'daemon.update_session_defaults',\n}\n\n// Daemon management methods (lifecycle operations like updates, restarts)\nexport enum DaemonManagementMethod {\n TRIGGER_UPDATE = 'daemon.trigger_update',\n INSTALL_SSH_KEY = 'daemon.install_ssh_key',\n}\n\n// Daemon relay methods (request/response RPCs for relay lifecycle)\nexport enum DaemonRelayMethod {\n START = 'daemon.relay.start',\n STOP = 'daemon.relay.stop',\n GET_STATUS = 'daemon.relay.get_status',\n}\n\n// Daemon relay events (notifications from server to client, e.g. external disconnects)\nexport enum DaemonRelayEvent {\n STATUS_CHANGED = 'daemon.relay.status_changed',\n}\n\nexport enum DaemonCronEvent {\n STATE_CHANGED = 'daemon.cron.state_changed',\n}\n\n// Session notification types defined at the daemon level\nexport enum DaemonSpecificNotificationType {\n SESSION_INACTIVITY = 'session_inactivity',\n SESSION_PROCESS_EXITED = 'session_process_exited',\n SESSION_CLOSED = 'session_closed',\n SESSION_UNSUBSCRIBED = 'session_unsubscribed',\n CHILD_SESSION_AVAILABLE = 'child_session_available',\n}\n\n// Droid-specific events (notifications and requests from server to client)\nexport enum DaemonDroidEvent {\n SESSION_NOTIFICATION = 'daemon.session_notification',\n REQUEST_PERMISSION = 'daemon.request_permission',\n ASK_USER = 'daemon.ask_user',\n}\n\n// Terminal creation errors\nexport enum CreateTerminalError {\n TerminalIdExists = 'TerminalIdExists',\n}\n\n// MCP Config Source\nexport enum McpConfigSource {\n User = 'user',\n Project = 'project',\n}\n\n// Tunnel message methods (for WebSocket tunnel protocol)\n\n/**\n * Tracks the loading state of a session in the daemon.\n *\n * State Transitions (Event-Driven, Non-Linear):\n * - New session: NotLoaded → Loading → Loaded\n * - Existing session (direct URL): NotLoaded → Loading → Loaded\n * - Reconnection: Loaded → NotLoaded → Loading → Loaded\n * - After inactivity: Loaded → NotLoaded → Loading → Loaded\n *\n * Entry Points:\n * - NotLoaded: Default state, or via disconnect/inactivity/unsubscribed\n * - Loading: Via markSessionLoading() for new sessions, existing sessions, reloads, or reconnections\n * - Loaded: Via initializeSession() (new) or loadSession() (existing/reload)\n */\nexport enum SessionLoadState {\n /**\n * Session doesn't exist in daemon state yet, or became inactive.\n *\n * Effect: Default state for sessions not yet created or loaded.\n * Next State:\n * - Call markSessionLoading() → Loading (for all sessions)\n */\n NotLoaded = 'NOT_LOADED',\n\n /**\n * Session is fully loaded and ready for use in daemon state.\n *\n * Effect: Normal operation, all features available, UI fully interactive.\n * Next State:\n * - Via WebSocket disconnect → NotLoaded (connection lost, then reconnect flow starts)\n * - Via daemon notification → NotLoaded (inactivity timeout or unsubscribed)\n * - Via markSessionLoading() → Loading (manual reload without disconnect)\n */\n Loaded = 'LOADED',\n\n /**\n * Session is being loaded, initialized, or reloaded.\n *\n * Effect: Shows loading UI. Session may be new or existing.\n * Next State: When initializeSession() or loadSession() completes → Loaded\n * Usage: New session creation, initial load of existing session, reconnection, manual reload, or reload after inactive.\n */\n Loading = 'LOADING',\n}\n\nexport enum SessionSearchDocKind {\n MessageText = 'message_text',\n Document = 'document',\n ToolUse = 'tool_use',\n ToolResult = 'tool_result',\n}\n","import z from 'zod';\n\nimport { JsonRpcBaseRequestSchema } from '../json-rpc.js';\nimport { DaemonDroidMethod } from './enums.js';\n\n// SUBMIT_BUG_REPORT - create and upload a bug report\nconst DaemonSubmitBugReportRequestParamsSchema = z.object({\n sessionId: z.string(),\n userComment: z.string(),\n clientLogs: z.string().optional(),\n});\n\nexport const DaemonSubmitBugReportRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.SUBMIT_BUG_REPORT),\n params: DaemonSubmitBugReportRequestParamsSchema,\n });\n\nexport const DaemonSubmitBugReportResultSchema = z.object({\n bugReportId: z.string(),\n});\n","/**\n * Daemon management schemas.\n * These cover daemon lifecycle operations (updates, restarts, etc.)\n * that are not tied to specific droid sessions or settings.\n */\nimport z from 'zod';\n\nimport {\n JsonRpcBaseRequestSchema,\n JsonRpcBaseResponseFailureSchema,\n JsonRpcBaseResponseSuccessSchema,\n} from '../json-rpc.js';\nimport { DaemonManagementMethod } from './enums.js';\n\n// Trigger update schemas\nconst DaemonTriggerUpdateRequestParamsSchema = z.object({});\n\nexport const DaemonTriggerUpdateRequestSchema = JsonRpcBaseRequestSchema.extend(\n {\n method: z.literal(DaemonManagementMethod.TRIGGER_UPDATE),\n params: DaemonTriggerUpdateRequestParamsSchema,\n }\n);\n\nexport const DaemonTriggerUpdateResultSchema = z.object({\n triggered: z.boolean(),\n message: z.string().optional(),\n});\n\nexport const DaemonTriggerUpdateResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: DaemonTriggerUpdateResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\n// Install SSH key schemas\nconst DaemonInstallSshKeyRequestParamsSchema = z.object({\n publicKey: z.string().min(1),\n});\n\nexport const DaemonInstallSshKeyRequestSchema = JsonRpcBaseRequestSchema.extend(\n {\n method: z.literal(DaemonManagementMethod.INSTALL_SSH_KEY),\n params: DaemonInstallSshKeyRequestParamsSchema,\n }\n);\n\nexport const DaemonInstallSshKeyResultSchema = z.object({\n installed: z.boolean(),\n});\n","import z from 'zod';\n\nimport { SkillInfoSchema } from '../client.js';\nimport { JsonRpcBaseRequestSchema } from '../json-rpc.js';\nimport { DaemonDroidMethod } from './enums.js';\n\n// LIST_SKILLS - get all available skills for a session\nconst DaemonListSkillsRequestParamsSchema = z.object({\n sessionId: z.string(),\n});\n\nexport const DaemonListSkillsRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.LIST_SKILLS),\n params: DaemonListSkillsRequestParamsSchema,\n});\n\nexport const DaemonListSkillsResultSchema = z.object({\n skills: z.array(SkillInfoSchema),\n});\n","import { z } from 'zod';\n\nimport { CustomCommandInfoSchema } from '../client.js';\nimport { JsonRpcBaseRequestSchema } from '../json-rpc.js';\nimport { DaemonDroidMethod } from './enums.js';\n\n// LIST_COMMANDS - get all custom slash commands for a session\nconst DaemonListCommandsRequestParamsSchema = z.object({\n sessionId: z.string(),\n});\n\nexport const DaemonListCommandsRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.LIST_COMMANDS),\n params: DaemonListCommandsRequestParamsSchema,\n});\n\nexport const DaemonListCommandsResultSchema = z.object({\n commands: z.array(CustomCommandInfoSchema),\n});\n","/**\n * Daemon relay schemas.\n * These cover relay connection lifecycle operations for BYOM computers.\n */\nimport z from 'zod';\n\nimport {\n JsonRpcBaseNotificationSchema,\n JsonRpcBaseRequestSchema,\n JsonRpcBaseResponseFailureSchema,\n JsonRpcBaseResponseSuccessSchema,\n} from '../json-rpc.js';\nimport { DaemonRelayEvent, DaemonRelayMethod } from './enums.js';\n\n// daemon.relay.start\nexport const DaemonRelayStartRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonRelayMethod.START),\n params: z.object({}),\n});\n\nexport const DaemonRelayStartResultSchema = z.object({\n relayUrl: z.string(),\n computerId: z.string(),\n});\n\nexport const DaemonRelayStartResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: DaemonRelayStartResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\n// daemon.relay.stop\nexport const DaemonRelayStopRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonRelayMethod.STOP),\n params: z.object({}),\n});\n\nexport const DaemonRelayStopResultSchema = z.object({}).strict();\n\nexport const DaemonRelayStopResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: DaemonRelayStopResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\n// daemon.relay.get_status\nexport const DaemonRelayGetStatusRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonRelayMethod.GET_STATUS),\n params: z.object({}),\n });\n\nexport const DaemonRelayGetStatusResultSchema = z.object({\n connected: z.boolean(),\n url: z.string().optional(),\n clientCount: z.number().optional(),\n computerId: z.string().optional(),\n});\n\nexport const DaemonRelayGetStatusResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: DaemonRelayGetStatusResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\n// daemon.relay.status_changed (push notification for external state changes, e.g. unexpected disconnects)\nexport const DaemonRelayStatusChangedNotificationParamsSchema = z.object({\n connected: z.boolean(),\n url: z.string().optional(),\n clientCount: z.number().optional(),\n computerId: z.string().optional(),\n});\n\nexport const DaemonRelayStatusChangedNotificationSchema =\n JsonRpcBaseNotificationSchema.extend({\n method: z.literal(DaemonRelayEvent.STATUS_CHANGED),\n params: DaemonRelayStatusChangedNotificationParamsSchema,\n });\n","import z from 'zod';\n\nimport {\n JsonRpcBaseRequestSchema,\n JsonRpcBaseResponseSuccessSchema,\n JsonRpcBaseResponseFailureSchema,\n} from '../json-rpc.js';\nimport {\n DaemonTerminalMethod,\n DaemonTerminalEvent,\n CreateTerminalError,\n} from './enums.js';\n\n// Terminal request params schemas\nexport const CreateTerminalRequestParamsSchema = z.object({\n terminalId: z.string(),\n cols: z.number().optional(),\n rows: z.number().optional(),\n cwd: z.string().optional(),\n env: z.record(z.string()).optional(),\n});\n\nexport const WriteDataRequestParamsSchema = z.object({\n terminalId: z.string(),\n data: z.string(),\n});\n\nexport const ResizeRequestParamsSchema = z.object({\n terminalId: z.string(),\n cols: z.number(),\n rows: z.number(),\n});\n\nexport const CloseTerminalRequestParamsSchema = z.object({\n terminalId: z.string(),\n});\n\nexport const ListTerminalsRequestParamsSchema = z.object({});\n\n// Terminal result schemas\nexport const CreateTerminalResultSchema = z.discriminatedUnion('success', [\n z.object({\n success: z.literal(true),\n }),\n z.object({\n success: z.literal(false),\n error: z.nativeEnum(CreateTerminalError),\n }),\n]);\n\nexport const WriteDataResultSchema = z.object({\n success: z.boolean(),\n});\n\nexport const ResizeResultSchema = z.object({\n success: z.boolean(),\n});\n\nexport const CloseTerminalResultSchema = z.object({\n success: z.boolean(),\n});\n\nexport const TerminalInfoSchema = z.object({\n id: z.string(),\n pid: z.number().nullable(),\n cols: z.number(),\n rows: z.number(),\n createdAt: z.coerce.date(),\n state: z\n .object({\n serialized: z.string(),\n plainText: z.string(),\n cols: z.number(),\n rows: z.number(),\n timestamp: z.coerce.date(),\n cursorHidden: z.boolean().optional(),\n })\n .optional(),\n});\n\nexport const ListTerminalsResultSchema = z.object({\n terminals: z.array(TerminalInfoSchema),\n});\n\n// Terminal request schemas - use TerminalMethod enum\nexport const CreateTerminalRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonTerminalMethod.CREATE),\n params: CreateTerminalRequestParamsSchema,\n});\n\nexport const WriteDataRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonTerminalMethod.WRITE_DATA),\n params: WriteDataRequestParamsSchema,\n});\n\nexport const ResizeRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonTerminalMethod.RESIZE),\n params: ResizeRequestParamsSchema,\n});\n\nexport const CloseTerminalRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonTerminalMethod.CLOSE),\n params: CloseTerminalRequestParamsSchema,\n});\n\nexport const ListTerminalsRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonTerminalMethod.LIST),\n params: ListTerminalsRequestParamsSchema,\n});\n\n// Terminal response schemas\nexport const CreateTerminalResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: CreateTerminalResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const WriteDataResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: WriteDataResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const ResizeResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: ResizeResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const CloseTerminalResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: CloseTerminalResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const ListTerminalsResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: ListTerminalsResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\n// Union of all terminal request types (discriminated by method)\nexport const TerminalRequestSchema = z.discriminatedUnion('method', [\n CreateTerminalRequestSchema,\n WriteDataRequestSchema,\n ResizeRequestSchema,\n CloseTerminalRequestSchema,\n ListTerminalsRequestSchema,\n]);\n\n// Terminal notification schemas - match session notification pattern (no params wrapper, no sessionId)\nexport const TerminalDataNotificationSchema = z.object({\n type: z.literal(DaemonTerminalEvent.DATA),\n terminalId: z.string(),\n data: z.string(),\n});\n\nexport const TerminalExitNotificationSchema = z.object({\n type: z.literal(DaemonTerminalEvent.EXIT),\n terminalId: z.string(),\n exitCode: z.number(),\n signal: z.string(),\n});\n\n// Union of all terminal notification types\nexport const TerminalNotificationSchema = z.discriminatedUnion('type', [\n TerminalDataNotificationSchema,\n TerminalExitNotificationSchema,\n]);\n\n// ============ DAEMON Terminal Request Params (with sessionId) ============\n\nexport const DaemonCreateTerminalRequestParamsSchema =\n CreateTerminalRequestParamsSchema.extend({\n sessionId: z.string(),\n });\n\nexport const DaemonWriteDataRequestParamsSchema =\n WriteDataRequestParamsSchema.extend({\n sessionId: z.string(),\n });\n\nexport const DaemonResizeRequestParamsSchema = ResizeRequestParamsSchema.extend(\n {\n sessionId: z.string(),\n }\n);\n\nexport const DaemonCloseTerminalRequestParamsSchema =\n CloseTerminalRequestParamsSchema.extend({\n sessionId: z.string(),\n });\n\nexport const DaemonListTerminalsRequestParamsSchema =\n ListTerminalsRequestParamsSchema.extend({\n sessionId: z.string(),\n });\n\n// ============ DAEMON Terminal Request Schemas ============\n\nexport const DaemonCreateTerminalRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonTerminalMethod.CREATE),\n params: DaemonCreateTerminalRequestParamsSchema,\n });\n\nexport const DaemonWriteDataRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonTerminalMethod.WRITE_DATA),\n params: DaemonWriteDataRequestParamsSchema,\n});\n\nexport const DaemonResizeRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonTerminalMethod.RESIZE),\n params: DaemonResizeRequestParamsSchema,\n});\n\nexport const DaemonCloseTerminalRequestSchema = JsonRpcBaseRequestSchema.extend(\n {\n method: z.literal(DaemonTerminalMethod.CLOSE),\n params: DaemonCloseTerminalRequestParamsSchema,\n }\n);\n\nexport const DaemonListTerminalsRequestSchema = JsonRpcBaseRequestSchema.extend(\n {\n method: z.literal(DaemonTerminalMethod.LIST),\n params: DaemonListTerminalsRequestParamsSchema,\n }\n);\n","import z from 'zod';\n\nimport { Platform } from '../enums.js';\nimport {\n JsonRpcBaseRequestSchema,\n JsonRpcBaseResponseSuccessSchema,\n JsonRpcBaseResponseFailureSchema,\n JsonRpcBaseNotificationSchema,\n} from '../json-rpc.js';\nimport { DaemonConnectionMethod, DaemonConnectionEvent } from './enums.js';\n\n/**\n * Client-supplied metadata attached to the authenticate handshake.\n * Extensible: new fields can be added here without changing the\n * transport protocol. The daemon stores these on the connection\n * context and uses them for span attribution.\n */\nexport const DaemonConnectionMetadataSchema = z.object({\n tracing: z\n .object({\n /** Human interaction surface (e.g., 'web', 'desktop', 'cli_tui'). Absent for infrastructure callers. */\n app: z.string().optional(),\n /** Client-relative machine classification: local | ephemeral | computer. */\n machineType: z.string().optional(),\n /** Computer provider: byom | e2b. */\n machineProvider: z.string().optional(),\n /** Transport kind: ws_localhost | ws_direct | ws_relay. */\n daemonTransport: z.string().optional(),\n })\n .optional(),\n});\n\n// Connection-level authentication schemas\nexport const DaemonAuthenticateRequestParamsSchema = z\n .object({\n /** WorkOS JWT access token */\n token: z.string().optional(),\n /** Factory API key (fk-*) */\n apiKey: z.string().optional(),\n /** Frontend-generated connection ID for trace correlation */\n connectionId: z.string().optional(),\n /** Caller identifier for debugging (e.g., 'frontend', 'cli'). */\n caller: z.string(),\n /** Client-supplied metadata for tracing and diagnostics. */\n metadata: DaemonConnectionMetadataSchema.optional(),\n })\n .refine((data) => data.token || data.apiKey, {\n message: 'Either token or apiKey must be provided',\n });\n\nexport const DaemonAuthenticateRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonConnectionMethod.AUTHENTICATE),\n params: DaemonAuthenticateRequestParamsSchema,\n});\n\nexport const DaemonAuthenticateResultSchema = z.object({\n userId: z.string(),\n orgId: z.string(),\n});\n\nexport const DaemonAuthenticateResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: DaemonAuthenticateResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const DaemonLogoutRequestParamsSchema = z.object({}).strict();\n\nexport const DaemonLogoutRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonConnectionMethod.LOGOUT),\n params: DaemonLogoutRequestParamsSchema,\n});\n\nexport const DaemonLogoutResultSchema = z.object({\n accepted: z.literal(true),\n});\n\nexport const DaemonLogoutResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: DaemonLogoutResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\n// Connection status notification schemas\nexport const DaemonConnectionStatusNotificationParamsSchema = z.object({\n isDroidCLIInPath: z.boolean(),\n droidCLIVersion: z.string().optional(),\n homedir: z.string(),\n platform: z.nativeEnum(Platform),\n});\n\nexport const DaemonConnectionStatusNotificationSchema =\n JsonRpcBaseNotificationSchema.extend({\n method: z.literal(DaemonConnectionEvent.CONNECTION_STATUS),\n params: DaemonConnectionStatusNotificationParamsSchema,\n });\n\n// Inferred types\nexport type DaemonConnectionMetadata = z.infer<\n typeof DaemonConnectionMetadataSchema\n>;\nexport type DaemonAuthenticateRequestParams = z.infer<\n typeof DaemonAuthenticateRequestParamsSchema\n>;\nexport type DaemonAuthenticateRequest = z.infer<\n typeof DaemonAuthenticateRequestSchema\n>;\nexport type DaemonAuthenticateResult = z.infer<\n typeof DaemonAuthenticateResultSchema\n>;\nexport type DaemonAuthenticateResponse = z.infer<\n typeof DaemonAuthenticateResponseSchema\n>;\nexport type DaemonLogoutRequestParams = z.infer<\n typeof DaemonLogoutRequestParamsSchema\n>;\nexport type DaemonLogoutRequest = z.infer<typeof DaemonLogoutRequestSchema>;\nexport type DaemonLogoutResult = z.infer<typeof DaemonLogoutResultSchema>;\nexport type DaemonLogoutResponse = z.infer<typeof DaemonLogoutResponseSchema>;\nexport type DaemonConnectionStatusNotificationParams = z.infer<\n typeof DaemonConnectionStatusNotificationParamsSchema\n>;\nexport type DaemonConnectionStatusNotification = z.infer<\n typeof DaemonConnectionStatusNotificationSchema\n>;\n","import z from 'zod';\n\nimport {\n AddMcpServerRequestParamsSchema,\n AuthenticateMcpServerRequestParamsSchema,\n CancelMcpAuthRequestParamsSchema,\n ClearMcpAuthRequestParamsSchema,\n ListMcpRegistryRequestParamsSchema,\n ListMcpRegistryResultSchema,\n ListMcpServersRequestParamsSchema,\n ListMcpServersResultSchema,\n ListMcpToolsRequestParamsSchema,\n ListMcpToolsResultSchema,\n RemoveMcpServerRequestParamsSchema,\n ToggleMcpServerRequestParamsSchema,\n ToggleMcpToolRequestParamsSchema,\n} from '../client.js';\nimport { McpServerStatus } from '../enums.js';\nimport { JsonRpcBaseRequestSchema } from '../json-rpc.js';\nimport { McpRegistryServerSchema, McpToolInfoSchema } from '../mcp.js';\nimport { DaemonDroidMethod, McpConfigSource } from './enums.js';\n\n// MCP Server Config Schema (matches @factory/mcp)\nconst McpStdioServerConfigSchema = z.object({\n type: z.literal('stdio').optional().default('stdio'),\n command: z.string(),\n args: z.array(z.string()),\n env: z.record(z.string(), z.string()).optional(),\n disabled: z.boolean().optional().default(false),\n});\n\nexport const McpOAuthConfigSchema = z.object({\n scopes: z.array(z.string().trim().min(1)).optional(),\n clientId: z.string().trim().min(1).optional(),\n clientSecret: z\n .string()\n .min(1)\n .refine((secret) => secret.trim().length > 0, {\n message: 'clientSecret cannot be blank',\n })\n .optional(),\n callbackPort: z.number().int().min(1).max(65535).optional(),\n});\n\nexport const McpHttpServerConfigSchema = z.object({\n type: z.literal('http'),\n url: z.string(),\n headers: z.record(z.string(), z.string()).optional(),\n oauth: McpOAuthConfigSchema.optional(),\n disabled: z.boolean().optional().default(false),\n});\n\nconst McpSseServerConfigSchema = z.object({\n type: z.literal('sse'),\n url: z.string(),\n headers: z.record(z.string(), z.string()).optional(),\n oauth: McpOAuthConfigSchema.optional(),\n disabled: z.boolean().optional().default(false),\n});\n\nexport const McpServerConfigSchema = z.union([\n McpStdioServerConfigSchema,\n McpHttpServerConfigSchema,\n McpSseServerConfigSchema,\n]);\n\n// Server info with source and status\nexport const McpServerInfoSchema = z.object({\n name: z.string(),\n config: McpServerConfigSchema,\n source: z.nativeEnum(McpConfigSource),\n status: z.nativeEnum(McpServerStatus).optional(),\n error: z.string().optional(),\n});\n\n// Simple success result used by multiple MCP operations\nexport const McpSuccessResultSchema = z.object({\n success: z.boolean(),\n});\n\n// GET_MCP_CONFIG\nexport const DaemonGetMcpConfigRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.GET_MCP_CONFIG),\n params: z.object({}),\n});\n\nexport const DaemonGetMcpConfigResultSchema = z.object({\n servers: z.array(McpServerInfoSchema),\n});\n\n// UPDATE_MCP_CONFIG\nexport const DaemonUpdateMcpConfigRequestParamsSchema = z.object({\n action: z.enum(['add', 'remove', 'enable', 'disable']),\n serverNames: z.array(z.string()),\n serverConfig: McpServerConfigSchema.optional(),\n});\n\nexport const DaemonUpdateMcpConfigRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.UPDATE_MCP_CONFIG),\n params: DaemonUpdateMcpConfigRequestParamsSchema,\n });\n\nexport const DaemonUpdateMcpConfigResultSchema = z.object({\n success: z.boolean(),\n servers: z.array(McpServerInfoSchema),\n error: z.string().optional(),\n});\n\n// TOGGLE_MCP_SERVER - proxied to CLI session\nexport const DaemonToggleMcpServerRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.TOGGLE_MCP_SERVER),\n params: ToggleMcpServerRequestParamsSchema.extend({\n sessionId: z.string(),\n }),\n });\n\n// AUTHENTICATE_MCP_SERVER - proxied to CLI session for OAuth flow\nexport const DaemonAuthenticateMcpServerRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.AUTHENTICATE_MCP_SERVER),\n params: AuthenticateMcpServerRequestParamsSchema.extend({\n sessionId: z.string(),\n }),\n });\n\n// CANCEL_MCP_AUTH - proxied to CLI session to cancel pending OAuth flow\nexport const DaemonCancelMcpAuthRequestSchema = JsonRpcBaseRequestSchema.extend(\n {\n method: z.literal(DaemonDroidMethod.CANCEL_MCP_AUTH),\n params: CancelMcpAuthRequestParamsSchema.extend({\n sessionId: z.string(),\n }),\n }\n);\n\n// CLEAR_MCP_AUTH - proxied to CLI session to clear OAuth tokens\nexport const DaemonClearMcpAuthRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.CLEAR_MCP_AUTH),\n params: ClearMcpAuthRequestParamsSchema.extend({\n sessionId: z.string(),\n }),\n});\n\n// ADD_MCP_SERVER - proxied to CLI session to add MCP server to config\nexport const DaemonAddMcpServerRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.ADD_MCP_SERVER),\n params: AddMcpServerRequestParamsSchema.extend({\n sessionId: z.string(),\n }),\n});\n\n// REMOVE_MCP_SERVER - proxied to CLI session to remove MCP server from config\nexport const DaemonRemoveMcpServerRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.REMOVE_MCP_SERVER),\n params: RemoveMcpServerRequestParamsSchema.extend({\n sessionId: z.string(),\n }),\n });\n\n// LIST_MCP_REGISTRY - proxied to CLI session to list available MCP servers\nexport const DaemonListMcpRegistryRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.LIST_MCP_REGISTRY),\n params: ListMcpRegistryRequestParamsSchema.extend({\n sessionId: z.string(),\n }),\n });\n\nexport const DaemonMcpRegistryServerSchema = McpRegistryServerSchema.extend({});\n\nexport const DaemonListMcpRegistryResultSchema =\n ListMcpRegistryResultSchema.extend({});\n\n// LIST_MCP_TOOLS - get all tools with enabled/disabled state\nexport const DaemonListMcpToolsRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.LIST_MCP_TOOLS),\n params: ListMcpToolsRequestParamsSchema.extend({\n sessionId: z.string(),\n }),\n});\n\nexport const DaemonMcpToolInfoSchema = McpToolInfoSchema.extend({});\n\nexport const DaemonListMcpToolsResultSchema = ListMcpToolsResultSchema.extend(\n {}\n);\n\n// TOGGLE_MCP_TOOL - enable/disable a specific tool\nexport const DaemonToggleMcpToolRequestSchema = JsonRpcBaseRequestSchema.extend(\n {\n method: z.literal(DaemonDroidMethod.TOGGLE_MCP_TOOL),\n params: ToggleMcpToolRequestParamsSchema.extend({\n sessionId: z.string(),\n }),\n }\n);\n\n// LIST_MCP_SERVERS - get current MCP server statuses for a session\nexport const DaemonListMcpServersRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.LIST_MCP_SERVERS),\n params: ListMcpServersRequestParamsSchema.extend({\n sessionId: z.string(),\n }),\n });\n\nexport const DaemonListMcpServersResultSchema =\n ListMcpServersResultSchema.extend({});\n\n// SUBMIT_MCP_AUTH_CODE - relay OAuth auth code from frontend to CLI for remote sessions\nconst DaemonSubmitMcpAuthCodeRequestParamsSchema = z.object({\n sessionId: z.string(),\n serverName: z.string(),\n code: z.string(),\n state: z.string(),\n});\n\nexport const DaemonSubmitMcpAuthCodeRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.SUBMIT_MCP_AUTH_CODE),\n params: DaemonSubmitMcpAuthCodeRequestParamsSchema,\n });\n","import z from 'zod';\n\nimport { JsonRpcBaseRequestSchema } from '../json-rpc.js';\nimport { AutomationPrivacyLevel } from './automations-enums.js';\nimport { DaemonDroidMethod } from './enums.js';\n\n// LIST_AUTOMATIONS - discover automations from the filesystem\nconst DaemonListAutomationsRequestParamsSchema = z.object({\n basePath: z.string().optional(),\n});\n\nexport const DaemonListAutomationsRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.LIST_AUTOMATIONS),\n params: DaemonListAutomationsRequestParamsSchema,\n });\n\nexport const AutomationEntrySchema = z.object({\n /** Directory name slug (e.g. \"health-check\"). */\n id: z.string(),\n /** Stable UUID for backend sync. */\n uuid: z.string().optional(),\n name: z.string(),\n description: z.string().optional(),\n status: z.string(),\n schedule: z.string().optional(),\n model: z.string().optional(),\n tags: z.array(z.string()).optional(),\n nextRunAt: z.string().optional(),\n lastRunAt: z.string().optional(),\n isValid: z.boolean(),\n path: z.string(),\n privacyLevel: z.string().optional(),\n createdBy: z\n .object({\n name: z.string(),\n email: z.string().optional(),\n avatarUrl: z.string().optional(),\n })\n .optional(),\n forkedFrom: z.string().optional(),\n /** Present when the automation targets a remote computer. */\n computerId: z.string().optional(),\n});\n\nexport const DaemonListAutomationsResultSchema = z.object({\n automations: z.array(AutomationEntrySchema),\n});\n\n// RUN_AUTOMATION - resolve automation metadata so frontend can create a session.\n// For local automations: reads HEARTBEAT.md from filesystem.\n// For computer automations: fetches from backend API when computerId is present.\nconst DaemonRunAutomationRequestParamsSchema = z.object({\n automationId: z.string(),\n /** Directory name of the automation (e.g. \"health-check\"). Preferred over automationId. */\n automationDirName: z.string().optional(),\n basePath: z.string().optional(),\n /** When set, fetches the automation from the backend API instead of local filesystem. */\n computerId: z.string().optional(),\n});\n\nexport const DaemonRunAutomationRequestSchema = JsonRpcBaseRequestSchema.extend(\n {\n method: z.literal(DaemonDroidMethod.RUN_AUTOMATION),\n params: DaemonRunAutomationRequestParamsSchema,\n }\n);\n\nexport const DaemonRunAutomationResultSchema = z.object({\n prompt: z.string(),\n automationName: z.string(),\n /** UUID from HEARTBEAT.md frontmatter (falls back to directory name if no UUID) */\n automationId: z.string(),\n cwd: z.string(),\n model: z.string().optional(),\n /** Present when the automation targets a remote computer. */\n computerId: z.string().optional(),\n});\n\n// PAUSE_AUTOMATION\nconst DaemonPauseAutomationRequestParamsSchema = z.object({\n automationId: z.string(),\n automationDirName: z.string().optional(),\n basePath: z.string().optional(),\n});\n\nexport const DaemonPauseAutomationRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.PAUSE_AUTOMATION),\n params: DaemonPauseAutomationRequestParamsSchema,\n });\n\nexport const DaemonPauseAutomationResultSchema = z.object({\n success: z.boolean(),\n automationId: z.string(),\n status: z.string(),\n error: z.string().optional(),\n});\n\n// RESUME_AUTOMATION\nconst DaemonResumeAutomationRequestParamsSchema = z.object({\n automationId: z.string(),\n automationDirName: z.string().optional(),\n basePath: z.string().optional(),\n});\n\nexport const DaemonResumeAutomationRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.RESUME_AUTOMATION),\n params: DaemonResumeAutomationRequestParamsSchema,\n });\n\nexport const DaemonResumeAutomationResultSchema = z.object({\n success: z.boolean(),\n automationId: z.string(),\n status: z.string(),\n error: z.string().optional(),\n});\n\n// GET_AUTOMATION_HISTORY\nconst DaemonGetAutomationHistoryRequestParamsSchema = z.object({\n automationId: z.string(),\n automationDirName: z.string().optional(),\n limit: z.number().optional(),\n offset: z.number().optional(),\n basePath: z.string().optional(),\n});\n\nexport const DaemonGetAutomationHistoryRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.GET_AUTOMATION_HISTORY),\n params: DaemonGetAutomationHistoryRequestParamsSchema,\n });\n\nconst AutomationRunRecordSchema = z.object({\n runId: z.string(),\n automationId: z.string(),\n status: z.string(),\n startedAt: z.string(),\n completedAt: z.string().optional(),\n durationMs: z.number().optional(),\n errorMessage: z.string().optional(),\n isRetry: z.boolean().optional(),\n originalRunId: z.string().optional(),\n});\n\nexport const DaemonGetAutomationHistoryResultSchema = z.object({\n automationId: z.string(),\n runs: z.array(AutomationRunRecordSchema),\n totalCount: z.number(),\n});\n\n// GET_AUTOMATION_VISUAL\nconst DaemonGetAutomationVisualRequestParamsSchema = z.object({\n automationId: z.string(),\n automationDirName: z.string().optional(),\n basePath: z.string().optional(),\n sessionId: z.string().optional(),\n});\n\nexport const DaemonGetAutomationVisualRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.GET_AUTOMATION_VISUAL),\n params: DaemonGetAutomationVisualRequestParamsSchema,\n });\n\nexport const DaemonGetAutomationVisualResultSchema = z.object({\n automationId: z.string(),\n exists: z.boolean(),\n content: z.string().optional(),\n isStale: z.boolean().optional(),\n s3Url: z.string().optional(),\n});\n\n// CREATE_AUTOMATION\nconst DaemonCreateAutomationRequestParamsSchema = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().optional(),\n schedule: z.string(),\n basePath: z.string().optional(),\n});\n\nexport const DaemonCreateAutomationRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.CREATE_AUTOMATION),\n params: DaemonCreateAutomationRequestParamsSchema,\n });\n\nexport const DaemonCreateAutomationResultSchema = z.object({\n success: z.boolean(),\n automationId: z.string().optional(),\n error: z.string().optional(),\n});\n\n// UPDATE_AUTOMATION_MODEL - update the model field in HEARTBEAT.md frontmatter\nconst DaemonUpdateAutomationModelRequestParamsSchema = z.object({\n automationId: z.string(),\n automationDirName: z.string().optional(),\n model: z.string().nullable(),\n basePath: z.string().optional(),\n});\n\nexport const DaemonUpdateAutomationModelRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.UPDATE_AUTOMATION_MODEL),\n params: DaemonUpdateAutomationModelRequestParamsSchema,\n });\n\nexport const DaemonUpdateAutomationModelResultSchema = z.object({\n success: z.boolean(),\n error: z.string().optional(),\n});\n\n// UPDATE_AUTOMATION_PRIVACY - update the privacyLevel field in HEARTBEAT.md frontmatter\nconst DaemonUpdateAutomationPrivacyRequestParamsSchema = z.object({\n automationId: z.string(),\n automationDirName: z.string().optional(),\n privacyLevel: z.nativeEnum(AutomationPrivacyLevel),\n createdBy: z\n .object({\n name: z.string(),\n email: z.string().optional(),\n avatarUrl: z.string().optional(),\n })\n .optional(),\n basePath: z.string().optional(),\n});\n\nexport const DaemonUpdateAutomationPrivacyRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.UPDATE_AUTOMATION_PRIVACY),\n params: DaemonUpdateAutomationPrivacyRequestParamsSchema,\n });\n\nexport const DaemonUpdateAutomationPrivacyResultSchema = z.object({\n success: z.boolean(),\n error: z.string().optional(),\n});\n\n// RENAME_AUTOMATION - update the name field in HEARTBEAT.md frontmatter\nconst DaemonRenameAutomationRequestParamsSchema = z.object({\n automationId: z.string(),\n automationDirName: z.string().optional(),\n newName: z.string(),\n basePath: z.string().optional(),\n});\n\nexport const DaemonRenameAutomationRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.RENAME_AUTOMATION),\n params: DaemonRenameAutomationRequestParamsSchema,\n });\n\nexport const DaemonRenameAutomationResultSchema = z.object({\n success: z.boolean(),\n error: z.string().optional(),\n});\n\n// DELETE_AUTOMATION - remove an automation directory\nconst DaemonDeleteAutomationRequestParamsSchema = z.object({\n automationId: z.string(),\n automationDirName: z.string().optional(),\n basePath: z.string().optional(),\n});\n\nexport const DaemonDeleteAutomationRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.DELETE_AUTOMATION),\n params: DaemonDeleteAutomationRequestParamsSchema,\n });\n\nexport const DaemonDeleteAutomationResultSchema = z.object({\n success: z.boolean(),\n error: z.string().optional(),\n});\n\n// FORK_AUTOMATION - fork a shared automation into the local filesystem\nconst DaemonForkAutomationRequestParamsSchema = z.object({\n automationId: z.string(),\n name: z.string(),\n description: z.string().optional(),\n schedule: z.string(),\n tags: z.array(z.string()).optional(),\n model: z.string().optional(),\n prompt: z.string(),\n forkedFrom: z.string(),\n localDirName: z.string(),\n});\n\nexport const DaemonForkAutomationRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.FORK_AUTOMATION),\n params: DaemonForkAutomationRequestParamsSchema,\n });\n\nexport const DaemonForkAutomationResultSchema = z.object({\n success: z.boolean(),\n automationId: z.string().optional(),\n error: z.string().optional(),\n});\n","import { z } from 'zod';\n\nimport {\n JsonRpcBaseNotificationSchema,\n JsonRpcBaseRequestSchema,\n} from '../json-rpc.js';\nimport { DaemonDroidMethod, DaemonCronEvent } from './enums.js';\n\nexport const CronStatusSchema = z.enum([\n 'active',\n 'held',\n 'paused',\n 'running',\n 'error',\n 'expired',\n 'cancelled',\n]);\n\nexport const CronKindSchema = z.literal('session_prompt');\n\nconst CronSourceSchema = z.enum(['loop_command', 'cron_tool']);\n\nconst UserUpdatableCronStatusSchema = z.enum(['active', 'paused']);\n\nexport const CronScopeSchema = z.object({\n type: z.literal('session'),\n sessionId: z.string(),\n sessionCwd: z.string(),\n storageDir: z.string(),\n});\n\nexport const CronCreateScopeSchema = z.object({\n type: z.literal('session'),\n sessionId: z.string(),\n sessionCwd: z.string(),\n});\n\nexport const CronPayloadSchema = z.object({\n type: z.literal('prompt'),\n prompt: z.string().trim().min(1),\n target: z.object({\n type: z.literal('same_session'),\n }),\n});\n\nexport const CronRecordSchema = z.object({\n version: z.literal(1),\n id: z.string(),\n kind: CronKindSchema,\n status: CronStatusSchema,\n source: CronSourceSchema,\n scope: CronScopeSchema,\n schedule: z.object({\n expression: z.string().trim().min(1),\n recurring: z.boolean(),\n nextRunAt: z.string().optional(),\n firstFireGuardUntil: z.string().optional(),\n timezone: z.literal('UTC'),\n }),\n runPolicy: z.object({\n whenSessionInactive: z.literal('hold'),\n }),\n payload: CronPayloadSchema,\n stats: z.object({\n fireCount: z.number().int().nonnegative(),\n lastRunAt: z.string().optional(),\n lastCompletedAt: z.string().optional(),\n lastError: z.string().optional(),\n }),\n createdAt: z.string(),\n updatedAt: z.string(),\n heldAt: z.string().optional(),\n holdReason: z.string().optional(),\n});\n\nexport const DaemonListCronsRequestParamsSchema = z.object({\n sessionId: z.string().optional(),\n includeInactive: z.boolean().optional(),\n});\n\nexport const DaemonListCronsRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.LIST_CRONS),\n params: DaemonListCronsRequestParamsSchema,\n});\n\nexport const DaemonListCronsResultSchema = z.object({\n crons: z.array(CronRecordSchema),\n});\n\nexport const DaemonCreateCronRequestParamsSchema = z.object({\n kind: CronKindSchema,\n source: CronSourceSchema,\n scope: CronCreateScopeSchema,\n schedule: z.object({\n expression: z.string().trim().min(1),\n recurring: z.boolean(),\n }),\n runImmediately: z.boolean().optional(),\n runPolicy: z\n .object({\n whenSessionInactive: z.literal('hold'),\n })\n .optional(),\n payload: CronPayloadSchema,\n});\n\nexport const DaemonCreateCronRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.CREATE_CRON),\n params: DaemonCreateCronRequestParamsSchema,\n});\n\nexport const DaemonCreateCronResultSchema = z.object({\n cron: CronRecordSchema,\n});\n\nexport const DaemonDeleteCronRequestParamsSchema = z.object({\n cronId: z.string(),\n sessionId: z.string().optional(),\n});\n\nexport const DaemonDeleteCronRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.DELETE_CRON),\n params: DaemonDeleteCronRequestParamsSchema,\n});\n\nexport const DaemonDeleteCronResultSchema = z.object({\n deleted: z.boolean(),\n});\n\nconst CronUpdatePayloadPatchSchema = z\n .object({\n prompt: z.string().trim().min(1).optional(),\n })\n .strict();\n\nexport const DaemonUpdateCronRequestParamsSchema = z.object({\n cronId: z.string(),\n status: UserUpdatableCronStatusSchema.optional(),\n schedule: z\n .object({\n expression: z.string().trim().min(1),\n recurring: z.boolean(),\n })\n .optional(),\n payload: CronUpdatePayloadPatchSchema.optional(),\n});\n\nexport const DaemonUpdateCronRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.UPDATE_CRON),\n params: DaemonUpdateCronRequestParamsSchema,\n});\n\nexport const DaemonUpdateCronResultSchema = z.object({\n cron: CronRecordSchema.nullable(),\n});\n\nexport const DaemonHoldSessionCronsRequestParamsSchema = z.object({\n sessionId: z.string(),\n reason: z.string(),\n});\n\nexport const DaemonHoldSessionCronsRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.HOLD_SESSION_CRONS),\n params: DaemonHoldSessionCronsRequestParamsSchema,\n });\n\nexport const DaemonHoldSessionCronsResultSchema = z.object({\n heldCount: z.number().int().nonnegative(),\n});\n\nexport const DaemonResumeSessionCronsRequestParamsSchema = z.object({\n sessionId: z.string(),\n});\n\nexport const DaemonResumeSessionCronsRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.RESUME_SESSION_CRONS),\n params: DaemonResumeSessionCronsRequestParamsSchema,\n });\n\nexport const DaemonResumeSessionCronsResultSchema = z.object({\n resumedCount: z.number().int().nonnegative(),\n});\n\nexport const DaemonCronStateChangedNotificationParamsSchema = z.object({\n reason: z.enum(['created', 'updated', 'deleted']),\n cronIds: z.array(z.string()),\n crons: z.array(CronRecordSchema).optional(),\n});\n\nexport const DaemonCronStateChangedNotificationSchema =\n JsonRpcBaseNotificationSchema.extend({\n method: z.literal(DaemonCronEvent.STATE_CHANGED),\n params: DaemonCronStateChangedNotificationParamsSchema,\n });\n","import z from 'zod';\n\nimport { JsonRpcBaseRequestSchema } from '../json-rpc.js';\nimport { MarketplaceSourceSchema } from '../settings.js';\nimport { DaemonDroidMethod } from './enums.js';\n\nexport { MarketplaceSourceSchema };\n\n// CRITICAL: `RedactedMarketplaceSourceSchema` below stays intentionally\n// distinct from `MarketplaceSourceSchema`. The redacted variant omits\n// filesystem paths and userinfo for RPC responses; collapsing the two would\n// risk credential / local-layout leakage.\n\n// ── LIST_AVAILABLE_PLUGINS ───────────────────────────────────────────\n\nconst DaemonListAvailablePluginsRequestParamsSchema = z.object({\n sessionId: z.string(),\n});\n\nexport const DaemonListAvailablePluginsRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.LIST_AVAILABLE_PLUGINS),\n params: DaemonListAvailablePluginsRequestParamsSchema,\n });\n\nexport const DaemonListAvailablePluginsResultSchema = z.object({\n plugins: z.array(\n z.object({\n name: z.string(),\n marketplace: z.string(),\n description: z.string().optional(),\n })\n ),\n});\n\n// ── LIST_INSTALLED_PLUGINS ───────────────────────────────────────────\n\nconst DaemonListInstalledPluginsRequestParamsSchema = z.object({\n sessionId: z.string(),\n scope: z.string().optional(),\n});\n\nexport const DaemonListInstalledPluginsRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.LIST_INSTALLED_PLUGINS),\n params: DaemonListInstalledPluginsRequestParamsSchema,\n });\n\nexport const DaemonListInstalledPluginsResultSchema = z.object({\n plugins: z.array(\n z.object({\n id: z.string(),\n scope: z.string(),\n version: z.string(),\n installPath: z.string(),\n installedAt: z.string(),\n lastUpdated: z.string(),\n source: z.string(),\n })\n ),\n});\n\n// ── INSTALL_PLUGIN ───────────────────────────────────────────────────\n\nconst DaemonInstallPluginRequestParamsSchema = z.object({\n sessionId: z.string(),\n marketplace: z.string(),\n pluginName: z.string(),\n scope: z.string(),\n});\n\nexport const DaemonInstallPluginRequestSchema = JsonRpcBaseRequestSchema.extend(\n {\n method: z.literal(DaemonDroidMethod.INSTALL_PLUGIN),\n params: DaemonInstallPluginRequestParamsSchema,\n }\n);\n\nexport const DaemonInstallPluginResultSchema = z.object({\n success: z.boolean(),\n pluginId: z.string().optional(),\n error: z.string().optional(),\n});\n\n// ── UNINSTALL_PLUGIN ─────────────────────────────────────────────────\n\nconst DaemonUninstallPluginRequestParamsSchema = z.object({\n sessionId: z.string(),\n pluginId: z.string(),\n scope: z.string(),\n});\n\nexport const DaemonUninstallPluginRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.UNINSTALL_PLUGIN),\n params: DaemonUninstallPluginRequestParamsSchema,\n });\n\nexport const DaemonUninstallPluginResultSchema = z.object({\n success: z.boolean(),\n error: z.string().optional(),\n});\n\n// ── UPDATE_PLUGIN ────────────────────────────────────────────────────\n\nconst DaemonUpdatePluginRequestParamsSchema = z.object({\n sessionId: z.string(),\n pluginId: z.string().optional(),\n scope: z.string().optional(),\n});\n\nexport const DaemonUpdatePluginRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.UPDATE_PLUGIN),\n params: DaemonUpdatePluginRequestParamsSchema,\n});\n\nexport const DaemonUpdatePluginResultSchema = z.object({\n results: z.array(\n z.object({\n pluginId: z.string(),\n success: z.boolean(),\n error: z.string().optional(),\n })\n ),\n});\n\n// ── LIST_MARKETPLACES ────────────────────────────────────────────────\n\nconst DaemonListMarketplacesRequestParamsSchema = z.object({\n sessionId: z.string(),\n});\n\nexport const DaemonListMarketplacesRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.LIST_MARKETPLACES),\n params: DaemonListMarketplacesRequestParamsSchema,\n });\n\n// Redacted marketplace source shape for RPC responses. Unlike\n// `MarketplaceSourceSchema`, this intentionally omits filesystem paths for\n// `local` sources and expects URLs for `url` / `git-subdir` sources to be\n// scrubbed of credential userinfo before crossing the RPC boundary.\nexport const RedactedMarketplaceSourceSchema = z.discriminatedUnion('source', [\n z.object({\n source: z.literal('github'),\n repo: z.string(),\n }),\n z.object({\n source: z.literal('url'),\n url: z.string(),\n }),\n z.object({\n source: z.literal('local'),\n }),\n z.object({\n source: z.literal('git-subdir'),\n url: z.string(),\n path: z.string(),\n }),\n]);\n\nexport const DaemonListMarketplacesResultSchema = z.object({\n marketplaces: z.array(\n z.object({\n name: z.string(),\n source: RedactedMarketplaceSourceSchema,\n pluginCount: z.number(),\n autoUpdate: z.boolean(),\n })\n ),\n});\n\n// ── ADD_MARKETPLACE ──────────────────────────────────────────────────\n\nconst DaemonAddMarketplaceRequestParamsSchema = z.object({\n sessionId: z.string(),\n source: MarketplaceSourceSchema,\n});\n\nexport const DaemonAddMarketplaceRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.ADD_MARKETPLACE),\n params: DaemonAddMarketplaceRequestParamsSchema,\n });\n\nexport const DaemonAddMarketplaceResultSchema = z.object({\n success: z.boolean(),\n name: z.string().optional(),\n error: z.string().optional(),\n});\n\n// ── REMOVE_MARKETPLACE ───────────────────────────────────────────────\n\nconst DaemonRemoveMarketplaceRequestParamsSchema = z.object({\n sessionId: z.string(),\n name: z.string(),\n});\n\nexport const DaemonRemoveMarketplaceRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.REMOVE_MARKETPLACE),\n params: DaemonRemoveMarketplaceRequestParamsSchema,\n });\n\nexport const DaemonRemoveMarketplaceResultSchema = z.object({\n success: z.boolean(),\n error: z.string().optional(),\n});\n\n// ── UPDATE_MARKETPLACE ───────────────────────────────────────────────\n\nconst DaemonUpdateMarketplaceRequestParamsSchema = z.object({\n sessionId: z.string(),\n name: z.string().optional(),\n});\n\nexport const DaemonUpdateMarketplaceRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.UPDATE_MARKETPLACE),\n params: DaemonUpdateMarketplaceRequestParamsSchema,\n });\n\nexport const DaemonUpdateMarketplaceResultSchema = z.object({\n results: z.array(\n z.object({\n name: z.string(),\n success: z.boolean(),\n error: z.string().optional(),\n })\n ),\n});\n","/**\n * Daemon-only settings schemas.\n * These are for settings that are stored/retrieved directly by the daemon\n * without forwarding to the CLI process.\n */\nimport z from 'zod';\n\nimport { AvailableModelConfigSchema } from '../client.js';\nimport {\n AutonomyLevel,\n AutonomyMode,\n ReasoningEffort,\n SettingsLevel,\n} from '../enums.js';\nimport { GeneralSettingsSchema } from '../general-settings.js';\nimport {\n DroidInteractionModeSchema,\n JsonRpcBaseRequestSchema,\n JsonRpcBaseResponseFailureSchema,\n JsonRpcBaseResponseSuccessSchema,\n} from '../json-rpc.js';\nimport {\n MissionModelSettingsSchema,\n SubagentModelSettingsSchema,\n} from '../model-settings.js';\nimport {\n SessionDefaultSettingsSchema,\n SettingsResolutionEventSchema,\n} from '../settings.js';\nimport { DaemonSettingsMethod } from './enums.js';\n\n// ---------------------------------------------------------------------------\n// Daemon settings RPC schemas\n// ---------------------------------------------------------------------------\n\n// Request params schemas\nexport const DaemonGetDefaultSettingsRequestParamsSchema = z.object({});\nconst DaemonSettingsManagementInfoSchema = z.object({\n disabled: z.boolean(),\n source: z.nativeEnum(SettingsLevel).nullable(),\n folderPath: z.string().optional(),\n});\nconst DaemonSettingsManagementInfoFieldSchema =\n DaemonSettingsManagementInfoSchema.optional().catch(undefined);\nconst LegacyCompactionModelModeWireSchema = z.enum([\n 'current-model',\n 'factory-default',\n]);\nconst DaemonSubagentDefaultsManagementMapSchema = z\n .object({\n lightModel: DaemonSettingsManagementInfoFieldSchema,\n lightReasoningEffort: DaemonSettingsManagementInfoFieldSchema,\n mediumModel: DaemonSettingsManagementInfoFieldSchema,\n mediumReasoningEffort: DaemonSettingsManagementInfoFieldSchema,\n heavyModel: DaemonSettingsManagementInfoFieldSchema,\n heavyReasoningEffort: DaemonSettingsManagementInfoFieldSchema,\n })\n .catch({});\nconst DaemonMissionDefaultsManagementMapSchema = z\n .object({\n orchestratorModel: DaemonSettingsManagementInfoFieldSchema,\n orchestratorReasoningEffort: DaemonSettingsManagementInfoFieldSchema,\n workerModel: DaemonSettingsManagementInfoFieldSchema,\n workerReasoningEffort: DaemonSettingsManagementInfoFieldSchema,\n validationWorkerModel: DaemonSettingsManagementInfoFieldSchema,\n validationWorkerReasoningEffort: DaemonSettingsManagementInfoFieldSchema,\n skipScrutiny: DaemonSettingsManagementInfoFieldSchema,\n skipUserTesting: DaemonSettingsManagementInfoFieldSchema,\n })\n .catch({});\nexport const DaemonSessionDefaultsManagementMapSchema = z\n .object({\n modelId: DaemonSettingsManagementInfoFieldSchema,\n reasoningEffort: DaemonSettingsManagementInfoFieldSchema,\n interactionMode: DaemonSettingsManagementInfoFieldSchema,\n autonomyLevel: DaemonSettingsManagementInfoFieldSchema,\n autonomyMode: DaemonSettingsManagementInfoFieldSchema,\n specModeModelId: DaemonSettingsManagementInfoFieldSchema,\n specModeReasoningEffort: DaemonSettingsManagementInfoFieldSchema,\n specSaveDir: DaemonSettingsManagementInfoFieldSchema,\n compactionTokenLimit: DaemonSettingsManagementInfoFieldSchema,\n compactionTokenLimitPerModel: DaemonSettingsManagementInfoFieldSchema,\n compactionModel: DaemonSettingsManagementInfoFieldSchema,\n compactionModelMode: DaemonSettingsManagementInfoFieldSchema,\n runInWorktree: DaemonSettingsManagementInfoFieldSchema,\n worktreeDirectory: DaemonSettingsManagementInfoFieldSchema,\n subagent:\n DaemonSubagentDefaultsManagementMapSchema.optional().catch(undefined),\n mission:\n DaemonMissionDefaultsManagementMapSchema.optional().catch(undefined),\n })\n .catch({});\nexport const DaemonUpdateSessionDefaultsRequestParamsSchema = z.object({\n modelId: SessionDefaultSettingsSchema.shape.model,\n reasoningEffort: SessionDefaultSettingsSchema.shape.reasoningEffort,\n interactionMode: SessionDefaultSettingsSchema.shape.interactionMode,\n autonomyLevel: SessionDefaultSettingsSchema.shape.autonomyLevel,\n specModeModelId: SessionDefaultSettingsSchema.shape.specModeModel.nullable(),\n specModeReasoningEffort:\n SessionDefaultSettingsSchema.shape.specModeReasoningEffort.nullable(),\n compactionTokenLimit: GeneralSettingsSchema.shape.compactionTokenLimit,\n compactionTokenLimitPerModel:\n GeneralSettingsSchema.shape.compactionTokenLimitPerModel,\n compactionModel: GeneralSettingsSchema.shape.compactionModel,\n compactionModelMode: LegacyCompactionModelModeWireSchema.optional().describe(\n 'Deprecated wire input retained for existing daemon clients; use compactionModel instead.'\n ),\n subagentModelSettings: SubagentModelSettingsSchema.partial().optional(),\n specSaveDir: GeneralSettingsSchema.shape.specSaveDir.nullable().optional(),\n missionOrchestratorModel: GeneralSettingsSchema.shape.missionOrchestratorModel\n .nullable()\n .optional(),\n missionOrchestratorReasoningEffort:\n GeneralSettingsSchema.shape.missionOrchestratorReasoningEffort\n .nullable()\n .optional(),\n missionModelSettings: MissionModelSettingsSchema.partial().optional(),\n runInWorktree: SessionDefaultSettingsSchema.shape.runInWorktree\n .nullable()\n .optional(),\n worktreeDirectory: GeneralSettingsSchema.shape.worktreeDirectory\n .nullable()\n .optional(),\n});\n\nconst DaemonSpecSavePresetsSchema = z\n .object({\n projectFactoryDir: z.string().optional(),\n userFactoryDir: z.string(),\n })\n .optional();\n\n// Request schemas\nexport const DaemonGetDefaultSettingsRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonSettingsMethod.GET_DEFAULT_SETTINGS),\n params: DaemonGetDefaultSettingsRequestParamsSchema,\n });\n\nexport const DaemonUpdateSessionDefaultsRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonSettingsMethod.UPDATE_SESSION_DEFAULTS),\n params: DaemonUpdateSessionDefaultsRequestParamsSchema,\n });\n\n// Result schemas\nexport const DaemonGetDefaultSettingsResultSchema = z.object({\n autonomyMode: z\n .nativeEnum(AutonomyMode)\n .describe('Deprecated: use interactionMode + autonomyLevel instead.')\n .optional(),\n interactionMode: DroidInteractionModeSchema.optional().catch(undefined),\n autonomyLevel: z.nativeEnum(AutonomyLevel).optional().catch(undefined),\n maxAutonomyLevel: z.nativeEnum(AutonomyLevel).optional().catch(undefined),\n modelId: z.string().optional(),\n reasoningEffort: z.nativeEnum(ReasoningEffort).optional(),\n specSaveDir: z.string().optional(),\n specModeModelId: z.string().optional(),\n specModeReasoningEffort: z.nativeEnum(ReasoningEffort).optional(),\n compactionTokenLimit: z.number().optional(),\n compactionTokenLimitPerModel: z.record(z.number()).optional(),\n compactionModel: GeneralSettingsSchema.shape.compactionModel,\n compactionModelMode: LegacyCompactionModelModeWireSchema.optional().describe(\n 'Deprecated wire view retained for existing daemon clients; use compactionModel instead.'\n ),\n runInWorktree: z.boolean().optional(),\n worktreeDirectory: z.string().optional(),\n management: DaemonSessionDefaultsManagementMapSchema.optional(),\n missionOrchestratorModel: z.string().optional(),\n missionOrchestratorReasoningEffort: z.nativeEnum(ReasoningEffort).optional(),\n missionSettings: MissionModelSettingsSchema.optional(),\n subagentModelSettings: SubagentModelSettingsSchema.optional(),\n availableModels: z.array(AvailableModelConfigSchema).optional(),\n specSavePresets: DaemonSpecSavePresetsSchema,\n resolutionChain: z\n .array(SettingsResolutionEventSchema)\n .optional()\n .catch(undefined),\n});\n\nexport const DaemonUpdateSessionDefaultsResultSchema = z.object({\n success: z.boolean(),\n defaults: DaemonGetDefaultSettingsResultSchema,\n});\n\n// Response schemas\nexport const DaemonGetDefaultSettingsResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: DaemonGetDefaultSettingsResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const DaemonUpdateSessionDefaultsResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: DaemonUpdateSessionDefaultsResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n","import z from 'zod';\n\nimport {\n AskUserRequestParamsSchema,\n AskUserResultSchema,\n RequestPermissionRequestParamsSchema,\n RequestPermissionResultSchema,\n SessionNotificationSchemaList,\n} from '../cli.js';\nimport {\n AddUserMessageRequestParamsSchema,\n AddUserMessageResultSchema,\n GetContextBreakdownResultSchema,\n InitializeSessionRequestParamsSchema,\n InitializeSessionResultSchema,\n InterruptSessionRequestParamsSchema,\n InterruptSessionResultSchema,\n KillWorkerSessionRequestParamsSchema,\n KillWorkerSessionResultSchema,\n LoadSessionRequestParamsSchema,\n LoadSessionResultSchema,\n ResolveQueuedUserMessageRequestParamsSchema,\n ResolveQueuedUserMessageResultSchema,\n UpdateSessionSettingsRequestParamsSchema,\n UpdateSessionSettingsResultSchema,\n ValidateWorkingDirectoryResultSchema,\n} from '../client.js';\nimport { DroidWorkingState, MissionState } from '../enums.js';\nimport { MessageRoleNoSystem } from '../enums.js';\nimport { HostIdSchema } from '../host.js';\nimport {\n CommandAckSchema,\n JsonRpcBaseNotificationSchema,\n JsonRpcBaseRequestSchema,\n JsonRpcBaseResponseSuccessSchema,\n JsonRpcBaseResponseFailureSchema,\n} from '../json-rpc.js';\nimport { FactoryDroidMessageSchema } from '../messages.js';\nimport { SessionTagSchema } from '../session.js';\nimport {\n DaemonListAutomationsRequestSchema,\n DaemonRunAutomationRequestSchema,\n DaemonPauseAutomationRequestSchema,\n DaemonResumeAutomationRequestSchema,\n DaemonGetAutomationHistoryRequestSchema,\n DaemonGetAutomationVisualRequestSchema,\n DaemonCreateAutomationRequestSchema,\n DaemonUpdateAutomationModelRequestSchema,\n DaemonUpdateAutomationPrivacyRequestSchema,\n DaemonRenameAutomationRequestSchema,\n DaemonDeleteAutomationRequestSchema,\n DaemonForkAutomationRequestSchema,\n} from './automations.js';\nimport { DaemonSubmitBugReportRequestSchema } from './bug-report.js';\nimport { DaemonListCommandsRequestSchema } from './commands.js';\nimport {\n DaemonListCronsRequestSchema,\n DaemonCreateCronRequestSchema,\n DaemonUpdateCronRequestSchema,\n DaemonDeleteCronRequestSchema,\n DaemonHoldSessionCronsRequestSchema,\n DaemonResumeSessionCronsRequestSchema,\n} from './crons.js';\nimport {\n DaemonDroidEvent,\n DaemonDroidMethod,\n DaemonGetGitDiffUnavailableReason,\n DaemonSpecificNotificationType,\n SessionSearchDocKind,\n} from './enums.js';\nimport {\n DaemonInstallSshKeyRequestSchema,\n DaemonTriggerUpdateRequestSchema,\n} from './management.js';\nimport {\n DaemonGetMcpConfigRequestSchema,\n DaemonUpdateMcpConfigRequestSchema,\n DaemonToggleMcpServerRequestSchema,\n DaemonAuthenticateMcpServerRequestSchema,\n DaemonCancelMcpAuthRequestSchema,\n DaemonClearMcpAuthRequestSchema,\n DaemonAddMcpServerRequestSchema,\n DaemonRemoveMcpServerRequestSchema,\n DaemonListMcpRegistryRequestSchema,\n DaemonListMcpToolsRequestSchema,\n DaemonListMcpServersRequestSchema,\n DaemonToggleMcpToolRequestSchema,\n DaemonSubmitMcpAuthCodeRequestSchema,\n} from './mcp.js';\nimport {\n DaemonListAvailablePluginsRequestSchema,\n DaemonListInstalledPluginsRequestSchema,\n DaemonInstallPluginRequestSchema,\n DaemonUninstallPluginRequestSchema,\n DaemonUpdatePluginRequestSchema,\n DaemonListMarketplacesRequestSchema,\n DaemonAddMarketplaceRequestSchema,\n DaemonRemoveMarketplaceRequestSchema,\n DaemonUpdateMarketplaceRequestSchema,\n} from './plugins.js';\nimport {\n DaemonGetDefaultSettingsRequestSchema,\n DaemonUpdateSessionDefaultsRequestSchema,\n} from './settings.js';\nimport { DaemonListSkillsRequestSchema } from './skills.js';\nimport {\n TerminalDataNotificationSchema,\n TerminalExitNotificationSchema,\n} from './terminal.js';\n\n// Daemon request params schemas - extend client schemas with sessionId and token where needed\n\nexport const DaemonCommandAckResultSchema = CommandAckSchema;\n\nconst createResponseSchema = <T extends z.ZodTypeAny>(resultSchema: T) =>\n z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: resultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n ]);\n\nconst createAckCompatibleResponseSchema = <T extends z.ZodTypeAny>(\n resultSchema: T\n) =>\n z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: z.union([DaemonCommandAckResultSchema, resultSchema]),\n }),\n JsonRpcBaseResponseFailureSchema,\n ]);\n\nexport const DaemonInitializeSessionRequestParamsSchema =\n InitializeSessionRequestParamsSchema.extend({\n token: z.string(),\n inactivityTimeoutMs: z.number().int().positive().optional(),\n disableInactivityTimeout: z.boolean().optional(),\n runtimeSettingsPath: z.string().optional(),\n });\n\n/** Session spawn options captured for loadSession replay. */\nexport const DaemonLoadSessionSpawnOptionsSchema = z.object({\n disableInactivityTimeout: z.boolean().optional(),\n skipPermissionsUnsafe: z.boolean().optional(),\n runtimeSettingsPath: z.string().optional(),\n});\n\nexport const DaemonLoadSessionRequestParamsSchema =\n LoadSessionRequestParamsSchema.merge(\n DaemonLoadSessionSpawnOptionsSchema\n ).extend({\n token: z.string(),\n });\n\nexport const DaemonAddUserMessageRequestParamsSchema =\n AddUserMessageRequestParamsSchema.extend({\n sessionId: z.string(),\n });\n\nexport const DaemonResolveQueuedUserMessageRequestParamsSchema =\n ResolveQueuedUserMessageRequestParamsSchema.and(\n z.object({\n sessionId: z.string(),\n })\n );\n\nexport const DaemonInterruptSessionRequestParamsSchema =\n InterruptSessionRequestParamsSchema.extend({\n sessionId: z.string(),\n });\n\nexport const DaemonCloseSessionRequestParamsSchema = z.object({\n sessionId: z.string(),\n});\n\nexport const DaemonSessionListFilterSchema = z.object({\n missionSessions: z.boolean().optional(),\n includeBtwForks: z.boolean().optional(),\n});\n\nexport const DaemonListOpenedSessionsRequestParamsSchema = z.object({\n filter: DaemonSessionListFilterSchema.optional(),\n});\n\nexport const DaemonListAvailableSessionsFilterSchema =\n DaemonSessionListFilterSchema.extend({\n missionStates: z.array(z.nativeEnum(MissionState)).optional(),\n });\n\nexport const DaemonListAvailableSessionsRequestParamsSchema = z.object({\n limit: z.number().min(1).max(100).default(50), // Default 50\n endBefore: z.number().optional(), // Unix epoch seconds cursor\n includeMissionMetadata: z.boolean().optional(),\n filter: DaemonListAvailableSessionsFilterSchema.optional(),\n});\n\nexport const DaemonGetSessionMessagesRequestParamsSchema = z.object({\n sessionId: z.string(),\n limit: z.number().min(1).max(100).default(20),\n cursor: z.string().optional(),\n role: z.nativeEnum(MessageRoleNoSystem).optional(),\n});\n\nexport const DaemonUpdateSessionSettingsRequestParamsSchema =\n UpdateSessionSettingsRequestParamsSchema.extend({\n sessionId: z.string(),\n });\n\nexport const DaemonGetUserInfoRequestParamsSchema = z.object({});\n\nexport const DaemonValidateWorkingDirectoryRequestParamsSchema = z.object({\n workingDirectory: z.string(),\n});\n\nexport const DaemonInitializeSessionRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.INITIALIZE_SESSION),\n params: DaemonInitializeSessionRequestParamsSchema,\n });\n\nexport const DaemonLoadSessionRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.LOAD_SESSION),\n params: DaemonLoadSessionRequestParamsSchema,\n});\n\nexport const DaemonAddUserMessageRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.ADD_USER_MESSAGE),\n params: DaemonAddUserMessageRequestParamsSchema,\n });\n\nexport const DaemonResolveQueuedUserMessageRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.RESOLVE_QUEUED_USER_MESSAGE),\n params: DaemonResolveQueuedUserMessageRequestParamsSchema,\n });\n\nexport const DaemonInterruptSessionRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.INTERRUPT_SESSION),\n params: DaemonInterruptSessionRequestParamsSchema,\n });\n\nexport const DaemonCloseSessionRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.CLOSE_SESSION),\n params: DaemonCloseSessionRequestParamsSchema,\n});\n\nexport const DaemonCloseSessionResultSchema = z.object({});\n\nexport const DaemonKillWorkerSessionRequestParamsSchema = z\n .object({\n /** The orchestrator session ID (where the mission is running) */\n sessionId: z.string(),\n })\n .extend(KillWorkerSessionRequestParamsSchema.shape);\n\nexport const DaemonKillWorkerSessionRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.KILL_WORKER_SESSION),\n params: DaemonKillWorkerSessionRequestParamsSchema,\n });\n\nexport const DaemonKillWorkerSessionResultSchema =\n KillWorkerSessionResultSchema;\n\nexport const DaemonListOpenedSessionsRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.LIST_OPENED_SESSIONS),\n params: DaemonListOpenedSessionsRequestParamsSchema,\n });\n\nexport const DaemonListAvailableSessionsRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.LIST_AVAILABLE_SESSIONS),\n params: DaemonListAvailableSessionsRequestParamsSchema,\n });\n\nexport const DaemonGetSessionMessagesRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.GET_SESSION_MESSAGES),\n params: DaemonGetSessionMessagesRequestParamsSchema,\n });\n\nexport const DaemonUpdateSessionSettingsRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.UPDATE_SESSION_SETTINGS),\n params: DaemonUpdateSessionSettingsRequestParamsSchema,\n });\n\nexport const DaemonValidateWorkingDirectoryRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.VALIDATE_WORKING_DIRECTORY),\n params: DaemonValidateWorkingDirectoryRequestParamsSchema,\n });\n\nexport const DaemonInitializeSessionResultSchema =\n InitializeSessionResultSchema;\n\nexport const DaemonLoadSessionResultSchema = LoadSessionResultSchema;\n\nexport const DaemonAddUserMessageResultSchema = AddUserMessageResultSchema;\n\nexport const DaemonResolveQueuedUserMessageResultSchema =\n ResolveQueuedUserMessageResultSchema;\n\nexport const DaemonInterruptSessionResultSchema = InterruptSessionResultSchema;\n\nexport const DaemonOpenedSessionInfoSchema = z.object({\n sessionId: z.string(),\n hostId: HostIdSchema.optional(),\n updatedAt: z.number(), // Unix epoch seconds (in-memory updatedAt timestamp)\n workingState: z.nativeEnum(DroidWorkingState),\n cwd: z.string().optional(), // Working directory for the session (may be missing for older sessions)\n repoRoot: z.string().optional(), // Git repo root for `cwd`; for worktree cwds this points at the main repo path. Used to group worktree sessions under their parent project in the sidebar.\n messagesCount: z.number().optional(), // Number of messages in session\n callingSessionId: z.string().optional(), // Parent session ID for child/worker sessions\n callingToolUseId: z.string().optional(), // Parent tool use ID that spawned this child session\n tags: z.array(SessionTagSchema).optional(), // Session tags for categorization\n});\n\nexport const DaemonAvailableSessionInfoSchema = z.object({\n sessionId: z.string(),\n hostId: HostIdSchema.optional(),\n updatedAt: z.number(), // Unix epoch seconds (file mtime)\n title: z.string().optional(), // May be missing on parse errors\n cwd: z.string().optional(), // Working directory for the session (may be missing for older sessions)\n repoRoot: z.string().optional(), // See DaemonOpenedSessionInfoSchema.repoRoot.\n messagesCount: z.number().optional(), // Number of messages in session\n archivedAt: z.string().optional(), // ISO timestamp when archived - presence indicates archived status\n callingSessionId: z.string().optional(), // Parent session ID for child/worker sessions (from JSONL summary `callingSessionId` field)\n callingToolUseId: z.string().optional(), // Parent tool use ID that spawned this child session (from JSONL summary)\n tags: z.array(SessionTagSchema).optional(), // Session tags for categorization\n mission: z\n .object({\n state: z.nativeEnum(MissionState).nullable(),\n title: z.string().nullable(),\n workingDirectory: z.string().nullable(),\n createdAt: z.string().nullable(),\n elapsedMs: z.number().nullable(),\n completedFeatures: z.number().nullable(),\n totalFeatures: z.number().nullable(),\n })\n .optional(),\n});\n\nexport const DaemonListOpenedSessionsResultSchema = z.object({\n sessions: z.array(DaemonOpenedSessionInfoSchema),\n});\n\nexport const DaemonListAvailableSessionsResultSchema = z.object({\n sessions: z.array(DaemonAvailableSessionInfoSchema),\n hasMore: z.boolean(),\n nextCursor: z.number().optional(),\n});\n\nexport const DaemonGetSessionMessagesResultSchema = z.object({\n messages: z.array(FactoryDroidMessageSchema),\n hasMore: z.boolean(),\n nextCursor: z.string().optional(),\n});\n\nexport const DaemonUpdateSessionSettingsResultSchema =\n UpdateSessionSettingsResultSchema;\n\nexport const DaemonGetUserInfoResultSchema = z.object({\n userId: z.string(),\n orgId: z.string(),\n});\n\nexport const DaemonValidateWorkingDirectoryResultSchema =\n ValidateWorkingDirectoryResultSchema;\n\n// Permission request schemas - extend client schemas with sessionId\nexport const DaemonRequestPermissionParamsSchema =\n RequestPermissionRequestParamsSchema.extend({\n sessionId: z.string(),\n });\n\nexport const DaemonRequestPermissionResultSchema =\n RequestPermissionResultSchema.and(z.object({ sessionId: z.string() }));\n\n// AskUser request schemas - extend droid schemas with sessionId\nexport const DaemonAskUserParamsSchema = AskUserRequestParamsSchema.extend({\n sessionId: z.string(),\n});\n\nexport const DaemonAskUserResultSchema = AskUserResultSchema.extend({\n sessionId: z.string(),\n});\n\n// ============================================================\n// List Files\n// ============================================================\n\nexport const DaemonListFilesRequestParamsSchema = z.object({\n sessionId: z.string(),\n showHidden: z.boolean().optional().default(false),\n});\n\nexport const DaemonListFilesResultSchema = z.object({\n files: z.array(z.string()),\n});\n\nexport const DaemonListFilesRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.LIST_FILES),\n params: DaemonListFilesRequestParamsSchema,\n});\n\nexport const DaemonListFilesResponseSchema =\n JsonRpcBaseResponseSuccessSchema.extend({\n result: DaemonListFilesResultSchema,\n });\n\n// ============================================================\n// Search Files (Fuzzy Search)\n// ============================================================\n\nexport const DaemonSearchFilesRequestParamsSchema = z.object({\n sessionId: z.string(),\n query: z.string(),\n maxResults: z.number().optional().default(60),\n showHidden: z.boolean().optional().default(false),\n});\n\nexport const DaemonSearchFilesResultSchema = z.object({\n files: z.array(z.string()),\n totalFiles: z.number(),\n});\n\nexport const DaemonSearchFilesRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.SEARCH_FILES),\n params: DaemonSearchFilesRequestParamsSchema,\n});\n\nexport const DaemonSearchFilesResponseSchema =\n JsonRpcBaseResponseSuccessSchema.extend({\n result: DaemonSearchFilesResultSchema,\n });\n\n// ============================================================\n// Search Sessions (Full-text search across session history)\n// ============================================================\n\nconst SessionSearchDocKindSchema = z.nativeEnum(SessionSearchDocKind);\n\nexport const DaemonSearchSessionsRequestParamsSchema = z.object({\n query: z.string(),\n kind: z.union([SessionSearchDocKindSchema, z.literal('all')]).optional(),\n limitSessions: z.number().optional(),\n limitHitsPerSession: z.number().optional(),\n contextChars: z.number().optional(),\n});\n\nexport const DaemonSearchSessionsHitSchema = z.object({\n docId: z.string(),\n kind: SessionSearchDocKindSchema,\n score: z.number().optional(),\n toolName: z.string().optional(),\n messageRole: z.enum(['user', 'assistant']).optional(),\n snippets: z.array(z.string()),\n});\n\nexport const DaemonSearchSessionsSessionResultSchema = z.object({\n sessionId: z.string(),\n title: z.string().optional(),\n updatedAt: z.number().optional(), // Unix timestamp in milliseconds for sorting\n hits: z.array(DaemonSearchSessionsHitSchema),\n totals: z\n .object({\n byKind: z.record(z.number()).optional(),\n toolUse: z.record(z.number()).optional(),\n toolResult: z.record(z.number()).optional(),\n })\n .optional(),\n});\n\nexport const DaemonSearchSessionsResultSchema = z.object({\n query: z.string(),\n sessions: z.array(DaemonSearchSessionsSessionResultSchema),\n});\n\nexport const DaemonSearchSessionsRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.SEARCH_SESSIONS),\n params: DaemonSearchSessionsRequestParamsSchema,\n });\n\nexport const DaemonSearchSessionsResponseSchema =\n JsonRpcBaseResponseSuccessSchema.extend({\n result: DaemonSearchSessionsResultSchema,\n });\n\n// ============================================================\n// Archive Session\n// ============================================================\n\nexport const DaemonArchiveSessionRequestParamsSchema = z.object({\n sessionId: z.string(),\n});\n\nexport const DaemonArchiveSessionResultSchema = z.object({\n success: z.boolean(),\n archivedAt: z.string(), // ISO timestamp\n});\n\nexport const DaemonArchiveSessionRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.ARCHIVE_SESSION),\n params: DaemonArchiveSessionRequestParamsSchema,\n });\n\nexport const DaemonArchiveSessionResponseSchema = createResponseSchema(\n DaemonArchiveSessionResultSchema\n);\n\n// ============================================================\n// Unarchive Session\n// ============================================================\n\nexport const DaemonUnarchiveSessionRequestParamsSchema = z.object({\n sessionId: z.string(),\n});\n\nexport const DaemonUnarchiveSessionResultSchema = z.object({\n success: z.boolean(),\n});\n\nexport const DaemonUnarchiveSessionRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.UNARCHIVE_SESSION),\n params: DaemonUnarchiveSessionRequestParamsSchema,\n });\n\nexport const DaemonUnarchiveSessionResponseSchema = createResponseSchema(\n DaemonUnarchiveSessionResultSchema\n);\n\n// ============================================================\n// Rename Session\n// ============================================================\n\nexport const DaemonRenameSessionRequestParamsSchema = z.object({\n sessionId: z.string(),\n title: z.string(),\n});\n\nexport const DaemonRenameSessionResultSchema = z.object({\n success: z.boolean(),\n});\n\nexport const DaemonRenameSessionRequestSchema = JsonRpcBaseRequestSchema.extend(\n {\n method: z.literal(DaemonDroidMethod.RENAME_SESSION),\n params: DaemonRenameSessionRequestParamsSchema,\n }\n);\n\nexport const DaemonRenameSessionResponseSchema =\n createAckCompatibleResponseSchema(DaemonRenameSessionResultSchema);\n\n// ============================================================\n// Get Git Diff\n// ============================================================\n\nexport const DaemonGetGitDiffRequestParamsSchema = z.object({\n sessionId: z.string(),\n baseBranch: z.string().optional(),\n statsOnly: z.boolean().optional(),\n});\n\nexport const DaemonGetGitDiffFileSchema = z.object({\n path: z.string(),\n additions: z.number(),\n deletions: z.number(),\n status: z.string(),\n});\n\nexport const DaemonGetGitDiffCommitSchema = z.object({\n hash: z.string(),\n message: z.string(),\n});\n\nconst DaemonGetGitDiffUnavailableReasonSchema = z\n .nativeEnum(DaemonGetGitDiffUnavailableReason)\n .catch(DaemonGetGitDiffUnavailableReason.Unknown);\n\nexport const DaemonGetGitDiffDataSchema = z.object({\n diff: z.string(),\n branch: z.string(),\n baseBranch: z.string(),\n files: z.array(DaemonGetGitDiffFileSchema),\n totalAdditions: z.number(),\n totalDeletions: z.number(),\n remoteUrl: z.string().nullable(),\n commits: z.array(DaemonGetGitDiffCommitSchema),\n committedDiff: z.string().default(''),\n committedFiles: z.array(DaemonGetGitDiffFileSchema).default([]),\n committedTotalAdditions: z.number().default(0),\n committedTotalDeletions: z.number().default(0),\n unstagedDiff: z.string().default(''),\n unstagedFiles: z.array(DaemonGetGitDiffFileSchema).default([]),\n unstagedTotalAdditions: z.number().default(0),\n unstagedTotalDeletions: z.number().default(0),\n});\n\nexport const DaemonGetGitDiffSuccessResultSchema = z.object({\n success: z.literal(true),\n data: DaemonGetGitDiffDataSchema,\n});\n\nexport const DaemonGetGitDiffUnavailableResultSchema = z.object({\n success: z.literal(false),\n unavailableReason: DaemonGetGitDiffUnavailableReasonSchema,\n unavailableMessage: z.string(),\n});\n\nexport const DaemonGetGitDiffResultSchema = z.preprocess(\n (value) => {\n if (\n value &&\n typeof value === 'object' &&\n !Array.isArray(value) &&\n !('success' in value)\n ) {\n const legacyResult = DaemonGetGitDiffDataSchema.safeParse(value);\n if (legacyResult.success) {\n return { success: true, data: legacyResult.data };\n }\n }\n\n return value;\n },\n z.discriminatedUnion('success', [\n DaemonGetGitDiffSuccessResultSchema,\n DaemonGetGitDiffUnavailableResultSchema,\n ])\n);\n\nexport const DaemonGetGitDiffRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.GET_GIT_DIFF),\n params: DaemonGetGitDiffRequestParamsSchema,\n});\n\nexport const DaemonGetGitDiffResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: DaemonGetGitDiffResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\n// ============================================================\n// Git Push\n// ============================================================\n\nexport const DaemonGitPushRequestParamsSchema = z.object({\n sessionId: z.string(),\n});\n\nexport const DaemonGitPushResultSchema = z.object({\n success: z.boolean(),\n});\n\nexport const DaemonGitPushRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.GIT_PUSH),\n params: DaemonGitPushRequestParamsSchema,\n});\n\nexport const DaemonGitPushResponseSchema = createResponseSchema(\n DaemonGitPushResultSchema\n);\n\n// ============================================================\n// Git Commit\n// ============================================================\n\nexport const DaemonGitCommitRequestParamsSchema = z.object({\n sessionId: z.string(),\n message: z.string(),\n});\n\nexport const DaemonGitCommitResultSchema = z.object({\n success: z.boolean(),\n});\n\nexport const DaemonGitCommitRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.GIT_COMMIT),\n params: DaemonGitCommitRequestParamsSchema,\n});\n\nexport const DaemonGitCommitResponseSchema = createResponseSchema(\n DaemonGitCommitResultSchema\n);\n\n// ============================================================\n// Create PR\n// ============================================================\n\nexport const DaemonCreatePRRequestParamsSchema = z.object({\n sessionId: z.string(),\n title: z.string(),\n body: z.string().optional(),\n baseBranch: z.string(),\n draft: z.boolean().optional(),\n linkedTicketIds: z.array(z.string()).optional(),\n linkedTicketUrls: z.array(z.string()).optional(),\n jiraIssueKeys: z.array(z.string()).optional(),\n linearIssueIds: z.array(z.string()).optional(),\n});\n\nexport const DaemonCreatePRResultSchema = z.object({\n number: z.number(),\n title: z.string(),\n url: z.string(),\n state: z.string(),\n draft: z.boolean(),\n});\n\nexport const DaemonCreatePRRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.CREATE_PR),\n params: DaemonCreatePRRequestParamsSchema,\n});\n\nexport const DaemonCreatePRResponseSchema = createResponseSchema(\n DaemonCreatePRResultSchema\n);\n\n// ============================================================\n// Semantic Diff Cache\n// ============================================================\n\nexport const DaemonGetSemanticDiffCacheRequestParamsSchema = z.object({\n currentBranch: z.string(),\n baseBranch: z.string(),\n});\n\nexport const DaemonGetSemanticDiffCacheResultSchema = z.object({\n content: z.string().nullable(),\n commitHash: z.string().nullable(),\n truncated: z.boolean(),\n});\n\nexport const DaemonGetSemanticDiffCacheRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.GET_SEMANTIC_DIFF_CACHE),\n params: DaemonGetSemanticDiffCacheRequestParamsSchema,\n });\n\nexport const DaemonGetSemanticDiffCacheResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: DaemonGetSemanticDiffCacheResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const DaemonSaveSemanticDiffCacheRequestParamsSchema = z.object({\n currentBranch: z.string(),\n baseBranch: z.string(),\n commitHash: z.string(),\n content: z.string(),\n truncated: z.boolean(),\n});\n\nexport const DaemonSaveSemanticDiffCacheResultSchema = z.object({\n success: z.boolean(),\n});\n\nexport const DaemonSaveSemanticDiffCacheRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.SAVE_SEMANTIC_DIFF_CACHE),\n params: DaemonSaveSemanticDiffCacheRequestParamsSchema,\n });\n\nexport const DaemonSaveSemanticDiffCacheResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: DaemonSaveSemanticDiffCacheResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\n// ============================================================\n// Generate Semantic Diff (Agent Flow)\n// ============================================================\n\nexport const DaemonGenerateSemanticDiffRequestParamsSchema = z.object({\n sessionId: z.string(),\n diff: z.string(),\n baseBranch: z.string(),\n currentBranch: z.string(),\n commitHash: z.string().optional(),\n modelId: z.string().optional(),\n unstagedDiff: z.string().optional(),\n});\n\nexport const DaemonGenerateSemanticDiffResultSchema = z.object({\n content: z.string(),\n truncated: z.boolean(),\n sessionId: z.string(),\n});\n\nexport const DaemonGenerateSemanticDiffRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.GENERATE_SEMANTIC_DIFF),\n params: DaemonGenerateSemanticDiffRequestParamsSchema,\n });\n\nexport const DaemonGenerateSemanticDiffResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: DaemonGenerateSemanticDiffResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\n// Get Proxy Token\n// ============================================================\n\nexport const DaemonGetProxyTokenResultSchema = z.object({\n token: z.string(),\n});\n\nexport const DaemonGetProxyTokenRequestSchema = JsonRpcBaseRequestSchema.extend(\n {\n method: z.literal(DaemonDroidMethod.GET_PROXY_TOKEN),\n }\n);\n\nexport const DaemonGetProxyTokenResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: DaemonGetProxyTokenResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\n// Get Workspace File Content\n// ============================================================\n\nconst DaemonGetWorkspaceFileContentRequestParamsSchema = z.object({\n sessionId: z.string(),\n filePath: z.string(),\n /**\n * How the file bytes should be encoded in the response. `utf8` (default)\n * returns decoded text for source/markdown previews; `base64` returns the\n * raw bytes for binary previews (PDF, images) that the client turns into a\n * blob URL.\n */\n encoding: z.enum(['utf8', 'base64']).optional(),\n});\n\nexport const DaemonGetWorkspaceFileContentResultSchema = z.object({\n content: z.string(),\n byteLength: z.number(),\n /**\n * Encoding of `content`: decoded text (`utf8`) or raw bytes (`base64`).\n * Optional for protocol back-compat; absent responses are treated as\n * `utf8` by the client.\n */\n encoding: z.enum(['utf8', 'base64']).optional(),\n /** Best-effort MIME type derived from the file extension, when known. */\n mimeType: z.string().optional(),\n /**\n * Set when a `utf8` request targeted a file whose bytes are not valid text\n * (e.g. a binary file opened by the generic code renderer). The client\n * shows a \"binary file\" guard instead of rendering garbage.\n */\n isBinary: z.boolean().optional(),\n});\n\nexport const DaemonGetWorkspaceFileContentRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.GET_WORKSPACE_FILE_CONTENT),\n params: DaemonGetWorkspaceFileContentRequestParamsSchema,\n });\n\nexport const DaemonGetWorkspaceFileContentResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: DaemonGetWorkspaceFileContentResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\n// Rewind schemas\n\nconst DaemonGetRewindInfoRequestParamsSchema = z.object({\n sessionId: z.string(),\n messageId: z.string(),\n});\n\nconst DaemonRewindFileSnapshotSchema = z.object({\n filePath: z.string(),\n contentHash: z.string(),\n size: z.number(),\n});\n\nconst DaemonRewindFileCreationSchema = z.object({\n filePath: z.string(),\n});\n\nconst DaemonRewindEvictedFileSchema = z.object({\n filePath: z.string(),\n reason: z.string(),\n});\n\nexport const DaemonGetRewindInfoResultSchema = z.object({\n availableFiles: z.array(DaemonRewindFileSnapshotSchema),\n createdFiles: z.array(DaemonRewindFileCreationSchema),\n evictedFiles: z.array(DaemonRewindEvictedFileSchema),\n});\n\nexport const DaemonGetRewindInfoRequestSchema = JsonRpcBaseRequestSchema.extend(\n {\n method: z.literal(DaemonDroidMethod.GET_REWIND_INFO),\n params: DaemonGetRewindInfoRequestParamsSchema,\n }\n);\n\nexport const DaemonGetRewindInfoResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: DaemonGetRewindInfoResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nconst DaemonExecuteRewindRequestParamsSchema = z.object({\n sessionId: z.string(),\n messageId: z.string(),\n filesToRestore: z.array(DaemonRewindFileSnapshotSchema),\n filesToDelete: z.array(DaemonRewindFileCreationSchema),\n forkTitle: z.string(),\n});\n\nexport const DaemonExecuteRewindResultSchema = z.object({\n newSessionId: z.string(),\n restoredCount: z.number(),\n deletedCount: z.number(),\n failedRestoreCount: z.number(),\n failedDeleteCount: z.number(),\n});\n\nexport const DaemonExecuteRewindRequestSchema = JsonRpcBaseRequestSchema.extend(\n {\n method: z.literal(DaemonDroidMethod.EXECUTE_REWIND),\n params: DaemonExecuteRewindRequestParamsSchema,\n }\n);\n\nexport const DaemonExecuteRewindResponseSchema = createResponseSchema(\n DaemonExecuteRewindResultSchema\n);\n\n// ============================================================\n// Compact Session\n// ============================================================\n\nexport const DaemonCompactSessionRequestParamsSchema = z.object({\n sessionId: z.string(),\n customInstructions: z.string().optional(),\n});\n\nexport const DaemonCompactSessionResultSchema = z.object({\n newSessionId: z.string(),\n removedCount: z.number(),\n});\n\nexport const DaemonCompactSessionRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.COMPACT_SESSION),\n params: DaemonCompactSessionRequestParamsSchema,\n });\n\nexport const DaemonCompactSessionResponseSchema = createResponseSchema(\n DaemonCompactSessionResultSchema\n);\n\n// Fork Session\n// ============================================================\n\nexport const DaemonForkSessionRequestParamsSchema = z.object({\n sessionId: z.string(),\n title: z.string().optional(),\n tags: z\n .array(\n z.object({ name: z.string(), metadata: z.record(z.string()).optional() })\n )\n .optional(),\n});\n\nexport const DaemonForkSessionResultSchema = z.object({\n newSessionId: z.string(),\n});\n\nexport const DaemonForkSessionRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.FORK_SESSION),\n params: DaemonForkSessionRequestParamsSchema,\n});\n\nexport const DaemonForkSessionResponseSchema = createResponseSchema(\n DaemonForkSessionResultSchema\n);\n\n// Warmup Cache\n// ============================================================\n\nexport const DaemonWarmupCacheRequestParamsSchema = z.object({\n sessionId: z.string(),\n});\n\nexport const DaemonWarmupCacheRequestSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.WARMUP_CACHE),\n params: DaemonWarmupCacheRequestParamsSchema,\n});\n\nconst DaemonWarmupCacheResultSchema = z.object({});\n\nexport const DaemonWarmupCacheResponseSchema = createResponseSchema(\n DaemonWarmupCacheResultSchema\n);\n\n// ============================================================\n// Get Context Breakdown\n// ============================================================\n\n// The daemon RPC is a passthrough — reuse the droid SDK result shape directly.\nexport const DaemonGetContextBreakdownResultSchema =\n GetContextBreakdownResultSchema;\n\nconst DaemonGetContextBreakdownRequestParamsSchema = z.object({\n sessionId: z.string(),\n});\n\nexport const DaemonGetContextBreakdownRequestSchema =\n JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidMethod.GET_CONTEXT_BREAKDOWN),\n params: DaemonGetContextBreakdownRequestParamsSchema,\n });\n\nexport const DaemonGetContextBreakdownResponseSchema = createResponseSchema(\n DaemonGetContextBreakdownResultSchema\n);\n\n// Union of all daemon request types (discriminated by method)\nexport const DaemonRequestSchema = z.discriminatedUnion('method', [\n DaemonInitializeSessionRequestSchema,\n DaemonLoadSessionRequestSchema,\n DaemonAddUserMessageRequestSchema,\n DaemonResolveQueuedUserMessageRequestSchema,\n DaemonInterruptSessionRequestSchema,\n DaemonCloseSessionRequestSchema,\n DaemonKillWorkerSessionRequestSchema,\n DaemonListOpenedSessionsRequestSchema,\n DaemonListAvailableSessionsRequestSchema,\n DaemonGetSessionMessagesRequestSchema,\n DaemonUpdateSessionSettingsRequestSchema,\n DaemonGetDefaultSettingsRequestSchema,\n DaemonUpdateSessionDefaultsRequestSchema,\n DaemonValidateWorkingDirectoryRequestSchema,\n DaemonListFilesRequestSchema,\n DaemonSearchFilesRequestSchema,\n DaemonGetMcpConfigRequestSchema,\n DaemonUpdateMcpConfigRequestSchema,\n DaemonToggleMcpServerRequestSchema,\n DaemonAuthenticateMcpServerRequestSchema,\n DaemonCancelMcpAuthRequestSchema,\n DaemonClearMcpAuthRequestSchema,\n DaemonAddMcpServerRequestSchema,\n DaemonRemoveMcpServerRequestSchema,\n DaemonListMcpRegistryRequestSchema,\n DaemonListMcpToolsRequestSchema,\n DaemonListMcpServersRequestSchema,\n DaemonToggleMcpToolRequestSchema,\n DaemonSubmitMcpAuthCodeRequestSchema,\n DaemonSearchSessionsRequestSchema,\n DaemonArchiveSessionRequestSchema,\n DaemonUnarchiveSessionRequestSchema,\n DaemonRenameSessionRequestSchema,\n DaemonListSkillsRequestSchema,\n DaemonListCommandsRequestSchema,\n DaemonListAvailablePluginsRequestSchema,\n DaemonListInstalledPluginsRequestSchema,\n DaemonInstallPluginRequestSchema,\n DaemonUninstallPluginRequestSchema,\n DaemonUpdatePluginRequestSchema,\n DaemonListMarketplacesRequestSchema,\n DaemonAddMarketplaceRequestSchema,\n DaemonRemoveMarketplaceRequestSchema,\n DaemonUpdateMarketplaceRequestSchema,\n DaemonSubmitBugReportRequestSchema,\n DaemonListAutomationsRequestSchema,\n DaemonRunAutomationRequestSchema,\n DaemonPauseAutomationRequestSchema,\n DaemonResumeAutomationRequestSchema,\n DaemonGetAutomationHistoryRequestSchema,\n DaemonGetAutomationVisualRequestSchema,\n DaemonCreateAutomationRequestSchema,\n DaemonUpdateAutomationModelRequestSchema,\n DaemonUpdateAutomationPrivacyRequestSchema,\n DaemonRenameAutomationRequestSchema,\n DaemonDeleteAutomationRequestSchema,\n DaemonForkAutomationRequestSchema,\n DaemonListCronsRequestSchema,\n DaemonCreateCronRequestSchema,\n DaemonUpdateCronRequestSchema,\n DaemonDeleteCronRequestSchema,\n DaemonHoldSessionCronsRequestSchema,\n DaemonResumeSessionCronsRequestSchema,\n DaemonGetGitDiffRequestSchema,\n DaemonGitPushRequestSchema,\n DaemonGitCommitRequestSchema,\n DaemonCreatePRRequestSchema,\n DaemonGetSemanticDiffCacheRequestSchema,\n DaemonSaveSemanticDiffCacheRequestSchema,\n DaemonGenerateSemanticDiffRequestSchema,\n DaemonGetProxyTokenRequestSchema,\n DaemonGetWorkspaceFileContentRequestSchema,\n DaemonTriggerUpdateRequestSchema,\n DaemonInstallSshKeyRequestSchema,\n DaemonGetRewindInfoRequestSchema,\n DaemonExecuteRewindRequestSchema,\n DaemonCompactSessionRequestSchema,\n DaemonForkSessionRequestSchema,\n DaemonWarmupCacheRequestSchema,\n DaemonGetContextBreakdownRequestSchema,\n]);\n\n// Daemon response schemas\nexport const DaemonInitializeSessionResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: DaemonInitializeSessionResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const DaemonLoadSessionResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: DaemonLoadSessionResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const DaemonAddUserMessageResponseSchema =\n createAckCompatibleResponseSchema(DaemonAddUserMessageResultSchema);\n\nexport const DaemonResolveQueuedUserMessageResponseSchema =\n createAckCompatibleResponseSchema(DaemonResolveQueuedUserMessageResultSchema);\n\nexport const DaemonInterruptSessionResponseSchema = createResponseSchema(\n DaemonInterruptSessionResultSchema\n);\n\nexport const DaemonCloseSessionResponseSchema = createResponseSchema(\n DaemonCloseSessionResultSchema\n);\n\nexport const DaemonListOpenedSessionsResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: DaemonListOpenedSessionsResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const DaemonListAvailableSessionsResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: DaemonListAvailableSessionsResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const DaemonGetSessionMessagesResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: DaemonGetSessionMessagesResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\nexport const DaemonUpdateSessionSettingsResponseSchema =\n createAckCompatibleResponseSchema(DaemonUpdateSessionSettingsResultSchema);\n\nexport const DaemonValidateWorkingDirectoryResponseSchema = z.union([\n JsonRpcBaseResponseSuccessSchema.extend({\n result: DaemonValidateWorkingDirectoryResultSchema,\n }),\n JsonRpcBaseResponseFailureSchema,\n]);\n\n// Session inactivity params - daemon-level lifecycle event\nexport const SessionInactivityNotificationSchema = z.object({\n type: z.literal(DaemonSpecificNotificationType.SESSION_INACTIVITY),\n message: z.string(),\n timestamp: z.number(),\n timeoutSeconds: z.number(),\n});\n\n// Session process exit params - daemon-level lifecycle event\nconst SessionProcessExitedNotificationSchema = z.object({\n type: z.literal(DaemonSpecificNotificationType.SESSION_PROCESS_EXITED),\n message: z.string(),\n timestamp: z.number(),\n});\n\nconst SessionClosedNotificationSchema = z.object({\n type: z.literal(DaemonSpecificNotificationType.SESSION_CLOSED),\n timestamp: z.number(),\n});\n\n// Session unsubscribed params - daemon-level notification when another client connects\nexport const SessionUnsubscribedNotificationSchema = z.object({\n type: z.literal(DaemonSpecificNotificationType.SESSION_UNSUBSCRIBED),\n message: z.string(),\n});\n\nexport const ChildSessionAvailableNotificationSchema = z.object({\n type: z.literal(DaemonSpecificNotificationType.CHILD_SESSION_AVAILABLE),\n childSessionId: z.string(),\n timestamp: z.number(),\n});\n\n// Daemon session notification schema - extends SDK schema with sessionId\nexport const DaemonSessionNotificationParamsSchema = z.object({\n sessionId: z.string(),\n notification: z.discriminatedUnion('type', [\n ...SessionNotificationSchemaList,\n SessionInactivityNotificationSchema,\n SessionProcessExitedNotificationSchema,\n SessionClosedNotificationSchema,\n SessionUnsubscribedNotificationSchema,\n ChildSessionAvailableNotificationSchema,\n TerminalDataNotificationSchema,\n TerminalExitNotificationSchema,\n ]),\n});\n\nexport const DaemonSessionNotificationSchema =\n JsonRpcBaseNotificationSchema.extend({\n method: z.literal(DaemonDroidEvent.SESSION_NOTIFICATION),\n params: DaemonSessionNotificationParamsSchema,\n });\n\n// Permission request schema - daemon-level request for tool permissions\nexport const DaemonRequestPermissionSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidEvent.REQUEST_PERMISSION),\n params: DaemonRequestPermissionParamsSchema,\n});\n\n// AskUser request schema - daemon-level request for user questionnaire answers\nexport const DaemonAskUserSchema = JsonRpcBaseRequestSchema.extend({\n method: z.literal(DaemonDroidEvent.ASK_USER),\n params: DaemonAskUserParamsSchema,\n});\n"],"mappings":"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AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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","names":["JsonRpcMessageType","JsonRpcErrorCode","DroidInteractionMode","Platform","AutonomyLevel","AutonomyMode","ToolConfirmationOutcome","ToolConfirmationType","SandboxViolationType","SandboxViolationReason","SandboxOperationType","DroidServerMethod","QueuePlacement","ResolveQueuedUserMessageAction","DroidClientMethod","SessionNotificationType","StructuredOutputErrorCode","McpAuthOutcome","McpServerStatus","McpServerType","McpStatus","DroidErrorType","DroidWorkingState","DroidLoopStatus","DroidLoopStopReason","ContextStatsAccuracy","ToolExecutionRenderStatus","DecompSessionType","MissionState","FeatureStatus","FeatureSuccessState","IssueSeverity","DismissalType","ProgressLogEntryType","WorkerFailureReason","MissionPauseReason","ContextCategoryColorKey","MessageVisibility","MessageRoleNoSystem","MessageRole","MessageContentBlockType","DocumentSourceType","SessionPlatform","SessionOrigin","ModelID","OpenAIPhase","ChatCompletionReasoningField","ReasoningEffort","ModelProvider","ApiProvider","ModelKind","LLMModelTier","SettingsLevel","DroidLocation","SkillLocation","SandboxMode","DiffMode","SoundFocusMode","TodoDisplayMode","SubagentSoundMode","LogoAnimationMode","ToolResultDisplay","z","z","z","z","z","z","z","z","z","ReasoningEffortSchema","z","z","z","ReasoningEffortSchema","z","z","z","ReasoningEffortSchema","z","modelIdValues","tolerantModelIdArray","SandboxModeSchema","z","z","z","z","z","z","z","z","z","z","z","z","z","AutomationScheduleCadence","AutomationValidationIssueType","AutomationErrorCode","AutomationPrivacyLevel","z","z","z","z","SessionTitleAutoStage","z","z","z","z","SessionSettingsSchema","ToolExecutionLocation","ToolStatus","RiskLevel","z","z","z","TokenUsageSchema","z","DaemonConnectionMethod","DaemonConnectionEvent","ConnectionState","DaemonTerminalMethod","DaemonTerminalEvent","DaemonDroidMethod","DaemonGetGitDiffUnavailableReason","DaemonSettingsMethod","DaemonManagementMethod","DaemonRelayMethod","DaemonRelayEvent","DaemonCronEvent","DaemonSpecificNotificationType","DaemonDroidEvent","CreateTerminalError","McpConfigSource","SessionLoadState","SessionSearchDocKind","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z"]}
|