import type { ChatChunkType } from '../types'; import { type StreamJsonUsage, type StreamJsonError } from './claude-code-stream'; import { type PolicyContext } from './cli-runner-env'; export { buildClaudeArgs, buildCleanEnv, _resetCleanEnvCache } from './claude-code-args'; export { processStreamJsonLine, parseFileUploadResult } from './claude-code-stream'; export type { StreamJsonContentBlock, StreamJsonLine, StreamJsonMcpServer, StreamJsonError } from './claude-code-stream'; export declare const ERR_CLAUDE_USAGE_LIMIT_REACHED = "claude CLI \u306E\u5229\u7528\u4E0A\u9650\u306B\u9054\u3057\u3066\u3044\u307E\u3059\u3002Claude Code \u306E Monthly Limit \u307E\u305F\u306F rate limit \u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002"; export declare const ERR_CLAUDE_EXIT_CODE_1 = "claude CLI \u304C\u30B3\u30FC\u30C9 1 \u3067\u7D42\u4E86\u3057\u307E\u3057\u305F"; export declare const ERR_CLAUDE_AUTH_FAILED = "claude CLI \u306E\u8A8D\u8A3C\u306B\u5931\u6557\u3057\u307E\u3057\u305F (401)\u3002CLAUDE_CODE_OAUTH_TOKEN \u304C\u7121\u52B9\u304B\u5931\u52B9\u3057\u3066\u3044\u307E\u3059\u3002Web \u8A2D\u5B9A\u306E\u30C8\u30FC\u30AF\u30F3\u3092\u518D\u767A\u884C\uFF08claude setup-token\uFF09\u3057\u3066\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002"; /** Claude Code CLI の実行結果 */ export interface ClaudeCodeResult { text: string; usage?: StreamJsonUsage; metadata: { args: string[]; exitCode: number | null; hasStderr: boolean; durationMs: number; }; } /** Claude Code CLI の実行ハンドル(プロセス管理用) */ export interface ClaudeCodeHandle { result: Promise; cancel: () => void; } export type { PolicyContext }; /** runClaudeCode のオプション */ export interface RunClaudeCodeOptions { message: string; sendChunk: (type: ChatChunkType, content: string) => Promise; allowedTools?: string[]; tools?: string[]; addDirs?: string[]; locale?: string; awsEnv?: Record; mcpConfigPath?: string; /** `--strict-mcp-config` を付与するか。詳細は claude-code-args.ts のコメント参照 */ strictMcpConfig?: boolean; cwd?: string; systemPrompt?: string; /** claude CLI に渡すモデル。 * 省略時は env(ANTHROPIC_MODEL / envVarsOverride)が有効値なら CLI に委譲し、 * env も未設定の場合に DEFAULT_CLAUDE_MODEL が使われる。 */ model?: string; policyContext?: PolicyContext; /** * Web 設定(CLAUDE_CODE# / ENV#)由来の環境変数オーバーレイ。 * * cleanEnv → awsEnv → policyContext の最後にマージされ、含まれるキーのみ * 上書きする。含まれないキーは process.env の値が残る。 */ envVarsOverride?: Record; } /** * Claude Code CLI をサブプロセスとして実行し、出力をストリーミングで返す * ClaudeCodeHandle を返す: result Promise と kill 関数 */ export declare function runClaudeCode(options: RunClaudeCodeOptions): ClaudeCodeHandle; export declare function formatClaudeExitError(code: number | null, stderrText: string, streamError?: StreamJsonError): string; /** * claude CLI のエラーテキストが認証失敗(401 / bearer トークン不正 / 要 login)かを判定する。 * api_error_status が無いケース(本文のみ)でも拾えるようにするが、過検出を避けるため * 明確な認証シグナルに限定し、"401" は単語境界+認証/API 文脈が伴う場合のみ認証と見なす。 */ export declare function isClaudeAuthError(text: string): boolean; export declare function isClaudeUsageLimitError(stderrText: string): boolean; //# sourceMappingURL=claude-code-runner.d.ts.map