@enderfga/claw-orchestrator 7.3.0 → 7.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.
@@ -50,6 +50,11 @@ removed. The only supported authoring path is the `write_plan` and
50
50
  Bash heredocs, `tee`, or output redirection that author content files violate
51
51
  Rule 1 and must not be used.
52
52
 
53
+ Native shell/file tools must not create `plan.md` or `goal.json`. The
54
+ `write_plan`, `write_goal`, and approved `spawn_subagents` actions must be
55
+ emitted as fenced in-band controls; prose and native tool calls cannot perform
56
+ those actions.
57
+
53
58
  ### Rule 3 — Never `spawn_subagents` without explicit user approval
54
59
 
55
60
  Even when the plan looks complete, you must ask "ready to spawn the Coder?"
@@ -75,6 +80,8 @@ You also have **autoloop control tools** that you invoke by emitting fenced
75
80
  code blocks tagged `autoloop`. The orchestrator scans your reply, parses any
76
81
  such blocks, and applies them. You may emit zero, one, or multiple blocks per
77
82
  turn. Anything outside the blocks is shown to the user as your chat reply.
83
+ In particular, `write_plan`, `write_goal`, and approved `spawn_subagents` must
84
+ always use these fenced in-band controls.
78
85
 
79
86
  **Format** — every block is a single JSON object:
80
87
 
@@ -1,2 +1,11 @@
1
1
  export declare function isAgyConversationId(value: string | undefined): value is string;
2
2
  export declare function extractCreatedAgyConversationId(log: string): string | undefined;
3
+ /**
4
+ * Recognize agy's own tool-confirmation denial record without returning any
5
+ * native-log content. Keep this deliberately narrow: an ordinary log line
6
+ * containing words such as "denied" or "permission" must not change the
7
+ * user-facing diagnosis.
8
+ */
9
+ export declare function hasAgyToolPermissionDenial(log: string): boolean;
10
+ /** Return the refused tool names agy 1.2.2 records on the current turn. */
11
+ export declare function extractAgyToolPermissionDenials(log: string): string[];
@@ -1,10 +1,25 @@
1
1
  const AGY_CONVERSATION_ID_SOURCE = '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}';
2
2
  const AGY_CONVERSATION_ID_RE = new RegExp(`^${AGY_CONVERSATION_ID_SOURCE}$`, 'i');
3
3
  const AGY_CREATED_CONVERSATION_RE = new RegExp(`Created conversation (${AGY_CONVERSATION_ID_SOURCE})`, 'i');
4
+ const AGY_TOOL_PERMISSION_DENIAL_RE = /tool_confirmation_manager\.go:\d+\][^\r\n]*\bmode:\s+soft-denying tool confirmation\b/i;
5
+ const AGY_TOOL_PERMISSION_DENIAL_NAME_RE = /tool_confirmation_manager\.go:\d+\][^\r\n]*\bmode:\s+soft-denying tool confirmation\s+"([^"\r\n]{1,256})"/gi;
4
6
  export function isAgyConversationId(value) {
5
7
  return !!value && AGY_CONVERSATION_ID_RE.test(value);
6
8
  }
7
9
  export function extractCreatedAgyConversationId(log) {
8
10
  return log.match(AGY_CREATED_CONVERSATION_RE)?.[1];
9
11
  }
12
+ /**
13
+ * Recognize agy's own tool-confirmation denial record without returning any
14
+ * native-log content. Keep this deliberately narrow: an ordinary log line
15
+ * containing words such as "denied" or "permission" must not change the
16
+ * user-facing diagnosis.
17
+ */
18
+ export function hasAgyToolPermissionDenial(log) {
19
+ return AGY_TOOL_PERMISSION_DENIAL_RE.test(log);
20
+ }
21
+ /** Return the refused tool names agy 1.2.2 records on the current turn. */
22
+ export function extractAgyToolPermissionDenials(log) {
23
+ return [...log.matchAll(AGY_TOOL_PERMISSION_DENIAL_NAME_RE)].map((match) => match[1]);
24
+ }
10
25
  //# sourceMappingURL=agy-conversation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agy-conversation.js","sourceRoot":"","sources":["../../src/agy-conversation.ts"],"names":[],"mappings":"AAAA,MAAM,0BAA0B,GAAG,8DAA8D,CAAC;AAElG,MAAM,sBAAsB,GAAG,IAAI,MAAM,CAAC,IAAI,0BAA0B,GAAG,EAAE,GAAG,CAAC,CAAC;AAClF,MAAM,2BAA2B,GAAG,IAAI,MAAM,CAAC,yBAAyB,0BAA0B,GAAG,EAAE,GAAG,CAAC,CAAC;AAE5G,MAAM,UAAU,mBAAmB,CAAC,KAAyB;IAC3D,OAAO,CAAC,CAAC,KAAK,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,GAAW;IACzD,OAAO,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"agy-conversation.js","sourceRoot":"","sources":["../../src/agy-conversation.ts"],"names":[],"mappings":"AAAA,MAAM,0BAA0B,GAAG,8DAA8D,CAAC;AAElG,MAAM,sBAAsB,GAAG,IAAI,MAAM,CAAC,IAAI,0BAA0B,GAAG,EAAE,GAAG,CAAC,CAAC;AAClF,MAAM,2BAA2B,GAAG,IAAI,MAAM,CAAC,yBAAyB,0BAA0B,GAAG,EAAE,GAAG,CAAC,CAAC;AAC5G,MAAM,6BAA6B,GACjC,wFAAwF,CAAC;AAC3F,MAAM,kCAAkC,GACtC,6GAA6G,CAAC;AAEhH,MAAM,UAAU,mBAAmB,CAAC,KAAyB;IAC3D,OAAO,CAAC,CAAC,KAAK,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,GAAW;IACzD,OAAO,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,GAAW;IACpD,OAAO,6BAA6B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjD,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,+BAA+B,CAAC,GAAW;IACzD,OAAO,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACxF,CAAC"}
@@ -229,6 +229,13 @@ export declare class ClaudeAgentDispatcher extends EventEmitter implements Agent
229
229
  private compactSummaryFor;
230
230
  private maybeCompact;
231
231
  private ensurePlanner;
232
+ /**
233
+ * Replace a Planner turn's complete artifact set or leave the prior set
234
+ * untouched. Every new body is staged before the first visible rename; if a
235
+ * later rename fails, already-replaced targets are restored from byte
236
+ * snapshots before the error reaches the control handler.
237
+ */
238
+ private replacePlannerArtifacts;
232
239
  private deliverToPlanner;
233
240
  private ensureCoder;
234
241
  private deliverToCoder;
@@ -17,7 +17,7 @@
17
17
  * into the runner queue.
18
18
  */
19
19
  import { EventEmitter } from 'node:events';
20
- import { createHash } from 'node:crypto';
20
+ import { createHash, randomUUID } from 'node:crypto';
21
21
  import * as fs from 'node:fs';
22
22
  import * as path from 'node:path';
23
23
  import { fileURLToPath } from 'node:url';
@@ -650,8 +650,8 @@ export class ClaudeAgentDispatcher extends EventEmitter {
650
650
  engine: this.plannerSelection.engine,
651
651
  model: this.roleModel('planner', this.plannerSelection),
652
652
  customEngine: this.plannerSelection.engine === 'custom' ? this.plannerSelection.customEngine : undefined,
653
- permissionMode: this.plannerSelection.engine === 'claude' ? 'bypassPermissions' : 'manual',
654
- sandboxMode: this.plannerSelection.engine === 'claude' ? undefined : 'read-only',
653
+ permissionMode: 'manual',
654
+ sandboxMode: 'read-only',
655
655
  systemPrompt: this.plannerSystemPrompt,
656
656
  // Hard role boundary: Planner must NEVER author content files itself.
657
657
  // Its only writes are plan.md / goal.json via the write_plan /
@@ -664,6 +664,81 @@ export class ClaudeAgentDispatcher extends EventEmitter {
664
664
  });
665
665
  this.plannerStarted = true;
666
666
  }
667
+ /**
668
+ * Replace a Planner turn's complete artifact set or leave the prior set
669
+ * untouched. Every new body is staged before the first visible rename; if a
670
+ * later rename fails, already-replaced targets are restored from byte
671
+ * snapshots before the error reaches the control handler.
672
+ */
673
+ replacePlannerArtifacts(writes) {
674
+ const nonce = randomUUID();
675
+ const entries = writes.map((write, index) => {
676
+ const target = path.join(this.config.workspace, write.file);
677
+ const existed = fs.existsSync(target);
678
+ const stat = existed ? fs.statSync(target) : undefined;
679
+ if (stat && !stat.isFile())
680
+ throw new Error(`${write.file} exists but is not a regular file`);
681
+ return {
682
+ ...write,
683
+ target,
684
+ staged: path.join(this.config.workspace, `.${write.file}.${nonce}.${index}.tmp`),
685
+ existed,
686
+ original: existed ? fs.readFileSync(target) : undefined,
687
+ originalMode: stat ? stat.mode & 0o777 : undefined,
688
+ };
689
+ });
690
+ const replaced = [];
691
+ try {
692
+ for (const entry of entries) {
693
+ fs.writeFileSync(entry.staged, entry.content, { encoding: 'utf-8', flag: 'wx', mode: 0o666 });
694
+ }
695
+ for (const entry of entries) {
696
+ fs.renameSync(entry.staged, entry.target);
697
+ replaced.push(entry);
698
+ if (entry.originalMode !== undefined)
699
+ fs.chmodSync(entry.target, entry.originalMode);
700
+ }
701
+ }
702
+ catch (error) {
703
+ const rollbackErrors = [];
704
+ for (const entry of [...replaced].reverse()) {
705
+ try {
706
+ if (!entry.existed) {
707
+ if (fs.existsSync(entry.target))
708
+ fs.unlinkSync(entry.target);
709
+ continue;
710
+ }
711
+ const restore = `${entry.staged}.restore`;
712
+ try {
713
+ fs.writeFileSync(restore, entry.original, { flag: 'wx', mode: entry.originalMode });
714
+ fs.renameSync(restore, entry.target);
715
+ if (entry.originalMode !== undefined)
716
+ fs.chmodSync(entry.target, entry.originalMode);
717
+ }
718
+ finally {
719
+ if (fs.existsSync(restore))
720
+ fs.unlinkSync(restore);
721
+ }
722
+ }
723
+ catch (rollbackError) {
724
+ rollbackErrors.push(`${entry.file}: ${rollbackError.message}`);
725
+ }
726
+ }
727
+ for (const entry of entries) {
728
+ try {
729
+ if (fs.existsSync(entry.staged))
730
+ fs.unlinkSync(entry.staged);
731
+ }
732
+ catch (cleanupError) {
733
+ rollbackErrors.push(`${entry.file} staging cleanup: ${cleanupError.message}`);
734
+ }
735
+ }
736
+ if (rollbackErrors.length > 0) {
737
+ throw new Error(`${error.message}; artifact rollback failed: ${rollbackErrors.join('; ')}`);
738
+ }
739
+ throw error;
740
+ }
741
+ }
667
742
  async deliverToPlanner(env, dispatchId) {
668
743
  if (env.type !== 'chat' && env.type !== 'directive_ack' && env.type !== 'iter_done') {
669
744
  // Other types (push_user / pause / resume / terminate) are runner-only
@@ -774,20 +849,30 @@ export class ClaudeAgentDispatcher extends EventEmitter {
774
849
  });
775
850
  }
776
851
  },
777
- writePlanFile: async (file, content, commitMessage) => {
852
+ writePlanFiles: async (writes) => {
778
853
  // Author plan.md / goal.json on the Planner's behalf. The Planner
779
854
  // can't Write/Edit directly (disallowedTools), so this autoloop tool
780
- // is the single legitimate authoring path. Best-effort git commit
781
- // keeps the ledger honest.
782
- const target = path.join(this.config.workspace, file);
783
- fs.writeFileSync(target, content);
784
- await this.gitCommit(file, commitMessage ?? `autoloop: planner writes ${file}`);
855
+ // is the single legitimate authoring path. Materialize the entire set
856
+ // before commit or any spawn effect.
857
+ this.replacePlannerArtifacts(writes);
858
+ const filenames = writes.map(({ file }) => file).join(', ');
859
+ const commitMessage = writes.find(({ commitMessage: candidate }) => candidate)?.commitMessage ??
860
+ `autoloop: planner writes ${filenames}`;
861
+ await this.gitCommit(filenames, commitMessage);
785
862
  },
786
863
  };
787
864
  // After iter_done(N) the run has advanced to iter N+1 in runner state;
788
865
  // any directive Planner emits in response targets the new iter.
789
866
  const nextIter = env.type === 'iter_done' ? env.iter + 1 : env.iter;
790
- const handlerResult = await applyPlannerToolCalls(parsed.calls, effects, nextIter);
867
+ const handlerResult = parsed.parse_errors.length > 0
868
+ ? {
869
+ emitted_messages: [],
870
+ errors: parsed.parse_errors.map(({ block_index, error }) => ({
871
+ tool: `autoloop block ${block_index}`,
872
+ error,
873
+ })),
874
+ }
875
+ : await applyPlannerToolCalls(parsed.calls, effects, nextIter);
791
876
  for (const errEntry of handlerResult.errors) {
792
877
  this.logger.warn?.(`[autoloop] tool '${errEntry.tool}' failed: ${errEntry.error}`);
793
878
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../src/autoloop/dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../src/autoloop/dispatcher.ts"],"names":[],"mappings":"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"}
@@ -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
@@ -58,13 +58,13 @@ export interface PlannerToolEffects {
58
58
  spawnSubagents: (args: SpawnSubagentsArgs) => Promise<void>;
59
59
  /** Mutate in-memory push policy (key→rule object). Unknown keys ignored. */
60
60
  updatePushPolicy: (delta: Record<string, unknown>) => void;
61
- /**
62
- * Write content to <workspace>/<file> (plan.md or goal.json), then
63
- * best-effort `git add && git commit`. The Planner has no Write/Edit
64
- * tools — this autoloop tool is the only path to author plan.md/goal.json,
65
- * which physically prevents the Planner from doing Coder work.
66
- */
67
- writePlanFile: (file: 'plan.md' | 'goal.json', content: string, commitMessage?: string) => Promise<void>;
61
+ /** Atomically materialize the complete plan/goal write set. */
62
+ writePlanFiles: (writes: readonly PlannerArtifactWrite[]) => Promise<void>;
63
+ }
64
+ export interface PlannerArtifactWrite {
65
+ file: 'plan.md' | 'goal.json';
66
+ content: string;
67
+ commitMessage?: string;
68
68
  }
69
69
  export interface PlannerToolHandlerResult {
70
70
  /** Messages the runner should push into its own queue. */
@@ -76,8 +76,9 @@ export interface PlannerToolHandlerResult {
76
76
  }>;
77
77
  }
78
78
  /**
79
- * Apply a batch of parsed tool calls in order. Returns any v2 envelopes that
80
- * the dispatcher should hand back to the runner so it can route them.
79
+ * Preflight a complete batch, materialize all artifact writes as one effect,
80
+ * then apply policy/spawn effects. Spawn is deliberately last, independent of
81
+ * block order, so roles never start against a partial artifact set.
81
82
  *
82
83
  * Note: notify_user / pause_loop / resume_loop / terminate / send_directive
83
84
  * become v2 messages and flow through the runner's normal queue (so policy,
@@ -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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"}
@@ -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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"persistent-agy-session.js","sourceRoot":"","sources":["../../src/persistent-agy-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistent-agy-session.js","sourceRoot":"","sources":["../../src/persistent-agy-session.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enderfga/claw-orchestrator",
3
- "version": "7.3.0",
3
+ "version": "7.4.0",
4
4
  "description": "Claw Orchestrator \u2014 run Claude Code, Codex, Gemini, Cursor Agent, OpenCode and custom coding CLIs as one unified runtime. Drop into Hermes Agent, Claude Desktop, Cursor, Cline, Continue, Zed, Windsurf, Goose or any Model Context Protocol (MCP) host, install as an OpenClaw plugin, or run standalone. Persistent sessions, multi-agent council, ultraplan, ultrareview, autoloop, tool orchestration.",
5
5
  "type": "module",
6
6
  "main": "./dist/src/index.js",
@@ -52,6 +52,22 @@ Planner receives `permissionMode: 'manual'` and its `CustomEngineConfig` **must*
52
52
  map that mode to the CLI's read-only flag — if it cannot, the session refuses to
53
53
  start rather than silently running write-enabled.
54
54
 
55
+ Antigravity's read-only boundary remains `--mode plan` on every Planner turn,
56
+ including recovery. agy 1.1.26 can soft-deny a tool confirmation, emit a valid
57
+ conversation id, leave `result.response` blank, and still exit 0. A missing or
58
+ whitespace-only response is therefore a failed turn at the agy adapter boundary
59
+ for every caller, not a successful empty Planner reply. If the private log for
60
+ that exact turn contains agy's narrow `tool_confirmation_manager` soft-denial
61
+ marker, the caller receives a fixed, sanitized diagnosis; native log content is
62
+ never returned. The captured conversation id remains usable, so a later
63
+ operator-initiated chat resumes with `--conversation`. Recovery neither retries
64
+ the failed message automatically nor relaxes permissions. Because the failed
65
+ reply never reaches the control parser, it cannot change `plan.md` or
66
+ `goal.json`, spawn subagents, or emit an initial directive. agy 1.2.2 can instead
67
+ return a non-empty successful reply for the same soft denial; the adapter emits
68
+ the refused tool names through `SendResult.permissionDenials` while preserving
69
+ that reply.
70
+
55
71
  Coder and Reviewer engine/model choices can be overridden by the first successful
56
72
  `spawn_subagents`; later attempts to change an already-started role are rejected
57
73
  instead of silently diverging from the running session.
@@ -151,6 +167,18 @@ The Planner controls the run by emitting fenced ` ```autoloop ` JSON blocks
151
167
  inside its replies. The dispatcher parses them out and applies them. You
152
168
  never see the JSON — only the Planner's narrative.
153
169
 
170
+ These fenced reply blocks are the only Planner control channel. Native shell or
171
+ file-tool activity is never interpreted as a control, and the read-only Planner
172
+ still cannot write the artifacts directly. The dispatcher parses and validates
173
+ the complete block batch before applying any effect, including rejecting
174
+ malformed blocks and duplicate `write_plan`, `write_goal`, or
175
+ `spawn_subagents` controls. A valid batch has fixed ordering even when the
176
+ blocks appear in another order: all plan/goal bodies are staged and replaced as
177
+ one failure-atomic artifact transaction, then policy effects run, then at most
178
+ one subagent spawn runs, and only then are directive messages returned to the
179
+ runner. A staging or replacement failure restores the prior artifact bytes,
180
+ removes partial files, and suppresses both spawn and directives.
181
+
154
182
  | Tool | Args | What |
155
183
  | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
156
184
  | `notify_user` | `level` ('info' / 'warn' / 'decision' / 'error'), `summary`, `detail?`, `channel?` ('auto' / 'wechat' / 'webchat' / 'both' / 'email') | Push you out-of-band. |
@@ -133,7 +133,7 @@ await manager.startSession({
133
133
 
134
134
  Wraps Google's **Antigravity CLI** (`agy`) — the successor to Gemini CLI (consumer
135
135
  Gemini CLI tiers stopped serving 2026-06-18). Each `send()` spawns a new process
136
- in print mode. Verified against `agy` **1.1.13**.
136
+ in print mode. Adapter behavior is covered through `agy` **1.2.2**.
137
137
 
138
138
  - One-shot execution per message (no persistent subprocess)
139
139
  - **Structured output and real usage** — `--output-format stream-json` emits an
@@ -145,6 +145,18 @@ in print mode. Verified against `agy` **1.1.13**.
145
145
  scrape remains as a fallback for turns that die before emitting `init`. Seed it
146
146
  externally via `resumeSessionId` (bare UUID only); read it back from
147
147
  `getStats().agyConversationId`.
148
+ - **Empty responses fail adapter-wide and remain recoverable**: an exit-0 result
149
+ with a missing, blank, or whitespace-only response rejects instead of becoming
150
+ a successful empty reply, whether the caller is Autoloop, MCP, HTTP, or the
151
+ library API. agy 1.1.26 may do this after plan mode soft-denies a tool
152
+ confirmation. The adapter clears the per-session log before each spawn and
153
+ recognizes only the narrow current-turn `tool_confirmation_manager` marker,
154
+ returning a fixed sanitized diagnosis without exposing native log content. A
155
+ conversation id already emitted by `init` is retained for the caller's next
156
+ send; the failed turn is not retried automatically. On agy 1.2.2 the same
157
+ denial can accompany `status: SUCCESS` and a non-empty reply; the refused tool
158
+ names are emitted as `permission_denials`, which SessionManager exposes as
159
+ `SendResult.permissionDenials` without discarding the reply.
148
160
  - **Reasoning effort**: session `effort` and per-turn `session_send` overrides map
149
161
  to `--effort`. agy accepts `low`, `medium`, and `high`; everything above that
150
162
  (`xhigh`, `max`, `ultra`) clamps to `high`. agy 1.1.25 requires an effort with unsuffixed base
@@ -163,15 +175,21 @@ in print mode. Verified against `agy` **1.1.13**.
163
175
  - Permission modes: `bypassPermissions` → `--dangerously-skip-permissions`,
164
176
  `default` → `--sandbox` (terminal-restricted), and
165
177
  `sandboxMode: 'read-only'` → `--mode plan` (takes precedence). Other modes
166
- run agy's own approval flow, which blocks in headless print mode — use
167
- `bypassPermissions` for autonomous write-enabled work
178
+ run agy's own approval flow, which can block in headless print mode. A caller
179
+ must explicitly choose `bypassPermissions` for a write-enabled session; it is
180
+ not a recovery mechanism. In particular, an Autoloop Planner stays on
181
+ `--mode plan` when its preserved conversation is resumed.
168
182
  - agy enforces its own print timeout (default 5m); the engine derives
169
183
  `--print-timeout` from the send timeout so the wrapper timer decides
170
- - Unknown `--model` slugs do **not** error — agy silently falls back to its
171
- default model. Registered slugs: `gemini-3.5-flash` (alias `agy-flash`),
172
- `gemini-3.1-pro` (alias `agy-pro`); agy also proxies Claude and GPT-OSS
173
- models (`agy models` lists them) which pass through unregistered. The
174
- `agy/` prefix forces Antigravity routing for provider-like model strings
184
+ - Do not rely on an unknown `--model` falling back: current agy versions can
185
+ report `status: ERROR` with no usable response. The adapter rejects result
186
+ errors, non-success statuses, and empty responses. `agy-flash` and the engine
187
+ default resolve to `gemini-3.8-flash`; `agy-pro` resolves to
188
+ `gemini-3.1-pro`. The registry also describes the 3.5/3.6/3.7 Flash API
189
+ families for pricing and routing, but agy's own `agy models` output decides
190
+ which slugs are executable. agy also proxies Claude and GPT-OSS models, which
191
+ pass through unregistered. The `agy/` prefix forces Antigravity routing for
192
+ provider-like model strings.
175
193
  - Consumer auth is a one-time `agy` Google OAuth login (subscription quotas, no
176
194
  per-token billing — registry pricing mirrors Gemini API rates as a value proxy)
177
195
  - Requires `agy` installed: `curl -fsSL https://antigravity.google/cli/install.sh | bash`
@@ -181,7 +199,7 @@ in print mode. Verified against `agy` **1.1.13**.
181
199
  await manager.startSession({
182
200
  name: 'antigravity-task',
183
201
  engine: 'agy',
184
- model: 'gemini-3.5-flash',
202
+ model: 'gemini-3.8-flash',
185
203
  effort: 'high',
186
204
  cwd: '/project',
187
205
  });