@the-open-engine/zeroshot 6.4.0 → 6.5.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 (144) hide show
  1. package/cli/commands/providers.js +11 -5
  2. package/cli/index.js +79 -16
  3. package/cli/lib/first-run.js +14 -3
  4. package/docker/zeroshot-cluster/Dockerfile +11 -1
  5. package/lib/agent-cli-provider/acp-stdio-runner.d.ts +4 -0
  6. package/lib/agent-cli-provider/acp-stdio-runner.d.ts.map +1 -0
  7. package/lib/agent-cli-provider/acp-stdio-runner.js +259 -0
  8. package/lib/agent-cli-provider/acp-stdio-runner.js.map +1 -0
  9. package/lib/agent-cli-provider/adapters/acp.d.ts +23 -0
  10. package/lib/agent-cli-provider/adapters/acp.d.ts.map +1 -0
  11. package/lib/agent-cli-provider/adapters/acp.js +373 -0
  12. package/lib/agent-cli-provider/adapters/acp.js.map +1 -0
  13. package/lib/agent-cli-provider/adapters/claude.d.ts.map +1 -1
  14. package/lib/agent-cli-provider/adapters/claude.js +2 -29
  15. package/lib/agent-cli-provider/adapters/claude.js.map +1 -1
  16. package/lib/agent-cli-provider/adapters/copilot-parser.d.ts +3 -0
  17. package/lib/agent-cli-provider/adapters/copilot-parser.d.ts.map +1 -0
  18. package/lib/agent-cli-provider/adapters/copilot-parser.js +154 -0
  19. package/lib/agent-cli-provider/adapters/copilot-parser.js.map +1 -0
  20. package/lib/agent-cli-provider/adapters/copilot.d.ts +3 -0
  21. package/lib/agent-cli-provider/adapters/copilot.d.ts.map +1 -0
  22. package/lib/agent-cli-provider/adapters/copilot.js +176 -0
  23. package/lib/agent-cli-provider/adapters/copilot.js.map +1 -0
  24. package/lib/agent-cli-provider/adapters/gateway.d.ts +6 -0
  25. package/lib/agent-cli-provider/adapters/gateway.d.ts.map +1 -0
  26. package/lib/agent-cli-provider/adapters/gateway.js +161 -0
  27. package/lib/agent-cli-provider/adapters/gateway.js.map +1 -0
  28. package/lib/agent-cli-provider/adapters/gemini.d.ts.map +1 -1
  29. package/lib/agent-cli-provider/adapters/gemini.js +9 -2
  30. package/lib/agent-cli-provider/adapters/gemini.js.map +1 -1
  31. package/lib/agent-cli-provider/adapters/index.d.ts.map +1 -1
  32. package/lib/agent-cli-provider/adapters/index.js +6 -34
  33. package/lib/agent-cli-provider/adapters/index.js.map +1 -1
  34. package/lib/agent-cli-provider/adapters/opencode.d.ts.map +1 -1
  35. package/lib/agent-cli-provider/adapters/opencode.js +5 -1
  36. package/lib/agent-cli-provider/adapters/opencode.js.map +1 -1
  37. package/lib/agent-cli-provider/adapters/pi.d.ts +3 -0
  38. package/lib/agent-cli-provider/adapters/pi.d.ts.map +1 -0
  39. package/lib/agent-cli-provider/adapters/pi.js +331 -0
  40. package/lib/agent-cli-provider/adapters/pi.js.map +1 -0
  41. package/lib/agent-cli-provider/claude-command.d.ts +6 -0
  42. package/lib/agent-cli-provider/claude-command.d.ts.map +1 -0
  43. package/lib/agent-cli-provider/claude-command.js +43 -0
  44. package/lib/agent-cli-provider/claude-command.js.map +1 -0
  45. package/lib/agent-cli-provider/contract-actions.d.ts.map +1 -1
  46. package/lib/agent-cli-provider/contract-actions.js +13 -17
  47. package/lib/agent-cli-provider/contract-actions.js.map +1 -1
  48. package/lib/agent-cli-provider/contract-invoke.d.ts.map +1 -1
  49. package/lib/agent-cli-provider/contract-invoke.js +10 -3
  50. package/lib/agent-cli-provider/contract-invoke.js.map +1 -1
  51. package/lib/agent-cli-provider/contract-options.d.ts.map +1 -1
  52. package/lib/agent-cli-provider/contract-options.js +57 -2
  53. package/lib/agent-cli-provider/contract-options.js.map +1 -1
  54. package/lib/agent-cli-provider/contract-support.d.ts +1 -0
  55. package/lib/agent-cli-provider/contract-support.d.ts.map +1 -1
  56. package/lib/agent-cli-provider/contract-support.js +25 -3
  57. package/lib/agent-cli-provider/contract-support.js.map +1 -1
  58. package/lib/agent-cli-provider/errors.d.ts +1 -0
  59. package/lib/agent-cli-provider/errors.d.ts.map +1 -1
  60. package/lib/agent-cli-provider/errors.js +14 -5
  61. package/lib/agent-cli-provider/errors.js.map +1 -1
  62. package/lib/agent-cli-provider/gateway-client.d.ts +32 -0
  63. package/lib/agent-cli-provider/gateway-client.d.ts.map +1 -0
  64. package/lib/agent-cli-provider/gateway-client.js +135 -0
  65. package/lib/agent-cli-provider/gateway-client.js.map +1 -0
  66. package/lib/agent-cli-provider/gateway-runner.d.ts +9 -0
  67. package/lib/agent-cli-provider/gateway-runner.d.ts.map +1 -0
  68. package/lib/agent-cli-provider/gateway-runner.js +294 -0
  69. package/lib/agent-cli-provider/gateway-runner.js.map +1 -0
  70. package/lib/agent-cli-provider/gateway-tools.d.ts +14 -0
  71. package/lib/agent-cli-provider/gateway-tools.d.ts.map +1 -0
  72. package/lib/agent-cli-provider/gateway-tools.js +495 -0
  73. package/lib/agent-cli-provider/gateway-tools.js.map +1 -0
  74. package/lib/agent-cli-provider/index.d.ts +3 -2
  75. package/lib/agent-cli-provider/index.d.ts.map +1 -1
  76. package/lib/agent-cli-provider/index.js +14 -1
  77. package/lib/agent-cli-provider/index.js.map +1 -1
  78. package/lib/agent-cli-provider/invoke-evidence.d.ts +2 -2
  79. package/lib/agent-cli-provider/invoke-evidence.d.ts.map +1 -1
  80. package/lib/agent-cli-provider/invoke-evidence.js +17 -3
  81. package/lib/agent-cli-provider/invoke-evidence.js.map +1 -1
  82. package/lib/agent-cli-provider/provider-registry.d.ts +437 -0
  83. package/lib/agent-cli-provider/provider-registry.d.ts.map +1 -0
  84. package/lib/agent-cli-provider/provider-registry.js +411 -0
  85. package/lib/agent-cli-provider/provider-registry.js.map +1 -0
  86. package/lib/agent-cli-provider/single-agent-runtime.d.ts +7 -0
  87. package/lib/agent-cli-provider/single-agent-runtime.d.ts.map +1 -1
  88. package/lib/agent-cli-provider/single-agent-runtime.js +139 -19
  89. package/lib/agent-cli-provider/single-agent-runtime.js.map +1 -1
  90. package/lib/agent-cli-provider/types.d.ts +106 -4
  91. package/lib/agent-cli-provider/types.d.ts.map +1 -1
  92. package/lib/agent-cli-provider/types.js.map +1 -1
  93. package/lib/docker-config.js +24 -13
  94. package/lib/provider-defaults.js +15 -4
  95. package/lib/provider-detection.js +2 -0
  96. package/lib/provider-names.js +32 -12
  97. package/lib/repo-settings.js +15 -1
  98. package/lib/settings/claude-auth.js +3 -6
  99. package/lib/settings.js +17 -2
  100. package/lib/setup-apply.js +300 -0
  101. package/lib/setup-journal.js +109 -0
  102. package/lib/setup-plan.js +406 -0
  103. package/lib/setup-undo.js +88 -0
  104. package/lib/start-cluster.js +12 -1
  105. package/lib/stream-json-parser.js +7 -5
  106. package/package.json +29 -1
  107. package/scripts/live-provider-smoke.js +221 -0
  108. package/src/agent/agent-lifecycle.js +5 -4
  109. package/src/agent/agent-quality-gate-schema.js +2 -2
  110. package/src/agent/agent-task-executor.js +41 -2
  111. package/src/agent-cli-provider/acp-stdio-runner.ts +314 -0
  112. package/src/agent-cli-provider/adapters/acp.ts +493 -0
  113. package/src/agent-cli-provider/adapters/claude.ts +2 -32
  114. package/src/agent-cli-provider/adapters/copilot-parser.ts +166 -0
  115. package/src/agent-cli-provider/adapters/copilot.ts +231 -0
  116. package/src/agent-cli-provider/adapters/gateway.ts +186 -0
  117. package/src/agent-cli-provider/adapters/gemini.ts +9 -2
  118. package/src/agent-cli-provider/adapters/index.ts +5 -36
  119. package/src/agent-cli-provider/adapters/opencode.ts +4 -1
  120. package/src/agent-cli-provider/adapters/pi.ts +410 -0
  121. package/src/agent-cli-provider/claude-command.ts +47 -0
  122. package/src/agent-cli-provider/contract-actions.ts +14 -17
  123. package/src/agent-cli-provider/contract-invoke.ts +12 -3
  124. package/src/agent-cli-provider/contract-options.ts +72 -3
  125. package/src/agent-cli-provider/contract-support.ts +30 -3
  126. package/src/agent-cli-provider/errors.ts +14 -4
  127. package/src/agent-cli-provider/gateway-client.ts +170 -0
  128. package/src/agent-cli-provider/gateway-runner.ts +353 -0
  129. package/src/agent-cli-provider/gateway-tools.ts +616 -0
  130. package/src/agent-cli-provider/index.ts +28 -0
  131. package/src/agent-cli-provider/invoke-evidence.ts +24 -3
  132. package/src/agent-cli-provider/provider-registry.ts +515 -0
  133. package/src/agent-cli-provider/single-agent-runtime.ts +192 -18
  134. package/src/agent-cli-provider/types.ts +145 -4
  135. package/src/config-validator.js +33 -15
  136. package/src/isolation-manager.js +124 -19
  137. package/src/orchestrator.js +23 -10
  138. package/src/preflight.js +83 -30
  139. package/src/providers/capabilities.js +15 -42
  140. package/src/providers/index.js +52 -72
  141. package/src/worktree-claude-config.js +17 -0
  142. package/task-lib/commands/run.js +1 -0
  143. package/task-lib/provider-helper-runtime.js +11 -0
  144. package/task-lib/runner.js +7 -0
@@ -0,0 +1,373 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildAcpPrompt = buildAcpPrompt;
4
+ exports.createAcpAdapter = createAcpAdapter;
5
+ const schema_1 = require("../schema");
6
+ const contract_errors_1 = require("../contract-errors");
7
+ const json_1 = require("../json");
8
+ const common_1 = require("./common");
9
+ const DEFAULT_MODEL_CATALOG = {};
10
+ const DEFAULT_LEVEL_MAPPING = {
11
+ level1: { rank: 1, model: null },
12
+ level2: { rank: 2, model: null },
13
+ level3: { rank: 3, model: null },
14
+ };
15
+ function detectCliFeatures(meta, helpText) {
16
+ const help = helpText ?? '';
17
+ const unknown = !help;
18
+ return {
19
+ provider: meta.provider,
20
+ supportsAcpStdio: unknown ? true : /\bacp\b/.test(help),
21
+ supportsPromptImages: meta.supportsPromptImages,
22
+ supportsLoadSession: meta.supportsLoadSession,
23
+ supportsSessionCancel: meta.supportsSessionCancel,
24
+ supportsSessionSetModel: meta.supportsSessionSetModel,
25
+ supportsSessionSetMode: meta.supportsSessionSetMode,
26
+ supportsRemoteTransport: false,
27
+ supportsCustomTransport: false,
28
+ supportsPermissionRequests: false,
29
+ supportsFsTools: false,
30
+ supportsTerminalTools: false,
31
+ unknown,
32
+ };
33
+ }
34
+ function failClosedUnsupportedSessionControl(provider, options) {
35
+ const hasResumeSessionId = options.resumeSessionId !== undefined;
36
+ if (!hasResumeSessionId && !options.continueSession)
37
+ return;
38
+ const field = hasResumeSessionId ? 'options.resumeSessionId' : 'options.continueSession';
39
+ throw (0, contract_errors_1.contractError)({
40
+ code: 'invalid-field',
41
+ field,
42
+ exitCode: 2,
43
+ message: `${provider} ACP stdio adapter only supports fresh headless sessions; resume/continue is capability-gated off.`,
44
+ });
45
+ }
46
+ function failClosedUnsupportedAcpStdio(meta, options) {
47
+ if ((0, common_1.optionFeatures)(options).supportsAcpStdio !== false)
48
+ return;
49
+ throw (0, contract_errors_1.contractError)({
50
+ code: 'invalid-field',
51
+ field: 'options.cliFeatures.supportsAcpStdio',
52
+ exitCode: 2,
53
+ message: `${meta.displayName} CLI does not advertise ACP stdio support; fail closed instead of launching the unsupported ACP lane.`,
54
+ });
55
+ }
56
+ function collectWarnings(meta, options) {
57
+ const warnings = [];
58
+ if (options.autoApprove) {
59
+ warnings.push((0, common_1.warning)(meta.provider, 'acp-auto-approve', `${meta.displayName} ACP stdio does not support interactive approval callbacks; failing closed if the agent requests one.`));
60
+ }
61
+ if (options.jsonSchema) {
62
+ warnings.push((0, common_1.warning)(meta.provider, 'acp-jsonschema', `${meta.displayName} ACP stdio has no provider-native JSON schema lane; schema instructions are appended to the prompt.`));
63
+ }
64
+ return warnings;
65
+ }
66
+ function buildCommand(meta, _context, options = {}) {
67
+ failClosedUnsupportedAcpStdio(meta, options);
68
+ failClosedUnsupportedSessionControl(meta.provider, options);
69
+ return (0, common_1.commandSpec)({
70
+ binary: meta.binary,
71
+ args: [...meta.commandArgs],
72
+ env: {},
73
+ ...(options.cwd === undefined ? {} : { cwd: options.cwd }),
74
+ warnings: collectWarnings(meta, options),
75
+ });
76
+ }
77
+ function buildAcpPrompt(context, options = {}) {
78
+ return options.jsonSchema ? (0, schema_1.appendJsonSchemaPrompt)(context, options.jsonSchema) : context;
79
+ }
80
+ function createAcpState(provider) {
81
+ return {
82
+ ...(0, common_1.createParserState)(provider),
83
+ lastAssistantText: '',
84
+ lastAssistantThinking: '',
85
+ assistantTextByMessageId: new Map(),
86
+ assistantThinkingByMessageId: new Map(),
87
+ toolCalls: new Map(),
88
+ usage: null,
89
+ };
90
+ }
91
+ function textSnapshots(state) {
92
+ if (!state.assistantTextByMessageId)
93
+ state.assistantTextByMessageId = new Map();
94
+ return state.assistantTextByMessageId;
95
+ }
96
+ function thinkingSnapshots(state) {
97
+ if (!state.assistantThinkingByMessageId)
98
+ state.assistantThinkingByMessageId = new Map();
99
+ return state.assistantThinkingByMessageId;
100
+ }
101
+ function toolCalls(state) {
102
+ if (!state.toolCalls)
103
+ state.toolCalls = new Map();
104
+ return state.toolCalls;
105
+ }
106
+ function snapshotDelta(previous, current) {
107
+ if (!current || previous === current)
108
+ return null;
109
+ if (current.startsWith(previous))
110
+ return current.slice(previous.length) || null;
111
+ return current;
112
+ }
113
+ function resolveChunkSnapshot(previous, chunk) {
114
+ if (!previous)
115
+ return chunk;
116
+ if (!chunk || previous === chunk)
117
+ return previous;
118
+ if (chunk.startsWith(previous))
119
+ return chunk;
120
+ if (previous.startsWith(chunk))
121
+ return chunk;
122
+ return previous + chunk;
123
+ }
124
+ function joinTextBlocks(content, allowedTypes) {
125
+ if (typeof content === 'string')
126
+ return content;
127
+ const blocks = Array.isArray(content) ? content : [content];
128
+ let value = '';
129
+ let matched = false;
130
+ for (const block of blocks) {
131
+ if (!(0, json_1.isRecord)(block))
132
+ continue;
133
+ const type = (0, json_1.getString)(block, 'type');
134
+ if (type !== null && !allowedTypes.includes(type))
135
+ continue;
136
+ const text = (0, json_1.getOptionalString)(block, 'text') ?? (0, json_1.getOptionalString)(block, 'thinking');
137
+ if (text === null)
138
+ continue;
139
+ value += text;
140
+ matched = true;
141
+ }
142
+ return matched ? value : null;
143
+ }
144
+ function normalizeToolInput(input) {
145
+ if (typeof input !== 'string')
146
+ return input ?? {};
147
+ const parsed = (0, json_1.tryParseJson)(input);
148
+ return parsed ?? input;
149
+ }
150
+ function normalizeToolContent(content) {
151
+ if (typeof content === 'string')
152
+ return content;
153
+ if (!Array.isArray(content))
154
+ return content;
155
+ const text = content
156
+ .map((item) => ((0, json_1.isRecord)(item) ? (0, json_1.getString)(item, 'text') : null))
157
+ .filter((value) => typeof value === 'string')
158
+ .join('');
159
+ return text || content;
160
+ }
161
+ function updateUsage(state, update) {
162
+ const usage = (0, json_1.getRecord)(update, 'usage') ?? update;
163
+ const inputTokens = (0, json_1.getNumber)(usage, 'inputTokens');
164
+ const outputTokens = (0, json_1.getNumber)(usage, 'outputTokens');
165
+ const cacheReadInputTokens = (0, json_1.getNumber)(usage, 'cacheReadInputTokens');
166
+ const cacheCreationInputTokens = (0, json_1.getNumber)(usage, 'cacheCreationInputTokens');
167
+ if (inputTokens === null &&
168
+ outputTokens === null &&
169
+ cacheReadInputTokens === null &&
170
+ cacheCreationInputTokens === null) {
171
+ return;
172
+ }
173
+ state.usage = {
174
+ ...(inputTokens === null ? {} : { inputTokens }),
175
+ ...(outputTokens === null ? {} : { outputTokens }),
176
+ ...(cacheReadInputTokens === null ? {} : { cacheReadInputTokens }),
177
+ ...(cacheCreationInputTokens === null ? {} : { cacheCreationInputTokens }),
178
+ };
179
+ }
180
+ function parseAssistantChunk(update, state, options) {
181
+ const messageId = (0, json_1.getOptionalString)(update, 'messageId') ?? 'assistant';
182
+ const content = update.content ?? (0, json_1.getArray)(update, 'content');
183
+ const textByMessageId = textSnapshots(state);
184
+ const thinkingByMessageId = thinkingSnapshots(state);
185
+ const nextText = options.textTypes ? joinTextBlocks(content, options.textTypes) : null;
186
+ const nextThinking = options.thinkingTypes ? joinTextBlocks(content, options.thinkingTypes) : null;
187
+ const events = [];
188
+ if (nextText !== null) {
189
+ const previousText = textByMessageId.get(messageId) ?? '';
190
+ const currentText = resolveChunkSnapshot(previousText, nextText);
191
+ const textDelta = snapshotDelta(previousText, currentText);
192
+ textByMessageId.set(messageId, currentText);
193
+ if (currentText)
194
+ state.lastAssistantText = currentText;
195
+ if (textDelta)
196
+ events.push({ type: 'text', text: textDelta });
197
+ }
198
+ if (nextThinking !== null) {
199
+ const previousThinking = thinkingByMessageId.get(messageId) ?? '';
200
+ const currentThinking = resolveChunkSnapshot(previousThinking, nextThinking);
201
+ const thinkingDelta = snapshotDelta(previousThinking, currentThinking);
202
+ thinkingByMessageId.set(messageId, currentThinking);
203
+ if (currentThinking)
204
+ state.lastAssistantThinking = currentThinking;
205
+ if (thinkingDelta)
206
+ events.push({ type: 'thinking', text: thinkingDelta });
207
+ }
208
+ return events;
209
+ }
210
+ function parseToolCall(update, state) {
211
+ const toolId = (0, json_1.getOptionalString)(update, 'toolCallId') ??
212
+ (0, json_1.getOptionalString)(update, 'toolId') ??
213
+ (0, json_1.getOptionalString)(update, 'id');
214
+ if (!toolId)
215
+ return null;
216
+ const toolName = (0, json_1.getOptionalString)(update, 'title') ??
217
+ (0, json_1.getOptionalString)(update, 'toolName') ??
218
+ (0, json_1.getOptionalString)(update, 'name');
219
+ const input = normalizeToolInput(update.rawInput ?? update.input ?? update.arguments ?? {});
220
+ state.lastToolId = toolId;
221
+ toolCalls(state).set(toolId, { name: toolName, input });
222
+ return {
223
+ type: 'tool_call',
224
+ toolName,
225
+ toolId,
226
+ input,
227
+ };
228
+ }
229
+ function parseToolCallUpdate(update, state) {
230
+ const toolId = (0, json_1.getOptionalString)(update, 'toolCallId') ??
231
+ (0, json_1.getOptionalString)(update, 'toolId') ??
232
+ (0, json_1.getOptionalString)(update, 'id') ??
233
+ state.lastToolId;
234
+ if (!toolId)
235
+ return null;
236
+ state.lastToolId = toolId;
237
+ const content = update.rawOutput ?? update.output ?? update.partialResult ?? update.content ?? update.result;
238
+ if (content === undefined)
239
+ return null;
240
+ const status = (0, json_1.getOptionalString)(update, 'status');
241
+ const isError = (0, json_1.getBoolean)(update, 'isError') ?? (status === 'failed' || status === 'cancelled');
242
+ return {
243
+ type: 'tool_result',
244
+ toolId,
245
+ content: normalizeToolContent(content),
246
+ isError,
247
+ };
248
+ }
249
+ function resultFromStopReason(state, response) {
250
+ updateUsage(state, response);
251
+ const stopReason = (0, json_1.getOptionalString)(response, 'stopReason') ?? (0, json_1.getOptionalString)(response, 'stop_reason');
252
+ const explicitError = (0, json_1.getOptionalString)(response, 'error') ??
253
+ (0, json_1.getOptionalString)(response, 'errorMessage') ??
254
+ (0, json_1.getOptionalString)(response, 'message');
255
+ const success = stopReason !== 'cancelled' && stopReason !== 'refusal';
256
+ const resultText = typeof state.lastAssistantText === 'string' && state.lastAssistantText.length > 0
257
+ ? state.lastAssistantText
258
+ : null;
259
+ return {
260
+ type: 'result',
261
+ success,
262
+ result: success ? resultText : null,
263
+ error: success ? null : explicitError ?? stopReason ?? 'ACP prompt failed.',
264
+ ...(state.usage?.inputTokens === undefined ? {} : { inputTokens: state.usage.inputTokens }),
265
+ ...(state.usage?.outputTokens === undefined ? {} : { outputTokens: state.usage.outputTokens }),
266
+ ...(state.usage?.cacheReadInputTokens === undefined
267
+ ? {}
268
+ : { cacheReadInputTokens: state.usage.cacheReadInputTokens }),
269
+ ...(state.usage?.cacheCreationInputTokens === undefined
270
+ ? {}
271
+ : { cacheCreationInputTokens: state.usage.cacheCreationInputTokens }),
272
+ cost: null,
273
+ modelUsage: state.usage,
274
+ };
275
+ }
276
+ function resultFromRpcError(error) {
277
+ return {
278
+ type: 'result',
279
+ success: false,
280
+ result: null,
281
+ error: (0, json_1.getString)(error, 'message') ?? 'ACP request failed.',
282
+ };
283
+ }
284
+ function parseSessionUpdate(params, state) {
285
+ const update = (0, json_1.getRecord)(params, 'update') ?? params;
286
+ const sessionUpdate = (0, json_1.getOptionalString)(update, 'sessionUpdate') ??
287
+ (0, json_1.getOptionalString)(update, 'session_update') ??
288
+ (0, json_1.getOptionalString)(update, 'type');
289
+ if (!sessionUpdate || sessionUpdate.startsWith('_'))
290
+ return null;
291
+ if (sessionUpdate === 'agent_message_chunk') {
292
+ return parseAssistantChunk(update, state, {
293
+ textTypes: ['text'],
294
+ thinkingTypes: ['thinking'],
295
+ });
296
+ }
297
+ if (sessionUpdate === 'agent_thought_chunk') {
298
+ return parseAssistantChunk(update, state, {
299
+ thinkingTypes: ['thinking', 'text'],
300
+ });
301
+ }
302
+ if (sessionUpdate === 'tool_call')
303
+ return parseToolCall(update, state);
304
+ if (sessionUpdate === 'tool_call_update')
305
+ return parseToolCallUpdate(update, state);
306
+ if (sessionUpdate === 'usage_update') {
307
+ updateUsage(state, update);
308
+ return null;
309
+ }
310
+ return null;
311
+ }
312
+ function parseRpcObject(parsed, state) {
313
+ const method = (0, json_1.getOptionalString)(parsed, 'method');
314
+ if (method === 'session/update') {
315
+ const params = (0, json_1.getRecord)(parsed, 'params') ?? {};
316
+ return parseSessionUpdate(params, state);
317
+ }
318
+ if (method?.startsWith('_'))
319
+ return null;
320
+ if (parsed.error && (0, json_1.isRecord)(parsed.error))
321
+ return resultFromRpcError(parsed.error);
322
+ const result = (0, json_1.getRecord)(parsed, 'result');
323
+ if (!result)
324
+ return null;
325
+ if ((0, json_1.getOptionalString)(result, 'stopReason') || (0, json_1.getOptionalString)(result, 'stop_reason')) {
326
+ return resultFromStopReason(state, result);
327
+ }
328
+ return null;
329
+ }
330
+ function parseEvent(line, state) {
331
+ const parsed = (0, json_1.tryParseJson)(line);
332
+ if (!(0, json_1.isRecord)(parsed))
333
+ return null;
334
+ return parseRpcObject(parsed, state);
335
+ }
336
+ function resolveModelSpec(meta, level, overrides) {
337
+ const mapping = meta.levelMapping ?? DEFAULT_LEVEL_MAPPING;
338
+ return (0, common_1.resolveModelSpecWithConfig)({
339
+ mapping,
340
+ defaultLevel: meta.defaultLevel ?? 'level2',
341
+ level,
342
+ overrides,
343
+ validateModelId: (modelId) => validateModelId(meta, modelId),
344
+ });
345
+ }
346
+ function validateModelId(meta, modelId) {
347
+ return (0, common_1.validateModelIdFromCatalog)(meta.provider, meta.modelCatalog ?? DEFAULT_MODEL_CATALOG, modelId);
348
+ }
349
+ function classifyError(meta, error) {
350
+ return (0, common_1.classifyBaseProviderError)(error, meta.retryableErrorPatterns ?? [], meta.permanentErrorPatterns ?? []);
351
+ }
352
+ function createAcpAdapter(meta) {
353
+ return {
354
+ id: meta.provider,
355
+ displayName: meta.displayName,
356
+ binary: meta.binary,
357
+ adapterVersion: '1',
358
+ credentialEnvKeys: meta.credentialEnvKeys,
359
+ modelCatalog: meta.modelCatalog ?? DEFAULT_MODEL_CATALOG,
360
+ levelMapping: meta.levelMapping ?? DEFAULT_LEVEL_MAPPING,
361
+ defaultLevel: meta.defaultLevel ?? 'level2',
362
+ defaultMaxLevel: meta.defaultMaxLevel ?? 'level3',
363
+ defaultMinLevel: meta.defaultMinLevel ?? 'level1',
364
+ detectCliFeatures: (helpText) => detectCliFeatures(meta, helpText),
365
+ buildCommand: (context, options) => buildCommand(meta, context, options),
366
+ parseEvent,
367
+ createParserState: () => createAcpState(meta.provider),
368
+ resolveModelSpec: (level, overrides) => resolveModelSpec(meta, level, overrides),
369
+ validateModelId: (modelId) => validateModelId(meta, modelId),
370
+ classifyError: (error) => classifyError(meta, error),
371
+ };
372
+ }
373
+ //# sourceMappingURL=acp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acp.js","sourceRoot":"","sources":["../../../src/agent-cli-provider/adapters/acp.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/agent-cli-provider/adapters/claude.ts"],"names":[],"mappings":"AAIA,OAAO,EAUL,KAAK,eAAe,EAGrB,MAAM,UAAU,CAAC;AAmNlB,eAAO,MAAM,aAAa,EAAE,eAkB3B,CAAC"}
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/agent-cli-provider/adapters/claude.ts"],"names":[],"mappings":"AACA,OAAO,EAUL,KAAK,eAAe,EAGrB,MAAM,UAAU,CAAC;AAwLlB,eAAO,MAAM,aAAa,EAAE,eAkB3B,CAAC"}
@@ -1,11 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.claudeAdapter = void 0;
4
- const node_fs_1 = require("node:fs");
5
- const node_os_1 = require("node:os");
6
- const node_path_1 = require("node:path");
7
4
  const json_1 = require("../json");
8
5
  const types_1 = require("../types");
6
+ const claude_command_1 = require("../claude-command");
9
7
  const common_1 = require("./common");
10
8
  const claude_parser_1 = require("./claude-parser");
11
9
  const MODEL_CATALOG = {
@@ -76,31 +74,6 @@ function addSessionArgs(args, options) {
76
74
  args.push('--continue');
77
75
  }
78
76
  }
79
- function readConfiguredClaudeCommand() {
80
- if (process.env.ZEROSHOT_CLAUDE_COMMAND?.trim()) {
81
- return process.env.ZEROSHOT_CLAUDE_COMMAND;
82
- }
83
- const settingsPath = process.env.ZEROSHOT_SETTINGS_FILE || (0, node_path_1.join)((0, node_os_1.homedir)(), '.zeroshot', 'settings.json');
84
- if (!(0, node_fs_1.existsSync)(settingsPath))
85
- return 'claude';
86
- try {
87
- const settings = JSON.parse((0, node_fs_1.readFileSync)(settingsPath, 'utf8'));
88
- const configured = (0, json_1.isRecord)(settings) ? (0, json_1.getString)(settings, 'claudeCommand') : null;
89
- if (configured?.trim())
90
- return configured;
91
- }
92
- catch {
93
- return 'claude';
94
- }
95
- return 'claude';
96
- }
97
- function resolveClaudeCommand() {
98
- const parts = readConfiguredClaudeCommand().trim().split(/\s+/);
99
- return {
100
- command: parts[0] ?? 'claude',
101
- args: parts.slice(1),
102
- };
103
- }
104
77
  function collectWarnings(options) {
105
78
  const features = (0, common_1.optionFeatures)(options);
106
79
  const warnings = [];
@@ -118,7 +91,7 @@ function collectWarnings(options) {
118
91
  return warnings;
119
92
  }
120
93
  function buildCommand(context, options = {}) {
121
- const { command, args: commandPrefix } = resolveClaudeCommand();
94
+ const { command, args: commandPrefix } = (0, claude_command_1.resolveClaudeCommand)();
122
95
  const args = [...commandPrefix, '--print', '--input-format', 'text'];
123
96
  const authEnv = options.authEnv ?? {};
124
97
  addOutputArgs(args, options);
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/agent-cli-provider/adapters/claude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/agent-cli-provider/adapters/claude.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ProviderParseResult, ProviderParserState } from '../types';
2
+ export declare function parseCopilotEvent(line: string, state: ProviderParserState): ProviderParseResult;
3
+ //# sourceMappingURL=copilot-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot-parser.d.ts","sourceRoot":"","sources":["../../../src/agent-cli-provider/adapters/copilot-parser.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAe,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAqItF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,CA0B/F"}
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseCopilotEvent = parseCopilotEvent;
4
+ // Copilot `--output-format json` emits JSONL; payload under `data`, dot-namespaced `type` (verified
5
+ // v1.0.69). Unknown types are ignored (fail-open). Mapping:
6
+ // assistant.message_delta/message → text, or thinking when phase==='commentary' (final answer is
7
+ // the result text). assistant.reasoning → thinking. tool.execution_start → tool_call.
8
+ // tool.execution_complete → tool_result. result → terminal (success = top-level exitCode === 0).
9
+ const json_1 = require("../json");
10
+ const IGNORED_TYPES = new Set([
11
+ 'user.message',
12
+ 'assistant.turn_start',
13
+ 'assistant.turn_end',
14
+ 'assistant.idle',
15
+ 'assistant.tool_call_delta',
16
+ 'tool.execution_partial_result',
17
+ ]);
18
+ function messageTextMap(state) {
19
+ if (!state.assistantTextByMessageId)
20
+ state.assistantTextByMessageId = new Map();
21
+ return state.assistantTextByMessageId;
22
+ }
23
+ function messagePhaseMap(state) {
24
+ if (!state.messagePhaseById)
25
+ state.messagePhaseById = new Map();
26
+ return state.messagePhaseById;
27
+ }
28
+ // `commentary` = the model narrating its plan (thinking); anything else is user-facing output.
29
+ function isCommentaryPhase(phase) {
30
+ return phase === 'commentary';
31
+ }
32
+ function snapshotDelta(previous, current) {
33
+ if (!current)
34
+ return null;
35
+ if (previous === current)
36
+ return null;
37
+ if (current.startsWith(previous))
38
+ return current.slice(previous.length) || null;
39
+ return current;
40
+ }
41
+ function accrueOutputTokens(state, data) {
42
+ const tokens = (0, json_1.getNumber)(data, 'outputTokens');
43
+ if (tokens === null)
44
+ return;
45
+ const usage = state.usage ?? {};
46
+ state.usage = { ...usage, outputTokens: (usage.outputTokens ?? 0) + tokens };
47
+ }
48
+ function parseMessageStart(data, state) {
49
+ const messageId = (0, json_1.getString)(data, 'messageId');
50
+ if (messageId === null)
51
+ return null;
52
+ messageTextMap(state).set(messageId, '');
53
+ const phase = (0, json_1.getString)(data, 'phase');
54
+ if (phase !== null)
55
+ messagePhaseMap(state).set(messageId, phase);
56
+ return null;
57
+ }
58
+ function parseMessageDelta(data, state) {
59
+ const delta = (0, json_1.getString)(data, 'deltaContent');
60
+ if (!delta)
61
+ return null;
62
+ const messageId = (0, json_1.getString)(data, 'messageId') ?? '';
63
+ const map = messageTextMap(state);
64
+ map.set(messageId, (map.get(messageId) ?? '') + delta);
65
+ const commentary = isCommentaryPhase(messagePhaseMap(state).get(messageId));
66
+ return commentary ? { type: 'thinking', text: delta } : { type: 'text', text: delta };
67
+ }
68
+ function parseMessage(data, state) {
69
+ const content = (0, json_1.getString)(data, 'content') ?? '';
70
+ accrueOutputTokens(state, data);
71
+ const messageId = (0, json_1.getString)(data, 'messageId') ?? '';
72
+ const map = messageTextMap(state);
73
+ const delta = snapshotDelta(map.get(messageId) ?? '', content);
74
+ map.set(messageId, content);
75
+ const commentary = isCommentaryPhase((0, json_1.getString)(data, 'phase') ?? messagePhaseMap(state).get(messageId));
76
+ // Only the final answer (not commentary narration) is the run's result text.
77
+ if (content && !commentary)
78
+ state.lastAssistantText = content;
79
+ if (!delta)
80
+ return null;
81
+ return commentary ? { type: 'thinking', text: delta } : { type: 'text', text: delta };
82
+ }
83
+ function parseReasoning(data) {
84
+ const text = (0, json_1.getString)(data, 'content');
85
+ return text ? { type: 'thinking', text } : null;
86
+ }
87
+ function parseToolExecutionStart(data, state) {
88
+ const toolId = (0, json_1.getString)(data, 'toolCallId');
89
+ state.lastToolId = toolId;
90
+ return {
91
+ type: 'tool_call',
92
+ toolName: (0, json_1.getString)(data, 'toolName'),
93
+ toolId,
94
+ input: Object.prototype.hasOwnProperty.call(data, 'arguments') ? data.arguments : {},
95
+ };
96
+ }
97
+ function toolResultContent(data) {
98
+ const result = (0, json_1.getRecord)(data, 'result');
99
+ if (result !== null)
100
+ return result.content ?? result.detailedContent ?? '';
101
+ return data.result ?? '';
102
+ }
103
+ function parseToolExecutionComplete(data, state) {
104
+ const success = (0, json_1.getBoolean)(data, 'success');
105
+ return {
106
+ type: 'tool_result',
107
+ toolId: (0, json_1.getString)(data, 'toolCallId') ?? state.lastToolId,
108
+ content: toolResultContent(data),
109
+ isError: success === false,
110
+ };
111
+ }
112
+ function parseResult(event, state) {
113
+ const exitCode = (0, json_1.getNumber)(event, 'exitCode') ?? 0;
114
+ const success = exitCode === 0;
115
+ const usage = state.usage ?? {};
116
+ return {
117
+ type: 'result',
118
+ success,
119
+ result: success ? (state.lastAssistantText ?? null) : null,
120
+ error: success ? null : `Copilot exited with code ${exitCode}`,
121
+ inputTokens: usage.inputTokens ?? 0,
122
+ outputTokens: usage.outputTokens ?? 0,
123
+ cacheReadInputTokens: usage.cacheReadInputTokens ?? 0,
124
+ cacheCreationInputTokens: usage.cacheCreationInputTokens ?? 0,
125
+ };
126
+ }
127
+ function parseCopilotEvent(line, state) {
128
+ const event = (0, json_1.tryParseJson)(line);
129
+ if (!(0, json_1.isRecord)(event))
130
+ return null;
131
+ const type = (0, json_1.getString)(event, 'type');
132
+ if (type === null || type.startsWith('session.') || IGNORED_TYPES.has(type))
133
+ return null;
134
+ if (type === 'result')
135
+ return parseResult(event, state);
136
+ const data = (0, json_1.getRecord)(event, 'data') ?? {};
137
+ switch (type) {
138
+ case 'assistant.message_start':
139
+ return parseMessageStart(data, state);
140
+ case 'assistant.message_delta':
141
+ return parseMessageDelta(data, state);
142
+ case 'assistant.message':
143
+ return parseMessage(data, state);
144
+ case 'assistant.reasoning':
145
+ return parseReasoning(data);
146
+ case 'tool.execution_start':
147
+ return parseToolExecutionStart(data, state);
148
+ case 'tool.execution_complete':
149
+ return parseToolExecutionComplete(data, state);
150
+ default:
151
+ return null;
152
+ }
153
+ }
154
+ //# sourceMappingURL=copilot-parser.js.map