@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.
Files changed (295) hide show
  1. package/CHANGELOG.md +539 -0
  2. package/LICENSE +21 -0
  3. package/README.md +508 -0
  4. package/cli/commands/inspect-render.js +135 -0
  5. package/cli/commands/inspect.js +294 -0
  6. package/cli/commands/providers.js +149 -0
  7. package/cli/index.js +5431 -0
  8. package/cli/lib/first-run.js +211 -0
  9. package/cli/lib/update-checker.js +281 -0
  10. package/cli/message-formatter-utils.js +75 -0
  11. package/cli/message-formatters-normal.js +275 -0
  12. package/cli/message-formatters-watch.js +185 -0
  13. package/cluster-templates/base-templates/debug-workflow.json +422 -0
  14. package/cluster-templates/base-templates/full-workflow.json +727 -0
  15. package/cluster-templates/base-templates/heavy-validation.json +272 -0
  16. package/cluster-templates/base-templates/quick-validation.json +285 -0
  17. package/cluster-templates/base-templates/single-worker.json +71 -0
  18. package/cluster-templates/base-templates/worker-validator.json +230 -0
  19. package/cluster-templates/conductor-bootstrap.json +130 -0
  20. package/docker/zeroshot-cluster/Dockerfile +153 -0
  21. package/docker/zeroshot-cluster/pre-baked-deps.json +28 -0
  22. package/lib/agent-cli-provider/adapters/claude-parser.d.ts +3 -0
  23. package/lib/agent-cli-provider/adapters/claude-parser.d.ts.map +1 -0
  24. package/lib/agent-cli-provider/adapters/claude-parser.js +122 -0
  25. package/lib/agent-cli-provider/adapters/claude-parser.js.map +1 -0
  26. package/lib/agent-cli-provider/adapters/claude-recovery.d.ts +15 -0
  27. package/lib/agent-cli-provider/adapters/claude-recovery.d.ts.map +1 -0
  28. package/lib/agent-cli-provider/adapters/claude-recovery.js +165 -0
  29. package/lib/agent-cli-provider/adapters/claude-recovery.js.map +1 -0
  30. package/lib/agent-cli-provider/adapters/claude.d.ts +3 -0
  31. package/lib/agent-cli-provider/adapters/claude.d.ts.map +1 -0
  32. package/lib/agent-cli-provider/adapters/claude.js +181 -0
  33. package/lib/agent-cli-provider/adapters/claude.js.map +1 -0
  34. package/lib/agent-cli-provider/adapters/codex-parser.d.ts +3 -0
  35. package/lib/agent-cli-provider/adapters/codex-parser.d.ts.map +1 -0
  36. package/lib/agent-cli-provider/adapters/codex-parser.js +192 -0
  37. package/lib/agent-cli-provider/adapters/codex-parser.js.map +1 -0
  38. package/lib/agent-cli-provider/adapters/codex.d.ts +3 -0
  39. package/lib/agent-cli-provider/adapters/codex.d.ts.map +1 -0
  40. package/lib/agent-cli-provider/adapters/codex.js +151 -0
  41. package/lib/agent-cli-provider/adapters/codex.js.map +1 -0
  42. package/lib/agent-cli-provider/adapters/common.d.ts +28 -0
  43. package/lib/agent-cli-provider/adapters/common.d.ts.map +1 -0
  44. package/lib/agent-cli-provider/adapters/common.js +71 -0
  45. package/lib/agent-cli-provider/adapters/common.js.map +1 -0
  46. package/lib/agent-cli-provider/adapters/gemini.d.ts +3 -0
  47. package/lib/agent-cli-provider/adapters/gemini.d.ts.map +1 -0
  48. package/lib/agent-cli-provider/adapters/gemini.js +176 -0
  49. package/lib/agent-cli-provider/adapters/gemini.js.map +1 -0
  50. package/lib/agent-cli-provider/adapters/index.d.ts +9 -0
  51. package/lib/agent-cli-provider/adapters/index.d.ts.map +1 -0
  52. package/lib/agent-cli-provider/adapters/index.js +95 -0
  53. package/lib/agent-cli-provider/adapters/index.js.map +1 -0
  54. package/lib/agent-cli-provider/adapters/opencode.d.ts +3 -0
  55. package/lib/agent-cli-provider/adapters/opencode.d.ts.map +1 -0
  56. package/lib/agent-cli-provider/adapters/opencode.js +228 -0
  57. package/lib/agent-cli-provider/adapters/opencode.js.map +1 -0
  58. package/lib/agent-cli-provider/contract-actions.d.ts +5 -0
  59. package/lib/agent-cli-provider/contract-actions.d.ts.map +1 -0
  60. package/lib/agent-cli-provider/contract-actions.js +140 -0
  61. package/lib/agent-cli-provider/contract-actions.js.map +1 -0
  62. package/lib/agent-cli-provider/contract-env.d.ts +11 -0
  63. package/lib/agent-cli-provider/contract-env.d.ts.map +1 -0
  64. package/lib/agent-cli-provider/contract-env.js +113 -0
  65. package/lib/agent-cli-provider/contract-env.js.map +1 -0
  66. package/lib/agent-cli-provider/contract-envelope.d.ts +49 -0
  67. package/lib/agent-cli-provider/contract-envelope.d.ts.map +1 -0
  68. package/lib/agent-cli-provider/contract-envelope.js +52 -0
  69. package/lib/agent-cli-provider/contract-envelope.js.map +1 -0
  70. package/lib/agent-cli-provider/contract-errors.d.ts +22 -0
  71. package/lib/agent-cli-provider/contract-errors.d.ts.map +1 -0
  72. package/lib/agent-cli-provider/contract-errors.js +71 -0
  73. package/lib/agent-cli-provider/contract-errors.js.map +1 -0
  74. package/lib/agent-cli-provider/contract-fallback.d.ts +7 -0
  75. package/lib/agent-cli-provider/contract-fallback.d.ts.map +1 -0
  76. package/lib/agent-cli-provider/contract-fallback.js +102 -0
  77. package/lib/agent-cli-provider/contract-fallback.js.map +1 -0
  78. package/lib/agent-cli-provider/contract-invoke.d.ts +5 -0
  79. package/lib/agent-cli-provider/contract-invoke.d.ts.map +1 -0
  80. package/lib/agent-cli-provider/contract-invoke.js +89 -0
  81. package/lib/agent-cli-provider/contract-invoke.js.map +1 -0
  82. package/lib/agent-cli-provider/contract-options.d.ts +3 -0
  83. package/lib/agent-cli-provider/contract-options.d.ts.map +1 -0
  84. package/lib/agent-cli-provider/contract-options.js +140 -0
  85. package/lib/agent-cli-provider/contract-options.js.map +1 -0
  86. package/lib/agent-cli-provider/contract-parse.d.ts +15 -0
  87. package/lib/agent-cli-provider/contract-parse.d.ts.map +1 -0
  88. package/lib/agent-cli-provider/contract-parse.js +81 -0
  89. package/lib/agent-cli-provider/contract-parse.js.map +1 -0
  90. package/lib/agent-cli-provider/contract-support.d.ts +18 -0
  91. package/lib/agent-cli-provider/contract-support.d.ts.map +1 -0
  92. package/lib/agent-cli-provider/contract-support.js +154 -0
  93. package/lib/agent-cli-provider/contract-support.js.map +1 -0
  94. package/lib/agent-cli-provider/contract.d.ts +13 -0
  95. package/lib/agent-cli-provider/contract.d.ts.map +1 -0
  96. package/lib/agent-cli-provider/contract.js +30 -0
  97. package/lib/agent-cli-provider/contract.js.map +1 -0
  98. package/lib/agent-cli-provider/env-safety.d.ts +11 -0
  99. package/lib/agent-cli-provider/env-safety.d.ts.map +1 -0
  100. package/lib/agent-cli-provider/env-safety.js +83 -0
  101. package/lib/agent-cli-provider/env-safety.js.map +1 -0
  102. package/lib/agent-cli-provider/errors.d.ts +5 -0
  103. package/lib/agent-cli-provider/errors.d.ts.map +1 -0
  104. package/lib/agent-cli-provider/errors.js +115 -0
  105. package/lib/agent-cli-provider/errors.js.map +1 -0
  106. package/lib/agent-cli-provider/executable.d.ts +3 -0
  107. package/lib/agent-cli-provider/executable.d.ts.map +1 -0
  108. package/lib/agent-cli-provider/executable.js +24 -0
  109. package/lib/agent-cli-provider/executable.js.map +1 -0
  110. package/lib/agent-cli-provider/index.d.ts +8 -0
  111. package/lib/agent-cli-provider/index.d.ts.map +1 -0
  112. package/lib/agent-cli-provider/index.js +31 -0
  113. package/lib/agent-cli-provider/index.js.map +1 -0
  114. package/lib/agent-cli-provider/invoke-evidence.d.ts +4 -0
  115. package/lib/agent-cli-provider/invoke-evidence.d.ts.map +1 -0
  116. package/lib/agent-cli-provider/invoke-evidence.js +17 -0
  117. package/lib/agent-cli-provider/invoke-evidence.js.map +1 -0
  118. package/lib/agent-cli-provider/json.d.ts +16 -0
  119. package/lib/agent-cli-provider/json.d.ts.map +1 -0
  120. package/lib/agent-cli-provider/json.js +110 -0
  121. package/lib/agent-cli-provider/json.js.map +1 -0
  122. package/lib/agent-cli-provider/log-prefix.d.ts +2 -0
  123. package/lib/agent-cli-provider/log-prefix.d.ts.map +1 -0
  124. package/lib/agent-cli-provider/log-prefix.js +22 -0
  125. package/lib/agent-cli-provider/log-prefix.js.map +1 -0
  126. package/lib/agent-cli-provider/process-runner.d.ts +17 -0
  127. package/lib/agent-cli-provider/process-runner.d.ts.map +1 -0
  128. package/lib/agent-cli-provider/process-runner.js +89 -0
  129. package/lib/agent-cli-provider/process-runner.js.map +1 -0
  130. package/lib/agent-cli-provider/redaction.d.ts +9 -0
  131. package/lib/agent-cli-provider/redaction.d.ts.map +1 -0
  132. package/lib/agent-cli-provider/redaction.js +227 -0
  133. package/lib/agent-cli-provider/redaction.js.map +1 -0
  134. package/lib/agent-cli-provider/schema.d.ts +5 -0
  135. package/lib/agent-cli-provider/schema.d.ts.map +1 -0
  136. package/lib/agent-cli-provider/schema.js +136 -0
  137. package/lib/agent-cli-provider/schema.js.map +1 -0
  138. package/lib/agent-cli-provider/single-agent-runtime.d.ts +15 -0
  139. package/lib/agent-cli-provider/single-agent-runtime.d.ts.map +1 -0
  140. package/lib/agent-cli-provider/single-agent-runtime.js +228 -0
  141. package/lib/agent-cli-provider/single-agent-runtime.js.map +1 -0
  142. package/lib/agent-cli-provider/types.d.ts +194 -0
  143. package/lib/agent-cli-provider/types.d.ts.map +1 -0
  144. package/lib/agent-cli-provider/types.js +12 -0
  145. package/lib/agent-cli-provider/types.js.map +1 -0
  146. package/lib/completion.js +174 -0
  147. package/lib/detached-startup.js +220 -0
  148. package/lib/docker-config.js +220 -0
  149. package/lib/git-remote-utils.js +165 -0
  150. package/lib/id-detector.js +55 -0
  151. package/lib/provider-defaults.js +62 -0
  152. package/lib/provider-detection.js +59 -0
  153. package/lib/provider-names.js +57 -0
  154. package/lib/repo-settings.js +69 -0
  155. package/lib/settings/claude-auth.js +78 -0
  156. package/lib/settings.js +542 -0
  157. package/lib/start-cluster.js +321 -0
  158. package/lib/stream-json-parser.js +67 -0
  159. package/package.json +162 -0
  160. package/scripts/fix-node-pty-permissions.js +75 -0
  161. package/scripts/record-demo.sh +279 -0
  162. package/scripts/setup-merge-queue.sh +170 -0
  163. package/scripts/test-install.sh +40 -0
  164. package/scripts/validate-templates.js +107 -0
  165. package/src/agent/agent-config.js +266 -0
  166. package/src/agent/agent-context-builder.js +189 -0
  167. package/src/agent/agent-context-sections.js +338 -0
  168. package/src/agent/agent-context-sources.js +147 -0
  169. package/src/agent/agent-hook-executor.js +721 -0
  170. package/src/agent/agent-input-injector.js +141 -0
  171. package/src/agent/agent-lifecycle.js +982 -0
  172. package/src/agent/agent-quality-gate-schema.js +93 -0
  173. package/src/agent/agent-quality-gates-context.js +51 -0
  174. package/src/agent/agent-stuck-detector.js +256 -0
  175. package/src/agent/agent-task-executor.js +2028 -0
  176. package/src/agent/agent-trigger-evaluator.js +67 -0
  177. package/src/agent/context-metrics.js +160 -0
  178. package/src/agent/context-pack-builder.js +367 -0
  179. package/src/agent/context-replay-policy.js +51 -0
  180. package/src/agent/guidance-queue.js +77 -0
  181. package/src/agent/output-extraction.js +367 -0
  182. package/src/agent/output-reformatter.js +175 -0
  183. package/src/agent/pr-verification.js +653 -0
  184. package/src/agent/rate-limit-backoff.js +82 -0
  185. package/src/agent/schema-utils.js +146 -0
  186. package/src/agent/validation-platform.js +35 -0
  187. package/src/agent-cli-provider/adapters/claude-parser.ts +133 -0
  188. package/src/agent-cli-provider/adapters/claude-recovery.ts +203 -0
  189. package/src/agent-cli-provider/adapters/claude.ts +247 -0
  190. package/src/agent-cli-provider/adapters/codex-parser.ts +211 -0
  191. package/src/agent-cli-provider/adapters/codex.ts +217 -0
  192. package/src/agent-cli-provider/adapters/common.ts +124 -0
  193. package/src/agent-cli-provider/adapters/gemini.ts +243 -0
  194. package/src/agent-cli-provider/adapters/index.ts +126 -0
  195. package/src/agent-cli-provider/adapters/opencode.ts +286 -0
  196. package/src/agent-cli-provider/contract-actions.ts +150 -0
  197. package/src/agent-cli-provider/contract-env.ts +111 -0
  198. package/src/agent-cli-provider/contract-envelope.ts +110 -0
  199. package/src/agent-cli-provider/contract-errors.ts +66 -0
  200. package/src/agent-cli-provider/contract-fallback.ts +121 -0
  201. package/src/agent-cli-provider/contract-invoke.ts +104 -0
  202. package/src/agent-cli-provider/contract-options.ts +173 -0
  203. package/src/agent-cli-provider/contract-parse.ts +94 -0
  204. package/src/agent-cli-provider/contract-support.ts +167 -0
  205. package/src/agent-cli-provider/contract.ts +56 -0
  206. package/src/agent-cli-provider/env-safety.ts +82 -0
  207. package/src/agent-cli-provider/errors.ts +122 -0
  208. package/src/agent-cli-provider/executable.ts +24 -0
  209. package/src/agent-cli-provider/index.ts +83 -0
  210. package/src/agent-cli-provider/invoke-evidence.ts +18 -0
  211. package/src/agent-cli-provider/json.ts +114 -0
  212. package/src/agent-cli-provider/log-prefix.ts +20 -0
  213. package/src/agent-cli-provider/process-runner.ts +145 -0
  214. package/src/agent-cli-provider/redaction.ts +282 -0
  215. package/src/agent-cli-provider/schema.ts +115 -0
  216. package/src/agent-cli-provider/single-agent-runtime.ts +311 -0
  217. package/src/agent-cli-provider/types.ts +237 -0
  218. package/src/agent-wrapper.js +615 -0
  219. package/src/agents/git-pusher-template.js +705 -0
  220. package/src/attach/attach-client.js +438 -0
  221. package/src/attach/attach-server.js +543 -0
  222. package/src/attach/index.js +37 -0
  223. package/src/attach/protocol.js +220 -0
  224. package/src/attach/ring-buffer.js +121 -0
  225. package/src/attach/send-input.js +88 -0
  226. package/src/attach/socket-discovery.js +267 -0
  227. package/src/claude-task-runner.js +661 -0
  228. package/src/config-router.js +89 -0
  229. package/src/config-validator.js +2202 -0
  230. package/src/copy-worker.js +43 -0
  231. package/src/guidance-topics.js +10 -0
  232. package/src/input-helpers.js +65 -0
  233. package/src/isolation-manager.js +1734 -0
  234. package/src/issue-providers/README.md +305 -0
  235. package/src/issue-providers/azure-devops-provider.js +307 -0
  236. package/src/issue-providers/base-provider.js +232 -0
  237. package/src/issue-providers/github-provider.js +210 -0
  238. package/src/issue-providers/gitlab-provider.js +262 -0
  239. package/src/issue-providers/index.js +196 -0
  240. package/src/issue-providers/jira-provider.js +260 -0
  241. package/src/ledger.js +692 -0
  242. package/src/lib/gc.js +232 -0
  243. package/src/lib/safe-exec.js +88 -0
  244. package/src/logic-engine.js +201 -0
  245. package/src/message-buffer.js +81 -0
  246. package/src/message-bus-bridge.js +144 -0
  247. package/src/message-bus.js +256 -0
  248. package/src/name-generator.js +232 -0
  249. package/src/orchestrator.js +3924 -0
  250. package/src/preflight.js +712 -0
  251. package/src/process-metrics.js +608 -0
  252. package/src/providers/anthropic/index.js +3 -0
  253. package/src/providers/base-provider.js +355 -0
  254. package/src/providers/capabilities.js +60 -0
  255. package/src/providers/google/index.js +3 -0
  256. package/src/providers/index.js +293 -0
  257. package/src/providers/openai/index.js +3 -0
  258. package/src/providers/opencode/index.js +3 -0
  259. package/src/quality-gates.js +143 -0
  260. package/src/schemas/sub-cluster.js +208 -0
  261. package/src/state-snapshot.js +398 -0
  262. package/src/state-snapshotter.js +142 -0
  263. package/src/status-footer.js +1026 -0
  264. package/src/sub-cluster-wrapper.js +693 -0
  265. package/src/task-runner.js +30 -0
  266. package/src/template-resolver.js +425 -0
  267. package/src/template-validation/index.js +338 -0
  268. package/src/template-validation/simulate-consensus-gates.js +324 -0
  269. package/src/template-validation/simulate-random-topology.js +541 -0
  270. package/src/template-validation/simulate-two-stage-validation.js +270 -0
  271. package/src/worktree-claude-config.js +135 -0
  272. package/src/worktree-tooling-env.js +150 -0
  273. package/task-lib/attachable-watcher.js +381 -0
  274. package/task-lib/commands/clean.js +50 -0
  275. package/task-lib/commands/episodes.js +105 -0
  276. package/task-lib/commands/get-log-path.js +23 -0
  277. package/task-lib/commands/kill.js +32 -0
  278. package/task-lib/commands/list.js +105 -0
  279. package/task-lib/commands/logs.js +439 -0
  280. package/task-lib/commands/resume.js +42 -0
  281. package/task-lib/commands/run.js +57 -0
  282. package/task-lib/commands/schedule.js +105 -0
  283. package/task-lib/commands/scheduler-cmd.js +96 -0
  284. package/task-lib/commands/schedules.js +148 -0
  285. package/task-lib/commands/status.js +44 -0
  286. package/task-lib/commands/unschedule.js +16 -0
  287. package/task-lib/completion.js +9 -0
  288. package/task-lib/config.js +11 -0
  289. package/task-lib/name-generator.js +230 -0
  290. package/task-lib/package.json +3 -0
  291. package/task-lib/provider-helper-runtime.js +29 -0
  292. package/task-lib/runner.js +190 -0
  293. package/task-lib/scheduler.js +252 -0
  294. package/task-lib/store.js +529 -0
  295. 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,3 @@
1
+ import { type ProviderAdapter } from '../types';
2
+ export declare const codexAdapter: ProviderAdapter;
3
+ //# sourceMappingURL=codex.d.ts.map
@@ -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,3 @@
1
+ import { type ProviderAdapter } from '../types';
2
+ export declare const geminiAdapter: ProviderAdapter;
3
+ //# sourceMappingURL=gemini.d.ts.map
@@ -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"}