@enderfga/claw-orchestrator 7.14.0 → 7.15.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 (137) hide show
  1. package/README.md +160 -135
  2. package/configs/autoloop-reviewer-prompt.md +1 -1
  3. package/configs/engines/README.md +31 -11
  4. package/dist/bin/acp-server.js +7 -12
  5. package/dist/bin/acp-server.js.map +1 -1
  6. package/dist/bin/cli.js +71 -40
  7. package/dist/bin/cli.js.map +1 -1
  8. package/dist/bin/mcp-server.js +2 -54
  9. package/dist/bin/mcp-server.js.map +1 -1
  10. package/dist/src/acp-server.d.ts +17 -9
  11. package/dist/src/acp-server.js +149 -30
  12. package/dist/src/acp-server.js.map +1 -1
  13. package/dist/src/autoloop/agent-tools.d.ts +2 -0
  14. package/dist/src/autoloop/agent-tools.js +7 -0
  15. package/dist/src/autoloop/agent-tools.js.map +1 -1
  16. package/dist/src/autoloop/dispatcher.d.ts +6 -0
  17. package/dist/src/autoloop/dispatcher.js +23 -1
  18. package/dist/src/autoloop/dispatcher.js.map +1 -1
  19. package/dist/src/autoloop/planner-tools.js +2 -0
  20. package/dist/src/autoloop/planner-tools.js.map +1 -1
  21. package/dist/src/council.d.ts +8 -0
  22. package/dist/src/council.js +45 -12
  23. package/dist/src/council.js.map +1 -1
  24. package/dist/src/dashboard/index.html +28 -14
  25. package/dist/src/embedded-server.js +27 -8
  26. package/dist/src/embedded-server.js.map +1 -1
  27. package/dist/src/engine-spawn.js +3 -1
  28. package/dist/src/engine-spawn.js.map +1 -1
  29. package/dist/src/fanout.d.ts +13 -3
  30. package/dist/src/fanout.js +10 -0
  31. package/dist/src/fanout.js.map +1 -1
  32. package/dist/src/inbox-manager.d.ts +9 -0
  33. package/dist/src/inbox-manager.js +8 -2
  34. package/dist/src/inbox-manager.js.map +1 -1
  35. package/dist/src/index.d.ts +2 -0
  36. package/dist/src/index.js +117 -51
  37. package/dist/src/index.js.map +1 -1
  38. package/dist/src/kernel/conditions.d.ts +1 -1
  39. package/dist/src/kernel/conditions.js +1 -1
  40. package/dist/src/kernel/engine.d.ts +28 -8
  41. package/dist/src/kernel/engine.js +93 -19
  42. package/dist/src/kernel/engine.js.map +1 -1
  43. package/dist/src/kernel/nodes/agent.js +2 -0
  44. package/dist/src/kernel/nodes/agent.js.map +1 -1
  45. package/dist/src/kernel/nodes/council.js +9 -4
  46. package/dist/src/kernel/nodes/council.js.map +1 -1
  47. package/dist/src/kernel/nodes/fanout.js +5 -0
  48. package/dist/src/kernel/nodes/fanout.js.map +1 -1
  49. package/dist/src/kernel/nodes/goal.d.ts +8 -1
  50. package/dist/src/kernel/nodes/goal.js +40 -19
  51. package/dist/src/kernel/nodes/goal.js.map +1 -1
  52. package/dist/src/kernel/nodes/subflow.js +9 -1
  53. package/dist/src/kernel/nodes/subflow.js.map +1 -1
  54. package/dist/src/kernel/nodes/ultraapp.d.ts +1 -0
  55. package/dist/src/kernel/nodes/ultraapp.js +1 -0
  56. package/dist/src/kernel/nodes/ultraapp.js.map +1 -1
  57. package/dist/src/kernel/nodes/verifier.js +5 -1
  58. package/dist/src/kernel/nodes/verifier.js.map +1 -1
  59. package/dist/src/kernel/projections.d.ts +1 -0
  60. package/dist/src/kernel/projections.js +7 -1
  61. package/dist/src/kernel/projections.js.map +1 -1
  62. package/dist/src/kernel/templates/index.d.ts +6 -3
  63. package/dist/src/kernel/templates/index.js +8 -3
  64. package/dist/src/kernel/templates/index.js.map +1 -1
  65. package/dist/src/kernel/types.d.ts +30 -10
  66. package/dist/src/kernel/types.js.map +1 -1
  67. package/dist/src/logger.d.ts +6 -0
  68. package/dist/src/logger.js +14 -0
  69. package/dist/src/logger.js.map +1 -1
  70. package/dist/src/mcp-annotations.d.ts +13 -0
  71. package/dist/src/mcp-annotations.js +100 -0
  72. package/dist/src/mcp-annotations.js.map +1 -0
  73. package/dist/src/models.d.ts +7 -0
  74. package/dist/src/models.js +9 -0
  75. package/dist/src/models.js.map +1 -1
  76. package/dist/src/openai-compat.d.ts +11 -5
  77. package/dist/src/openai-compat.js +55 -54
  78. package/dist/src/openai-compat.js.map +1 -1
  79. package/dist/src/persistent-acp-session.d.ts +7 -0
  80. package/dist/src/persistent-acp-session.js +26 -2
  81. package/dist/src/persistent-acp-session.js.map +1 -1
  82. package/dist/src/persistent-codex-app-session.d.ts +2 -0
  83. package/dist/src/persistent-codex-app-session.js +18 -9
  84. package/dist/src/persistent-codex-app-session.js.map +1 -1
  85. package/dist/src/persistent-codex-session.d.ts +14 -3
  86. package/dist/src/persistent-codex-session.js +22 -19
  87. package/dist/src/persistent-codex-session.js.map +1 -1
  88. package/dist/src/persistent-custom-session.d.ts +9 -0
  89. package/dist/src/persistent-custom-session.js +41 -21
  90. package/dist/src/persistent-custom-session.js.map +1 -1
  91. package/dist/src/persistent-grok-session.js +1 -1
  92. package/dist/src/persistent-grok-session.js.map +1 -1
  93. package/dist/src/run-ledger.d.ts +3 -3
  94. package/dist/src/session-manager.d.ts +34 -1
  95. package/dist/src/session-manager.js +160 -30
  96. package/dist/src/session-manager.js.map +1 -1
  97. package/dist/src/types.d.ts +34 -11
  98. package/dist/src/types.js.map +1 -1
  99. package/dist/src/ultraapp/build.d.ts +5 -11
  100. package/dist/src/ultraapp/build.js +5 -11
  101. package/dist/src/ultraapp/build.js.map +1 -1
  102. package/dist/src/ultraapp/council-adapter.d.ts +5 -2
  103. package/dist/src/ultraapp/council-adapter.js +6 -6
  104. package/dist/src/ultraapp/council-adapter.js.map +1 -1
  105. package/dist/src/ultraapp/files.d.ts +7 -0
  106. package/dist/src/ultraapp/files.js +7 -1
  107. package/dist/src/ultraapp/files.js.map +1 -1
  108. package/dist/src/ultraapp/manager.d.ts +23 -3
  109. package/dist/src/ultraapp/manager.js +170 -72
  110. package/dist/src/ultraapp/manager.js.map +1 -1
  111. package/dist/src/ultraapp/narrator.js +1 -1
  112. package/dist/src/ultraapp/narrator.js.map +1 -1
  113. package/dist/src/ultraapp/versions.d.ts +27 -5
  114. package/dist/src/ultraapp/versions.js +58 -13
  115. package/dist/src/ultraapp/versions.js.map +1 -1
  116. package/openclaw.plugin.json +4 -13
  117. package/package.json +13 -6
  118. package/skills/SKILL.md +52 -24
  119. package/skills/references/acp.md +140 -61
  120. package/skills/references/autoloop.md +141 -35
  121. package/skills/references/claude-cli-tracking.md +8 -6
  122. package/skills/references/cli.md +122 -93
  123. package/skills/references/council.md +44 -22
  124. package/skills/references/dashboard.md +37 -21
  125. package/skills/references/getting-started.md +49 -15
  126. package/skills/references/inbox.md +13 -8
  127. package/skills/references/mcp.md +25 -17
  128. package/skills/references/multi-engine.md +161 -145
  129. package/skills/references/observability.md +90 -58
  130. package/skills/references/openai-compat.md +172 -82
  131. package/skills/references/sessions.md +101 -65
  132. package/skills/references/tools.md +209 -158
  133. package/skills/references/ultra.md +7 -7
  134. package/skills/references/ultraapp.md +101 -56
  135. package/skills/references/verification.md +112 -56
  136. package/skills/references/workflow.md +227 -93
  137. package/assets/banner.jpg +0 -0
@@ -86,10 +86,29 @@ const ACP_COUNCIL_AGENTS = [
86
86
  /** How often the poll-only orchestrations are checked, and how long they may run. */
87
87
  const ACP_POLL_INTERVAL_MS = 3_000;
88
88
  const ACP_POLL_TIMEOUT_MS = 1_800_000;
89
- /** Slash commands offered once a council run is parked at its human gate. */
89
+ /**
90
+ * How often, and for how long, to look for a council's live handle before
91
+ * leaving it to the slow poll. The kernel publishes it within a tick or two of
92
+ * the start, so the window only bounds a manager that never does.
93
+ */
94
+ const ACP_COUNCIL_ATTACH_INTERVAL_MS = 20;
95
+ const ACP_COUNCIL_ATTACH_WINDOW_MS = 10_000;
96
+ /**
97
+ * Slash commands offered once a council run is parked at its human gate.
98
+ *
99
+ * Neither one merges anything: the agents merge their own work into the main
100
+ * branch during the rounds. Accepting cleans up after them; rejecting records
101
+ * feedback for another attempt.
102
+ */
90
103
  export const ACP_COUNCIL_COMMANDS = [
91
- { name: 'council_accept', description: 'Accept the council result and merge the winning agent worktree.' },
92
- { name: 'council_reject', description: 'Reject the council result. Text after the command is passed as feedback.' },
104
+ {
105
+ name: 'council_accept',
106
+ description: 'Accept the council result: keep what the agents merged into the main branch and remove the council worktrees, branches and plan.md.',
107
+ },
108
+ {
109
+ name: 'council_reject',
110
+ description: 'Reject the council result: rewrite plan.md with the text after the command as feedback. The worktrees are kept for a retry.',
111
+ },
93
112
  ];
94
113
  /**
95
114
  * One slash command per mode, so modes are reachable in clients that do not
@@ -130,10 +149,11 @@ const ENGINE_LABELS = {
130
149
  * a new user-facing selector would be advertising a dead end.
131
150
  *
132
151
  * `opencode` is absent for a different reason: its models are open-ended
133
- * `provider/model` strings passed straight through, so there is nothing in the
134
- * registry to enumerate. An opencode session is reachable by naming the model
135
- * at session start, just not by picking it from this list. `acp` is hidden for
136
- * the same reason: an ACP agent picks its own model.
152
+ * `provider/model` strings, so the registry holds none to enumerate, and
153
+ * `resolveEngineAndModel` never routes a model to it — a `provider/model`
154
+ * string resolves to the claude engine. This agent therefore cannot open an
155
+ * opencode session at all. `acp` is hidden because an ACP agent picks its own
156
+ * model.
137
157
  */
138
158
  const HIDDEN_ENGINES = new Set(['gemini', 'cursor', 'acp']);
139
159
  /**
@@ -168,6 +188,8 @@ export function buildModelConfigOption(currentModel) {
168
188
  })),
169
189
  };
170
190
  }
191
+ /** The permission modes the selector offers, and the only ones a client may set. */
192
+ export const ACP_PERMISSION_MODES = ['plan', 'acceptEdits', 'bypassPermissions'];
171
193
  /**
172
194
  * Permission selector.
173
195
  *
@@ -295,6 +317,7 @@ export function createAcpAgent(manager, options = {}) {
295
317
  const { sessionId, cwd } = ctx.params;
296
318
  const live = sessions.get(sessionId);
297
319
  if (live) {
320
+ await ensureEngineSession(manager, live, log);
298
321
  return {
299
322
  modes: { currentModeId: live.modeId, availableModes: ACP_MODES },
300
323
  configOptions: [buildModelConfigOption(live.model), buildPermissionConfigOption(live.permissionMode)],
@@ -373,6 +396,11 @@ export function createAcpAgent(manager, options = {}) {
373
396
  state.model = model;
374
397
  }
375
398
  else if (ctx.params.configId === ACP_CONFIG_PERMISSION) {
399
+ // The value goes straight into engine CLI flags, so only the modes the
400
+ // selector offers are accepted.
401
+ if (!ACP_PERMISSION_MODES.includes(value)) {
402
+ throw acp.RequestError.invalidParams(`Unknown permission mode: ${value}. Expected one of ${ACP_PERMISSION_MODES.join(', ')}`);
403
+ }
376
404
  state.permissionMode = value;
377
405
  await manager.stopSession(state.name, { keepPersisted: true }).catch(() => { });
378
406
  await manager.startSession({
@@ -405,8 +433,9 @@ export function createAcpAgent(manager, options = {}) {
405
433
  if (parked === 'blocked') {
406
434
  // A parked council owns the turn: falling through here started a second
407
435
  // `councilStart` over the worktrees and branches the parked one holds.
408
- await say('A council result is waiting on you. Run `/council_accept` to merge the winning worktree, ' +
409
- 'or `/council_reject [reason]` to discard it. Nothing else can run until then.');
436
+ await say('A council result is waiting on you. Run `/council_accept` to keep what the agents merged and ' +
437
+ 'remove the council worktrees, or `/council_reject [reason]` to write your feedback into plan.md. ' +
438
+ 'Nothing else can run until then.');
410
439
  return { stopReason: 'end_turn' };
411
440
  }
412
441
  if (parked === 'decided')
@@ -450,7 +479,7 @@ export function createAcpAgent(manager, options = {}) {
450
479
  // would send the answer twice, so the final block is only emitted when
451
480
  // nothing streamed — which is the case for one-shot wrappers.
452
481
  let streamedChars = 0;
453
- const turn = manager.sendMessage(state.name, task, {
482
+ const send = () => manager.sendMessage(state.name, task, {
454
483
  onChunk: (chunk) => {
455
484
  if (cancelled || !chunk)
456
485
  return;
@@ -478,6 +507,9 @@ export function createAcpAgent(manager, options = {}) {
478
507
  }
479
508
  },
480
509
  });
510
+ // A cancel that lands while a dropped session is being restarted must not
511
+ // still send the prompt once the restart finishes.
512
+ const turn = ensureEngineSession(manager, state, log).then(() => (cancelled ? undefined : send()));
481
513
  try {
482
514
  const raced = await Promise.race([turn, cancelSignal]);
483
515
  if (raced === 'cancelled')
@@ -575,6 +607,26 @@ export function cancelAcpTurn(manager, state, log) {
575
607
  .catch((err) => log?.warn(`cancel teardown failed for ${state.name}: ${String(err)}`));
576
608
  return true;
577
609
  }
610
+ /**
611
+ * Start the underlying session again if the manager has dropped it.
612
+ *
613
+ * SessionManager stops a session idle past its TTL and keeps only the persisted
614
+ * resume handle, while the ACP session outlives it here. Starting it again by
615
+ * name resumes the engine's conversation, so the client sees the same session
616
+ * carry on rather than a "not found".
617
+ */
618
+ async function ensureEngineSession(manager, state, log) {
619
+ if (!manager.hasSession || manager.hasSession(state.name))
620
+ return;
621
+ log?.info(`restarting ${state.name}: the session layer dropped it while idle`);
622
+ await manager.startSession({
623
+ name: state.name,
624
+ cwd: state.cwd,
625
+ engine: state.engine,
626
+ model: state.model,
627
+ permissionMode: state.permissionMode,
628
+ });
629
+ }
578
630
  /**
579
631
  * Run a council behind one ACP turn.
580
632
  *
@@ -606,14 +658,24 @@ async function runCouncilMode(manager, state, sessionId, task, emit, say, log) {
606
658
  });
607
659
  }
608
660
  catch (err) {
609
- // Council refuses to run outside a git repo, on a too-short task, and on a
610
- // few other guardrails. Those are the caller's problem to fix, so report the
611
- // reason rather than a bare failure.
661
+ // Only a spec the kernel refuses outright throws here. The council's own
662
+ // guardrails run inside the run and are read back from it below.
612
663
  throw acp.RequestError.invalidParams(`Council could not start: ${err.message}`);
613
664
  }
614
665
  const buffers = new Map();
615
666
  const toolCallId = (agent, round) => `${sessionId}-${agent}-r${round ?? 0}`;
616
- const emitter = manager.getCouncil(council.id);
667
+ const abort = () => {
668
+ try {
669
+ manager.councilAbort?.(council.id);
670
+ }
671
+ catch (err) {
672
+ log?.warn(`council ${council.id} abort failed: ${String(err)}`);
673
+ }
674
+ };
675
+ let cancelled = false;
676
+ /** Why the run failed, when the council said so in an event. */
677
+ let failure;
678
+ let attach;
617
679
  let poll;
618
680
  let timeout;
619
681
  const terminal = new Promise((resolve) => {
@@ -622,16 +684,20 @@ async function runCouncilMode(manager, state, sessionId, task, emit, say, log) {
622
684
  if (settled)
623
685
  return;
624
686
  settled = true;
625
- // Clear here rather than after the await: the backstop poll and the
626
- // 30-minute cap must stop the moment the run is over, or every council
627
- // turn leaves a live timer behind for the rest of the process's life.
687
+ // Clear here rather than after the await: the polls and the 30-minute cap
688
+ // must stop the moment the run is over, or every council turn leaves a
689
+ // live timer behind for the rest of the process's life.
690
+ if (attach)
691
+ clearInterval(attach);
628
692
  if (poll)
629
693
  clearInterval(poll);
630
694
  if (timeout)
631
695
  clearTimeout(timeout);
632
696
  resolve();
633
697
  };
634
- emitter?.on('council-event', (event) => {
698
+ const onEvent = (event) => {
699
+ if (settled)
700
+ return;
635
701
  const agent = event.agent ?? 'agent';
636
702
  switch (event.type) {
637
703
  case 'round-start':
@@ -670,6 +736,19 @@ async function runCouncilMode(manager, state, sessionId, task, emit, say, log) {
670
736
  break;
671
737
  }
672
738
  case 'error':
739
+ // An event naming an agent is that agent failing its round; the
740
+ // council carries on with the others. Only an unattributed error ends
741
+ // the run.
742
+ if (event.agent) {
743
+ void emit({
744
+ sessionUpdate: 'tool_call_update',
745
+ toolCallId: toolCallId(agent, event.round),
746
+ status: 'failed',
747
+ content: [{ type: 'content', content: { type: 'text', text: event.error ?? 'failed' } }],
748
+ });
749
+ break;
750
+ }
751
+ failure = event.error;
673
752
  log?.warn(`council ${council.id} error: ${event.error ?? 'unknown'}`);
674
753
  done();
675
754
  break;
@@ -679,37 +758,75 @@ async function runCouncilMode(manager, state, sessionId, task, emit, say, log) {
679
758
  default:
680
759
  break;
681
760
  }
682
- });
761
+ };
762
+ // The kernel publishes the live council from inside its node, after
763
+ // `councilStart` has returned, so the first lookup usually misses. It is
764
+ // retried on a short interval until it finds the council; the first round
765
+ // opens only once the worktrees are set up, so attaching this late still
766
+ // sees every event translated above.
767
+ //
683
768
  // The emitter is live-only with no replay buffer, and a run that finishes
684
- // before the first listener attaches would never resolve. Polling the status
685
- // is the backstop; it is also how the parked state is detected, because
686
- // parking is a status, not an event.
687
- poll = setInterval(() => {
769
+ // before the listener attaches would never resolve. Reading the status is
770
+ // the backstop; it is also how the parked state is detected, because parking
771
+ // is a status, not an event.
772
+ let emitter;
773
+ const check = () => {
774
+ if (!emitter) {
775
+ emitter = manager.getCouncil?.(council.id);
776
+ emitter?.on('council-event', onEvent);
777
+ if (emitter && attach)
778
+ clearInterval(attach);
779
+ }
688
780
  const snapshot = manager.councilStatus?.(council.id);
689
781
  if (snapshot && snapshot.status !== 'running')
690
782
  done();
691
- }, ACP_POLL_INTERVAL_MS);
783
+ };
784
+ const attachUntil = Date.now() + ACP_COUNCIL_ATTACH_WINDOW_MS;
785
+ attach = setInterval(() => {
786
+ check();
787
+ if (attach && Date.now() > attachUntil)
788
+ clearInterval(attach);
789
+ }, ACP_COUNCIL_ATTACH_INTERVAL_MS);
790
+ poll = setInterval(check, ACP_POLL_INTERVAL_MS);
692
791
  timeout = setTimeout(() => {
693
- manager.councilAbort?.(council.id);
792
+ abort();
694
793
  done();
695
794
  }, ACP_POLL_TIMEOUT_MS);
696
795
  state.cancelInFlight = () => {
697
- manager.councilAbort?.(council.id);
796
+ cancelled = true;
698
797
  done();
798
+ abort();
699
799
  };
800
+ check();
700
801
  });
701
802
  await terminal;
702
803
  state.cancelInFlight = undefined;
804
+ // ACP v1 ends a cancelled prompt with `cancelled`, whatever the run reports.
805
+ if (cancelled)
806
+ return { stopReason: 'cancelled' };
703
807
  const final = manager.councilStatus(council.id);
808
+ const reason = failure ?? final?.error ?? 'unknown error';
809
+ if (final?.status === 'error' && !final.responses?.length) {
810
+ // No agent ever answered: the task, the directory or the agents were
811
+ // refused. Those are the caller's to fix, so the reason goes back as the
812
+ // error rather than as a turn that seemed to run.
813
+ throw acp.RequestError.invalidParams(`Council could not start: ${reason}`);
814
+ }
704
815
  const summary = final?.finalSummary?.trim();
705
- await say(summary || `Council finished with status '${final?.status ?? 'unknown'}' and produced no summary.`);
816
+ if (final?.status === 'error') {
817
+ await say(`Council failed: ${reason}${summary ? `\n\n${summary}` : ''}`);
818
+ }
819
+ else {
820
+ await say(summary || `Council finished with status '${final?.status ?? 'unknown'}' and produced no summary.`);
821
+ }
706
822
  // Consensus parks the run for a human decision rather than completing it, so
707
823
  // the ACP turn ends at the gate and the decision becomes a slash command.
708
824
  if (final?.status === 'awaiting_user') {
709
825
  state.parkedCouncilId = council.id;
710
826
  await emit({ sessionUpdate: 'available_commands_update', availableCommands: ACP_COUNCIL_COMMANDS });
711
827
  await say('\n\nThe council reached consensus and is holding its worktrees for you. ' +
712
- 'Send `/council_accept` to merge the result, or `/council_reject <feedback>` to discard it.');
828
+ 'Send `/council_accept` to keep what the agents merged into the main branch and clean up, ' +
829
+ 'or `/council_reject <feedback>` to write your feedback into plan.md for a retry.');
713
830
  }
714
831
  return { stopReason: final?.status === 'error' ? 'refusal' : 'end_turn' };
715
832
  }
@@ -758,6 +875,7 @@ async function runPollingMode(manager, state, task, emit, say) {
758
875
  await say(body);
759
876
  return { stopReason: 'end_turn' };
760
877
  }
878
+ /** Apply `/council_accept` or `/council_reject` to a parked run. */
761
879
  export async function resolveParkedCouncil(manager, state, command, say, emit) {
762
880
  const id = state.parkedCouncilId;
763
881
  // Three outcomes, not two. `false` used to mean both "no council is parked"
@@ -770,11 +888,12 @@ export async function resolveParkedCouncil(manager, state, command, say, emit) {
770
888
  return 'blocked';
771
889
  if (command.name === 'council_accept') {
772
890
  await manager.councilAccept?.(id);
773
- await say('Council result accepted; the winning worktree has been merged.');
891
+ await say('Council result accepted. What the agents merged into the main branch stays; ' +
892
+ 'the council worktrees, branches and plan.md have been removed.');
774
893
  }
775
894
  else if (command.name === 'council_reject') {
776
895
  await manager.councilReject?.(id, command.rest || 'rejected via ACP');
777
- await say('Council result rejected and its worktrees discarded.');
896
+ await say('Council result rejected. plan.md now carries your feedback, and the worktrees are kept for a retry.');
778
897
  }
779
898
  else {
780
899
  return 'blocked';
@@ -1 +1 @@
1
- {"version":3,"file":"acp-server.js","sourceRoot":"","sources":["../../src/acp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acp-server.js","sourceRoot":"","sources":["../../src/acp-server.ts"],"names":[],"mappings":"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"}
@@ -40,5 +40,7 @@ export interface ReviewCompletePayload {
40
40
  /** Find the *last* iter_complete block (per coder prompt: at most one expected). */
41
41
  export declare function extractIterComplete(calls: AgentToolCall[]): IterCompletePayload | null;
42
42
  export declare function extractReviewComplete(calls: AgentToolCall[]): ReviewCompletePayload | null;
43
+ /** Every `coder_log` / `reviewer_log` message, in order; a blank or non-string one is skipped. */
44
+ export declare function extractLogMessages(calls: AgentToolCall[], tool: 'coder_log' | 'reviewer_log'): string[];
43
45
  /** Convenience: find first request_clarification, if any. */
44
46
  export declare function extractClarification(calls: AgentToolCall[]): string | null;
@@ -60,6 +60,13 @@ export function extractReviewComplete(calls) {
60
60
  const flags = Array.isArray(flagsRaw) ? flagsRaw.filter((x) => typeof x === 'string') : undefined;
61
61
  return { decision: dec, metric, audit_notes, flags };
62
62
  }
63
+ /** Every `coder_log` / `reviewer_log` message, in order; a blank or non-string one is skipped. */
64
+ export function extractLogMessages(calls, tool) {
65
+ return calls
66
+ .filter((c) => c.tool === tool)
67
+ .map((c) => c.args.message)
68
+ .filter((m) => typeof m === 'string' && m.trim() !== '');
69
+ }
63
70
  /** Convenience: find first request_clarification, if any. */
64
71
  export function extractClarification(calls) {
65
72
  const m = calls.find((c) => c.tool === 'request_clarification');
@@ -1 +1 @@
1
- {"version":3,"file":"agent-tools.js","sourceRoot":"","sources":["../../../src/autoloop/agent-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-tools.js","sourceRoot":"","sources":["../../../src/autoloop/agent-tools.ts"],"names":[],"mappings":"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"}
@@ -241,6 +241,12 @@ export declare class ClaudeAgentDispatcher extends EventEmitter implements Agent
241
241
  * passes, and policy-silence attempts that we rejected.
242
242
  */
243
243
  private appendDecisionLog;
244
+ /**
245
+ * Append a role's `coder_log` / `reviewer_log` entries, one JSONL row each.
246
+ * The prompts route these through the tool rather than a file write (the
247
+ * Coder may not touch `tasks/`), so this is the only writer. Best-effort.
248
+ */
249
+ private appendRoleLog;
244
250
  /**
245
251
  * Append a Planner-pane chat entry to <ledger>/chat.jsonl. Used by the
246
252
  * dashboard's GET /autoloop/<id>/chat_history endpoint so a browser
@@ -30,7 +30,7 @@ import { writeEvidence } from '../verify/evidence.js';
30
30
  import { Msg } from './messages.js';
31
31
  import { DEFAULT_SEND_TIMEOUT_MS, LEDGER_SCHEMA_VERSION, validateAutoloopTimeoutConfig, } from './types.js';
32
32
  import { applyPlannerToolCalls, parsePlannerReply, } from './planner-tools.js';
33
- import { extractIterComplete, extractReviewComplete, parseAgentReply } from './agent-tools.js';
33
+ import { extractIterComplete, extractLogMessages, extractReviewComplete, parseAgentReply } from './agent-tools.js';
34
34
  /**
35
35
  * Character budget for the replayed transcript handed to engines without native
36
36
  * conversation (see hasNativeConversation). Oldest turns are dropped first, so a
@@ -283,6 +283,8 @@ export class ClaudeAgentDispatcher extends EventEmitter {
283
283
  if (selection.engine === 'custom' && !selection.customEngine) {
284
284
  throw new Error(`${label} custom engine config is required`);
285
285
  }
286
+ if (selection.engine === 'acp')
287
+ throw new Error(`${label} engine 'acp' is not supported by Autoloop`);
286
288
  }
287
289
  /**
288
290
  * Stop a session we started during a failed spawn. Returns true only when the
@@ -606,6 +608,23 @@ export class ClaudeAgentDispatcher extends EventEmitter {
606
608
  this.logger.warn?.(`[autoloop] decisions.jsonl append failed: ${err.message}`);
607
609
  }
608
610
  }
611
+ /**
612
+ * Append a role's `coder_log` / `reviewer_log` entries, one JSONL row each.
613
+ * The prompts route these through the tool rather than a file write (the
614
+ * Coder may not touch `tasks/`), so this is the only writer. Best-effort.
615
+ */
616
+ appendRoleLog(file, iter, messages) {
617
+ if (messages.length === 0)
618
+ return;
619
+ try {
620
+ fs.mkdirSync(path.dirname(file), { recursive: true });
621
+ const ts = new Date().toISOString();
622
+ fs.appendFileSync(file, messages.map((message) => JSON.stringify({ ts, iter, message }) + '\n').join(''));
623
+ }
624
+ catch (err) {
625
+ this.logger.warn?.(`[autoloop] ${path.basename(file)} append failed: ${err.message}`);
626
+ }
627
+ }
609
628
  /**
610
629
  * Append a Planner-pane chat entry to <ledger>/chat.jsonl. Used by the
611
630
  * dashboard's GET /autoloop/<id>/chat_history endpoint so a browser
@@ -1081,6 +1100,7 @@ export class ClaudeAgentDispatcher extends EventEmitter {
1081
1100
  ts: new Date().toISOString(),
1082
1101
  });
1083
1102
  }
1103
+ this.appendRoleLog(path.join(this.ledgerDir, 'coder_log.jsonl'), env.iter, extractLogMessages(parsed.calls, 'coder_log'));
1084
1104
  const ic = extractIterComplete(parsed.calls);
1085
1105
  if (!ic) {
1086
1106
  // No iter_complete emitted — could be a clarification request. Return a
@@ -1297,6 +1317,8 @@ export class ClaudeAgentDispatcher extends EventEmitter {
1297
1317
  ts: new Date().toISOString(),
1298
1318
  });
1299
1319
  }
1320
+ // In the sandbox, where it survives restaging and the Reviewer can reread it.
1321
+ this.appendRoleLog(path.join(this.reviewerSandboxDir, 'reviewer_log.jsonl'), env.payload.iter, extractLogMessages(parsed.calls, 'reviewer_log'));
1300
1322
  const rc = extractReviewComplete(parsed.calls);
1301
1323
  if (!rc) {
1302
1324
  // Reviewer didn't emit a verdict — treat as 'hold' with the cleaned