UNPKG

@gguf/claw

Version:

Multi-channel AI gateway with extensible messaging integrations

805 lines 213 kB
import { z } from "zod"; export declare const OpenClawSchema: z.ZodObject<{ $schema: z.ZodOptional<z.ZodString>; meta: z.ZodOptional<z.ZodObject<{ lastTouchedVersion: z.ZodOptional<z.ZodString>; lastTouchedAt: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; env: z.ZodOptional<z.ZodObject<{ shellEnv: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; timeoutMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; vars: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; }, z.core.$catchall<z.ZodString>>>; wizard: z.ZodOptional<z.ZodObject<{ lastRunAt: z.ZodOptional<z.ZodString>; lastRunVersion: z.ZodOptional<z.ZodString>; lastRunCommit: z.ZodOptional<z.ZodString>; lastRunCommand: z.ZodOptional<z.ZodString>; lastRunMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"local">, z.ZodLiteral<"remote">]>>; }, z.core.$strict>>; diagnostics: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; flags: z.ZodOptional<z.ZodArray<z.ZodString>>; otel: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; endpoint: z.ZodOptional<z.ZodString>; protocol: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"http/protobuf">, z.ZodLiteral<"grpc">]>>; headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; serviceName: z.ZodOptional<z.ZodString>; traces: z.ZodOptional<z.ZodBoolean>; metrics: z.ZodOptional<z.ZodBoolean>; logs: z.ZodOptional<z.ZodBoolean>; sampleRate: z.ZodOptional<z.ZodNumber>; flushIntervalMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; cacheTrace: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; filePath: z.ZodOptional<z.ZodString>; includeMessages: z.ZodOptional<z.ZodBoolean>; includePrompt: z.ZodOptional<z.ZodBoolean>; includeSystem: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; }, z.core.$strict>>; logging: z.ZodOptional<z.ZodObject<{ level: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"silent">, z.ZodLiteral<"fatal">, z.ZodLiteral<"error">, z.ZodLiteral<"warn">, z.ZodLiteral<"info">, z.ZodLiteral<"debug">, z.ZodLiteral<"trace">]>>; file: z.ZodOptional<z.ZodString>; consoleLevel: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"silent">, z.ZodLiteral<"fatal">, z.ZodLiteral<"error">, z.ZodLiteral<"warn">, z.ZodLiteral<"info">, z.ZodLiteral<"debug">, z.ZodLiteral<"trace">]>>; consoleStyle: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"pretty">, z.ZodLiteral<"compact">, z.ZodLiteral<"json">]>>; redactSensitive: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"tools">]>>; redactPatterns: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; update: z.ZodOptional<z.ZodObject<{ channel: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"stable">, z.ZodLiteral<"beta">, z.ZodLiteral<"dev">]>>; checkOnStart: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; browser: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; evaluateEnabled: z.ZodOptional<z.ZodBoolean>; cdpUrl: z.ZodOptional<z.ZodString>; remoteCdpTimeoutMs: z.ZodOptional<z.ZodNumber>; remoteCdpHandshakeTimeoutMs: z.ZodOptional<z.ZodNumber>; color: z.ZodOptional<z.ZodString>; executablePath: z.ZodOptional<z.ZodString>; headless: z.ZodOptional<z.ZodBoolean>; noSandbox: z.ZodOptional<z.ZodBoolean>; attachOnly: z.ZodOptional<z.ZodBoolean>; defaultProfile: z.ZodOptional<z.ZodString>; snapshotDefaults: z.ZodOptional<z.ZodObject<{ mode: z.ZodOptional<z.ZodLiteral<"efficient">>; }, z.core.$strict>>; ssrfPolicy: z.ZodOptional<z.ZodObject<{ allowPrivateNetwork: z.ZodOptional<z.ZodBoolean>; allowedHostnames: z.ZodOptional<z.ZodArray<z.ZodString>>; hostnameAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; profiles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{ cdpPort: z.ZodOptional<z.ZodNumber>; cdpUrl: z.ZodOptional<z.ZodString>; driver: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"clawd">, z.ZodLiteral<"extension">]>>; color: z.ZodString; }, z.core.$strict>>>; }, z.core.$strict>>; ui: z.ZodOptional<z.ZodObject<{ seamColor: z.ZodOptional<z.ZodString>; assistant: z.ZodOptional<z.ZodObject<{ name: z.ZodOptional<z.ZodString>; avatar: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; }, z.core.$strict>>; auth: z.ZodOptional<z.ZodObject<{ profiles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{ provider: z.ZodString; mode: z.ZodUnion<readonly [z.ZodLiteral<"api_key">, z.ZodLiteral<"oauth">, z.ZodLiteral<"token">]>; email: z.ZodOptional<z.ZodString>; }, z.core.$strict>>>; order: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>; cooldowns: z.ZodOptional<z.ZodObject<{ billingBackoffHours: z.ZodOptional<z.ZodNumber>; billingBackoffHoursByProvider: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>; billingMaxHours: z.ZodOptional<z.ZodNumber>; failureWindowHours: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; }, z.core.$strict>>; models: z.ZodOptional<z.ZodObject<{ mode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"merge">, z.ZodLiteral<"replace">]>>; providers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{ baseUrl: z.ZodString; apiKey: z.ZodOptional<z.ZodString>; auth: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"api-key">, z.ZodLiteral<"aws-sdk">, z.ZodLiteral<"oauth">, z.ZodLiteral<"token">]>>; api: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"openai-completions">, z.ZodLiteral<"openai-responses">, z.ZodLiteral<"anthropic-messages">, z.ZodLiteral<"google-generative-ai">, z.ZodLiteral<"github-copilot">, z.ZodLiteral<"bedrock-converse-stream">, z.ZodLiteral<"ollama">]>>; headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; authHeader: z.ZodOptional<z.ZodBoolean>; models: z.ZodArray<z.ZodObject<{ id: z.ZodString; name: z.ZodString; api: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"openai-completions">, z.ZodLiteral<"openai-responses">, z.ZodLiteral<"anthropic-messages">, z.ZodLiteral<"google-generative-ai">, z.ZodLiteral<"github-copilot">, z.ZodLiteral<"bedrock-converse-stream">, z.ZodLiteral<"ollama">]>>; reasoning: z.ZodOptional<z.ZodBoolean>; input: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodLiteral<"text">, z.ZodLiteral<"image">]>>>; cost: z.ZodOptional<z.ZodObject<{ input: z.ZodOptional<z.ZodNumber>; output: z.ZodOptional<z.ZodNumber>; cacheRead: z.ZodOptional<z.ZodNumber>; cacheWrite: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; contextWindow: z.ZodOptional<z.ZodNumber>; maxTokens: z.ZodOptional<z.ZodNumber>; headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; compat: z.ZodOptional<z.ZodObject<{ supportsStore: z.ZodOptional<z.ZodBoolean>; supportsDeveloperRole: z.ZodOptional<z.ZodBoolean>; supportsReasoningEffort: z.ZodOptional<z.ZodBoolean>; supportsUsageInStreaming: z.ZodOptional<z.ZodBoolean>; supportsStrictMode: z.ZodOptional<z.ZodBoolean>; maxTokensField: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"max_completion_tokens">, z.ZodLiteral<"max_tokens">]>>; thinkingFormat: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"openai">, z.ZodLiteral<"zai">, z.ZodLiteral<"qwen">]>>; requiresToolResultName: z.ZodOptional<z.ZodBoolean>; requiresAssistantAfterToolResult: z.ZodOptional<z.ZodBoolean>; requiresThinkingAsText: z.ZodOptional<z.ZodBoolean>; requiresMistralToolIds: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; }, z.core.$strict>>; }, z.core.$strict>>>; bedrockDiscovery: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; region: z.ZodOptional<z.ZodString>; providerFilter: z.ZodOptional<z.ZodArray<z.ZodString>>; refreshInterval: z.ZodOptional<z.ZodNumber>; defaultContextWindow: z.ZodOptional<z.ZodNumber>; defaultMaxTokens: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; }, z.core.$strict>>; nodeHost: z.ZodOptional<z.ZodObject<{ browserProxy: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; allowProfiles: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; }, z.core.$strict>>; agents: z.ZodOptional<z.ZodObject<{ defaults: z.ZodOptional<z.ZodLazy<z.ZodOptional<z.ZodObject<{ model: z.ZodOptional<z.ZodObject<{ primary: z.ZodOptional<z.ZodString>; fallbacks: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; imageModel: z.ZodOptional<z.ZodObject<{ primary: z.ZodOptional<z.ZodString>; fallbacks: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; models: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{ alias: z.ZodOptional<z.ZodString>; params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; streaming: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>>; workspace: z.ZodOptional<z.ZodString>; repoRoot: z.ZodOptional<z.ZodString>; skipBootstrap: z.ZodOptional<z.ZodBoolean>; bootstrapMaxChars: z.ZodOptional<z.ZodNumber>; bootstrapTotalMaxChars: z.ZodOptional<z.ZodNumber>; userTimezone: z.ZodOptional<z.ZodString>; timeFormat: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodLiteral<"12">, z.ZodLiteral<"24">]>>; envelopeTimezone: z.ZodOptional<z.ZodString>; envelopeTimestamp: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"on">, z.ZodLiteral<"off">]>>; envelopeElapsed: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"on">, z.ZodLiteral<"off">]>>; contextTokens: z.ZodOptional<z.ZodNumber>; cliBackends: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{ command: z.ZodString; args: z.ZodOptional<z.ZodArray<z.ZodString>>; output: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"json">, z.ZodLiteral<"text">, z.ZodLiteral<"jsonl">]>>; resumeOutput: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"json">, z.ZodLiteral<"text">, z.ZodLiteral<"jsonl">]>>; input: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"arg">, z.ZodLiteral<"stdin">]>>; maxPromptArgChars: z.ZodOptional<z.ZodNumber>; env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; clearEnv: z.ZodOptional<z.ZodArray<z.ZodString>>; modelArg: z.ZodOptional<z.ZodString>; modelAliases: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; sessionArg: z.ZodOptional<z.ZodString>; sessionArgs: z.ZodOptional<z.ZodArray<z.ZodString>>; resumeArgs: z.ZodOptional<z.ZodArray<z.ZodString>>; sessionMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"always">, z.ZodLiteral<"existing">, z.ZodLiteral<"none">]>>; sessionIdFields: z.ZodOptional<z.ZodArray<z.ZodString>>; systemPromptArg: z.ZodOptional<z.ZodString>; systemPromptMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"append">, z.ZodLiteral<"replace">]>>; systemPromptWhen: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"first">, z.ZodLiteral<"always">, z.ZodLiteral<"never">]>>; imageArg: z.ZodOptional<z.ZodString>; imageMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"repeat">, z.ZodLiteral<"list">]>>; serialize: z.ZodOptional<z.ZodBoolean>; reliability: z.ZodOptional<z.ZodObject<{ watchdog: z.ZodOptional<z.ZodObject<{ fresh: z.ZodOptional<z.ZodObject<{ noOutputTimeoutMs: z.ZodOptional<z.ZodNumber>; noOutputTimeoutRatio: z.ZodOptional<z.ZodNumber>; minMs: z.ZodOptional<z.ZodNumber>; maxMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; resume: z.ZodOptional<z.ZodObject<{ noOutputTimeoutMs: z.ZodOptional<z.ZodNumber>; noOutputTimeoutRatio: z.ZodOptional<z.ZodNumber>; minMs: z.ZodOptional<z.ZodNumber>; maxMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; }, z.core.$strict>>; }, z.core.$strict>>; }, z.core.$strict>>>; memorySearch: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; sources: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodLiteral<"memory">, z.ZodLiteral<"sessions">]>>>; extraPaths: z.ZodOptional<z.ZodArray<z.ZodString>>; experimental: z.ZodOptional<z.ZodObject<{ sessionMemory: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; provider: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"openai">, z.ZodLiteral<"local">, z.ZodLiteral<"gemini">, z.ZodLiteral<"voyage">]>>; remote: z.ZodOptional<z.ZodObject<{ baseUrl: z.ZodOptional<z.ZodString>; apiKey: z.ZodOptional<z.ZodString>; headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; batch: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; wait: z.ZodOptional<z.ZodBoolean>; concurrency: z.ZodOptional<z.ZodNumber>; pollIntervalMs: z.ZodOptional<z.ZodNumber>; timeoutMinutes: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; }, z.core.$strict>>; fallback: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"openai">, z.ZodLiteral<"gemini">, z.ZodLiteral<"local">, z.ZodLiteral<"voyage">, z.ZodLiteral<"none">]>>; model: z.ZodOptional<z.ZodString>; local: z.ZodOptional<z.ZodObject<{ modelPath: z.ZodOptional<z.ZodString>; modelCacheDir: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; store: z.ZodOptional<z.ZodObject<{ driver: z.ZodOptional<z.ZodLiteral<"sqlite">>; path: z.ZodOptional<z.ZodString>; vector: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; extensionPath: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; }, z.core.$strict>>; chunking: z.ZodOptional<z.ZodObject<{ tokens: z.ZodOptional<z.ZodNumber>; overlap: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; sync: z.ZodOptional<z.ZodObject<{ onSessionStart: z.ZodOptional<z.ZodBoolean>; onSearch: z.ZodOptional<z.ZodBoolean>; watch: z.ZodOptional<z.ZodBoolean>; watchDebounceMs: z.ZodOptional<z.ZodNumber>; intervalMinutes: z.ZodOptional<z.ZodNumber>; sessions: z.ZodOptional<z.ZodObject<{ deltaBytes: z.ZodOptional<z.ZodNumber>; deltaMessages: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; }, z.core.$strict>>; query: z.ZodOptional<z.ZodObject<{ maxResults: z.ZodOptional<z.ZodNumber>; minScore: z.ZodOptional<z.ZodNumber>; hybrid: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; vectorWeight: z.ZodOptional<z.ZodNumber>; textWeight: z.ZodOptional<z.ZodNumber>; candidateMultiplier: z.ZodOptional<z.ZodNumber>; mmr: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; lambda: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; temporalDecay: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; halfLifeDays: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; }, z.core.$strict>>; }, z.core.$strict>>; cache: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; maxEntries: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; }, z.core.$strict>>; contextPruning: z.ZodOptional<z.ZodObject<{ mode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"cache-ttl">]>>; ttl: z.ZodOptional<z.ZodString>; keepLastAssistants: z.ZodOptional<z.ZodNumber>; softTrimRatio: z.ZodOptional<z.ZodNumber>; hardClearRatio: z.ZodOptional<z.ZodNumber>; minPrunableToolChars: z.ZodOptional<z.ZodNumber>; tools: z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; softTrim: z.ZodOptional<z.ZodObject<{ maxChars: z.ZodOptional<z.ZodNumber>; headChars: z.ZodOptional<z.ZodNumber>; tailChars: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; hardClear: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; placeholder: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; }, z.core.$strict>>; compaction: z.ZodOptional<z.ZodObject<{ mode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"default">, z.ZodLiteral<"safeguard">]>>; reserveTokens: z.ZodOptional<z.ZodNumber>; keepRecentTokens: z.ZodOptional<z.ZodNumber>; reserveTokensFloor: z.ZodOptional<z.ZodNumber>; maxHistoryShare: z.ZodOptional<z.ZodNumber>; memoryFlush: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; softThresholdTokens: z.ZodOptional<z.ZodNumber>; prompt: z.ZodOptional<z.ZodString>; systemPrompt: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; }, z.core.$strict>>; thinkingDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"minimal">, z.ZodLiteral<"low">, z.ZodLiteral<"medium">, z.ZodLiteral<"high">, z.ZodLiteral<"xhigh">]>>; verboseDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"on">, z.ZodLiteral<"full">]>>; elevatedDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"on">, z.ZodLiteral<"ask">, z.ZodLiteral<"full">]>>; blockStreamingDefault: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"on">]>>; blockStreamingBreak: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"text_end">, z.ZodLiteral<"message_end">]>>; blockStreamingChunk: z.ZodOptional<z.ZodObject<{ minChars: z.ZodOptional<z.ZodNumber>; maxChars: z.ZodOptional<z.ZodNumber>; breakPreference: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"paragraph">, z.ZodLiteral<"newline">, z.ZodLiteral<"sentence">]>>; }, z.core.$strict>>; blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{ minChars: z.ZodOptional<z.ZodNumber>; maxChars: z.ZodOptional<z.ZodNumber>; idleMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; humanDelay: z.ZodOptional<z.ZodObject<{ mode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"natural">, z.ZodLiteral<"custom">]>>; minMs: z.ZodOptional<z.ZodNumber>; maxMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; timeoutSeconds: z.ZodOptional<z.ZodNumber>; mediaMaxMb: z.ZodOptional<z.ZodNumber>; imageMaxDimensionPx: z.ZodOptional<z.ZodNumber>; typingIntervalSeconds: z.ZodOptional<z.ZodNumber>; typingMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"never">, z.ZodLiteral<"instant">, z.ZodLiteral<"thinking">, z.ZodLiteral<"message">]>>; heartbeat: z.ZodOptional<z.ZodObject<{ every: z.ZodOptional<z.ZodString>; activeHours: z.ZodOptional<z.ZodObject<{ start: z.ZodOptional<z.ZodString>; end: z.ZodOptional<z.ZodString>; timezone: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; model: z.ZodOptional<z.ZodString>; session: z.ZodOptional<z.ZodString>; includeReasoning: z.ZodOptional<z.ZodBoolean>; target: z.ZodOptional<z.ZodString>; to: z.ZodOptional<z.ZodString>; accountId: z.ZodOptional<z.ZodString>; prompt: z.ZodOptional<z.ZodString>; ackMaxChars: z.ZodOptional<z.ZodNumber>; suppressToolErrorWarnings: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; maxConcurrent: z.ZodOptional<z.ZodNumber>; subagents: z.ZodOptional<z.ZodObject<{ maxConcurrent: z.ZodOptional<z.ZodNumber>; maxSpawnDepth: z.ZodOptional<z.ZodNumber>; maxChildrenPerAgent: z.ZodOptional<z.ZodNumber>; archiveAfterMinutes: z.ZodOptional<z.ZodNumber>; model: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{ primary: z.ZodOptional<z.ZodString>; fallbacks: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>]>>; thinking: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; sandbox: z.ZodOptional<z.ZodObject<{ mode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"non-main">, z.ZodLiteral<"all">]>>; workspaceAccess: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"none">, z.ZodLiteral<"ro">, z.ZodLiteral<"rw">]>>; sessionToolsVisibility: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"spawned">, z.ZodLiteral<"all">]>>; scope: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"session">, z.ZodLiteral<"agent">, z.ZodLiteral<"shared">]>>; perSession: z.ZodOptional<z.ZodBoolean>; workspaceRoot: z.ZodOptional<z.ZodString>; docker: z.ZodOptional<z.ZodObject<{ image: z.ZodOptional<z.ZodString>; containerPrefix: z.ZodOptional<z.ZodString>; workdir: z.ZodOptional<z.ZodString>; readOnlyRoot: z.ZodOptional<z.ZodBoolean>; tmpfs: z.ZodOptional<z.ZodArray<z.ZodString>>; network: z.ZodOptional<z.ZodString>; user: z.ZodOptional<z.ZodString>; capDrop: z.ZodOptional<z.ZodArray<z.ZodString>>; env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; setupCommand: z.ZodOptional<z.ZodString>; pidsLimit: z.ZodOptional<z.ZodNumber>; memory: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; memorySwap: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; cpus: z.ZodOptional<z.ZodNumber>; ulimits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodObject<{ soft: z.ZodOptional<z.ZodNumber>; hard: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>]>>>; seccompProfile: z.ZodOptional<z.ZodString>; apparmorProfile: z.ZodOptional<z.ZodString>; dns: z.ZodOptional<z.ZodArray<z.ZodString>>; extraHosts: z.ZodOptional<z.ZodArray<z.ZodString>>; binds: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; browser: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; image: z.ZodOptional<z.ZodString>; containerPrefix: z.ZodOptional<z.ZodString>; cdpPort: z.ZodOptional<z.ZodNumber>; vncPort: z.ZodOptional<z.ZodNumber>; noVncPort: z.ZodOptional<z.ZodNumber>; headless: z.ZodOptional<z.ZodBoolean>; enableNoVnc: z.ZodOptional<z.ZodBoolean>; allowHostControl: z.ZodOptional<z.ZodBoolean>; autoStart: z.ZodOptional<z.ZodBoolean>; autoStartTimeoutMs: z.ZodOptional<z.ZodNumber>; binds: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; prune: z.ZodOptional<z.ZodObject<{ idleHours: z.ZodOptional<z.ZodNumber>; maxAgeDays: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; }, z.core.$strict>>; }, z.core.$strict>>>>; list: z.ZodOptional<z.ZodArray<z.ZodObject<{ id: z.ZodString; default: z.ZodOptional<z.ZodBoolean>; name: z.ZodOptional<z.ZodString>; workspace: z.ZodOptional<z.ZodString>; agentDir: z.ZodOptional<z.ZodString>; model: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{ primary: z.ZodOptional<z.ZodString>; fallbacks: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>]>>; skills: z.ZodOptional<z.ZodArray<z.ZodString>>; memorySearch: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; sources: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodLiteral<"memory">, z.ZodLiteral<"sessions">]>>>; extraPaths: z.ZodOptional<z.ZodArray<z.ZodString>>; experimental: z.ZodOptional<z.ZodObject<{ sessionMemory: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; provider: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"openai">, z.ZodLiteral<"local">, z.ZodLiteral<"gemini">, z.ZodLiteral<"voyage">]>>; remote: z.ZodOptional<z.ZodObject<{ baseUrl: z.ZodOptional<z.ZodString>; apiKey: z.ZodOptional<z.ZodString>; headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; batch: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; wait: z.ZodOptional<z.ZodBoolean>; concurrency: z.ZodOptional<z.ZodNumber>; pollIntervalMs: z.ZodOptional<z.ZodNumber>; timeoutMinutes: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; }, z.core.$strict>>; fallback: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"openai">, z.ZodLiteral<"gemini">, z.ZodLiteral<"local">, z.ZodLiteral<"voyage">, z.ZodLiteral<"none">]>>; model: z.ZodOptional<z.ZodString>; local: z.ZodOptional<z.ZodObject<{ modelPath: z.ZodOptional<z.ZodString>; modelCacheDir: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; store: z.ZodOptional<z.ZodObject<{ driver: z.ZodOptional<z.ZodLiteral<"sqlite">>; path: z.ZodOptional<z.ZodString>; vector: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; extensionPath: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; }, z.core.$strict>>; chunking: z.ZodOptional<z.ZodObject<{ tokens: z.ZodOptional<z.ZodNumber>; overlap: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; sync: z.ZodOptional<z.ZodObject<{ onSessionStart: z.ZodOptional<z.ZodBoolean>; onSearch: z.ZodOptional<z.ZodBoolean>; watch: z.ZodOptional<z.ZodBoolean>; watchDebounceMs: z.ZodOptional<z.ZodNumber>; intervalMinutes: z.ZodOptional<z.ZodNumber>; sessions: z.ZodOptional<z.ZodObject<{ deltaBytes: z.ZodOptional<z.ZodNumber>; deltaMessages: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; }, z.core.$strict>>; query: z.ZodOptional<z.ZodObject<{ maxResults: z.ZodOptional<z.ZodNumber>; minScore: z.ZodOptional<z.ZodNumber>; hybrid: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; vectorWeight: z.ZodOptional<z.ZodNumber>; textWeight: z.ZodOptional<z.ZodNumber>; candidateMultiplier: z.ZodOptional<z.ZodNumber>; mmr: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; lambda: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; temporalDecay: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; halfLifeDays: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; }, z.core.$strict>>; }, z.core.$strict>>; cache: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; maxEntries: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; }, z.core.$strict>>; humanDelay: z.ZodOptional<z.ZodObject<{ mode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"natural">, z.ZodLiteral<"custom">]>>; minMs: z.ZodOptional<z.ZodNumber>; maxMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; heartbeat: z.ZodOptional<z.ZodObject<{ every: z.ZodOptional<z.ZodString>; activeHours: z.ZodOptional<z.ZodObject<{ start: z.ZodOptional<z.ZodString>; end: z.ZodOptional<z.ZodString>; timezone: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; model: z.ZodOptional<z.ZodString>; session: z.ZodOptional<z.ZodString>; includeReasoning: z.ZodOptional<z.ZodBoolean>; target: z.ZodOptional<z.ZodString>; to: z.ZodOptional<z.ZodString>; accountId: z.ZodOptional<z.ZodString>; prompt: z.ZodOptional<z.ZodString>; ackMaxChars: z.ZodOptional<z.ZodNumber>; suppressToolErrorWarnings: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; identity: z.ZodOptional<z.ZodObject<{ name: z.ZodOptional<z.ZodString>; theme: z.ZodOptional<z.ZodString>; emoji: z.ZodOptional<z.ZodString>; avatar: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; groupChat: z.ZodOptional<z.ZodObject<{ mentionPatterns: z.ZodOptional<z.ZodArray<z.ZodString>>; historyLimit: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; subagents: z.ZodOptional<z.ZodObject<{ allowAgents: z.ZodOptional<z.ZodArray<z.ZodString>>; model: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{ primary: z.ZodOptional<z.ZodString>; fallbacks: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>]>>; thinking: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; sandbox: z.ZodOptional<z.ZodObject<{ mode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"non-main">, z.ZodLiteral<"all">]>>; workspaceAccess: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"none">, z.ZodLiteral<"ro">, z.ZodLiteral<"rw">]>>; sessionToolsVisibility: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"spawned">, z.ZodLiteral<"all">]>>; scope: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"session">, z.ZodLiteral<"agent">, z.ZodLiteral<"shared">]>>; perSession: z.ZodOptional<z.ZodBoolean>; workspaceRoot: z.ZodOptional<z.ZodString>; docker: z.ZodOptional<z.ZodObject<{ image: z.ZodOptional<z.ZodString>; containerPrefix: z.ZodOptional<z.ZodString>; workdir: z.ZodOptional<z.ZodString>; readOnlyRoot: z.ZodOptional<z.ZodBoolean>; tmpfs: z.ZodOptional<z.ZodArray<z.ZodString>>; network: z.ZodOptional<z.ZodString>; user: z.ZodOptional<z.ZodString>; capDrop: z.ZodOptional<z.ZodArray<z.ZodString>>; env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; setupCommand: z.ZodOptional<z.ZodString>; pidsLimit: z.ZodOptional<z.ZodNumber>; memory: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; memorySwap: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; cpus: z.ZodOptional<z.ZodNumber>; ulimits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodObject<{ soft: z.ZodOptional<z.ZodNumber>; hard: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>]>>>; seccompProfile: z.ZodOptional<z.ZodString>; apparmorProfile: z.ZodOptional<z.ZodString>; dns: z.ZodOptional<z.ZodArray<z.ZodString>>; extraHosts: z.ZodOptional<z.ZodArray<z.ZodString>>; binds: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; browser: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; image: z.ZodOptional<z.ZodString>; containerPrefix: z.ZodOptional<z.ZodString>; cdpPort: z.ZodOptional<z.ZodNumber>; vncPort: z.ZodOptional<z.ZodNumber>; noVncPort: z.ZodOptional<z.ZodNumber>; headless: z.ZodOptional<z.ZodBoolean>; enableNoVnc: z.ZodOptional<z.ZodBoolean>; allowHostControl: z.ZodOptional<z.ZodBoolean>; autoStart: z.ZodOptional<z.ZodBoolean>; autoStartTimeoutMs: z.ZodOptional<z.ZodNumber>; binds: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; prune: z.ZodOptional<z.ZodObject<{ idleHours: z.ZodOptional<z.ZodNumber>; maxAgeDays: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; }, z.core.$strict>>; tools: z.ZodOptional<z.ZodObject<{ profile: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"minimal">, z.ZodLiteral<"coding">, z.ZodLiteral<"messaging">, z.ZodLiteral<"full">]>>; allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; byProvider: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; profile: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"minimal">, z.ZodLiteral<"coding">, z.ZodLiteral<"messaging">, z.ZodLiteral<"full">]>>; }, z.core.$strict>>>; elevated: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; allowFrom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>>; }, z.core.$strict>>; exec: z.ZodOptional<z.ZodObject<{ approvalRunningNoticeMs: z.ZodOptional<z.ZodNumber>; host: z.ZodOptional<z.ZodEnum<{ sandbox: "sandbox"; gateway: "gateway"; node: "node"; }>>; security: z.ZodOptional<z.ZodEnum<{ allowlist: "allowlist"; deny: "deny"; full: "full"; }>>; ask: z.ZodOptional<z.ZodEnum<{ off: "off"; "on-miss": "on-miss"; always: "always"; }>>; node: z.ZodOptional<z.ZodString>; pathPrepend: z.ZodOptional<z.ZodArray<z.ZodString>>; safeBins: z.ZodOptional<z.ZodArray<z.ZodString>>; backgroundMs: z.ZodOptional<z.ZodNumber>; timeoutSec: z.ZodOptional<z.ZodNumber>; cleanupMs: z.ZodOptional<z.ZodNumber>; notifyOnExit: z.ZodOptional<z.ZodBoolean>; notifyOnExitEmptySuccess: z.ZodOptional<z.ZodBoolean>; applyPatch: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; workspaceOnly: z.ZodOptional<z.ZodBoolean>; allowModels: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; }, z.core.$strict>>; fs: z.ZodOptional<z.ZodObject<{ workspaceOnly: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; loopDetection: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; historySize: z.ZodOptional<z.ZodNumber>; warningThreshold: z.ZodOptional<z.ZodNumber>; criticalThreshold: z.ZodOptional<z.ZodNumber>; globalCircuitBreakerThreshold: z.ZodOptional<z.ZodNumber>; detectors: z.ZodOptional<z.ZodObject<{ genericRepeat: z.ZodOptional<z.ZodBoolean>; knownPollNoProgress: z.ZodOptional<z.ZodBoolean>; pingPong: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; }, z.core.$strict>>; sandbox: z.ZodOptional<z.ZodObject<{ tools: z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; }, z.core.$strict>>; }, z.core.$strict>>; }, z.core.$strict>>>; }, z.core.$strict>>; tools: z.ZodOptional<z.ZodObject<{ profile: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"minimal">, z.ZodLiteral<"coding">, z.ZodLiteral<"messaging">, z.ZodLiteral<"full">]>>; allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; byProvider: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; profile: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"minimal">, z.ZodLiteral<"coding">, z.ZodLiteral<"messaging">, z.ZodLiteral<"full">]>>; }, z.core.$strict>>>; web: z.ZodOptional<z.ZodObject<{ search: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; provider: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"brave">, z.ZodLiteral<"perplexity">, z.ZodLiteral<"grok">]>>; apiKey: z.ZodOptional<z.ZodString>; maxResults: z.ZodOptional<z.ZodNumber>; timeoutSeconds: z.ZodOptional<z.ZodNumber>; cacheTtlMinutes: z.ZodOptional<z.ZodNumber>; perplexity: z.ZodOptional<z.ZodObject<{ apiKey: z.ZodOptional<z.ZodString>; baseUrl: z.ZodOptional<z.ZodString>; model: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; grok: z.ZodOptional<z.ZodObject<{ apiKey: z.ZodOptional<z.ZodString>; model: z.ZodOptional<z.ZodString>; inlineCitations: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; }, z.core.$strict>>; fetch: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; maxChars: z.ZodOptional<z.ZodNumber>; maxCharsCap: z.ZodOptional<z.ZodNumber>; timeoutSeconds: z.ZodOptional<z.ZodNumber>; cacheTtlMinutes: z.ZodOptional<z.ZodNumber>; maxRedirects: z.ZodOptional<z.ZodNumber>; userAgent: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; }, z.core.$strict>>; media: z.ZodOptional<z.ZodObject<{ models: z.ZodOptional<z.ZodArray<z.ZodOptional<z.ZodObject<{ provider: z.ZodOptional<z.ZodString>; model: z.ZodOptional<z.ZodString>; capabilities: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodLiteral<"image">, z.ZodLiteral<"audio">, z.ZodLiteral<"video">]>>>; type: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"provider">, z.ZodLiteral<"cli">]>>; command: z.ZodOptional<z.ZodString>; args: z.ZodOptional<z.ZodArray<z.ZodString>>; prompt: z.ZodOptional<z.ZodString>; maxChars: z.ZodOptional<z.ZodNumber>; maxBytes: z.ZodOptional<z.ZodNumber>; timeoutSeconds: z.ZodOptional<z.ZodNumber>; language: z.ZodOptional<z.ZodString>; providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>>; deepgram: z.ZodOptional<z.ZodObject<{ detectLanguage: z.ZodOptional<z.ZodBoolean>; punctuate: z.ZodOptional<z.ZodBoolean>; smartFormat: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; baseUrl: z.ZodOptional<z.ZodString>; headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; profile: z.ZodOptional<z.ZodString>; preferredProfile: z.ZodOptional<z.ZodString>; }, z.core.$strict>>>>; concurrency: z.ZodOptional<z.ZodNumber>; image: z.ZodOptional<z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; scope: z.ZodOptional<z.ZodObject<{ default: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"allow">, z.ZodLiteral<"deny">]>>; rules: z.ZodOptional<z.ZodArray<z.ZodObject<{ action: z.ZodUnion<readonly [z.ZodLiteral<"allow">, z.ZodLiteral<"deny">]>; match: z.ZodOptional<z.ZodObject<{ channel: z.ZodOptional<z.ZodString>; chatType: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"direct">, z.ZodLiteral<"group">, z.ZodLiteral<"channel">, z.ZodLiteral<"dm">]>>; keyPrefix: z.ZodOptional<z.ZodString>; rawKeyPrefix: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; }, z.core.$strict>>>; }, z.core.$strict>>; maxBytes: z.ZodOptional<z.ZodNumber>; maxChars: z.ZodOptional<z.ZodNumber>; prompt: z.ZodOptional<z.ZodString>; timeoutSeconds: z.ZodOptional<z.ZodNumber>; language: z.ZodOptional<z.ZodString>; providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>>; deepgram: z.ZodOptional<z.ZodObject<{ detectLanguage: z.ZodOptional<z.ZodBoolean>; punctuate: z.ZodOptional<z.ZodBoolean>; smartFormat: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; baseUrl: z.ZodOptional<z.ZodString>; headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; attachments: z.ZodOptional<z.ZodObject<{ mode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"first">, z.ZodLiteral<"all">]>>; maxAttachments: z.ZodOptional<z.ZodNumber>; prefer: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"first">, z.ZodLiteral<"last">, z.ZodLiteral<"path">, z.ZodLiteral<"url">]>>; }, z.core.$strict>>; models: z.ZodOptional<z.ZodArray<z.ZodOptional<z.ZodObject<{ provider: z.ZodOptional<z.ZodString>; model: z.ZodOptional<z.ZodString>; capabilities: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodLiteral<"image">, z.ZodLiteral<"audio">, z.ZodLiteral<"video">]>>>; type: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"provider">, z.ZodLiteral<"cli">]>>; command: z.ZodOptional<z.ZodString>; args: z.ZodOptional<z.ZodArray<z.ZodString>>; prompt: z.ZodOptional<z.ZodString>; maxChars: z.ZodOptional<z.ZodNumber>; maxBytes: z.ZodOptional<z.ZodNumber>; timeoutSeconds: z.ZodOptional<z.ZodNumber>; language: z.ZodOptional<z.ZodString>; providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>>; deepgram: z.ZodOptional<z.ZodObject<{ detectLanguage: z.ZodOptional<z.ZodBoolean>; punctuate: z.ZodOptional<z.ZodBoolean>; smartFormat: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; baseUrl: z.ZodOptional<z.ZodString>; headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; profile: z.ZodOptional<z.ZodString>; preferredProfile: z.ZodOptional<z.ZodString>; }, z.core.$strict>>>>; }, z.core.$strict>>>; audio: z.ZodOptional<z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; scope: z.ZodOptional<z.ZodObject<{ default: z.ZodOptional<z.ZodUni