/** * Configuration schemas using Zod */ import { z } from 'zod'; export declare const PROVIDER_CONFIG_SCHEMA: z.ZodObject<{ apiKey: z.ZodOptional; baseUrl: z.ZodOptional; default_model: z.ZodOptional; max_retries: z.ZodOptional; prompt_caching: z.ZodOptional; rate_limit: z.ZodOptional; tokens_per_minute: z.ZodOptional; }, "strip", z.ZodTypeAny, { requests_per_minute?: number | undefined; tokens_per_minute?: number | undefined; }, { requests_per_minute?: number | undefined; tokens_per_minute?: number | undefined; }>>; timeout_ms: z.ZodOptional; vertexAI: z.ZodOptional; vertexProjectId: z.ZodOptional; vertexRegion: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ apiKey: z.ZodOptional; baseUrl: z.ZodOptional; default_model: z.ZodOptional; max_retries: z.ZodOptional; prompt_caching: z.ZodOptional; rate_limit: z.ZodOptional; tokens_per_minute: z.ZodOptional; }, "strip", z.ZodTypeAny, { requests_per_minute?: number | undefined; tokens_per_minute?: number | undefined; }, { requests_per_minute?: number | undefined; tokens_per_minute?: number | undefined; }>>; timeout_ms: z.ZodOptional; vertexAI: z.ZodOptional; vertexProjectId: z.ZodOptional; vertexRegion: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ apiKey: z.ZodOptional; baseUrl: z.ZodOptional; default_model: z.ZodOptional; max_retries: z.ZodOptional; prompt_caching: z.ZodOptional; rate_limit: z.ZodOptional; tokens_per_minute: z.ZodOptional; }, "strip", z.ZodTypeAny, { requests_per_minute?: number | undefined; tokens_per_minute?: number | undefined; }, { requests_per_minute?: number | undefined; tokens_per_minute?: number | undefined; }>>; timeout_ms: z.ZodOptional; vertexAI: z.ZodOptional; vertexProjectId: z.ZodOptional; vertexRegion: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; export declare const PROVIDERS_CONFIG_SCHEMA: z.ZodRecord; baseUrl: z.ZodOptional; default_model: z.ZodOptional; max_retries: z.ZodOptional; prompt_caching: z.ZodOptional; rate_limit: z.ZodOptional; tokens_per_minute: z.ZodOptional; }, "strip", z.ZodTypeAny, { requests_per_minute?: number | undefined; tokens_per_minute?: number | undefined; }, { requests_per_minute?: number | undefined; tokens_per_minute?: number | undefined; }>>; timeout_ms: z.ZodOptional; vertexAI: z.ZodOptional; vertexProjectId: z.ZodOptional; vertexRegion: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ apiKey: z.ZodOptional; baseUrl: z.ZodOptional; default_model: z.ZodOptional; max_retries: z.ZodOptional; prompt_caching: z.ZodOptional; rate_limit: z.ZodOptional; tokens_per_minute: z.ZodOptional; }, "strip", z.ZodTypeAny, { requests_per_minute?: number | undefined; tokens_per_minute?: number | undefined; }, { requests_per_minute?: number | undefined; tokens_per_minute?: number | undefined; }>>; timeout_ms: z.ZodOptional; vertexAI: z.ZodOptional; vertexProjectId: z.ZodOptional; vertexRegion: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ apiKey: z.ZodOptional; baseUrl: z.ZodOptional; default_model: z.ZodOptional; max_retries: z.ZodOptional; prompt_caching: z.ZodOptional; rate_limit: z.ZodOptional; tokens_per_minute: z.ZodOptional; }, "strip", z.ZodTypeAny, { requests_per_minute?: number | undefined; tokens_per_minute?: number | undefined; }, { requests_per_minute?: number | undefined; tokens_per_minute?: number | undefined; }>>; timeout_ms: z.ZodOptional; vertexAI: z.ZodOptional; vertexProjectId: z.ZodOptional; vertexRegion: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; export declare const DEFAULTS_CONFIG_SCHEMA: z.ZodObject<{ default_provider: z.ZodOptional; dry_run: z.ZodDefault; dry_run_estimate_tokens: z.ZodDefault; dry_run_show_diffs: z.ZodDefault; interactive: z.ZodDefault; log_level: z.ZodDefault>; output_format: z.ZodDefault>; session_mode: z.ZodDefault; }, "strip", z.ZodTypeAny, { dry_run: boolean; dry_run_estimate_tokens: boolean; dry_run_show_diffs: boolean; interactive: boolean; log_level: "debug" | "info" | "warn" | "error"; output_format: "markdown" | "json" | "yaml"; session_mode: boolean; default_provider?: string | undefined; }, { default_provider?: string | undefined; dry_run?: boolean | undefined; dry_run_estimate_tokens?: boolean | undefined; dry_run_show_diffs?: boolean | undefined; interactive?: boolean | undefined; log_level?: "debug" | "info" | "warn" | "error" | undefined; output_format?: "markdown" | "json" | "yaml" | undefined; session_mode?: boolean | undefined; }>; export declare const LOGGING_RETENTION_CONFIG_SCHEMA: z.ZodObject<{ cleanup_interval_hours: z.ZodDefault; compress_after_days: z.ZodOptional; daily_file_max_size_mb: z.ZodDefault; dry_run: z.ZodDefault; enabled: z.ZodDefault; logs_path: z.ZodOptional; max_age_days: z.ZodOptional; max_files: z.ZodOptional; max_size_mb: z.ZodOptional; start_delay_minutes: z.ZodOptional; }, "strip", z.ZodTypeAny, { dry_run: boolean; cleanup_interval_hours: number; daily_file_max_size_mb: number; enabled: boolean; compress_after_days?: number | undefined; logs_path?: string | undefined; max_age_days?: number | undefined; max_files?: number | undefined; max_size_mb?: number | undefined; start_delay_minutes?: number | undefined; }, { dry_run?: boolean | undefined; cleanup_interval_hours?: number | undefined; compress_after_days?: number | undefined; daily_file_max_size_mb?: number | undefined; enabled?: boolean | undefined; logs_path?: string | undefined; max_age_days?: number | undefined; max_files?: number | undefined; max_size_mb?: number | undefined; start_delay_minutes?: number | undefined; }>; export declare const SESSION_RETENTION_CONFIG_SCHEMA: z.ZodObject<{ cleanup_interval_hours: z.ZodDefault; compress_after_days: z.ZodOptional; dry_run: z.ZodDefault; enabled: z.ZodDefault; max_age_days: z.ZodOptional; max_count: z.ZodOptional; max_size_mb: z.ZodOptional; start_delay_minutes: z.ZodOptional; timeout: z.ZodOptional; }, "strip", z.ZodTypeAny, { dry_run: boolean; cleanup_interval_hours: number; enabled: boolean; compress_after_days?: number | undefined; max_age_days?: number | undefined; max_size_mb?: number | undefined; start_delay_minutes?: number | undefined; max_count?: number | undefined; timeout?: number | undefined; }, { dry_run?: boolean | undefined; cleanup_interval_hours?: number | undefined; compress_after_days?: number | undefined; enabled?: boolean | undefined; max_age_days?: number | undefined; max_size_mb?: number | undefined; start_delay_minutes?: number | undefined; max_count?: number | undefined; timeout?: number | undefined; }>; export declare const FEATURE_FLAGS_SCHEMA: z.ZodObject<{ agent_selection_analytics: z.ZodDefault; agent_selection_fallback_reporting: z.ZodDefault; agent_selection_monitoring: z.ZodDefault; dynamic_agent_selection: z.ZodDefault; dynamic_agent_selection_implement_only: z.ZodDefault; }, "strip", z.ZodTypeAny, { agent_selection_analytics: boolean; agent_selection_fallback_reporting: boolean; agent_selection_monitoring: boolean; dynamic_agent_selection: boolean; dynamic_agent_selection_implement_only: boolean; }, { agent_selection_analytics?: boolean | undefined; agent_selection_fallback_reporting?: boolean | undefined; agent_selection_monitoring?: boolean | undefined; dynamic_agent_selection?: boolean | undefined; dynamic_agent_selection_implement_only?: boolean | undefined; }>; export declare const AUTO_UPDATE_CONFIG_SCHEMA: z.ZodObject<{ frequencyDays: z.ZodDefault; mode: z.ZodDefault>; }, "strip", z.ZodTypeAny, { frequencyDays: number; mode: "auto" | "reminder" | "disabled"; }, { frequencyDays?: number | undefined; mode?: "auto" | "reminder" | "disabled" | undefined; }>; export declare const HOOK_COMMAND_SCHEMA: z.ZodObject<{ async: z.ZodOptional; command: z.ZodString; statusMessage: z.ZodOptional; timeout: z.ZodOptional; type: z.ZodLiteral<"command">; }, "strip", z.ZodTypeAny, { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }, { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }>; export declare const HOOK_MATCHER_SCHEMA: z.ZodObject<{ hooks: z.ZodArray; command: z.ZodString; statusMessage: z.ZodOptional; timeout: z.ZodOptional; type: z.ZodLiteral<"command">; }, "strip", z.ZodTypeAny, { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }, { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }>, "many">; matcher: z.ZodString; }, "strip", z.ZodTypeAny, { hooks: { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }[]; matcher: string; }, { hooks: { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }[]; matcher: string; }>; export declare const HOOKS_CONFIG_SCHEMA: z.ZodObject<{ PostToolUse: z.ZodOptional; command: z.ZodString; statusMessage: z.ZodOptional; timeout: z.ZodOptional; type: z.ZodLiteral<"command">; }, "strip", z.ZodTypeAny, { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }, { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }>, "many">; matcher: z.ZodString; }, "strip", z.ZodTypeAny, { hooks: { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }[]; matcher: string; }, { hooks: { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }[]; matcher: string; }>, "many">>; PreToolUse: z.ZodOptional; command: z.ZodString; statusMessage: z.ZodOptional; timeout: z.ZodOptional; type: z.ZodLiteral<"command">; }, "strip", z.ZodTypeAny, { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }, { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }>, "many">; matcher: z.ZodString; }, "strip", z.ZodTypeAny, { hooks: { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }[]; matcher: string; }, { hooks: { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }[]; matcher: string; }>, "many">>; }, "strip", z.ZodTypeAny, { PostToolUse?: { hooks: { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }[]; matcher: string; }[] | undefined; PreToolUse?: { hooks: { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }[]; matcher: string; }[] | undefined; }, { PostToolUse?: { hooks: { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }[]; matcher: string; }[] | undefined; PreToolUse?: { hooks: { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }[]; matcher: string; }[] | undefined; }>; export declare const PATHS_CONFIG_SCHEMA: z.ZodObject<{ agents_dir: z.ZodOptional; commands_dir: z.ZodOptional; config_file: z.ZodOptional; logs_dir: z.ZodOptional; prompts_dir: z.ZodOptional; sessions_dir: z.ZodOptional; }, "strip", z.ZodTypeAny, { agents_dir?: string | undefined; commands_dir?: string | undefined; config_file?: string | undefined; logs_dir?: string | undefined; prompts_dir?: string | undefined; sessions_dir?: string | undefined; }, { agents_dir?: string | undefined; commands_dir?: string | undefined; config_file?: string | undefined; logs_dir?: string | undefined; prompts_dir?: string | undefined; sessions_dir?: string | undefined; }>; /** * Memory configuration schema. * * The host owns only two cross-cutting fields: whether memory is enabled * and which provider is active. Every vault tuning knob (half-lives, * thresholds, embedding settings, recall parameters) lives under * `plugins.memory-vault.*` and is validated by the bundled vault's own * `VAULT_PLUGIN_CONFIG_SCHEMA`. Strict mode surfaces stray legacy keys at * parse time; for the friendly remediation message see * `assertNoLegacyMemoryKeys()` in `memory-config-guard.ts`. */ export declare const MEMORY_CONFIG_SCHEMA: z.ZodObject<{ enabled: z.ZodDefault; provider: z.ZodDefault; }, "strict", z.ZodTypeAny, { enabled: boolean; provider: string; }, { enabled?: boolean | undefined; provider?: string | undefined; }>; export declare const PLUGIN_SOURCE_SCHEMA: z.ZodObject<{ path: z.ZodOptional; scope: z.ZodOptional; type: z.ZodEnum<["git", "local", "npm"]>; url: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "git" | "local" | "npm"; path?: string | undefined; scope?: string | undefined; url?: string | undefined; }, { type: "git" | "local" | "npm"; path?: string | undefined; scope?: string | undefined; url?: string | undefined; }>; export declare const PLUGINS_CONFIG_SCHEMA: z.ZodObject<{ /** * How plugin updates discovered at startup are applied. * - 'check-only': notify only, never install * - 'prompt' (default): confirm interactively before each install; falls back to check-only when no TTY * - 'install': install silently (legacy behaviour; not recommended) */ autoUpdate: z.ZodDefault>; enabled: z.ZodOptional>; sources: z.ZodOptional; scope: z.ZodOptional; type: z.ZodEnum<["git", "local", "npm"]>; url: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "git" | "local" | "npm"; path?: string | undefined; scope?: string | undefined; url?: string | undefined; }, { type: "git" | "local" | "npm"; path?: string | undefined; scope?: string | undefined; url?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ /** * How plugin updates discovered at startup are applied. * - 'check-only': notify only, never install * - 'prompt' (default): confirm interactively before each install; falls back to check-only when no TTY * - 'install': install silently (legacy behaviour; not recommended) */ autoUpdate: z.ZodDefault>; enabled: z.ZodOptional>; sources: z.ZodOptional; scope: z.ZodOptional; type: z.ZodEnum<["git", "local", "npm"]>; url: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "git" | "local" | "npm"; path?: string | undefined; scope?: string | undefined; url?: string | undefined; }, { type: "git" | "local" | "npm"; path?: string | undefined; scope?: string | undefined; url?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ /** * How plugin updates discovered at startup are applied. * - 'check-only': notify only, never install * - 'prompt' (default): confirm interactively before each install; falls back to check-only when no TTY * - 'install': install silently (legacy behaviour; not recommended) */ autoUpdate: z.ZodDefault>; enabled: z.ZodOptional>; sources: z.ZodOptional; scope: z.ZodOptional; type: z.ZodEnum<["git", "local", "npm"]>; url: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "git" | "local" | "npm"; path?: string | undefined; scope?: string | undefined; url?: string | undefined; }, { type: "git" | "local" | "npm"; path?: string | undefined; scope?: string | undefined; url?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>; export declare const OBSERVABILITY_CONFIG_SCHEMA: z.ZodObject<{ thinking_required_for: z.ZodOptional>; trace_retention_days: z.ZodDefault; }, "strip", z.ZodTypeAny, { trace_retention_days: number; thinking_required_for?: string[] | undefined; }, { thinking_required_for?: string[] | undefined; trace_retention_days?: number | undefined; }>; export declare const BUDGETS_CONFIG_SCHEMA: z.ZodObject<{ per_command_usd: z.ZodOptional; per_session_usd: z.ZodOptional; per_stage_tokens: z.ZodOptional; policy: z.ZodDefault>; }, "strip", z.ZodTypeAny, { policy: "strict" | "tolerant"; per_command_usd?: number | undefined; per_session_usd?: number | undefined; per_stage_tokens?: number | undefined; }, { per_command_usd?: number | undefined; per_session_usd?: number | undefined; per_stage_tokens?: number | undefined; policy?: "strict" | "tolerant" | undefined; }>; export declare const CONFIG_SCHEMA: z.ZodObject<{ autoUpdate: z.ZodOptional; mode: z.ZodDefault>; }, "strip", z.ZodTypeAny, { frequencyDays: number; mode: "auto" | "reminder" | "disabled"; }, { frequencyDays?: number | undefined; mode?: "auto" | "reminder" | "disabled" | undefined; }>>; budgets: z.ZodOptional; per_session_usd: z.ZodOptional; per_stage_tokens: z.ZodOptional; policy: z.ZodDefault>; }, "strip", z.ZodTypeAny, { policy: "strict" | "tolerant"; per_command_usd?: number | undefined; per_session_usd?: number | undefined; per_stage_tokens?: number | undefined; }, { per_command_usd?: number | undefined; per_session_usd?: number | undefined; per_stage_tokens?: number | undefined; policy?: "strict" | "tolerant" | undefined; }>>; defaults: z.ZodObject<{ default_provider: z.ZodOptional; dry_run: z.ZodDefault; dry_run_estimate_tokens: z.ZodDefault; dry_run_show_diffs: z.ZodDefault; interactive: z.ZodDefault; log_level: z.ZodDefault>; output_format: z.ZodDefault>; session_mode: z.ZodDefault; }, "strip", z.ZodTypeAny, { dry_run: boolean; dry_run_estimate_tokens: boolean; dry_run_show_diffs: boolean; interactive: boolean; log_level: "debug" | "info" | "warn" | "error"; output_format: "markdown" | "json" | "yaml"; session_mode: boolean; default_provider?: string | undefined; }, { default_provider?: string | undefined; dry_run?: boolean | undefined; dry_run_estimate_tokens?: boolean | undefined; dry_run_show_diffs?: boolean | undefined; interactive?: boolean | undefined; log_level?: "debug" | "info" | "warn" | "error" | undefined; output_format?: "markdown" | "json" | "yaml" | undefined; session_mode?: boolean | undefined; }>; features: z.ZodOptional; agent_selection_fallback_reporting: z.ZodDefault; agent_selection_monitoring: z.ZodDefault; dynamic_agent_selection: z.ZodDefault; dynamic_agent_selection_implement_only: z.ZodDefault; }, "strip", z.ZodTypeAny, { agent_selection_analytics: boolean; agent_selection_fallback_reporting: boolean; agent_selection_monitoring: boolean; dynamic_agent_selection: boolean; dynamic_agent_selection_implement_only: boolean; }, { agent_selection_analytics?: boolean | undefined; agent_selection_fallback_reporting?: boolean | undefined; agent_selection_monitoring?: boolean | undefined; dynamic_agent_selection?: boolean | undefined; dynamic_agent_selection_implement_only?: boolean | undefined; }>>; hooks: z.ZodOptional; command: z.ZodString; statusMessage: z.ZodOptional; timeout: z.ZodOptional; type: z.ZodLiteral<"command">; }, "strip", z.ZodTypeAny, { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }, { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }>, "many">; matcher: z.ZodString; }, "strip", z.ZodTypeAny, { hooks: { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }[]; matcher: string; }, { hooks: { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }[]; matcher: string; }>, "many">>; PreToolUse: z.ZodOptional; command: z.ZodString; statusMessage: z.ZodOptional; timeout: z.ZodOptional; type: z.ZodLiteral<"command">; }, "strip", z.ZodTypeAny, { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }, { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }>, "many">; matcher: z.ZodString; }, "strip", z.ZodTypeAny, { hooks: { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }[]; matcher: string; }, { hooks: { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }[]; matcher: string; }>, "many">>; }, "strip", z.ZodTypeAny, { PostToolUse?: { hooks: { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }[]; matcher: string; }[] | undefined; PreToolUse?: { hooks: { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }[]; matcher: string; }[] | undefined; }, { PostToolUse?: { hooks: { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }[]; matcher: string; }[] | undefined; PreToolUse?: { hooks: { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }[]; matcher: string; }[] | undefined; }>>; logging: z.ZodOptional; compress_after_days: z.ZodOptional; daily_file_max_size_mb: z.ZodDefault; dry_run: z.ZodDefault; enabled: z.ZodDefault; logs_path: z.ZodOptional; max_age_days: z.ZodOptional; max_files: z.ZodOptional; max_size_mb: z.ZodOptional; start_delay_minutes: z.ZodOptional; }, "strip", z.ZodTypeAny, { dry_run: boolean; cleanup_interval_hours: number; daily_file_max_size_mb: number; enabled: boolean; compress_after_days?: number | undefined; logs_path?: string | undefined; max_age_days?: number | undefined; max_files?: number | undefined; max_size_mb?: number | undefined; start_delay_minutes?: number | undefined; }, { dry_run?: boolean | undefined; cleanup_interval_hours?: number | undefined; compress_after_days?: number | undefined; daily_file_max_size_mb?: number | undefined; enabled?: boolean | undefined; logs_path?: string | undefined; max_age_days?: number | undefined; max_files?: number | undefined; max_size_mb?: number | undefined; start_delay_minutes?: number | undefined; }>>; memory: z.ZodOptional; provider: z.ZodDefault; }, "strict", z.ZodTypeAny, { enabled: boolean; provider: string; }, { enabled?: boolean | undefined; provider?: string | undefined; }>>; observability: z.ZodOptional>; trace_retention_days: z.ZodDefault; }, "strip", z.ZodTypeAny, { trace_retention_days: number; thinking_required_for?: string[] | undefined; }, { thinking_required_for?: string[] | undefined; trace_retention_days?: number | undefined; }>>; paths: z.ZodOptional; commands_dir: z.ZodOptional; config_file: z.ZodOptional; logs_dir: z.ZodOptional; prompts_dir: z.ZodOptional; sessions_dir: z.ZodOptional; }, "strip", z.ZodTypeAny, { agents_dir?: string | undefined; commands_dir?: string | undefined; config_file?: string | undefined; logs_dir?: string | undefined; prompts_dir?: string | undefined; sessions_dir?: string | undefined; }, { agents_dir?: string | undefined; commands_dir?: string | undefined; config_file?: string | undefined; logs_dir?: string | undefined; prompts_dir?: string | undefined; sessions_dir?: string | undefined; }>>; plugins: z.ZodOptional>; enabled: z.ZodOptional>; sources: z.ZodOptional; scope: z.ZodOptional; type: z.ZodEnum<["git", "local", "npm"]>; url: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "git" | "local" | "npm"; path?: string | undefined; scope?: string | undefined; url?: string | undefined; }, { type: "git" | "local" | "npm"; path?: string | undefined; scope?: string | undefined; url?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ /** * How plugin updates discovered at startup are applied. * - 'check-only': notify only, never install * - 'prompt' (default): confirm interactively before each install; falls back to check-only when no TTY * - 'install': install silently (legacy behaviour; not recommended) */ autoUpdate: z.ZodDefault>; enabled: z.ZodOptional>; sources: z.ZodOptional; scope: z.ZodOptional; type: z.ZodEnum<["git", "local", "npm"]>; url: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "git" | "local" | "npm"; path?: string | undefined; scope?: string | undefined; url?: string | undefined; }, { type: "git" | "local" | "npm"; path?: string | undefined; scope?: string | undefined; url?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ /** * How plugin updates discovered at startup are applied. * - 'check-only': notify only, never install * - 'prompt' (default): confirm interactively before each install; falls back to check-only when no TTY * - 'install': install silently (legacy behaviour; not recommended) */ autoUpdate: z.ZodDefault>; enabled: z.ZodOptional>; sources: z.ZodOptional; scope: z.ZodOptional; type: z.ZodEnum<["git", "local", "npm"]>; url: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "git" | "local" | "npm"; path?: string | undefined; scope?: string | undefined; url?: string | undefined; }, { type: "git" | "local" | "npm"; path?: string | undefined; scope?: string | undefined; url?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>>; providers: z.ZodRecord; baseUrl: z.ZodOptional; default_model: z.ZodOptional; max_retries: z.ZodOptional; prompt_caching: z.ZodOptional; rate_limit: z.ZodOptional; tokens_per_minute: z.ZodOptional; }, "strip", z.ZodTypeAny, { requests_per_minute?: number | undefined; tokens_per_minute?: number | undefined; }, { requests_per_minute?: number | undefined; tokens_per_minute?: number | undefined; }>>; timeout_ms: z.ZodOptional; vertexAI: z.ZodOptional; vertexProjectId: z.ZodOptional; vertexRegion: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ apiKey: z.ZodOptional; baseUrl: z.ZodOptional; default_model: z.ZodOptional; max_retries: z.ZodOptional; prompt_caching: z.ZodOptional; rate_limit: z.ZodOptional; tokens_per_minute: z.ZodOptional; }, "strip", z.ZodTypeAny, { requests_per_minute?: number | undefined; tokens_per_minute?: number | undefined; }, { requests_per_minute?: number | undefined; tokens_per_minute?: number | undefined; }>>; timeout_ms: z.ZodOptional; vertexAI: z.ZodOptional; vertexProjectId: z.ZodOptional; vertexRegion: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ apiKey: z.ZodOptional; baseUrl: z.ZodOptional; default_model: z.ZodOptional; max_retries: z.ZodOptional; prompt_caching: z.ZodOptional; rate_limit: z.ZodOptional; tokens_per_minute: z.ZodOptional; }, "strip", z.ZodTypeAny, { requests_per_minute?: number | undefined; tokens_per_minute?: number | undefined; }, { requests_per_minute?: number | undefined; tokens_per_minute?: number | undefined; }>>; timeout_ms: z.ZodOptional; vertexAI: z.ZodOptional; vertexProjectId: z.ZodOptional; vertexRegion: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; sessions: z.ZodOptional; compress_after_days: z.ZodOptional; dry_run: z.ZodDefault; enabled: z.ZodDefault; max_age_days: z.ZodOptional; max_count: z.ZodOptional; max_size_mb: z.ZodOptional; start_delay_minutes: z.ZodOptional; timeout: z.ZodOptional; }, "strip", z.ZodTypeAny, { dry_run: boolean; cleanup_interval_hours: number; enabled: boolean; compress_after_days?: number | undefined; max_age_days?: number | undefined; max_size_mb?: number | undefined; start_delay_minutes?: number | undefined; max_count?: number | undefined; timeout?: number | undefined; }, { dry_run?: boolean | undefined; cleanup_interval_hours?: number | undefined; compress_after_days?: number | undefined; enabled?: boolean | undefined; max_age_days?: number | undefined; max_size_mb?: number | undefined; start_delay_minutes?: number | undefined; max_count?: number | undefined; timeout?: number | undefined; }>>; }, "strip", z.ZodTypeAny, { defaults: { dry_run: boolean; dry_run_estimate_tokens: boolean; dry_run_show_diffs: boolean; interactive: boolean; log_level: "debug" | "info" | "warn" | "error"; output_format: "markdown" | "json" | "yaml"; session_mode: boolean; default_provider?: string | undefined; }; providers: Record; baseUrl: z.ZodOptional; default_model: z.ZodOptional; max_retries: z.ZodOptional; prompt_caching: z.ZodOptional; rate_limit: z.ZodOptional; tokens_per_minute: z.ZodOptional; }, "strip", z.ZodTypeAny, { requests_per_minute?: number | undefined; tokens_per_minute?: number | undefined; }, { requests_per_minute?: number | undefined; tokens_per_minute?: number | undefined; }>>; timeout_ms: z.ZodOptional; vertexAI: z.ZodOptional; vertexProjectId: z.ZodOptional; vertexRegion: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined>; hooks?: { PostToolUse?: { hooks: { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }[]; matcher: string; }[] | undefined; PreToolUse?: { hooks: { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }[]; matcher: string; }[] | undefined; } | undefined; autoUpdate?: { frequencyDays: number; mode: "auto" | "reminder" | "disabled"; } | undefined; budgets?: { policy: "strict" | "tolerant"; per_command_usd?: number | undefined; per_session_usd?: number | undefined; per_stage_tokens?: number | undefined; } | undefined; features?: { agent_selection_analytics: boolean; agent_selection_fallback_reporting: boolean; agent_selection_monitoring: boolean; dynamic_agent_selection: boolean; dynamic_agent_selection_implement_only: boolean; } | undefined; logging?: { dry_run: boolean; cleanup_interval_hours: number; daily_file_max_size_mb: number; enabled: boolean; compress_after_days?: number | undefined; logs_path?: string | undefined; max_age_days?: number | undefined; max_files?: number | undefined; max_size_mb?: number | undefined; start_delay_minutes?: number | undefined; } | undefined; memory?: { enabled: boolean; provider: string; } | undefined; observability?: { trace_retention_days: number; thinking_required_for?: string[] | undefined; } | undefined; paths?: { agents_dir?: string | undefined; commands_dir?: string | undefined; config_file?: string | undefined; logs_dir?: string | undefined; prompts_dir?: string | undefined; sessions_dir?: string | undefined; } | undefined; plugins?: z.objectOutputType<{ /** * How plugin updates discovered at startup are applied. * - 'check-only': notify only, never install * - 'prompt' (default): confirm interactively before each install; falls back to check-only when no TTY * - 'install': install silently (legacy behaviour; not recommended) */ autoUpdate: z.ZodDefault>; enabled: z.ZodOptional>; sources: z.ZodOptional; scope: z.ZodOptional; type: z.ZodEnum<["git", "local", "npm"]>; url: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "git" | "local" | "npm"; path?: string | undefined; scope?: string | undefined; url?: string | undefined; }, { type: "git" | "local" | "npm"; path?: string | undefined; scope?: string | undefined; url?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough"> | undefined; sessions?: { dry_run: boolean; cleanup_interval_hours: number; enabled: boolean; compress_after_days?: number | undefined; max_age_days?: number | undefined; max_size_mb?: number | undefined; start_delay_minutes?: number | undefined; max_count?: number | undefined; timeout?: number | undefined; } | undefined; }, { defaults: { default_provider?: string | undefined; dry_run?: boolean | undefined; dry_run_estimate_tokens?: boolean | undefined; dry_run_show_diffs?: boolean | undefined; interactive?: boolean | undefined; log_level?: "debug" | "info" | "warn" | "error" | undefined; output_format?: "markdown" | "json" | "yaml" | undefined; session_mode?: boolean | undefined; }; providers: Record; baseUrl: z.ZodOptional; default_model: z.ZodOptional; max_retries: z.ZodOptional; prompt_caching: z.ZodOptional; rate_limit: z.ZodOptional; tokens_per_minute: z.ZodOptional; }, "strip", z.ZodTypeAny, { requests_per_minute?: number | undefined; tokens_per_minute?: number | undefined; }, { requests_per_minute?: number | undefined; tokens_per_minute?: number | undefined; }>>; timeout_ms: z.ZodOptional; vertexAI: z.ZodOptional; vertexProjectId: z.ZodOptional; vertexRegion: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined>; hooks?: { PostToolUse?: { hooks: { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }[]; matcher: string; }[] | undefined; PreToolUse?: { hooks: { type: "command"; command: string; timeout?: number | undefined; async?: boolean | undefined; statusMessage?: string | undefined; }[]; matcher: string; }[] | undefined; } | undefined; autoUpdate?: { frequencyDays?: number | undefined; mode?: "auto" | "reminder" | "disabled" | undefined; } | undefined; budgets?: { per_command_usd?: number | undefined; per_session_usd?: number | undefined; per_stage_tokens?: number | undefined; policy?: "strict" | "tolerant" | undefined; } | undefined; features?: { agent_selection_analytics?: boolean | undefined; agent_selection_fallback_reporting?: boolean | undefined; agent_selection_monitoring?: boolean | undefined; dynamic_agent_selection?: boolean | undefined; dynamic_agent_selection_implement_only?: boolean | undefined; } | undefined; logging?: { dry_run?: boolean | undefined; cleanup_interval_hours?: number | undefined; compress_after_days?: number | undefined; daily_file_max_size_mb?: number | undefined; enabled?: boolean | undefined; logs_path?: string | undefined; max_age_days?: number | undefined; max_files?: number | undefined; max_size_mb?: number | undefined; start_delay_minutes?: number | undefined; } | undefined; memory?: { enabled?: boolean | undefined; provider?: string | undefined; } | undefined; observability?: { thinking_required_for?: string[] | undefined; trace_retention_days?: number | undefined; } | undefined; paths?: { agents_dir?: string | undefined; commands_dir?: string | undefined; config_file?: string | undefined; logs_dir?: string | undefined; prompts_dir?: string | undefined; sessions_dir?: string | undefined; } | undefined; plugins?: z.objectInputType<{ /** * How plugin updates discovered at startup are applied. * - 'check-only': notify only, never install * - 'prompt' (default): confirm interactively before each install; falls back to check-only when no TTY * - 'install': install silently (legacy behaviour; not recommended) */ autoUpdate: z.ZodDefault>; enabled: z.ZodOptional>; sources: z.ZodOptional; scope: z.ZodOptional; type: z.ZodEnum<["git", "local", "npm"]>; url: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "git" | "local" | "npm"; path?: string | undefined; scope?: string | undefined; url?: string | undefined; }, { type: "git" | "local" | "npm"; path?: string | undefined; scope?: string | undefined; url?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough"> | undefined; sessions?: { dry_run?: boolean | undefined; cleanup_interval_hours?: number | undefined; compress_after_days?: number | undefined; enabled?: boolean | undefined; max_age_days?: number | undefined; max_size_mb?: number | undefined; start_delay_minutes?: number | undefined; max_count?: number | undefined; timeout?: number | undefined; } | undefined; }>; export type AutoUpdateConfig = z.infer; export type BudgetsConfig = z.infer; export type Config = z.infer; export type DefaultsConfig = z.infer; export type FeatureFlags = z.infer; export type HooksConfigSchema = z.infer; export type LoggingRetentionConfig = z.infer; export type { MemoryRetentionConfig } from '../types/memory.types.js'; export type ObservabilityConfig = z.infer; export type PathsConfig = z.infer; export type PluginsConfigSchema = z.infer; export type ProviderConfig = z.infer; export type ProvidersConfig = z.infer; export type SessionRetentionConfig = z.infer; export declare const DEFAULT_CONFIG: Config; //# sourceMappingURL=schema.d.ts.map