@monoes/monomindcli 2.10.9 → 2.10.13

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 (265) hide show
  1. package/.claude/commands/mastermind/brain.md +14 -14
  2. package/.claude/commands/mastermind/help.md +2 -2
  3. package/.claude/commands/mastermind/master.md +24 -19
  4. package/.claude/commands/mastermind/memory.md +8 -8
  5. package/.claude/commands/mastermind/monoswarm.md +4 -4
  6. package/.claude/commands/mastermind.md +7 -7
  7. package/.claude/commands/truth/start.md +3 -3
  8. package/.claude/settings.json +0 -4
  9. package/.claude/skills/mastermind/SKILL.md +7 -16
  10. package/.claude/skills/mastermind/references/antigravity-tools.md +0 -62
  11. package/.claude/skills/mastermind/references/claude-code-tools.md +0 -52
  12. package/.claude/skills/mastermind/references/codex-tools.md +0 -66
  13. package/.claude/skills/mastermind/references/copilot-tools.md +0 -51
  14. package/.claude/skills/mastermind/references/gemini-tools.md +0 -65
  15. package/.claude/skills/mastermind/references/pi-tools.md +0 -30
  16. package/.claude/skills/mastermind-createorg/SKILL.md +3 -1
  17. package/.claude/skills/mastermind-debug/SKILL.md +3 -277
  18. package/.claude/skills/mastermind-design/SKILL.md +2 -0
  19. package/.claude/skills/mastermind-execute/SKILL.md +59 -103
  20. package/.claude/skills/mastermind-idea/SKILL.md +9 -2
  21. package/.claude/skills/mastermind-intake/SKILL.md +31 -7
  22. package/.claude/skills/mastermind-issue-detail/SKILL.md +70 -16
  23. package/.claude/skills/mastermind-issues/SKILL.md +111 -16
  24. package/.claude/skills/mastermind-liveness/SKILL.md +96 -26
  25. package/.claude/skills/mastermind-memory/SKILL.md +0 -316
  26. package/.claude/skills/mastermind-my-issues/SKILL.md +40 -8
  27. package/.claude/skills/mastermind-org/SKILL.md +1 -12
  28. package/.claude/skills/mastermind-plan/SKILL.md +7 -228
  29. package/.claude/skills/mastermind-plan-to-tasks/SKILL.md +132 -24
  30. package/.claude/skills/mastermind-protocol/SKILL.md +33 -22
  31. package/.claude/skills/mastermind-research/SKILL.md +0 -163
  32. package/.claude/skills/mastermind-review/SKILL.md +0 -228
  33. package/.claude/skills/mastermind-runorg/SKILL.md +22 -3
  34. package/.claude/skills/mastermind-skill-builder/SKILL.md +1 -1
  35. package/.claude/skills/mastermind-tasks/SKILL.md +5 -0
  36. package/.claude/skills/mastermind-techport/SKILL.md +1 -1
  37. package/.claude/skills/performance-analysis/SKILL.md +1 -1
  38. package/.claude/skills/verification-quality/SKILL.md +2 -3
  39. package/README.md +2 -2
  40. package/dist/src/commands/agent-exec.d.ts +2 -0
  41. package/dist/src/commands/agent-exec.d.ts.map +1 -1
  42. package/dist/src/commands/agent-exec.js +16 -0
  43. package/dist/src/commands/agent-exec.js.map +1 -1
  44. package/dist/src/commands/doc.js +2 -2
  45. package/dist/src/commands/doc.js.map +1 -1
  46. package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
  47. package/dist/src/commands/doctor-project-checks.js +20 -1
  48. package/dist/src/commands/doctor-project-checks.js.map +1 -1
  49. package/dist/src/commands/init-wizard.d.ts.map +1 -1
  50. package/dist/src/commands/init-wizard.js +6 -0
  51. package/dist/src/commands/init-wizard.js.map +1 -1
  52. package/dist/src/commands/init.d.ts.map +1 -1
  53. package/dist/src/commands/init.js +12 -2
  54. package/dist/src/commands/init.js.map +1 -1
  55. package/dist/src/commands/monograph.d.ts.map +1 -1
  56. package/dist/src/commands/monograph.js +11 -4
  57. package/dist/src/commands/monograph.js.map +1 -1
  58. package/dist/src/commands/org-observe.d.ts +2 -0
  59. package/dist/src/commands/org-observe.d.ts.map +1 -1
  60. package/dist/src/commands/org-observe.js +115 -6
  61. package/dist/src/commands/org-observe.js.map +1 -1
  62. package/dist/src/commands/org.d.ts +26 -0
  63. package/dist/src/commands/org.d.ts.map +1 -1
  64. package/dist/src/commands/org.js +186 -28
  65. package/dist/src/commands/org.js.map +1 -1
  66. package/dist/src/init/codex-generator.d.ts +5 -0
  67. package/dist/src/init/codex-generator.d.ts.map +1 -1
  68. package/dist/src/init/codex-generator.js +12 -3
  69. package/dist/src/init/codex-generator.js.map +1 -1
  70. package/dist/src/init/executor.d.ts.map +1 -1
  71. package/dist/src/init/executor.js +10 -9
  72. package/dist/src/init/executor.js.map +1 -1
  73. package/dist/src/init/settings-generator.d.ts.map +1 -1
  74. package/dist/src/init/settings-generator.js +0 -5
  75. package/dist/src/init/settings-generator.js.map +1 -1
  76. package/dist/src/init/write-codex.d.ts.map +1 -1
  77. package/dist/src/init/write-codex.js +6 -5
  78. package/dist/src/init/write-codex.js.map +1 -1
  79. package/dist/src/knowledge/document-pipeline.d.ts +5 -0
  80. package/dist/src/knowledge/document-pipeline.d.ts.map +1 -1
  81. package/dist/src/knowledge/document-pipeline.js +32 -16
  82. package/dist/src/knowledge/document-pipeline.js.map +1 -1
  83. package/dist/src/mcp-tools/hooks-routing.d.ts +9 -0
  84. package/dist/src/mcp-tools/hooks-routing.d.ts.map +1 -1
  85. package/dist/src/mcp-tools/hooks-routing.js +12 -1
  86. package/dist/src/mcp-tools/hooks-routing.js.map +1 -1
  87. package/dist/src/mcp-tools/knowledge-tools.d.ts.map +1 -1
  88. package/dist/src/mcp-tools/knowledge-tools.js +105 -13
  89. package/dist/src/mcp-tools/knowledge-tools.js.map +1 -1
  90. package/dist/src/mcp-tools/memory-tools.d.ts +13 -0
  91. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
  92. package/dist/src/mcp-tools/memory-tools.js +257 -31
  93. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  94. package/dist/src/mcp-tools/monograph/health-tools.d.ts.map +1 -1
  95. package/dist/src/mcp-tools/monograph/health-tools.js +99 -42
  96. package/dist/src/mcp-tools/monograph/health-tools.js.map +1 -1
  97. package/dist/src/mcp-tools/monograph/impact-tools.d.ts.map +1 -1
  98. package/dist/src/mcp-tools/monograph/impact-tools.js +123 -51
  99. package/dist/src/mcp-tools/monograph/impact-tools.js.map +1 -1
  100. package/dist/src/mcp-tools/monograph/query-tools.d.ts.map +1 -1
  101. package/dist/src/mcp-tools/monograph/query-tools.js +113 -96
  102. package/dist/src/mcp-tools/monograph/query-tools.js.map +1 -1
  103. package/dist/src/mcp-tools/monograph/shared.d.ts +37 -4
  104. package/dist/src/mcp-tools/monograph/shared.d.ts.map +1 -1
  105. package/dist/src/mcp-tools/monograph/shared.js +75 -56
  106. package/dist/src/mcp-tools/monograph/shared.js.map +1 -1
  107. package/dist/src/memory/embedding-operations.d.ts.map +1 -1
  108. package/dist/src/memory/embedding-operations.js +9 -4
  109. package/dist/src/memory/embedding-operations.js.map +1 -1
  110. package/dist/src/memory/memory-bridge.d.ts +60 -1
  111. package/dist/src/memory/memory-bridge.d.ts.map +1 -1
  112. package/dist/src/memory/memory-bridge.js +185 -42
  113. package/dist/src/memory/memory-bridge.js.map +1 -1
  114. package/dist/src/memory/memory-kg.d.ts +495 -28
  115. package/dist/src/memory/memory-kg.d.ts.map +1 -1
  116. package/dist/src/memory/memory-kg.js +2186 -251
  117. package/dist/src/memory/memory-kg.js.map +1 -1
  118. package/dist/src/memory/query-router.d.ts +51 -0
  119. package/dist/src/memory/query-router.d.ts.map +1 -1
  120. package/dist/src/memory/query-router.js +38 -2
  121. package/dist/src/memory/query-router.js.map +1 -1
  122. package/dist/src/orgrt/agent-exec.d.ts +14 -0
  123. package/dist/src/orgrt/agent-exec.d.ts.map +1 -1
  124. package/dist/src/orgrt/agent-exec.js +88 -4
  125. package/dist/src/orgrt/agent-exec.js.map +1 -1
  126. package/dist/src/orgrt/agent-runner.d.ts +26 -1
  127. package/dist/src/orgrt/agent-runner.d.ts.map +1 -1
  128. package/dist/src/orgrt/agent-runner.js +73 -22
  129. package/dist/src/orgrt/agent-runner.js.map +1 -1
  130. package/dist/src/orgrt/antigravity-runner.d.ts +1 -1
  131. package/dist/src/orgrt/antigravity-runner.d.ts.map +1 -1
  132. package/dist/src/orgrt/antigravity-runner.js +36 -19
  133. package/dist/src/orgrt/antigravity-runner.js.map +1 -1
  134. package/dist/src/orgrt/approvals.d.ts +26 -2
  135. package/dist/src/orgrt/approvals.d.ts.map +1 -1
  136. package/dist/src/orgrt/approvals.js +67 -7
  137. package/dist/src/orgrt/approvals.js.map +1 -1
  138. package/dist/src/orgrt/broker.d.ts +21 -2
  139. package/dist/src/orgrt/broker.d.ts.map +1 -1
  140. package/dist/src/orgrt/broker.js +56 -8
  141. package/dist/src/orgrt/broker.js.map +1 -1
  142. package/dist/src/orgrt/bus.d.ts +8 -0
  143. package/dist/src/orgrt/bus.d.ts.map +1 -1
  144. package/dist/src/orgrt/bus.js +27 -0
  145. package/dist/src/orgrt/bus.js.map +1 -1
  146. package/dist/src/orgrt/checkpoint-ops.d.ts.map +1 -1
  147. package/dist/src/orgrt/checkpoint-ops.js +15 -5
  148. package/dist/src/orgrt/checkpoint-ops.js.map +1 -1
  149. package/dist/src/orgrt/checkpoint.d.ts +42 -4
  150. package/dist/src/orgrt/checkpoint.d.ts.map +1 -1
  151. package/dist/src/orgrt/checkpoint.js +75 -4
  152. package/dist/src/orgrt/checkpoint.js.map +1 -1
  153. package/dist/src/orgrt/codex-runner.d.ts +1 -1
  154. package/dist/src/orgrt/codex-runner.d.ts.map +1 -1
  155. package/dist/src/orgrt/codex-runner.js +50 -23
  156. package/dist/src/orgrt/codex-runner.js.map +1 -1
  157. package/dist/src/orgrt/copilot-runner.d.ts +24 -2
  158. package/dist/src/orgrt/copilot-runner.d.ts.map +1 -1
  159. package/dist/src/orgrt/copilot-runner.js +257 -157
  160. package/dist/src/orgrt/copilot-runner.js.map +1 -1
  161. package/dist/src/orgrt/cross-org.d.ts +10 -3
  162. package/dist/src/orgrt/cross-org.d.ts.map +1 -1
  163. package/dist/src/orgrt/cross-org.js +225 -10
  164. package/dist/src/orgrt/cross-org.js.map +1 -1
  165. package/dist/src/orgrt/crush-runner.d.ts +22 -2
  166. package/dist/src/orgrt/crush-runner.d.ts.map +1 -1
  167. package/dist/src/orgrt/crush-runner.js +227 -120
  168. package/dist/src/orgrt/crush-runner.js.map +1 -1
  169. package/dist/src/orgrt/daemon.d.ts +77 -7
  170. package/dist/src/orgrt/daemon.d.ts.map +1 -1
  171. package/dist/src/orgrt/daemon.js +989 -385
  172. package/dist/src/orgrt/daemon.js.map +1 -1
  173. package/dist/src/orgrt/decisions.d.ts +2 -2
  174. package/dist/src/orgrt/decisions.d.ts.map +1 -1
  175. package/dist/src/orgrt/decisions.js +90 -18
  176. package/dist/src/orgrt/decisions.js.map +1 -1
  177. package/dist/src/orgrt/grok-runner.d.ts +29 -3
  178. package/dist/src/orgrt/grok-runner.d.ts.map +1 -1
  179. package/dist/src/orgrt/grok-runner.js +286 -150
  180. package/dist/src/orgrt/grok-runner.js.map +1 -1
  181. package/dist/src/orgrt/kimicode-runner.d.ts +5 -5
  182. package/dist/src/orgrt/kimicode-runner.d.ts.map +1 -1
  183. package/dist/src/orgrt/kimicode-runner.js +53 -32
  184. package/dist/src/orgrt/kimicode-runner.js.map +1 -1
  185. package/dist/src/orgrt/mailbox.d.ts +15 -0
  186. package/dist/src/orgrt/mailbox.d.ts.map +1 -1
  187. package/dist/src/orgrt/mailbox.js +29 -1
  188. package/dist/src/orgrt/mailbox.js.map +1 -1
  189. package/dist/src/orgrt/migrate.d.ts.map +1 -1
  190. package/dist/src/orgrt/migrate.js +8 -5
  191. package/dist/src/orgrt/migrate.js.map +1 -1
  192. package/dist/src/orgrt/opencode-runner.d.ts +1 -1
  193. package/dist/src/orgrt/opencode-runner.d.ts.map +1 -1
  194. package/dist/src/orgrt/opencode-runner.js +29 -3
  195. package/dist/src/orgrt/opencode-runner.js.map +1 -1
  196. package/dist/src/orgrt/org-memory.d.ts +19 -3
  197. package/dist/src/orgrt/org-memory.d.ts.map +1 -1
  198. package/dist/src/orgrt/org-memory.js +110 -38
  199. package/dist/src/orgrt/org-memory.js.map +1 -1
  200. package/dist/src/orgrt/pi-rpc-runner.d.ts +3 -1
  201. package/dist/src/orgrt/pi-rpc-runner.d.ts.map +1 -1
  202. package/dist/src/orgrt/pi-rpc-runner.js +35 -3
  203. package/dist/src/orgrt/pi-rpc-runner.js.map +1 -1
  204. package/dist/src/orgrt/pi-runner.d.ts +25 -2
  205. package/dist/src/orgrt/pi-runner.d.ts.map +1 -1
  206. package/dist/src/orgrt/pi-runner.js +271 -152
  207. package/dist/src/orgrt/pi-runner.js.map +1 -1
  208. package/dist/src/orgrt/policy.d.ts +1 -0
  209. package/dist/src/orgrt/policy.d.ts.map +1 -1
  210. package/dist/src/orgrt/policy.js +199 -39
  211. package/dist/src/orgrt/policy.js.map +1 -1
  212. package/dist/src/orgrt/provider.d.ts +4 -0
  213. package/dist/src/orgrt/provider.d.ts.map +1 -1
  214. package/dist/src/orgrt/provider.js +16 -0
  215. package/dist/src/orgrt/provider.js.map +1 -1
  216. package/dist/src/orgrt/qwen-rpc-runner.d.ts +3 -1
  217. package/dist/src/orgrt/qwen-rpc-runner.d.ts.map +1 -1
  218. package/dist/src/orgrt/qwen-rpc-runner.js +35 -3
  219. package/dist/src/orgrt/qwen-rpc-runner.js.map +1 -1
  220. package/dist/src/orgrt/qwen-runner.d.ts +30 -3
  221. package/dist/src/orgrt/qwen-runner.d.ts.map +1 -1
  222. package/dist/src/orgrt/qwen-runner.js +282 -142
  223. package/dist/src/orgrt/qwen-runner.js.map +1 -1
  224. package/dist/src/orgrt/role-slot.d.ts +88 -0
  225. package/dist/src/orgrt/role-slot.d.ts.map +1 -0
  226. package/dist/src/orgrt/role-slot.js +133 -0
  227. package/dist/src/orgrt/role-slot.js.map +1 -0
  228. package/dist/src/orgrt/runtime-options.d.ts +17 -0
  229. package/dist/src/orgrt/runtime-options.d.ts.map +1 -0
  230. package/dist/src/orgrt/runtime-options.js +32 -0
  231. package/dist/src/orgrt/runtime-options.js.map +1 -0
  232. package/dist/src/orgrt/scheduler-integration.d.ts +11 -0
  233. package/dist/src/orgrt/scheduler-integration.d.ts.map +1 -1
  234. package/dist/src/orgrt/scheduler-integration.js +75 -17
  235. package/dist/src/orgrt/scheduler-integration.js.map +1 -1
  236. package/dist/src/orgrt/scheduler.d.ts +4 -0
  237. package/dist/src/orgrt/scheduler.d.ts.map +1 -1
  238. package/dist/src/orgrt/scheduler.js +7 -1
  239. package/dist/src/orgrt/scheduler.js.map +1 -1
  240. package/dist/src/orgrt/server.d.ts +8 -3
  241. package/dist/src/orgrt/server.d.ts.map +1 -1
  242. package/dist/src/orgrt/server.js +48 -13
  243. package/dist/src/orgrt/server.js.map +1 -1
  244. package/dist/src/orgrt/session.d.ts +26 -2
  245. package/dist/src/orgrt/session.d.ts.map +1 -1
  246. package/dist/src/orgrt/session.js +99 -5
  247. package/dist/src/orgrt/session.js.map +1 -1
  248. package/dist/src/orgrt/task-dag.d.ts +5 -0
  249. package/dist/src/orgrt/task-dag.d.ts.map +1 -1
  250. package/dist/src/orgrt/task-dag.js +41 -0
  251. package/dist/src/orgrt/task-dag.js.map +1 -1
  252. package/dist/src/orgrt/test-loop.js +2 -2
  253. package/dist/src/orgrt/test-loop.js.map +1 -1
  254. package/dist/src/orgrt/types.d.ts +14 -2
  255. package/dist/src/orgrt/types.d.ts.map +1 -1
  256. package/dist/src/orgrt/types.js +15 -1
  257. package/dist/src/orgrt/types.js.map +1 -1
  258. package/dist/src/orgrt/vercel-runner.d.ts.map +1 -1
  259. package/dist/src/orgrt/vercel-runner.js +4 -0
  260. package/dist/src/orgrt/vercel-runner.js.map +1 -1
  261. package/dist/src/ui/routes-org.mjs +27 -7
  262. package/dist/src/ui/server.mjs +82 -48
  263. package/dist/tsconfig.tsbuildinfo +1 -1
  264. package/package.json +2 -1
  265. package/dist/src/ui/data/mastermind-sessions.json +0 -1
@@ -8,13 +8,13 @@
8
8
  * can register org tools (org_send, ask_human, …) directly via
9
9
  * createSdkMcpServer.
10
10
  * - Kimi Code has no embeddable SDK. The CLI is driven as a subprocess:
11
- * `kimi -p "<prompt>" --output-format stream-json` runs one non-interactive
12
- * turn and emits JSONL events on stdout (verified against kimi 0.29.2:
11
+ * `kimi --print --output-format stream-json` with the prompt on stdin
12
+ * runs one non-interactive turn and emits JSONL events on stdout
13
+ * (event shapes verified against kimi 0.29.2:
13
14
  * {"role":"assistant","content":...} per reply, then a
14
15
  * {"role":"meta","type":"session.resume_hint",session_id} event).
15
16
  * Session continuity comes from `--session <id>` on later turns.
16
- * ARG ORDER MATTERS: the prompt must immediately follow `-p` — flags in
17
- * between are consumed as the prompt text.
17
+ * The prompt is NOT passed as `-p <text>` — see streamTurn for why.
18
18
  *
19
19
  * Streaming / liveness — WHY INCREMENTAL:
20
20
  * Kimi turns routinely run 10-20+ minutes when the model chains many
@@ -65,8 +65,9 @@ import { spawn } from 'node:child_process';
65
65
  import * as fs from 'node:fs';
66
66
  import * as os from 'node:os';
67
67
  import * as path from 'node:path';
68
+ import { killOnAbort, } from './agent-runner.js';
68
69
  import { buildToolProtocol, executeToolCall, formatToolResults, MAX_TOOL_ROUNDS, parseToolCalls, TOOL_CALL_RE, } from './tool-fence.js';
69
- /** How long a single `kimi -p` invocation may run before we kill it (2 hours,
70
+ /** How long a single `kimi --print` invocation may run before we kill it (2 hours,
70
71
  * matching kimi's own subagent default). */
71
72
  const TURN_TIMEOUT_MS = 2 * 60 * 60 * 1000;
72
73
  export class KimiCodeAgentRunner {
@@ -172,7 +173,7 @@ export class KimiCodeAgentRunner {
172
173
  // back into the same kimi session as the next prompt.
173
174
  const results = [];
174
175
  for (const call of calls) {
175
- results.push(await executeToolCall(args.tools, call));
176
+ results.push(await executeToolCall(args.tools, call, args.canUseTool));
176
177
  }
177
178
  nextPrompt = formatToolResults(calls, results);
178
179
  }
@@ -214,13 +215,14 @@ export class KimiCodeAgentRunner {
214
215
  * caller reads after this generator completes.
215
216
  */
216
217
  async *streamTurn(bin, promptText, sessionId, args, agentFile, outcome) {
217
- // ARG ORDER MATTERS: -p consumes the IMMEDIATELY following argument as
218
- // the prompt. Putting flags in between (e.g. `-p --session <id> text`)
219
- // makes kimi consume the flag as the prompt and fail with
220
- // "unknown command". Prompt first, flags after.
218
+ // The prompt goes over STDIN, not `-p <text>`: a single argv element is
219
+ // capped at 128 KiB on Linux (E2BIG), and a tool-results prompt can
220
+ // exceed that. In `--print` mode kimi reads all of stdin as the prompt
221
+ // when no `-p` is given (kimi-cli ui/print: `command is None and not
222
+ // sys.stdin.isatty()` → `sys.stdin.read()`); `--output-format` is only
223
+ // accepted in print mode anyway.
221
224
  const cliArgs = [
222
- '-p',
223
- promptText,
225
+ '--print',
224
226
  '--output-format',
225
227
  'stream-json',
226
228
  '--skills-dir',
@@ -254,22 +256,29 @@ export class KimiCodeAgentRunner {
254
256
  // mailbox + session history carry the state.
255
257
  KIMI_MODEL_THINKING_KEEP: process.env.KIMI_MODEL_THINKING_KEEP || 'off',
256
258
  },
257
- stdio: ['ignore', 'pipe', 'pipe'],
259
+ stdio: ['pipe', 'pipe', 'pipe'],
258
260
  });
261
+ // A CLI that exits before reading stdin (bad args, auth failure) makes
262
+ // this write EPIPE — surfaced via the exit code/stderr below, not as an
263
+ // unhandled stream error.
264
+ child.stdin?.on('error', () => { });
265
+ child.stdin?.end(promptText);
259
266
  let stderrTail = '';
260
267
  child.stderr?.on('data', (c) => {
261
268
  stderrTail = (stderrTail + c.toString()).slice(-4000);
262
269
  });
263
- // Arm the turn timeout BEFORE consuming stdout — a hung CLI must be
264
- // killed while we're still reading, not after it finishes.
265
- let timedOut = false;
270
+ // SIGTERM→SIGKILL escalation, shared by the turn timeout, the abort
271
+ // signal, and the abandoned-stream path in `finally` — a CLI that
272
+ // ignores SIGTERM must not leak a zombie per turn.
266
273
  const KILL_GRACE_MS = 5000;
267
274
  let killTimer;
268
- const timer = setTimeout(() => {
269
- timedOut = true;
270
- child.kill('SIGTERM');
271
- // A wedged CLI that ignores SIGTERM must not leak a zombie per turn:
272
- // escalate to SIGKILL after a short grace period.
275
+ const killChild = () => {
276
+ try {
277
+ child.kill('SIGTERM');
278
+ }
279
+ catch {
280
+ /* already gone */
281
+ }
273
282
  killTimer = setTimeout(() => {
274
283
  try {
275
284
  child.kill('SIGKILL');
@@ -279,7 +288,15 @@ export class KimiCodeAgentRunner {
279
288
  }
280
289
  }, KILL_GRACE_MS);
281
290
  killTimer.unref?.();
291
+ };
292
+ // Arm the turn timeout BEFORE consuming stdout — a hung CLI must be
293
+ // killed while we're still reading, not after it finishes.
294
+ let timedOut = false;
295
+ const timer = setTimeout(() => {
296
+ timedOut = true;
297
+ killChild();
282
298
  }, TURN_TIMEOUT_MS);
299
+ const unsubscribeAbort = killOnAbort(args.signal, child, KILL_GRACE_MS);
283
300
  // Attach the exit promise BEFORE consuming stdout: on a spawn failure
284
301
  // (ENOENT, bad binary) the 'error' event fires almost immediately —
285
302
  // if no listener is attached yet it escapes as an unhandled 'error'
@@ -323,21 +340,25 @@ export class KimiCodeAgentRunner {
323
340
  }
324
341
  finally {
325
342
  clearTimeout(timer);
326
- if (killTimer)
343
+ unsubscribeAbort();
344
+ if (child.exitCode === null && child.signalCode === null) {
345
+ // NOT confirmed dead. Either the consumer abandoned this stream
346
+ // mid-turn (session.ts's silent abort calls iterator.return(), the
347
+ // mailbox closes, or an error is thrown downstream) — kill it, WITH
348
+ // the SIGKILL escalation — or a SIGTERM from the timeout/abort is
349
+ // still inside its grace period: leave that escalation armed, since
350
+ // clearing it here would orphan a CLI that ignores SIGTERM and then
351
+ // wait on `exitPromise` forever (same fix as pi-rpc-runner.ts).
352
+ if (!child.killed)
353
+ killChild();
354
+ }
355
+ else if (killTimer) {
327
356
  clearTimeout(killTimer);
328
- // If the consumer abandons this stream mid-turn (session.ts's
329
- // silent-abort calls iterator.return(), the mailbox closes, or an
330
- // error is thrown downstream), don't leak the CLI subprocess.
331
- if (child.exitCode === null && !child.killed) {
332
- try {
333
- child.kill('SIGTERM');
334
- }
335
- catch {
336
- /* already gone */
337
- }
338
357
  }
339
358
  }
340
359
  const exitCode = await exitPromise;
360
+ if (killTimer)
361
+ clearTimeout(killTimer);
341
362
  // Also scan stderr for session_id — kimi 0.33+ may emit
342
363
  // session.resume_hint on stderr instead of stdout. The stdout parser
343
364
  // already captures session_id from any event that carries it; this
@@ -1 +1 @@
1
- {"version":3,"file":"kimicode-runner.js","sourceRoot":"","sources":["../../../src/orgrt/kimicode-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kimicode-runner.js","sourceRoot":"","sources":["../../../src/orgrt/kimicode-runner.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,11 @@ export declare class Mailbox {
38
38
  * finished). If a session dies with this still set, the generator was
39
39
  * abandoned mid-yield — see reclaimInFlight(). */
40
40
  private inFlight;
41
+ /** Set by beginDrain(): stream() stops yielding further queued messages
42
+ * (letting only the current in-flight one finish) instead of pulling the
43
+ * next one or parking on wake. Sticky for the life of this Mailbox
44
+ * instance — a draining mailbox is being retired, not reused. */
45
+ private draining;
41
46
  /** Number of real (non-continuation) messages consumed so far across all sessions. */
42
47
  get consumedRealCount(): number;
43
48
  push(text: string): void;
@@ -58,6 +63,16 @@ export declare class Mailbox {
58
63
  * session.
59
64
  */
60
65
  detach(): void;
66
+ get isDraining(): boolean;
67
+ /** Begin a graceful drain: the current in-flight message (already yielded,
68
+ * awaiting the consumer's next pull) is allowed to finish, but no further
69
+ * queued message will ever be yielded. Synchronously sweeps and returns
70
+ * everything NOT currently in flight so the caller can hand it to the
71
+ * replacement incarnation without a race — anything still queued when
72
+ * this returns will never be seen by this mailbox's stream() again.
73
+ * Wakes a parked stream() (empty queue, nothing in flight) so it can
74
+ * observe `draining` and return immediately instead of waiting forever. */
75
+ beginDrain(): string[];
61
76
  /**
62
77
  * One live generator at a time: each stream() call bumps `generation`, and
63
78
  * a stale generator that ever resumes exits immediately without touching
@@ -1 +1 @@
1
- {"version":3,"file":"mailbox.d.ts","sourceRoot":"","sources":["../../../src/orgrt/mailbox.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,kBAAkB,EAAE,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAcD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE5E;AAED;;;;GAIG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAO;IACxC;;6EAEyE;IACzE,MAAM,CAAC,QAAQ,CAAC,eAAe,4BAA4B;IAC3D,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,IAAI,CAA6B;IACzC,OAAO,CAAC,MAAM,CAAS;IACvB;;gFAE4E;IAC5E,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,qFAAqF;IACrF,OAAO,CAAC,UAAU,CAAK;IACvB;uFACmF;IACnF,OAAO,CAAC,YAAY,CAAK;IACzB;;;;uDAImD;IACnD,OAAO,CAAC,QAAQ,CAAuB;IAEvC,sFAAsF;IACtF,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAQvB;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAc3B;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;yEACqE;IACrE,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED;;;;;;;;;;OAUG;IACH,MAAM,IAAI,IAAI,CAEb;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,SAAS,SAAK,GAAG,cAAc,CAAC,cAAc,CAAC,CAgC5D;IAED;;;;;;;2DAOuD;IACvD,eAAe,IAAI,IAAI,CAStB;IAED,gEAAgE;IAChE,SAAS,IAAI;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAO5F;IAED,4DAA4D;IAC5D,WAAW,CAAC,KAAK,EAAE;QACjB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,IAAI,CAUP;CACF"}
1
+ {"version":3,"file":"mailbox.d.ts","sourceRoot":"","sources":["../../../src/orgrt/mailbox.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,kBAAkB,EAAE,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAcD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE5E;AAED;;;;GAIG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAO;IACxC;;6EAEyE;IACzE,MAAM,CAAC,QAAQ,CAAC,eAAe,4BAA4B;IAC3D,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,IAAI,CAA6B;IACzC,OAAO,CAAC,MAAM,CAAS;IACvB;;gFAE4E;IAC5E,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,qFAAqF;IACrF,OAAO,CAAC,UAAU,CAAK;IACvB;uFACmF;IACnF,OAAO,CAAC,YAAY,CAAK;IACzB;;;;uDAImD;IACnD,OAAO,CAAC,QAAQ,CAAuB;IACvC;;;sEAGkE;IAClE,OAAO,CAAC,QAAQ,CAAS;IAEzB,sFAAsF;IACtF,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAQvB;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAc3B;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;yEACqE;IACrE,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED;;;;;;;;;;OAUG;IACH,MAAM,IAAI,IAAI,CAEb;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;;;;;;gFAO4E;IAC5E,UAAU,IAAI,MAAM,EAAE,CAOrB;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,SAAS,SAAK,GAAG,cAAc,CAAC,cAAc,CAAC,CAkC5D;IAED;;;;;;;2DAOuD;IACvD,eAAe,IAAI,IAAI,CAStB;IAED,gEAAgE;IAChE,SAAS,IAAI;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAO5F;IAED,4DAA4D;IAC5D,WAAW,CAAC,KAAK,EAAE;QACjB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,IAAI,CAUP;CACF"}
@@ -42,6 +42,11 @@ export class Mailbox {
42
42
  * finished). If a session dies with this still set, the generator was
43
43
  * abandoned mid-yield — see reclaimInFlight(). */
44
44
  inFlight = null;
45
+ /** Set by beginDrain(): stream() stops yielding further queued messages
46
+ * (letting only the current in-flight one finish) instead of pulling the
47
+ * next one or parking on wake. Sticky for the life of this Mailbox
48
+ * instance — a draining mailbox is being retired, not reused. */
49
+ draining = false;
45
50
  /** Number of real (non-continuation) messages consumed so far across all sessions. */
46
51
  get consumedRealCount() {
47
52
  return this.consumedReal;
@@ -94,6 +99,25 @@ export class Mailbox {
94
99
  detach() {
95
100
  this.wake = null;
96
101
  }
102
+ get isDraining() {
103
+ return this.draining;
104
+ }
105
+ /** Begin a graceful drain: the current in-flight message (already yielded,
106
+ * awaiting the consumer's next pull) is allowed to finish, but no further
107
+ * queued message will ever be yielded. Synchronously sweeps and returns
108
+ * everything NOT currently in flight so the caller can hand it to the
109
+ * replacement incarnation without a race — anything still queued when
110
+ * this returns will never be seen by this mailbox's stream() again.
111
+ * Wakes a parked stream() (empty queue, nothing in flight) so it can
112
+ * observe `draining` and return immediately instead of waiting forever. */
113
+ beginDrain() {
114
+ this.draining = true;
115
+ const swept = this.queue;
116
+ this.queue = [];
117
+ this.wake?.();
118
+ this.wake = null;
119
+ return swept;
120
+ }
97
121
  /**
98
122
  * One live generator at a time: each stream() call bumps `generation`, and
99
123
  * a stale generator that ever resumes exits immediately without touching
@@ -115,6 +139,8 @@ export class Mailbox {
115
139
  while (this.queue.length > 0) {
116
140
  if (gen !== this.generation)
117
141
  return; // superseded — leave the queue for the live generator
142
+ if (this.draining)
143
+ return;
118
144
  const content = this.queue.shift();
119
145
  if (!content.startsWith(Mailbox.CONTINUE_PREFIX))
120
146
  this.consumedReal++;
@@ -131,8 +157,10 @@ export class Mailbox {
131
157
  // which only happens once it's done with this one — proof the prior
132
158
  // turn completed rather than the session dying mid-processing.
133
159
  this.inFlight = null;
160
+ if (this.draining)
161
+ return;
134
162
  }
135
- if (this.closed || gen !== this.generation)
163
+ if (this.closed || gen !== this.generation || this.draining)
136
164
  return;
137
165
  await new Promise((r) => {
138
166
  this.wake = r;
@@ -1 +1 @@
1
- {"version":3,"file":"mailbox.js","sourceRoot":"","sources":["../../../src/orgrt/mailbox.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;2DAU2D;AAC3D,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC;AACrE,MAAM,UAAU,wBAAwB,CAAC,MAA0B;IACjE,OAAO,MAAM,KAAK,SAAS,IAAI,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAClE,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,OAAO;IACV,MAAM,CAAU,SAAS,GAAG,GAAG,CAAC;IACxC;;6EAEyE;IACzE,MAAM,CAAU,eAAe,GAAG,wBAAwB,CAAC;IACnD,KAAK,GAAa,EAAE,CAAC;IACrB,IAAI,GAAwB,IAAI,CAAC;IACjC,MAAM,GAAG,KAAK,CAAC;IACvB;;gFAE4E;IACpE,gBAAgB,CAAU;IAClC,qFAAqF;IAC7E,UAAU,GAAG,CAAC,CAAC;IACvB;uFACmF;IAC3E,YAAY,GAAG,CAAC,CAAC;IACzB;;;;uDAImD;IAC3C,QAAQ,GAAkB,IAAI,CAAC;IAEvC,sFAAsF;IACtF,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC,IAAY;QACf,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,MAAe;QACnB,iEAAiE;QACjE,mEAAmE;QACnE,8DAA8D;QAC9D,kEAAkE;QAClE,yDAAyD;QACzD,iEAAiE;QACjE,8DAA8D;QAC9D,2CAA2C;QAC3C,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;QAC/B,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;yEACqE;IACrE,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM;QACJ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE;QAC1B,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC;QAC9B,uDAAuD;QACvD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,oEAAoE;QACpE,0EAA0E;QAC1E,oEAAoE;QACpE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,OAAO,IAAI,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,GAAG,KAAK,IAAI,CAAC,UAAU;oBAAE,OAAO,CAAC,sDAAsD;gBAC3F,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAG,CAAC;gBACpC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC;oBAAE,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;gBACxB,MAAM;oBACJ,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;oBAClC,kBAAkB,EAAE,IAAI;oBACxB,UAAU,EAAE,SAAS;iBACtB,CAAC;gBACF,IAAI,GAAG,KAAK,IAAI,CAAC,UAAU;oBAAE,OAAO;gBACpC,qEAAqE;gBACrE,oEAAoE;gBACpE,+DAA+D;gBAC/D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,UAAU;gBAAE,OAAO;YACnD,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE;gBAC5B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YACH,IAAI,GAAG,KAAK,IAAI,CAAC,UAAU;gBAAE,OAAO;QACtC,CAAC;IACH,CAAC;IAED;;;;;;;2DAOuD;IACvD,eAAe;QACb,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;YAAE,OAAO;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5B,uEAAuE;QACvE,oEAAoE;QACpE,mCAAmC;QACnC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC;YAAE,IAAI,CAAC,YAAY,EAAE,CAAC;IACxE,CAAC;IAED,gEAAgE;IAChE,SAAS;QACP,OAAO;YACL,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,qDAAqD;YAC7E,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE,CAAC;IACJ,CAAC;IAED,4DAA4D;IAC5D,WAAW,CAAC,KAKX;QACC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,wBAAwB;QACvD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACvC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,iDAAiD;QAC5F,uEAAuE;QACvE,yEAAyE;QACzE,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"mailbox.js","sourceRoot":"","sources":["../../../src/orgrt/mailbox.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/orgrt/migrate.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,YAAY,CAAC;AAsBvD;;;;;yBAKyB;AACzB,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC,GAAG,MAAM,EAAE,CAmBnF;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAC9D,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAuDA;AAED;;;;;;+CAM+C;AAC/C,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB;IACD,MAAM,EAAE,UAAU,GAAG,YAAY,CAAC;IAClC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAkBA"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/orgrt/migrate.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,YAAY,CAAC;AAsBvD;;;;;yBAKyB;AACzB,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC,GAAG,MAAM,EAAE,CAmBnF;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAC9D,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAuDA;AAED;;;;;;+CAM+C;AAC/C,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB;IACD,MAAM,EAAE,UAAU,GAAG,YAAY,CAAC;IAClC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAoBA"}
@@ -3,7 +3,8 @@
3
3
  * IO orchestration for the `org migrate` subcommand — kept out of org.ts to
4
4
  * stay under the 500-line file cap; org.ts's migrateAction is a thin wrapper
5
5
  * that only does the name-validation / isOrgRunning guard and delegates here. */
6
- import { existsSync, readFileSync, renameSync, writeFileSync } from 'node:fs';
6
+ import { existsSync, readFileSync } from 'node:fs';
7
+ import { writeJsonFileAtomic } from '../utils/json-file.js';
7
8
  import { parseSchedule } from './scheduler.js';
8
9
  import { OrgDefSchema } from './types.js';
9
10
  const V1_TOP_LEVEL_KEYS = [
@@ -121,11 +122,13 @@ export function migrateOrgFile(cfgPath, backupPath) {
121
122
  if (result.dropped.length === 0 && result.notes.length === 0) {
122
123
  return { status: 'already-v2', dropped: [], notes: [] };
123
124
  }
125
+ // Both writes are atomic (tmp + rename). The backup especially: a crash
126
+ // mid-write used to leave a truncated file at backupPath, and the
127
+ // existsSync guard then treated it as a finished backup on every rerun
128
+ // while the live config was overwritten.
124
129
  if (!existsSync(backupPath))
125
- writeFileSync(backupPath, JSON.stringify(raw, null, 2));
126
- const tmpPath = `${cfgPath}.tmp`;
127
- writeFileSync(tmpPath, JSON.stringify(result.def, null, 2));
128
- renameSync(tmpPath, cfgPath);
130
+ writeJsonFileAtomic(backupPath, raw);
131
+ writeJsonFileAtomic(cfgPath, result.def);
129
132
  return { status: 'migrated', dropped: result.dropped, notes: result.notes };
130
133
  }
131
134
  //# sourceMappingURL=migrate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/orgrt/migrate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/orgrt/migrate.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@
34
34
  * it the Claude path is byte-for-byte unchanged and run() rejects with a
35
35
  * clear actionable error instead of crashing at import time.
36
36
  */
37
- import type { AgentMessage, AgentRunArgs, AgentRunner } from './agent-runner.js';
37
+ import { type AgentMessage, type AgentRunArgs, type AgentRunner } from './agent-runner.js';
38
38
  export declare class OpencodeAgentRunner implements AgentRunner {
39
39
  private opencodeUrl?;
40
40
  constructor(opencodeUrl?: string | undefined);
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-runner.d.ts","sourceRoot":"","sources":["../../../src/orgrt/opencode-runner.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAejF,qBAAa,mBAAoB,YAAW,WAAW;IACzC,OAAO,CAAC,WAAW,CAAC;IAAhC,YAAoB,WAAW,CAAC,EAAE,MAAM,YAAA,EAAI;IAErC,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,CAwK1D;CACF"}
1
+ {"version":3,"file":"opencode-runner.d.ts","sourceRoot":"","sources":["../../../src/orgrt/opencode-runner.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,WAAW,EAEjB,MAAM,mBAAmB,CAAC;AAe3B,qBAAa,mBAAoB,YAAW,WAAW;IACzC,OAAO,CAAC,WAAW,CAAC;IAAhC,YAAoB,WAAW,CAAC,EAAE,MAAM,YAAA,EAAI;IAErC,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,CAgM1D;CACF"}
@@ -35,6 +35,7 @@
35
35
  * it the Claude path is byte-for-byte unchanged and run() rejects with a
36
36
  * clear actionable error instead of crashing at import time.
37
37
  */
38
+ import { killOnAbort, } from './agent-runner.js';
38
39
  import { buildToolProtocol, executeToolCall, formatToolResults, MAX_TOOL_ROUNDS, parseToolCalls, TOOL_CALL_RE, } from './tool-fence.js';
39
40
  /** How long a single prompt() call may block before we give up (2 hours —
40
41
  * org turns with tool loops are long). Also drives the undici dispatcher's
@@ -95,13 +96,37 @@ export class OpencodeAgentRunner {
95
96
  client = started.client;
96
97
  server = started.server;
97
98
  }
99
+ // Abort hook (see AgentRunArgs.signal): the only child this runner owns
100
+ // is the ephemeral server it spawned — close it so its process dies and
101
+ // the in-flight prompt() call fails instead of running on unobserved.
102
+ // (Attached servers are the user's — never close those.)
103
+ const unsubscribeAbort = killOnAbort(args.signal, {
104
+ kill: () => {
105
+ try {
106
+ server?.close();
107
+ }
108
+ catch {
109
+ /* best-effort */
110
+ }
111
+ },
112
+ });
98
113
  try {
99
114
  // One opencode session per role run. The system prompt (plus the fence
100
115
  // protocol for org tools) is carried on each prompt() call's `system`
101
116
  // field — opencode has no per-session system-prompt binding.
102
117
  const systemPrompt = args.systemPrompt + buildToolProtocol(args.tools);
103
- const created = await client.session.create({ body: { title: 'monomind-org-role' } });
104
- const sessionId = created?.data?.id ?? created?.id;
118
+ let sessionId = args.resume;
119
+ if (sessionId) {
120
+ // opencode's session.create has no resume/id parameter (only
121
+ // parentID/title) — resuming means reusing the existing session id
122
+ // directly. session.get confirms the session still exists on the
123
+ // opencode server before we drive prompt() calls against it.
124
+ await client.session.get({ path: { id: sessionId } });
125
+ }
126
+ else {
127
+ const created = await client.session.create({ body: { title: 'monomind-org-role' } });
128
+ sessionId = created?.data?.id ?? created?.id;
129
+ }
105
130
  if (!sessionId) {
106
131
  throw new Error('OpencodeAgentRunner: session.create returned no id — check the opencode server is healthy.');
107
132
  }
@@ -160,7 +185,7 @@ export class OpencodeAgentRunner {
160
185
  }
161
186
  const results = [];
162
187
  for (const call of calls) {
163
- results.push(await executeToolCall(args.tools, call));
188
+ results.push(await executeToolCall(args.tools, call, args.canUseTool));
164
189
  }
165
190
  nextPrompt = formatToolResults(calls, results);
166
191
  }
@@ -177,6 +202,7 @@ export class OpencodeAgentRunner {
177
202
  }
178
203
  }
179
204
  finally {
205
+ unsubscribeAbort();
180
206
  // Termination path: close the ephemeral server we spawned. (Attached
181
207
  // servers are the user's — never close those.)
182
208
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-runner.js","sourceRoot":"","sources":["../../../src/orgrt/opencode-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode-runner.js","sourceRoot":"","sources":["../../../src/orgrt/opencode-runner.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EAIL,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,YAAY,GACb,MAAM,iBAAiB,CAAC;AAEzB;;0EAE0E;AAC1E,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE3C,MAAM,OAAO,mBAAmB;IACV,WAAW;IAA/B,YAAoB,WAAoB;2BAApB,WAAW;IAAY,CAAC;IAE5C,KAAK,CAAC,CAAC,GAAG,CAAC,IAAkB;QAC3B,yEAAyE;QACzE,yEAAyE;QACzE,yEAAyE;QACzE,mEAAmE;QACnE,MAAM,MAAM,GAAG,kBAAkB,CAAC;QAClC,IAAI,GAAQ,CAAC;QACb,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,qFAAqF;gBACnF,uFAAuF,CAC1F,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,oEAAoE;QACpE,wEAAwE;QACxE,0CAA0C;QAC1C,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,QAAQ,CAAC;YAC3B,MAAM,MAAM,GAAQ,MAAM,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAC/D,MAAM,CAAC,mBAAmB,CACxB,IAAI,MAAM,CAAC,KAAK,CAAC;gBACf,cAAc,EAAE,eAAe;gBAC/B,WAAW,EAAE,CAAC;aACf,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;QAC/B,CAAC;QAED,0EAA0E;QAC1E,wEAAwE;QACxE,8CAA8C;QAC9C,IAAI,MAAW,CAAC;QAChB,IAAI,MAAM,GAA0C,IAAI,CAAC;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QAC/D,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,GAAG,GAAG,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;gBAC7C,MAAM,IAAI,KAAK,CACb,sFAAsF,CACvF,CAAC;YACJ,CAAC;YACD,sEAAsE;YACtE,qEAAqE;YACrE,oEAAoE;YACpE,sEAAsE;YACtE,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9F,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACxB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC1B,CAAC;QAED,wEAAwE;QACxE,wEAAwE;QACxE,sEAAsE;QACtE,yDAAyD;QACzD,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE;YAChD,IAAI,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC;oBACH,MAAM,EAAE,KAAK,EAAE,CAAC;gBAClB,CAAC;gBAAC,MAAM,CAAC;oBACP,iBAAiB;gBACnB,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,uEAAuE;YACvE,sEAAsE;YACtE,6DAA6D;YAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvE,IAAI,SAAS,GAAuB,IAAI,CAAC,MAAM,CAAC;YAChD,IAAI,SAAS,EAAE,CAAC;gBACd,6DAA6D;gBAC7D,mEAAmE;gBACnE,iEAAiE;gBACjE,6DAA6D;gBAC7D,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;gBACtF,SAAS,GAAG,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,OAAO,EAAE,EAAE,CAAC;YAC/C,CAAC;YACD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CACb,4FAA4F,CAC7F,CAAC;YACJ,CAAC;YAED,sDAAsD;YACtD,uEAAuE;YACvE,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,MAAM,KAAK,GACT,UAAU,CAAC,MAAM,IAAI,CAAC;gBACpB,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACvE,CAAC,CAAC,SAAS,CAAC;YAEhB,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAClF,IAAI,UAAU,GAAG,IAAI,CAAC;gBACtB,IAAI,eAAe,GAAG,CAAC,CAAC;gBACxB,IAAI,gBAAgB,GAAG,CAAC,CAAC;gBACzB,IAAI,QAAQ,GAAG,CAAC,CAAC;gBAEjB,sEAAsE;gBACtE,+CAA+C;gBAC/C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,eAAe,EAAE,KAAK,EAAE,EAAE,CAAC;oBACtD,MAAM,GAAG,GAAQ,MAAM,WAAW,CAChC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;wBACpB,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;wBACvB,IAAI,EAAE;4BACJ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;4BAC3C,MAAM,EAAE,YAAY;4BACpB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBAC5B;qBACF,CAAC,EACF,eAAe,EACf,+BAA+B,KAAK,GAAG,CACxC,CAAC;oBAEF,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;oBAChD,MAAM,KAAK,GAAmC,GAAG,EAAE,IAAI,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC;oBACnF,MAAM,KAAK,GAAG,KAAK;yBAChB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,KAAK,MAAM,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC;yBAClE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;oBAEhC,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAIhC,CAAC;oBACF,eAAe;wBACb,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;oBAC/E,gBAAgB,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;oBACvC,QAAQ,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAE1D,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;wBACtB,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;wBACpD,IAAI,QAAQ;4BAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;oBACnF,CAAC;oBAED,MAAM,SAAS,GAAa,EAAE,CAAC;oBAC/B,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAC/C,SAAS,CAAC,IAAI,CACZ,iDAAiD,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAC9E,CACF,CAAC;oBACF,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;wBAC7B,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;oBACjE,CAAC;oBACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;wBAAE,MAAM;oBAE9B,IAAI,KAAK,KAAK,eAAe,EAAE,CAAC;wBAC9B,MAAM;4BACJ,IAAI,EAAE,WAAW;4BACjB,UAAU,EAAE,SAAS;4BACrB,IAAI,EAAE,mCAAmC,eAAe,wBAAwB,KAAK,CAAC,MAAM,uBAAuB;yBACpH,CAAC;wBACF,MAAM;oBACR,CAAC;oBAED,MAAM,OAAO,GAAa,EAAE,CAAC;oBAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,OAAO,CAAC,IAAI,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;oBACzE,CAAC;oBACD,UAAU,GAAG,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACjD,CAAC;gBAED,qEAAqE;gBACrE,oEAAoE;gBACpE,MAAM;oBACJ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,SAAS;oBACrB,OAAO,EAAE,SAAS;oBAClB,YAAY,EAAE,eAAe;oBAC7B,aAAa,EAAE,gBAAgB;oBAC/B,QAAQ,EAAE,QAAQ,IAAI,SAAS;iBAChC,CAAC;YACJ,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,gBAAgB,EAAE,CAAC;YACnB,qEAAqE;YACrE,+CAA+C;YAC/C,IAAI,CAAC;gBACH,MAAM,EAAE,KAAK,EAAE,CAAC;YAClB,CAAC;YAAC,MAAM,CAAC;gBACP,iBAAiB;YACnB,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,mDAAmD;AACnD,SAAS,WAAW,CAAI,CAAa,EAAE,EAAU,EAAE,KAAa;IAC9D,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,MAAM,CAAC,GAAG,UAAU,CAClB,GAAG,EAAE,CACH,MAAM,CACJ,IAAI,KAAK,CACP,wBAAwB,KAAK,iBAAiB,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,kBAAkB,CACvF,CACF,EACH,EAAE,CACH,CAAC;QACF,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE,EAAE;YACJ,YAAY,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,EACD,CAAC,CAAC,EAAE,EAAE;YACJ,YAAY,CAAC,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,7 +1,20 @@
1
+ import type { KgScope } from '../memory/memory-kg.js';
1
2
  import type { OrgDaemon } from './daemon.js';
2
3
  import type { RunSummary } from './reporting.js';
3
4
  import type { OrgDef } from './types.js';
5
+ /** THE resolver for an org's flat-memory namespace. Runtime writes and the
6
+ * `org memory <name> search` CLI both go through it — when the CLI hardcoded
7
+ * `org:<name>` instead, an org with a configured `memory_namespace` was
8
+ * searched in a namespace nothing had ever written to. */
4
9
  export declare function orgMemoryNamespace(name: string, def: OrgDef): string;
10
+ /** Ownership scope for everything this org puts in the knowledge graph.
11
+ *
12
+ * All orgs under one root share the org-memory store, so the KG needs the org
13
+ * named explicitly: without it, org A's entities, rules, glossary and
14
+ * rollbacks all reach org B's. Unlike flat memory this is keyed on the ORG
15
+ * NAME, not on `memory_namespace` — a shared or renamed flat namespace must
16
+ * not silently merge two orgs' graph claims. */
17
+ export declare function orgKgScope(name: string): KgScope;
5
18
  /** Store dir for org cross-run memory — inside the org root so the bridge's
6
19
  * path guard accepts it when the daemon runs from the project (the normal
7
20
  * case) and test roots stay isolated. */
@@ -16,9 +29,12 @@ export declare function agentMemoryNamespace(name: string, def: OrgDef, role: st
16
29
  /** org_remember implementation: a deliberate write to org-shared or
17
30
  * role-private memory (both in the org memory DB, split by namespace). */
18
31
  export declare function rememberOrgMemory(root: string, name: string, def: OrgDef, role: string, content: string, scope: 'org' | 'agent', run: string): Promise<string>;
19
- /** org_recall implementation: search the org's memory namespace via the
20
- * memory bridge (semantic when the local model is available, tokenized
21
- * keyword otherwise). Failures return a message, never throw into the tool. */
32
+ /** org_recall implementation: searches the org's flat memory namespaces AND
33
+ * the org's memory knowledge graph — independently, then merges. They used to
34
+ * be chained: an empty flat-memory result returned early, so an org whose
35
+ * knowledge lived only in the graph was told "nothing found" while the graph
36
+ * held the answer (graph-boundaries B3 / memory-KG K6). Failures return a
37
+ * message, never throw into the tool. */
22
38
  export declare function recallOrgMemory(daemon: OrgDaemon, name: string, def: OrgDef, query: string, role?: string): Promise<{
23
39
  text: string;
24
40
  hits: number;
@@ -1 +1 @@
1
- {"version":3,"file":"org-memory.d.ts","sourceRoot":"","sources":["../../../src/orgrt/org-memory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED;;0CAE0C;AAC1C,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;8EAG8E;AAC9E,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBpE;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpF;AAED;2EAC2E;AAC3E,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,GAAG,OAAO,EACtB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,CAqBjB;AAED;;gFAEgF;AAChF,wBAAsB,eAAe,CACnC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAgEzC;AAED;;;+CAG+C;AAC/C,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAmBzC;AAED;;8EAE8E;AAC9E,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;CAAE,GACnE,OAAO,CAAC,MAAM,CAAC,CAkCjB;AAED;0EAC0E;AAC1E,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CA8Df"}
1
+ {"version":3,"file":"org-memory.d.ts","sourceRoot":"","sources":["../../../src/orgrt/org-memory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC;;;2DAG2D;AAC3D,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED;;;;;;iDAMiD;AACjD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;0CAE0C;AAC1C,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;8EAG8E;AAC9E,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBpE;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpF;AAED;2EAC2E;AAC3E,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,GAAG,OAAO,EACtB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,CAqBjB;AAED;;;;;0CAK0C;AAC1C,wBAAsB,eAAe,CACnC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAwFzC;AAYD;;;+CAG+C;AAC/C,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAsBzC;AAED;;8EAE8E;AAC9E,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;CAAE,GACnE,OAAO,CAAC,MAAM,CAAC,CAyDjB;AAED;0EAC0E;AAC1E,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CAsEf"}