1 line
212 KiB
Plaintext
1 line
212 KiB
Plaintext
|
|
{"version":3,"sources":["../src/index.ts","../src/_internal/transport/subprocess-cli.ts","../src/types/base-error.ts","../src/types/enhanced-errors.ts","../src/errors.ts","../src/_internal/transport/subprocess-abort-handler.ts","../src/environment.ts","../src/_internal/options-merger.ts","../src/_internal/client.ts","../src/types/telemetry.ts","../src/types/retry.ts","../src/types/environment.ts","../src/parser.ts","../src/permissions/manager.ts","../src/config/loader.ts","../src/roles/manager.ts","../src/logger.ts","../src/fluent.ts","../src/streaming/token-stream.ts","../src/permissions/tool-permissions.ts","../src/telemetry/provider-simple.ts","../src/retry/executor.ts"],"sourcesContent":["import { InternalClient } from './_internal/client.js';\nimport type { ClaudeCodeOptions, Message } from './types.js';\n\n/**\n * Query Claude Code with a prompt and options.\n * \n * @param prompt - The prompt to send to Claude Code\n * @param options - Configuration options for the query\n * @returns An async iterator that yields messages from Claude Code\n * \n * @example\n * ```typescript\n * import { query } from '@instantlyeasy/claude-code-sdk-ts';\n * \n * for await (const message of query('Create a hello.txt file')) {\n * console.log(message);\n * }\n * ```\n * \n * @example\n * ```typescript\n * import { query, ClaudeCodeOptions } from '@instantlyeasy/claude-code-sdk-ts';\n * \n * const options: ClaudeCodeOptions = {\n * allowedTools: ['Read', 'Write'],\n * permissionMode: 'acceptEdits',\n * cwd: '/Users/me/projects'\n * };\n * \n * for await (const message of query('Analyze this codebase', options)) {\n * if (message.type === 'assistant') {\n * // Handle assistant messages\n * } else if (message.type === 'result') {\n * // Handle final result\n * }\n * }\n * ```\n */\nexport async function* query(\n prompt: string,\n options?: ClaudeCodeOptions\n): AsyncGenerator<Message> {\n const client = new InternalClient(prompt, options);\n yield* client.processQuery();\n}\n\n// Re-export all types\nexport * from './types.js';\nexport * from './errors.js';\nexport { AbortError } from './errors.js';\n\n// Export enhanced error utilities\nexport { \n isEnhancedError, \n hasResolution \n} from './types/environment.js';\nexport { API_KEY_SAFETY_WARNING } from './environment.js';\n\n// Export new fluent API (backward compatible - original query function still available)\nexport { claude, QueryBuilder } from './fluent.js';\nexport { ResponseParser, type ToolExecution, type UsageStats } from './parser.js';\nexport { \n Logger, \n LogLevel, \n ConsoleLogger, \n JSONLogger, \n MultiLogger, \n NullLogger,\n type LogEntry \n} from './logger.js';\n\n// Export enhanced features (functions and classes only, types come from types.js)\nexport {\n // Error handling\n detectErrorType,\n createTypedError,\n // Token streaming\n createTokenStream,\n TokenStreamImpl,\n // Per-call permissions\n createPermissionManager,\n ToolPermissionManager,\n // Telemetry\n createTelemetryProvider,\n ClaudeTelemetryProvider,\n TelemetryUtils,\n // Retry and backoff\n createRetryExecutor,\n createExponentialRetryExecutor,\n createLinearRetryExecutor,\n createFibonacciRetryExecutor,\n withRetry,\n ClaudeRetryExecutor\n} from './enhanced/index.js';","import { execa, type ExecaChildProcess } from 'execa';\nimport which from 'which';\nimport { createInterface } from 'node:readline';\nimport { platform } from 'node:os';\nimport { join } from 'node:path';\nimport { homedir } from 'node:os';\nimport { access, constants } from 'node:fs/promises';\nimport { CLIConnectionError, CLINotFoundError, ProcessError, CLIJSONDecodeError, AbortError } from '../../errors.js';\nimport type { ClaudeCodeOptions, CLIOutput } from '../../types.js';\nimport { SubprocessAbortHandler } from './subprocess-abort-handler.js';\n\nexport class SubprocessCLITransport {\n private process?: ExecaChildProcess;\n private options: ClaudeCodeOptions;\n private prompt: string;\n private abortHandler?: SubprocessAbortHandler;\n private cleanupAbort?: (
|