claudecode-omc 4.4.5 → 4.4.7

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 (859) hide show
  1. package/.mcp.json +2 -6
  2. package/README.es.md +64 -8
  3. package/README.ja.md +64 -8
  4. package/README.ko.md +64 -8
  5. package/README.pt.md +29 -0
  6. package/README.vi.md +29 -0
  7. package/README.zh.md +64 -8
  8. package/agents/architect.md +17 -7
  9. package/agents/code-reviewer.md +6 -7
  10. package/agents/critic.md +14 -1
  11. package/agents/deep-executor.md +6 -7
  12. package/agents/designer.md +6 -8
  13. package/agents/executor.md +6 -7
  14. package/agents/planner.md +21 -0
  15. package/agents/quality-reviewer.md +6 -7
  16. package/agents/security-reviewer.md +6 -7
  17. package/agents/test-engineer.md +6 -7
  18. package/bridge/mcp-server.cjs +517 -202
  19. package/bridge/runtime-cli.cjs +1550 -0
  20. package/bridge/team-bridge.cjs +362 -103
  21. package/bridge/{gemini-server.cjs → team-mcp.cjs} +10914 -10240
  22. package/dist/__tests__/auto-update.test.js +1 -1
  23. package/dist/__tests__/auto-update.test.js.map +1 -1
  24. package/dist/__tests__/cli-win32-warning.test.d.ts +2 -0
  25. package/dist/__tests__/cli-win32-warning.test.d.ts.map +1 -0
  26. package/dist/__tests__/cli-win32-warning.test.js +46 -0
  27. package/dist/__tests__/cli-win32-warning.test.js.map +1 -0
  28. package/dist/__tests__/codex-callsite-normalization.test.js +112 -0
  29. package/dist/__tests__/consensus-execution-handoff.test.d.ts +2 -0
  30. package/dist/__tests__/consensus-execution-handoff.test.d.ts.map +1 -1
  31. package/dist/__tests__/consensus-execution-handoff.test.js +48 -0
  32. package/dist/__tests__/consensus-execution-handoff.test.js.map +1 -1
  33. package/dist/__tests__/context-safety.test.d.ts +2 -0
  34. package/dist/__tests__/context-safety.test.d.ts.map +1 -0
  35. package/dist/__tests__/context-safety.test.js +59 -0
  36. package/dist/__tests__/context-safety.test.js.map +1 -0
  37. package/dist/__tests__/hooks.test.js +15 -0
  38. package/dist/__tests__/hooks.test.js.map +1 -1
  39. package/dist/__tests__/hud/call-counts.test.js +0 -3
  40. package/dist/__tests__/hud/call-counts.test.js.map +1 -1
  41. package/dist/__tests__/hud/defaults.test.js +3 -5
  42. package/dist/__tests__/hud/defaults.test.js.map +1 -1
  43. package/dist/__tests__/hud/prompt-time.test.d.ts +2 -0
  44. package/dist/__tests__/hud/prompt-time.test.d.ts.map +1 -0
  45. package/dist/__tests__/hud/prompt-time.test.js +24 -0
  46. package/dist/__tests__/hud/prompt-time.test.js.map +1 -0
  47. package/dist/__tests__/hud/render.test.js +0 -1
  48. package/dist/__tests__/hud/render.test.js.map +1 -1
  49. package/dist/__tests__/hud/usage-api.test.js +5 -0
  50. package/dist/__tests__/hud/usage-api.test.js.map +1 -1
  51. package/dist/__tests__/hud/version-display.test.js +1 -0
  52. package/dist/__tests__/hud/version-display.test.js.map +1 -1
  53. package/dist/__tests__/hud/windows-platform.test.js +0 -4
  54. package/dist/__tests__/hud/windows-platform.test.js.map +1 -1
  55. package/dist/__tests__/hud-windows.test.js +5 -3
  56. package/dist/__tests__/hud-windows.test.js.map +1 -1
  57. package/dist/__tests__/installer-hud-skip.test.js +12 -2
  58. package/dist/__tests__/installer-hud-skip.test.js.map +1 -1
  59. package/dist/__tests__/installer.test.js +1 -1
  60. package/dist/__tests__/installer.test.js.map +1 -1
  61. package/dist/__tests__/job-management-sqlite.test.js +0 -15
  62. package/dist/__tests__/job-management-sqlite.test.js.map +1 -1
  63. package/dist/__tests__/job-management.test.js +0 -16
  64. package/dist/__tests__/job-management.test.js.map +1 -1
  65. package/dist/__tests__/load-agent-prompt.test.js +0 -23
  66. package/dist/__tests__/load-agent-prompt.test.js.map +1 -1
  67. package/dist/__tests__/model-routing.test.js +3 -2
  68. package/dist/__tests__/model-routing.test.js.map +1 -1
  69. package/dist/__tests__/omc-tools-server-interop.test.js +1 -1
  70. package/dist/__tests__/omc-tools-server-interop.test.js.map +1 -1
  71. package/dist/__tests__/pre-tool-enforcer.test.d.ts +2 -0
  72. package/dist/__tests__/pre-tool-enforcer.test.d.ts.map +1 -0
  73. package/dist/__tests__/pre-tool-enforcer.test.js +194 -0
  74. package/dist/__tests__/pre-tool-enforcer.test.js.map +1 -0
  75. package/dist/__tests__/prompt-injection.test.js +0 -26
  76. package/dist/__tests__/prompt-injection.test.js.map +1 -1
  77. package/dist/__tests__/purge-stale-cache.test.js +3 -2
  78. package/dist/__tests__/purge-stale-cache.test.js.map +1 -1
  79. package/dist/__tests__/run-cjs-graceful-fallback.test.d.ts +2 -0
  80. package/dist/__tests__/run-cjs-graceful-fallback.test.d.ts.map +1 -0
  81. package/dist/__tests__/run-cjs-graceful-fallback.test.js +167 -0
  82. package/dist/__tests__/run-cjs-graceful-fallback.test.js.map +1 -0
  83. package/dist/__tests__/session-start-cache-cleanup.test.d.ts +2 -0
  84. package/dist/__tests__/session-start-cache-cleanup.test.d.ts.map +1 -0
  85. package/dist/__tests__/session-start-cache-cleanup.test.js +150 -0
  86. package/dist/__tests__/session-start-cache-cleanup.test.js.map +1 -0
  87. package/dist/__tests__/skills.test.js +7 -10
  88. package/dist/__tests__/skills.test.js.map +1 -1
  89. package/dist/__tests__/team-server-validation.test.d.ts +2 -0
  90. package/dist/__tests__/team-server-validation.test.d.ts.map +1 -0
  91. package/dist/__tests__/team-server-validation.test.js +122 -0
  92. package/dist/__tests__/team-server-validation.test.js.map +1 -0
  93. package/dist/agents/index.d.ts +0 -1
  94. package/dist/agents/index.d.ts.map +1 -1
  95. package/dist/agents/index.js +0 -2
  96. package/dist/agents/index.js.map +1 -1
  97. package/dist/agents/prompt-helpers.d.ts +74 -0
  98. package/dist/agents/prompt-helpers.d.ts.map +1 -0
  99. package/dist/agents/prompt-helpers.js +187 -0
  100. package/dist/agents/prompt-helpers.js.map +1 -0
  101. package/dist/agents/utils.d.ts +1 -5
  102. package/dist/agents/utils.d.ts.map +1 -1
  103. package/dist/agents/utils.js +1 -34
  104. package/dist/agents/utils.js.map +1 -1
  105. package/dist/cli/__tests__/launch.test.d.ts +1 -2
  106. package/dist/cli/__tests__/launch.test.d.ts.map +1 -1
  107. package/dist/cli/__tests__/launch.test.js +442 -48
  108. package/dist/cli/__tests__/launch.test.js.map +1 -1
  109. package/dist/cli/__tests__/teleport-help.test.d.ts +2 -0
  110. package/dist/cli/__tests__/teleport-help.test.d.ts.map +1 -0
  111. package/dist/cli/__tests__/teleport-help.test.js +17 -0
  112. package/dist/cli/__tests__/teleport-help.test.js.map +1 -0
  113. package/dist/cli/commands/teleport.d.ts +2 -1
  114. package/dist/cli/commands/teleport.d.ts.map +1 -1
  115. package/dist/cli/commands/teleport.js +6 -3
  116. package/dist/cli/commands/teleport.js.map +1 -1
  117. package/dist/cli/index.js +40 -290
  118. package/dist/cli/index.js.map +1 -1
  119. package/dist/cli/launch.d.ts +83 -3
  120. package/dist/cli/launch.d.ts.map +1 -1
  121. package/dist/cli/launch.js +213 -48
  122. package/dist/cli/launch.js.map +1 -1
  123. package/dist/cli/win32-warning.d.ts +6 -0
  124. package/dist/cli/win32-warning.d.ts.map +1 -0
  125. package/dist/cli/win32-warning.js +15 -0
  126. package/dist/cli/win32-warning.js.map +1 -0
  127. package/dist/config/loader.d.ts +9 -1
  128. package/dist/config/loader.d.ts.map +1 -1
  129. package/dist/config/loader.js +29 -19
  130. package/dist/config/loader.js.map +1 -1
  131. package/dist/config/models.d.ts +33 -0
  132. package/dist/config/models.d.ts.map +1 -0
  133. package/dist/config/models.js +49 -0
  134. package/dist/config/models.js.map +1 -0
  135. package/dist/constants/names.d.ts +2 -0
  136. package/dist/constants/names.d.ts.map +1 -1
  137. package/dist/constants/names.js +2 -0
  138. package/dist/constants/names.js.map +1 -1
  139. package/dist/features/auto-update.d.ts.map +1 -1
  140. package/dist/features/auto-update.js +21 -11
  141. package/dist/features/auto-update.js.map +1 -1
  142. package/dist/features/background-agent/manager.d.ts.map +1 -1
  143. package/dist/features/background-agent/manager.js +1 -2
  144. package/dist/features/background-agent/manager.js.map +1 -1
  145. package/dist/features/boulder-state/storage.d.ts.map +1 -1
  146. package/dist/features/boulder-state/storage.js +9 -5
  147. package/dist/features/boulder-state/storage.js.map +1 -1
  148. package/dist/features/boulder-state/types.d.ts +4 -0
  149. package/dist/features/boulder-state/types.d.ts.map +1 -1
  150. package/dist/features/builtin-skills/skills.d.ts.map +1 -1
  151. package/dist/features/builtin-skills/skills.js +25 -78
  152. package/dist/features/builtin-skills/skills.js.map +1 -1
  153. package/dist/features/delegation-enforcer.d.ts.map +1 -1
  154. package/dist/features/delegation-enforcer.js +4 -1
  155. package/dist/features/delegation-enforcer.js.map +1 -1
  156. package/dist/features/delegation-routing/__tests__/resolver.test.js +47 -122
  157. package/dist/features/delegation-routing/__tests__/resolver.test.js.map +1 -1
  158. package/dist/features/delegation-routing/resolver.d.ts.map +1 -1
  159. package/dist/features/delegation-routing/resolver.js +24 -47
  160. package/dist/features/delegation-routing/resolver.js.map +1 -1
  161. package/dist/features/delegation-routing/types.d.ts.map +1 -1
  162. package/dist/features/delegation-routing/types.js +2 -0
  163. package/dist/features/delegation-routing/types.js.map +1 -1
  164. package/dist/features/model-routing/external-model-policy.d.ts.map +1 -1
  165. package/dist/features/model-routing/external-model-policy.js.map +1 -1
  166. package/dist/features/model-routing/router.d.ts.map +1 -1
  167. package/dist/features/model-routing/router.js +12 -2
  168. package/dist/features/model-routing/router.js.map +1 -1
  169. package/dist/features/model-routing/types.d.ts +5 -1
  170. package/dist/features/model-routing/types.d.ts.map +1 -1
  171. package/dist/features/model-routing/types.js +7 -6
  172. package/dist/features/model-routing/types.js.map +1 -1
  173. package/dist/features/rate-limit-wait/daemon.d.ts.map +1 -1
  174. package/dist/features/rate-limit-wait/daemon.js +40 -4
  175. package/dist/features/rate-limit-wait/daemon.js.map +1 -1
  176. package/dist/features/task-decomposer/index.js +14 -4
  177. package/dist/features/task-decomposer/index.js.map +1 -1
  178. package/dist/hooks/__tests__/bridge-openclaw.test.d.ts +2 -0
  179. package/dist/hooks/__tests__/bridge-openclaw.test.d.ts.map +1 -0
  180. package/dist/hooks/__tests__/bridge-openclaw.test.js +124 -0
  181. package/dist/hooks/__tests__/bridge-openclaw.test.js.map +1 -0
  182. package/dist/hooks/__tests__/bridge-security.test.js +1 -1
  183. package/dist/hooks/__tests__/bridge-security.test.js.map +1 -1
  184. package/dist/hooks/auto-slash-command/executor.d.ts.map +1 -1
  185. package/dist/hooks/auto-slash-command/executor.js +38 -61
  186. package/dist/hooks/auto-slash-command/executor.js.map +1 -1
  187. package/dist/hooks/bridge.d.ts +11 -0
  188. package/dist/hooks/bridge.d.ts.map +1 -1
  189. package/dist/hooks/bridge.js +154 -82
  190. package/dist/hooks/bridge.js.map +1 -1
  191. package/dist/hooks/comment-checker/index.d.ts.map +1 -1
  192. package/dist/hooks/comment-checker/index.js +3 -1
  193. package/dist/hooks/comment-checker/index.js.map +1 -1
  194. package/dist/hooks/conductor/__tests__/state.test.js +4 -2
  195. package/dist/hooks/conductor/__tests__/state.test.js.map +1 -1
  196. package/dist/hooks/keyword-detector/__tests__/index.test.js +348 -1
  197. package/dist/hooks/keyword-detector/__tests__/index.test.js.map +1 -1
  198. package/dist/hooks/keyword-detector/index.d.ts +29 -0
  199. package/dist/hooks/keyword-detector/index.d.ts.map +1 -1
  200. package/dist/hooks/keyword-detector/index.js +123 -1
  201. package/dist/hooks/keyword-detector/index.js.map +1 -1
  202. package/dist/hooks/learner/bridge.d.ts.map +1 -1
  203. package/dist/hooks/learner/bridge.js +19 -4
  204. package/dist/hooks/learner/bridge.js.map +1 -1
  205. package/dist/hooks/learner/finder.d.ts.map +1 -1
  206. package/dist/hooks/learner/finder.js +19 -4
  207. package/dist/hooks/learner/finder.js.map +1 -1
  208. package/dist/hooks/mode-registry/__tests__/session-isolation.test.js +40 -0
  209. package/dist/hooks/mode-registry/__tests__/session-isolation.test.js.map +1 -1
  210. package/dist/hooks/mode-registry/index.d.ts.map +1 -1
  211. package/dist/hooks/mode-registry/index.js +135 -52
  212. package/dist/hooks/mode-registry/index.js.map +1 -1
  213. package/dist/hooks/notepad/index.d.ts.map +1 -1
  214. package/dist/hooks/notepad/index.js +5 -3
  215. package/dist/hooks/notepad/index.js.map +1 -1
  216. package/dist/hooks/persistent-mode/__tests__/cancel-race.test.d.ts +2 -0
  217. package/dist/hooks/persistent-mode/__tests__/cancel-race.test.d.ts.map +1 -0
  218. package/dist/hooks/persistent-mode/__tests__/cancel-race.test.js +73 -0
  219. package/dist/hooks/persistent-mode/__tests__/cancel-race.test.js.map +1 -0
  220. package/dist/hooks/persistent-mode/__tests__/idle-cooldown.test.js +89 -13
  221. package/dist/hooks/persistent-mode/__tests__/idle-cooldown.test.js.map +1 -1
  222. package/dist/hooks/persistent-mode/__tests__/skill-state-stop.test.d.ts +2 -0
  223. package/dist/hooks/persistent-mode/__tests__/skill-state-stop.test.d.ts.map +1 -0
  224. package/dist/hooks/persistent-mode/__tests__/skill-state-stop.test.js +156 -0
  225. package/dist/hooks/persistent-mode/__tests__/skill-state-stop.test.js.map +1 -0
  226. package/dist/hooks/persistent-mode/idle-cooldown.test.d.ts +2 -3
  227. package/dist/hooks/persistent-mode/idle-cooldown.test.d.ts.map +1 -1
  228. package/dist/hooks/persistent-mode/idle-cooldown.test.js +19 -4
  229. package/dist/hooks/persistent-mode/idle-cooldown.test.js.map +1 -1
  230. package/dist/hooks/persistent-mode/index.d.ts +2 -2
  231. package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
  232. package/dist/hooks/persistent-mode/index.js +144 -26
  233. package/dist/hooks/persistent-mode/index.js.map +1 -1
  234. package/dist/hooks/plugin-patterns/index.d.ts.map +1 -1
  235. package/dist/hooks/plugin-patterns/index.js +22 -31
  236. package/dist/hooks/plugin-patterns/index.js.map +1 -1
  237. package/dist/hooks/pre-compact/index.js +1 -1
  238. package/dist/hooks/preemptive-compaction/index.d.ts.map +1 -1
  239. package/dist/hooks/preemptive-compaction/index.js +3 -1
  240. package/dist/hooks/preemptive-compaction/index.js.map +1 -1
  241. package/dist/hooks/project-memory/index.d.ts.map +1 -1
  242. package/dist/hooks/project-memory/index.js +9 -0
  243. package/dist/hooks/project-memory/index.js.map +1 -1
  244. package/dist/hooks/project-memory/learner.d.ts.map +1 -1
  245. package/dist/hooks/project-memory/learner.js +107 -85
  246. package/dist/hooks/project-memory/learner.js.map +1 -1
  247. package/dist/hooks/project-memory/storage.d.ts.map +1 -1
  248. package/dist/hooks/project-memory/storage.js +3 -2
  249. package/dist/hooks/project-memory/storage.js.map +1 -1
  250. package/dist/hooks/recovery/context-window.d.ts +4 -0
  251. package/dist/hooks/recovery/context-window.d.ts.map +1 -1
  252. package/dist/hooks/recovery/context-window.js +22 -1
  253. package/dist/hooks/recovery/context-window.js.map +1 -1
  254. package/dist/hooks/recovery/session-recovery.js +1 -1
  255. package/dist/hooks/recovery/session-recovery.js.map +1 -1
  256. package/dist/hooks/session-end/index.d.ts.map +1 -1
  257. package/dist/hooks/session-end/index.js +13 -22
  258. package/dist/hooks/session-end/index.js.map +1 -1
  259. package/dist/hooks/setup/__tests__/windows-patch.test.d.ts +2 -0
  260. package/dist/hooks/setup/__tests__/windows-patch.test.d.ts.map +1 -0
  261. package/dist/hooks/setup/__tests__/windows-patch.test.js +110 -0
  262. package/dist/hooks/setup/__tests__/windows-patch.test.js.map +1 -0
  263. package/dist/hooks/setup/index.d.ts +18 -0
  264. package/dist/hooks/setup/index.d.ts.map +1 -1
  265. package/dist/hooks/setup/index.js +59 -1
  266. package/dist/hooks/setup/index.js.map +1 -1
  267. package/dist/hooks/skill-bridge.cjs +17 -3
  268. package/dist/hooks/skill-state/__tests__/skill-state.test.d.ts +2 -0
  269. package/dist/hooks/skill-state/__tests__/skill-state.test.d.ts.map +1 -0
  270. package/dist/hooks/skill-state/__tests__/skill-state.test.js +301 -0
  271. package/dist/hooks/skill-state/__tests__/skill-state.test.js.map +1 -0
  272. package/dist/hooks/skill-state/index.d.ts +79 -0
  273. package/dist/hooks/skill-state/index.d.ts.map +1 -0
  274. package/dist/hooks/skill-state/index.js +245 -0
  275. package/dist/hooks/skill-state/index.js.map +1 -0
  276. package/dist/hooks/team-pipeline/state.d.ts.map +1 -1
  277. package/dist/hooks/team-pipeline/state.js +5 -0
  278. package/dist/hooks/team-pipeline/state.js.map +1 -1
  279. package/dist/hooks/todo-continuation/index.d.ts +17 -0
  280. package/dist/hooks/todo-continuation/index.d.ts.map +1 -1
  281. package/dist/hooks/todo-continuation/index.js +44 -2
  282. package/dist/hooks/todo-continuation/index.js.map +1 -1
  283. package/dist/hud/elements/call-counts.d.ts.map +1 -1
  284. package/dist/hud/elements/call-counts.js +6 -4
  285. package/dist/hud/elements/call-counts.js.map +1 -1
  286. package/dist/hud/elements/index.d.ts +1 -0
  287. package/dist/hud/elements/index.d.ts.map +1 -1
  288. package/dist/hud/elements/index.js +1 -0
  289. package/dist/hud/elements/index.js.map +1 -1
  290. package/dist/hud/elements/prompt-time.d.ts +13 -0
  291. package/dist/hud/elements/prompt-time.d.ts.map +1 -0
  292. package/dist/hud/elements/prompt-time.js +21 -0
  293. package/dist/hud/elements/prompt-time.js.map +1 -0
  294. package/dist/hud/index.d.ts +2 -1
  295. package/dist/hud/index.d.ts.map +1 -1
  296. package/dist/hud/index.js +40 -215
  297. package/dist/hud/index.js.map +1 -1
  298. package/dist/hud/render.d.ts.map +1 -1
  299. package/dist/hud/render.js +7 -108
  300. package/dist/hud/render.js.map +1 -1
  301. package/dist/hud/state.d.ts.map +1 -1
  302. package/dist/hud/state.js +4 -3
  303. package/dist/hud/state.js.map +1 -1
  304. package/dist/hud/stdin.d.ts +10 -0
  305. package/dist/hud/stdin.d.ts.map +1 -1
  306. package/dist/hud/stdin.js +43 -0
  307. package/dist/hud/stdin.js.map +1 -1
  308. package/dist/hud/types.d.ts +6 -18
  309. package/dist/hud/types.d.ts.map +1 -1
  310. package/dist/hud/types.js +6 -46
  311. package/dist/hud/types.js.map +1 -1
  312. package/dist/hud/usage-api.d.ts.map +1 -1
  313. package/dist/hud/usage-api.js +12 -0
  314. package/dist/hud/usage-api.js.map +1 -1
  315. package/dist/index.d.ts +1 -1
  316. package/dist/index.d.ts.map +1 -1
  317. package/dist/index.js +2 -11
  318. package/dist/index.js.map +1 -1
  319. package/dist/installer/hooks.d.ts +5 -0
  320. package/dist/installer/hooks.d.ts.map +1 -1
  321. package/dist/installer/hooks.js +8 -0
  322. package/dist/installer/hooks.js.map +1 -1
  323. package/dist/installer/index.d.ts.map +1 -1
  324. package/dist/installer/index.js +26 -11
  325. package/dist/installer/index.js.map +1 -1
  326. package/dist/interop/omx-team-state.d.ts.map +1 -1
  327. package/dist/interop/omx-team-state.js +38 -6
  328. package/dist/interop/omx-team-state.js.map +1 -1
  329. package/dist/interop/shared-state.d.ts.map +1 -1
  330. package/dist/interop/shared-state.js +58 -7
  331. package/dist/interop/shared-state.js.map +1 -1
  332. package/dist/lib/__tests__/worktree-paths.test.js +250 -1
  333. package/dist/lib/__tests__/worktree-paths.test.js.map +1 -1
  334. package/dist/lib/job-state-db.d.ts +150 -0
  335. package/dist/lib/job-state-db.d.ts.map +1 -0
  336. package/dist/lib/job-state-db.js +650 -0
  337. package/dist/lib/job-state-db.js.map +1 -0
  338. package/dist/lib/mode-names.d.ts +46 -0
  339. package/dist/lib/mode-names.d.ts.map +1 -0
  340. package/dist/lib/mode-names.js +73 -0
  341. package/dist/lib/mode-names.js.map +1 -0
  342. package/dist/lib/session-isolation.d.ts +32 -0
  343. package/dist/lib/session-isolation.d.ts.map +1 -0
  344. package/dist/lib/session-isolation.js +39 -0
  345. package/dist/lib/session-isolation.js.map +1 -0
  346. package/dist/lib/worktree-paths.d.ts +38 -8
  347. package/dist/lib/worktree-paths.d.ts.map +1 -1
  348. package/dist/lib/worktree-paths.js +124 -56
  349. package/dist/lib/worktree-paths.js.map +1 -1
  350. package/dist/mcp/__tests__/team-cleanup.test.d.ts +11 -0
  351. package/dist/mcp/__tests__/team-cleanup.test.d.ts.map +1 -0
  352. package/dist/mcp/__tests__/team-cleanup.test.js +228 -0
  353. package/dist/mcp/__tests__/team-cleanup.test.js.map +1 -0
  354. package/dist/mcp/cli-detection.d.ts +4 -8
  355. package/dist/mcp/cli-detection.d.ts.map +1 -1
  356. package/dist/mcp/cli-detection.js +5 -8
  357. package/dist/mcp/cli-detection.js.map +1 -1
  358. package/dist/mcp/codex-request-normalizer.js +59 -0
  359. package/dist/mcp/codex-server.js +16 -4
  360. package/dist/mcp/codex-standalone-server.js +13 -4
  361. package/dist/mcp/index.d.ts +2 -4
  362. package/dist/mcp/index.d.ts.map +1 -1
  363. package/dist/mcp/index.js +1 -5
  364. package/dist/mcp/index.js.map +1 -1
  365. package/dist/mcp/job-management.d.ts.map +1 -1
  366. package/dist/mcp/job-management.js +11 -9
  367. package/dist/mcp/job-management.js.map +1 -1
  368. package/dist/mcp/job-state-db.d.ts +1 -149
  369. package/dist/mcp/job-state-db.d.ts.map +1 -1
  370. package/dist/mcp/job-state-db.js +2 -649
  371. package/dist/mcp/job-state-db.js.map +1 -1
  372. package/dist/mcp/mcp-config.d.ts +1 -1
  373. package/dist/mcp/mcp-config.js +1 -1
  374. package/dist/mcp/prompt-injection.d.ts +14 -76
  375. package/dist/mcp/prompt-injection.d.ts.map +1 -1
  376. package/dist/mcp/prompt-injection.js +34 -175
  377. package/dist/mcp/prompt-injection.js.map +1 -1
  378. package/dist/mcp/standalone-server.js +2 -0
  379. package/dist/mcp/standalone-server.js.map +1 -1
  380. package/dist/mcp/team-server.d.ts +16 -0
  381. package/dist/mcp/team-server.d.ts.map +1 -0
  382. package/dist/mcp/team-server.js +356 -0
  383. package/dist/mcp/team-server.js.map +1 -0
  384. package/dist/notifications/__tests__/formatter.test.js +62 -0
  385. package/dist/notifications/__tests__/formatter.test.js.map +1 -1
  386. package/dist/notifications/__tests__/hook-config.test.d.ts +14 -0
  387. package/dist/notifications/__tests__/hook-config.test.d.ts.map +1 -0
  388. package/dist/notifications/__tests__/hook-config.test.js +210 -0
  389. package/dist/notifications/__tests__/hook-config.test.js.map +1 -0
  390. package/dist/notifications/__tests__/platform-gating.test.d.ts +12 -0
  391. package/dist/notifications/__tests__/platform-gating.test.d.ts.map +1 -0
  392. package/dist/notifications/__tests__/platform-gating.test.js +140 -0
  393. package/dist/notifications/__tests__/platform-gating.test.js.map +1 -0
  394. package/dist/notifications/__tests__/template-engine.test.d.ts +13 -0
  395. package/dist/notifications/__tests__/template-engine.test.d.ts.map +1 -0
  396. package/dist/notifications/__tests__/template-engine.test.js +378 -0
  397. package/dist/notifications/__tests__/template-engine.test.js.map +1 -0
  398. package/dist/notifications/config.d.ts.map +1 -1
  399. package/dist/notifications/config.js +54 -18
  400. package/dist/notifications/config.js.map +1 -1
  401. package/dist/notifications/dispatcher.d.ts +2 -2
  402. package/dist/notifications/dispatcher.d.ts.map +1 -1
  403. package/dist/notifications/dispatcher.js +10 -6
  404. package/dist/notifications/dispatcher.js.map +1 -1
  405. package/dist/notifications/formatter.d.ts.map +1 -1
  406. package/dist/notifications/formatter.js +22 -0
  407. package/dist/notifications/formatter.js.map +1 -1
  408. package/dist/notifications/hook-config-types.d.ts +44 -0
  409. package/dist/notifications/hook-config-types.d.ts.map +1 -0
  410. package/dist/notifications/hook-config-types.js +8 -0
  411. package/dist/notifications/hook-config-types.js.map +1 -0
  412. package/dist/notifications/hook-config.d.ts +36 -0
  413. package/dist/notifications/hook-config.d.ts.map +1 -0
  414. package/dist/notifications/hook-config.js +95 -0
  415. package/dist/notifications/hook-config.js.map +1 -0
  416. package/dist/notifications/index.d.ts +3 -0
  417. package/dist/notifications/index.d.ts.map +1 -1
  418. package/dist/notifications/index.js +31 -3
  419. package/dist/notifications/index.js.map +1 -1
  420. package/dist/notifications/reply-listener.d.ts.map +1 -1
  421. package/dist/notifications/reply-listener.js +1 -0
  422. package/dist/notifications/reply-listener.js.map +1 -1
  423. package/dist/notifications/session-registry.d.ts.map +1 -1
  424. package/dist/notifications/session-registry.js +13 -5
  425. package/dist/notifications/session-registry.js.map +1 -1
  426. package/dist/notifications/template-engine.d.ts +34 -0
  427. package/dist/notifications/template-engine.d.ts.map +1 -0
  428. package/dist/notifications/template-engine.js +248 -0
  429. package/dist/notifications/template-engine.js.map +1 -0
  430. package/dist/notifications/types.d.ts +0 -2
  431. package/dist/notifications/types.d.ts.map +1 -1
  432. package/dist/openclaw/__tests__/config.test.d.ts +2 -0
  433. package/dist/openclaw/__tests__/config.test.d.ts.map +1 -0
  434. package/dist/openclaw/__tests__/config.test.js +200 -0
  435. package/dist/openclaw/__tests__/config.test.js.map +1 -0
  436. package/dist/openclaw/__tests__/dispatcher.test.d.ts +2 -0
  437. package/dist/openclaw/__tests__/dispatcher.test.d.ts.map +1 -0
  438. package/dist/openclaw/__tests__/dispatcher.test.js +348 -0
  439. package/dist/openclaw/__tests__/dispatcher.test.js.map +1 -0
  440. package/dist/openclaw/__tests__/index.test.d.ts +2 -0
  441. package/dist/openclaw/__tests__/index.test.d.ts.map +1 -0
  442. package/dist/openclaw/__tests__/index.test.js +235 -0
  443. package/dist/openclaw/__tests__/index.test.js.map +1 -0
  444. package/dist/openclaw/config.d.ts +33 -0
  445. package/dist/openclaw/config.d.ts.map +1 -0
  446. package/dist/openclaw/config.js +83 -0
  447. package/dist/openclaw/config.js.map +1 -0
  448. package/dist/openclaw/dispatcher.d.ts +47 -0
  449. package/dist/openclaw/dispatcher.d.ts.map +1 -0
  450. package/dist/openclaw/dispatcher.js +138 -0
  451. package/dist/openclaw/dispatcher.js.map +1 -0
  452. package/dist/openclaw/index.d.ts +25 -0
  453. package/dist/openclaw/index.d.ts.map +1 -0
  454. package/dist/openclaw/index.js +132 -0
  455. package/dist/openclaw/index.js.map +1 -0
  456. package/dist/openclaw/types.d.ts +102 -0
  457. package/dist/openclaw/types.d.ts.map +1 -0
  458. package/dist/openclaw/types.js +8 -0
  459. package/dist/openclaw/types.js.map +1 -0
  460. package/dist/platform/index.d.ts +5 -0
  461. package/dist/platform/index.d.ts.map +1 -1
  462. package/dist/platform/index.js +17 -0
  463. package/dist/platform/index.js.map +1 -1
  464. package/dist/platform/process-utils.d.ts.map +1 -1
  465. package/dist/platform/process-utils.js +55 -9
  466. package/dist/platform/process-utils.js.map +1 -1
  467. package/dist/shared/types.d.ts +7 -5
  468. package/dist/shared/types.d.ts.map +1 -1
  469. package/dist/team/__tests__/bridge-integration.test.js +10 -8
  470. package/dist/team/__tests__/bridge-integration.test.js.map +1 -1
  471. package/dist/team/__tests__/edge-cases.test.js +40 -29
  472. package/dist/team/__tests__/edge-cases.test.js.map +1 -1
  473. package/dist/team/__tests__/idle-nudge.test.d.ts +11 -0
  474. package/dist/team/__tests__/idle-nudge.test.d.ts.map +1 -0
  475. package/dist/team/__tests__/idle-nudge.test.js +282 -0
  476. package/dist/team/__tests__/idle-nudge.test.js.map +1 -0
  477. package/dist/team/__tests__/mcp-team-bridge.spawn-args.test.js +2 -2
  478. package/dist/team/__tests__/mcp-team-bridge.spawn-args.test.js.map +1 -1
  479. package/dist/team/__tests__/mcp-team-bridge.usage.test.d.ts +2 -0
  480. package/dist/team/__tests__/mcp-team-bridge.usage.test.d.ts.map +1 -0
  481. package/dist/team/__tests__/mcp-team-bridge.usage.test.js +49 -0
  482. package/dist/team/__tests__/mcp-team-bridge.usage.test.js.map +1 -0
  483. package/dist/team/__tests__/merge-coordinator.test.js +1 -1
  484. package/dist/team/__tests__/merge-coordinator.test.js.map +1 -1
  485. package/dist/team/__tests__/model-contract.test.d.ts +2 -0
  486. package/dist/team/__tests__/model-contract.test.d.ts.map +1 -0
  487. package/dist/team/__tests__/model-contract.test.js +121 -0
  488. package/dist/team/__tests__/model-contract.test.js.map +1 -0
  489. package/dist/team/__tests__/phase-controller.test.d.ts +2 -0
  490. package/dist/team/__tests__/phase-controller.test.d.ts.map +1 -0
  491. package/dist/team/__tests__/phase-controller.test.js +45 -0
  492. package/dist/team/__tests__/phase-controller.test.js.map +1 -0
  493. package/dist/team/__tests__/runtime-assign.test.d.ts +2 -0
  494. package/dist/team/__tests__/runtime-assign.test.d.ts.map +1 -0
  495. package/dist/team/__tests__/runtime-assign.test.js +43 -0
  496. package/dist/team/__tests__/runtime-assign.test.js.map +1 -0
  497. package/dist/team/__tests__/runtime-gemini-prompt.test.d.ts +2 -0
  498. package/dist/team/__tests__/runtime-gemini-prompt.test.d.ts.map +1 -0
  499. package/dist/team/__tests__/runtime-gemini-prompt.test.js +153 -0
  500. package/dist/team/__tests__/runtime-gemini-prompt.test.js.map +1 -0
  501. package/dist/team/__tests__/runtime-prompt-mode.test.d.ts +2 -0
  502. package/dist/team/__tests__/runtime-prompt-mode.test.d.ts.map +1 -0
  503. package/dist/team/__tests__/runtime-prompt-mode.test.js +162 -0
  504. package/dist/team/__tests__/runtime-prompt-mode.test.js.map +1 -0
  505. package/dist/team/__tests__/runtime.test.d.ts +2 -0
  506. package/dist/team/__tests__/runtime.test.d.ts.map +1 -0
  507. package/dist/team/__tests__/runtime.test.js +37 -0
  508. package/dist/team/__tests__/runtime.test.js.map +1 -0
  509. package/dist/team/__tests__/task-file-ops.test.js +63 -59
  510. package/dist/team/__tests__/task-file-ops.test.js.map +1 -1
  511. package/dist/team/__tests__/team-name.test.d.ts +2 -0
  512. package/dist/team/__tests__/team-name.test.d.ts.map +1 -0
  513. package/dist/team/__tests__/team-name.test.js +18 -0
  514. package/dist/team/__tests__/team-name.test.js.map +1 -0
  515. package/dist/team/__tests__/team-status.test.js +52 -6
  516. package/dist/team/__tests__/team-status.test.js.map +1 -1
  517. package/dist/team/__tests__/tmux-comm.test.d.ts +2 -0
  518. package/dist/team/__tests__/tmux-comm.test.d.ts.map +1 -0
  519. package/dist/team/__tests__/tmux-comm.test.js +26 -0
  520. package/dist/team/__tests__/tmux-comm.test.js.map +1 -0
  521. package/dist/team/__tests__/tmux-session.create-team.test.d.ts +2 -0
  522. package/dist/team/__tests__/tmux-session.create-team.test.d.ts.map +1 -0
  523. package/dist/team/__tests__/tmux-session.create-team.test.js +104 -0
  524. package/dist/team/__tests__/tmux-session.create-team.test.js.map +1 -0
  525. package/dist/team/__tests__/tmux-session.spawn.test.d.ts +2 -0
  526. package/dist/team/__tests__/tmux-session.spawn.test.d.ts.map +1 -0
  527. package/dist/team/__tests__/tmux-session.spawn.test.js +61 -0
  528. package/dist/team/__tests__/tmux-session.spawn.test.js.map +1 -0
  529. package/dist/team/__tests__/tmux-session.test.js +161 -2
  530. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  531. package/dist/team/__tests__/worker-bootstrap.test.d.ts +2 -0
  532. package/dist/team/__tests__/worker-bootstrap.test.d.ts.map +1 -0
  533. package/dist/team/__tests__/worker-bootstrap.test.js +58 -0
  534. package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -0
  535. package/dist/team/bridge-entry.d.ts.map +1 -1
  536. package/dist/team/bridge-entry.js +4 -0
  537. package/dist/team/bridge-entry.js.map +1 -1
  538. package/dist/team/capabilities.d.ts.map +1 -1
  539. package/dist/team/capabilities.js +3 -0
  540. package/dist/team/capabilities.js.map +1 -1
  541. package/dist/team/cli-detection.d.ts +9 -0
  542. package/dist/team/cli-detection.d.ts.map +1 -0
  543. package/dist/team/cli-detection.js +29 -0
  544. package/dist/team/cli-detection.js.map +1 -0
  545. package/dist/team/fs-utils.d.ts.map +1 -1
  546. package/dist/team/fs-utils.js +25 -4
  547. package/dist/team/fs-utils.js.map +1 -1
  548. package/dist/team/idle-nudge.d.ts +53 -0
  549. package/dist/team/idle-nudge.d.ts.map +1 -0
  550. package/dist/team/idle-nudge.js +124 -0
  551. package/dist/team/idle-nudge.js.map +1 -0
  552. package/dist/team/inbox-outbox.d.ts.map +1 -1
  553. package/dist/team/inbox-outbox.js +7 -3
  554. package/dist/team/inbox-outbox.js.map +1 -1
  555. package/dist/team/index.d.ts +14 -1
  556. package/dist/team/index.d.ts.map +1 -1
  557. package/dist/team/index.js +12 -1
  558. package/dist/team/index.js.map +1 -1
  559. package/dist/team/mcp-team-bridge.d.ts +9 -0
  560. package/dist/team/mcp-team-bridge.d.ts.map +1 -1
  561. package/dist/team/mcp-team-bridge.js +82 -3
  562. package/dist/team/mcp-team-bridge.js.map +1 -1
  563. package/dist/team/model-contract.d.ts +37 -0
  564. package/dist/team/model-contract.d.ts.map +1 -0
  565. package/dist/team/model-contract.js +139 -0
  566. package/dist/team/model-contract.js.map +1 -0
  567. package/dist/team/phase-controller.d.ts +33 -0
  568. package/dist/team/phase-controller.d.ts.map +1 -0
  569. package/dist/team/phase-controller.js +79 -0
  570. package/dist/team/phase-controller.js.map +1 -0
  571. package/dist/team/runtime-cli.d.ts +9 -0
  572. package/dist/team/runtime-cli.d.ts.map +1 -0
  573. package/dist/team/runtime-cli.js +188 -0
  574. package/dist/team/runtime-cli.js.map +1 -0
  575. package/dist/team/runtime.d.ts +95 -0
  576. package/dist/team/runtime.d.ts.map +1 -0
  577. package/dist/team/runtime.js +692 -0
  578. package/dist/team/runtime.js.map +1 -0
  579. package/dist/team/state-paths.d.ts +72 -0
  580. package/dist/team/state-paths.d.ts.map +1 -0
  581. package/dist/team/state-paths.js +87 -0
  582. package/dist/team/state-paths.js.map +1 -0
  583. package/dist/team/task-file-ops.d.ts +27 -7
  584. package/dist/team/task-file-ops.d.ts.map +1 -1
  585. package/dist/team/task-file-ops.js +116 -55
  586. package/dist/team/task-file-ops.js.map +1 -1
  587. package/dist/team/team-name.d.ts +2 -0
  588. package/dist/team/team-name.d.ts.map +1 -0
  589. package/dist/team/team-name.js +8 -0
  590. package/dist/team/team-name.js.map +1 -0
  591. package/dist/team/team-registration.d.ts +1 -1
  592. package/dist/team/team-registration.d.ts.map +1 -1
  593. package/dist/team/team-registration.js.map +1 -1
  594. package/dist/team/team-status.d.ts +11 -1
  595. package/dist/team/team-status.d.ts.map +1 -1
  596. package/dist/team/team-status.js +32 -3
  597. package/dist/team/team-status.js.map +1 -1
  598. package/dist/team/tmux-comm.d.ts +36 -0
  599. package/dist/team/tmux-comm.d.ts.map +1 -0
  600. package/dist/team/tmux-comm.js +115 -0
  601. package/dist/team/tmux-comm.js.map +1 -0
  602. package/dist/team/tmux-session.d.ts +92 -0
  603. package/dist/team/tmux-session.d.ts.map +1 -1
  604. package/dist/team/tmux-session.js +533 -2
  605. package/dist/team/tmux-session.js.map +1 -1
  606. package/dist/team/types.d.ts +10 -3
  607. package/dist/team/types.d.ts.map +1 -1
  608. package/dist/team/unified-team.d.ts.map +1 -1
  609. package/dist/team/unified-team.js +13 -3
  610. package/dist/team/unified-team.js.map +1 -1
  611. package/dist/team/worker-bootstrap.d.ts +39 -0
  612. package/dist/team/worker-bootstrap.d.ts.map +1 -0
  613. package/dist/team/worker-bootstrap.js +117 -0
  614. package/dist/team/worker-bootstrap.js.map +1 -0
  615. package/dist/team/worker-health.d.ts.map +1 -1
  616. package/dist/team/worker-health.js +15 -3
  617. package/dist/team/worker-health.js.map +1 -1
  618. package/dist/tools/ast-tools.js +1 -1
  619. package/dist/tools/ast-tools.js.map +1 -1
  620. package/dist/tools/diagnostics/lsp-aggregator.d.ts.map +1 -1
  621. package/dist/tools/diagnostics/lsp-aggregator.js +4 -2
  622. package/dist/tools/diagnostics/lsp-aggregator.js.map +1 -1
  623. package/dist/tools/lsp/__tests__/client-handle-data.test.d.ts +2 -0
  624. package/dist/tools/lsp/__tests__/client-handle-data.test.d.ts.map +1 -0
  625. package/dist/tools/lsp/__tests__/client-handle-data.test.js +138 -0
  626. package/dist/tools/lsp/__tests__/client-handle-data.test.js.map +1 -0
  627. package/dist/tools/lsp/client.d.ts +13 -0
  628. package/dist/tools/lsp/client.d.ts.map +1 -1
  629. package/dist/tools/lsp/client.js +64 -8
  630. package/dist/tools/lsp/client.js.map +1 -1
  631. package/dist/tools/lsp/servers.d.ts.map +1 -1
  632. package/dist/tools/lsp/servers.js +4 -9
  633. package/dist/tools/lsp/servers.js.map +1 -1
  634. package/dist/tools/lsp-tools.d.ts.map +1 -1
  635. package/dist/tools/lsp-tools.js +4 -0
  636. package/dist/tools/lsp-tools.js.map +1 -1
  637. package/dist/tools/python-repl/bridge-manager.d.ts.map +1 -1
  638. package/dist/tools/python-repl/bridge-manager.js +15 -1
  639. package/dist/tools/python-repl/bridge-manager.js.map +1 -1
  640. package/dist/tools/python-repl/session-lock.d.ts.map +1 -1
  641. package/dist/tools/python-repl/session-lock.js +35 -15
  642. package/dist/tools/python-repl/session-lock.js.map +1 -1
  643. package/dist/tools/state-tools.d.ts.map +1 -1
  644. package/dist/tools/state-tools.js +10 -0
  645. package/dist/tools/state-tools.js.map +1 -1
  646. package/dist/utils/__tests__/frontmatter.test.d.ts +2 -0
  647. package/dist/utils/__tests__/frontmatter.test.d.ts.map +1 -0
  648. package/dist/utils/__tests__/frontmatter.test.js +147 -0
  649. package/dist/utils/__tests__/frontmatter.test.js.map +1 -0
  650. package/dist/utils/frontmatter.d.ts +24 -0
  651. package/dist/utils/frontmatter.d.ts.map +1 -0
  652. package/dist/utils/frontmatter.js +62 -0
  653. package/dist/utils/frontmatter.js.map +1 -0
  654. package/dist/utils/paths.d.ts.map +1 -1
  655. package/dist/utils/paths.js +4 -2
  656. package/dist/utils/paths.js.map +1 -1
  657. package/dist/utils/string-width.d.ts.map +1 -1
  658. package/dist/utils/string-width.js +15 -4
  659. package/dist/utils/string-width.js.map +1 -1
  660. package/dist/verification/tier-selector.js +1 -1
  661. package/dist/verification/tier-selector.js.map +1 -1
  662. package/docs/AGENTS.md +4 -2
  663. package/docs/CLAUDE.md +8 -48
  664. package/docs/MIGRATION.md +114 -0
  665. package/docs/REFERENCE.md +35 -102
  666. package/hooks/hooks.json +23 -23
  667. package/package.json +8 -8
  668. package/scripts/build-runtime-cli.mjs +24 -0
  669. package/scripts/build-team-server.mjs +28 -0
  670. package/scripts/cleanup-orphans.mjs +22 -5
  671. package/scripts/context-safety.mjs +5 -1
  672. package/scripts/demo-team.mjs +26 -0
  673. package/scripts/keyword-detector.mjs +6 -76
  674. package/scripts/openclaw-gateway-demo.mjs +168 -0
  675. package/scripts/persistent-mode.cjs +30 -4
  676. package/scripts/persistent-mode.mjs +48 -3
  677. package/scripts/plugin-setup.mjs +66 -3
  678. package/scripts/post-tool-use-failure.mjs +20 -2
  679. package/scripts/post-tool-verifier.mjs +57 -6
  680. package/scripts/pre-tool-enforcer.mjs +125 -5
  681. package/scripts/run.cjs +114 -0
  682. package/scripts/session-start.mjs +56 -7
  683. package/scripts/status.mjs +144 -0
  684. package/scripts/test-codex-gemini-team.mjs +78 -0
  685. package/skills/AGENTS.md +5 -2
  686. package/skills/analyze/SKILL.md +5 -11
  687. package/skills/autopilot/SKILL.md +5 -6
  688. package/skills/ccg/SKILL.md +88 -99
  689. package/skills/configure-notifications/SKILL.md +177 -0
  690. package/skills/configure-openclaw/SKILL.md +320 -0
  691. package/skills/external-context/SKILL.md +7 -83
  692. package/skills/hud/SKILL.md +68 -46
  693. package/skills/omc-setup/SKILL.md +58 -19
  694. package/skills/omc-teams/SKILL.md +178 -0
  695. package/skills/pipeline/SKILL.md +4 -4
  696. package/skills/plan/SKILL.md +28 -16
  697. package/skills/ralph/SKILL.md +3 -4
  698. package/skills/ralph-init/SKILL.md +3 -1
  699. package/skills/ralplan/SKILL.md +93 -8
  700. package/skills/security-review/SKILL.md +5 -6
  701. package/skills/tdd/SKILL.md +5 -6
  702. package/skills/team/SKILL.md +35 -34
  703. package/templates/hooks/keyword-detector.mjs +11 -82
  704. package/templates/hooks/persistent-mode.mjs +120 -3
  705. package/templates/hooks/post-tool-use-failure.mjs +20 -2
  706. package/templates/hooks/session-start.mjs +2 -16
  707. package/dist/__tests__/analytics/backfill-dedup.test.d.ts +0 -2
  708. package/dist/__tests__/analytics/backfill-dedup.test.d.ts.map +0 -1
  709. package/dist/__tests__/analytics/backfill-dedup.test.js +0 -179
  710. package/dist/__tests__/analytics/backfill-dedup.test.js.map +0 -1
  711. package/dist/__tests__/analytics/backfill-engine.test.d.ts +0 -2
  712. package/dist/__tests__/analytics/backfill-engine.test.d.ts.map +0 -1
  713. package/dist/__tests__/analytics/backfill-engine.test.js +0 -362
  714. package/dist/__tests__/analytics/backfill-engine.test.js.map +0 -1
  715. package/dist/__tests__/analytics/output-estimator.test.d.ts +0 -2
  716. package/dist/__tests__/analytics/output-estimator.test.d.ts.map +0 -1
  717. package/dist/__tests__/analytics/output-estimator.test.js +0 -124
  718. package/dist/__tests__/analytics/output-estimator.test.js.map +0 -1
  719. package/dist/__tests__/analytics/token-extractor.test.d.ts +0 -2
  720. package/dist/__tests__/analytics/token-extractor.test.d.ts.map +0 -1
  721. package/dist/__tests__/analytics/token-extractor.test.js +0 -165
  722. package/dist/__tests__/analytics/token-extractor.test.js.map +0 -1
  723. package/dist/__tests__/analytics/token-tracker.test.d.ts +0 -2
  724. package/dist/__tests__/analytics/token-tracker.test.d.ts.map +0 -1
  725. package/dist/__tests__/analytics/token-tracker.test.js +0 -189
  726. package/dist/__tests__/analytics/token-tracker.test.js.map +0 -1
  727. package/dist/__tests__/analytics/tokscale-adapter.test.d.ts +0 -2
  728. package/dist/__tests__/analytics/tokscale-adapter.test.d.ts.map +0 -1
  729. package/dist/__tests__/analytics/tokscale-adapter.test.js +0 -79
  730. package/dist/__tests__/analytics/tokscale-adapter.test.js.map +0 -1
  731. package/dist/__tests__/analytics/transcript-parser.test.d.ts +0 -2
  732. package/dist/__tests__/analytics/transcript-parser.test.d.ts.map +0 -1
  733. package/dist/__tests__/analytics/transcript-parser.test.js +0 -285
  734. package/dist/__tests__/analytics/transcript-parser.test.js.map +0 -1
  735. package/dist/__tests__/analytics/transcript-scanner.test.d.ts +0 -2
  736. package/dist/__tests__/analytics/transcript-scanner.test.d.ts.map +0 -1
  737. package/dist/__tests__/analytics/transcript-scanner.test.js +0 -443
  738. package/dist/__tests__/analytics/transcript-scanner.test.js.map +0 -1
  739. package/dist/__tests__/analytics/transcript-token-extractor.test.d.ts +0 -2
  740. package/dist/__tests__/analytics/transcript-token-extractor.test.d.ts.map +0 -1
  741. package/dist/__tests__/analytics/transcript-token-extractor.test.js +0 -177
  742. package/dist/__tests__/analytics/transcript-token-extractor.test.js.map +0 -1
  743. package/dist/analytics/analytics-summary.d.ts +0 -47
  744. package/dist/analytics/analytics-summary.d.ts.map +0 -1
  745. package/dist/analytics/analytics-summary.js +0 -171
  746. package/dist/analytics/analytics-summary.js.map +0 -1
  747. package/dist/analytics/backfill-dedup.d.ts +0 -49
  748. package/dist/analytics/backfill-dedup.d.ts.map +0 -1
  749. package/dist/analytics/backfill-dedup.js +0 -115
  750. package/dist/analytics/backfill-dedup.js.map +0 -1
  751. package/dist/analytics/backfill-engine.d.ts +0 -59
  752. package/dist/analytics/backfill-engine.d.ts.map +0 -1
  753. package/dist/analytics/backfill-engine.js +0 -172
  754. package/dist/analytics/backfill-engine.js.map +0 -1
  755. package/dist/analytics/cost-estimator.d.ts +0 -29
  756. package/dist/analytics/cost-estimator.d.ts.map +0 -1
  757. package/dist/analytics/cost-estimator.js +0 -135
  758. package/dist/analytics/cost-estimator.js.map +0 -1
  759. package/dist/analytics/export.d.ts +0 -7
  760. package/dist/analytics/export.d.ts.map +0 -1
  761. package/dist/analytics/export.js +0 -93
  762. package/dist/analytics/export.js.map +0 -1
  763. package/dist/analytics/index.d.ts +0 -24
  764. package/dist/analytics/index.d.ts.map +0 -1
  765. package/dist/analytics/index.js +0 -30
  766. package/dist/analytics/index.js.map +0 -1
  767. package/dist/analytics/metrics-collector.d.ts +0 -30
  768. package/dist/analytics/metrics-collector.d.ts.map +0 -1
  769. package/dist/analytics/metrics-collector.js +0 -96
  770. package/dist/analytics/metrics-collector.js.map +0 -1
  771. package/dist/analytics/output-estimator.d.ts +0 -26
  772. package/dist/analytics/output-estimator.d.ts.map +0 -1
  773. package/dist/analytics/output-estimator.js +0 -65
  774. package/dist/analytics/output-estimator.js.map +0 -1
  775. package/dist/analytics/query-engine.d.ts +0 -35
  776. package/dist/analytics/query-engine.d.ts.map +0 -1
  777. package/dist/analytics/query-engine.js +0 -239
  778. package/dist/analytics/query-engine.js.map +0 -1
  779. package/dist/analytics/session-catalog.d.ts +0 -45
  780. package/dist/analytics/session-catalog.d.ts.map +0 -1
  781. package/dist/analytics/session-catalog.js +0 -153
  782. package/dist/analytics/session-catalog.js.map +0 -1
  783. package/dist/analytics/session-manager.d.ts +0 -58
  784. package/dist/analytics/session-manager.d.ts.map +0 -1
  785. package/dist/analytics/session-manager.js +0 -396
  786. package/dist/analytics/session-manager.js.map +0 -1
  787. package/dist/analytics/session-types.d.ts +0 -37
  788. package/dist/analytics/session-types.d.ts.map +0 -1
  789. package/dist/analytics/session-types.js +0 -2
  790. package/dist/analytics/session-types.js.map +0 -1
  791. package/dist/analytics/token-extractor.d.ts +0 -31
  792. package/dist/analytics/token-extractor.d.ts.map +0 -1
  793. package/dist/analytics/token-extractor.js +0 -57
  794. package/dist/analytics/token-extractor.js.map +0 -1
  795. package/dist/analytics/token-tracker.d.ts +0 -33
  796. package/dist/analytics/token-tracker.d.ts.map +0 -1
  797. package/dist/analytics/token-tracker.js +0 -443
  798. package/dist/analytics/token-tracker.js.map +0 -1
  799. package/dist/analytics/tokscale-adapter.d.ts +0 -71
  800. package/dist/analytics/tokscale-adapter.d.ts.map +0 -1
  801. package/dist/analytics/tokscale-adapter.js +0 -223
  802. package/dist/analytics/tokscale-adapter.js.map +0 -1
  803. package/dist/analytics/transcript-parser.d.ts +0 -42
  804. package/dist/analytics/transcript-parser.d.ts.map +0 -1
  805. package/dist/analytics/transcript-parser.js +0 -90
  806. package/dist/analytics/transcript-parser.js.map +0 -1
  807. package/dist/analytics/transcript-scanner.d.ts +0 -51
  808. package/dist/analytics/transcript-scanner.d.ts.map +0 -1
  809. package/dist/analytics/transcript-scanner.js +0 -279
  810. package/dist/analytics/transcript-scanner.js.map +0 -1
  811. package/dist/analytics/transcript-token-extractor.d.ts +0 -35
  812. package/dist/analytics/transcript-token-extractor.d.ts.map +0 -1
  813. package/dist/analytics/transcript-token-extractor.js +0 -136
  814. package/dist/analytics/transcript-token-extractor.js.map +0 -1
  815. package/dist/analytics/types.d.ts +0 -119
  816. package/dist/analytics/types.d.ts.map +0 -1
  817. package/dist/analytics/types.js +0 -32
  818. package/dist/analytics/types.js.map +0 -1
  819. package/dist/cli/analytics.d.ts +0 -3
  820. package/dist/cli/analytics.d.ts.map +0 -1
  821. package/dist/cli/analytics.js +0 -105
  822. package/dist/cli/analytics.js.map +0 -1
  823. package/dist/cli/commands/agents.d.ts +0 -5
  824. package/dist/cli/commands/agents.d.ts.map +0 -1
  825. package/dist/cli/commands/agents.js +0 -31
  826. package/dist/cli/commands/agents.js.map +0 -1
  827. package/dist/cli/commands/backfill.d.ts +0 -15
  828. package/dist/cli/commands/backfill.d.ts.map +0 -1
  829. package/dist/cli/commands/backfill.js +0 -146
  830. package/dist/cli/commands/backfill.js.map +0 -1
  831. package/dist/cli/commands/cleanup.d.ts +0 -4
  832. package/dist/cli/commands/cleanup.d.ts.map +0 -1
  833. package/dist/cli/commands/cleanup.js +0 -31
  834. package/dist/cli/commands/cleanup.js.map +0 -1
  835. package/dist/cli/commands/cost.d.ts +0 -4
  836. package/dist/cli/commands/cost.d.ts.map +0 -1
  837. package/dist/cli/commands/cost.js +0 -53
  838. package/dist/cli/commands/cost.js.map +0 -1
  839. package/dist/cli/commands/export.d.ts +0 -5
  840. package/dist/cli/commands/export.d.ts.map +0 -1
  841. package/dist/cli/commands/export.js +0 -30
  842. package/dist/cli/commands/export.js.map +0 -1
  843. package/dist/cli/commands/sessions.d.ts +0 -5
  844. package/dist/cli/commands/sessions.d.ts.map +0 -1
  845. package/dist/cli/commands/sessions.js +0 -89
  846. package/dist/cli/commands/sessions.js.map +0 -1
  847. package/dist/cli/commands/stats.d.ts +0 -5
  848. package/dist/cli/commands/stats.d.ts.map +0 -1
  849. package/dist/cli/commands/stats.js +0 -84
  850. package/dist/cli/commands/stats.js.map +0 -1
  851. package/dist/cli/utils/tokscale-launcher.d.ts +0 -25
  852. package/dist/cli/utils/tokscale-launcher.d.ts.map +0 -1
  853. package/dist/cli/utils/tokscale-launcher.js +0 -70
  854. package/dist/cli/utils/tokscale-launcher.js.map +0 -1
  855. package/dist/hud/analytics-display.d.ts +0 -63
  856. package/dist/hud/analytics-display.d.ts.map +0 -1
  857. package/dist/hud/analytics-display.js +0 -190
  858. package/dist/hud/analytics-display.js.map +0 -1
  859. package/scripts/build-codex-server.mjs +0 -95
@@ -1,650 +1,3 @@
1
- /**
2
- * Job State Database - SQLite-based persistent state for Codex/Gemini background jobs
3
- *
4
- * Provides a single shared database at .omc/state/jobs.db for both providers.
5
- * Uses better-sqlite3 with WAL mode for safe concurrent access from multiple
6
- * MCP server instances. Only job metadata is stored here; prompt/response
7
- * content remains as files on disk.
8
- *
9
- * Follows the same patterns as src/hooks/swarm/state.ts:
10
- * - Dynamic import of better-sqlite3 with graceful fallback
11
- * - WAL mode for concurrency
12
- * - Schema versioning with migrations
13
- * - Per-worktree db instances keyed by resolved path
14
- * - All functions return false/null on failure (no throws)
15
- */
16
- import { existsSync, mkdirSync, readdirSync, readFileSync } from "fs";
17
- import { join, resolve } from "path";
18
- // Schema version - bump when adding migrations
19
- const DB_SCHEMA_VERSION = 1;
20
- // Default max age for cleanup: 24 hours
21
- const DEFAULT_CLEANUP_MAX_AGE_MS = 24 * 60 * 60 * 1000;
22
- // Dynamic import for better-sqlite3 to handle environments where it's not installed
23
- let Database = null;
24
- // Map of resolved worktree root path -> database instance (replaces singleton)
25
- const dbMap = new Map();
26
- // Track the last cwd used for backward-compatible no-arg calls
27
- let _lastCwd = null;
28
- /**
29
- * Get the database instance for a given cwd.
30
- * Falls back to the last initialized cwd if none provided.
31
- */
32
- function getDb(cwd) {
33
- if (cwd) {
34
- const resolved = resolve(cwd);
35
- return dbMap.get(resolved) ?? null;
36
- }
37
- // Emit deprecation warning when multiple DBs are open and no cwd provided
38
- if (dbMap.size > 1) {
39
- console.warn('[job-state-db] DEPRECATED: getDb() called without explicit cwd while multiple DBs are open. Pass cwd explicitly.');
40
- }
41
- // Backward compat: use last initialized cwd
42
- if (_lastCwd) {
43
- console.warn('[job-state-db] DEPRECATED: using _lastCwd fallback. Pass cwd explicitly.');
44
- return dbMap.get(_lastCwd) ?? null;
45
- }
46
- // Return any available instance (single-worktree case)
47
- if (dbMap.size === 1) {
48
- return dbMap.values().next().value ?? null;
49
- }
50
- return null;
51
- }
52
- /**
53
- * Get the database file path
54
- */
55
- function getDbPath(cwd) {
56
- return join(cwd, ".omc", "state", "jobs.db");
57
- }
58
- /**
59
- * Ensure the state directory exists
60
- */
61
- function ensureStateDir(cwd) {
62
- const stateDir = join(cwd, ".omc", "state");
63
- if (!existsSync(stateDir)) {
64
- mkdirSync(stateDir, { recursive: true });
65
- }
66
- }
67
- /**
68
- * Map a database row (snake_case) to a JobStatus object (camelCase)
69
- */
70
- function rowToJobStatus(row) {
71
- return {
72
- provider: row.provider,
73
- jobId: row.job_id,
74
- slug: row.slug,
75
- status: row.status,
76
- pid: row.pid ?? undefined,
77
- promptFile: row.prompt_file,
78
- responseFile: row.response_file,
79
- model: row.model,
80
- agentRole: row.agent_role,
81
- spawnedAt: row.spawned_at,
82
- completedAt: row.completed_at ?? undefined,
83
- error: row.error ?? undefined,
84
- usedFallback: row.used_fallback === 1 ? true : undefined,
85
- fallbackModel: row.fallback_model ?? undefined,
86
- killedByUser: row.killed_by_user === 1 ? true : undefined,
87
- };
88
- }
89
- // --- DB Lifecycle ---
90
- /**
91
- * Initialize the SQLite job state database.
92
- * Creates the database file and tables if they don't exist.
93
- * Uses WAL mode for safe concurrent access from multiple processes.
94
- *
95
- * @param cwd - The project working directory (worktree root)
96
- * @returns true if initialization succeeded, false on failure
97
- */
98
- export async function initJobDb(cwd) {
99
- try {
100
- // Dynamic import of better-sqlite3 (may not be installed)
101
- if (!Database) {
102
- try {
103
- const betterSqlite3 = await import("better-sqlite3");
104
- Database = betterSqlite3.default;
105
- }
106
- catch (importError) {
107
- const errorMessage = importError instanceof Error
108
- ? importError.message
109
- : String(importError);
110
- console.error("[job-state-db] Failed to load better-sqlite3:", errorMessage);
111
- console.error("[job-state-db] Install with: npm install better-sqlite3");
112
- return false;
113
- }
114
- }
115
- if (!Database) {
116
- return false;
117
- }
118
- const resolvedCwd = resolve(cwd);
119
- // Return early if already initialized for this cwd
120
- if (dbMap.has(resolvedCwd)) {
121
- _lastCwd = resolvedCwd;
122
- return true;
123
- }
124
- ensureStateDir(cwd);
125
- const dbPath = getDbPath(cwd);
126
- const db = new Database(dbPath);
127
- // Enable WAL mode for better concurrency (multiple MCP servers)
128
- db.pragma("journal_mode = WAL");
129
- // Create tables
130
- db.exec(`
131
- -- Schema version tracking
132
- CREATE TABLE IF NOT EXISTS schema_info (
133
- key TEXT PRIMARY KEY,
134
- value TEXT NOT NULL
135
- );
136
-
137
- -- Job metadata for Codex/Gemini background jobs
138
- CREATE TABLE IF NOT EXISTS jobs (
139
- job_id TEXT NOT NULL,
140
- provider TEXT NOT NULL CHECK (provider IN ('codex', 'gemini')),
141
- slug TEXT NOT NULL,
142
- status TEXT NOT NULL DEFAULT 'spawned' CHECK (status IN ('spawned', 'running', 'completed', 'failed', 'timeout')),
143
- pid INTEGER,
144
- prompt_file TEXT NOT NULL,
145
- response_file TEXT NOT NULL,
146
- model TEXT NOT NULL,
147
- agent_role TEXT NOT NULL,
148
- spawned_at TEXT NOT NULL,
149
- completed_at TEXT,
150
- error TEXT,
151
- used_fallback INTEGER DEFAULT 0,
152
- fallback_model TEXT,
153
- killed_by_user INTEGER DEFAULT 0,
154
- PRIMARY KEY (provider, job_id)
155
- );
156
-
157
- -- Indexes for common query patterns
158
- CREATE INDEX IF NOT EXISTS idx_jobs_status ON jobs(status);
159
- CREATE INDEX IF NOT EXISTS idx_jobs_provider ON jobs(provider);
160
- CREATE INDEX IF NOT EXISTS idx_jobs_spawned_at ON jobs(spawned_at);
161
- CREATE INDEX IF NOT EXISTS idx_jobs_provider_status ON jobs(provider, status);
162
- `);
163
- // Check current schema version for future migrations
164
- const versionStmt = db.prepare("SELECT value FROM schema_info WHERE key = 'version'");
165
- const versionRow = versionStmt.get();
166
- const _currentVersion = versionRow ? parseInt(versionRow.value, 10) : 0;
167
- // Future migrations would go here:
168
- // if (_currentVersion > 0 && _currentVersion < 2) { ... }
169
- // Set schema version
170
- const setVersion = db.prepare("INSERT OR REPLACE INTO schema_info (key, value) VALUES (?, ?)");
171
- setVersion.run("version", String(DB_SCHEMA_VERSION));
172
- dbMap.set(resolvedCwd, db);
173
- _lastCwd = resolvedCwd;
174
- return true;
175
- }
176
- catch (error) {
177
- console.error("[job-state-db] Failed to initialize database:", error);
178
- return false;
179
- }
180
- }
181
- /**
182
- * Close the database connection for a specific cwd, or all connections if no cwd provided.
183
- * Safe to call multiple times; no-ops if already closed.
184
- *
185
- * @deprecated When called without cwd, use closeAllJobDbs() instead for explicit intent.
186
- */
187
- export function closeJobDb(cwd) {
188
- if (cwd) {
189
- const resolvedCwd = resolve(cwd);
190
- const db = dbMap.get(resolvedCwd);
191
- if (db) {
192
- try {
193
- db.close();
194
- }
195
- catch { /* Ignore close errors */ }
196
- dbMap.delete(resolvedCwd);
197
- if (_lastCwd === resolvedCwd)
198
- _lastCwd = null;
199
- }
200
- }
201
- else {
202
- if (dbMap.size > 0) {
203
- console.warn('[job-state-db] DEPRECATED: closeJobDb() called without cwd. Use closeAllJobDbs() for explicit intent.');
204
- }
205
- // Close all connections
206
- for (const [key, db] of dbMap.entries()) {
207
- try {
208
- db.close();
209
- }
210
- catch { /* Ignore close errors */ }
211
- dbMap.delete(key);
212
- }
213
- _lastCwd = null;
214
- }
215
- }
216
- /**
217
- * Explicitly close all open database connections.
218
- * Preferred over calling closeJobDb() without arguments.
219
- */
220
- export function closeAllJobDbs() {
221
- for (const [key, db] of dbMap.entries()) {
222
- try {
223
- db.close();
224
- }
225
- catch { /* Ignore close errors */ }
226
- dbMap.delete(key);
227
- }
228
- _lastCwd = null;
229
- }
230
- /**
231
- * Check if the job database is initialized and connected.
232
- *
233
- * @param cwd - Optional cwd to check specific instance; if omitted, checks if any instance exists
234
- * @returns true if the database is ready for queries
235
- */
236
- export function isJobDbInitialized(cwd) {
237
- if (cwd) {
238
- return dbMap.has(resolve(cwd));
239
- }
240
- return dbMap.size > 0;
241
- }
242
- /**
243
- * Get the raw database instance for advanced use.
244
- *
245
- * @param cwd - Optional cwd to get specific instance
246
- * @returns The better-sqlite3 Database instance, or null if not initialized
247
- */
248
- export function getJobDb(cwd) {
249
- return getDb(cwd);
250
- }
251
- // --- CRUD Operations ---
252
- /**
253
- * Insert or update a job record from a JobStatus object.
254
- * Maps camelCase JobStatus fields to snake_case database columns.
255
- * Uses INSERT OR REPLACE (upsert on the composite primary key).
256
- *
257
- * @param status - The JobStatus to persist
258
- * @returns true if the upsert succeeded, false on failure
259
- */
260
- export function upsertJob(status, cwd) {
261
- const db = getDb(cwd);
262
- if (!db)
263
- return false;
264
- try {
265
- const stmt = db.prepare(`
266
- INSERT OR REPLACE INTO jobs (
267
- job_id, provider, slug, status, pid,
268
- prompt_file, response_file, model, agent_role,
269
- spawned_at, completed_at, error,
270
- used_fallback, fallback_model, killed_by_user
271
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
272
- `);
273
- stmt.run(status.jobId, status.provider, status.slug, status.status, status.pid ?? null, status.promptFile, status.responseFile, status.model, status.agentRole, status.spawnedAt, status.completedAt ?? null, status.error ?? null, status.usedFallback ? 1 : 0, status.fallbackModel ?? null, status.killedByUser ? 1 : 0);
274
- return true;
275
- }
276
- catch (error) {
277
- console.error("[job-state-db] Failed to upsert job:", error);
278
- return false;
279
- }
280
- }
281
- /**
282
- * Get a single job by provider and job ID.
283
- *
284
- * @param provider - The provider ('codex' or 'gemini')
285
- * @param jobId - The unique job identifier
286
- * @returns The JobStatus if found, null otherwise
287
- */
288
- export function getJob(provider, jobId, cwd) {
289
- const db = getDb(cwd);
290
- if (!db)
291
- return null;
292
- try {
293
- const stmt = db.prepare("SELECT * FROM jobs WHERE provider = ? AND job_id = ?");
294
- const row = stmt.get(provider, jobId);
295
- if (!row)
296
- return null;
297
- return rowToJobStatus(row);
298
- }
299
- catch (error) {
300
- console.error("[job-state-db] Failed to get job:", error);
301
- return null;
302
- }
303
- }
304
- /**
305
- * Get jobs filtered by provider and/or status.
306
- *
307
- * @param provider - Filter by provider, or undefined for all providers
308
- * @param status - Filter by status string
309
- * @returns Array of matching JobStatus objects, empty array on failure
310
- */
311
- export function getJobsByStatus(provider, status, cwd) {
312
- const db = getDb(cwd);
313
- if (!db)
314
- return [];
315
- try {
316
- let stmt;
317
- let rows;
318
- if (provider) {
319
- stmt = db.prepare("SELECT * FROM jobs WHERE provider = ? AND status = ? ORDER BY spawned_at DESC");
320
- rows = stmt.all(provider, status);
321
- }
322
- else {
323
- stmt = db.prepare("SELECT * FROM jobs WHERE status = ? ORDER BY spawned_at DESC");
324
- rows = stmt.all(status);
325
- }
326
- return rows.map(rowToJobStatus);
327
- }
328
- catch (error) {
329
- console.error("[job-state-db] Failed to get jobs by status:", error);
330
- return [];
331
- }
332
- }
333
- /**
334
- * Get all active (spawned or running) jobs, optionally filtered by provider.
335
- *
336
- * @param provider - Filter by provider, or undefined for all providers
337
- * @returns Array of active JobStatus objects, empty array on failure
338
- */
339
- export function getActiveJobs(provider, cwd) {
340
- const db = getDb(cwd);
341
- if (!db)
342
- return [];
343
- try {
344
- let stmt;
345
- let rows;
346
- if (provider) {
347
- stmt = db.prepare("SELECT * FROM jobs WHERE provider = ? AND status IN ('spawned', 'running') ORDER BY spawned_at DESC");
348
- rows = stmt.all(provider);
349
- }
350
- else {
351
- stmt = db.prepare("SELECT * FROM jobs WHERE status IN ('spawned', 'running') ORDER BY spawned_at DESC");
352
- rows = stmt.all();
353
- }
354
- return rows.map(rowToJobStatus);
355
- }
356
- catch (error) {
357
- console.error("[job-state-db] Failed to get active jobs:", error);
358
- return [];
359
- }
360
- }
361
- /**
362
- * Get recent jobs within a time window, optionally filtered by provider.
363
- * Compares spawned_at ISO strings against a cutoff timestamp.
364
- *
365
- * @param provider - Filter by provider, or undefined for all providers
366
- * @param withinMs - Time window in milliseconds (default: 1 hour)
367
- * @returns Array of recent JobStatus objects, empty array on failure
368
- */
369
- export function getRecentJobs(provider, withinMs = 60 * 60 * 1000, cwd) {
370
- const db = getDb(cwd);
371
- if (!db)
372
- return [];
373
- try {
374
- const cutoff = new Date(Date.now() - withinMs).toISOString();
375
- let stmt;
376
- let rows;
377
- if (provider) {
378
- stmt = db.prepare("SELECT * FROM jobs WHERE provider = ? AND spawned_at > ? ORDER BY spawned_at DESC");
379
- rows = stmt.all(provider, cutoff);
380
- }
381
- else {
382
- stmt = db.prepare("SELECT * FROM jobs WHERE spawned_at > ? ORDER BY spawned_at DESC");
383
- rows = stmt.all(cutoff);
384
- }
385
- return rows.map(rowToJobStatus);
386
- }
387
- catch (error) {
388
- console.error("[job-state-db] Failed to get recent jobs:", error);
389
- return [];
390
- }
391
- }
392
- /**
393
- * Partially update a job's fields. Only provided fields are updated;
394
- * omitted fields are left unchanged.
395
- *
396
- * @param provider - The provider ('codex' or 'gemini')
397
- * @param jobId - The unique job identifier
398
- * @param updates - Partial JobStatus with fields to update
399
- * @returns true if the update succeeded, false on failure
400
- */
401
- export function updateJobStatus(provider, jobId, updates, cwd) {
402
- const db = getDb(cwd);
403
- if (!db)
404
- return false;
405
- try {
406
- const setClauses = [];
407
- const values = [];
408
- if (updates.status !== undefined) {
409
- setClauses.push("status = ?");
410
- values.push(updates.status);
411
- }
412
- if (updates.pid !== undefined) {
413
- setClauses.push("pid = ?");
414
- values.push(updates.pid ?? null);
415
- }
416
- if (updates.completedAt !== undefined) {
417
- setClauses.push("completed_at = ?");
418
- values.push(updates.completedAt ?? null);
419
- }
420
- if (updates.error !== undefined) {
421
- setClauses.push("error = ?");
422
- values.push(updates.error ?? null);
423
- }
424
- if (updates.usedFallback !== undefined) {
425
- setClauses.push("used_fallback = ?");
426
- values.push(updates.usedFallback ? 1 : 0);
427
- }
428
- if (updates.fallbackModel !== undefined) {
429
- setClauses.push("fallback_model = ?");
430
- values.push(updates.fallbackModel ?? null);
431
- }
432
- if (updates.killedByUser !== undefined) {
433
- setClauses.push("killed_by_user = ?");
434
- values.push(updates.killedByUser ? 1 : 0);
435
- }
436
- if (updates.slug !== undefined) {
437
- setClauses.push("slug = ?");
438
- values.push(updates.slug);
439
- }
440
- if (updates.model !== undefined) {
441
- setClauses.push("model = ?");
442
- values.push(updates.model);
443
- }
444
- if (updates.agentRole !== undefined) {
445
- setClauses.push("agent_role = ?");
446
- values.push(updates.agentRole);
447
- }
448
- // Nothing to update
449
- if (setClauses.length === 0)
450
- return true;
451
- values.push(provider, jobId);
452
- const stmt = db.prepare(`UPDATE jobs SET ${setClauses.join(", ")} WHERE provider = ? AND job_id = ?`);
453
- stmt.run(...values);
454
- return true;
455
- }
456
- catch (error) {
457
- console.error("[job-state-db] Failed to update job status:", error);
458
- return false;
459
- }
460
- }
461
- /**
462
- * Delete a job record by provider and job ID.
463
- *
464
- * @param provider - The provider ('codex' or 'gemini')
465
- * @param jobId - The unique job identifier
466
- * @returns true if deletion succeeded, false on failure
467
- */
468
- export function deleteJob(provider, jobId, cwd) {
469
- const db = getDb(cwd);
470
- if (!db)
471
- return false;
472
- try {
473
- const stmt = db.prepare("DELETE FROM jobs WHERE provider = ? AND job_id = ?");
474
- stmt.run(provider, jobId);
475
- return true;
476
- }
477
- catch (error) {
478
- console.error("[job-state-db] Failed to delete job:", error);
479
- return false;
480
- }
481
- }
482
- // --- Migration ---
483
- /**
484
- * Migrate existing JSON status files into the SQLite database.
485
- * Scans the prompts directory for *-status-*.json files, parses each,
486
- * and upserts into the jobs table. Existing records are overwritten.
487
- *
488
- * @param promptsDir - Path to the .omc/prompts/ directory
489
- * @returns Object with imported and error counts
490
- */
491
- export function migrateFromJsonFiles(promptsDir, cwd) {
492
- const result = { imported: 0, errors: 0 };
493
- const db = getDb(cwd);
494
- if (!db)
495
- return result;
496
- if (!existsSync(promptsDir))
497
- return result;
498
- try {
499
- const files = readdirSync(promptsDir);
500
- const statusFiles = files.filter((f) => f.includes("-status-") && f.endsWith(".json"));
501
- // Use a transaction for bulk import efficiency
502
- const importAll = db.transaction(() => {
503
- for (const file of statusFiles) {
504
- try {
505
- const content = readFileSync(join(promptsDir, file), "utf-8");
506
- const status = JSON.parse(content);
507
- // Validate minimum required fields
508
- if (!status.provider || !status.jobId || !status.promptFile) {
509
- result.errors++;
510
- continue;
511
- }
512
- if (upsertJob(status, cwd)) {
513
- result.imported++;
514
- }
515
- else {
516
- result.errors++;
517
- }
518
- }
519
- catch {
520
- result.errors++;
521
- }
522
- }
523
- });
524
- importAll();
525
- }
526
- catch (error) {
527
- console.error("[job-state-db] Failed to migrate from JSON files:", error);
528
- }
529
- return result;
530
- }
531
- // --- Cleanup ---
532
- /**
533
- * Delete completed/failed/timeout jobs older than the specified age.
534
- * Only removes terminal-state jobs; active jobs are never cleaned up.
535
- *
536
- * @param maxAgeMs - Maximum age in milliseconds (default: 24 hours)
537
- * @returns Number of jobs deleted, 0 on failure
538
- */
539
- export function cleanupOldJobs(maxAgeMs = DEFAULT_CLEANUP_MAX_AGE_MS, cwd) {
540
- const db = getDb(cwd);
541
- if (!db)
542
- return 0;
543
- try {
544
- const cutoff = new Date(Date.now() - maxAgeMs).toISOString();
545
- const stmt = db.prepare(`
546
- DELETE FROM jobs
547
- WHERE status IN ('completed', 'failed', 'timeout')
548
- AND spawned_at < ?
549
- `);
550
- const info = stmt.run(cutoff);
551
- return info.changes;
552
- }
553
- catch (error) {
554
- console.error("[job-state-db] Failed to cleanup old jobs:", error);
555
- return 0;
556
- }
557
- }
558
- // --- Stats ---
559
- /**
560
- * Get aggregate job statistics for monitoring and diagnostics.
561
- *
562
- * @returns Object with total, active, completed, and failed counts, or null on failure
563
- */
564
- export function getJobStats(cwd) {
565
- const db = getDb(cwd);
566
- if (!db)
567
- return null;
568
- try {
569
- const stmt = db.prepare(`
570
- SELECT
571
- COUNT(*) as total,
572
- SUM(CASE WHEN status IN ('spawned', 'running') THEN 1 ELSE 0 END) as active,
573
- SUM(CASE WHEN status = 'completed' THEN 1 ELSE 0 END) as completed,
574
- SUM(CASE WHEN status IN ('failed', 'timeout') THEN 1 ELSE 0 END) as failed
575
- FROM jobs
576
- `);
577
- const row = stmt.get();
578
- return {
579
- total: row.total ?? 0,
580
- active: row.active ?? 0,
581
- completed: row.completed ?? 0,
582
- failed: row.failed ?? 0,
583
- };
584
- }
585
- catch (error) {
586
- console.error("[job-state-db] Failed to get job stats:", error);
587
- return null;
588
- }
589
- }
590
- /**
591
- * Generate a markdown summary of job state for PreCompact system message injection.
592
- * Includes active jobs with details and a brief summary of recent completed jobs.
593
- *
594
- * @returns Formatted markdown string, or empty string on failure
595
- */
596
- export function getJobSummaryForPreCompact(cwd) {
597
- const db = getDb(cwd);
598
- if (!db)
599
- return "";
600
- try {
601
- const lines = [];
602
- // Active jobs with full details
603
- const activeJobs = getActiveJobs(undefined, cwd);
604
- if (activeJobs.length > 0) {
605
- lines.push("## Active Background Jobs");
606
- lines.push("");
607
- for (const job of activeJobs) {
608
- const elapsed = Date.now() - new Date(job.spawnedAt).getTime();
609
- const elapsedMin = Math.round(elapsed / 60000);
610
- lines.push(`- **${job.provider}** \`${job.jobId}\` (${job.agentRole}, ${job.model}): ${job.status} for ${elapsedMin}m`);
611
- lines.push(` - Prompt: \`${job.promptFile}\``);
612
- lines.push(` - Response: \`${job.responseFile}\``);
613
- if (job.pid) {
614
- lines.push(` - PID: ${job.pid}`);
615
- }
616
- }
617
- lines.push("");
618
- }
619
- // Recent completed/failed jobs (last hour) - brief summary
620
- const recentJobs = getRecentJobs(undefined, 60 * 60 * 1000, cwd);
621
- const terminalJobs = recentJobs.filter((j) => j.status === "completed" || j.status === "failed" || j.status === "timeout");
622
- if (terminalJobs.length > 0) {
623
- lines.push("## Recent Completed Jobs (last hour)");
624
- lines.push("");
625
- for (const job of terminalJobs.slice(0, 10)) {
626
- const icon = job.status === "completed" ? "done" : job.status;
627
- const fallback = job.usedFallback
628
- ? ` (fallback: ${job.fallbackModel})`
629
- : "";
630
- const errorNote = job.error ? ` - error: ${job.error.slice(0, 80)}` : "";
631
- lines.push(`- **${job.provider}** \`${job.jobId}\` (${job.agentRole}): ${icon}${fallback}${errorNote}`);
632
- }
633
- if (terminalJobs.length > 10) {
634
- lines.push(`- ... and ${terminalJobs.length - 10} more`);
635
- }
636
- lines.push("");
637
- }
638
- // Overall stats
639
- const stats = getJobStats(cwd);
640
- if (stats && stats.total > 0) {
641
- lines.push(`**Job totals:** ${stats.total} total, ${stats.active} active, ${stats.completed} completed, ${stats.failed} failed`);
642
- }
643
- return lines.join("\n");
644
- }
645
- catch (error) {
646
- console.error("[job-state-db] Failed to generate PreCompact summary:", error);
647
- return "";
648
- }
649
- }
1
+ // src/mcp/job-state-db.ts - DEPRECATED, use src/lib/job-state-db.ts
2
+ export * from '../lib/job-state-db.js';
650
3
  //# sourceMappingURL=job-state-db.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"job-state-db.js","sourceRoot":"","sources":["../../src/mcp/job-state-db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"job-state-db.js","sourceRoot":"","sources":["../../src/mcp/job-state-db.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,cAAc,wBAAwB,CAAC"}