/** * [WHO]: Args, Mode, parseArgs(), printHelp() * [FROM]: Depends on agent-core, chalk, config.ts, core/tools * [TO]: Consumed by main.ts, core/model-resolver.ts * [HERE]: cli/args.ts - CLI argument parsing and help display */ import { type AgentLoopFrameworkInput, type AgentLoopPolicyOptions, type ThinkingLevel } from "@catui/agent-core"; import { type ToolName } from "../core/tools/index.js"; export type Mode = "text" | "json" | "rpc"; export interface Args { cwd?: string; provider?: string; model?: string; apiKey?: string; systemPrompt?: string; appendSystemPrompt?: string; thinking?: ThinkingLevel; continue?: boolean; resume?: boolean; help?: boolean; version?: boolean; mode?: Mode; noSession?: boolean; session?: string; sessionDir?: string; models?: string[]; tools?: ToolName[]; noTools?: boolean; extensions?: string[]; noExtensions?: boolean; print?: boolean; /** In text print mode, emit the final agent loop result as stderr JSON. */ printLoopResult?: boolean; /** In print mode, exit non-zero when the final agent result is an error. */ failOnAgentError?: boolean; /** In print mode, exit non-zero when any tool permission denial occurred. */ failOnToolDenial?: boolean; /** Non-persistent agent loop framework override for this process/session. */ agentLoopFramework?: AgentLoopFrameworkInput; /** Non-persistent loop policy overrides for this process/session. */ loopPolicy?: Pick; export?: string; noSkills?: boolean; skills?: string[]; promptTemplates?: string[]; noPromptTemplates?: boolean; themes?: string[]; noThemes?: boolean; listModels?: string | true; refreshModels?: boolean; offline?: boolean; /** Disable MCP (Model Context Protocol). Default: false (MCP enabled) */ noMcp?: boolean; verbose?: boolean; /** Disable Soul (AI personality evolution). Default: false (Soul enabled) */ disableSoul?: boolean; /** Enable ACP (Agent Client Protocol) mode for editor integration */ acp?: boolean; /** Multi-Agent: ID of the agent to use. Default: "default" */ agent?: string; messages: string[]; fileArgs: string[]; /** Unknown flags (potentially extension flags) - map of flag name to value */ unknownFlags: Map; } export declare function isValidThinkingLevel(level: string): level is ThinkingLevel; export declare function parseArgs(args: string[], extensionFlags?: Map): Args; export declare function printHelp(): void;