@the-open-engine/zeroshot 5.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +539 -0
- package/LICENSE +21 -0
- package/README.md +508 -0
- package/cli/commands/inspect-render.js +135 -0
- package/cli/commands/inspect.js +294 -0
- package/cli/commands/providers.js +149 -0
- package/cli/index.js +5431 -0
- package/cli/lib/first-run.js +211 -0
- package/cli/lib/update-checker.js +281 -0
- package/cli/message-formatter-utils.js +75 -0
- package/cli/message-formatters-normal.js +275 -0
- package/cli/message-formatters-watch.js +185 -0
- package/cluster-templates/base-templates/debug-workflow.json +422 -0
- package/cluster-templates/base-templates/full-workflow.json +727 -0
- package/cluster-templates/base-templates/heavy-validation.json +272 -0
- package/cluster-templates/base-templates/quick-validation.json +285 -0
- package/cluster-templates/base-templates/single-worker.json +71 -0
- package/cluster-templates/base-templates/worker-validator.json +230 -0
- package/cluster-templates/conductor-bootstrap.json +130 -0
- package/docker/zeroshot-cluster/Dockerfile +153 -0
- package/docker/zeroshot-cluster/pre-baked-deps.json +28 -0
- package/lib/agent-cli-provider/adapters/claude-parser.d.ts +3 -0
- package/lib/agent-cli-provider/adapters/claude-parser.d.ts.map +1 -0
- package/lib/agent-cli-provider/adapters/claude-parser.js +122 -0
- package/lib/agent-cli-provider/adapters/claude-parser.js.map +1 -0
- package/lib/agent-cli-provider/adapters/claude-recovery.d.ts +15 -0
- package/lib/agent-cli-provider/adapters/claude-recovery.d.ts.map +1 -0
- package/lib/agent-cli-provider/adapters/claude-recovery.js +165 -0
- package/lib/agent-cli-provider/adapters/claude-recovery.js.map +1 -0
- package/lib/agent-cli-provider/adapters/claude.d.ts +3 -0
- package/lib/agent-cli-provider/adapters/claude.d.ts.map +1 -0
- package/lib/agent-cli-provider/adapters/claude.js +181 -0
- package/lib/agent-cli-provider/adapters/claude.js.map +1 -0
- package/lib/agent-cli-provider/adapters/codex-parser.d.ts +3 -0
- package/lib/agent-cli-provider/adapters/codex-parser.d.ts.map +1 -0
- package/lib/agent-cli-provider/adapters/codex-parser.js +192 -0
- package/lib/agent-cli-provider/adapters/codex-parser.js.map +1 -0
- package/lib/agent-cli-provider/adapters/codex.d.ts +3 -0
- package/lib/agent-cli-provider/adapters/codex.d.ts.map +1 -0
- package/lib/agent-cli-provider/adapters/codex.js +151 -0
- package/lib/agent-cli-provider/adapters/codex.js.map +1 -0
- package/lib/agent-cli-provider/adapters/common.d.ts +28 -0
- package/lib/agent-cli-provider/adapters/common.d.ts.map +1 -0
- package/lib/agent-cli-provider/adapters/common.js +71 -0
- package/lib/agent-cli-provider/adapters/common.js.map +1 -0
- package/lib/agent-cli-provider/adapters/gemini.d.ts +3 -0
- package/lib/agent-cli-provider/adapters/gemini.d.ts.map +1 -0
- package/lib/agent-cli-provider/adapters/gemini.js +176 -0
- package/lib/agent-cli-provider/adapters/gemini.js.map +1 -0
- package/lib/agent-cli-provider/adapters/index.d.ts +9 -0
- package/lib/agent-cli-provider/adapters/index.d.ts.map +1 -0
- package/lib/agent-cli-provider/adapters/index.js +95 -0
- package/lib/agent-cli-provider/adapters/index.js.map +1 -0
- package/lib/agent-cli-provider/adapters/opencode.d.ts +3 -0
- package/lib/agent-cli-provider/adapters/opencode.d.ts.map +1 -0
- package/lib/agent-cli-provider/adapters/opencode.js +228 -0
- package/lib/agent-cli-provider/adapters/opencode.js.map +1 -0
- package/lib/agent-cli-provider/contract-actions.d.ts +5 -0
- package/lib/agent-cli-provider/contract-actions.d.ts.map +1 -0
- package/lib/agent-cli-provider/contract-actions.js +140 -0
- package/lib/agent-cli-provider/contract-actions.js.map +1 -0
- package/lib/agent-cli-provider/contract-env.d.ts +11 -0
- package/lib/agent-cli-provider/contract-env.d.ts.map +1 -0
- package/lib/agent-cli-provider/contract-env.js +113 -0
- package/lib/agent-cli-provider/contract-env.js.map +1 -0
- package/lib/agent-cli-provider/contract-envelope.d.ts +49 -0
- package/lib/agent-cli-provider/contract-envelope.d.ts.map +1 -0
- package/lib/agent-cli-provider/contract-envelope.js +52 -0
- package/lib/agent-cli-provider/contract-envelope.js.map +1 -0
- package/lib/agent-cli-provider/contract-errors.d.ts +22 -0
- package/lib/agent-cli-provider/contract-errors.d.ts.map +1 -0
- package/lib/agent-cli-provider/contract-errors.js +71 -0
- package/lib/agent-cli-provider/contract-errors.js.map +1 -0
- package/lib/agent-cli-provider/contract-fallback.d.ts +7 -0
- package/lib/agent-cli-provider/contract-fallback.d.ts.map +1 -0
- package/lib/agent-cli-provider/contract-fallback.js +102 -0
- package/lib/agent-cli-provider/contract-fallback.js.map +1 -0
- package/lib/agent-cli-provider/contract-invoke.d.ts +5 -0
- package/lib/agent-cli-provider/contract-invoke.d.ts.map +1 -0
- package/lib/agent-cli-provider/contract-invoke.js +89 -0
- package/lib/agent-cli-provider/contract-invoke.js.map +1 -0
- package/lib/agent-cli-provider/contract-options.d.ts +3 -0
- package/lib/agent-cli-provider/contract-options.d.ts.map +1 -0
- package/lib/agent-cli-provider/contract-options.js +140 -0
- package/lib/agent-cli-provider/contract-options.js.map +1 -0
- package/lib/agent-cli-provider/contract-parse.d.ts +15 -0
- package/lib/agent-cli-provider/contract-parse.d.ts.map +1 -0
- package/lib/agent-cli-provider/contract-parse.js +81 -0
- package/lib/agent-cli-provider/contract-parse.js.map +1 -0
- package/lib/agent-cli-provider/contract-support.d.ts +18 -0
- package/lib/agent-cli-provider/contract-support.d.ts.map +1 -0
- package/lib/agent-cli-provider/contract-support.js +154 -0
- package/lib/agent-cli-provider/contract-support.js.map +1 -0
- package/lib/agent-cli-provider/contract.d.ts +13 -0
- package/lib/agent-cli-provider/contract.d.ts.map +1 -0
- package/lib/agent-cli-provider/contract.js +30 -0
- package/lib/agent-cli-provider/contract.js.map +1 -0
- package/lib/agent-cli-provider/env-safety.d.ts +11 -0
- package/lib/agent-cli-provider/env-safety.d.ts.map +1 -0
- package/lib/agent-cli-provider/env-safety.js +83 -0
- package/lib/agent-cli-provider/env-safety.js.map +1 -0
- package/lib/agent-cli-provider/errors.d.ts +5 -0
- package/lib/agent-cli-provider/errors.d.ts.map +1 -0
- package/lib/agent-cli-provider/errors.js +115 -0
- package/lib/agent-cli-provider/errors.js.map +1 -0
- package/lib/agent-cli-provider/executable.d.ts +3 -0
- package/lib/agent-cli-provider/executable.d.ts.map +1 -0
- package/lib/agent-cli-provider/executable.js +24 -0
- package/lib/agent-cli-provider/executable.js.map +1 -0
- package/lib/agent-cli-provider/index.d.ts +8 -0
- package/lib/agent-cli-provider/index.d.ts.map +1 -0
- package/lib/agent-cli-provider/index.js +31 -0
- package/lib/agent-cli-provider/index.js.map +1 -0
- package/lib/agent-cli-provider/invoke-evidence.d.ts +4 -0
- package/lib/agent-cli-provider/invoke-evidence.d.ts.map +1 -0
- package/lib/agent-cli-provider/invoke-evidence.js +17 -0
- package/lib/agent-cli-provider/invoke-evidence.js.map +1 -0
- package/lib/agent-cli-provider/json.d.ts +16 -0
- package/lib/agent-cli-provider/json.d.ts.map +1 -0
- package/lib/agent-cli-provider/json.js +110 -0
- package/lib/agent-cli-provider/json.js.map +1 -0
- package/lib/agent-cli-provider/log-prefix.d.ts +2 -0
- package/lib/agent-cli-provider/log-prefix.d.ts.map +1 -0
- package/lib/agent-cli-provider/log-prefix.js +22 -0
- package/lib/agent-cli-provider/log-prefix.js.map +1 -0
- package/lib/agent-cli-provider/process-runner.d.ts +17 -0
- package/lib/agent-cli-provider/process-runner.d.ts.map +1 -0
- package/lib/agent-cli-provider/process-runner.js +89 -0
- package/lib/agent-cli-provider/process-runner.js.map +1 -0
- package/lib/agent-cli-provider/redaction.d.ts +9 -0
- package/lib/agent-cli-provider/redaction.d.ts.map +1 -0
- package/lib/agent-cli-provider/redaction.js +227 -0
- package/lib/agent-cli-provider/redaction.js.map +1 -0
- package/lib/agent-cli-provider/schema.d.ts +5 -0
- package/lib/agent-cli-provider/schema.d.ts.map +1 -0
- package/lib/agent-cli-provider/schema.js +136 -0
- package/lib/agent-cli-provider/schema.js.map +1 -0
- package/lib/agent-cli-provider/single-agent-runtime.d.ts +15 -0
- package/lib/agent-cli-provider/single-agent-runtime.d.ts.map +1 -0
- package/lib/agent-cli-provider/single-agent-runtime.js +228 -0
- package/lib/agent-cli-provider/single-agent-runtime.js.map +1 -0
- package/lib/agent-cli-provider/types.d.ts +194 -0
- package/lib/agent-cli-provider/types.d.ts.map +1 -0
- package/lib/agent-cli-provider/types.js +12 -0
- package/lib/agent-cli-provider/types.js.map +1 -0
- package/lib/completion.js +174 -0
- package/lib/detached-startup.js +220 -0
- package/lib/docker-config.js +220 -0
- package/lib/git-remote-utils.js +165 -0
- package/lib/id-detector.js +55 -0
- package/lib/provider-defaults.js +62 -0
- package/lib/provider-detection.js +59 -0
- package/lib/provider-names.js +57 -0
- package/lib/repo-settings.js +69 -0
- package/lib/settings/claude-auth.js +78 -0
- package/lib/settings.js +542 -0
- package/lib/start-cluster.js +321 -0
- package/lib/stream-json-parser.js +67 -0
- package/package.json +162 -0
- package/scripts/fix-node-pty-permissions.js +75 -0
- package/scripts/record-demo.sh +279 -0
- package/scripts/setup-merge-queue.sh +170 -0
- package/scripts/test-install.sh +40 -0
- package/scripts/validate-templates.js +107 -0
- package/src/agent/agent-config.js +266 -0
- package/src/agent/agent-context-builder.js +189 -0
- package/src/agent/agent-context-sections.js +338 -0
- package/src/agent/agent-context-sources.js +147 -0
- package/src/agent/agent-hook-executor.js +721 -0
- package/src/agent/agent-input-injector.js +141 -0
- package/src/agent/agent-lifecycle.js +982 -0
- package/src/agent/agent-quality-gate-schema.js +93 -0
- package/src/agent/agent-quality-gates-context.js +51 -0
- package/src/agent/agent-stuck-detector.js +256 -0
- package/src/agent/agent-task-executor.js +2028 -0
- package/src/agent/agent-trigger-evaluator.js +67 -0
- package/src/agent/context-metrics.js +160 -0
- package/src/agent/context-pack-builder.js +367 -0
- package/src/agent/context-replay-policy.js +51 -0
- package/src/agent/guidance-queue.js +77 -0
- package/src/agent/output-extraction.js +367 -0
- package/src/agent/output-reformatter.js +175 -0
- package/src/agent/pr-verification.js +653 -0
- package/src/agent/rate-limit-backoff.js +82 -0
- package/src/agent/schema-utils.js +146 -0
- package/src/agent/validation-platform.js +35 -0
- package/src/agent-cli-provider/adapters/claude-parser.ts +133 -0
- package/src/agent-cli-provider/adapters/claude-recovery.ts +203 -0
- package/src/agent-cli-provider/adapters/claude.ts +247 -0
- package/src/agent-cli-provider/adapters/codex-parser.ts +211 -0
- package/src/agent-cli-provider/adapters/codex.ts +217 -0
- package/src/agent-cli-provider/adapters/common.ts +124 -0
- package/src/agent-cli-provider/adapters/gemini.ts +243 -0
- package/src/agent-cli-provider/adapters/index.ts +126 -0
- package/src/agent-cli-provider/adapters/opencode.ts +286 -0
- package/src/agent-cli-provider/contract-actions.ts +150 -0
- package/src/agent-cli-provider/contract-env.ts +111 -0
- package/src/agent-cli-provider/contract-envelope.ts +110 -0
- package/src/agent-cli-provider/contract-errors.ts +66 -0
- package/src/agent-cli-provider/contract-fallback.ts +121 -0
- package/src/agent-cli-provider/contract-invoke.ts +104 -0
- package/src/agent-cli-provider/contract-options.ts +173 -0
- package/src/agent-cli-provider/contract-parse.ts +94 -0
- package/src/agent-cli-provider/contract-support.ts +167 -0
- package/src/agent-cli-provider/contract.ts +56 -0
- package/src/agent-cli-provider/env-safety.ts +82 -0
- package/src/agent-cli-provider/errors.ts +122 -0
- package/src/agent-cli-provider/executable.ts +24 -0
- package/src/agent-cli-provider/index.ts +83 -0
- package/src/agent-cli-provider/invoke-evidence.ts +18 -0
- package/src/agent-cli-provider/json.ts +114 -0
- package/src/agent-cli-provider/log-prefix.ts +20 -0
- package/src/agent-cli-provider/process-runner.ts +145 -0
- package/src/agent-cli-provider/redaction.ts +282 -0
- package/src/agent-cli-provider/schema.ts +115 -0
- package/src/agent-cli-provider/single-agent-runtime.ts +311 -0
- package/src/agent-cli-provider/types.ts +237 -0
- package/src/agent-wrapper.js +615 -0
- package/src/agents/git-pusher-template.js +705 -0
- package/src/attach/attach-client.js +438 -0
- package/src/attach/attach-server.js +543 -0
- package/src/attach/index.js +37 -0
- package/src/attach/protocol.js +220 -0
- package/src/attach/ring-buffer.js +121 -0
- package/src/attach/send-input.js +88 -0
- package/src/attach/socket-discovery.js +267 -0
- package/src/claude-task-runner.js +661 -0
- package/src/config-router.js +89 -0
- package/src/config-validator.js +2202 -0
- package/src/copy-worker.js +43 -0
- package/src/guidance-topics.js +10 -0
- package/src/input-helpers.js +65 -0
- package/src/isolation-manager.js +1734 -0
- package/src/issue-providers/README.md +305 -0
- package/src/issue-providers/azure-devops-provider.js +307 -0
- package/src/issue-providers/base-provider.js +232 -0
- package/src/issue-providers/github-provider.js +210 -0
- package/src/issue-providers/gitlab-provider.js +262 -0
- package/src/issue-providers/index.js +196 -0
- package/src/issue-providers/jira-provider.js +260 -0
- package/src/ledger.js +692 -0
- package/src/lib/gc.js +232 -0
- package/src/lib/safe-exec.js +88 -0
- package/src/logic-engine.js +201 -0
- package/src/message-buffer.js +81 -0
- package/src/message-bus-bridge.js +144 -0
- package/src/message-bus.js +256 -0
- package/src/name-generator.js +232 -0
- package/src/orchestrator.js +3924 -0
- package/src/preflight.js +712 -0
- package/src/process-metrics.js +608 -0
- package/src/providers/anthropic/index.js +3 -0
- package/src/providers/base-provider.js +355 -0
- package/src/providers/capabilities.js +60 -0
- package/src/providers/google/index.js +3 -0
- package/src/providers/index.js +293 -0
- package/src/providers/openai/index.js +3 -0
- package/src/providers/opencode/index.js +3 -0
- package/src/quality-gates.js +143 -0
- package/src/schemas/sub-cluster.js +208 -0
- package/src/state-snapshot.js +398 -0
- package/src/state-snapshotter.js +142 -0
- package/src/status-footer.js +1026 -0
- package/src/sub-cluster-wrapper.js +693 -0
- package/src/task-runner.js +30 -0
- package/src/template-resolver.js +425 -0
- package/src/template-validation/index.js +338 -0
- package/src/template-validation/simulate-consensus-gates.js +324 -0
- package/src/template-validation/simulate-random-topology.js +541 -0
- package/src/template-validation/simulate-two-stage-validation.js +270 -0
- package/src/worktree-claude-config.js +135 -0
- package/src/worktree-tooling-env.js +150 -0
- package/task-lib/attachable-watcher.js +381 -0
- package/task-lib/commands/clean.js +50 -0
- package/task-lib/commands/episodes.js +105 -0
- package/task-lib/commands/get-log-path.js +23 -0
- package/task-lib/commands/kill.js +32 -0
- package/task-lib/commands/list.js +105 -0
- package/task-lib/commands/logs.js +439 -0
- package/task-lib/commands/resume.js +42 -0
- package/task-lib/commands/run.js +57 -0
- package/task-lib/commands/schedule.js +105 -0
- package/task-lib/commands/scheduler-cmd.js +96 -0
- package/task-lib/commands/schedules.js +148 -0
- package/task-lib/commands/status.js +44 -0
- package/task-lib/commands/unschedule.js +16 -0
- package/task-lib/completion.js +9 -0
- package/task-lib/config.js +11 -0
- package/task-lib/name-generator.js +230 -0
- package/task-lib/package.json +3 -0
- package/task-lib/provider-helper-runtime.js +29 -0
- package/task-lib/runner.js +190 -0
- package/task-lib/scheduler.js +252 -0
- package/task-lib/store.js +529 -0
- package/task-lib/watcher.js +305 -0
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseCodexEvent = parseCodexEvent;
|
|
4
|
+
const json_1 = require("../json");
|
|
5
|
+
function safeJsonParse(value, fallback) {
|
|
6
|
+
try {
|
|
7
|
+
return (0, json_1.parseJson)(value);
|
|
8
|
+
}
|
|
9
|
+
catch {
|
|
10
|
+
return fallback;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function parseAssistantMessage(item) {
|
|
14
|
+
const rawContent = item.content;
|
|
15
|
+
const content = Array.isArray(rawContent) ? rawContent : [{ type: 'text', text: rawContent }];
|
|
16
|
+
const records = content.filter(json_1.isRecord);
|
|
17
|
+
const text = records
|
|
18
|
+
.filter((contentItem) => (0, json_1.getString)(contentItem, 'type') === 'text')
|
|
19
|
+
.map((contentItem) => (0, json_1.getString)(contentItem, 'text') ?? '')
|
|
20
|
+
.join('');
|
|
21
|
+
const thinking = records
|
|
22
|
+
.filter((contentItem) => {
|
|
23
|
+
const type = (0, json_1.getString)(contentItem, 'type');
|
|
24
|
+
return type === 'thinking' || type === 'reasoning';
|
|
25
|
+
})
|
|
26
|
+
.map((contentItem) => (0, json_1.getString)(contentItem, 'text') ?? '')
|
|
27
|
+
.join('');
|
|
28
|
+
const events = [];
|
|
29
|
+
if (text)
|
|
30
|
+
events.push({ type: 'text', text });
|
|
31
|
+
if (thinking)
|
|
32
|
+
events.push({ type: 'thinking', text: thinking });
|
|
33
|
+
return events;
|
|
34
|
+
}
|
|
35
|
+
function parseFunctionCall(item) {
|
|
36
|
+
const argumentValue = item.arguments;
|
|
37
|
+
const input = typeof argumentValue === 'string' ? safeJsonParse(argumentValue, {}) : (argumentValue ?? {});
|
|
38
|
+
return {
|
|
39
|
+
type: 'tool_call',
|
|
40
|
+
toolName: (0, json_1.getOptionalString)(item, 'name'),
|
|
41
|
+
toolId: (0, json_1.getOrStringFromKeys)(item, ['call_id', 'id', 'tool_call_id', 'tool_id']),
|
|
42
|
+
input,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function parseFunctionCallOutput(item) {
|
|
46
|
+
return {
|
|
47
|
+
type: 'tool_result',
|
|
48
|
+
toolId: (0, json_1.getOrStringFromKeys)(item, ['call_id', 'id', 'tool_call_id', 'tool_id']),
|
|
49
|
+
content: item.output ?? item.result ?? item.content ?? '',
|
|
50
|
+
isError: Boolean(item.error),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function commandFromItem(item) {
|
|
54
|
+
const input = (0, json_1.getRecord)(item, 'input');
|
|
55
|
+
if (input !== null) {
|
|
56
|
+
return ((0, json_1.getString)(item, 'command') ??
|
|
57
|
+
(0, json_1.getString)(item, 'cmd') ??
|
|
58
|
+
(0, json_1.getString)(input, 'command') ??
|
|
59
|
+
(0, json_1.getString)(input, 'cmd'));
|
|
60
|
+
}
|
|
61
|
+
return (0, json_1.getString)(item, 'command') ?? (0, json_1.getString)(item, 'cmd');
|
|
62
|
+
}
|
|
63
|
+
function commandExecutionResultIsError(item) {
|
|
64
|
+
const exitCode = (0, json_1.getNumber)(item, 'exit_code') ?? (0, json_1.getNumber)(item, 'exitCode');
|
|
65
|
+
if (exitCode !== null)
|
|
66
|
+
return exitCode !== 0;
|
|
67
|
+
return Boolean(item.error);
|
|
68
|
+
}
|
|
69
|
+
function parseCommandExecutionItem(item, phase) {
|
|
70
|
+
const command = commandFromItem(item);
|
|
71
|
+
const toolId = (0, json_1.getOptionalString)(item, 'id');
|
|
72
|
+
if (phase === 'started') {
|
|
73
|
+
return {
|
|
74
|
+
type: 'tool_call',
|
|
75
|
+
toolName: 'Bash',
|
|
76
|
+
toolId,
|
|
77
|
+
input: command ? { command } : {},
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
return {
|
|
81
|
+
type: 'tool_result',
|
|
82
|
+
toolId,
|
|
83
|
+
content: item.aggregated_output ?? item.output ?? item.result ?? '',
|
|
84
|
+
isError: commandExecutionResultIsError(item),
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
function parseReasoningItem(item) {
|
|
88
|
+
const text = (0, json_1.getString)(item, 'text') ?? (0, json_1.getString)(item, 'content') ?? '';
|
|
89
|
+
return text ? { type: 'thinking', text } : null;
|
|
90
|
+
}
|
|
91
|
+
function normalizeItemEvents(events) {
|
|
92
|
+
if (events.length === 1)
|
|
93
|
+
return events[0] ?? null;
|
|
94
|
+
if (events.length > 1)
|
|
95
|
+
return events;
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
function phaseForEventType(eventType) {
|
|
99
|
+
if (eventType === 'item.started')
|
|
100
|
+
return 'started';
|
|
101
|
+
if (eventType === 'item.completed')
|
|
102
|
+
return 'completed';
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
function pushMaybe(events, event) {
|
|
106
|
+
if (event !== null)
|
|
107
|
+
events.push(event);
|
|
108
|
+
}
|
|
109
|
+
function parseItem(item, eventType) {
|
|
110
|
+
const events = [];
|
|
111
|
+
const itemType = (0, json_1.getString)(item, 'type');
|
|
112
|
+
const phase = phaseForEventType(eventType);
|
|
113
|
+
if (itemType === 'message' && (0, json_1.getString)(item, 'role') === 'assistant') {
|
|
114
|
+
events.push(...parseAssistantMessage(item));
|
|
115
|
+
}
|
|
116
|
+
if (itemType === 'agent_message') {
|
|
117
|
+
const text = (0, json_1.getString)(item, 'text');
|
|
118
|
+
if (text)
|
|
119
|
+
events.push({ type: 'text', text });
|
|
120
|
+
}
|
|
121
|
+
if (itemType === 'reasoning')
|
|
122
|
+
pushMaybe(events, parseReasoningItem(item));
|
|
123
|
+
if (itemType === 'command_execution' && phase !== null) {
|
|
124
|
+
events.push(parseCommandExecutionItem(item, phase));
|
|
125
|
+
}
|
|
126
|
+
if (itemType === 'function_call')
|
|
127
|
+
events.push(parseFunctionCall(item));
|
|
128
|
+
if (itemType === 'function_call_output')
|
|
129
|
+
events.push(parseFunctionCallOutput(item));
|
|
130
|
+
return normalizeItemEvents(events);
|
|
131
|
+
}
|
|
132
|
+
function parseErrorEvent(event) {
|
|
133
|
+
const error = (0, json_1.getRecord)(event, 'error');
|
|
134
|
+
return {
|
|
135
|
+
type: 'result',
|
|
136
|
+
success: false,
|
|
137
|
+
error: error
|
|
138
|
+
? ((0, json_1.getString)(error, 'message') ?? (0, json_1.getString)(event, 'message') ?? event.error ?? 'Error')
|
|
139
|
+
: ((0, json_1.getString)(event, 'message') ?? event.error ?? 'Error'),
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
function parseTurnCompleted(event) {
|
|
143
|
+
const response = (0, json_1.getRecord)(event, 'response');
|
|
144
|
+
const usage = (0, json_1.getRecord)(event, 'usage') ?? (response ? (0, json_1.getRecord)(response, 'usage') : null) ?? {};
|
|
145
|
+
return {
|
|
146
|
+
type: 'result',
|
|
147
|
+
success: true,
|
|
148
|
+
inputTokens: (0, json_1.getNumber)(usage, 'input_tokens') ?? 0,
|
|
149
|
+
outputTokens: (0, json_1.getNumber)(usage, 'output_tokens') ?? 0,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
function parseTurnFailed(event) {
|
|
153
|
+
const error = (0, json_1.getRecord)(event, 'error');
|
|
154
|
+
return {
|
|
155
|
+
type: 'result',
|
|
156
|
+
success: false,
|
|
157
|
+
error: error
|
|
158
|
+
? ((0, json_1.getString)(error, 'message') ?? event.error ?? 'Turn failed')
|
|
159
|
+
: (event.error ?? 'Turn failed'),
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
function parseStartedItem(event) {
|
|
163
|
+
const item = (0, json_1.getRecord)(event, 'item');
|
|
164
|
+
if (item === null || (0, json_1.getString)(item, 'type') !== 'command_execution')
|
|
165
|
+
return null;
|
|
166
|
+
return parseItem(item, 'item.started');
|
|
167
|
+
}
|
|
168
|
+
function parseCreatedOrCompletedItem(event, type) {
|
|
169
|
+
const item = (0, json_1.getRecord)(event, 'item');
|
|
170
|
+
return item === null ? null : parseItem(item, type);
|
|
171
|
+
}
|
|
172
|
+
function parseCodexEvent(line) {
|
|
173
|
+
const event = (0, json_1.tryParseJson)(line);
|
|
174
|
+
if (!(0, json_1.isRecord)(event))
|
|
175
|
+
return null;
|
|
176
|
+
const type = (0, json_1.getString)(event, 'type');
|
|
177
|
+
if (type === 'error')
|
|
178
|
+
return parseErrorEvent(event);
|
|
179
|
+
if (type === 'thread.started' || type === 'turn.started')
|
|
180
|
+
return null;
|
|
181
|
+
if (type === 'item.started')
|
|
182
|
+
return parseStartedItem(event);
|
|
183
|
+
if (type === 'item.created' || type === 'item.completed') {
|
|
184
|
+
return parseCreatedOrCompletedItem(event, type);
|
|
185
|
+
}
|
|
186
|
+
if (type === 'turn.completed')
|
|
187
|
+
return parseTurnCompleted(event);
|
|
188
|
+
if (type === 'turn.failed')
|
|
189
|
+
return parseTurnFailed(event);
|
|
190
|
+
return null;
|
|
191
|
+
}
|
|
192
|
+
//# sourceMappingURL=codex-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-parser.js","sourceRoot":"","sources":["../../../src/agent-cli-provider/adapters/codex-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/agent-cli-provider/adapters/codex.ts"],"names":[],"mappings":"AACA,OAAO,EASL,KAAK,eAAe,EAGrB,MAAM,UAAU,CAAC;AAyLlB,eAAO,MAAM,YAAY,EAAE,eAkB1B,CAAC"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.codexAdapter = void 0;
|
|
4
|
+
const schema_1 = require("../schema");
|
|
5
|
+
const common_1 = require("./common");
|
|
6
|
+
const codex_parser_1 = require("./codex-parser");
|
|
7
|
+
const MODEL_CATALOG = {
|
|
8
|
+
'gpt-5.4': { rank: 2 },
|
|
9
|
+
'gpt-5.5': { rank: 3 },
|
|
10
|
+
};
|
|
11
|
+
const LEVEL_MAPPING = {
|
|
12
|
+
level1: { rank: 1, model: 'gpt-5.4', reasoningEffort: 'medium' },
|
|
13
|
+
level2: { rank: 2, model: 'gpt-5.4', reasoningEffort: 'high' },
|
|
14
|
+
level3: { rank: 3, model: 'gpt-5.4', reasoningEffort: 'xhigh' },
|
|
15
|
+
};
|
|
16
|
+
function supports(help, pattern) {
|
|
17
|
+
return help ? pattern.test(help) : true;
|
|
18
|
+
}
|
|
19
|
+
function detectCliFeatures(helpText) {
|
|
20
|
+
const help = helpText ?? '';
|
|
21
|
+
const unknown = !help;
|
|
22
|
+
return {
|
|
23
|
+
provider: 'codex',
|
|
24
|
+
supportsJson: supports(help, /--json\b/),
|
|
25
|
+
supportsOutputSchema: supports(help, /--output-schema\b/),
|
|
26
|
+
supportsAutoApprove: supports(help, /--dangerously-bypass-approvals-and-sandbox\b/),
|
|
27
|
+
supportsCwd: supports(help, /\s-C\b/) || supports(help, /--cwd\b/),
|
|
28
|
+
supportsConfigOverride: supports(help, /--config\b/),
|
|
29
|
+
supportsModel: supports(help, /\s-m\b/) || supports(help, /--model\b/),
|
|
30
|
+
supportsSkipGitRepoCheck: supports(help, /--skip-git-repo-check\b/),
|
|
31
|
+
unknown,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function addOutputArgs(args, options) {
|
|
35
|
+
const features = (0, common_1.optionFeatures)(options);
|
|
36
|
+
if ((options.outputFormat === 'stream-json' || options.outputFormat === 'json') &&
|
|
37
|
+
features.supportsJson) {
|
|
38
|
+
args.push('--json');
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function addModelArgs(args, options) {
|
|
42
|
+
const features = (0, common_1.optionFeatures)(options);
|
|
43
|
+
if (options.modelSpec?.model) {
|
|
44
|
+
args.push('-m', options.modelSpec.model);
|
|
45
|
+
}
|
|
46
|
+
if (options.modelSpec?.reasoningEffort && features.supportsConfigOverride) {
|
|
47
|
+
args.push('--config', `model_reasoning_effort="${options.modelSpec.reasoningEffort}"`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
function addCwdArgs(args, options) {
|
|
51
|
+
const features = (0, common_1.optionFeatures)(options);
|
|
52
|
+
if (options.cwd && features.supportsCwd) {
|
|
53
|
+
args.push('-C', options.cwd);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function addAutoApproveArgs(args, options) {
|
|
57
|
+
const features = (0, common_1.optionFeatures)(options);
|
|
58
|
+
if (options.autoApprove && features.supportsAutoApprove) {
|
|
59
|
+
args.push('--dangerously-bypass-approvals-and-sandbox');
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
function addSkipGitArgs(args, options) {
|
|
63
|
+
const features = (0, common_1.optionFeatures)(options);
|
|
64
|
+
if (features.supportsSkipGitRepoCheck !== false) {
|
|
65
|
+
args.push('--skip-git-repo-check');
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
function applySchemaArgs(args, cleanup, context, options) {
|
|
69
|
+
const features = (0, common_1.optionFeatures)(options);
|
|
70
|
+
if (options.jsonSchema && features.supportsOutputSchema) {
|
|
71
|
+
const schemaFile = (0, schema_1.writeStrictOutputSchemaFile)(options.jsonSchema);
|
|
72
|
+
cleanup.push(schemaFile);
|
|
73
|
+
args.push('--output-schema', schemaFile);
|
|
74
|
+
return context;
|
|
75
|
+
}
|
|
76
|
+
return options.jsonSchema ? (0, schema_1.appendJsonSchemaPrompt)(context, options.jsonSchema) : context;
|
|
77
|
+
}
|
|
78
|
+
function collectWarnings(options) {
|
|
79
|
+
const features = (0, common_1.optionFeatures)(options);
|
|
80
|
+
const warnings = (0, common_1.unsupportedSessionControlWarnings)('codex', options);
|
|
81
|
+
if (options.autoApprove && features.supportsAutoApprove === false) {
|
|
82
|
+
warnings.push((0, common_1.warning)('codex', 'codex-auto-approve', 'Codex CLI does not support auto-approve; continuing without bypass flag.'));
|
|
83
|
+
}
|
|
84
|
+
if (options.jsonSchema && features.supportsOutputSchema === false) {
|
|
85
|
+
warnings.push((0, common_1.warning)('codex', 'codex-jsonschema', 'Codex CLI does not support --output-schema; skipping schema flag.'));
|
|
86
|
+
}
|
|
87
|
+
if (options.modelSpec?.reasoningEffort && features.supportsConfigOverride === false) {
|
|
88
|
+
warnings.push((0, common_1.warning)('codex', 'codex-reasoning', 'Codex CLI does not support --config overrides; skipping reasoningEffort.'));
|
|
89
|
+
}
|
|
90
|
+
return warnings;
|
|
91
|
+
}
|
|
92
|
+
function buildCommand(context, options = {}) {
|
|
93
|
+
const args = ['exec'];
|
|
94
|
+
const cleanup = [];
|
|
95
|
+
addOutputArgs(args, options);
|
|
96
|
+
addModelArgs(args, options);
|
|
97
|
+
addCwdArgs(args, options);
|
|
98
|
+
addAutoApproveArgs(args, options);
|
|
99
|
+
addSkipGitArgs(args, options);
|
|
100
|
+
const finalContext = applySchemaArgs(args, cleanup, context, options);
|
|
101
|
+
args.push(finalContext);
|
|
102
|
+
return (0, common_1.commandSpec)({
|
|
103
|
+
binary: 'codex',
|
|
104
|
+
args,
|
|
105
|
+
env: {},
|
|
106
|
+
...(options.cwd === undefined ? {} : { cwd: options.cwd }),
|
|
107
|
+
cleanup,
|
|
108
|
+
cleanupMetadata: cleanup.map((schemaFile) => ({
|
|
109
|
+
kind: 'temp-file',
|
|
110
|
+
provider: 'codex',
|
|
111
|
+
path: schemaFile,
|
|
112
|
+
reason: 'output-schema',
|
|
113
|
+
})),
|
|
114
|
+
warnings: collectWarnings(options),
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
function resolveModelSpec(level, overrides) {
|
|
118
|
+
return (0, common_1.resolveModelSpecWithConfig)({
|
|
119
|
+
mapping: LEVEL_MAPPING,
|
|
120
|
+
defaultLevel: 'level2',
|
|
121
|
+
level,
|
|
122
|
+
overrides,
|
|
123
|
+
validateModelId,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
function validateModelId(modelId) {
|
|
127
|
+
return (0, common_1.validateModelIdFromCatalog)('codex', MODEL_CATALOG, modelId);
|
|
128
|
+
}
|
|
129
|
+
function classifyError(error) {
|
|
130
|
+
return (0, common_1.classifyBaseProviderError)(error, [/rate_limit_exceeded/i, /\bserver_error\b/i, /\bservice_unavailable\b/i], [/\binsufficient_quota\b/i, /\bmodel_not_found\b/i, /\bcontext_length_exceeded\b/i]);
|
|
131
|
+
}
|
|
132
|
+
exports.codexAdapter = {
|
|
133
|
+
id: 'codex',
|
|
134
|
+
displayName: 'Codex',
|
|
135
|
+
binary: 'codex',
|
|
136
|
+
adapterVersion: '1',
|
|
137
|
+
credentialEnvKeys: ['OPENAI_API_KEY', 'CODEX_API_KEY'],
|
|
138
|
+
modelCatalog: MODEL_CATALOG,
|
|
139
|
+
levelMapping: LEVEL_MAPPING,
|
|
140
|
+
defaultLevel: 'level2',
|
|
141
|
+
defaultMaxLevel: 'level3',
|
|
142
|
+
defaultMinLevel: 'level1',
|
|
143
|
+
detectCliFeatures,
|
|
144
|
+
buildCommand,
|
|
145
|
+
parseEvent: codex_parser_1.parseCodexEvent,
|
|
146
|
+
createParserState: () => (0, common_1.createParserState)('codex'),
|
|
147
|
+
resolveModelSpec,
|
|
148
|
+
validateModelId,
|
|
149
|
+
classifyError,
|
|
150
|
+
};
|
|
151
|
+
//# sourceMappingURL=codex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/agent-cli-provider/adapters/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type BuildProviderCommandOptions, type CliFeatureOverrides, type CleanupMetadata, type CommandSpec, type ErrorClassification, type LevelModelSpec, type LevelOverrides, type ModelCatalogEntry, type ModelLevel, type ProviderId, type ProviderParserState, type RedactionMetadata, type ResolvedModelSpec, type WarningMetadata } from '../types';
|
|
2
|
+
export declare function createParserState(provider: ProviderId): ProviderParserState;
|
|
3
|
+
export declare function commandSpec(input: {
|
|
4
|
+
readonly binary: string;
|
|
5
|
+
readonly args: readonly string[];
|
|
6
|
+
readonly env?: Readonly<Record<string, string>>;
|
|
7
|
+
readonly cwd?: string;
|
|
8
|
+
readonly cleanup?: readonly string[];
|
|
9
|
+
readonly cleanupMetadata?: readonly CleanupMetadata[];
|
|
10
|
+
readonly warnings?: readonly WarningMetadata[];
|
|
11
|
+
readonly redactions?: readonly RedactionMetadata[];
|
|
12
|
+
}): CommandSpec;
|
|
13
|
+
export declare function warning(provider: ProviderId, code: string, message: string): WarningMetadata;
|
|
14
|
+
export declare function unsupportedSessionControlWarnings(provider: ProviderId, options: BuildProviderCommandOptions): WarningMetadata[];
|
|
15
|
+
export declare function envRedactions(env: Readonly<Record<string, string>>): readonly RedactionMetadata[];
|
|
16
|
+
interface ModelResolutionConfig {
|
|
17
|
+
readonly mapping: Readonly<Record<ModelLevel, LevelModelSpec>>;
|
|
18
|
+
readonly defaultLevel: ModelLevel;
|
|
19
|
+
readonly level: ModelLevel;
|
|
20
|
+
readonly overrides: LevelOverrides | undefined;
|
|
21
|
+
readonly validateModelId: (modelId: string | null | undefined) => string | null | undefined;
|
|
22
|
+
}
|
|
23
|
+
export declare function resolveModelSpecWithConfig(config: ModelResolutionConfig): ResolvedModelSpec;
|
|
24
|
+
export declare function validateModelIdFromCatalog(provider: ProviderId, catalog: Readonly<Record<string, ModelCatalogEntry>>, modelId: string | null | undefined): string | null | undefined;
|
|
25
|
+
export declare function classifyBaseProviderError(error: unknown, retryablePatterns: readonly RegExp[], permanentPatterns: readonly RegExp[]): ErrorClassification;
|
|
26
|
+
export declare function optionFeatures(options: BuildProviderCommandOptions | undefined): CliFeatureOverrides;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/agent-cli-provider/adapters/common.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,2BAA2B,EAChC,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACrB,MAAM,UAAU,CAAC;AAElB,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,UAAU,GAAG,mBAAmB,CAK3E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IAC/C,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACpD,GAAG,WAAW,CAYd;AAED,wBAAgB,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,eAAe,CAE5F;AAED,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,2BAA2B,GACnC,eAAe,EAAE,CASnB;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,iBAAiB,EAAE,CAEjG;AAED,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;IAC/D,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAC7F;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,qBAAqB,GAAG,iBAAiB,CAU3F;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,EACpD,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACjC,MAAM,GAAG,IAAI,GAAG,SAAS,CAM3B;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,EACd,iBAAiB,EAAE,SAAS,MAAM,EAAE,EACpC,iBAAiB,EAAE,SAAS,MAAM,EAAE,GACnC,mBAAmB,CAMrB;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,2BAA2B,GAAG,SAAS,GAC/C,mBAAmB,CAErB"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createParserState = createParserState;
|
|
4
|
+
exports.commandSpec = commandSpec;
|
|
5
|
+
exports.warning = warning;
|
|
6
|
+
exports.unsupportedSessionControlWarnings = unsupportedSessionControlWarnings;
|
|
7
|
+
exports.envRedactions = envRedactions;
|
|
8
|
+
exports.resolveModelSpecWithConfig = resolveModelSpecWithConfig;
|
|
9
|
+
exports.validateModelIdFromCatalog = validateModelIdFromCatalog;
|
|
10
|
+
exports.classifyBaseProviderError = classifyBaseProviderError;
|
|
11
|
+
exports.optionFeatures = optionFeatures;
|
|
12
|
+
const errors_1 = require("../errors");
|
|
13
|
+
const types_1 = require("../types");
|
|
14
|
+
function createParserState(provider) {
|
|
15
|
+
return {
|
|
16
|
+
provider,
|
|
17
|
+
lastToolId: undefined,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function commandSpec(input) {
|
|
21
|
+
const spec = {
|
|
22
|
+
binary: input.binary,
|
|
23
|
+
args: input.args,
|
|
24
|
+
env: input.env ?? {},
|
|
25
|
+
cleanupMetadata: input.cleanupMetadata ?? [],
|
|
26
|
+
warnings: input.warnings ?? [],
|
|
27
|
+
redactions: input.redactions ?? [],
|
|
28
|
+
};
|
|
29
|
+
const specWithCwd = input.cwd === undefined ? spec : { ...spec, cwd: input.cwd };
|
|
30
|
+
if (input.cleanup === undefined)
|
|
31
|
+
return specWithCwd;
|
|
32
|
+
return { ...specWithCwd, cleanup: input.cleanup };
|
|
33
|
+
}
|
|
34
|
+
function warning(provider, code, message) {
|
|
35
|
+
return { provider, code, message };
|
|
36
|
+
}
|
|
37
|
+
function unsupportedSessionControlWarnings(provider, options) {
|
|
38
|
+
if (!options.resumeSessionId && !options.continueSession)
|
|
39
|
+
return [];
|
|
40
|
+
return [
|
|
41
|
+
warning(provider, 'unsupported-session-control', 'resume/continue is only supported for Claude CLI; ignoring.'),
|
|
42
|
+
];
|
|
43
|
+
}
|
|
44
|
+
function envRedactions(env) {
|
|
45
|
+
return Object.keys(env).map((key) => ({ kind: 'env', key }));
|
|
46
|
+
}
|
|
47
|
+
function resolveModelSpecWithConfig(config) {
|
|
48
|
+
const base = config.mapping[config.level] ?? config.mapping[config.defaultLevel];
|
|
49
|
+
const override = config.overrides?.[config.level];
|
|
50
|
+
const selectedModel = override?.model || base.model;
|
|
51
|
+
const validatedModel = config.validateModelId(selectedModel);
|
|
52
|
+
return {
|
|
53
|
+
level: config.level,
|
|
54
|
+
model: validatedModel ?? null,
|
|
55
|
+
reasoningEffort: override?.reasoningEffort || base.reasoningEffort,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function validateModelIdFromCatalog(provider, catalog, modelId) {
|
|
59
|
+
if (!modelId)
|
|
60
|
+
return modelId;
|
|
61
|
+
if (catalog[modelId] !== undefined)
|
|
62
|
+
return modelId;
|
|
63
|
+
throw new types_1.InvalidProviderModelError(`Invalid model "${modelId}" for provider "${provider}". Use a model listed in provider settings/catalog.`);
|
|
64
|
+
}
|
|
65
|
+
function classifyBaseProviderError(error, retryablePatterns, permanentPatterns) {
|
|
66
|
+
return (0, errors_1.classifyErrorWithPatterns)(error, [...(0, errors_1.baseRetryableErrorPatterns)(), ...retryablePatterns], [...(0, errors_1.basePermanentErrorPatterns)(), ...permanentPatterns]);
|
|
67
|
+
}
|
|
68
|
+
function optionFeatures(options) {
|
|
69
|
+
return options?.cliFeatures ?? {};
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/agent-cli-provider/adapters/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../src/agent-cli-provider/adapters/gemini.ts"],"names":[],"mappings":"AAQA,OAAO,EAUL,KAAK,eAAe,EAIrB,MAAM,UAAU,CAAC;AA0MlB,eAAO,MAAM,aAAa,EAAE,eAkB3B,CAAC"}
|