{"version":3,"sources":["../../src/protocol/index.ts","../../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":["// Barrel for the protocol source-of-truth modules.\n\nexport * from './constants.js';\nexport * from './enums.js';\nexport * from './json-rpc.js';\nexport * from './host.js';\nexport * from './session.js';\nexport * from './session-source.js';\nexport * from './messages.js';\nexport * from './model-settings.js';\nexport * from './settings.js';\nexport * from './general-settings.js';\nexport * from './loop.js';\nexport * from './selectable-list-item.js';\nexport * from './custom-models.js';\nexport * from './mcp.js';\nexport * from './mission-decomposition.js';\nexport * from './cli.js';\nexport * from './client.js';\n\n// TIER-4d aux leaves\nexport * from './automations-enums.js';\nexport * from './automations.js';\nexport * from './crons.js';\nexport * from './session-summary.js';\nexport * from './session-tools.js';\nexport * from './session-settings-schema.js';\nexport * from './session-settings-types.js';\nexport * from './policy.js';\nexport * from './tools-enums.js';\nexport * from './tools.js';\nexport * from './updater.js';\n\n// `./usage.js` defines its own `TokenUsageSchema` whose shape (snake-cased\n// integer fields) differs from the one in `./session.js`. To keep both\n// symbols distinct on the public barrel, `./usage.js` is re-exported under a\n// namespace alias rather than as a top-level wildcard.\nexport * as usage from './usage.js';\n\nexport * as daemon from './daemon/index.js';\n","// 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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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D;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;AAA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","names":["SessionSettingsSchema","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","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","ReasoningEffortSchema","import_zod","import_zod","ReasoningEffortSchema","import_zod","ReasoningEffortSchema","modelIdValues","tolerantModelIdArray","SandboxModeSchema","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","AutomationScheduleCadence","AutomationValidationIssueType","AutomationErrorCode","AutomationPrivacyLevel","import_zod","import_zod","import_zod","SessionTitleAutoStage","import_zod","import_zod","SessionSettingsSchema","ToolExecutionLocation","ToolStatus","RiskLevel","import_zod","import_zod","TokenUsageSchema","import_zod","DaemonConnectionMethod","DaemonConnectionEvent","ConnectionState","DaemonTerminalMethod","DaemonTerminalEvent","DaemonDroidMethod","DaemonGetGitDiffUnavailableReason","DaemonSettingsMethod","DaemonManagementMethod","DaemonRelayMethod","DaemonRelayEvent","DaemonCronEvent","DaemonSpecificNotificationType","DaemonDroidEvent","CreateTerminalError","McpConfigSource","SessionLoadState","SessionSearchDocKind","import_zod","z","import_zod","z","import_zod","z","import_zod","import_zod","z","import_zod","z","import_zod","z","import_zod","z","import_zod","z","import_zod","import_zod","z","import_zod","z","import_zod","z"]}