@enderfga/claw-orchestrator 7.3.0 → 7.4.1

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.
@@ -10,9 +10,9 @@
10
10
  * ```
11
11
  *
12
12
  * After each Planner turn, the dispatcher scans the reply for these blocks,
13
- * validates them, and translates them into runner-queue messages or direct
14
- * runner-state mutations. Multiple blocks per turn are allowed and processed
15
- * in order.
13
+ * validates the complete batch, and translates it into runner-queue messages
14
+ * or direct runner-state mutations. Multiple blocks per turn are allowed, but
15
+ * no effect is applied unless every block is valid.
16
16
  *
17
17
  * The naming is stable so a future MCP-based implementation can swap the
18
18
  * parser for real tool dispatch without changing any Planner-facing
@@ -47,9 +47,161 @@ export function parsePlannerReply(reply) {
47
47
  });
48
48
  return { calls, cleaned_reply: cleaned.trim(), parse_errors };
49
49
  }
50
+ const PUSH_LEVELS = new Set(['info', 'warn', 'decision', 'error']);
51
+ const PUSH_CHANNELS = new Set(['auto', 'wechat', 'webchat', 'both', 'email']);
52
+ function optionalStringArray(value, field) {
53
+ if (value === undefined)
54
+ return [];
55
+ if (!Array.isArray(value) || value.some((entry) => typeof entry !== 'string')) {
56
+ throw new Error(`${field} must be an array of strings`);
57
+ }
58
+ return value;
59
+ }
60
+ function prepareDirective(raw, tool) {
61
+ const goal = raw.goal;
62
+ if (typeof goal !== 'string' || !goal.trim())
63
+ throw new Error(`${tool} requires \`goal\``);
64
+ const maxAttempts = raw.max_attempts ?? 1;
65
+ if (typeof maxAttempts !== 'number' || !Number.isInteger(maxAttempts) || maxAttempts < 1) {
66
+ throw new Error(`${tool} max_attempts must be a positive integer`);
67
+ }
68
+ return {
69
+ goal,
70
+ constraints: optionalStringArray(raw.constraints, `${tool} constraints`),
71
+ success_criteria: optionalStringArray(raw.success_criteria, `${tool} success_criteria`),
72
+ max_attempts: maxAttempts,
73
+ };
74
+ }
75
+ function preparePlannerCall(call, iter) {
76
+ if (typeof call.args !== 'object' || call.args === null || Array.isArray(call.args)) {
77
+ throw new Error(`${call.tool} requires an object \`args\``);
78
+ }
79
+ switch (call.tool) {
80
+ case 'notify_user': {
81
+ const { level, summary, detail, channel } = call.args;
82
+ if (typeof summary !== 'string' || !summary.trim())
83
+ throw new Error('notify_user requires `summary`');
84
+ if (level !== undefined && (typeof level !== 'string' || !PUSH_LEVELS.has(level))) {
85
+ throw new Error('notify_user has invalid `level`');
86
+ }
87
+ if (detail !== undefined && typeof detail !== 'string')
88
+ throw new Error('notify_user `detail` must be a string');
89
+ if (channel !== undefined && (typeof channel !== 'string' || !PUSH_CHANNELS.has(channel))) {
90
+ throw new Error('notify_user has invalid `channel`');
91
+ }
92
+ return {
93
+ call,
94
+ message: Msg.pushUser(iter, {
95
+ level: level ?? 'info',
96
+ summary,
97
+ detail,
98
+ channel: channel ?? 'auto',
99
+ }),
100
+ };
101
+ }
102
+ case 'spawn_subagents': {
103
+ const raw = call.args;
104
+ if ('coder_custom_engine' in raw ||
105
+ 'reviewer_custom_engine' in raw ||
106
+ 'coderCustomEngine' in raw ||
107
+ 'reviewerCustomEngine' in raw ||
108
+ 'customEngine' in raw) {
109
+ throw new Error('spawn_subagents cannot include custom engine config; configure it at autoloop_start');
110
+ }
111
+ for (const field of ['coder_engine', 'reviewer_engine']) {
112
+ const value = raw[field];
113
+ if (value !== undefined && (typeof value !== 'string' || !ENGINE_TYPES.includes(value))) {
114
+ throw new Error(`spawn_subagents ${field} has unknown engine '${String(value)}'`);
115
+ }
116
+ }
117
+ for (const field of ['coder_model', 'reviewer_model']) {
118
+ const value = raw[field];
119
+ if (value !== undefined && typeof value !== 'string') {
120
+ throw new Error(`spawn_subagents ${field} must be a string`);
121
+ }
122
+ }
123
+ const args = {};
124
+ if (raw.coder_engine !== undefined)
125
+ args.coder_engine = raw.coder_engine;
126
+ if (raw.coder_model !== undefined)
127
+ args.coder_model = raw.coder_model;
128
+ if (raw.reviewer_engine !== undefined)
129
+ args.reviewer_engine = raw.reviewer_engine;
130
+ if (raw.reviewer_model !== undefined)
131
+ args.reviewer_model = raw.reviewer_model;
132
+ let message;
133
+ if (raw.initial_directive !== undefined) {
134
+ if (typeof raw.initial_directive !== 'object' ||
135
+ raw.initial_directive === null ||
136
+ Array.isArray(raw.initial_directive)) {
137
+ throw new Error('spawn_subagents initial_directive must be an object');
138
+ }
139
+ const directive = prepareDirective(raw.initial_directive, 'spawn_subagents initial_directive');
140
+ args.initial_directive = directive;
141
+ message = Msg.directive(iter, directive);
142
+ }
143
+ return { call, message, spawnArgs: args };
144
+ }
145
+ case 'send_directive': {
146
+ const directive = prepareDirective(call.args, 'send_directive');
147
+ return { call, message: Msg.directive(iter, directive) };
148
+ }
149
+ case 'pause_loop': {
150
+ const reason = call.args.reason ?? 'planner-pause';
151
+ if (typeof reason !== 'string')
152
+ throw new Error('pause_loop `reason` must be a string');
153
+ return { call, message: Msg.pause(iter, { reason }) };
154
+ }
155
+ case 'resume_loop':
156
+ return { call, message: Msg.resume(iter) };
157
+ case 'terminate': {
158
+ const reason = call.args.reason ?? 'planner-terminate';
159
+ if (typeof reason !== 'string')
160
+ throw new Error('terminate `reason` must be a string');
161
+ return { call, message: Msg.terminate(iter, { reason }) };
162
+ }
163
+ case 'update_push_policy':
164
+ return { call, policyDelta: call.args };
165
+ case 'write_plan': {
166
+ const { content, commit_message } = call.args;
167
+ if (typeof content !== 'string' || !content.trim()) {
168
+ throw new Error('write_plan requires non-empty `content` (full plan.md body)');
169
+ }
170
+ if (commit_message !== undefined && typeof commit_message !== 'string') {
171
+ throw new Error('write_plan `commit_message` must be a string');
172
+ }
173
+ return {
174
+ call,
175
+ artifact: { file: 'plan.md', content, commitMessage: commit_message },
176
+ };
177
+ }
178
+ case 'write_goal': {
179
+ const { content, commit_message } = call.args;
180
+ if (typeof content !== 'string' || !content.trim()) {
181
+ throw new Error('write_goal requires non-empty `content` (full goal.json body)');
182
+ }
183
+ try {
184
+ JSON.parse(content);
185
+ }
186
+ catch (error) {
187
+ throw new Error(`write_goal content is not valid JSON: ${error.message}`);
188
+ }
189
+ if (commit_message !== undefined && typeof commit_message !== 'string') {
190
+ throw new Error('write_goal `commit_message` must be a string');
191
+ }
192
+ return {
193
+ call,
194
+ artifact: { file: 'goal.json', content, commitMessage: commit_message },
195
+ };
196
+ }
197
+ default:
198
+ throw new Error(`unknown planner tool: ${call.tool}`);
199
+ }
200
+ }
50
201
  /**
51
- * Apply a batch of parsed tool calls in order. Returns any v2 envelopes that
52
- * the dispatcher should hand back to the runner so it can route them.
202
+ * Preflight a complete batch, materialize all artifact writes as one effect,
203
+ * then apply policy/spawn effects. Spawn is deliberately last, independent of
204
+ * block order, so roles never start against a partial artifact set.
53
205
  *
54
206
  * Note: notify_user / pause_loop / resume_loop / terminate / send_directive
55
207
  * become v2 messages and flow through the runner's normal queue (so policy,
@@ -57,134 +209,59 @@ export function parsePlannerReply(reply) {
57
209
  * push-policy mutation are direct side effects.
58
210
  */
59
211
  export async function applyPlannerToolCalls(calls, fx, iter) {
60
- const emitted_messages = [];
61
212
  const errors = [];
213
+ const prepared = [];
62
214
  for (const call of calls) {
63
215
  try {
64
- switch (call.tool) {
65
- case 'notify_user': {
66
- const { level, summary, detail, channel } = call.args;
67
- if (!summary)
68
- throw new Error('notify_user requires `summary`');
69
- emitted_messages.push(Msg.pushUser(iter, {
70
- level: level ?? 'info',
71
- summary,
72
- detail,
73
- channel: channel ?? 'auto',
74
- }));
75
- break;
76
- }
77
- case 'spawn_subagents': {
78
- const raw = call.args;
79
- if ('coder_custom_engine' in raw ||
80
- 'reviewer_custom_engine' in raw ||
81
- 'coderCustomEngine' in raw ||
82
- 'reviewerCustomEngine' in raw ||
83
- 'customEngine' in raw) {
84
- throw new Error('spawn_subagents cannot include custom engine config; configure it at autoloop_start');
85
- }
86
- for (const field of ['coder_engine', 'reviewer_engine']) {
87
- const value = raw[field];
88
- if (value !== undefined && (typeof value !== 'string' || !ENGINE_TYPES.includes(value))) {
89
- throw new Error(`spawn_subagents ${field} has unknown engine '${String(value)}'`);
90
- }
91
- }
92
- for (const field of ['coder_model', 'reviewer_model']) {
93
- const value = raw[field];
94
- if (value !== undefined && typeof value !== 'string') {
95
- throw new Error(`spawn_subagents ${field} must be a string`);
96
- }
97
- }
98
- const args = {};
99
- if (raw.coder_engine !== undefined)
100
- args.coder_engine = raw.coder_engine;
101
- if (raw.coder_model !== undefined)
102
- args.coder_model = raw.coder_model;
103
- if (raw.reviewer_engine !== undefined)
104
- args.reviewer_engine = raw.reviewer_engine;
105
- if (raw.reviewer_model !== undefined)
106
- args.reviewer_model = raw.reviewer_model;
107
- if (raw.initial_directive !== undefined) {
108
- args.initial_directive = raw.initial_directive;
109
- }
110
- await fx.spawnSubagents(args);
111
- // If caller asked for an initial directive, fire it via the runner queue.
112
- const init = args.initial_directive;
113
- if (init?.goal) {
114
- emitted_messages.push(Msg.directive(iter, {
115
- goal: init.goal,
116
- constraints: init.constraints ?? [],
117
- success_criteria: init.success_criteria ?? [],
118
- max_attempts: init.max_attempts ?? 1,
119
- }));
120
- }
121
- break;
122
- }
123
- case 'send_directive': {
124
- const { goal, constraints, success_criteria, max_attempts } = call.args;
125
- if (!goal)
126
- throw new Error('send_directive requires `goal`');
127
- emitted_messages.push(Msg.directive(iter, {
128
- goal,
129
- constraints: constraints ?? [],
130
- success_criteria: success_criteria ?? [],
131
- max_attempts: max_attempts ?? 1,
132
- }));
133
- break;
134
- }
135
- case 'pause_loop': {
136
- emitted_messages.push(Msg.pause(iter, {
137
- reason: call.args.reason ?? 'planner-pause',
138
- }));
139
- break;
140
- }
141
- case 'resume_loop': {
142
- emitted_messages.push(Msg.resume(iter));
143
- break;
144
- }
145
- case 'terminate': {
146
- emitted_messages.push(Msg.terminate(iter, {
147
- reason: call.args.reason ?? 'planner-terminate',
148
- }));
149
- break;
150
- }
151
- case 'update_push_policy': {
152
- fx.updatePushPolicy(call.args);
153
- break;
154
- }
155
- case 'write_plan': {
156
- const { content, commit_message } = call.args;
157
- if (typeof content !== 'string' || !content.trim()) {
158
- throw new Error('write_plan requires non-empty `content` (full plan.md body)');
159
- }
160
- await fx.writePlanFile('plan.md', content, commit_message);
161
- break;
162
- }
163
- case 'write_goal': {
164
- const { content, commit_message } = call.args;
165
- if (typeof content !== 'string' || !content.trim()) {
166
- throw new Error('write_goal requires non-empty `content` (full goal.json body)');
167
- }
168
- // Validate it parses as JSON — goal.json must be machine-readable.
169
- // The error message includes the parse position so the Planner can
170
- // self-correct on the next turn.
171
- try {
172
- JSON.parse(content);
173
- }
174
- catch (e) {
175
- throw new Error(`write_goal content is not valid JSON: ${e.message}`);
176
- }
177
- await fx.writePlanFile('goal.json', content, commit_message);
178
- break;
179
- }
180
- default:
181
- errors.push({ tool: call.tool, error: `unknown planner tool: ${call.tool}` });
182
- }
216
+ prepared.push(preparePlannerCall(call, iter));
183
217
  }
184
218
  catch (err) {
185
219
  errors.push({ tool: call.tool, error: err.message });
186
220
  }
187
221
  }
188
- return { emitted_messages, errors };
222
+ if (errors.length > 0)
223
+ return { emitted_messages: [], errors };
224
+ for (const singleton of ['write_plan', 'write_goal', 'spawn_subagents']) {
225
+ if (prepared.filter(({ call }) => call.tool === singleton).length > 1) {
226
+ errors.push({ tool: singleton, error: `duplicate ${singleton} control in one Planner batch` });
227
+ }
228
+ }
229
+ if (errors.length > 0)
230
+ return { emitted_messages: [], errors };
231
+ const artifacts = prepared.flatMap(({ artifact }) => (artifact ? [artifact] : []));
232
+ if (artifacts.length > 0) {
233
+ try {
234
+ await fx.writePlanFiles(artifacts);
235
+ }
236
+ catch (err) {
237
+ return {
238
+ emitted_messages: [],
239
+ errors: [{ tool: artifacts.map(({ file }) => file).join(','), error: err.message }],
240
+ };
241
+ }
242
+ }
243
+ for (const entry of prepared) {
244
+ if (!entry.policyDelta)
245
+ continue;
246
+ try {
247
+ fx.updatePushPolicy(entry.policyDelta);
248
+ }
249
+ catch (err) {
250
+ return { emitted_messages: [], errors: [{ tool: entry.call.tool, error: err.message }] };
251
+ }
252
+ }
253
+ const spawnCall = prepared.find(({ spawnArgs }) => spawnArgs !== undefined);
254
+ if (spawnCall?.spawnArgs) {
255
+ try {
256
+ await fx.spawnSubagents(spawnCall.spawnArgs);
257
+ }
258
+ catch (err) {
259
+ return { emitted_messages: [], errors: [{ tool: spawnCall.call.tool, error: err.message }] };
260
+ }
261
+ }
262
+ return {
263
+ emitted_messages: prepared.flatMap(({ message }) => (message ? [message] : [])),
264
+ errors,
265
+ };
189
266
  }
190
267
  //# sourceMappingURL=planner-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"planner-tools.js","sourceRoot":"","sources":["../../../src/autoloop/planner-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"planner-tools.js","sourceRoot":"","sources":["../../../src/autoloop/planner-tools.ts"],"names":[],"mappings":"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"}
@@ -430,6 +430,18 @@ const MODELS = [
430
430
  listed: false,
431
431
  contextWindow: 128_000,
432
432
  },
433
+ // Priced by OpenAI and reachable from Codex under API-key auth, but unregistered
434
+ // until the sweep's missing-model check first actually ran — it had been
435
+ // scanning nothing — and named it. Unregistered it priced as the Sonnet
436
+ // fallback with a 200K window instead of its own ~1M.
437
+ {
438
+ id: 'gpt-4.1',
439
+ engine: 'codex',
440
+ provider: 'openai',
441
+ pricing: { input: 2, output: 8, cached: 0.5 },
442
+ listed: false,
443
+ contextWindow: 1_047_576,
444
+ },
433
445
  ];
434
446
  // ─── Derived Lookup Tables (generated once at import time) ───────────────────
435
447
  /** id → ModelDef */
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"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"}
@@ -33,9 +33,11 @@ import * as os from 'node:os';
33
33
  import * as path from 'node:path';
34
34
  import { estimateTokens } from './models.js';
35
35
  import { sanitizeSecrets } from './sanitize.js';
36
- import { extractCreatedAgyConversationId, isAgyConversationId } from './agy-conversation.js';
36
+ import { extractCreatedAgyConversationId, extractAgyToolPermissionDenials, hasAgyToolPermissionDenial, isAgyConversationId, } from './agy-conversation.js';
37
37
  import { SESSION_EVENT } from './constants.js';
38
38
  import { BaseOneShotSession } from './base-oneshot-session.js';
39
+ const EMPTY_RESPONSE_ERROR = 'Antigravity returned an empty response; the turn failed but the session remains available for retry';
40
+ const TOOL_DENIAL_EMPTY_RESPONSE_ERROR = 'Antigravity returned an empty response after a tool permission denial; the turn failed but the session remains available for retry';
39
41
  // ─── PersistentAgySession ───────────────────────────────────────────────────
40
42
  export class PersistentAgySession extends BaseOneShotSession {
41
43
  /**
@@ -149,18 +151,14 @@ export class PersistentAgySession extends BaseOneShotSession {
149
151
  * `Created conversation <uuid>`; resumed ones only log lookups, so an
150
152
  * existing ID is never overwritten by a miss.
151
153
  */
152
- _harvestConversationId() {
154
+ _harvestConversationId(log) {
153
155
  // Once harvested (or seeded) the ID is final for the life of the session
154
- // — skip the synchronous whole-log re-read on every later turn.
156
+ // — skip the fallback match on every later turn.
155
157
  if (this.agyConversationId)
156
158
  return;
157
- try {
158
- const log = fs.readFileSync(this._logFile, 'utf8');
159
+ if (log) {
159
160
  this.agyConversationId = extractCreatedAgyConversationId(log);
160
161
  }
161
- catch {
162
- // Log file missing — agy failed before logging anything
163
- }
164
162
  if (!this.agyConversationId) {
165
163
  // Without an ID every later send silently starts a fresh conversation.
166
164
  // Make that observable — if this fires on every turn, agy most likely
@@ -176,6 +174,17 @@ export class PersistentAgySession extends BaseOneShotSession {
176
174
  _run(message, options) {
177
175
  const timeout = options.timeout || 300_000;
178
176
  const args = this._buildArgs(message, timeout, options.effort);
177
+ // The path is stable for the session, so remove the previous turn's file
178
+ // before spawning. If that cannot be proven, do not inspect the file at all:
179
+ // a stale denial must never be attributed to the current empty response.
180
+ let mayReadTurnLog = true;
181
+ try {
182
+ fs.unlinkSync(this._logFile);
183
+ }
184
+ catch (error) {
185
+ if (error.code !== 'ENOENT')
186
+ mayReadTurnLog = false;
187
+ }
179
188
  return new Promise((resolve, reject) => {
180
189
  let resultText = '';
181
190
  let stderr = '';
@@ -278,23 +287,33 @@ export class PersistentAgySession extends BaseOneShotSession {
278
287
  this.currentProc = null;
279
288
  if (pending)
280
289
  handleLine(pending, false);
290
+ const text = resultText.replace(/\n$/, '');
291
+ const emptyResponse = text.trim().length === 0;
292
+ let turnLog;
293
+ const needsLog = !this.agyConversationId || (!settled && code === 0 && !turnError);
294
+ if (mayReadTurnLog && needsLog) {
295
+ try {
296
+ turnLog = fs.readFileSync(this._logFile, 'utf8');
297
+ }
298
+ catch {
299
+ // Log file missing — agy failed before logging anything.
300
+ }
301
+ }
281
302
  // Harvest BEFORE the settled check: a turn that hit the wrapper timeout
282
303
  // has already rejected (settled), but agy may still have announced the
283
304
  // conversation before being killed. Skipping this would lose the id
284
305
  // permanently and every later send would silently start fresh. The
285
306
  // stream normally supplies it from the `init` event; this is the
286
307
  // fallback for a turn that died before emitting one.
287
- this._harvestConversationId();
308
+ this._harvestConversationId(turnLog);
288
309
  if (settled)
289
310
  return;
290
311
  settled = true;
291
- // One expression for the outcome: it feeds the counter here and the `stop_reason`
292
- // below, and it is the reject condition at the end of this handler. The exit code
293
- // stays in the conjunction — agy can report SUCCESS and then die in cleanup, and a
294
- // turn whose promise rejects is not a turn that succeeded.
295
- const ok = !turnError && !turnStatus && code === 0;
312
+ // One expression for the outcome feeds both the counter and `stop_reason`.
313
+ // A non-SUCCESS status with a partial reply still resolves below so callers do
314
+ // not lose useful output, but it deliberately remains a failed ledger turn.
315
+ const ok = !turnError && !turnStatus && code === 0 && !emptyResponse;
296
316
  this._recordTurnComplete(ok);
297
- const text = resultText.replace(/\n$/, '');
298
317
  // Real usage from the `result` event. estimateTokens() is the fallback
299
318
  // for a turn that produced no result event (killed, crashed, or an
300
319
  // output-format change) — it is a ~4-chars-per-token guess and was the
@@ -313,13 +332,16 @@ export class PersistentAgySession extends BaseOneShotSession {
313
332
  this._updateCost();
314
333
  }
315
334
  this._addHistory({ text, code });
335
+ const permissionDenials = extractAgyToolPermissionDenials(turnLog ?? '');
316
336
  const event = {
317
337
  type: 'result',
318
338
  result: text,
319
- // agy can exit 0 while reporting a non-SUCCESS status or an error in the
320
- // result event (e.g. a turn stopped early), so the status is
321
- // authoritative when present and the exit code is the fallback.
339
+ // agy can exit 0 while reporting a non-SUCCESS status, an error, or no
340
+ // usable response, so all terminal signals participate in the verdict.
322
341
  stop_reason: ok ? 'end_turn' : 'error',
342
+ ...(permissionDenials.length > 0
343
+ ? { permission_denials: permissionDenials.map((tool_name) => ({ tool_name })) }
344
+ : {}),
323
345
  };
324
346
  this.emit(SESSION_EVENT.RESULT, event);
325
347
  this.emit(SESSION_EVENT.TURN_COMPLETE, event);
@@ -331,6 +353,9 @@ export class PersistentAgySession extends BaseOneShotSession {
331
353
  else if (code !== 0) {
332
354
  reject(new Error(stderr || `Antigravity exited with code ${code}`));
333
355
  }
356
+ else if (emptyResponse) {
357
+ reject(new Error(hasAgyToolPermissionDenial(turnLog ?? '') ? TOOL_DENIAL_EMPTY_RESPONSE_ERROR : EMPTY_RESPONSE_ERROR));
358
+ }
334
359
  else {
335
360
  resolve({ text, event });
336
361
  }