claudecode-omc 4.8.4 → 4.9.4

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 (1648) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +3 -3
  3. package/README.de.md +26 -0
  4. package/README.es.md +26 -0
  5. package/README.fr.md +26 -0
  6. package/README.it.md +26 -0
  7. package/README.ja.md +26 -0
  8. package/README.ko.md +26 -0
  9. package/README.md +80 -133
  10. package/README.pt.md +26 -0
  11. package/README.ru.md +26 -0
  12. package/README.tr.md +26 -0
  13. package/README.vi.md +26 -0
  14. package/README.zh.md +26 -0
  15. package/agents/analyst.md +1 -0
  16. package/agents/architect.md +1 -0
  17. package/agents/code-reviewer.md +1 -0
  18. package/agents/code-simplifier.md +1 -0
  19. package/agents/critic.md +1 -0
  20. package/agents/debugger.md +1 -0
  21. package/agents/designer.md +1 -0
  22. package/agents/document-specialist.md +1 -0
  23. package/agents/executor.md +1 -0
  24. package/agents/explore.md +21 -19
  25. package/agents/git-master.md +1 -0
  26. package/agents/planner.md +1 -0
  27. package/agents/qa-tester.md +1 -0
  28. package/agents/scientist.md +1 -0
  29. package/agents/security-reviewer.md +1 -0
  30. package/agents/test-engineer.md +1 -0
  31. package/agents/tracer.md +161 -0
  32. package/agents/verifier.md +21 -13
  33. package/agents/writer.md +1 -0
  34. package/bridge/cli.cjs +37707 -25194
  35. package/bridge/gyoshu_bridge.py +60 -15
  36. package/bridge/mcp-server.cjs +1323 -503
  37. package/bridge/runtime-cli.cjs +1220 -328
  38. package/bridge/team-bridge.cjs +140 -112
  39. package/bridge/team-mcp.cjs +325 -107
  40. package/bridge/team.js +2572 -1462
  41. package/dist/__tests__/agent-registry.test.js +5 -3
  42. package/dist/__tests__/agent-registry.test.js.map +1 -1
  43. package/dist/__tests__/auto-slash-aliases.test.js +149 -68
  44. package/dist/__tests__/auto-slash-aliases.test.js.map +1 -1
  45. package/dist/__tests__/auto-update.test.js +502 -3
  46. package/dist/__tests__/auto-update.test.js.map +1 -1
  47. package/dist/__tests__/background-cleanup-directory.test.d.ts +2 -0
  48. package/dist/__tests__/background-cleanup-directory.test.d.ts.map +1 -0
  49. package/dist/__tests__/background-cleanup-directory.test.js +57 -0
  50. package/dist/__tests__/background-cleanup-directory.test.js.map +1 -0
  51. package/dist/__tests__/bedrock-lm-suffix-hook.test.d.ts +24 -0
  52. package/dist/__tests__/bedrock-lm-suffix-hook.test.d.ts.map +1 -0
  53. package/dist/__tests__/bedrock-lm-suffix-hook.test.js +210 -0
  54. package/dist/__tests__/bedrock-lm-suffix-hook.test.js.map +1 -0
  55. package/dist/__tests__/cleanup-validation.test.js +5 -3
  56. package/dist/__tests__/cleanup-validation.test.js.map +1 -1
  57. package/dist/__tests__/context-guard-stop.test.js +20 -0
  58. package/dist/__tests__/context-guard-stop.test.js.map +1 -1
  59. package/dist/__tests__/context-safety.test.js +51 -22
  60. package/dist/__tests__/context-safety.test.js.map +1 -1
  61. package/dist/__tests__/deep-interview-provider-options.test.d.ts +2 -0
  62. package/dist/__tests__/deep-interview-provider-options.test.d.ts.map +1 -0
  63. package/dist/__tests__/deep-interview-provider-options.test.js +79 -0
  64. package/dist/__tests__/deep-interview-provider-options.test.js.map +1 -0
  65. package/dist/__tests__/delegation-enforcement-levels.test.js +4 -0
  66. package/dist/__tests__/delegation-enforcement-levels.test.js.map +1 -1
  67. package/dist/__tests__/delegation-enforcer.test.js +12 -0
  68. package/dist/__tests__/delegation-enforcer.test.js.map +1 -1
  69. package/dist/__tests__/doctor-conflicts.test.js +111 -24
  70. package/dist/__tests__/doctor-conflicts.test.js.map +1 -1
  71. package/dist/__tests__/featured-contributors-generator.test.d.ts +2 -0
  72. package/dist/__tests__/featured-contributors-generator.test.d.ts.map +1 -0
  73. package/dist/__tests__/featured-contributors-generator.test.js +118 -0
  74. package/dist/__tests__/featured-contributors-generator.test.js.map +1 -0
  75. package/dist/__tests__/hooks/learner/bridge.test.js +27 -1
  76. package/dist/__tests__/hooks/learner/bridge.test.js.map +1 -1
  77. package/dist/__tests__/hooks/learner/transliteration-map.test.d.ts +8 -0
  78. package/dist/__tests__/hooks/learner/transliteration-map.test.d.ts.map +1 -0
  79. package/dist/__tests__/hooks/learner/transliteration-map.test.js +183 -0
  80. package/dist/__tests__/hooks/learner/transliteration-map.test.js.map +1 -0
  81. package/dist/__tests__/hooks-command-escaping.test.d.ts +2 -0
  82. package/dist/__tests__/hooks-command-escaping.test.d.ts.map +1 -0
  83. package/dist/__tests__/hooks-command-escaping.test.js +41 -0
  84. package/dist/__tests__/hooks-command-escaping.test.js.map +1 -0
  85. package/dist/__tests__/hooks.test.js +13 -9
  86. package/dist/__tests__/hooks.test.js.map +1 -1
  87. package/dist/__tests__/hud/background-tasks.test.d.ts +2 -0
  88. package/dist/__tests__/hud/background-tasks.test.d.ts.map +1 -0
  89. package/dist/__tests__/hud/background-tasks.test.js +90 -0
  90. package/dist/__tests__/hud/background-tasks.test.js.map +1 -0
  91. package/dist/__tests__/hud/context.test.d.ts +2 -0
  92. package/dist/__tests__/hud/context.test.d.ts.map +1 -0
  93. package/dist/__tests__/hud/context.test.js +47 -0
  94. package/dist/__tests__/hud/context.test.js.map +1 -0
  95. package/dist/__tests__/hud/defaults.test.js +11 -0
  96. package/dist/__tests__/hud/defaults.test.js.map +1 -1
  97. package/dist/__tests__/hud/git.test.js +2 -1
  98. package/dist/__tests__/hud/git.test.js.map +1 -1
  99. package/dist/__tests__/hud/mission-board-state.test.js +32 -0
  100. package/dist/__tests__/hud/mission-board-state.test.js.map +1 -1
  101. package/dist/__tests__/hud/mission-board.test.js +1 -0
  102. package/dist/__tests__/hud/mission-board.test.js.map +1 -1
  103. package/dist/__tests__/hud/omc-state.test.d.ts +2 -0
  104. package/dist/__tests__/hud/omc-state.test.d.ts.map +1 -0
  105. package/dist/__tests__/hud/omc-state.test.js +123 -0
  106. package/dist/__tests__/hud/omc-state.test.js.map +1 -0
  107. package/dist/__tests__/hud/render-rate-limits-priority.test.js +1 -0
  108. package/dist/__tests__/hud/render-rate-limits-priority.test.js.map +1 -1
  109. package/dist/__tests__/hud/render.test.js +125 -0
  110. package/dist/__tests__/hud/render.test.js.map +1 -1
  111. package/dist/__tests__/hud/state.test.js +104 -47
  112. package/dist/__tests__/hud/state.test.js.map +1 -1
  113. package/dist/__tests__/hud/stdin.test.d.ts +2 -0
  114. package/dist/__tests__/hud/stdin.test.d.ts.map +1 -0
  115. package/dist/__tests__/hud/stdin.test.js +108 -0
  116. package/dist/__tests__/hud/stdin.test.js.map +1 -0
  117. package/dist/__tests__/hud/token-usage.test.d.ts +2 -0
  118. package/dist/__tests__/hud/token-usage.test.d.ts.map +1 -0
  119. package/dist/__tests__/hud/token-usage.test.js +143 -0
  120. package/dist/__tests__/hud/token-usage.test.js.map +1 -0
  121. package/dist/__tests__/hud/usage-api-lock.test.js +6 -3
  122. package/dist/__tests__/hud/usage-api-lock.test.js.map +1 -1
  123. package/dist/__tests__/hud/usage-api-stale.test.js +4 -2
  124. package/dist/__tests__/hud/usage-api-stale.test.js.map +1 -1
  125. package/dist/__tests__/hud/usage-api.test.js +128 -1
  126. package/dist/__tests__/hud/usage-api.test.js.map +1 -1
  127. package/dist/__tests__/hud/version-display.test.js +1 -0
  128. package/dist/__tests__/hud/version-display.test.js.map +1 -1
  129. package/dist/__tests__/hud/watch-mode-init.test.js +25 -3
  130. package/dist/__tests__/hud/watch-mode-init.test.js.map +1 -1
  131. package/dist/__tests__/hud-marketplace-resolution.test.js +25 -0
  132. package/dist/__tests__/hud-marketplace-resolution.test.js.map +1 -1
  133. package/dist/__tests__/hud-windows.test.js +11 -0
  134. package/dist/__tests__/hud-windows.test.js.map +1 -1
  135. package/dist/__tests__/installer-mcp-config.test.d.ts +2 -0
  136. package/dist/__tests__/installer-mcp-config.test.d.ts.map +1 -0
  137. package/dist/__tests__/installer-mcp-config.test.js +119 -0
  138. package/dist/__tests__/installer-mcp-config.test.js.map +1 -0
  139. package/dist/__tests__/installer-omc-reference.test.d.ts +2 -0
  140. package/dist/__tests__/installer-omc-reference.test.d.ts.map +1 -0
  141. package/dist/__tests__/installer-omc-reference.test.js +85 -0
  142. package/dist/__tests__/installer-omc-reference.test.js.map +1 -0
  143. package/dist/__tests__/job-management-sqlite.test.js +1 -1
  144. package/dist/__tests__/job-state-db.test.js +1 -1
  145. package/dist/__tests__/jobid-collision-safety.test.d.ts +10 -0
  146. package/dist/__tests__/jobid-collision-safety.test.d.ts.map +1 -0
  147. package/dist/__tests__/jobid-collision-safety.test.js +51 -0
  148. package/dist/__tests__/jobid-collision-safety.test.js.map +1 -0
  149. package/dist/__tests__/live-data.test.js +21 -0
  150. package/dist/__tests__/live-data.test.js.map +1 -1
  151. package/dist/__tests__/load-agent-prompt.test.js +10 -0
  152. package/dist/__tests__/load-agent-prompt.test.js.map +1 -1
  153. package/dist/__tests__/lsp-servers.test.js +14 -2
  154. package/dist/__tests__/lsp-servers.test.js.map +1 -1
  155. package/dist/__tests__/marketplace-metadata.test.d.ts +2 -0
  156. package/dist/__tests__/marketplace-metadata.test.d.ts.map +1 -0
  157. package/dist/__tests__/marketplace-metadata.test.js +20 -0
  158. package/dist/__tests__/marketplace-metadata.test.js.map +1 -0
  159. package/dist/__tests__/mcp-comm-inbox-dedup.test.d.ts +2 -0
  160. package/dist/__tests__/mcp-comm-inbox-dedup.test.d.ts.map +1 -0
  161. package/dist/__tests__/mcp-comm-inbox-dedup.test.js +105 -0
  162. package/dist/__tests__/mcp-comm-inbox-dedup.test.js.map +1 -0
  163. package/dist/__tests__/mnemosyne/finder.test.js +10 -0
  164. package/dist/__tests__/mnemosyne/finder.test.js.map +1 -1
  165. package/dist/__tests__/mode-names-ralplan.test.d.ts +2 -0
  166. package/dist/__tests__/mode-names-ralplan.test.d.ts.map +1 -0
  167. package/dist/__tests__/mode-names-ralplan.test.js +31 -0
  168. package/dist/__tests__/mode-names-ralplan.test.js.map +1 -0
  169. package/dist/__tests__/model-routing-esm.test.d.ts +2 -0
  170. package/dist/__tests__/model-routing-esm.test.d.ts.map +1 -0
  171. package/dist/__tests__/model-routing-esm.test.js +26 -0
  172. package/dist/__tests__/model-routing-esm.test.js.map +1 -0
  173. package/dist/__tests__/notepad.test.js +20 -0
  174. package/dist/__tests__/notepad.test.js.map +1 -1
  175. package/dist/__tests__/omc-cli-rendering.test.d.ts +2 -0
  176. package/dist/__tests__/omc-cli-rendering.test.d.ts.map +1 -0
  177. package/dist/__tests__/omc-cli-rendering.test.js +33 -0
  178. package/dist/__tests__/omc-cli-rendering.test.js.map +1 -0
  179. package/dist/__tests__/omc-tools-server.test.js +5 -5
  180. package/dist/__tests__/outbox-reader-partial-lines.test.d.ts +2 -0
  181. package/dist/__tests__/outbox-reader-partial-lines.test.d.ts.map +1 -0
  182. package/dist/__tests__/outbox-reader-partial-lines.test.js +49 -0
  183. package/dist/__tests__/outbox-reader-partial-lines.test.js.map +1 -0
  184. package/dist/__tests__/package-dir-resolution-regression.test.js +30 -0
  185. package/dist/__tests__/package-dir-resolution-regression.test.js.map +1 -1
  186. package/dist/__tests__/pipeline-signal-regex-escape.test.d.ts +2 -0
  187. package/dist/__tests__/pipeline-signal-regex-escape.test.d.ts.map +1 -0
  188. package/dist/__tests__/pipeline-signal-regex-escape.test.js +32 -0
  189. package/dist/__tests__/pipeline-signal-regex-escape.test.js.map +1 -0
  190. package/dist/__tests__/plugin-setup-devpaths.test.d.ts +2 -0
  191. package/dist/__tests__/plugin-setup-devpaths.test.d.ts.map +1 -0
  192. package/dist/__tests__/plugin-setup-devpaths.test.js +47 -0
  193. package/dist/__tests__/plugin-setup-devpaths.test.js.map +1 -0
  194. package/dist/__tests__/pre-compact-cwd.test.js +1 -1
  195. package/dist/__tests__/pre-tool-enforcer.test.js +101 -2
  196. package/dist/__tests__/pre-tool-enforcer.test.js.map +1 -1
  197. package/dist/__tests__/project-memory-merge.test.js +17 -0
  198. package/dist/__tests__/project-memory-merge.test.js.map +1 -1
  199. package/dist/__tests__/providers/bitbucket.test.js +70 -56
  200. package/dist/__tests__/providers/bitbucket.test.js.map +1 -1
  201. package/dist/__tests__/providers/gitea.test.js +36 -0
  202. package/dist/__tests__/providers/gitea.test.js.map +1 -1
  203. package/dist/__tests__/purge-stale-cache.test.js +17 -2
  204. package/dist/__tests__/purge-stale-cache.test.js.map +1 -1
  205. package/dist/__tests__/rate-limit-wait/daemon-bootstrap.test.js +7 -3
  206. package/dist/__tests__/rate-limit-wait/daemon-bootstrap.test.js.map +1 -1
  207. package/dist/__tests__/rate-limit-wait/integration.test.js +9 -5
  208. package/dist/__tests__/rate-limit-wait/integration.test.js.map +1 -1
  209. package/dist/__tests__/rate-limit-wait/tmux-detector.test.js +11 -11
  210. package/dist/__tests__/rate-limit-wait/tmux-detector.test.js.map +1 -1
  211. package/dist/__tests__/repo-slug-dots.test.d.ts +2 -0
  212. package/dist/__tests__/repo-slug-dots.test.d.ts.map +1 -0
  213. package/dist/__tests__/repo-slug-dots.test.js +24 -0
  214. package/dist/__tests__/repo-slug-dots.test.js.map +1 -0
  215. package/dist/__tests__/routing-force-inherit.test.js +31 -0
  216. package/dist/__tests__/routing-force-inherit.test.js.map +1 -1
  217. package/dist/__tests__/runtime-task-orphan.test.d.ts +2 -0
  218. package/dist/__tests__/runtime-task-orphan.test.d.ts.map +1 -0
  219. package/dist/__tests__/runtime-task-orphan.test.js +103 -0
  220. package/dist/__tests__/runtime-task-orphan.test.js.map +1 -0
  221. package/dist/__tests__/session-start-script-context.test.js +85 -0
  222. package/dist/__tests__/session-start-script-context.test.js.map +1 -1
  223. package/dist/__tests__/session-start-timeout-cleanup.test.d.ts +2 -0
  224. package/dist/__tests__/session-start-timeout-cleanup.test.d.ts.map +1 -0
  225. package/dist/__tests__/session-start-timeout-cleanup.test.js +26 -0
  226. package/dist/__tests__/session-start-timeout-cleanup.test.js.map +1 -0
  227. package/dist/__tests__/session-summary-pid-tracking.test.d.ts +2 -0
  228. package/dist/__tests__/session-summary-pid-tracking.test.d.ts.map +1 -0
  229. package/dist/__tests__/session-summary-pid-tracking.test.js +107 -0
  230. package/dist/__tests__/session-summary-pid-tracking.test.js.map +1 -0
  231. package/dist/__tests__/setup-claude-md-script.test.d.ts +2 -0
  232. package/dist/__tests__/setup-claude-md-script.test.d.ts.map +1 -0
  233. package/dist/__tests__/setup-claude-md-script.test.js +292 -0
  234. package/dist/__tests__/setup-claude-md-script.test.js.map +1 -0
  235. package/dist/__tests__/shared-state-locking.test.d.ts +10 -0
  236. package/dist/__tests__/shared-state-locking.test.d.ts.map +1 -0
  237. package/dist/__tests__/shared-state-locking.test.js +61 -0
  238. package/dist/__tests__/shared-state-locking.test.js.map +1 -0
  239. package/dist/__tests__/skills.test.js +135 -17
  240. package/dist/__tests__/skills.test.js.map +1 -1
  241. package/dist/__tests__/slack-fallback-removal.test.d.ts +2 -0
  242. package/dist/__tests__/slack-fallback-removal.test.d.ts.map +1 -0
  243. package/dist/__tests__/slack-fallback-removal.test.js +16 -0
  244. package/dist/__tests__/slack-fallback-removal.test.js.map +1 -0
  245. package/dist/__tests__/ssrf-guard.test.js +12 -0
  246. package/dist/__tests__/ssrf-guard.test.js.map +1 -1
  247. package/dist/__tests__/team-ops-task-locking.test.d.ts +2 -0
  248. package/dist/__tests__/team-ops-task-locking.test.d.ts.map +1 -0
  249. package/dist/__tests__/team-ops-task-locking.test.js +66 -0
  250. package/dist/__tests__/team-ops-task-locking.test.js.map +1 -0
  251. package/dist/__tests__/team-server-validation.test.js +6 -5
  252. package/dist/__tests__/team-server-validation.test.js.map +1 -1
  253. package/dist/__tests__/team-status-failed-count.test.d.ts +2 -0
  254. package/dist/__tests__/team-status-failed-count.test.d.ts.map +1 -0
  255. package/dist/__tests__/team-status-failed-count.test.js +91 -0
  256. package/dist/__tests__/team-status-failed-count.test.js.map +1 -0
  257. package/dist/__tests__/team-status-tmux-provider.test.d.ts +2 -0
  258. package/dist/__tests__/team-status-tmux-provider.test.d.ts.map +1 -0
  259. package/dist/__tests__/team-status-tmux-provider.test.js +39 -0
  260. package/dist/__tests__/team-status-tmux-provider.test.js.map +1 -0
  261. package/dist/__tests__/tier0-docs-consistency.test.js +42 -0
  262. package/dist/__tests__/tier0-docs-consistency.test.js.map +1 -1
  263. package/dist/__tests__/tools/ast-tools.test.d.ts +2 -0
  264. package/dist/__tests__/tools/ast-tools.test.d.ts.map +1 -0
  265. package/dist/__tests__/tools/ast-tools.test.js +74 -0
  266. package/dist/__tests__/tools/ast-tools.test.js.map +1 -0
  267. package/dist/__tests__/visual-verdict-skill.test.d.ts +2 -0
  268. package/dist/__tests__/visual-verdict-skill.test.d.ts.map +1 -0
  269. package/dist/__tests__/visual-verdict-skill.test.js +26 -0
  270. package/dist/__tests__/visual-verdict-skill.test.js.map +1 -0
  271. package/dist/__tests__/webhook-timeout-cleanup.test.d.ts +2 -0
  272. package/dist/__tests__/webhook-timeout-cleanup.test.d.ts.map +1 -0
  273. package/dist/__tests__/webhook-timeout-cleanup.test.js +18 -0
  274. package/dist/__tests__/webhook-timeout-cleanup.test.js.map +1 -0
  275. package/dist/__tests__/worktree-metadata-locking.test.d.ts +2 -0
  276. package/dist/__tests__/worktree-metadata-locking.test.d.ts.map +1 -0
  277. package/dist/__tests__/worktree-metadata-locking.test.js +51 -0
  278. package/dist/__tests__/worktree-metadata-locking.test.js.map +1 -0
  279. package/dist/agents/definitions.d.ts +2 -1
  280. package/dist/agents/definitions.d.ts.map +1 -1
  281. package/dist/agents/definitions.js +6 -1
  282. package/dist/agents/definitions.js.map +1 -1
  283. package/dist/agents/index.d.ts +1 -0
  284. package/dist/agents/index.d.ts.map +1 -1
  285. package/dist/agents/index.js +1 -0
  286. package/dist/agents/index.js.map +1 -1
  287. package/dist/agents/tracer.d.ts +11 -0
  288. package/dist/agents/tracer.d.ts.map +1 -0
  289. package/dist/agents/tracer.js +40 -0
  290. package/dist/agents/tracer.js.map +1 -0
  291. package/dist/agents/utils.d.ts.map +1 -1
  292. package/dist/agents/utils.js +2 -0
  293. package/dist/agents/utils.js.map +1 -1
  294. package/dist/autoresearch/__tests__/contracts.test.d.ts +2 -0
  295. package/dist/autoresearch/__tests__/contracts.test.d.ts.map +1 -0
  296. package/dist/autoresearch/__tests__/contracts.test.js +90 -0
  297. package/dist/autoresearch/__tests__/contracts.test.js.map +1 -0
  298. package/dist/autoresearch/__tests__/runtime-parity-extra.test.d.ts +2 -0
  299. package/dist/autoresearch/__tests__/runtime-parity-extra.test.d.ts.map +1 -0
  300. package/dist/autoresearch/__tests__/runtime-parity-extra.test.js +352 -0
  301. package/dist/autoresearch/__tests__/runtime-parity-extra.test.js.map +1 -0
  302. package/dist/autoresearch/__tests__/runtime.test.d.ts +2 -0
  303. package/dist/autoresearch/__tests__/runtime.test.d.ts.map +1 -0
  304. package/dist/autoresearch/__tests__/runtime.test.js +210 -0
  305. package/dist/autoresearch/__tests__/runtime.test.js.map +1 -0
  306. package/dist/autoresearch/__tests__/setup-contract.test.d.ts +2 -0
  307. package/dist/autoresearch/__tests__/setup-contract.test.d.ts.map +1 -0
  308. package/dist/autoresearch/__tests__/setup-contract.test.js +57 -0
  309. package/dist/autoresearch/__tests__/setup-contract.test.js.map +1 -0
  310. package/dist/autoresearch/contracts.d.ts +31 -0
  311. package/dist/autoresearch/contracts.d.ts.map +1 -0
  312. package/dist/autoresearch/contracts.js +189 -0
  313. package/dist/autoresearch/contracts.js.map +1 -0
  314. package/dist/autoresearch/runtime.d.ts +137 -0
  315. package/dist/autoresearch/runtime.d.ts.map +1 -0
  316. package/dist/autoresearch/runtime.js +1103 -0
  317. package/dist/autoresearch/runtime.js.map +1 -0
  318. package/dist/autoresearch/setup-contract.d.ts +18 -0
  319. package/dist/autoresearch/setup-contract.d.ts.map +1 -0
  320. package/dist/autoresearch/setup-contract.js +96 -0
  321. package/dist/autoresearch/setup-contract.js.map +1 -0
  322. package/dist/cli/__tests__/ask.test.js +32 -130
  323. package/dist/cli/__tests__/ask.test.js.map +1 -1
  324. package/dist/cli/__tests__/autoresearch-guided.test.d.ts +2 -0
  325. package/dist/cli/__tests__/autoresearch-guided.test.d.ts.map +1 -0
  326. package/dist/cli/__tests__/autoresearch-guided.test.js +389 -0
  327. package/dist/cli/__tests__/autoresearch-guided.test.js.map +1 -0
  328. package/dist/cli/__tests__/autoresearch-intake.test.d.ts +2 -0
  329. package/dist/cli/__tests__/autoresearch-intake.test.d.ts.map +1 -0
  330. package/dist/cli/__tests__/autoresearch-intake.test.js +131 -0
  331. package/dist/cli/__tests__/autoresearch-intake.test.js.map +1 -0
  332. package/dist/cli/__tests__/autoresearch-setup-session.test.d.ts +2 -0
  333. package/dist/cli/__tests__/autoresearch-setup-session.test.d.ts.map +1 -0
  334. package/dist/cli/__tests__/autoresearch-setup-session.test.js +73 -0
  335. package/dist/cli/__tests__/autoresearch-setup-session.test.js.map +1 -0
  336. package/dist/cli/__tests__/autoresearch.test.d.ts +2 -0
  337. package/dist/cli/__tests__/autoresearch.test.d.ts.map +1 -0
  338. package/dist/cli/__tests__/autoresearch.test.js +148 -0
  339. package/dist/cli/__tests__/autoresearch.test.js.map +1 -0
  340. package/dist/cli/__tests__/hud-watch.test.d.ts +2 -0
  341. package/dist/cli/__tests__/hud-watch.test.d.ts.map +1 -0
  342. package/dist/cli/__tests__/hud-watch.test.js +56 -0
  343. package/dist/cli/__tests__/hud-watch.test.js.map +1 -0
  344. package/dist/cli/__tests__/launch.test.js +82 -5
  345. package/dist/cli/__tests__/launch.test.js.map +1 -1
  346. package/dist/cli/__tests__/team.test.js +44 -2
  347. package/dist/cli/__tests__/team.test.js.map +1 -1
  348. package/dist/cli/__tests__/tmux-utils.test.js +41 -1
  349. package/dist/cli/__tests__/tmux-utils.test.js.map +1 -1
  350. package/dist/cli/autoresearch-guided.d.ts +37 -0
  351. package/dist/cli/autoresearch-guided.d.ts.map +1 -0
  352. package/dist/cli/autoresearch-guided.js +312 -0
  353. package/dist/cli/autoresearch-guided.js.map +1 -0
  354. package/dist/cli/autoresearch-intake.d.ts +60 -0
  355. package/dist/cli/autoresearch-intake.d.ts.map +1 -0
  356. package/dist/cli/autoresearch-intake.js +325 -0
  357. package/dist/cli/autoresearch-intake.js.map +1 -0
  358. package/dist/cli/autoresearch-setup-session.d.ts +15 -0
  359. package/dist/cli/autoresearch-setup-session.d.ts.map +1 -0
  360. package/dist/cli/autoresearch-setup-session.js +133 -0
  361. package/dist/cli/autoresearch-setup-session.js.map +1 -0
  362. package/dist/cli/autoresearch.d.ts +19 -0
  363. package/dist/cli/autoresearch.d.ts.map +1 -0
  364. package/dist/cli/autoresearch.js +330 -0
  365. package/dist/cli/autoresearch.js.map +1 -0
  366. package/dist/cli/commands/__tests__/team.test.js +88 -1
  367. package/dist/cli/commands/__tests__/team.test.js.map +1 -1
  368. package/dist/cli/commands/doctor-conflicts.d.ts +2 -0
  369. package/dist/cli/commands/doctor-conflicts.d.ts.map +1 -1
  370. package/dist/cli/commands/doctor-conflicts.js +44 -1
  371. package/dist/cli/commands/doctor-conflicts.js.map +1 -1
  372. package/dist/cli/commands/ralphthon.d.ts +30 -0
  373. package/dist/cli/commands/ralphthon.d.ts.map +1 -0
  374. package/dist/cli/commands/ralphthon.js +361 -0
  375. package/dist/cli/commands/ralphthon.js.map +1 -0
  376. package/dist/cli/commands/team.d.ts +39 -0
  377. package/dist/cli/commands/team.d.ts.map +1 -1
  378. package/dist/cli/commands/team.js +178 -19
  379. package/dist/cli/commands/team.js.map +1 -1
  380. package/dist/cli/commands/teleport.js +5 -5
  381. package/dist/cli/commands/teleport.js.map +1 -1
  382. package/dist/cli/hud-watch.d.ts +15 -0
  383. package/dist/cli/hud-watch.d.ts.map +1 -0
  384. package/dist/cli/hud-watch.js +37 -0
  385. package/dist/cli/hud-watch.js.map +1 -0
  386. package/dist/cli/index.d.ts +0 -1
  387. package/dist/cli/index.d.ts.map +1 -1
  388. package/dist/cli/index.js +39 -180
  389. package/dist/cli/index.js.map +1 -1
  390. package/dist/cli/launch.d.ts +9 -1
  391. package/dist/cli/launch.d.ts.map +1 -1
  392. package/dist/cli/launch.js +25 -4
  393. package/dist/cli/launch.js.map +1 -1
  394. package/dist/cli/team.d.ts +1 -0
  395. package/dist/cli/team.d.ts.map +1 -1
  396. package/dist/cli/team.js +42 -54
  397. package/dist/cli/team.js.map +1 -1
  398. package/dist/cli/tmux-utils.d.ts +3 -2
  399. package/dist/cli/tmux-utils.d.ts.map +1 -1
  400. package/dist/cli/tmux-utils.js +16 -3
  401. package/dist/cli/tmux-utils.js.map +1 -1
  402. package/dist/config/__tests__/loader.test.js +121 -67
  403. package/dist/config/__tests__/loader.test.js.map +1 -1
  404. package/dist/config/__tests__/models.test.js +114 -1
  405. package/dist/config/__tests__/models.test.js.map +1 -1
  406. package/dist/config/__tests__/plan-output.test.d.ts +2 -0
  407. package/dist/config/__tests__/plan-output.test.d.ts.map +1 -0
  408. package/dist/config/__tests__/plan-output.test.js +41 -0
  409. package/dist/config/__tests__/plan-output.test.js.map +1 -0
  410. package/dist/config/index.d.ts +2 -1
  411. package/dist/config/index.d.ts.map +1 -1
  412. package/dist/config/index.js +2 -1
  413. package/dist/config/index.js.map +1 -1
  414. package/dist/config/loader.d.ts +1 -1
  415. package/dist/config/loader.d.ts.map +1 -1
  416. package/dist/config/loader.js +280 -215
  417. package/dist/config/loader.js.map +1 -1
  418. package/dist/config/models.d.ts +33 -0
  419. package/dist/config/models.d.ts.map +1 -1
  420. package/dist/config/models.js +57 -0
  421. package/dist/config/models.js.map +1 -1
  422. package/dist/config/plan-output.d.ts +12 -0
  423. package/dist/config/plan-output.d.ts.map +1 -0
  424. package/dist/config/plan-output.js +67 -0
  425. package/dist/config/plan-output.js.map +1 -0
  426. package/dist/constants/names.d.ts +1 -5
  427. package/dist/constants/names.d.ts.map +1 -1
  428. package/dist/constants/names.js +1 -6
  429. package/dist/constants/names.js.map +1 -1
  430. package/dist/features/auto-update.d.ts +8 -0
  431. package/dist/features/auto-update.d.ts.map +1 -1
  432. package/dist/features/auto-update.js +218 -24
  433. package/dist/features/auto-update.js.map +1 -1
  434. package/dist/features/boulder-state/storage.d.ts.map +1 -1
  435. package/dist/features/boulder-state/storage.js +15 -10
  436. package/dist/features/boulder-state/storage.js.map +1 -1
  437. package/dist/features/builtin-skills/runtime-guidance.d.ts +9 -0
  438. package/dist/features/builtin-skills/runtime-guidance.d.ts.map +1 -0
  439. package/dist/features/builtin-skills/runtime-guidance.js +35 -0
  440. package/dist/features/builtin-skills/runtime-guidance.js.map +1 -0
  441. package/dist/features/builtin-skills/skills.d.ts.map +1 -1
  442. package/dist/features/builtin-skills/skills.js +32 -7
  443. package/dist/features/builtin-skills/skills.js.map +1 -1
  444. package/dist/features/continuation-enforcement.d.ts.map +1 -1
  445. package/dist/features/continuation-enforcement.js +3 -2
  446. package/dist/features/continuation-enforcement.js.map +1 -1
  447. package/dist/features/delegation-categories/__tests__/index.test.d.ts.map +1 -0
  448. package/dist/features/delegation-categories/__tests__/index.test.js +19 -0
  449. package/dist/features/delegation-categories/__tests__/index.test.js.map +1 -0
  450. package/dist/features/delegation-enforcer.d.ts.map +1 -1
  451. package/dist/features/delegation-enforcer.js +62 -3
  452. package/dist/features/delegation-enforcer.js.map +1 -1
  453. package/dist/features/magic-keywords.d.ts +1 -1
  454. package/dist/features/magic-keywords.d.ts.map +1 -1
  455. package/dist/features/magic-keywords.js +42 -12
  456. package/dist/features/magic-keywords.js.map +1 -1
  457. package/dist/features/model-routing/__tests__/index.test.d.ts +2 -0
  458. package/dist/features/model-routing/__tests__/index.test.d.ts.map +1 -0
  459. package/dist/features/model-routing/__tests__/index.test.js +21 -0
  460. package/dist/features/model-routing/__tests__/index.test.js.map +1 -0
  461. package/dist/features/model-routing/index.d.ts.map +1 -1
  462. package/dist/features/model-routing/index.js +3 -2
  463. package/dist/features/model-routing/index.js.map +1 -1
  464. package/dist/features/model-routing/signals.js +1 -1
  465. package/dist/features/model-routing/signals.js.map +1 -1
  466. package/dist/features/model-routing/types.d.ts +1 -1
  467. package/dist/features/rate-limit-wait/daemon.d.ts.map +1 -1
  468. package/dist/features/rate-limit-wait/daemon.js +11 -22
  469. package/dist/features/rate-limit-wait/daemon.js.map +1 -1
  470. package/dist/features/rate-limit-wait/tmux-detector.js +6 -6
  471. package/dist/features/rate-limit-wait/tmux-detector.js.map +1 -1
  472. package/dist/features/rate-limit-wait/types.d.ts +3 -3
  473. package/dist/features/rate-limit-wait/types.d.ts.map +1 -1
  474. package/dist/features/state-manager/index.d.ts +2 -2
  475. package/dist/features/state-manager/index.d.ts.map +1 -1
  476. package/dist/features/state-manager/index.js +12 -8
  477. package/dist/features/state-manager/index.js.map +1 -1
  478. package/dist/features/state-manager/types.d.ts +2 -2
  479. package/dist/features/state-manager/types.d.ts.map +1 -1
  480. package/dist/features/state-manager/types.js +2 -2
  481. package/dist/features/state-manager/types.js.map +1 -1
  482. package/dist/features/task-decomposer/index.js +3 -1
  483. package/dist/features/task-decomposer/index.js.map +1 -1
  484. package/dist/features/verification/index.d.ts.map +1 -1
  485. package/dist/features/verification/index.js +4 -2
  486. package/dist/features/verification/index.js.map +1 -1
  487. package/dist/hooks/__tests__/background-process-guard.test.js +151 -3
  488. package/dist/hooks/__tests__/background-process-guard.test.js.map +1 -1
  489. package/dist/hooks/__tests__/bridge-openclaw.test.js +15 -0
  490. package/dist/hooks/__tests__/bridge-openclaw.test.js.map +1 -1
  491. package/dist/hooks/__tests__/bridge-routing.test.js +130 -0
  492. package/dist/hooks/__tests__/bridge-routing.test.js.map +1 -1
  493. package/dist/hooks/__tests__/bridge-team-worker-guard.test.js +1 -1
  494. package/dist/hooks/__tests__/bridge-team-worker-guard.test.js.map +1 -1
  495. package/dist/hooks/__tests__/bridge.test.js +101 -0
  496. package/dist/hooks/__tests__/bridge.test.js.map +1 -1
  497. package/dist/hooks/__tests__/team-worker-heartbeat.test.d.ts +10 -0
  498. package/dist/hooks/__tests__/team-worker-heartbeat.test.d.ts.map +1 -0
  499. package/dist/hooks/__tests__/team-worker-heartbeat.test.js +87 -0
  500. package/dist/hooks/__tests__/team-worker-heartbeat.test.js.map +1 -0
  501. package/dist/hooks/auto-slash-command/executor.d.ts.map +1 -1
  502. package/dist/hooks/auto-slash-command/executor.js +134 -70
  503. package/dist/hooks/auto-slash-command/executor.js.map +1 -1
  504. package/dist/hooks/auto-slash-command/live-data.d.ts.map +1 -1
  505. package/dist/hooks/auto-slash-command/live-data.js +12 -0
  506. package/dist/hooks/auto-slash-command/live-data.js.map +1 -1
  507. package/dist/hooks/autopilot/__tests__/prompts.test.js +61 -52
  508. package/dist/hooks/autopilot/__tests__/prompts.test.js.map +1 -1
  509. package/dist/hooks/autopilot/__tests__/state.test.js +34 -34
  510. package/dist/hooks/autopilot/adapters/execution-adapter.d.ts +1 -1
  511. package/dist/hooks/autopilot/adapters/execution-adapter.d.ts.map +1 -1
  512. package/dist/hooks/autopilot/adapters/execution-adapter.js +6 -5
  513. package/dist/hooks/autopilot/adapters/execution-adapter.js.map +1 -1
  514. package/dist/hooks/autopilot/adapters/ralplan-adapter.d.ts +1 -1
  515. package/dist/hooks/autopilot/adapters/ralplan-adapter.d.ts.map +1 -1
  516. package/dist/hooks/autopilot/adapters/ralplan-adapter.js +8 -7
  517. package/dist/hooks/autopilot/adapters/ralplan-adapter.js.map +1 -1
  518. package/dist/hooks/autopilot/enforcement.d.ts +2 -2
  519. package/dist/hooks/autopilot/enforcement.d.ts.map +1 -1
  520. package/dist/hooks/autopilot/enforcement.js +98 -70
  521. package/dist/hooks/autopilot/enforcement.js.map +1 -1
  522. package/dist/hooks/autopilot/pipeline-types.d.ts +8 -6
  523. package/dist/hooks/autopilot/pipeline-types.d.ts.map +1 -1
  524. package/dist/hooks/autopilot/pipeline-types.js +9 -9
  525. package/dist/hooks/autopilot/pipeline-types.js.map +1 -1
  526. package/dist/hooks/autopilot/pipeline.d.ts +3 -3
  527. package/dist/hooks/autopilot/pipeline.d.ts.map +1 -1
  528. package/dist/hooks/autopilot/pipeline.js +51 -36
  529. package/dist/hooks/autopilot/pipeline.js.map +1 -1
  530. package/dist/hooks/autopilot/prompts.d.ts +4 -2
  531. package/dist/hooks/autopilot/prompts.d.ts.map +1 -1
  532. package/dist/hooks/autopilot/prompts.js +31 -24
  533. package/dist/hooks/autopilot/prompts.js.map +1 -1
  534. package/dist/hooks/autopilot/state.d.ts.map +1 -1
  535. package/dist/hooks/autopilot/state.js +21 -14
  536. package/dist/hooks/autopilot/state.js.map +1 -1
  537. package/dist/hooks/bridge.d.ts.map +1 -1
  538. package/dist/hooks/bridge.js +329 -71
  539. package/dist/hooks/bridge.js.map +1 -1
  540. package/dist/hooks/code-simplifier/index.d.ts +3 -2
  541. package/dist/hooks/code-simplifier/index.d.ts.map +1 -1
  542. package/dist/hooks/code-simplifier/index.js +15 -12
  543. package/dist/hooks/code-simplifier/index.js.map +1 -1
  544. package/dist/hooks/comment-checker/index.d.ts.map +1 -1
  545. package/dist/hooks/comment-checker/index.js +0 -17
  546. package/dist/hooks/comment-checker/index.js.map +1 -1
  547. package/dist/hooks/index.d.ts +0 -1
  548. package/dist/hooks/index.d.ts.map +1 -1
  549. package/dist/hooks/index.js +0 -8
  550. package/dist/hooks/index.js.map +1 -1
  551. package/dist/hooks/keyword-detector/__tests__/index.test.js +304 -0
  552. package/dist/hooks/keyword-detector/__tests__/index.test.js.map +1 -1
  553. package/dist/hooks/keyword-detector/index.d.ts.map +1 -1
  554. package/dist/hooks/keyword-detector/index.js +46 -16
  555. package/dist/hooks/keyword-detector/index.js.map +1 -1
  556. package/dist/hooks/learner/bridge.d.ts +1 -0
  557. package/dist/hooks/learner/bridge.d.ts.map +1 -1
  558. package/dist/hooks/learner/bridge.js +30 -19
  559. package/dist/hooks/learner/bridge.js.map +1 -1
  560. package/dist/hooks/learner/constants.d.ts +2 -0
  561. package/dist/hooks/learner/constants.d.ts.map +1 -1
  562. package/dist/hooks/learner/constants.js +2 -0
  563. package/dist/hooks/learner/constants.js.map +1 -1
  564. package/dist/hooks/learner/finder.d.ts.map +1 -1
  565. package/dist/hooks/learner/finder.js +25 -20
  566. package/dist/hooks/learner/finder.js.map +1 -1
  567. package/dist/hooks/learner/transliteration-map.d.ts +30 -0
  568. package/dist/hooks/learner/transliteration-map.d.ts.map +1 -0
  569. package/dist/hooks/learner/transliteration-map.js +51 -0
  570. package/dist/hooks/learner/transliteration-map.js.map +1 -0
  571. package/dist/hooks/non-interactive-env/index.d.ts.map +1 -1
  572. package/dist/hooks/non-interactive-env/index.js +5 -5
  573. package/dist/hooks/non-interactive-env/index.js.map +1 -1
  574. package/dist/hooks/non-interactive-env/index.test.d.ts +2 -0
  575. package/dist/hooks/non-interactive-env/index.test.d.ts.map +1 -0
  576. package/dist/hooks/non-interactive-env/index.test.js +30 -0
  577. package/dist/hooks/non-interactive-env/index.test.js.map +1 -0
  578. package/dist/hooks/notepad/index.d.ts.map +1 -1
  579. package/dist/hooks/notepad/index.js +20 -6
  580. package/dist/hooks/notepad/index.js.map +1 -1
  581. package/dist/hooks/omc-orchestrator/index.d.ts.map +1 -1
  582. package/dist/hooks/omc-orchestrator/index.js +6 -2
  583. package/dist/hooks/omc-orchestrator/index.js.map +1 -1
  584. package/dist/hooks/permission-handler/__tests__/index.test.js +9 -1
  585. package/dist/hooks/permission-handler/__tests__/index.test.js.map +1 -1
  586. package/dist/hooks/permission-handler/index.d.ts +2 -0
  587. package/dist/hooks/permission-handler/index.d.ts.map +1 -1
  588. package/dist/hooks/permission-handler/index.js +67 -7
  589. package/dist/hooks/permission-handler/index.js.map +1 -1
  590. package/dist/hooks/persistent-mode/__tests__/idle-cooldown.test.js +79 -15
  591. package/dist/hooks/persistent-mode/__tests__/idle-cooldown.test.js.map +1 -1
  592. package/dist/hooks/persistent-mode/__tests__/ralph-verification-flow.test.js +1 -1
  593. package/dist/hooks/persistent-mode/__tests__/ralph-verification-flow.test.js.map +1 -1
  594. package/dist/hooks/persistent-mode/__tests__/skill-state-stop.test.js +36 -1
  595. package/dist/hooks/persistent-mode/__tests__/skill-state-stop.test.js.map +1 -1
  596. package/dist/hooks/persistent-mode/__tests__/team-ralplan-stop.test.js +113 -2
  597. package/dist/hooks/persistent-mode/__tests__/team-ralplan-stop.test.js.map +1 -1
  598. package/dist/hooks/persistent-mode/index.d.ts +1 -1
  599. package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
  600. package/dist/hooks/persistent-mode/index.js +50 -14
  601. package/dist/hooks/persistent-mode/index.js.map +1 -1
  602. package/dist/hooks/persistent-mode/session-isolation.test.js +20 -14
  603. package/dist/hooks/persistent-mode/session-isolation.test.js.map +1 -1
  604. package/dist/hooks/persistent-mode/stop-hook-blocking.test.js +173 -5
  605. package/dist/hooks/persistent-mode/stop-hook-blocking.test.js.map +1 -1
  606. package/dist/hooks/project-memory/__tests__/formatter.test.js +244 -191
  607. package/dist/hooks/project-memory/__tests__/formatter.test.js.map +1 -1
  608. package/dist/hooks/project-memory/__tests__/integration.test.js +185 -101
  609. package/dist/hooks/project-memory/__tests__/integration.test.js.map +1 -1
  610. package/dist/hooks/project-memory/__tests__/pre-compact.test.d.ts +5 -0
  611. package/dist/hooks/project-memory/__tests__/pre-compact.test.d.ts.map +1 -0
  612. package/dist/hooks/project-memory/__tests__/pre-compact.test.js +121 -0
  613. package/dist/hooks/project-memory/__tests__/pre-compact.test.js.map +1 -0
  614. package/dist/hooks/project-memory/formatter.d.ts +2 -2
  615. package/dist/hooks/project-memory/formatter.d.ts.map +1 -1
  616. package/dist/hooks/project-memory/formatter.js +167 -92
  617. package/dist/hooks/project-memory/formatter.js.map +1 -1
  618. package/dist/hooks/project-memory/hot-path-tracker.d.ts +3 -3
  619. package/dist/hooks/project-memory/hot-path-tracker.d.ts.map +1 -1
  620. package/dist/hooks/project-memory/hot-path-tracker.js +71 -27
  621. package/dist/hooks/project-memory/hot-path-tracker.js.map +1 -1
  622. package/dist/hooks/project-memory/index.d.ts +0 -20
  623. package/dist/hooks/project-memory/index.d.ts.map +1 -1
  624. package/dist/hooks/project-memory/index.js +37 -39
  625. package/dist/hooks/project-memory/index.js.map +1 -1
  626. package/dist/hooks/project-memory/pre-compact.d.ts.map +1 -1
  627. package/dist/hooks/project-memory/pre-compact.js +2 -1
  628. package/dist/hooks/project-memory/pre-compact.js.map +1 -1
  629. package/dist/hooks/project-memory/types.d.ts +11 -6
  630. package/dist/hooks/project-memory/types.d.ts.map +1 -1
  631. package/dist/hooks/ralph/verifier.d.ts.map +1 -1
  632. package/dist/hooks/ralph/verifier.js +2 -1
  633. package/dist/hooks/ralph/verifier.js.map +1 -1
  634. package/dist/hooks/recovery/session-recovery.d.ts.map +1 -1
  635. package/dist/hooks/recovery/session-recovery.js +7 -4
  636. package/dist/hooks/recovery/session-recovery.js.map +1 -1
  637. package/dist/hooks/session-end/__tests__/mode-state-cleanup.test.js +28 -0
  638. package/dist/hooks/session-end/__tests__/mode-state-cleanup.test.js.map +1 -1
  639. package/dist/hooks/session-end/__tests__/session-end-timeout.test.d.ts +2 -0
  640. package/dist/hooks/session-end/__tests__/session-end-timeout.test.d.ts.map +1 -0
  641. package/dist/hooks/session-end/__tests__/session-end-timeout.test.js +91 -0
  642. package/dist/hooks/session-end/__tests__/session-end-timeout.test.js.map +1 -0
  643. package/dist/hooks/session-end/__tests__/team-cleanup.test.d.ts +2 -0
  644. package/dist/hooks/session-end/__tests__/team-cleanup.test.d.ts.map +1 -0
  645. package/dist/hooks/session-end/__tests__/team-cleanup.test.js +150 -0
  646. package/dist/hooks/session-end/__tests__/team-cleanup.test.js.map +1 -0
  647. package/dist/hooks/session-end/index.d.ts +9 -0
  648. package/dist/hooks/session-end/index.d.ts.map +1 -1
  649. package/dist/hooks/session-end/index.js +178 -30
  650. package/dist/hooks/session-end/index.js.map +1 -1
  651. package/dist/hooks/setup/__tests__/windows-patch.test.js +8 -7
  652. package/dist/hooks/setup/__tests__/windows-patch.test.js.map +1 -1
  653. package/dist/hooks/setup/index.d.ts +1 -1
  654. package/dist/hooks/setup/index.js +3 -3
  655. package/dist/hooks/setup/index.js.map +1 -1
  656. package/dist/hooks/skill-bridge.cjs +48 -16
  657. package/dist/hooks/skill-state/__tests__/skill-state.test.js +74 -8
  658. package/dist/hooks/skill-state/__tests__/skill-state.test.js.map +1 -1
  659. package/dist/hooks/skill-state/index.d.ts +18 -4
  660. package/dist/hooks/skill-state/index.d.ts.map +1 -1
  661. package/dist/hooks/skill-state/index.js +43 -7
  662. package/dist/hooks/skill-state/index.js.map +1 -1
  663. package/dist/hooks/subagent-tracker/__tests__/index.test.js +42 -1
  664. package/dist/hooks/subagent-tracker/__tests__/index.test.js.map +1 -1
  665. package/dist/hooks/subagent-tracker/index.d.ts +5 -0
  666. package/dist/hooks/subagent-tracker/index.d.ts.map +1 -1
  667. package/dist/hooks/subagent-tracker/index.js +62 -49
  668. package/dist/hooks/subagent-tracker/index.js.map +1 -1
  669. package/dist/hooks/team-dispatch-hook.d.ts.map +1 -1
  670. package/dist/hooks/team-dispatch-hook.js +4 -2
  671. package/dist/hooks/team-dispatch-hook.js.map +1 -1
  672. package/dist/hooks/team-leader-nudge-hook.d.ts +6 -0
  673. package/dist/hooks/team-leader-nudge-hook.d.ts.map +1 -1
  674. package/dist/hooks/team-leader-nudge-hook.js +113 -15
  675. package/dist/hooks/team-leader-nudge-hook.js.map +1 -1
  676. package/dist/hooks/team-worker-hook.d.ts.map +1 -1
  677. package/dist/hooks/team-worker-hook.js +6 -3
  678. package/dist/hooks/team-worker-hook.js.map +1 -1
  679. package/dist/hud/background-cleanup.d.ts +3 -3
  680. package/dist/hud/background-cleanup.d.ts.map +1 -1
  681. package/dist/hud/background-cleanup.js +9 -9
  682. package/dist/hud/background-cleanup.js.map +1 -1
  683. package/dist/hud/background-tasks.d.ts +7 -0
  684. package/dist/hud/background-tasks.d.ts.map +1 -1
  685. package/dist/hud/background-tasks.js +83 -0
  686. package/dist/hud/background-tasks.js.map +1 -1
  687. package/dist/hud/elements/context.d.ts +12 -2
  688. package/dist/hud/elements/context.d.ts.map +1 -1
  689. package/dist/hud/elements/context.js +86 -35
  690. package/dist/hud/elements/context.js.map +1 -1
  691. package/dist/hud/elements/git.d.ts +4 -0
  692. package/dist/hud/elements/git.d.ts.map +1 -1
  693. package/dist/hud/elements/git.js +39 -9
  694. package/dist/hud/elements/git.js.map +1 -1
  695. package/dist/hud/elements/index.d.ts +1 -0
  696. package/dist/hud/elements/index.d.ts.map +1 -1
  697. package/dist/hud/elements/index.js +1 -0
  698. package/dist/hud/elements/index.js.map +1 -1
  699. package/dist/hud/elements/session-summary.d.ts +23 -0
  700. package/dist/hud/elements/session-summary.d.ts.map +1 -0
  701. package/dist/hud/elements/session-summary.js +23 -0
  702. package/dist/hud/elements/session-summary.js.map +1 -0
  703. package/dist/hud/elements/token-usage.d.ts +8 -0
  704. package/dist/hud/elements/token-usage.d.ts.map +1 -0
  705. package/dist/hud/elements/token-usage.js +24 -0
  706. package/dist/hud/elements/token-usage.js.map +1 -0
  707. package/dist/hud/index.d.ts +4 -0
  708. package/dist/hud/index.d.ts.map +1 -1
  709. package/dist/hud/index.js +165 -32
  710. package/dist/hud/index.js.map +1 -1
  711. package/dist/hud/mission-board.d.ts.map +1 -1
  712. package/dist/hud/mission-board.js +8 -2
  713. package/dist/hud/mission-board.js.map +1 -1
  714. package/dist/hud/omc-state.d.ts +5 -5
  715. package/dist/hud/omc-state.d.ts.map +1 -1
  716. package/dist/hud/omc-state.js +20 -16
  717. package/dist/hud/omc-state.js.map +1 -1
  718. package/dist/hud/render.d.ts +1 -1
  719. package/dist/hud/render.d.ts.map +1 -1
  720. package/dist/hud/render.js +69 -54
  721. package/dist/hud/render.js.map +1 -1
  722. package/dist/hud/state.d.ts +3 -3
  723. package/dist/hud/state.d.ts.map +1 -1
  724. package/dist/hud/state.js +110 -57
  725. package/dist/hud/state.js.map +1 -1
  726. package/dist/hud/stdin.d.ts +8 -1
  727. package/dist/hud/stdin.d.ts.map +1 -1
  728. package/dist/hud/stdin.js +60 -13
  729. package/dist/hud/stdin.js.map +1 -1
  730. package/dist/hud/transcript.d.ts.map +1 -1
  731. package/dist/hud/transcript.js +148 -35
  732. package/dist/hud/transcript.js.map +1 -1
  733. package/dist/hud/types.d.ts +30 -13
  734. package/dist/hud/types.d.ts.map +1 -1
  735. package/dist/hud/types.js +24 -0
  736. package/dist/hud/types.js.map +1 -1
  737. package/dist/hud/usage-api.d.ts.map +1 -1
  738. package/dist/hud/usage-api.js +57 -24
  739. package/dist/hud/usage-api.js.map +1 -1
  740. package/dist/index.d.ts +1 -1
  741. package/dist/index.d.ts.map +1 -1
  742. package/dist/index.js +1 -1
  743. package/dist/index.js.map +1 -1
  744. package/dist/installer/__tests__/claude-md-merge.test.js +23 -0
  745. package/dist/installer/__tests__/claude-md-merge.test.js.map +1 -1
  746. package/dist/installer/__tests__/hook-templates.test.js +50 -5
  747. package/dist/installer/__tests__/hook-templates.test.js.map +1 -1
  748. package/dist/installer/__tests__/mcp-registry.test.d.ts +2 -0
  749. package/dist/installer/__tests__/mcp-registry.test.d.ts.map +1 -0
  750. package/dist/installer/__tests__/mcp-registry.test.js +316 -0
  751. package/dist/installer/__tests__/mcp-registry.test.js.map +1 -0
  752. package/dist/installer/__tests__/session-start-template.test.d.ts +2 -0
  753. package/dist/installer/__tests__/session-start-template.test.d.ts.map +1 -0
  754. package/dist/installer/__tests__/session-start-template.test.js +95 -0
  755. package/dist/installer/__tests__/session-start-template.test.js.map +1 -0
  756. package/dist/installer/hooks.d.ts +0 -14
  757. package/dist/installer/hooks.d.ts.map +1 -1
  758. package/dist/installer/hooks.js +0 -33
  759. package/dist/installer/hooks.js.map +1 -1
  760. package/dist/installer/index.d.ts +2 -0
  761. package/dist/installer/index.d.ts.map +1 -1
  762. package/dist/installer/index.js +71 -7
  763. package/dist/installer/index.js.map +1 -1
  764. package/dist/installer/mcp-registry.d.ts +48 -0
  765. package/dist/installer/mcp-registry.d.ts.map +1 -0
  766. package/dist/installer/mcp-registry.js +453 -0
  767. package/dist/installer/mcp-registry.js.map +1 -0
  768. package/dist/interop/omx-team-state.d.ts +2 -0
  769. package/dist/interop/omx-team-state.d.ts.map +1 -1
  770. package/dist/interop/omx-team-state.js.map +1 -1
  771. package/dist/interop/shared-state.d.ts.map +1 -1
  772. package/dist/interop/shared-state.js +21 -18
  773. package/dist/interop/shared-state.js.map +1 -1
  774. package/dist/lib/__tests__/mode-state-io.test.js +58 -8
  775. package/dist/lib/__tests__/mode-state-io.test.js.map +1 -1
  776. package/dist/lib/__tests__/swallowed-error.test.d.ts +2 -0
  777. package/dist/lib/__tests__/swallowed-error.test.d.ts.map +1 -0
  778. package/dist/lib/__tests__/swallowed-error.test.js +19 -0
  779. package/dist/lib/__tests__/swallowed-error.test.js.map +1 -0
  780. package/dist/lib/featured-contributors.d.ts +54 -0
  781. package/dist/lib/featured-contributors.d.ts.map +1 -0
  782. package/dist/lib/featured-contributors.js +290 -0
  783. package/dist/lib/featured-contributors.js.map +1 -0
  784. package/dist/lib/file-lock.d.ts.map +1 -1
  785. package/dist/lib/file-lock.js +49 -51
  786. package/dist/lib/file-lock.js.map +1 -1
  787. package/dist/lib/mode-names.d.ts +1 -0
  788. package/dist/lib/mode-names.d.ts.map +1 -1
  789. package/dist/lib/mode-names.js +5 -0
  790. package/dist/lib/mode-names.js.map +1 -1
  791. package/dist/lib/mode-state-io.d.ts +2 -0
  792. package/dist/lib/mode-state-io.d.ts.map +1 -1
  793. package/dist/lib/mode-state-io.js +57 -11
  794. package/dist/lib/mode-state-io.js.map +1 -1
  795. package/dist/lib/project-memory-merge.d.ts.map +1 -1
  796. package/dist/lib/project-memory-merge.js +2 -0
  797. package/dist/lib/project-memory-merge.js.map +1 -1
  798. package/dist/lib/shared-memory.d.ts.map +1 -1
  799. package/dist/lib/shared-memory.js +40 -21
  800. package/dist/lib/shared-memory.js.map +1 -1
  801. package/dist/lib/swallowed-error.d.ts +4 -0
  802. package/dist/lib/swallowed-error.d.ts.map +1 -0
  803. package/dist/lib/swallowed-error.js +26 -0
  804. package/dist/lib/swallowed-error.js.map +1 -0
  805. package/dist/lib/worktree-paths.d.ts +1 -0
  806. package/dist/lib/worktree-paths.d.ts.map +1 -1
  807. package/dist/lib/worktree-paths.js +1 -0
  808. package/dist/lib/worktree-paths.js.map +1 -1
  809. package/dist/mcp/__tests__/prompt-injection.test.js +15 -0
  810. package/dist/mcp/__tests__/prompt-injection.test.js.map +1 -1
  811. package/dist/mcp/__tests__/standalone-shutdown.test.d.ts +2 -0
  812. package/dist/mcp/__tests__/standalone-shutdown.test.d.ts.map +1 -0
  813. package/dist/mcp/__tests__/standalone-shutdown.test.js +57 -0
  814. package/dist/mcp/__tests__/standalone-shutdown.test.js.map +1 -0
  815. package/dist/mcp/__tests__/team-cleanup.test.js +5 -5
  816. package/dist/mcp/job-management.d.ts +4 -0
  817. package/dist/mcp/job-management.d.ts.map +1 -1
  818. package/dist/mcp/job-management.js +30 -10
  819. package/dist/mcp/job-management.js.map +1 -1
  820. package/dist/mcp/omc-tools-server.d.ts +2 -0
  821. package/dist/mcp/omc-tools-server.d.ts.map +1 -1
  822. package/dist/mcp/omc-tools-server.js +10 -2
  823. package/dist/mcp/omc-tools-server.js.map +1 -1
  824. package/dist/mcp/prompt-injection.d.ts.map +1 -1
  825. package/dist/mcp/prompt-injection.js +25 -4
  826. package/dist/mcp/prompt-injection.js.map +1 -1
  827. package/dist/mcp/prompt-persistence.js +1 -1
  828. package/dist/mcp/prompt-persistence.js.map +1 -1
  829. package/dist/mcp/standalone-server.js +15 -4
  830. package/dist/mcp/standalone-server.js.map +1 -1
  831. package/dist/mcp/standalone-shutdown.d.ts +25 -0
  832. package/dist/mcp/standalone-shutdown.d.ts.map +1 -0
  833. package/dist/mcp/standalone-shutdown.js +68 -0
  834. package/dist/mcp/standalone-shutdown.js.map +1 -0
  835. package/dist/mcp/team-job-convergence.d.ts +0 -1
  836. package/dist/mcp/team-job-convergence.d.ts.map +1 -1
  837. package/dist/mcp/team-job-convergence.js +0 -9
  838. package/dist/mcp/team-job-convergence.js.map +1 -1
  839. package/dist/mcp/team-server.d.ts.map +1 -1
  840. package/dist/mcp/team-server.js +18 -11
  841. package/dist/mcp/team-server.js.map +1 -1
  842. package/dist/notifications/__tests__/reply-listener.test.js +57 -1
  843. package/dist/notifications/__tests__/reply-listener.test.js.map +1 -1
  844. package/dist/notifications/config.d.ts.map +1 -1
  845. package/dist/notifications/config.js +36 -3
  846. package/dist/notifications/config.js.map +1 -1
  847. package/dist/notifications/dispatcher.d.ts.map +1 -1
  848. package/dist/notifications/dispatcher.js +18 -14
  849. package/dist/notifications/dispatcher.js.map +1 -1
  850. package/dist/notifications/redact.d.ts.map +1 -1
  851. package/dist/notifications/redact.js +10 -1
  852. package/dist/notifications/redact.js.map +1 -1
  853. package/dist/notifications/reply-listener.d.ts +2 -0
  854. package/dist/notifications/reply-listener.d.ts.map +1 -1
  855. package/dist/notifications/reply-listener.js +17 -24
  856. package/dist/notifications/reply-listener.js.map +1 -1
  857. package/dist/notifications/session-registry.d.ts +1 -1
  858. package/dist/notifications/session-registry.d.ts.map +1 -1
  859. package/dist/notifications/session-registry.js +37 -43
  860. package/dist/notifications/session-registry.js.map +1 -1
  861. package/dist/notifications/types.d.ts +2 -0
  862. package/dist/notifications/types.d.ts.map +1 -1
  863. package/dist/planning/__tests__/artifacts.test.d.ts +2 -0
  864. package/dist/planning/__tests__/artifacts.test.d.ts.map +1 -0
  865. package/dist/planning/__tests__/artifacts.test.js +303 -0
  866. package/dist/planning/__tests__/artifacts.test.js.map +1 -0
  867. package/dist/planning/artifacts.d.ts +29 -0
  868. package/dist/planning/artifacts.d.ts.map +1 -0
  869. package/dist/planning/artifacts.js +144 -0
  870. package/dist/planning/artifacts.js.map +1 -0
  871. package/dist/platform/process-utils.d.ts +1 -0
  872. package/dist/platform/process-utils.d.ts.map +1 -1
  873. package/dist/platform/process-utils.js +7 -3
  874. package/dist/platform/process-utils.js.map +1 -1
  875. package/dist/providers/bitbucket.d.ts +2 -2
  876. package/dist/providers/bitbucket.d.ts.map +1 -1
  877. package/dist/providers/bitbucket.js +11 -12
  878. package/dist/providers/bitbucket.js.map +1 -1
  879. package/dist/providers/gitea.d.ts.map +1 -1
  880. package/dist/providers/gitea.js +8 -2
  881. package/dist/providers/gitea.js.map +1 -1
  882. package/dist/providers/index.d.ts +4 -0
  883. package/dist/providers/index.d.ts.map +1 -1
  884. package/dist/providers/index.js +49 -26
  885. package/dist/providers/index.js.map +1 -1
  886. package/dist/providers/types.d.ts +2 -2
  887. package/dist/providers/types.d.ts.map +1 -1
  888. package/dist/ralphthon/__tests__/cli.test.d.ts +5 -0
  889. package/dist/ralphthon/__tests__/cli.test.d.ts.map +1 -0
  890. package/dist/ralphthon/__tests__/cli.test.js +103 -0
  891. package/dist/ralphthon/__tests__/cli.test.js.map +1 -0
  892. package/dist/ralphthon/__tests__/orchestrator.test.d.ts +5 -0
  893. package/dist/ralphthon/__tests__/orchestrator.test.d.ts.map +1 -0
  894. package/dist/ralphthon/__tests__/orchestrator.test.js +393 -0
  895. package/dist/ralphthon/__tests__/orchestrator.test.js.map +1 -0
  896. package/dist/ralphthon/__tests__/prd.test.d.ts +5 -0
  897. package/dist/ralphthon/__tests__/prd.test.d.ts.map +1 -0
  898. package/dist/ralphthon/__tests__/prd.test.js +454 -0
  899. package/dist/ralphthon/__tests__/prd.test.js.map +1 -0
  900. package/dist/ralphthon/deep-interview-prompt.d.ts +2 -0
  901. package/dist/ralphthon/deep-interview-prompt.d.ts.map +1 -0
  902. package/dist/ralphthon/deep-interview-prompt.js +20 -0
  903. package/dist/ralphthon/deep-interview-prompt.js.map +1 -0
  904. package/dist/ralphthon/index.d.ts +13 -0
  905. package/dist/ralphthon/index.d.ts.map +1 -0
  906. package/dist/ralphthon/index.js +14 -0
  907. package/dist/ralphthon/index.js.map +1 -0
  908. package/dist/ralphthon/orchestrator.d.ts +112 -0
  909. package/dist/ralphthon/orchestrator.d.ts.map +1 -0
  910. package/dist/ralphthon/orchestrator.js +453 -0
  911. package/dist/ralphthon/orchestrator.js.map +1 -0
  912. package/dist/ralphthon/prd.d.ts +111 -0
  913. package/dist/ralphthon/prd.d.ts.map +1 -0
  914. package/dist/ralphthon/prd.js +345 -0
  915. package/dist/ralphthon/prd.js.map +1 -0
  916. package/dist/ralphthon/types.d.ts +213 -0
  917. package/dist/ralphthon/types.d.ts.map +1 -0
  918. package/dist/ralphthon/types.js +21 -0
  919. package/dist/ralphthon/types.js.map +1 -0
  920. package/dist/shared/types.d.ts +25 -16
  921. package/dist/shared/types.d.ts.map +1 -1
  922. package/dist/skills/__tests__/mingw-escape.test.js +15 -0
  923. package/dist/skills/__tests__/mingw-escape.test.js.map +1 -1
  924. package/dist/team/__tests__/allocation-policy.test.d.ts +2 -0
  925. package/dist/team/__tests__/allocation-policy.test.d.ts.map +1 -0
  926. package/dist/team/__tests__/allocation-policy.test.js +125 -0
  927. package/dist/team/__tests__/allocation-policy.test.js.map +1 -0
  928. package/dist/team/__tests__/api-interop.cleanup.test.d.ts +2 -0
  929. package/dist/team/__tests__/api-interop.cleanup.test.d.ts.map +1 -0
  930. package/dist/team/__tests__/api-interop.cleanup.test.js +129 -0
  931. package/dist/team/__tests__/api-interop.cleanup.test.js.map +1 -0
  932. package/dist/team/__tests__/api-interop.cwd-resolution.test.js +22 -0
  933. package/dist/team/__tests__/api-interop.cwd-resolution.test.js.map +1 -1
  934. package/dist/team/__tests__/api-interop.dispatch.test.js +59 -0
  935. package/dist/team/__tests__/api-interop.dispatch.test.js.map +1 -1
  936. package/dist/team/__tests__/audit-log.test.js +0 -1
  937. package/dist/team/__tests__/audit-log.test.js.map +1 -1
  938. package/dist/team/__tests__/bridge-integration.test.js.map +1 -1
  939. package/dist/team/__tests__/events.swallowed-error.test.d.ts +2 -0
  940. package/dist/team/__tests__/events.swallowed-error.test.d.ts.map +1 -0
  941. package/dist/team/__tests__/events.swallowed-error.test.js +33 -0
  942. package/dist/team/__tests__/events.swallowed-error.test.js.map +1 -0
  943. package/dist/team/__tests__/followup-planner.test.d.ts +2 -0
  944. package/dist/team/__tests__/followup-planner.test.d.ts.map +1 -0
  945. package/dist/team/__tests__/followup-planner.test.js +197 -0
  946. package/dist/team/__tests__/followup-planner.test.js.map +1 -0
  947. package/dist/team/__tests__/governance-enforcement.test.d.ts +2 -0
  948. package/dist/team/__tests__/governance-enforcement.test.d.ts.map +1 -0
  949. package/dist/team/__tests__/governance-enforcement.test.js +138 -0
  950. package/dist/team/__tests__/governance-enforcement.test.js.map +1 -0
  951. package/dist/team/__tests__/governance.test.d.ts +2 -0
  952. package/dist/team/__tests__/governance.test.d.ts.map +1 -0
  953. package/dist/team/__tests__/governance.test.js +38 -0
  954. package/dist/team/__tests__/governance.test.js.map +1 -0
  955. package/dist/team/__tests__/idle-nudge.test.js +9 -0
  956. package/dist/team/__tests__/idle-nudge.test.js.map +1 -1
  957. package/dist/team/__tests__/leader-nudge-guidance.test.d.ts +2 -0
  958. package/dist/team/__tests__/leader-nudge-guidance.test.d.ts.map +1 -0
  959. package/dist/team/__tests__/leader-nudge-guidance.test.js +37 -0
  960. package/dist/team/__tests__/leader-nudge-guidance.test.js.map +1 -0
  961. package/dist/team/__tests__/lifecycle-profile.test.d.ts +2 -0
  962. package/dist/team/__tests__/lifecycle-profile.test.d.ts.map +1 -0
  963. package/dist/team/__tests__/lifecycle-profile.test.js +46 -0
  964. package/dist/team/__tests__/lifecycle-profile.test.js.map +1 -0
  965. package/dist/team/__tests__/model-contract.test.js +84 -3
  966. package/dist/team/__tests__/model-contract.test.js.map +1 -1
  967. package/dist/team/__tests__/phase1-foundation.test.d.ts +2 -0
  968. package/dist/team/__tests__/phase1-foundation.test.d.ts.map +1 -0
  969. package/dist/team/__tests__/phase1-foundation.test.js +151 -0
  970. package/dist/team/__tests__/phase1-foundation.test.js.map +1 -0
  971. package/dist/team/__tests__/role-router.test.d.ts +2 -0
  972. package/dist/team/__tests__/role-router.test.d.ts.map +1 -0
  973. package/dist/team/__tests__/role-router.test.js +122 -0
  974. package/dist/team/__tests__/role-router.test.js.map +1 -0
  975. package/dist/team/__tests__/runtime-prompt-mode.test.js +4 -1
  976. package/dist/team/__tests__/runtime-prompt-mode.test.js.map +1 -1
  977. package/dist/team/__tests__/runtime-v2.dispatch.test.js +114 -6
  978. package/dist/team/__tests__/runtime-v2.dispatch.test.js.map +1 -1
  979. package/dist/team/__tests__/runtime-v2.monitor.test.js +45 -0
  980. package/dist/team/__tests__/runtime-v2.monitor.test.js.map +1 -1
  981. package/dist/team/__tests__/runtime-v2.shutdown-pane-cleanup.test.d.ts +2 -0
  982. package/dist/team/__tests__/runtime-v2.shutdown-pane-cleanup.test.d.ts.map +1 -0
  983. package/dist/team/__tests__/runtime-v2.shutdown-pane-cleanup.test.js +110 -0
  984. package/dist/team/__tests__/runtime-v2.shutdown-pane-cleanup.test.js.map +1 -0
  985. package/dist/team/__tests__/scaling.test.d.ts +2 -0
  986. package/dist/team/__tests__/scaling.test.d.ts.map +1 -0
  987. package/dist/team/__tests__/scaling.test.js +44 -0
  988. package/dist/team/__tests__/scaling.test.js.map +1 -0
  989. package/dist/team/__tests__/shell-affinity.test.d.ts +2 -0
  990. package/dist/team/__tests__/shell-affinity.test.d.ts.map +1 -0
  991. package/dist/team/__tests__/shell-affinity.test.js +98 -0
  992. package/dist/team/__tests__/shell-affinity.test.js.map +1 -0
  993. package/dist/team/__tests__/state-paths.test.js +4 -1
  994. package/dist/team/__tests__/state-paths.test.js.map +1 -1
  995. package/dist/team/__tests__/task-file-ops.test.js +6 -4
  996. package/dist/team/__tests__/task-file-ops.test.js.map +1 -1
  997. package/dist/team/__tests__/team-leader-nudge-hook.logging.test.d.ts +2 -0
  998. package/dist/team/__tests__/team-leader-nudge-hook.logging.test.d.ts.map +1 -0
  999. package/dist/team/__tests__/team-leader-nudge-hook.logging.test.js +63 -0
  1000. package/dist/team/__tests__/team-leader-nudge-hook.logging.test.js.map +1 -0
  1001. package/dist/team/__tests__/team-leader-nudge-hook.test.d.ts +2 -0
  1002. package/dist/team/__tests__/team-leader-nudge-hook.test.d.ts.map +1 -0
  1003. package/dist/team/__tests__/team-leader-nudge-hook.test.js +90 -0
  1004. package/dist/team/__tests__/team-leader-nudge-hook.test.js.map +1 -0
  1005. package/dist/team/__tests__/tmux-comm.test.js +5 -4
  1006. package/dist/team/__tests__/tmux-comm.test.js.map +1 -1
  1007. package/dist/team/__tests__/tmux-session.create-team.test.js +46 -2
  1008. package/dist/team/__tests__/tmux-session.create-team.test.js.map +1 -1
  1009. package/dist/team/__tests__/tmux-session.kill-team-session.test.js +45 -13
  1010. package/dist/team/__tests__/tmux-session.kill-team-session.test.js.map +1 -1
  1011. package/dist/team/__tests__/tmux-session.test.js +50 -58
  1012. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  1013. package/dist/team/__tests__/unified-team.test.js.map +1 -1
  1014. package/dist/team/__tests__/worker-bootstrap.test.js +50 -5
  1015. package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
  1016. package/dist/team/__tests__/worker-canonicalization.test.d.ts +2 -0
  1017. package/dist/team/__tests__/worker-canonicalization.test.d.ts.map +1 -0
  1018. package/dist/team/__tests__/worker-canonicalization.test.js +35 -0
  1019. package/dist/team/__tests__/worker-canonicalization.test.js.map +1 -0
  1020. package/dist/team/__tests__/worker-health.test.js.map +1 -1
  1021. package/dist/team/__tests__/worker-restart.test.js +3 -1
  1022. package/dist/team/__tests__/worker-restart.test.js.map +1 -1
  1023. package/dist/team/allocation-policy.d.ts +34 -0
  1024. package/dist/team/allocation-policy.d.ts.map +1 -0
  1025. package/dist/team/allocation-policy.js +92 -0
  1026. package/dist/team/allocation-policy.js.map +1 -0
  1027. package/dist/team/api-interop.d.ts +1 -1
  1028. package/dist/team/api-interop.d.ts.map +1 -1
  1029. package/dist/team/api-interop.js +51 -6
  1030. package/dist/team/api-interop.js.map +1 -1
  1031. package/dist/team/audit-log.d.ts.map +1 -1
  1032. package/dist/team/audit-log.js +3 -2
  1033. package/dist/team/audit-log.js.map +1 -1
  1034. package/dist/team/events.d.ts.map +1 -1
  1035. package/dist/team/events.js +6 -4
  1036. package/dist/team/events.js.map +1 -1
  1037. package/dist/team/followup-planner.d.ts +32 -0
  1038. package/dist/team/followup-planner.d.ts.map +1 -0
  1039. package/dist/team/followup-planner.js +82 -0
  1040. package/dist/team/followup-planner.js.map +1 -0
  1041. package/dist/team/git-worktree.d.ts.map +1 -1
  1042. package/dist/team/git-worktree.js +20 -10
  1043. package/dist/team/git-worktree.js.map +1 -1
  1044. package/dist/team/governance.d.ts +18 -0
  1045. package/dist/team/governance.d.ts.map +1 -0
  1046. package/dist/team/governance.js +68 -0
  1047. package/dist/team/governance.js.map +1 -0
  1048. package/dist/team/index.d.ts +2 -1
  1049. package/dist/team/index.d.ts.map +1 -1
  1050. package/dist/team/index.js +1 -0
  1051. package/dist/team/index.js.map +1 -1
  1052. package/dist/team/leader-nudge-guidance.d.ts +23 -0
  1053. package/dist/team/leader-nudge-guidance.d.ts.map +1 -0
  1054. package/dist/team/leader-nudge-guidance.js +44 -0
  1055. package/dist/team/leader-nudge-guidance.js.map +1 -0
  1056. package/dist/team/mcp-comm.d.ts.map +1 -1
  1057. package/dist/team/mcp-comm.js +17 -3
  1058. package/dist/team/mcp-comm.js.map +1 -1
  1059. package/dist/team/mcp-team-bridge.d.ts.map +1 -1
  1060. package/dist/team/mcp-team-bridge.js +11 -48
  1061. package/dist/team/mcp-team-bridge.js.map +1 -1
  1062. package/dist/team/merge-coordinator.d.ts +3 -1
  1063. package/dist/team/merge-coordinator.d.ts.map +1 -1
  1064. package/dist/team/merge-coordinator.js +27 -5
  1065. package/dist/team/merge-coordinator.js.map +1 -1
  1066. package/dist/team/model-contract.d.ts +17 -0
  1067. package/dist/team/model-contract.d.ts.map +1 -1
  1068. package/dist/team/model-contract.js +49 -2
  1069. package/dist/team/model-contract.js.map +1 -1
  1070. package/dist/team/monitor.d.ts.map +1 -1
  1071. package/dist/team/monitor.js +69 -2
  1072. package/dist/team/monitor.js.map +1 -1
  1073. package/dist/team/outbox-reader.d.ts.map +1 -1
  1074. package/dist/team/outbox-reader.js +13 -10
  1075. package/dist/team/outbox-reader.js.map +1 -1
  1076. package/dist/team/phase-controller.js +2 -2
  1077. package/dist/team/phase-controller.js.map +1 -1
  1078. package/dist/team/role-router.d.ts +36 -0
  1079. package/dist/team/role-router.d.ts.map +1 -0
  1080. package/dist/team/role-router.js +215 -0
  1081. package/dist/team/role-router.js.map +1 -0
  1082. package/dist/team/runtime-cli.d.ts.map +1 -1
  1083. package/dist/team/runtime-cli.js +35 -0
  1084. package/dist/team/runtime-cli.js.map +1 -1
  1085. package/dist/team/runtime-v2.d.ts +1 -0
  1086. package/dist/team/runtime-v2.d.ts.map +1 -1
  1087. package/dist/team/runtime-v2.js +164 -49
  1088. package/dist/team/runtime-v2.js.map +1 -1
  1089. package/dist/team/runtime.d.ts.map +1 -1
  1090. package/dist/team/runtime.js +29 -15
  1091. package/dist/team/runtime.js.map +1 -1
  1092. package/dist/team/scaling.d.ts.map +1 -1
  1093. package/dist/team/scaling.js +12 -3
  1094. package/dist/team/scaling.js.map +1 -1
  1095. package/dist/team/state/tasks.js +1 -1
  1096. package/dist/team/state/tasks.js.map +1 -1
  1097. package/dist/team/state-paths.js +2 -2
  1098. package/dist/team/state-paths.js.map +1 -1
  1099. package/dist/team/task-file-ops.d.ts.map +1 -1
  1100. package/dist/team/task-file-ops.js +3 -43
  1101. package/dist/team/task-file-ops.js.map +1 -1
  1102. package/dist/team/task-router.d.ts.map +1 -1
  1103. package/dist/team/task-router.js +31 -1
  1104. package/dist/team/task-router.js.map +1 -1
  1105. package/dist/team/team-ops.d.ts.map +1 -1
  1106. package/dist/team/team-ops.js +93 -49
  1107. package/dist/team/team-ops.js.map +1 -1
  1108. package/dist/team/team-registration.d.ts.map +1 -1
  1109. package/dist/team/team-registration.js +18 -14
  1110. package/dist/team/team-registration.js.map +1 -1
  1111. package/dist/team/team-status.d.ts +1 -1
  1112. package/dist/team/team-status.d.ts.map +1 -1
  1113. package/dist/team/team-status.js +8 -5
  1114. package/dist/team/team-status.js.map +1 -1
  1115. package/dist/team/tmux-comm.d.ts.map +1 -1
  1116. package/dist/team/tmux-comm.js +5 -2
  1117. package/dist/team/tmux-comm.js.map +1 -1
  1118. package/dist/team/tmux-session.d.ts +32 -5
  1119. package/dist/team/tmux-session.d.ts.map +1 -1
  1120. package/dist/team/tmux-session.js +179 -50
  1121. package/dist/team/tmux-session.js.map +1 -1
  1122. package/dist/team/types.d.ts +16 -3
  1123. package/dist/team/types.d.ts.map +1 -1
  1124. package/dist/team/types.js.map +1 -1
  1125. package/dist/team/worker-bootstrap.d.ts.map +1 -1
  1126. package/dist/team/worker-bootstrap.js +36 -23
  1127. package/dist/team/worker-bootstrap.js.map +1 -1
  1128. package/dist/team/worker-canonicalization.d.ts +8 -0
  1129. package/dist/team/worker-canonicalization.d.ts.map +1 -0
  1130. package/dist/team/worker-canonicalization.js +98 -0
  1131. package/dist/team/worker-canonicalization.js.map +1 -0
  1132. package/dist/tools/__tests__/cancel-integration.test.js +57 -2
  1133. package/dist/tools/__tests__/cancel-integration.test.js.map +1 -1
  1134. package/dist/tools/__tests__/deepinit-manifest.test.d.ts +7 -0
  1135. package/dist/tools/__tests__/deepinit-manifest.test.d.ts.map +1 -0
  1136. package/dist/tools/__tests__/deepinit-manifest.test.js +559 -0
  1137. package/dist/tools/__tests__/deepinit-manifest.test.js.map +1 -0
  1138. package/dist/tools/__tests__/state-tools.test.js +16 -0
  1139. package/dist/tools/__tests__/state-tools.test.js.map +1 -1
  1140. package/dist/tools/ast-tools.d.ts.map +1 -1
  1141. package/dist/tools/ast-tools.js +11 -2
  1142. package/dist/tools/ast-tools.js.map +1 -1
  1143. package/dist/tools/deepinit-manifest.d.ts +88 -0
  1144. package/dist/tools/deepinit-manifest.d.ts.map +1 -0
  1145. package/dist/tools/deepinit-manifest.js +373 -0
  1146. package/dist/tools/deepinit-manifest.js.map +1 -0
  1147. package/dist/tools/diagnostics/tsc-runner.js +2 -2
  1148. package/dist/tools/diagnostics/tsc-runner.js.map +1 -1
  1149. package/dist/tools/lsp/__tests__/client-devcontainer.test.d.ts +2 -0
  1150. package/dist/tools/lsp/__tests__/client-devcontainer.test.d.ts.map +1 -0
  1151. package/dist/tools/lsp/__tests__/client-devcontainer.test.js +185 -0
  1152. package/dist/tools/lsp/__tests__/client-devcontainer.test.js.map +1 -0
  1153. package/dist/tools/lsp/__tests__/client-singleton.test.d.ts +2 -0
  1154. package/dist/tools/lsp/__tests__/client-singleton.test.d.ts.map +1 -0
  1155. package/dist/tools/lsp/__tests__/client-singleton.test.js +17 -0
  1156. package/dist/tools/lsp/__tests__/client-singleton.test.js.map +1 -0
  1157. package/dist/tools/lsp/__tests__/client-timeout-env.test.js +18 -2
  1158. package/dist/tools/lsp/__tests__/client-timeout-env.test.js.map +1 -1
  1159. package/dist/tools/lsp/__tests__/devcontainer.test.d.ts +2 -0
  1160. package/dist/tools/lsp/__tests__/devcontainer.test.d.ts.map +1 -0
  1161. package/dist/tools/lsp/__tests__/devcontainer.test.js +311 -0
  1162. package/dist/tools/lsp/__tests__/devcontainer.test.js.map +1 -0
  1163. package/dist/tools/lsp/client.d.ts +17 -3
  1164. package/dist/tools/lsp/client.d.ts.map +1 -1
  1165. package/dist/tools/lsp/client.js +228 -77
  1166. package/dist/tools/lsp/client.js.map +1 -1
  1167. package/dist/tools/lsp/devcontainer.d.ts +12 -0
  1168. package/dist/tools/lsp/devcontainer.d.ts.map +1 -0
  1169. package/dist/tools/lsp/devcontainer.js +276 -0
  1170. package/dist/tools/lsp/devcontainer.js.map +1 -0
  1171. package/dist/tools/lsp/index.d.ts +2 -0
  1172. package/dist/tools/lsp/index.d.ts.map +1 -1
  1173. package/dist/tools/lsp/index.js +1 -0
  1174. package/dist/tools/lsp/index.js.map +1 -1
  1175. package/dist/tools/lsp/servers.d.ts +1 -0
  1176. package/dist/tools/lsp/servers.d.ts.map +1 -1
  1177. package/dist/tools/lsp/servers.js +20 -5
  1178. package/dist/tools/lsp/servers.js.map +1 -1
  1179. package/dist/tools/lsp/utils.d.ts.map +1 -1
  1180. package/dist/tools/lsp/utils.js +7 -1
  1181. package/dist/tools/lsp/utils.js.map +1 -1
  1182. package/dist/tools/python-repl/__tests__/bridge-manager-cleanup.test.js +34 -1
  1183. package/dist/tools/python-repl/__tests__/bridge-manager-cleanup.test.js.map +1 -1
  1184. package/dist/tools/python-repl/bridge-manager.d.ts +2 -0
  1185. package/dist/tools/python-repl/bridge-manager.d.ts.map +1 -1
  1186. package/dist/tools/python-repl/bridge-manager.js +38 -2
  1187. package/dist/tools/python-repl/bridge-manager.js.map +1 -1
  1188. package/dist/tools/python-repl/socket-client.d.ts.map +1 -1
  1189. package/dist/tools/python-repl/socket-client.js +37 -7
  1190. package/dist/tools/python-repl/socket-client.js.map +1 -1
  1191. package/dist/tools/python-repl/tool.d.ts.map +1 -1
  1192. package/dist/tools/python-repl/tool.js +1 -5
  1193. package/dist/tools/python-repl/tool.js.map +1 -1
  1194. package/dist/tools/state-tools.d.ts.map +1 -1
  1195. package/dist/tools/state-tools.js +193 -57
  1196. package/dist/tools/state-tools.js.map +1 -1
  1197. package/dist/tools/trace-tools.d.ts.map +1 -1
  1198. package/dist/tools/trace-tools.js +7 -5
  1199. package/dist/tools/trace-tools.js.map +1 -1
  1200. package/dist/tools/types.d.ts +16 -0
  1201. package/dist/tools/types.d.ts.map +1 -1
  1202. package/dist/utils/__tests__/paths.test.js +86 -1
  1203. package/dist/utils/__tests__/paths.test.js.map +1 -1
  1204. package/dist/utils/jsonc.d.ts.map +1 -1
  1205. package/dist/utils/jsonc.js +6 -2
  1206. package/dist/utils/jsonc.js.map +1 -1
  1207. package/dist/utils/omc-cli-rendering.d.ts +8 -0
  1208. package/dist/utils/omc-cli-rendering.d.ts.map +1 -0
  1209. package/dist/utils/omc-cli-rendering.js +37 -0
  1210. package/dist/utils/omc-cli-rendering.js.map +1 -0
  1211. package/dist/utils/paths.d.ts +32 -1
  1212. package/dist/utils/paths.d.ts.map +1 -1
  1213. package/dist/utils/paths.js +103 -8
  1214. package/dist/utils/paths.js.map +1 -1
  1215. package/dist/utils/skill-resources.d.ts +7 -0
  1216. package/dist/utils/skill-resources.d.ts.map +1 -0
  1217. package/dist/utils/skill-resources.js +53 -0
  1218. package/dist/utils/skill-resources.js.map +1 -0
  1219. package/dist/utils/ssrf-guard.d.ts.map +1 -1
  1220. package/dist/utils/ssrf-guard.js +22 -0
  1221. package/dist/utils/ssrf-guard.js.map +1 -1
  1222. package/docs/ARCHITECTURE.md +468 -37
  1223. package/docs/CLAUDE.md +1 -1
  1224. package/docs/COMPATIBILITY.md +18 -1
  1225. package/docs/LOCAL_PLUGIN_INSTALL.md +17 -3
  1226. package/docs/MIGRATION.md +8 -46
  1227. package/docs/PERFORMANCE-MONITORING.md +2 -2
  1228. package/docs/REFERENCE.md +99 -58
  1229. package/docs/design/SKILLS_2_0_ADAPTATION.md +115 -0
  1230. package/docs/ko/ARCHITECTURE.md +1 -1
  1231. package/docs/ko/MIGRATION.md +7 -47
  1232. package/docs/ko/REFERENCE.md +1 -15
  1233. package/docs/partials/features.md +1 -32
  1234. package/docs/partials/mode-hierarchy.md +7 -22
  1235. package/docs/partials/verification-tiers.md +1 -1
  1236. package/docs/plans/2026-02-26-skill-optimization-design.md +3 -3
  1237. package/docs/shared/features.md +1 -32
  1238. package/docs/shared/mode-hierarchy.md +7 -22
  1239. package/docs/shared/verification-tiers.md +1 -1
  1240. package/hooks/hooks.json +21 -31
  1241. package/package.json +1 -1
  1242. package/scripts/cleanup-orphans.mjs +12 -9
  1243. package/scripts/context-guard-stop.mjs +13 -5
  1244. package/scripts/context-safety.mjs +12 -149
  1245. package/scripts/eval-autoresearch-json.mjs +49 -0
  1246. package/scripts/eval-autoresearch-timed-json.mjs +62 -0
  1247. package/scripts/generate-featured-contributors.ts +43 -0
  1248. package/scripts/keyword-detector.mjs +136 -36
  1249. package/scripts/persistent-mode.cjs +87 -25
  1250. package/scripts/persistent-mode.mjs +37 -17
  1251. package/scripts/plugin-setup.mjs +19 -16
  1252. package/scripts/post-tool-verifier.mjs +25 -20
  1253. package/scripts/pre-tool-enforcer.mjs +184 -6
  1254. package/scripts/project-memory-session.mjs +5 -1
  1255. package/scripts/release.ts +511 -0
  1256. package/scripts/run-provider-advisor.js +10 -4
  1257. package/scripts/session-end.mjs +3 -2
  1258. package/scripts/session-start.mjs +118 -4
  1259. package/scripts/session-summary.mjs +241 -0
  1260. package/scripts/setup-claude-md.sh +140 -3
  1261. package/scripts/skill-injector.mjs +2 -1
  1262. package/scripts/sync-metadata.ts +41 -7
  1263. package/scripts/sync-version.sh +42 -0
  1264. package/skills/AGENTS.md +108 -74
  1265. package/skills/ai-slop-cleaner/SKILL.md +120 -117
  1266. package/skills/ask/SKILL.md +4 -2
  1267. package/skills/autopilot/SKILL.md +1 -0
  1268. package/skills/cancel/SKILL.md +62 -0
  1269. package/skills/ccg/SKILL.md +7 -13
  1270. package/skills/configure-notifications/SKILL.md +1 -0
  1271. package/skills/deep-dive/SKILL.md +476 -0
  1272. package/skills/deep-interview/SKILL.md +109 -14
  1273. package/skills/deepinit/SKILL.md +1 -0
  1274. package/skills/external-context/SKILL.md +1 -0
  1275. package/skills/hud/SKILL.md +6 -5
  1276. package/skills/learner/SKILL.md +63 -57
  1277. package/skills/mcp-setup/SKILL.md +1 -0
  1278. package/skills/omc-doctor/SKILL.md +6 -5
  1279. package/skills/omc-reference/SKILL.md +141 -0
  1280. package/skills/omc-setup/SKILL.md +11 -2
  1281. package/skills/omc-setup/phases/01-install-claude-md.md +11 -1
  1282. package/skills/omc-setup/phases/02-configure.md +3 -1
  1283. package/skills/omc-teams/SKILL.md +9 -5
  1284. package/skills/plan/SKILL.md +23 -7
  1285. package/skills/project-session-manager/SKILL.md +3 -2
  1286. package/skills/ralph/SKILL.md +17 -1
  1287. package/skills/ralplan/SKILL.md +4 -1
  1288. package/skills/release/SKILL.md +1 -0
  1289. package/skills/sciomc/SKILL.md +1 -0
  1290. package/skills/setup/SKILL.md +9 -8
  1291. package/skills/skill-creator/SKILL.md +311 -0
  1292. package/skills/skill-creator/references/upstream-anthropic-skill-creator.md +485 -0
  1293. package/skills/skill-debugger/README.md +52 -0
  1294. package/skills/skill-debugger/SKILL.md +146 -270
  1295. package/skills/skill-quality-analyzer/HOW_TO_USE.md +92 -185
  1296. package/skills/skill-quality-analyzer/README.md +39 -35
  1297. package/skills/skill-quality-analyzer/SKILL.md +105 -196
  1298. package/skills/skill-tester/README.md +31 -23
  1299. package/skills/skill-tester/SKILL.md +116 -266
  1300. package/skills/team/SKILL.md +1 -0
  1301. package/skills/trace/SKILL.md +262 -0
  1302. package/skills/ultraqa/SKILL.md +1 -0
  1303. package/skills/ultrawork/SKILL.md +1 -0
  1304. package/skills/visual-verdict/SKILL.md +77 -0
  1305. package/skills/writer-memory/SKILL.md +1 -0
  1306. package/templates/hooks/keyword-detector.mjs +89 -25
  1307. package/templates/hooks/persistent-mode.mjs +33 -9
  1308. package/templates/hooks/post-tool-use-failure.mjs +2 -5
  1309. package/templates/hooks/pre-tool-use.mjs +47 -1
  1310. package/templates/hooks/session-start.mjs +105 -14
  1311. package/templates/hooks/stop-continuation.mjs +7 -1
  1312. package/dist/__tests__/codex-backoff.test.d.ts +0 -2
  1313. package/dist/__tests__/codex-backoff.test.d.ts.map +0 -1
  1314. package/dist/__tests__/codex-backoff.test.js +0 -143
  1315. package/dist/__tests__/codex-backoff.test.js.map +0 -1
  1316. package/dist/__tests__/codex-callsite-normalization.test.js +0 -112
  1317. package/dist/__tests__/compatibility-security.test.d.ts +0 -13
  1318. package/dist/__tests__/compatibility-security.test.d.ts.map +0 -1
  1319. package/dist/__tests__/compatibility-security.test.js +0 -403
  1320. package/dist/__tests__/compatibility-security.test.js.map +0 -1
  1321. package/dist/__tests__/compatibility.test.d.ts +0 -7
  1322. package/dist/__tests__/compatibility.test.d.ts.map +0 -1
  1323. package/dist/__tests__/compatibility.test.js +0 -484
  1324. package/dist/__tests__/compatibility.test.js.map +0 -1
  1325. package/dist/__tests__/example.test.d.ts +0 -2
  1326. package/dist/__tests__/example.test.d.ts.map +0 -1
  1327. package/dist/__tests__/example.test.js +0 -20
  1328. package/dist/__tests__/example.test.js.map +0 -1
  1329. package/dist/__tests__/hud/analytics-display.test.d.ts +0 -2
  1330. package/dist/__tests__/hud/analytics-display.test.d.ts.map +0 -1
  1331. package/dist/__tests__/hud/analytics-display.test.js +0 -236
  1332. package/dist/__tests__/hud/analytics-display.test.js.map +0 -1
  1333. package/dist/__tests__/hud/top-agents.test.d.ts +0 -8
  1334. package/dist/__tests__/hud/top-agents.test.d.ts.map +0 -1
  1335. package/dist/__tests__/hud/top-agents.test.js +0 -158
  1336. package/dist/__tests__/hud/top-agents.test.js.map +0 -1
  1337. package/dist/__tests__/inline-prompt-integration.test.d.ts +0 -2
  1338. package/dist/__tests__/inline-prompt-integration.test.d.ts.map +0 -1
  1339. package/dist/__tests__/inline-prompt-integration.test.js +0 -411
  1340. package/dist/__tests__/inline-prompt-integration.test.js.map +0 -1
  1341. package/dist/__tests__/inline-success-shape.test.d.ts +0 -2
  1342. package/dist/__tests__/inline-success-shape.test.d.ts.map +0 -1
  1343. package/dist/__tests__/inline-success-shape.test.js +0 -130
  1344. package/dist/__tests__/inline-success-shape.test.js.map +0 -1
  1345. package/dist/__tests__/mcp-fallback-429.test.d.ts +0 -2
  1346. package/dist/__tests__/mcp-fallback-429.test.d.ts.map +0 -1
  1347. package/dist/__tests__/mcp-fallback-429.test.js +0 -193
  1348. package/dist/__tests__/mcp-fallback-429.test.js.map +0 -1
  1349. package/dist/__tests__/mcp-server-workflows.test.d.ts +0 -2
  1350. package/dist/__tests__/mcp-server-workflows.test.d.ts.map +0 -1
  1351. package/dist/__tests__/mcp-server-workflows.test.js +0 -301
  1352. package/dist/__tests__/mcp-server-workflows.test.js.map +0 -1
  1353. package/dist/__tests__/multi-model-mcp-integration.test.d.ts +0 -2
  1354. package/dist/__tests__/multi-model-mcp-integration.test.d.ts.map +0 -1
  1355. package/dist/__tests__/multi-model-mcp-integration.test.js +0 -69
  1356. package/dist/__tests__/multi-model-mcp-integration.test.js.map +0 -1
  1357. package/dist/__tests__/multi-model-mcp.test.d.ts +0 -2
  1358. package/dist/__tests__/multi-model-mcp.test.d.ts.map +0 -1
  1359. package/dist/__tests__/multi-model-mcp.test.js +0 -145
  1360. package/dist/__tests__/multi-model-mcp.test.js.map +0 -1
  1361. package/dist/__tests__/omc-shorthand.test.d.ts +0 -2
  1362. package/dist/__tests__/omc-shorthand.test.d.ts.map +0 -1
  1363. package/dist/__tests__/omc-shorthand.test.js +0 -73
  1364. package/dist/__tests__/omc-shorthand.test.js.map +0 -1
  1365. package/dist/__tests__/prompt-file-only.test.d.ts +0 -2
  1366. package/dist/__tests__/prompt-file-only.test.d.ts.map +0 -1
  1367. package/dist/__tests__/prompt-file-only.test.js +0 -263
  1368. package/dist/__tests__/prompt-file-only.test.js.map +0 -1
  1369. package/dist/__tests__/session-catalog.test.d.ts +0 -2
  1370. package/dist/__tests__/session-catalog.test.d.ts.map +0 -1
  1371. package/dist/__tests__/session-catalog.test.js +0 -195
  1372. package/dist/__tests__/session-catalog.test.js.map +0 -1
  1373. package/dist/__tests__/session-migration.test.d.ts +0 -2
  1374. package/dist/__tests__/session-migration.test.d.ts.map +0 -1
  1375. package/dist/__tests__/session-migration.test.js +0 -155
  1376. package/dist/__tests__/session-migration.test.js.map +0 -1
  1377. package/dist/__tests__/shell-path.test.d.ts +0 -5
  1378. package/dist/__tests__/shell-path.test.d.ts.map +0 -1
  1379. package/dist/__tests__/shell-path.test.js +0 -70
  1380. package/dist/__tests__/shell-path.test.js.map +0 -1
  1381. package/dist/__tests__/smoke-functional.test.d.ts +0 -8
  1382. package/dist/__tests__/smoke-functional.test.d.ts.map +0 -1
  1383. package/dist/__tests__/smoke-functional.test.js +0 -450
  1384. package/dist/__tests__/smoke-functional.test.js.map +0 -1
  1385. package/dist/__tests__/smoke-team-worker.test.d.ts +0 -15
  1386. package/dist/__tests__/smoke-team-worker.test.d.ts.map +0 -1
  1387. package/dist/__tests__/smoke-team-worker.test.js +0 -483
  1388. package/dist/__tests__/smoke-team-worker.test.js.map +0 -1
  1389. package/dist/__tests__/validate-and-read-file.test.d.ts +0 -2
  1390. package/dist/__tests__/validate-and-read-file.test.d.ts.map +0 -1
  1391. package/dist/__tests__/validate-and-read-file.test.js +0 -84
  1392. package/dist/__tests__/validate-and-read-file.test.js.map +0 -1
  1393. package/dist/__tests__/worker-adapter.test.d.ts +0 -5
  1394. package/dist/__tests__/worker-adapter.test.d.ts.map +0 -1
  1395. package/dist/__tests__/worker-adapter.test.js +0 -211
  1396. package/dist/__tests__/worker-adapter.test.js.map +0 -1
  1397. package/dist/agents/coordinator-deprecated.d.ts +0 -18
  1398. package/dist/agents/coordinator-deprecated.d.ts.map +0 -1
  1399. package/dist/agents/coordinator-deprecated.js +0 -38
  1400. package/dist/agents/coordinator-deprecated.js.map +0 -1
  1401. package/dist/agents/deep-executor.d.ts +0 -15
  1402. package/dist/agents/deep-executor.d.ts.map +0 -1
  1403. package/dist/agents/deep-executor.js +0 -45
  1404. package/dist/agents/deep-executor.js.map +0 -1
  1405. package/dist/agents/delegation-validator.d.ts +0 -31
  1406. package/dist/agents/delegation-validator.d.ts.map +0 -1
  1407. package/dist/agents/delegation-validator.js +0 -75
  1408. package/dist/agents/delegation-validator.js.map +0 -1
  1409. package/dist/agents/harsh-critic.d.ts +0 -14
  1410. package/dist/agents/harsh-critic.d.ts.map +0 -1
  1411. package/dist/agents/harsh-critic.js +0 -42
  1412. package/dist/agents/harsh-critic.js.map +0 -1
  1413. package/dist/agents/preamble.d.ts +0 -38
  1414. package/dist/agents/preamble.d.ts.map +0 -1
  1415. package/dist/agents/preamble.js +0 -122
  1416. package/dist/agents/preamble.js.map +0 -1
  1417. package/dist/agents/prompt-generator.d.ts +0 -96
  1418. package/dist/agents/prompt-generator.d.ts.map +0 -1
  1419. package/dist/agents/prompt-generator.js +0 -141
  1420. package/dist/agents/prompt-generator.js.map +0 -1
  1421. package/dist/agents/researcher.d.ts +0 -12
  1422. package/dist/agents/researcher.d.ts.map +0 -1
  1423. package/dist/agents/researcher.js +0 -40
  1424. package/dist/agents/researcher.js.map +0 -1
  1425. package/dist/agents/vision.d.ts +0 -11
  1426. package/dist/agents/vision.d.ts.map +0 -1
  1427. package/dist/agents/vision.js +0 -40
  1428. package/dist/agents/vision.js.map +0 -1
  1429. package/dist/cli/commands/__tests__/cleanup.test.d.ts +0 -2
  1430. package/dist/cli/commands/__tests__/cleanup.test.d.ts.map +0 -1
  1431. package/dist/cli/commands/__tests__/cleanup.test.js +0 -37
  1432. package/dist/cli/commands/__tests__/cleanup.test.js.map +0 -1
  1433. package/dist/compatibility/discovery.d.ts +0 -58
  1434. package/dist/compatibility/discovery.d.ts.map +0 -1
  1435. package/dist/compatibility/discovery.js +0 -620
  1436. package/dist/compatibility/discovery.js.map +0 -1
  1437. package/dist/compatibility/index.d.ts +0 -51
  1438. package/dist/compatibility/index.d.ts.map +0 -1
  1439. package/dist/compatibility/index.js +0 -72
  1440. package/dist/compatibility/index.js.map +0 -1
  1441. package/dist/compatibility/mcp-bridge.d.ts +0 -143
  1442. package/dist/compatibility/mcp-bridge.d.ts.map +0 -1
  1443. package/dist/compatibility/mcp-bridge.js +0 -540
  1444. package/dist/compatibility/mcp-bridge.js.map +0 -1
  1445. package/dist/compatibility/permission-adapter.d.ts +0 -79
  1446. package/dist/compatibility/permission-adapter.d.ts.map +0 -1
  1447. package/dist/compatibility/permission-adapter.js +0 -369
  1448. package/dist/compatibility/permission-adapter.js.map +0 -1
  1449. package/dist/compatibility/registry.d.ts +0 -161
  1450. package/dist/compatibility/registry.d.ts.map +0 -1
  1451. package/dist/compatibility/registry.js +0 -389
  1452. package/dist/compatibility/registry.js.map +0 -1
  1453. package/dist/compatibility/types.d.ts +0 -249
  1454. package/dist/compatibility/types.d.ts.map +0 -1
  1455. package/dist/compatibility/types.js +0 -8
  1456. package/dist/compatibility/types.js.map +0 -1
  1457. package/dist/features/model-routing/__tests__/external-model-policy.test.d.ts +0 -2
  1458. package/dist/features/model-routing/__tests__/external-model-policy.test.d.ts.map +0 -1
  1459. package/dist/features/model-routing/__tests__/external-model-policy.test.js +0 -476
  1460. package/dist/features/model-routing/__tests__/external-model-policy.test.js.map +0 -1
  1461. package/dist/features/model-routing/external-model-policy.d.ts +0 -27
  1462. package/dist/features/model-routing/external-model-policy.d.ts.map +0 -1
  1463. package/dist/features/model-routing/external-model-policy.js +0 -145
  1464. package/dist/features/model-routing/external-model-policy.js.map +0 -1
  1465. package/dist/features/verification/example.d.ts +0 -49
  1466. package/dist/features/verification/example.d.ts.map +0 -1
  1467. package/dist/features/verification/example.js +0 -237
  1468. package/dist/features/verification/example.js.map +0 -1
  1469. package/dist/hooks/setup/__tests__/github-star.test.d.ts +0 -8
  1470. package/dist/hooks/setup/__tests__/github-star.test.d.ts.map +0 -1
  1471. package/dist/hooks/setup/__tests__/github-star.test.js +0 -208
  1472. package/dist/hooks/setup/__tests__/github-star.test.js.map +0 -1
  1473. package/dist/hooks/setup/github-star.d.ts +0 -37
  1474. package/dist/hooks/setup/github-star.d.ts.map +0 -1
  1475. package/dist/hooks/setup/github-star.js +0 -123
  1476. package/dist/hooks/setup/github-star.js.map +0 -1
  1477. package/dist/hooks/swarm/__tests__/addMoreTasks.test.d.ts +0 -2
  1478. package/dist/hooks/swarm/__tests__/addMoreTasks.test.d.ts.map +0 -1
  1479. package/dist/hooks/swarm/__tests__/addMoreTasks.test.js +0 -203
  1480. package/dist/hooks/swarm/__tests__/addMoreTasks.test.js.map +0 -1
  1481. package/dist/hooks/swarm/__tests__/aggressive-swarm.integration.test.d.ts +0 -2
  1482. package/dist/hooks/swarm/__tests__/aggressive-swarm.integration.test.d.ts.map +0 -1
  1483. package/dist/hooks/swarm/__tests__/aggressive-swarm.integration.test.js +0 -273
  1484. package/dist/hooks/swarm/__tests__/aggressive-swarm.integration.test.js.map +0 -1
  1485. package/dist/hooks/swarm/__tests__/claiming.test.d.ts +0 -2
  1486. package/dist/hooks/swarm/__tests__/claiming.test.d.ts.map +0 -1
  1487. package/dist/hooks/swarm/__tests__/claiming.test.js +0 -170
  1488. package/dist/hooks/swarm/__tests__/claiming.test.js.map +0 -1
  1489. package/dist/hooks/swarm/__tests__/index.test.d.ts.map +0 -1
  1490. package/dist/hooks/swarm/__tests__/index.test.js +0 -157
  1491. package/dist/hooks/swarm/__tests__/index.test.js.map +0 -1
  1492. package/dist/hooks/swarm/__tests__/migration.test.d.ts +0 -2
  1493. package/dist/hooks/swarm/__tests__/migration.test.d.ts.map +0 -1
  1494. package/dist/hooks/swarm/__tests__/migration.test.js +0 -140
  1495. package/dist/hooks/swarm/__tests__/migration.test.js.map +0 -1
  1496. package/dist/hooks/swarm/__tests__/mode-registry.test.d.ts +0 -2
  1497. package/dist/hooks/swarm/__tests__/mode-registry.test.d.ts.map +0 -1
  1498. package/dist/hooks/swarm/__tests__/mode-registry.test.js +0 -177
  1499. package/dist/hooks/swarm/__tests__/mode-registry.test.js.map +0 -1
  1500. package/dist/hooks/swarm/__tests__/priority-claiming.test.d.ts +0 -2
  1501. package/dist/hooks/swarm/__tests__/priority-claiming.test.d.ts.map +0 -1
  1502. package/dist/hooks/swarm/__tests__/priority-claiming.test.js +0 -122
  1503. package/dist/hooks/swarm/__tests__/priority-claiming.test.js.map +0 -1
  1504. package/dist/hooks/swarm/__tests__/types.test.d.ts +0 -2
  1505. package/dist/hooks/swarm/__tests__/types.test.d.ts.map +0 -1
  1506. package/dist/hooks/swarm/__tests__/types.test.js +0 -73
  1507. package/dist/hooks/swarm/__tests__/types.test.js.map +0 -1
  1508. package/dist/hooks/swarm/claiming.d.ts +0 -123
  1509. package/dist/hooks/swarm/claiming.d.ts.map +0 -1
  1510. package/dist/hooks/swarm/claiming.js +0 -639
  1511. package/dist/hooks/swarm/claiming.js.map +0 -1
  1512. package/dist/hooks/swarm/index.d.ts +0 -261
  1513. package/dist/hooks/swarm/index.d.ts.map +0 -1
  1514. package/dist/hooks/swarm/index.js +0 -485
  1515. package/dist/hooks/swarm/index.js.map +0 -1
  1516. package/dist/hooks/swarm/state.d.ts +0 -131
  1517. package/dist/hooks/swarm/state.d.ts.map +0 -1
  1518. package/dist/hooks/swarm/state.js +0 -690
  1519. package/dist/hooks/swarm/state.js.map +0 -1
  1520. package/dist/hooks/swarm/types.d.ts +0 -138
  1521. package/dist/hooks/swarm/types.d.ts.map +0 -1
  1522. package/dist/hooks/swarm/types.js +0 -22
  1523. package/dist/hooks/swarm/types.js.map +0 -1
  1524. package/dist/hooks/ultrapilot/decomposer.d.ts +0 -141
  1525. package/dist/hooks/ultrapilot/decomposer.d.ts.map +0 -1
  1526. package/dist/hooks/ultrapilot/decomposer.js +0 -379
  1527. package/dist/hooks/ultrapilot/decomposer.js.map +0 -1
  1528. package/dist/hooks/ultrapilot/index.d.ts +0 -121
  1529. package/dist/hooks/ultrapilot/index.d.ts.map +0 -1
  1530. package/dist/hooks/ultrapilot/index.js +0 -353
  1531. package/dist/hooks/ultrapilot/index.js.map +0 -1
  1532. package/dist/hooks/ultrapilot/state.d.ts +0 -72
  1533. package/dist/hooks/ultrapilot/state.d.ts.map +0 -1
  1534. package/dist/hooks/ultrapilot/state.js +0 -275
  1535. package/dist/hooks/ultrapilot/state.js.map +0 -1
  1536. package/dist/hooks/ultrapilot/types.d.ts +0 -115
  1537. package/dist/hooks/ultrapilot/types.d.ts.map +0 -1
  1538. package/dist/hooks/ultrapilot/types.js +0 -36
  1539. package/dist/hooks/ultrapilot/types.js.map +0 -1
  1540. package/dist/interop/__tests__/worker-adapter-integration.test.d.ts +0 -2
  1541. package/dist/interop/__tests__/worker-adapter-integration.test.d.ts.map +0 -1
  1542. package/dist/interop/__tests__/worker-adapter-integration.test.js +0 -219
  1543. package/dist/interop/__tests__/worker-adapter-integration.test.js.map +0 -1
  1544. package/dist/interop/__tests__/worker-adapter.test.d.ts +0 -2
  1545. package/dist/interop/__tests__/worker-adapter.test.d.ts.map +0 -1
  1546. package/dist/interop/__tests__/worker-adapter.test.js +0 -408
  1547. package/dist/interop/__tests__/worker-adapter.test.js.map +0 -1
  1548. package/dist/interop/adapter-types.d.ts +0 -39
  1549. package/dist/interop/adapter-types.d.ts.map +0 -1
  1550. package/dist/interop/adapter-types.js +0 -9
  1551. package/dist/interop/adapter-types.js.map +0 -1
  1552. package/dist/interop/worker-adapter.d.ts +0 -116
  1553. package/dist/interop/worker-adapter.d.ts.map +0 -1
  1554. package/dist/interop/worker-adapter.js +0 -324
  1555. package/dist/interop/worker-adapter.js.map +0 -1
  1556. package/dist/mcp/__tests__/codex-reasoning-effort.test.d.ts +0 -2
  1557. package/dist/mcp/__tests__/codex-reasoning-effort.test.d.ts.map +0 -1
  1558. package/dist/mcp/__tests__/codex-reasoning-effort.test.js +0 -175
  1559. package/dist/mcp/__tests__/codex-reasoning-effort.test.js.map +0 -1
  1560. package/dist/mcp/__tests__/job-state-db-deprecation.test.d.ts +0 -2
  1561. package/dist/mcp/__tests__/job-state-db-deprecation.test.d.ts.map +0 -1
  1562. package/dist/mcp/__tests__/job-state-db-deprecation.test.js +0 -119
  1563. package/dist/mcp/__tests__/job-state-db-deprecation.test.js.map +0 -1
  1564. package/dist/mcp/__tests__/shared-exec.test.d.ts +0 -2
  1565. package/dist/mcp/__tests__/shared-exec.test.d.ts.map +0 -1
  1566. package/dist/mcp/__tests__/shared-exec.test.js +0 -151
  1567. package/dist/mcp/__tests__/shared-exec.test.js.map +0 -1
  1568. package/dist/mcp/__tests__/team-server-deprecation.test.d.ts +0 -2
  1569. package/dist/mcp/__tests__/team-server-deprecation.test.d.ts.map +0 -1
  1570. package/dist/mcp/__tests__/team-server-deprecation.test.js +0 -56
  1571. package/dist/mcp/__tests__/team-server-deprecation.test.js.map +0 -1
  1572. package/dist/mcp/cli-detection.d.ts +0 -22
  1573. package/dist/mcp/cli-detection.d.ts.map +0 -1
  1574. package/dist/mcp/cli-detection.js +0 -77
  1575. package/dist/mcp/cli-detection.js.map +0 -1
  1576. package/dist/mcp/codex-core.d.ts +0 -119
  1577. package/dist/mcp/codex-core.d.ts.map +0 -1
  1578. package/dist/mcp/codex-core.js +0 -942
  1579. package/dist/mcp/codex-core.js.map +0 -1
  1580. package/dist/mcp/codex-request-normalizer.js +0 -59
  1581. package/dist/mcp/codex-server.d.ts +0 -20
  1582. package/dist/mcp/codex-server.d.ts.map +0 -1
  1583. package/dist/mcp/codex-server.js +0 -81
  1584. package/dist/mcp/codex-server.js.map +0 -1
  1585. package/dist/mcp/codex-standalone-server.d.ts +0 -8
  1586. package/dist/mcp/codex-standalone-server.d.ts.map +0 -1
  1587. package/dist/mcp/codex-standalone-server.js +0 -81
  1588. package/dist/mcp/codex-standalone-server.js.map +0 -1
  1589. package/dist/mcp/gemini-core.d.ts +0 -75
  1590. package/dist/mcp/gemini-core.d.ts.map +0 -1
  1591. package/dist/mcp/gemini-core.js +0 -674
  1592. package/dist/mcp/gemini-core.js.map +0 -1
  1593. package/dist/mcp/gemini-server.d.ts +0 -20
  1594. package/dist/mcp/gemini-server.d.ts.map +0 -1
  1595. package/dist/mcp/gemini-server.js +0 -69
  1596. package/dist/mcp/gemini-server.js.map +0 -1
  1597. package/dist/mcp/gemini-standalone-server.d.ts +0 -8
  1598. package/dist/mcp/gemini-standalone-server.d.ts.map +0 -1
  1599. package/dist/mcp/gemini-standalone-server.js +0 -72
  1600. package/dist/mcp/gemini-standalone-server.js.map +0 -1
  1601. package/dist/mcp/job-state-db.d.ts +0 -2
  1602. package/dist/mcp/job-state-db.d.ts.map +0 -1
  1603. package/dist/mcp/job-state-db.js +0 -3
  1604. package/dist/mcp/job-state-db.js.map +0 -1
  1605. package/dist/mcp/shared-exec.d.ts +0 -50
  1606. package/dist/mcp/shared-exec.d.ts.map +0 -1
  1607. package/dist/mcp/shared-exec.js +0 -182
  1608. package/dist/mcp/shared-exec.js.map +0 -1
  1609. package/dist/team/__tests__/cli-path-resolution.test.d.ts +0 -2
  1610. package/dist/team/__tests__/cli-path-resolution.test.d.ts.map +0 -1
  1611. package/dist/team/__tests__/cli-path-resolution.test.js +0 -281
  1612. package/dist/team/__tests__/cli-path-resolution.test.js.map +0 -1
  1613. package/dist/team/__tests__/layout-stabilizer.test.d.ts +0 -2
  1614. package/dist/team/__tests__/layout-stabilizer.test.d.ts.map +0 -1
  1615. package/dist/team/__tests__/layout-stabilizer.test.js +0 -217
  1616. package/dist/team/__tests__/layout-stabilizer.test.js.map +0 -1
  1617. package/dist/team/__tests__/pane-readiness.test.d.ts +0 -2
  1618. package/dist/team/__tests__/pane-readiness.test.d.ts.map +0 -1
  1619. package/dist/team/__tests__/pane-readiness.test.js +0 -185
  1620. package/dist/team/__tests__/pane-readiness.test.js.map +0 -1
  1621. package/dist/team/__tests__/runtime-gemini-prompt.test.d.ts +0 -2
  1622. package/dist/team/__tests__/runtime-gemini-prompt.test.d.ts.map +0 -1
  1623. package/dist/team/__tests__/runtime-gemini-prompt.test.js +0 -153
  1624. package/dist/team/__tests__/runtime-gemini-prompt.test.js.map +0 -1
  1625. package/dist/team/__tests__/runtime-interop-spawn-regression.test.d.ts +0 -2
  1626. package/dist/team/__tests__/runtime-interop-spawn-regression.test.d.ts.map +0 -1
  1627. package/dist/team/__tests__/runtime-interop-spawn-regression.test.js +0 -139
  1628. package/dist/team/__tests__/runtime-interop-spawn-regression.test.js.map +0 -1
  1629. package/dist/team/__tests__/shell-path.test.d.ts +0 -2
  1630. package/dist/team/__tests__/shell-path.test.d.ts.map +0 -1
  1631. package/dist/team/__tests__/shell-path.test.js +0 -193
  1632. package/dist/team/__tests__/shell-path.test.js.map +0 -1
  1633. package/dist/team/__tests__/wait-for-shell-ready.test.d.ts +0 -2
  1634. package/dist/team/__tests__/wait-for-shell-ready.test.d.ts.map +0 -1
  1635. package/dist/team/__tests__/wait-for-shell-ready.test.js +0 -242
  1636. package/dist/team/__tests__/wait-for-shell-ready.test.js.map +0 -1
  1637. package/dist/team/shell-path.d.ts +0 -21
  1638. package/dist/team/shell-path.d.ts.map +0 -1
  1639. package/dist/team/shell-path.js +0 -73
  1640. package/dist/team/shell-path.js.map +0 -1
  1641. package/scripts/ask-codex.sh +0 -24
  1642. package/scripts/ask-gemini.sh +0 -24
  1643. package/scripts/build-gemini-server.mjs +0 -74
  1644. package/scripts/test-codex-gemini-team.mjs +0 -78
  1645. package/skills/skill-development/SKILL.md +0 -218
  1646. package/skills/skill-development/references/description-patterns.md +0 -160
  1647. package/skills/skill-development/references/format-guide.md +0 -203
  1648. /package/dist/{hooks/swarm → features/delegation-categories}/__tests__/index.test.d.ts +0 -0
@@ -0,0 +1,1103 @@
1
+ import { execFileSync, spawnSync } from 'child_process';
2
+ import { existsSync } from 'fs';
3
+ import { mkdir, readFile, symlink, writeFile } from 'fs/promises';
4
+ import { dirname, join, resolve } from 'path';
5
+ import { readModeState, writeModeState, } from '../lib/mode-state-io.js';
6
+ import { parseEvaluatorResult, } from './contracts.js';
7
+ const AUTORESEARCH_RESULTS_HEADER = 'iteration\tcommit\tpass\tscore\tstatus\tdescription\n';
8
+ const AUTORESEARCH_WORKTREE_EXCLUDES = ['results.tsv', 'run.log', 'node_modules', '.omc/'];
9
+ // Exclusive modes that cannot run concurrently with autoresearch
10
+ const EXCLUSIVE_MODES = ['ralph', 'ultrawork', 'autopilot', 'autoresearch'];
11
+ function nowIso() {
12
+ return new Date().toISOString();
13
+ }
14
+ export function buildAutoresearchRunTag(date = new Date()) {
15
+ const iso = date.toISOString();
16
+ return iso
17
+ .replace(/[-:]/g, '')
18
+ .replace(/\.\d{3}Z$/, 'Z')
19
+ .replace('T', 'T');
20
+ }
21
+ function buildRunId(missionSlug, runTag) {
22
+ return `${missionSlug}-${runTag.toLowerCase()}`;
23
+ }
24
+ function activeRunStateFile(projectRoot) {
25
+ return join(projectRoot, '.omc', 'state', 'autoresearch-state.json');
26
+ }
27
+ function trimContent(value, max = 4000) {
28
+ const trimmed = value.trim();
29
+ return trimmed.length <= max ? trimmed : `${trimmed.slice(0, max)}\n...`;
30
+ }
31
+ function readGit(repoPath, args) {
32
+ try {
33
+ return execFileSync('git', args, {
34
+ cwd: repoPath,
35
+ encoding: 'utf-8',
36
+ stdio: ['ignore', 'pipe', 'pipe'],
37
+ }).trim();
38
+ }
39
+ catch (error) {
40
+ const err = error;
41
+ const stderr = typeof err.stderr === 'string'
42
+ ? err.stderr.trim()
43
+ : err.stderr instanceof Buffer
44
+ ? err.stderr.toString('utf-8').trim()
45
+ : '';
46
+ throw new Error(stderr || `git ${args.join(' ')} failed`);
47
+ }
48
+ }
49
+ function tryResolveGitCommit(worktreePath, ref) {
50
+ const result = spawnSync('git', ['rev-parse', '--verify', `${ref}^{commit}`], {
51
+ cwd: worktreePath,
52
+ encoding: 'utf-8',
53
+ });
54
+ if (result.status !== 0)
55
+ return null;
56
+ const resolved = (result.stdout || '').trim();
57
+ return resolved || null;
58
+ }
59
+ async function writeGitInfoExclude(worktreePath, pattern) {
60
+ const excludePath = readGit(worktreePath, ['rev-parse', '--git-path', 'info/exclude']);
61
+ const existing = existsSync(excludePath)
62
+ ? await readFile(excludePath, 'utf-8')
63
+ : '';
64
+ const lines = new Set(existing.split(/\r?\n/).filter(Boolean));
65
+ if (lines.has(pattern))
66
+ return;
67
+ const next = `${existing}${existing.endsWith('\n') || existing.length === 0 ? '' : '\n'}${pattern}\n`;
68
+ await ensureParentDir(excludePath);
69
+ await writeFile(excludePath, next, 'utf-8');
70
+ }
71
+ async function ensureRuntimeExcludes(worktreePath) {
72
+ for (const file of AUTORESEARCH_WORKTREE_EXCLUDES) {
73
+ await writeGitInfoExclude(worktreePath, file);
74
+ }
75
+ }
76
+ async function ensureAutoresearchWorktreeDependencies(repoRoot, worktreePath) {
77
+ const sourceNodeModules = join(repoRoot, 'node_modules');
78
+ const targetNodeModules = join(worktreePath, 'node_modules');
79
+ if (!existsSync(sourceNodeModules) || existsSync(targetNodeModules)) {
80
+ return;
81
+ }
82
+ await symlink(sourceNodeModules, targetNodeModules, process.platform === 'win32' ? 'junction' : 'dir');
83
+ }
84
+ function readGitShortHead(worktreePath) {
85
+ return readGit(worktreePath, ['rev-parse', '--short=7', 'HEAD']);
86
+ }
87
+ function readGitFullHead(worktreePath) {
88
+ return readGit(worktreePath, ['rev-parse', 'HEAD']);
89
+ }
90
+ function requireGitSuccess(worktreePath, args) {
91
+ const result = spawnSync('git', args, {
92
+ cwd: worktreePath,
93
+ encoding: 'utf-8',
94
+ });
95
+ if (result.status === 0)
96
+ return;
97
+ throw new Error((result.stderr || '').trim() || `git ${args.join(' ')} failed`);
98
+ }
99
+ function gitStatusLines(worktreePath) {
100
+ const result = spawnSync('git', ['status', '--porcelain', '--untracked-files=all'], {
101
+ cwd: worktreePath,
102
+ encoding: 'utf-8',
103
+ });
104
+ if (result.status !== 0) {
105
+ throw new Error((result.stderr || '').trim() || `git status failed for ${worktreePath}`);
106
+ }
107
+ return (result.stdout || '')
108
+ .split(/\r?\n/)
109
+ .map((line) => line.trimEnd())
110
+ .filter(Boolean);
111
+ }
112
+ function normalizeGitStatusPath(path) {
113
+ return path.startsWith('\"') && path.endsWith('\"')
114
+ ? path.slice(1, -1).replace(/\\\"/g, '\"')
115
+ : path;
116
+ }
117
+ function isAllowedRuntimeDirtyPath(path) {
118
+ return AUTORESEARCH_WORKTREE_EXCLUDES.some((exclude) => exclude.endsWith('/')
119
+ ? path.startsWith(exclude) || path === exclude.slice(0, -1)
120
+ : path === exclude);
121
+ }
122
+ function allowedBootstrapDirtyPaths(worktreePath, allowedDirtyPaths = []) {
123
+ const normalizedWorktreePath = resolve(worktreePath);
124
+ return new Set(allowedDirtyPaths
125
+ .map((path) => {
126
+ const normalizedPath = resolve(path);
127
+ return normalizedPath.startsWith(`${normalizedWorktreePath}/`)
128
+ ? normalizedPath.slice(normalizedWorktreePath.length + 1)
129
+ : null;
130
+ })
131
+ .filter((path) => Boolean(path)));
132
+ }
133
+ function isAllowedRuntimeDirtyLine(line, allowedBootstrapPaths) {
134
+ const trimmed = line.trim();
135
+ if (trimmed.length < 4)
136
+ return false;
137
+ const path = normalizeGitStatusPath(trimmed.slice(3).trim());
138
+ if (!trimmed.startsWith('?? '))
139
+ return false;
140
+ return isAllowedRuntimeDirtyPath(path) || allowedBootstrapPaths.has(path);
141
+ }
142
+ export function assertResetSafeWorktree(worktreePath, allowedDirtyPaths = []) {
143
+ const lines = gitStatusLines(worktreePath);
144
+ const allowedBootstrapPaths = allowedBootstrapDirtyPaths(worktreePath, allowedDirtyPaths);
145
+ const blocking = lines.filter((line) => !isAllowedRuntimeDirtyLine(line, allowedBootstrapPaths));
146
+ if (blocking.length === 0)
147
+ return;
148
+ throw new Error(`autoresearch_reset_requires_clean_worktree:${worktreePath}:${blocking.join(' | ')}`);
149
+ }
150
+ async function ensureParentDir(filePath) {
151
+ await mkdir(dirname(filePath), { recursive: true });
152
+ }
153
+ async function writeJsonFile(filePath, value) {
154
+ await ensureParentDir(filePath);
155
+ await writeFile(filePath, `${JSON.stringify(value, null, 2)}\n`, 'utf-8');
156
+ }
157
+ async function readJsonFile(filePath) {
158
+ return JSON.parse(await readFile(filePath, 'utf-8'));
159
+ }
160
+ async function readActiveRunState(projectRoot) {
161
+ const file = activeRunStateFile(projectRoot);
162
+ if (!existsSync(file))
163
+ return null;
164
+ return readJsonFile(file);
165
+ }
166
+ async function writeActiveRunState(projectRoot, value) {
167
+ await writeJsonFile(activeRunStateFile(projectRoot), value);
168
+ }
169
+ async function assertAutoresearchLockAvailable(projectRoot) {
170
+ const state = await readActiveRunState(projectRoot);
171
+ if (state?.active && state.run_id) {
172
+ throw new Error(`autoresearch_active_run_exists:${state.run_id}`);
173
+ }
174
+ }
175
+ /**
176
+ * Assert no exclusive mode is already active (ralph, ultrawork, autopilot).
177
+ * Mirrors OMX assertModeStartAllowed semantics using OMC mode-state-io.
178
+ */
179
+ export async function assertModeStartAllowed(mode, projectRoot) {
180
+ for (const other of EXCLUSIVE_MODES) {
181
+ if (other === mode)
182
+ continue;
183
+ const state = readModeState(other, projectRoot);
184
+ if (state && state.active) {
185
+ throw new Error(`Cannot start ${mode}: ${other} is already active`);
186
+ }
187
+ }
188
+ }
189
+ async function activateAutoresearchRun(manifest) {
190
+ await writeActiveRunState(manifest.repo_root, {
191
+ schema_version: 1,
192
+ active: true,
193
+ run_id: manifest.run_id,
194
+ mission_slug: manifest.mission_slug,
195
+ repo_root: manifest.repo_root,
196
+ worktree_path: manifest.worktree_path,
197
+ status: manifest.status,
198
+ updated_at: nowIso(),
199
+ });
200
+ }
201
+ async function deactivateAutoresearchRun(manifest) {
202
+ const previous = await readActiveRunState(manifest.repo_root);
203
+ await writeActiveRunState(manifest.repo_root, {
204
+ schema_version: 1,
205
+ active: false,
206
+ run_id: previous?.run_id ?? manifest.run_id,
207
+ mission_slug: previous?.mission_slug ?? manifest.mission_slug,
208
+ repo_root: manifest.repo_root,
209
+ worktree_path: previous?.worktree_path ?? manifest.worktree_path,
210
+ status: manifest.status,
211
+ updated_at: nowIso(),
212
+ completed_at: nowIso(),
213
+ });
214
+ }
215
+ /**
216
+ * Start autoresearch mode state using OMC's writeModeState.
217
+ */
218
+ function startAutoresearchMode(taskDescription, projectRoot) {
219
+ writeModeState('autoresearch', {
220
+ active: true,
221
+ mode: 'autoresearch',
222
+ iteration: 0,
223
+ max_iterations: 1,
224
+ current_phase: 'starting',
225
+ task_description: taskDescription,
226
+ started_at: nowIso(),
227
+ }, projectRoot);
228
+ }
229
+ /**
230
+ * Update autoresearch mode state (merge semantics).
231
+ */
232
+ function updateAutoresearchMode(updates, projectRoot) {
233
+ const current = readModeState('autoresearch', projectRoot);
234
+ if (!current)
235
+ return;
236
+ writeModeState('autoresearch', { ...current, ...updates }, projectRoot);
237
+ }
238
+ /**
239
+ * Cancel autoresearch mode state.
240
+ */
241
+ function cancelAutoresearchMode(projectRoot) {
242
+ const state = readModeState('autoresearch', projectRoot);
243
+ if (state && state.active) {
244
+ writeModeState('autoresearch', {
245
+ ...state,
246
+ active: false,
247
+ current_phase: 'cancelled',
248
+ completed_at: nowIso(),
249
+ }, projectRoot);
250
+ }
251
+ }
252
+ function resultPassValue(value) {
253
+ return value === undefined ? '' : String(value);
254
+ }
255
+ function resultScoreValue(value) {
256
+ return typeof value === 'number' ? String(value) : '';
257
+ }
258
+ async function initializeAutoresearchResultsFile(resultsFile) {
259
+ if (existsSync(resultsFile))
260
+ return;
261
+ await ensureParentDir(resultsFile);
262
+ await writeFile(resultsFile, AUTORESEARCH_RESULTS_HEADER, 'utf-8');
263
+ }
264
+ async function appendAutoresearchResultsRow(resultsFile, row) {
265
+ const existing = existsSync(resultsFile)
266
+ ? await readFile(resultsFile, 'utf-8')
267
+ : AUTORESEARCH_RESULTS_HEADER;
268
+ await writeFile(resultsFile, `${existing}${row.iteration}\t${row.commit}\t${resultPassValue(row.pass)}\t${resultScoreValue(row.score)}\t${row.status}\t${row.description}\n`, 'utf-8');
269
+ }
270
+ async function appendAutoresearchLedgerEntry(ledgerFile, entry) {
271
+ const parsed = existsSync(ledgerFile)
272
+ ? await readJsonFile(ledgerFile)
273
+ : { schema_version: 1, entries: [] };
274
+ const entries = Array.isArray(parsed.entries) ? parsed.entries : [];
275
+ entries.push(entry);
276
+ await writeJsonFile(ledgerFile, {
277
+ schema_version: typeof parsed.schema_version === 'number' ? parsed.schema_version : 1,
278
+ run_id: parsed.run_id,
279
+ created_at: parsed.created_at || nowIso(),
280
+ updated_at: nowIso(),
281
+ entries,
282
+ });
283
+ }
284
+ async function readAutoresearchLedgerEntries(ledgerFile) {
285
+ if (!existsSync(ledgerFile))
286
+ return [];
287
+ const parsed = await readJsonFile(ledgerFile);
288
+ return Array.isArray(parsed.entries) ? parsed.entries : [];
289
+ }
290
+ export async function countTrailingAutoresearchNoops(ledgerFile) {
291
+ const entries = await readAutoresearchLedgerEntries(ledgerFile);
292
+ let count = 0;
293
+ for (let index = entries.length - 1; index >= 0; index -= 1) {
294
+ const entry = entries[index];
295
+ if (!entry || entry.kind !== 'iteration' || entry.decision !== 'noop')
296
+ break;
297
+ count += 1;
298
+ }
299
+ return count;
300
+ }
301
+ function formatAutoresearchInstructionSummary(entries, maxEntries = 3) {
302
+ return entries
303
+ .slice(-maxEntries)
304
+ .map((entry) => ({
305
+ iteration: entry.iteration,
306
+ decision: entry.decision,
307
+ reason: trimContent(entry.decision_reason, 160),
308
+ kept_commit: entry.kept_commit,
309
+ candidate_commit: entry.candidate_commit,
310
+ evaluator_status: entry.evaluator?.status ?? null,
311
+ evaluator_score: typeof entry.evaluator?.score === 'number' ? entry.evaluator.score : null,
312
+ description: trimContent(entry.description, 120),
313
+ }));
314
+ }
315
+ async function buildAutoresearchInstructionContext(manifest) {
316
+ const entries = await readAutoresearchLedgerEntries(manifest.ledger_file);
317
+ const previous = entries.at(-1);
318
+ return {
319
+ previousIterationOutcome: previous
320
+ ? `${previous.decision}:${trimContent(previous.decision_reason, 160)}`
321
+ : null,
322
+ recentLedgerSummary: formatAutoresearchInstructionSummary(entries),
323
+ };
324
+ }
325
+ export async function runAutoresearchEvaluator(contract, worktreePath, ledgerFile, latestEvaluatorFile) {
326
+ const ran_at = nowIso();
327
+ const result = spawnSync(contract.sandbox.evaluator.command, {
328
+ cwd: worktreePath,
329
+ encoding: 'utf-8',
330
+ shell: true,
331
+ maxBuffer: 1024 * 1024,
332
+ });
333
+ const stdout = result.stdout?.trim() || '';
334
+ const stderr = result.stderr?.trim() || '';
335
+ let record;
336
+ if (result.error || result.status !== 0) {
337
+ record = {
338
+ command: contract.sandbox.evaluator.command,
339
+ ran_at,
340
+ status: 'error',
341
+ exit_code: result.status,
342
+ stdout,
343
+ stderr: result.error ? [stderr, result.error.message].filter(Boolean).join('\n') : stderr,
344
+ };
345
+ }
346
+ else {
347
+ try {
348
+ const parsed = parseEvaluatorResult(stdout);
349
+ record = {
350
+ command: contract.sandbox.evaluator.command,
351
+ ran_at,
352
+ status: parsed.pass ? 'pass' : 'fail',
353
+ pass: parsed.pass,
354
+ ...(parsed.score !== undefined ? { score: parsed.score } : {}),
355
+ exit_code: result.status,
356
+ stdout,
357
+ stderr,
358
+ };
359
+ }
360
+ catch (error) {
361
+ record = {
362
+ command: contract.sandbox.evaluator.command,
363
+ ran_at,
364
+ status: 'error',
365
+ exit_code: result.status,
366
+ stdout,
367
+ stderr,
368
+ parse_error: error instanceof Error ? error.message : String(error),
369
+ };
370
+ }
371
+ }
372
+ if (latestEvaluatorFile) {
373
+ await writeJsonFile(latestEvaluatorFile, record);
374
+ }
375
+ if (ledgerFile) {
376
+ await appendAutoresearchLedgerEntry(ledgerFile, {
377
+ iteration: -1,
378
+ kind: 'iteration',
379
+ decision: record.status === 'error' ? 'error' : record.status === 'pass' ? 'keep' : 'discard',
380
+ decision_reason: 'raw evaluator record',
381
+ candidate_status: 'candidate',
382
+ base_commit: readGitShortHead(worktreePath),
383
+ candidate_commit: null,
384
+ kept_commit: readGitShortHead(worktreePath),
385
+ keep_policy: contract.sandbox.evaluator.keep_policy ?? 'score_improvement',
386
+ evaluator: record,
387
+ created_at: nowIso(),
388
+ notes: ['raw evaluator invocation'],
389
+ description: 'raw evaluator record',
390
+ });
391
+ }
392
+ return record;
393
+ }
394
+ function comparableScore(previousScore, nextScore) {
395
+ return typeof previousScore === 'number' && typeof nextScore === 'number';
396
+ }
397
+ export function decideAutoresearchOutcome(manifest, candidate, evaluation) {
398
+ if (candidate.status === 'abort') {
399
+ return {
400
+ decision: 'abort',
401
+ decisionReason: 'candidate requested abort',
402
+ keep: false,
403
+ evaluator: null,
404
+ notes: ['run stopped by candidate artifact'],
405
+ };
406
+ }
407
+ if (candidate.status === 'noop') {
408
+ return {
409
+ decision: 'noop',
410
+ decisionReason: 'candidate reported noop',
411
+ keep: false,
412
+ evaluator: null,
413
+ notes: ['no code change was proposed'],
414
+ };
415
+ }
416
+ if (candidate.status === 'interrupted') {
417
+ return {
418
+ decision: 'interrupted',
419
+ decisionReason: 'candidate session was interrupted',
420
+ keep: false,
421
+ evaluator: null,
422
+ notes: ['supervisor should inspect worktree cleanliness before continuing'],
423
+ };
424
+ }
425
+ if (!evaluation || evaluation.status === 'error') {
426
+ return {
427
+ decision: 'discard',
428
+ decisionReason: 'evaluator error',
429
+ keep: false,
430
+ evaluator: evaluation,
431
+ notes: ['candidate discarded because evaluator errored or crashed'],
432
+ };
433
+ }
434
+ if (!evaluation.pass) {
435
+ return {
436
+ decision: 'discard',
437
+ decisionReason: 'evaluator reported failure',
438
+ keep: false,
439
+ evaluator: evaluation,
440
+ notes: ['candidate discarded because evaluator pass=false'],
441
+ };
442
+ }
443
+ if (manifest.keep_policy === 'pass_only') {
444
+ return {
445
+ decision: 'keep',
446
+ decisionReason: 'pass_only keep policy accepted evaluator pass=true',
447
+ keep: true,
448
+ evaluator: evaluation,
449
+ notes: ['candidate kept because sandbox opted into pass_only policy'],
450
+ };
451
+ }
452
+ if (!comparableScore(manifest.last_kept_score, evaluation.score)) {
453
+ return {
454
+ decision: 'ambiguous',
455
+ decisionReason: 'evaluator pass without comparable score',
456
+ keep: false,
457
+ evaluator: evaluation,
458
+ notes: ['candidate discarded because score_improvement policy requires comparable numeric scores'],
459
+ };
460
+ }
461
+ if (evaluation.score > manifest.last_kept_score) {
462
+ return {
463
+ decision: 'keep',
464
+ decisionReason: 'score improved over last kept score',
465
+ keep: true,
466
+ evaluator: evaluation,
467
+ notes: ['candidate kept because evaluator score increased'],
468
+ };
469
+ }
470
+ return {
471
+ decision: 'discard',
472
+ decisionReason: 'score did not improve',
473
+ keep: false,
474
+ evaluator: evaluation,
475
+ notes: ['candidate discarded because evaluator score was not better than the kept baseline'],
476
+ };
477
+ }
478
+ export function buildAutoresearchInstructions(contract, context) {
479
+ return [
480
+ '# OMC Autoresearch Supervisor Instructions',
481
+ '',
482
+ `Run ID: ${context.runId}`,
483
+ `Mission directory: ${contract.missionDir}`,
484
+ `Mission file: ${contract.missionFile}`,
485
+ `Sandbox file: ${contract.sandboxFile}`,
486
+ `Mission slug: ${contract.missionSlug}`,
487
+ `Iteration: ${context.iteration}`,
488
+ `Baseline commit: ${context.baselineCommit}`,
489
+ `Last kept commit: ${context.lastKeptCommit}`,
490
+ `Last kept score: ${typeof context.lastKeptScore === 'number' ? context.lastKeptScore : 'n/a'}`,
491
+ `Results file: ${context.resultsFile}`,
492
+ `Candidate artifact: ${context.candidateFile}`,
493
+ `Keep policy: ${context.keepPolicy}`,
494
+ '',
495
+ 'Iteration state snapshot:',
496
+ '```json',
497
+ JSON.stringify({
498
+ iteration: context.iteration,
499
+ baseline_commit: context.baselineCommit,
500
+ last_kept_commit: context.lastKeptCommit,
501
+ last_kept_score: context.lastKeptScore ?? null,
502
+ previous_iteration_outcome: context.previousIterationOutcome ?? 'none yet',
503
+ recent_ledger_summary: context.recentLedgerSummary ?? [],
504
+ keep_policy: context.keepPolicy,
505
+ }, null, 2),
506
+ '```',
507
+ '',
508
+ 'Operate as a thin autoresearch experiment worker for exactly one experiment cycle.',
509
+ 'Do not loop forever inside this session. Make at most one candidate commit, then write the candidate artifact JSON and exit.',
510
+ '',
511
+ 'Candidate artifact contract:',
512
+ '- Write JSON to the exact candidate artifact path above.',
513
+ '- status: candidate | noop | abort | interrupted',
514
+ '- candidate_commit: string | null',
515
+ '- base_commit: current base commit before your edits',
516
+ '- for status=candidate, candidate_commit must resolve in git and match the worktree HEAD commit when you exit',
517
+ '- base_commit must still match the last kept commit provided above',
518
+ '- description: short one-line summary',
519
+ '- notes: array of short strings',
520
+ '- created_at: ISO timestamp',
521
+ '',
522
+ 'Supervisor semantics after you exit:',
523
+ '- status=candidate => evaluator runs, then supervisor keeps or discards and may reset the worktree',
524
+ '- status=noop => supervisor logs a noop iteration and relaunches',
525
+ '- status=abort => supervisor stops the run',
526
+ '- status=interrupted => supervisor inspects worktree safety before deciding how to proceed',
527
+ '',
528
+ 'Evaluator contract:',
529
+ `- command: ${contract.sandbox.evaluator.command}`,
530
+ '- format: json',
531
+ '- required output field: pass (boolean)',
532
+ '- optional output field: score (number)',
533
+ '',
534
+ 'Mission content:',
535
+ '```md',
536
+ trimContent(contract.missionContent),
537
+ '```',
538
+ '',
539
+ 'Sandbox policy:',
540
+ '```md',
541
+ trimContent(contract.sandbox.body || contract.sandboxContent),
542
+ '```',
543
+ ].join('\n');
544
+ }
545
+ export async function materializeAutoresearchMissionToWorktree(contract, worktreePath) {
546
+ const missionDir = join(worktreePath, contract.missionRelativeDir);
547
+ const missionFile = join(missionDir, 'mission.md');
548
+ const sandboxFile = join(missionDir, 'sandbox.md');
549
+ await mkdir(missionDir, { recursive: true });
550
+ await writeFile(missionFile, contract.missionContent, 'utf-8');
551
+ await writeFile(sandboxFile, contract.sandboxContent, 'utf-8');
552
+ return {
553
+ ...contract,
554
+ missionDir,
555
+ missionFile,
556
+ sandboxFile,
557
+ };
558
+ }
559
+ export async function loadAutoresearchRunManifest(projectRoot, runId) {
560
+ const manifestFile = join(projectRoot, '.omc', 'logs', 'autoresearch', runId, 'manifest.json');
561
+ if (!existsSync(manifestFile)) {
562
+ throw new Error(`autoresearch_resume_manifest_missing:${runId}`);
563
+ }
564
+ return readJsonFile(manifestFile);
565
+ }
566
+ async function writeRunManifest(manifest) {
567
+ manifest.updated_at = nowIso();
568
+ await writeJsonFile(manifest.manifest_file, manifest);
569
+ }
570
+ async function writeInstructionsFile(contract, manifest) {
571
+ const instructionContext = await buildAutoresearchInstructionContext(manifest);
572
+ await writeFile(manifest.instructions_file, `${buildAutoresearchInstructions(contract, {
573
+ runId: manifest.run_id,
574
+ iteration: manifest.iteration + 1,
575
+ baselineCommit: manifest.baseline_commit,
576
+ lastKeptCommit: manifest.last_kept_commit,
577
+ lastKeptScore: manifest.last_kept_score,
578
+ resultsFile: manifest.results_file,
579
+ candidateFile: manifest.candidate_file,
580
+ keepPolicy: manifest.keep_policy,
581
+ previousIterationOutcome: instructionContext.previousIterationOutcome,
582
+ recentLedgerSummary: instructionContext.recentLedgerSummary,
583
+ })}\n`, 'utf-8');
584
+ }
585
+ async function seedBaseline(contract, manifest) {
586
+ const evaluation = await runAutoresearchEvaluator(contract, manifest.worktree_path);
587
+ await writeJsonFile(manifest.latest_evaluator_file, evaluation);
588
+ await appendAutoresearchResultsRow(manifest.results_file, {
589
+ iteration: 0,
590
+ commit: readGitShortHead(manifest.worktree_path),
591
+ pass: evaluation.pass,
592
+ score: evaluation.score,
593
+ status: evaluation.status === 'error' ? 'error' : 'baseline',
594
+ description: 'initial baseline evaluation',
595
+ });
596
+ await appendAutoresearchLedgerEntry(manifest.ledger_file, {
597
+ iteration: 0,
598
+ kind: 'baseline',
599
+ decision: evaluation.status === 'error' ? 'error' : 'baseline',
600
+ decision_reason: evaluation.status === 'error' ? 'baseline evaluator error' : 'baseline established',
601
+ candidate_status: 'baseline',
602
+ base_commit: manifest.baseline_commit,
603
+ candidate_commit: null,
604
+ kept_commit: manifest.last_kept_commit,
605
+ keep_policy: manifest.keep_policy,
606
+ evaluator: evaluation,
607
+ created_at: nowIso(),
608
+ notes: ['baseline row is always recorded'],
609
+ description: 'initial baseline evaluation',
610
+ });
611
+ manifest.last_kept_score = evaluation.pass && typeof evaluation.score === 'number' ? evaluation.score : null;
612
+ await writeRunManifest(manifest);
613
+ await writeInstructionsFile(contract, manifest);
614
+ return evaluation;
615
+ }
616
+ export async function prepareAutoresearchRuntime(contract, projectRoot, worktreePath, options = {}) {
617
+ await assertAutoresearchLockAvailable(projectRoot);
618
+ await ensureRuntimeExcludes(worktreePath);
619
+ await ensureAutoresearchWorktreeDependencies(projectRoot, worktreePath);
620
+ assertResetSafeWorktree(worktreePath, [contract.missionFile, contract.sandboxFile]);
621
+ const runTag = options.runTag || buildAutoresearchRunTag();
622
+ const runId = buildRunId(contract.missionSlug, runTag);
623
+ const baselineCommit = readGitShortHead(worktreePath);
624
+ const branchName = readGit(worktreePath, ['symbolic-ref', '--quiet', '--short', 'HEAD']);
625
+ const runDir = join(projectRoot, '.omc', 'logs', 'autoresearch', runId);
626
+ const stateFile = activeRunStateFile(projectRoot);
627
+ const instructionsFile = join(runDir, 'bootstrap-instructions.md');
628
+ const manifestFile = join(runDir, 'manifest.json');
629
+ const ledgerFile = join(runDir, 'iteration-ledger.json');
630
+ const latestEvaluatorFile = join(runDir, 'latest-evaluator-result.json');
631
+ const candidateFile = join(runDir, 'candidate.json');
632
+ const resultsFile = join(worktreePath, 'results.tsv');
633
+ const taskDescription = `autoresearch ${contract.missionRelativeDir} (${runId})`;
634
+ const keepPolicy = contract.sandbox.evaluator.keep_policy ?? 'score_improvement';
635
+ await mkdir(runDir, { recursive: true });
636
+ await initializeAutoresearchResultsFile(resultsFile);
637
+ await writeJsonFile(candidateFile, {
638
+ status: 'noop',
639
+ candidate_commit: null,
640
+ base_commit: baselineCommit,
641
+ description: 'not-yet-written',
642
+ notes: ['candidate artifact will be overwritten by the launched session'],
643
+ created_at: nowIso(),
644
+ });
645
+ const manifest = {
646
+ schema_version: 1,
647
+ run_id: runId,
648
+ run_tag: runTag,
649
+ mission_dir: contract.missionDir,
650
+ mission_file: contract.missionFile,
651
+ sandbox_file: contract.sandboxFile,
652
+ repo_root: projectRoot,
653
+ worktree_path: worktreePath,
654
+ mission_slug: contract.missionSlug,
655
+ branch_name: branchName,
656
+ baseline_commit: baselineCommit,
657
+ last_kept_commit: readGitFullHead(worktreePath),
658
+ last_kept_score: null,
659
+ latest_candidate_commit: null,
660
+ results_file: resultsFile,
661
+ instructions_file: instructionsFile,
662
+ manifest_file: manifestFile,
663
+ ledger_file: ledgerFile,
664
+ latest_evaluator_file: latestEvaluatorFile,
665
+ candidate_file: candidateFile,
666
+ evaluator: contract.sandbox.evaluator,
667
+ keep_policy: keepPolicy,
668
+ status: 'running',
669
+ stop_reason: null,
670
+ iteration: 0,
671
+ created_at: nowIso(),
672
+ updated_at: nowIso(),
673
+ completed_at: null,
674
+ };
675
+ await writeInstructionsFile(contract, manifest);
676
+ await writeRunManifest(manifest);
677
+ await writeJsonFile(ledgerFile, {
678
+ schema_version: 1,
679
+ run_id: runId,
680
+ created_at: nowIso(),
681
+ updated_at: nowIso(),
682
+ entries: [],
683
+ });
684
+ await writeJsonFile(latestEvaluatorFile, {
685
+ run_id: runId,
686
+ status: 'not-yet-run',
687
+ updated_at: nowIso(),
688
+ });
689
+ const existingModeState = readModeState('autoresearch', projectRoot);
690
+ if (existingModeState?.active) {
691
+ throw new Error(`autoresearch_active_mode_exists:${String(existingModeState.run_id || 'unknown')}`);
692
+ }
693
+ startAutoresearchMode(taskDescription, projectRoot);
694
+ await activateAutoresearchRun(manifest);
695
+ updateAutoresearchMode({
696
+ current_phase: 'evaluating-baseline',
697
+ run_id: runId,
698
+ run_tag: runTag,
699
+ mission_dir: contract.missionDir,
700
+ mission_file: contract.missionFile,
701
+ sandbox_file: contract.sandboxFile,
702
+ mission_slug: contract.missionSlug,
703
+ repo_root: projectRoot,
704
+ worktree_path: worktreePath,
705
+ baseline_commit: baselineCommit,
706
+ last_kept_commit: manifest.last_kept_commit,
707
+ results_file: resultsFile,
708
+ manifest_path: manifestFile,
709
+ iteration_ledger_path: ledgerFile,
710
+ latest_evaluator_result_path: latestEvaluatorFile,
711
+ bootstrap_instructions_path: instructionsFile,
712
+ candidate_path: candidateFile,
713
+ keep_policy: keepPolicy,
714
+ state_file: stateFile,
715
+ }, projectRoot);
716
+ const evaluation = await seedBaseline(contract, manifest);
717
+ updateAutoresearchMode({
718
+ current_phase: 'running',
719
+ latest_evaluator_status: evaluation.status,
720
+ latest_evaluator_pass: evaluation.pass,
721
+ latest_evaluator_score: evaluation.score,
722
+ latest_evaluator_ran_at: evaluation.ran_at,
723
+ last_kept_commit: manifest.last_kept_commit,
724
+ last_kept_score: manifest.last_kept_score,
725
+ }, projectRoot);
726
+ return {
727
+ runId,
728
+ runTag,
729
+ runDir,
730
+ instructionsFile,
731
+ manifestFile,
732
+ ledgerFile,
733
+ latestEvaluatorFile,
734
+ resultsFile,
735
+ stateFile,
736
+ candidateFile,
737
+ repoRoot: projectRoot,
738
+ worktreePath,
739
+ taskDescription,
740
+ };
741
+ }
742
+ export async function resumeAutoresearchRuntime(projectRoot, runId) {
743
+ await assertAutoresearchLockAvailable(projectRoot);
744
+ const manifest = await loadAutoresearchRunManifest(projectRoot, runId);
745
+ if (manifest.status !== 'running') {
746
+ throw new Error(`autoresearch_resume_terminal_run:${runId}`);
747
+ }
748
+ if (!existsSync(manifest.worktree_path)) {
749
+ throw new Error(`autoresearch_resume_missing_worktree:${manifest.worktree_path}`);
750
+ }
751
+ await ensureRuntimeExcludes(manifest.worktree_path);
752
+ await ensureAutoresearchWorktreeDependencies(projectRoot, manifest.worktree_path);
753
+ assertResetSafeWorktree(manifest.worktree_path, [manifest.mission_file, manifest.sandbox_file]);
754
+ startAutoresearchMode(`autoresearch resume ${runId}`, projectRoot);
755
+ await activateAutoresearchRun(manifest);
756
+ updateAutoresearchMode({
757
+ current_phase: 'running',
758
+ run_id: manifest.run_id,
759
+ run_tag: manifest.run_tag,
760
+ mission_dir: manifest.mission_dir,
761
+ mission_file: manifest.mission_file,
762
+ sandbox_file: manifest.sandbox_file,
763
+ mission_slug: manifest.mission_slug,
764
+ repo_root: manifest.repo_root,
765
+ worktree_path: manifest.worktree_path,
766
+ baseline_commit: manifest.baseline_commit,
767
+ last_kept_commit: manifest.last_kept_commit,
768
+ last_kept_score: manifest.last_kept_score,
769
+ results_file: manifest.results_file,
770
+ manifest_path: manifest.manifest_file,
771
+ iteration_ledger_path: manifest.ledger_file,
772
+ latest_evaluator_result_path: manifest.latest_evaluator_file,
773
+ bootstrap_instructions_path: manifest.instructions_file,
774
+ candidate_path: manifest.candidate_file,
775
+ keep_policy: manifest.keep_policy,
776
+ state_file: activeRunStateFile(projectRoot),
777
+ }, projectRoot);
778
+ return {
779
+ runId: manifest.run_id,
780
+ runTag: manifest.run_tag,
781
+ runDir: dirname(manifest.manifest_file),
782
+ instructionsFile: manifest.instructions_file,
783
+ manifestFile: manifest.manifest_file,
784
+ ledgerFile: manifest.ledger_file,
785
+ latestEvaluatorFile: manifest.latest_evaluator_file,
786
+ resultsFile: manifest.results_file,
787
+ stateFile: activeRunStateFile(projectRoot),
788
+ candidateFile: manifest.candidate_file,
789
+ repoRoot: manifest.repo_root,
790
+ worktreePath: manifest.worktree_path,
791
+ taskDescription: `autoresearch resume ${runId}`,
792
+ };
793
+ }
794
+ export function parseAutoresearchCandidateArtifact(raw) {
795
+ let parsed;
796
+ try {
797
+ parsed = JSON.parse(raw);
798
+ }
799
+ catch {
800
+ throw new Error('autoresearch candidate artifact must be valid JSON');
801
+ }
802
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
803
+ throw new Error('autoresearch candidate artifact must be a JSON object');
804
+ }
805
+ const record = parsed;
806
+ const status = record.status;
807
+ if (status !== 'candidate' && status !== 'noop' && status !== 'abort' && status !== 'interrupted') {
808
+ throw new Error('autoresearch candidate artifact status must be candidate|noop|abort|interrupted');
809
+ }
810
+ if (record.candidate_commit !== null && typeof record.candidate_commit !== 'string') {
811
+ throw new Error('autoresearch candidate artifact candidate_commit must be string|null');
812
+ }
813
+ if (typeof record.base_commit !== 'string' || !record.base_commit.trim()) {
814
+ throw new Error('autoresearch candidate artifact base_commit is required');
815
+ }
816
+ if (typeof record.description !== 'string') {
817
+ throw new Error('autoresearch candidate artifact description is required');
818
+ }
819
+ if (!Array.isArray(record.notes) || record.notes.some((note) => typeof note !== 'string')) {
820
+ throw new Error('autoresearch candidate artifact notes must be a string array');
821
+ }
822
+ if (typeof record.created_at !== 'string' || !record.created_at.trim()) {
823
+ throw new Error('autoresearch candidate artifact created_at is required');
824
+ }
825
+ return {
826
+ status,
827
+ candidate_commit: record.candidate_commit,
828
+ base_commit: record.base_commit,
829
+ description: record.description,
830
+ notes: record.notes,
831
+ created_at: record.created_at,
832
+ };
833
+ }
834
+ async function readCandidateArtifact(candidateFile) {
835
+ if (!existsSync(candidateFile)) {
836
+ throw new Error(`autoresearch_candidate_missing:${candidateFile}`);
837
+ }
838
+ return parseAutoresearchCandidateArtifact(await readFile(candidateFile, 'utf-8'));
839
+ }
840
+ async function finalizeRun(manifest, projectRoot, updates) {
841
+ manifest.status = updates.status;
842
+ manifest.stop_reason = updates.stopReason;
843
+ manifest.completed_at = nowIso();
844
+ await writeRunManifest(manifest);
845
+ updateAutoresearchMode({
846
+ active: false,
847
+ current_phase: updates.status,
848
+ completed_at: manifest.completed_at,
849
+ stop_reason: updates.stopReason,
850
+ }, projectRoot);
851
+ await deactivateAutoresearchRun(manifest);
852
+ }
853
+ function resetToLastKeptCommit(manifest) {
854
+ assertResetSafeWorktree(manifest.worktree_path, [manifest.mission_file, manifest.sandbox_file]);
855
+ requireGitSuccess(manifest.worktree_path, ['reset', '--hard', manifest.last_kept_commit]);
856
+ }
857
+ function validateAutoresearchCandidate(manifest, candidate) {
858
+ const resolvedBaseCommit = tryResolveGitCommit(manifest.worktree_path, candidate.base_commit);
859
+ if (!resolvedBaseCommit) {
860
+ return {
861
+ reason: `candidate base_commit does not resolve in git: ${candidate.base_commit}`,
862
+ };
863
+ }
864
+ if (resolvedBaseCommit !== manifest.last_kept_commit) {
865
+ return {
866
+ reason: `candidate base_commit ${resolvedBaseCommit} does not match last kept commit ${manifest.last_kept_commit}`,
867
+ };
868
+ }
869
+ if (candidate.status !== 'candidate') {
870
+ return {
871
+ candidate: {
872
+ ...candidate,
873
+ base_commit: resolvedBaseCommit,
874
+ },
875
+ };
876
+ }
877
+ if (!candidate.candidate_commit) {
878
+ return {
879
+ reason: 'candidate status requires a non-null candidate_commit',
880
+ };
881
+ }
882
+ const resolvedCandidateCommit = tryResolveGitCommit(manifest.worktree_path, candidate.candidate_commit);
883
+ if (!resolvedCandidateCommit) {
884
+ return {
885
+ reason: `candidate_commit does not resolve in git: ${candidate.candidate_commit}`,
886
+ };
887
+ }
888
+ const headCommit = readGitFullHead(manifest.worktree_path);
889
+ if (resolvedCandidateCommit !== headCommit) {
890
+ return {
891
+ reason: `candidate_commit ${resolvedCandidateCommit} does not match worktree HEAD ${headCommit}`,
892
+ };
893
+ }
894
+ return {
895
+ candidate: {
896
+ ...candidate,
897
+ base_commit: resolvedBaseCommit,
898
+ candidate_commit: resolvedCandidateCommit,
899
+ },
900
+ };
901
+ }
902
+ async function failAutoresearchIteration(manifest, projectRoot, reason, candidate) {
903
+ const headCommit = (() => {
904
+ try {
905
+ return readGitShortHead(manifest.worktree_path);
906
+ }
907
+ catch {
908
+ return manifest.baseline_commit;
909
+ }
910
+ })();
911
+ await appendAutoresearchResultsRow(manifest.results_file, {
912
+ iteration: manifest.iteration,
913
+ commit: headCommit,
914
+ status: 'error',
915
+ description: candidate?.description || 'candidate validation failed',
916
+ });
917
+ await appendAutoresearchLedgerEntry(manifest.ledger_file, {
918
+ iteration: manifest.iteration,
919
+ kind: 'iteration',
920
+ decision: 'error',
921
+ decision_reason: reason,
922
+ candidate_status: candidate?.status ?? 'candidate',
923
+ base_commit: candidate?.base_commit ?? manifest.last_kept_commit,
924
+ candidate_commit: candidate?.candidate_commit ?? null,
925
+ kept_commit: manifest.last_kept_commit,
926
+ keep_policy: manifest.keep_policy,
927
+ evaluator: null,
928
+ created_at: nowIso(),
929
+ notes: [...(candidate?.notes ?? []), `validation_error:${reason}`],
930
+ description: candidate?.description || 'candidate validation failed',
931
+ });
932
+ await finalizeRun(manifest, projectRoot, { status: 'failed', stopReason: reason });
933
+ return 'error';
934
+ }
935
+ export async function processAutoresearchCandidate(contract, manifest, projectRoot) {
936
+ manifest.iteration += 1;
937
+ let candidate;
938
+ try {
939
+ candidate = await readCandidateArtifact(manifest.candidate_file);
940
+ }
941
+ catch (error) {
942
+ return failAutoresearchIteration(manifest, projectRoot, error instanceof Error ? error.message : String(error));
943
+ }
944
+ const validation = validateAutoresearchCandidate(manifest, candidate);
945
+ if ('reason' in validation) {
946
+ return failAutoresearchIteration(manifest, projectRoot, validation.reason, candidate);
947
+ }
948
+ candidate = validation.candidate;
949
+ manifest.latest_candidate_commit = candidate.candidate_commit;
950
+ if (candidate.status === 'abort') {
951
+ await appendAutoresearchResultsRow(manifest.results_file, {
952
+ iteration: manifest.iteration,
953
+ commit: readGitShortHead(manifest.worktree_path),
954
+ status: 'abort',
955
+ description: candidate.description,
956
+ });
957
+ await appendAutoresearchLedgerEntry(manifest.ledger_file, {
958
+ iteration: manifest.iteration,
959
+ kind: 'iteration',
960
+ decision: 'abort',
961
+ decision_reason: 'candidate requested abort',
962
+ candidate_status: candidate.status,
963
+ base_commit: candidate.base_commit,
964
+ candidate_commit: candidate.candidate_commit,
965
+ kept_commit: manifest.last_kept_commit,
966
+ keep_policy: manifest.keep_policy,
967
+ evaluator: null,
968
+ created_at: nowIso(),
969
+ notes: candidate.notes,
970
+ description: candidate.description,
971
+ });
972
+ await finalizeRun(manifest, projectRoot, { status: 'stopped', stopReason: 'candidate abort' });
973
+ return 'abort';
974
+ }
975
+ if (candidate.status === 'interrupted') {
976
+ try {
977
+ assertResetSafeWorktree(manifest.worktree_path, [manifest.mission_file, manifest.sandbox_file]);
978
+ }
979
+ catch {
980
+ await finalizeRun(manifest, projectRoot, { status: 'failed', stopReason: 'interrupted dirty worktree requires operator intervention' });
981
+ return 'error';
982
+ }
983
+ await appendAutoresearchResultsRow(manifest.results_file, {
984
+ iteration: manifest.iteration,
985
+ commit: readGitShortHead(manifest.worktree_path),
986
+ status: 'interrupted',
987
+ description: candidate.description,
988
+ });
989
+ await appendAutoresearchLedgerEntry(manifest.ledger_file, {
990
+ iteration: manifest.iteration,
991
+ kind: 'iteration',
992
+ decision: 'interrupted',
993
+ decision_reason: 'candidate session interrupted cleanly',
994
+ candidate_status: candidate.status,
995
+ base_commit: candidate.base_commit,
996
+ candidate_commit: candidate.candidate_commit,
997
+ kept_commit: manifest.last_kept_commit,
998
+ keep_policy: manifest.keep_policy,
999
+ evaluator: null,
1000
+ created_at: nowIso(),
1001
+ notes: candidate.notes,
1002
+ description: candidate.description,
1003
+ });
1004
+ await writeRunManifest(manifest);
1005
+ await writeInstructionsFile(contract, manifest);
1006
+ return 'interrupted';
1007
+ }
1008
+ if (candidate.status === 'noop') {
1009
+ await appendAutoresearchResultsRow(manifest.results_file, {
1010
+ iteration: manifest.iteration,
1011
+ commit: readGitShortHead(manifest.worktree_path),
1012
+ status: 'noop',
1013
+ description: candidate.description,
1014
+ });
1015
+ await appendAutoresearchLedgerEntry(manifest.ledger_file, {
1016
+ iteration: manifest.iteration,
1017
+ kind: 'iteration',
1018
+ decision: 'noop',
1019
+ decision_reason: 'candidate reported noop',
1020
+ candidate_status: candidate.status,
1021
+ base_commit: candidate.base_commit,
1022
+ candidate_commit: candidate.candidate_commit,
1023
+ kept_commit: manifest.last_kept_commit,
1024
+ keep_policy: manifest.keep_policy,
1025
+ evaluator: null,
1026
+ created_at: nowIso(),
1027
+ notes: candidate.notes,
1028
+ description: candidate.description,
1029
+ });
1030
+ await writeRunManifest(manifest);
1031
+ await writeInstructionsFile(contract, manifest);
1032
+ return 'noop';
1033
+ }
1034
+ const evaluation = await runAutoresearchEvaluator(contract, manifest.worktree_path);
1035
+ await writeJsonFile(manifest.latest_evaluator_file, evaluation);
1036
+ const decision = decideAutoresearchOutcome(manifest, candidate, evaluation);
1037
+ if (decision.keep) {
1038
+ manifest.last_kept_commit = readGitFullHead(manifest.worktree_path);
1039
+ manifest.last_kept_score = typeof evaluation.score === 'number' ? evaluation.score : manifest.last_kept_score;
1040
+ }
1041
+ else {
1042
+ resetToLastKeptCommit(manifest);
1043
+ }
1044
+ await appendAutoresearchResultsRow(manifest.results_file, {
1045
+ iteration: manifest.iteration,
1046
+ commit: readGitShortHead(manifest.worktree_path),
1047
+ pass: evaluation.pass,
1048
+ score: evaluation.score,
1049
+ status: decision.decision,
1050
+ description: candidate.description,
1051
+ });
1052
+ await appendAutoresearchLedgerEntry(manifest.ledger_file, {
1053
+ iteration: manifest.iteration,
1054
+ kind: 'iteration',
1055
+ decision: decision.decision,
1056
+ decision_reason: decision.decisionReason,
1057
+ candidate_status: candidate.status,
1058
+ base_commit: candidate.base_commit,
1059
+ candidate_commit: candidate.candidate_commit,
1060
+ kept_commit: manifest.last_kept_commit,
1061
+ keep_policy: manifest.keep_policy,
1062
+ evaluator: evaluation,
1063
+ created_at: nowIso(),
1064
+ notes: [...candidate.notes, ...decision.notes],
1065
+ description: candidate.description,
1066
+ });
1067
+ await writeRunManifest(manifest);
1068
+ await writeInstructionsFile(contract, manifest);
1069
+ updateAutoresearchMode({
1070
+ current_phase: 'running',
1071
+ iteration: manifest.iteration,
1072
+ last_kept_commit: manifest.last_kept_commit,
1073
+ last_kept_score: manifest.last_kept_score,
1074
+ latest_evaluator_status: evaluation.status,
1075
+ latest_evaluator_pass: evaluation.pass,
1076
+ latest_evaluator_score: evaluation.score,
1077
+ latest_evaluator_ran_at: evaluation.ran_at,
1078
+ }, projectRoot);
1079
+ return decision.decision;
1080
+ }
1081
+ export async function finalizeAutoresearchRunState(projectRoot, runId, updates) {
1082
+ const manifest = await loadAutoresearchRunManifest(projectRoot, runId);
1083
+ if (manifest.status !== 'running') {
1084
+ return;
1085
+ }
1086
+ await finalizeRun(manifest, projectRoot, updates);
1087
+ }
1088
+ export async function stopAutoresearchRuntime(projectRoot) {
1089
+ const state = readModeState('autoresearch', projectRoot);
1090
+ if (!state?.active) {
1091
+ return;
1092
+ }
1093
+ const runId = typeof state.run_id === 'string' ? state.run_id : null;
1094
+ if (runId) {
1095
+ await finalizeAutoresearchRunState(projectRoot, runId, {
1096
+ status: 'stopped',
1097
+ stopReason: 'operator stop',
1098
+ });
1099
+ return;
1100
+ }
1101
+ cancelAutoresearchMode(projectRoot);
1102
+ }
1103
+ //# sourceMappingURL=runtime.js.map