@enderfga/claw-orchestrator 7.13.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 (143) hide show
  1. package/README.md +163 -137
  2. package/configs/autoloop-reviewer-prompt.md +1 -1
  3. package/configs/engines/README.md +45 -5
  4. package/configs/engines/dsh.json +17 -0
  5. package/configs/engines/kimi-code.json +17 -0
  6. package/dist/bin/acp-server.js +7 -12
  7. package/dist/bin/acp-server.js.map +1 -1
  8. package/dist/bin/cli.js +127 -67
  9. package/dist/bin/cli.js.map +1 -1
  10. package/dist/bin/mcp-server.js +2 -54
  11. package/dist/bin/mcp-server.js.map +1 -1
  12. package/dist/src/acp-server.d.ts +17 -9
  13. package/dist/src/acp-server.js +151 -30
  14. package/dist/src/acp-server.js.map +1 -1
  15. package/dist/src/autoloop/agent-tools.d.ts +2 -0
  16. package/dist/src/autoloop/agent-tools.js +7 -0
  17. package/dist/src/autoloop/agent-tools.js.map +1 -1
  18. package/dist/src/autoloop/dispatcher.d.ts +6 -0
  19. package/dist/src/autoloop/dispatcher.js +23 -1
  20. package/dist/src/autoloop/dispatcher.js.map +1 -1
  21. package/dist/src/autoloop/planner-tools.js +2 -0
  22. package/dist/src/autoloop/planner-tools.js.map +1 -1
  23. package/dist/src/council.d.ts +8 -0
  24. package/dist/src/council.js +45 -12
  25. package/dist/src/council.js.map +1 -1
  26. package/dist/src/dashboard/index.html +28 -14
  27. package/dist/src/embedded-server.js +34 -10
  28. package/dist/src/embedded-server.js.map +1 -1
  29. package/dist/src/engine-presets.d.ts +7 -3
  30. package/dist/src/engine-presets.js +39 -6
  31. package/dist/src/engine-presets.js.map +1 -1
  32. package/dist/src/engine-spawn.js +3 -1
  33. package/dist/src/engine-spawn.js.map +1 -1
  34. package/dist/src/fanout.d.ts +13 -3
  35. package/dist/src/fanout.js +10 -0
  36. package/dist/src/fanout.js.map +1 -1
  37. package/dist/src/inbox-manager.d.ts +9 -0
  38. package/dist/src/inbox-manager.js +8 -2
  39. package/dist/src/inbox-manager.js.map +1 -1
  40. package/dist/src/index.d.ts +2 -0
  41. package/dist/src/index.js +136 -52
  42. package/dist/src/index.js.map +1 -1
  43. package/dist/src/kernel/conditions.d.ts +1 -1
  44. package/dist/src/kernel/conditions.js +1 -1
  45. package/dist/src/kernel/engine.d.ts +28 -8
  46. package/dist/src/kernel/engine.js +93 -19
  47. package/dist/src/kernel/engine.js.map +1 -1
  48. package/dist/src/kernel/nodes/agent.js +2 -0
  49. package/dist/src/kernel/nodes/agent.js.map +1 -1
  50. package/dist/src/kernel/nodes/council.js +9 -4
  51. package/dist/src/kernel/nodes/council.js.map +1 -1
  52. package/dist/src/kernel/nodes/fanout.js +5 -0
  53. package/dist/src/kernel/nodes/fanout.js.map +1 -1
  54. package/dist/src/kernel/nodes/goal.d.ts +8 -1
  55. package/dist/src/kernel/nodes/goal.js +40 -19
  56. package/dist/src/kernel/nodes/goal.js.map +1 -1
  57. package/dist/src/kernel/nodes/subflow.js +9 -1
  58. package/dist/src/kernel/nodes/subflow.js.map +1 -1
  59. package/dist/src/kernel/nodes/ultraapp.d.ts +1 -0
  60. package/dist/src/kernel/nodes/ultraapp.js +1 -0
  61. package/dist/src/kernel/nodes/ultraapp.js.map +1 -1
  62. package/dist/src/kernel/nodes/verifier.js +5 -1
  63. package/dist/src/kernel/nodes/verifier.js.map +1 -1
  64. package/dist/src/kernel/projections.d.ts +1 -0
  65. package/dist/src/kernel/projections.js +7 -1
  66. package/dist/src/kernel/projections.js.map +1 -1
  67. package/dist/src/kernel/templates/index.d.ts +6 -3
  68. package/dist/src/kernel/templates/index.js +8 -3
  69. package/dist/src/kernel/templates/index.js.map +1 -1
  70. package/dist/src/kernel/types.d.ts +30 -10
  71. package/dist/src/kernel/types.js.map +1 -1
  72. package/dist/src/logger.d.ts +6 -0
  73. package/dist/src/logger.js +14 -0
  74. package/dist/src/logger.js.map +1 -1
  75. package/dist/src/mcp-annotations.d.ts +13 -0
  76. package/dist/src/mcp-annotations.js +100 -0
  77. package/dist/src/mcp-annotations.js.map +1 -0
  78. package/dist/src/models.d.ts +7 -0
  79. package/dist/src/models.js +9 -0
  80. package/dist/src/models.js.map +1 -1
  81. package/dist/src/openai-compat.d.ts +11 -5
  82. package/dist/src/openai-compat.js +55 -54
  83. package/dist/src/openai-compat.js.map +1 -1
  84. package/dist/src/persistent-acp-session.d.ts +83 -0
  85. package/dist/src/persistent-acp-session.js +433 -0
  86. package/dist/src/persistent-acp-session.js.map +1 -0
  87. package/dist/src/persistent-codex-app-session.d.ts +2 -0
  88. package/dist/src/persistent-codex-app-session.js +18 -9
  89. package/dist/src/persistent-codex-app-session.js.map +1 -1
  90. package/dist/src/persistent-codex-session.d.ts +14 -3
  91. package/dist/src/persistent-codex-session.js +22 -19
  92. package/dist/src/persistent-codex-session.js.map +1 -1
  93. package/dist/src/persistent-custom-session.d.ts +9 -0
  94. package/dist/src/persistent-custom-session.js +41 -21
  95. package/dist/src/persistent-custom-session.js.map +1 -1
  96. package/dist/src/persistent-grok-session.js +1 -1
  97. package/dist/src/persistent-grok-session.js.map +1 -1
  98. package/dist/src/run-ledger.d.ts +3 -3
  99. package/dist/src/session-manager.d.ts +34 -1
  100. package/dist/src/session-manager.js +169 -30
  101. package/dist/src/session-manager.js.map +1 -1
  102. package/dist/src/types.d.ts +63 -12
  103. package/dist/src/types.js +2 -0
  104. package/dist/src/types.js.map +1 -1
  105. package/dist/src/ultraapp/build.d.ts +5 -11
  106. package/dist/src/ultraapp/build.js +5 -11
  107. package/dist/src/ultraapp/build.js.map +1 -1
  108. package/dist/src/ultraapp/council-adapter.d.ts +5 -2
  109. package/dist/src/ultraapp/council-adapter.js +6 -6
  110. package/dist/src/ultraapp/council-adapter.js.map +1 -1
  111. package/dist/src/ultraapp/files.d.ts +7 -0
  112. package/dist/src/ultraapp/files.js +7 -1
  113. package/dist/src/ultraapp/files.js.map +1 -1
  114. package/dist/src/ultraapp/manager.d.ts +23 -3
  115. package/dist/src/ultraapp/manager.js +170 -72
  116. package/dist/src/ultraapp/manager.js.map +1 -1
  117. package/dist/src/ultraapp/narrator.js +1 -1
  118. package/dist/src/ultraapp/narrator.js.map +1 -1
  119. package/dist/src/ultraapp/versions.d.ts +27 -5
  120. package/dist/src/ultraapp/versions.js +58 -13
  121. package/dist/src/ultraapp/versions.js.map +1 -1
  122. package/openclaw.plugin.json +4 -13
  123. package/package.json +13 -6
  124. package/skills/SKILL.md +52 -24
  125. package/skills/references/acp.md +140 -57
  126. package/skills/references/autoloop.md +141 -35
  127. package/skills/references/claude-cli-tracking.md +9 -6
  128. package/skills/references/cli.md +129 -91
  129. package/skills/references/council.md +44 -22
  130. package/skills/references/dashboard.md +37 -21
  131. package/skills/references/getting-started.md +49 -15
  132. package/skills/references/inbox.md +13 -8
  133. package/skills/references/mcp.md +25 -17
  134. package/skills/references/multi-engine.md +180 -144
  135. package/skills/references/observability.md +90 -58
  136. package/skills/references/openai-compat.md +172 -82
  137. package/skills/references/sessions.md +101 -65
  138. package/skills/references/tools.md +209 -157
  139. package/skills/references/ultra.md +7 -7
  140. package/skills/references/ultraapp.md +101 -56
  141. package/skills/references/verification.md +112 -56
  142. package/skills/references/workflow.md +227 -93
  143. package/assets/banner.jpg +0 -0
@@ -26,63 +26,11 @@ import { createRequire } from 'node:module';
26
26
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
27
27
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
28
28
  import { ListToolsRequestSchema, CallToolRequestSchema } from '@modelcontextprotocol/sdk/types.js';
29
+ import { TOOL_ANNOTATIONS } from '../src/mcp-annotations.js';
29
30
  // The plugin lazily starts EmbeddedServer on first tool call unless this is
30
31
  // set. Set before importing so the env is seen on the very first invocation.
31
32
  process.env.CLAWO_NO_EMBEDDED_SERVER ??= '1';
32
33
  const { default: plugin } = await import('../src/index.js');
33
- // Hand-curated hints. MCP hosts surface these to the model so it can pick
34
- // safer tools first (Hermes / Cursor / Claude Desktop all read them).
35
- //
36
- // readOnly — does not mutate workspace, sessions, files, or branches
37
- // destructive — irreversible side-effects (delete worktree, drop branch, kill process)
38
- // openWorld — touches things outside the local machine (model APIs)
39
- const ANNOTATIONS = {
40
- // pure reads
41
- session_list: { readOnlyHint: true, idempotentHint: true },
42
- sessions_overview: { readOnlyHint: true, idempotentHint: true },
43
- coding_session_status: { readOnlyHint: true, idempotentHint: true },
44
- session_grep: { readOnlyHint: true, idempotentHint: true },
45
- session_inbox: { readOnlyHint: true, idempotentHint: true },
46
- coding_agents_list: { readOnlyHint: true, idempotentHint: true },
47
- team_list: { readOnlyHint: true, idempotentHint: true },
48
- council_status: { readOnlyHint: true, idempotentHint: true },
49
- council_review: { readOnlyHint: true, idempotentHint: true },
50
- ultraplan_status: { readOnlyHint: true, idempotentHint: true },
51
- ultrareview_status: { readOnlyHint: true, idempotentHint: true },
52
- autoloop_status: { readOnlyHint: true, idempotentHint: true },
53
- autoloop_list: { readOnlyHint: true, idempotentHint: true },
54
- codex_goal_get: { readOnlyHint: true, idempotentHint: true },
55
- // destructive
56
- session_stop: { destructiveHint: true },
57
- council_abort: { destructiveHint: true },
58
- council_accept: { destructiveHint: true },
59
- council_reject: { destructiveHint: true },
60
- autoloop_stop: { destructiveHint: true },
61
- project_purge: { destructiveHint: true },
62
- // mutating + open-world (call external model APIs)
63
- session_start: { openWorldHint: true },
64
- session_send: { openWorldHint: true },
65
- session_handoff: { openWorldHint: true },
66
- team_send: { openWorldHint: true },
67
- session_send_to: { openWorldHint: true },
68
- session_deliver_inbox: { openWorldHint: true },
69
- council_start: { openWorldHint: true },
70
- council_inject: { openWorldHint: true },
71
- ultraplan_start: { openWorldHint: true },
72
- ultrareview_start: { openWorldHint: true },
73
- autoloop_start: { openWorldHint: true },
74
- autoloop_chat: { openWorldHint: true },
75
- autoloop_reset_agent: {},
76
- codex_resume: { openWorldHint: true },
77
- codex_review: { openWorldHint: true },
78
- codex_goal_set: { openWorldHint: true },
79
- codex_goal_pause: {},
80
- codex_goal_resume: { openWorldHint: true },
81
- codex_goal_clear: {},
82
- session_compact: { openWorldHint: true },
83
- session_update_tools: {},
84
- session_switch_model: {},
85
- };
86
34
  const log = {
87
35
  info: (...args) => console.error('[clawo-mcp]', ...args),
88
36
  warn: (...args) => console.error('[clawo-mcp]', ...args),
@@ -136,7 +84,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
136
84
  name: t.name,
137
85
  description: t.description,
138
86
  inputSchema: t.parameters,
139
- ...(ANNOTATIONS[t.name] ? { annotations: ANNOTATIONS[t.name] } : {}),
87
+ ...(TOOL_ANNOTATIONS[t.name] ? { annotations: TOOL_ANNOTATIONS[t.name] } : {}),
140
88
  })),
141
89
  }));
142
90
  server.setRequestHandler(CallToolRequestSchema, async (req) => {
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../bin/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../bin/mcp-server.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEnG,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,4EAA4E;AAC5E,6EAA6E;AAC7E,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,GAAG,CAAC;AAE7C,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAmB5D,MAAM,GAAG,GAAG;IACV,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC;IACnE,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC;IACnE,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC;CACrE,CAAC;AAEF,MAAM,QAAQ,GAAc,EAAE,CAAC;AAE/B,MAAM,IAAI,GAAG;IACX,YAAY,EAAE,EAAE;IAChB,MAAM,EAAE,GAAG;IACX,YAAY,EAAE,CAAC,GAAY,EAAE,EAAE;QAC7B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,EAAE,EAAE,GAAG,EAAE,GAAE,CAAC;IACZ,iBAAiB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC3B,eAAe,EAAE,GAAG,EAAE,GAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,CAAC,QAAQ,CAAC,IAAwD,CAAC,CAAC;AAE1E,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC7D,MAAM,OAAO,GAAG,SAAS;IACvB,CAAC,CAAC,IAAI,GAAG,CACL,SAAS;SACN,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CACnB;IACH,CAAC,CAAC,IAAI,CAAC;AAET,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAE/E,IAAI,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IAClC,GAAG,CAAC,IAAI,CAAC,qDAAqD,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1G,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,gEAAgE;QAChE,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAyB,CAAC;QACzF,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,WAAW,GAAG,UAAU,EAAE,CAAC;AAEjC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAEhH,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC5D,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,WAAW,EAAE,CAAC,CAAC,UAA2F;QAC1G,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/E,CAAC,CAAC;CACJ,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;SACtE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAA4B,CAAC,CAAC;QAChH,4EAA4E;QAC5E,4EAA4E;QAC5E,2EAA2E;QAC3E,8EAA8E;QAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;SACvC,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAEhC,GAAG,CAAC,IAAI,CAAC,+BAA+B,KAAK,CAAC,MAAM,OAAO,QAAQ,CAAC,MAAM,mBAAmB,CAAC,CAAC"}
@@ -34,6 +34,10 @@ interface OrchestrationSnapshot {
34
34
  findings?: string;
35
35
  error?: string;
36
36
  }
37
+ /** The part of a live `Council` this adapter listens to. */
38
+ interface CouncilEmitter {
39
+ on(event: string, cb: (e: CouncilEvent) => void): unknown;
40
+ }
37
41
  /**
38
42
  * SessionManager-like interface to avoid circular imports.
39
43
  *
@@ -65,6 +69,8 @@ interface SessionManagerLike {
65
69
  stopSession(name: string, opts?: {
66
70
  keepPersisted?: boolean;
67
71
  }): Promise<void>;
72
+ /** Whether the session is live in memory; one idle past the manager's TTL is not. */
73
+ hasSession?(name: string): boolean;
68
74
  /** The sessions on disk that can be resumed by name; see `session/resume`. */
69
75
  listPersistedSessions?(): Array<{
70
76
  name: string;
@@ -86,9 +92,7 @@ interface SessionManagerLike {
86
92
  councilAbort?(id: string): void;
87
93
  councilAccept?(id: string): Promise<unknown>;
88
94
  councilReject?(id: string, feedback: string): Promise<unknown>;
89
- getCouncil?(id: string): {
90
- on(event: string, cb: (e: CouncilEvent) => void): unknown;
91
- } | undefined;
95
+ getCouncil?(id: string): CouncilEmitter | undefined;
92
96
  ultraplanStart?(task: string, opts?: {
93
97
  model?: string;
94
98
  cwd?: string;
@@ -129,7 +133,13 @@ export declare const ACP_DEFAULT_MODE = "single";
129
133
  * library defaults, which still reference the retired Gemini CLI.
130
134
  */
131
135
  export declare const ACP_COUNCIL_MAX_ROUNDS = 3;
132
- /** Slash commands offered once a council run is parked at its human gate. */
136
+ /**
137
+ * Slash commands offered once a council run is parked at its human gate.
138
+ *
139
+ * Neither one merges anything: the agents merge their own work into the main
140
+ * branch during the rounds. Accepting cleans up after them; rejecting records
141
+ * feedback for another attempt.
142
+ */
133
143
  export declare const ACP_COUNCIL_COMMANDS: {
134
144
  name: string;
135
145
  description: string;
@@ -160,6 +170,8 @@ export declare const ACP_CONFIG_PERMISSION = "permission";
160
170
  * added there shows up here with no extra wiring.
161
171
  */
162
172
  export declare function buildModelConfigOption(currentModel: string): acp.SessionConfigOption;
173
+ /** The permission modes the selector offers, and the only ones a client may set. */
174
+ export declare const ACP_PERMISSION_MODES: readonly PermissionMode[];
163
175
  /**
164
176
  * Permission selector.
165
177
  *
@@ -228,17 +240,13 @@ export declare function emitImages(images: Array<{
228
240
  export declare function cancelAcpTurn(manager: SessionManagerLike, state: AcpSessionState, log?: Logger): boolean;
229
241
  type Emit = (update: Record<string, unknown>) => Promise<void>;
230
242
  type Say = (text: string) => Promise<void>;
231
- /**
232
- * Apply `/council_accept` or `/council_reject` to a parked run.
233
- *
234
- * Returns true when the prompt was a decision and the turn is finished.
235
- */
236
243
  /**
237
244
  * What a prompt did to a parked council: nothing was parked, the prompt decided
238
245
  * it, or one is parked and the prompt was not a decision — which is a stop, not
239
246
  * a pass-through.
240
247
  */
241
248
  export type ParkedCouncilOutcome = 'none' | 'decided' | 'blocked';
249
+ /** Apply `/council_accept` or `/council_reject` to a parked run. */
242
250
  export declare function resolveParkedCouncil(manager: SessionManagerLike, state: AcpSessionState, command: {
243
251
  name: string;
244
252
  rest: string;
@@ -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
@@ -119,6 +138,7 @@ const ENGINE_LABELS = {
119
138
  cursor: 'Cursor',
120
139
  opencode: 'OpenCode',
121
140
  custom: 'Custom',
141
+ acp: 'ACP agent',
122
142
  };
123
143
  /**
124
144
  * Engines kept out of the picker.
@@ -129,11 +149,13 @@ const ENGINE_LABELS = {
129
149
  * a new user-facing selector would be advertising a dead end.
130
150
  *
131
151
  * `opencode` is absent for a different reason: its models are open-ended
132
- * `provider/model` strings passed straight through, so there is nothing in the
133
- * registry to enumerate. An opencode session is reachable by naming the model
134
- * at session start, just not by picking it from this list.
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.
135
157
  */
136
- const HIDDEN_ENGINES = new Set(['gemini', 'cursor']);
158
+ const HIDDEN_ENGINES = new Set(['gemini', 'cursor', 'acp']);
137
159
  /**
138
160
  * The cross-engine model selector, grouped by engine.
139
161
  *
@@ -166,6 +188,8 @@ export function buildModelConfigOption(currentModel) {
166
188
  })),
167
189
  };
168
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'];
169
193
  /**
170
194
  * Permission selector.
171
195
  *
@@ -293,6 +317,7 @@ export function createAcpAgent(manager, options = {}) {
293
317
  const { sessionId, cwd } = ctx.params;
294
318
  const live = sessions.get(sessionId);
295
319
  if (live) {
320
+ await ensureEngineSession(manager, live, log);
296
321
  return {
297
322
  modes: { currentModeId: live.modeId, availableModes: ACP_MODES },
298
323
  configOptions: [buildModelConfigOption(live.model), buildPermissionConfigOption(live.permissionMode)],
@@ -371,6 +396,11 @@ export function createAcpAgent(manager, options = {}) {
371
396
  state.model = model;
372
397
  }
373
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
+ }
374
404
  state.permissionMode = value;
375
405
  await manager.stopSession(state.name, { keepPersisted: true }).catch(() => { });
376
406
  await manager.startSession({
@@ -403,8 +433,9 @@ export function createAcpAgent(manager, options = {}) {
403
433
  if (parked === 'blocked') {
404
434
  // A parked council owns the turn: falling through here started a second
405
435
  // `councilStart` over the worktrees and branches the parked one holds.
406
- await say('A council result is waiting on you. Run `/council_accept` to merge the winning worktree, ' +
407
- '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.');
408
439
  return { stopReason: 'end_turn' };
409
440
  }
410
441
  if (parked === 'decided')
@@ -448,7 +479,7 @@ export function createAcpAgent(manager, options = {}) {
448
479
  // would send the answer twice, so the final block is only emitted when
449
480
  // nothing streamed — which is the case for one-shot wrappers.
450
481
  let streamedChars = 0;
451
- const turn = manager.sendMessage(state.name, task, {
482
+ const send = () => manager.sendMessage(state.name, task, {
452
483
  onChunk: (chunk) => {
453
484
  if (cancelled || !chunk)
454
485
  return;
@@ -476,6 +507,9 @@ export function createAcpAgent(manager, options = {}) {
476
507
  }
477
508
  },
478
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()));
479
513
  try {
480
514
  const raced = await Promise.race([turn, cancelSignal]);
481
515
  if (raced === 'cancelled')
@@ -573,6 +607,26 @@ export function cancelAcpTurn(manager, state, log) {
573
607
  .catch((err) => log?.warn(`cancel teardown failed for ${state.name}: ${String(err)}`));
574
608
  return true;
575
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
+ }
576
630
  /**
577
631
  * Run a council behind one ACP turn.
578
632
  *
@@ -604,14 +658,24 @@ async function runCouncilMode(manager, state, sessionId, task, emit, say, log) {
604
658
  });
605
659
  }
606
660
  catch (err) {
607
- // Council refuses to run outside a git repo, on a too-short task, and on a
608
- // few other guardrails. Those are the caller's problem to fix, so report the
609
- // 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.
610
663
  throw acp.RequestError.invalidParams(`Council could not start: ${err.message}`);
611
664
  }
612
665
  const buffers = new Map();
613
666
  const toolCallId = (agent, round) => `${sessionId}-${agent}-r${round ?? 0}`;
614
- 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;
615
679
  let poll;
616
680
  let timeout;
617
681
  const terminal = new Promise((resolve) => {
@@ -620,16 +684,20 @@ async function runCouncilMode(manager, state, sessionId, task, emit, say, log) {
620
684
  if (settled)
621
685
  return;
622
686
  settled = true;
623
- // Clear here rather than after the await: the backstop poll and the
624
- // 30-minute cap must stop the moment the run is over, or every council
625
- // 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);
626
692
  if (poll)
627
693
  clearInterval(poll);
628
694
  if (timeout)
629
695
  clearTimeout(timeout);
630
696
  resolve();
631
697
  };
632
- emitter?.on('council-event', (event) => {
698
+ const onEvent = (event) => {
699
+ if (settled)
700
+ return;
633
701
  const agent = event.agent ?? 'agent';
634
702
  switch (event.type) {
635
703
  case 'round-start':
@@ -668,6 +736,19 @@ async function runCouncilMode(manager, state, sessionId, task, emit, say, log) {
668
736
  break;
669
737
  }
670
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;
671
752
  log?.warn(`council ${council.id} error: ${event.error ?? 'unknown'}`);
672
753
  done();
673
754
  break;
@@ -677,37 +758,75 @@ async function runCouncilMode(manager, state, sessionId, task, emit, say, log) {
677
758
  default:
678
759
  break;
679
760
  }
680
- });
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
+ //
681
768
  // The emitter is live-only with no replay buffer, and a run that finishes
682
- // before the first listener attaches would never resolve. Polling the status
683
- // is the backstop; it is also how the parked state is detected, because
684
- // parking is a status, not an event.
685
- 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
+ }
686
780
  const snapshot = manager.councilStatus?.(council.id);
687
781
  if (snapshot && snapshot.status !== 'running')
688
782
  done();
689
- }, 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);
690
791
  timeout = setTimeout(() => {
691
- manager.councilAbort?.(council.id);
792
+ abort();
692
793
  done();
693
794
  }, ACP_POLL_TIMEOUT_MS);
694
795
  state.cancelInFlight = () => {
695
- manager.councilAbort?.(council.id);
796
+ cancelled = true;
696
797
  done();
798
+ abort();
697
799
  };
800
+ check();
698
801
  });
699
802
  await terminal;
700
803
  state.cancelInFlight = undefined;
804
+ // ACP v1 ends a cancelled prompt with `cancelled`, whatever the run reports.
805
+ if (cancelled)
806
+ return { stopReason: 'cancelled' };
701
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
+ }
702
815
  const summary = final?.finalSummary?.trim();
703
- 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
+ }
704
822
  // Consensus parks the run for a human decision rather than completing it, so
705
823
  // the ACP turn ends at the gate and the decision becomes a slash command.
706
824
  if (final?.status === 'awaiting_user') {
707
825
  state.parkedCouncilId = council.id;
708
826
  await emit({ sessionUpdate: 'available_commands_update', availableCommands: ACP_COUNCIL_COMMANDS });
709
827
  await say('\n\nThe council reached consensus and is holding its worktrees for you. ' +
710
- '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.');
711
830
  }
712
831
  return { stopReason: final?.status === 'error' ? 'refusal' : 'end_turn' };
713
832
  }
@@ -756,6 +875,7 @@ async function runPollingMode(manager, state, task, emit, say) {
756
875
  await say(body);
757
876
  return { stopReason: 'end_turn' };
758
877
  }
878
+ /** Apply `/council_accept` or `/council_reject` to a parked run. */
759
879
  export async function resolveParkedCouncil(manager, state, command, say, emit) {
760
880
  const id = state.parkedCouncilId;
761
881
  // Three outcomes, not two. `false` used to mean both "no council is parked"
@@ -768,11 +888,12 @@ export async function resolveParkedCouncil(manager, state, command, say, emit) {
768
888
  return 'blocked';
769
889
  if (command.name === 'council_accept') {
770
890
  await manager.councilAccept?.(id);
771
- 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.');
772
893
  }
773
894
  else if (command.name === 'council_reject') {
774
895
  await manager.councilReject?.(id, command.rest || 'rejected via ACP');
775
- 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.');
776
897
  }
777
898
  else {
778
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');