claudecode-omc 4.5.7 → 4.7.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 (1085) hide show
  1. package/.claude-plugin/marketplace.json +18 -4
  2. package/.claude-plugin/plugin.json +14 -1
  3. package/.mcp.json +0 -4
  4. package/README.de.md +260 -0
  5. package/README.es.md +27 -41
  6. package/README.fr.md +260 -0
  7. package/README.it.md +260 -0
  8. package/README.ja.md +27 -41
  9. package/README.ko.md +45 -54
  10. package/README.md +247 -14
  11. package/README.pt.md +23 -6
  12. package/README.ru.md +260 -0
  13. package/README.tr.md +260 -0
  14. package/README.vi.md +23 -6
  15. package/README.zh.md +27 -41
  16. package/agents/harsh-critic.md +254 -0
  17. package/bridge/cli.cjs +67181 -0
  18. package/bridge/gyoshu_bridge.py +69 -19
  19. package/bridge/mcp-server.cjs +846 -526
  20. package/bridge/runtime-cli.cjs +2861 -367
  21. package/bridge/team-bridge.cjs +216 -60
  22. package/bridge/team-mcp.cjs +493 -255
  23. package/bridge/team.js +1460 -0
  24. package/dist/__tests__/agent-registry.test.js +13 -3
  25. package/dist/__tests__/agent-registry.test.js.map +1 -1
  26. package/dist/__tests__/auto-slash-aliases.test.js +12 -20
  27. package/dist/__tests__/auto-slash-aliases.test.js.map +1 -1
  28. package/dist/__tests__/auto-update.test.js +1 -1
  29. package/dist/__tests__/auto-update.test.js.map +1 -1
  30. package/dist/__tests__/bash-history.test.js.map +1 -1
  31. package/dist/__tests__/cleanup-validation.test.d.ts +2 -0
  32. package/dist/__tests__/cleanup-validation.test.d.ts.map +1 -0
  33. package/dist/__tests__/cleanup-validation.test.js +44 -0
  34. package/dist/__tests__/cleanup-validation.test.js.map +1 -0
  35. package/dist/__tests__/config-force-inherit-env.test.d.ts +5 -0
  36. package/dist/__tests__/config-force-inherit-env.test.d.ts.map +1 -0
  37. package/dist/__tests__/config-force-inherit-env.test.js +35 -0
  38. package/dist/__tests__/config-force-inherit-env.test.js.map +1 -0
  39. package/dist/__tests__/consolidation-contracts.test.js +4 -7
  40. package/dist/__tests__/consolidation-contracts.test.js.map +1 -1
  41. package/dist/__tests__/daemon-module-path.test.d.ts +2 -0
  42. package/dist/__tests__/daemon-module-path.test.d.ts.map +1 -0
  43. package/dist/__tests__/daemon-module-path.test.js +29 -0
  44. package/dist/__tests__/daemon-module-path.test.js.map +1 -0
  45. package/dist/__tests__/delegation-enforcement-levels.test.js.map +1 -1
  46. package/dist/__tests__/delegation-enforcer.test.js +172 -0
  47. package/dist/__tests__/delegation-enforcer.test.js.map +1 -1
  48. package/dist/__tests__/doctor-conflicts.test.js +144 -1
  49. package/dist/__tests__/doctor-conflicts.test.js.map +1 -1
  50. package/dist/__tests__/file-lock.test.d.ts +2 -0
  51. package/dist/__tests__/file-lock.test.d.ts.map +1 -0
  52. package/dist/__tests__/file-lock.test.js +209 -0
  53. package/dist/__tests__/file-lock.test.js.map +1 -0
  54. package/dist/__tests__/hooks.test.js +27 -56
  55. package/dist/__tests__/hooks.test.js.map +1 -1
  56. package/dist/__tests__/hud/defaults.test.js +3 -0
  57. package/dist/__tests__/hud/defaults.test.js.map +1 -1
  58. package/dist/__tests__/hud/limits-error.test.d.ts +5 -0
  59. package/dist/__tests__/hud/limits-error.test.d.ts.map +1 -0
  60. package/dist/__tests__/hud/limits-error.test.js +43 -0
  61. package/dist/__tests__/hud/limits-error.test.js.map +1 -0
  62. package/dist/__tests__/hud/max-width.test.d.ts +2 -0
  63. package/dist/__tests__/hud/max-width.test.d.ts.map +1 -0
  64. package/dist/__tests__/hud/max-width.test.js +149 -0
  65. package/dist/__tests__/hud/max-width.test.js.map +1 -0
  66. package/dist/__tests__/hud/rate-limits-error.test.d.ts +5 -0
  67. package/dist/__tests__/hud/rate-limits-error.test.d.ts.map +1 -0
  68. package/dist/__tests__/hud/rate-limits-error.test.js +76 -0
  69. package/dist/__tests__/hud/rate-limits-error.test.js.map +1 -0
  70. package/dist/__tests__/hud/render.test.js +245 -1
  71. package/dist/__tests__/hud/render.test.js.map +1 -1
  72. package/dist/__tests__/hud/state.test.js +15 -0
  73. package/dist/__tests__/hud/state.test.js.map +1 -1
  74. package/dist/__tests__/hud/usage-api.test.js +19 -5
  75. package/dist/__tests__/hud/usage-api.test.js.map +1 -1
  76. package/dist/__tests__/hud/version-display.test.js +3 -1
  77. package/dist/__tests__/hud/version-display.test.js.map +1 -1
  78. package/dist/__tests__/hud-agents.test.js.map +1 -1
  79. package/dist/__tests__/hud-api-key-source.test.d.ts +7 -0
  80. package/dist/__tests__/hud-api-key-source.test.d.ts.map +1 -0
  81. package/dist/__tests__/hud-api-key-source.test.js +112 -0
  82. package/dist/__tests__/hud-api-key-source.test.js.map +1 -0
  83. package/dist/__tests__/hud-build-guidance.test.d.ts +2 -0
  84. package/dist/__tests__/hud-build-guidance.test.d.ts.map +1 -0
  85. package/dist/__tests__/hud-build-guidance.test.js +26 -0
  86. package/dist/__tests__/hud-build-guidance.test.js.map +1 -0
  87. package/dist/__tests__/installer-hooks-merge.test.js +1 -1
  88. package/dist/__tests__/installer-hooks-merge.test.js.map +1 -1
  89. package/dist/__tests__/installer.test.js +4 -0
  90. package/dist/__tests__/installer.test.js.map +1 -1
  91. package/dist/__tests__/job-management.test.js +1 -1
  92. package/dist/__tests__/job-management.test.js.map +1 -1
  93. package/dist/__tests__/live-data.test.js +11 -5
  94. package/dist/__tests__/live-data.test.js.map +1 -1
  95. package/dist/__tests__/mcp-default-config.test.d.ts +2 -0
  96. package/dist/__tests__/mcp-default-config.test.d.ts.map +1 -0
  97. package/dist/__tests__/mcp-default-config.test.js +13 -0
  98. package/dist/__tests__/mcp-default-config.test.js.map +1 -0
  99. package/dist/__tests__/model-routing.test.js.map +1 -1
  100. package/dist/__tests__/non-claude-provider-detection.test.d.ts +11 -0
  101. package/dist/__tests__/non-claude-provider-detection.test.d.ts.map +1 -0
  102. package/dist/__tests__/non-claude-provider-detection.test.js +303 -0
  103. package/dist/__tests__/non-claude-provider-detection.test.js.map +1 -0
  104. package/dist/__tests__/omc-tools-server.test.js +5 -5
  105. package/dist/__tests__/package-dir-resolution-regression.test.d.ts +2 -0
  106. package/dist/__tests__/package-dir-resolution-regression.test.d.ts.map +1 -0
  107. package/dist/__tests__/package-dir-resolution-regression.test.js +63 -0
  108. package/dist/__tests__/package-dir-resolution-regression.test.js.map +1 -0
  109. package/dist/__tests__/pipeline-orchestrator.test.d.ts +5 -0
  110. package/dist/__tests__/pipeline-orchestrator.test.d.ts.map +1 -0
  111. package/dist/__tests__/pipeline-orchestrator.test.js +244 -0
  112. package/dist/__tests__/pipeline-orchestrator.test.js.map +1 -0
  113. package/dist/__tests__/plugin-setup-deps.test.d.ts +2 -0
  114. package/dist/__tests__/plugin-setup-deps.test.d.ts.map +1 -0
  115. package/dist/__tests__/plugin-setup-deps.test.js +64 -0
  116. package/dist/__tests__/plugin-setup-deps.test.js.map +1 -0
  117. package/dist/__tests__/project-memory-merge.test.d.ts +2 -0
  118. package/dist/__tests__/project-memory-merge.test.d.ts.map +1 -0
  119. package/dist/__tests__/project-memory-merge.test.js +342 -0
  120. package/dist/__tests__/project-memory-merge.test.js.map +1 -0
  121. package/dist/__tests__/ralph-prd-mandatory.test.d.ts +2 -0
  122. package/dist/__tests__/ralph-prd-mandatory.test.d.ts.map +1 -0
  123. package/dist/__tests__/ralph-prd-mandatory.test.js +316 -0
  124. package/dist/__tests__/ralph-prd-mandatory.test.js.map +1 -0
  125. package/dist/__tests__/rate-limit-wait/daemon-bootstrap.test.d.ts +2 -0
  126. package/dist/__tests__/rate-limit-wait/daemon-bootstrap.test.d.ts.map +1 -0
  127. package/dist/__tests__/rate-limit-wait/daemon-bootstrap.test.js +94 -0
  128. package/dist/__tests__/rate-limit-wait/daemon-bootstrap.test.js.map +1 -0
  129. package/dist/__tests__/rate-limit-wait/daemon.test.js.map +1 -1
  130. package/dist/__tests__/rate-limit-wait/integration.test.js +33 -25
  131. package/dist/__tests__/rate-limit-wait/integration.test.js.map +1 -1
  132. package/dist/__tests__/rate-limit-wait/rate-limit-monitor.test.js +34 -26
  133. package/dist/__tests__/rate-limit-wait/rate-limit-monitor.test.js.map +1 -1
  134. package/dist/__tests__/rate-limit-wait/tmux-detector.test.js.map +1 -1
  135. package/dist/__tests__/resolve-node.test.js.map +1 -1
  136. package/dist/__tests__/resolve-transcript-path.test.d.ts +12 -0
  137. package/dist/__tests__/resolve-transcript-path.test.d.ts.map +1 -0
  138. package/dist/__tests__/resolve-transcript-path.test.js +167 -0
  139. package/dist/__tests__/resolve-transcript-path.test.js.map +1 -0
  140. package/dist/__tests__/routing-force-inherit.test.d.ts +8 -0
  141. package/dist/__tests__/routing-force-inherit.test.d.ts.map +1 -0
  142. package/dist/__tests__/routing-force-inherit.test.js +180 -0
  143. package/dist/__tests__/routing-force-inherit.test.js.map +1 -0
  144. package/dist/__tests__/run-cjs-graceful-fallback.test.js +2 -2
  145. package/dist/__tests__/run-cjs-graceful-fallback.test.js.map +1 -1
  146. package/dist/__tests__/shared-memory-concurrency.test.d.ts +8 -0
  147. package/dist/__tests__/shared-memory-concurrency.test.d.ts.map +1 -0
  148. package/dist/__tests__/shared-memory-concurrency.test.js +132 -0
  149. package/dist/__tests__/shared-memory-concurrency.test.js.map +1 -0
  150. package/dist/__tests__/shared-memory.test.d.ts +2 -0
  151. package/dist/__tests__/shared-memory.test.d.ts.map +1 -0
  152. package/dist/__tests__/shared-memory.test.js +345 -0
  153. package/dist/__tests__/shared-memory.test.js.map +1 -0
  154. package/dist/__tests__/shell-path.test.d.ts +5 -0
  155. package/dist/__tests__/shell-path.test.d.ts.map +1 -0
  156. package/dist/__tests__/shell-path.test.js +70 -0
  157. package/dist/__tests__/shell-path.test.js.map +1 -0
  158. package/dist/__tests__/skills.test.js +13 -10
  159. package/dist/__tests__/skills.test.js.map +1 -1
  160. package/dist/__tests__/slack-socket.test.d.ts +5 -0
  161. package/dist/__tests__/slack-socket.test.d.ts.map +1 -0
  162. package/dist/__tests__/slack-socket.test.js +252 -0
  163. package/dist/__tests__/slack-socket.test.js.map +1 -0
  164. package/dist/__tests__/smoke-functional.test.d.ts +8 -0
  165. package/dist/__tests__/smoke-functional.test.d.ts.map +1 -0
  166. package/dist/__tests__/smoke-functional.test.js +450 -0
  167. package/dist/__tests__/smoke-functional.test.js.map +1 -0
  168. package/dist/__tests__/smoke-pipeline-edge.test.d.ts +8 -0
  169. package/dist/__tests__/smoke-pipeline-edge.test.d.ts.map +1 -0
  170. package/dist/__tests__/smoke-pipeline-edge.test.js +435 -0
  171. package/dist/__tests__/smoke-pipeline-edge.test.js.map +1 -0
  172. package/dist/__tests__/smoke-slack-and-state.test.d.ts +13 -0
  173. package/dist/__tests__/smoke-slack-and-state.test.d.ts.map +1 -0
  174. package/dist/__tests__/smoke-slack-and-state.test.js +632 -0
  175. package/dist/__tests__/smoke-slack-and-state.test.js.map +1 -0
  176. package/dist/__tests__/smoke-team-worker.test.d.ts +15 -0
  177. package/dist/__tests__/smoke-team-worker.test.d.ts.map +1 -0
  178. package/dist/__tests__/smoke-team-worker.test.js +483 -0
  179. package/dist/__tests__/smoke-team-worker.test.js.map +1 -0
  180. package/dist/__tests__/ssrf-guard.test.d.ts +2 -0
  181. package/dist/__tests__/ssrf-guard.test.d.ts.map +1 -0
  182. package/dist/__tests__/ssrf-guard.test.js +96 -0
  183. package/dist/__tests__/ssrf-guard.test.js.map +1 -0
  184. package/dist/__tests__/task-continuation.test.js +1 -1
  185. package/dist/__tests__/task-continuation.test.js.map +1 -1
  186. package/dist/__tests__/tier0-contracts.test.js +5 -1
  187. package/dist/__tests__/tier0-contracts.test.js.map +1 -1
  188. package/dist/__tests__/tier0-docs-consistency.test.js +3 -4
  189. package/dist/__tests__/tier0-docs-consistency.test.js.map +1 -1
  190. package/dist/__tests__/tools/trace-tools.test.js +7 -3
  191. package/dist/__tests__/tools/trace-tools.test.js.map +1 -1
  192. package/dist/__tests__/types.test.js +4 -4
  193. package/dist/__tests__/types.test.js.map +1 -1
  194. package/dist/__tests__/worker-adapter.test.d.ts +5 -0
  195. package/dist/__tests__/worker-adapter.test.d.ts.map +1 -0
  196. package/dist/__tests__/worker-adapter.test.js +211 -0
  197. package/dist/__tests__/worker-adapter.test.js.map +1 -0
  198. package/dist/agents/definitions.d.ts +6 -5
  199. package/dist/agents/definitions.d.ts.map +1 -1
  200. package/dist/agents/definitions.js +11 -6
  201. package/dist/agents/definitions.js.map +1 -1
  202. package/dist/agents/harsh-critic.d.ts +14 -0
  203. package/dist/agents/harsh-critic.d.ts.map +1 -0
  204. package/dist/agents/harsh-critic.js +42 -0
  205. package/dist/agents/harsh-critic.js.map +1 -0
  206. package/dist/agents/index.d.ts +1 -3
  207. package/dist/agents/index.d.ts.map +1 -1
  208. package/dist/agents/index.js +1 -4
  209. package/dist/agents/index.js.map +1 -1
  210. package/dist/agents/prompt-helpers.d.ts.map +1 -1
  211. package/dist/agents/prompt-helpers.js +21 -16
  212. package/dist/agents/prompt-helpers.js.map +1 -1
  213. package/dist/agents/prompt-sections/index.d.ts.map +1 -1
  214. package/dist/agents/prompt-sections/index.js +7 -3
  215. package/dist/agents/prompt-sections/index.js.map +1 -1
  216. package/dist/agents/utils.d.ts.map +1 -1
  217. package/dist/agents/utils.js +22 -13
  218. package/dist/agents/utils.js.map +1 -1
  219. package/dist/cli/__tests__/ask.test.d.ts +2 -0
  220. package/dist/cli/__tests__/ask.test.d.ts.map +1 -0
  221. package/dist/cli/__tests__/ask.test.js +282 -0
  222. package/dist/cli/__tests__/ask.test.js.map +1 -0
  223. package/dist/cli/__tests__/cli-boot.test.d.ts +8 -0
  224. package/dist/cli/__tests__/cli-boot.test.d.ts.map +1 -0
  225. package/dist/cli/__tests__/cli-boot.test.js +82 -0
  226. package/dist/cli/__tests__/cli-boot.test.js.map +1 -0
  227. package/dist/cli/__tests__/launch.test.js +11 -2
  228. package/dist/cli/__tests__/launch.test.js.map +1 -1
  229. package/dist/cli/__tests__/team-command-branding.test.d.ts +2 -0
  230. package/dist/cli/__tests__/team-command-branding.test.d.ts.map +1 -0
  231. package/dist/cli/__tests__/team-command-branding.test.js +14 -0
  232. package/dist/cli/__tests__/team-command-branding.test.js.map +1 -0
  233. package/dist/cli/__tests__/team-help.test.d.ts +2 -0
  234. package/dist/cli/__tests__/team-help.test.d.ts.map +1 -0
  235. package/dist/cli/__tests__/team-help.test.js +19 -0
  236. package/dist/cli/__tests__/team-help.test.js.map +1 -0
  237. package/dist/cli/__tests__/team-runtime-boundary.test.d.ts +2 -0
  238. package/dist/cli/__tests__/team-runtime-boundary.test.d.ts.map +1 -0
  239. package/dist/cli/__tests__/team-runtime-boundary.test.js +11 -0
  240. package/dist/cli/__tests__/team-runtime-boundary.test.js.map +1 -0
  241. package/dist/cli/__tests__/team.test.d.ts +2 -0
  242. package/dist/cli/__tests__/team.test.d.ts.map +1 -0
  243. package/dist/cli/__tests__/team.test.js +335 -0
  244. package/dist/cli/__tests__/team.test.js.map +1 -0
  245. package/dist/cli/__tests__/tmux-utils.test.d.ts +11 -0
  246. package/dist/cli/__tests__/tmux-utils.test.d.ts.map +1 -0
  247. package/dist/cli/__tests__/tmux-utils.test.js +145 -0
  248. package/dist/cli/__tests__/tmux-utils.test.js.map +1 -0
  249. package/dist/cli/ask.d.ts +13 -0
  250. package/dist/cli/ask.d.ts.map +1 -0
  251. package/dist/cli/ask.js +202 -0
  252. package/dist/cli/ask.js.map +1 -0
  253. package/dist/cli/commands/__tests__/team.test.d.ts +2 -0
  254. package/dist/cli/commands/__tests__/team.test.d.ts.map +1 -0
  255. package/dist/cli/commands/__tests__/team.test.js +177 -0
  256. package/dist/cli/commands/__tests__/team.test.js.map +1 -0
  257. package/dist/cli/commands/__tests__/teleport.test.js.map +1 -1
  258. package/dist/cli/commands/doctor-conflicts.d.ts +14 -1
  259. package/dist/cli/commands/doctor-conflicts.d.ts.map +1 -1
  260. package/dist/cli/commands/doctor-conflicts.js +126 -12
  261. package/dist/cli/commands/doctor-conflicts.js.map +1 -1
  262. package/dist/cli/commands/team.d.ts +19 -0
  263. package/dist/cli/commands/team.d.ts.map +1 -0
  264. package/dist/cli/commands/team.js +510 -0
  265. package/dist/cli/commands/team.js.map +1 -0
  266. package/dist/cli/commands/teleport.d.ts.map +1 -1
  267. package/dist/cli/commands/teleport.js +6 -4
  268. package/dist/cli/commands/teleport.js.map +1 -1
  269. package/dist/cli/index.js +58 -17
  270. package/dist/cli/index.js.map +1 -1
  271. package/dist/cli/launch.d.ts.map +1 -1
  272. package/dist/cli/launch.js +12 -6
  273. package/dist/cli/launch.js.map +1 -1
  274. package/dist/cli/team.d.ts +76 -0
  275. package/dist/cli/team.d.ts.map +1 -0
  276. package/dist/cli/team.js +1117 -0
  277. package/dist/cli/team.js.map +1 -0
  278. package/dist/cli/tmux-utils.d.ts +10 -0
  279. package/dist/cli/tmux-utils.d.ts.map +1 -1
  280. package/dist/cli/tmux-utils.js +20 -1
  281. package/dist/cli/tmux-utils.js.map +1 -1
  282. package/dist/config/loader.d.ts.map +1 -1
  283. package/dist/config/loader.js +134 -48
  284. package/dist/config/loader.js.map +1 -1
  285. package/dist/config/models.d.ts +36 -14
  286. package/dist/config/models.d.ts.map +1 -1
  287. package/dist/config/models.js +94 -0
  288. package/dist/config/models.js.map +1 -1
  289. package/dist/constants/names.d.ts +6 -3
  290. package/dist/constants/names.d.ts.map +1 -1
  291. package/dist/constants/names.js +7 -3
  292. package/dist/constants/names.js.map +1 -1
  293. package/dist/features/auto-update.js +5 -5
  294. package/dist/features/auto-update.js.map +1 -1
  295. package/dist/features/boulder-state/storage.d.ts +1 -1
  296. package/dist/features/boulder-state/storage.d.ts.map +1 -1
  297. package/dist/features/boulder-state/storage.js +20 -22
  298. package/dist/features/boulder-state/storage.js.map +1 -1
  299. package/dist/features/delegation-enforcer.d.ts +5 -0
  300. package/dist/features/delegation-enforcer.d.ts.map +1 -1
  301. package/dist/features/delegation-enforcer.js +58 -5
  302. package/dist/features/delegation-enforcer.js.map +1 -1
  303. package/dist/features/model-routing/router.d.ts.map +1 -1
  304. package/dist/features/model-routing/router.js +11 -0
  305. package/dist/features/model-routing/router.js.map +1 -1
  306. package/dist/features/model-routing/types.d.ts +6 -0
  307. package/dist/features/model-routing/types.d.ts.map +1 -1
  308. package/dist/features/model-routing/types.js.map +1 -1
  309. package/dist/features/rate-limit-wait/daemon.d.ts +5 -0
  310. package/dist/features/rate-limit-wait/daemon.d.ts.map +1 -1
  311. package/dist/features/rate-limit-wait/daemon.js +38 -9
  312. package/dist/features/rate-limit-wait/daemon.js.map +1 -1
  313. package/dist/features/rate-limit-wait/rate-limit-monitor.d.ts.map +1 -1
  314. package/dist/features/rate-limit-wait/rate-limit-monitor.js +3 -2
  315. package/dist/features/rate-limit-wait/rate-limit-monitor.js.map +1 -1
  316. package/dist/features/rate-limit-wait/tmux-detector.d.ts.map +1 -1
  317. package/dist/features/rate-limit-wait/tmux-detector.js +8 -2
  318. package/dist/features/rate-limit-wait/tmux-detector.js.map +1 -1
  319. package/dist/features/state-manager/__tests__/cache.test.js +161 -1
  320. package/dist/features/state-manager/__tests__/cache.test.js.map +1 -1
  321. package/dist/features/state-manager/index.d.ts +2 -0
  322. package/dist/features/state-manager/index.d.ts.map +1 -1
  323. package/dist/features/state-manager/index.js +167 -51
  324. package/dist/features/state-manager/index.js.map +1 -1
  325. package/dist/hooks/__tests__/bridge-routing.test.js +124 -1
  326. package/dist/hooks/__tests__/bridge-routing.test.js.map +1 -1
  327. package/dist/hooks/__tests__/bridge-security.test.js +1 -1
  328. package/dist/hooks/__tests__/bridge-security.test.js.map +1 -1
  329. package/dist/hooks/__tests__/bridge-team-worker-guard.test.d.ts +2 -0
  330. package/dist/hooks/__tests__/bridge-team-worker-guard.test.d.ts.map +1 -0
  331. package/dist/hooks/__tests__/bridge-team-worker-guard.test.js +52 -0
  332. package/dist/hooks/__tests__/bridge-team-worker-guard.test.js.map +1 -0
  333. package/dist/hooks/__tests__/bridge.test.js.map +1 -1
  334. package/dist/hooks/__tests__/codebase-map.test.js.map +1 -1
  335. package/dist/hooks/__tests__/compaction-concurrency.test.js.map +1 -1
  336. package/dist/hooks/__tests__/stop-hook-openclaw-cooldown.test.d.ts +2 -0
  337. package/dist/hooks/__tests__/stop-hook-openclaw-cooldown.test.d.ts.map +1 -0
  338. package/dist/hooks/__tests__/stop-hook-openclaw-cooldown.test.js +65 -0
  339. package/dist/hooks/__tests__/stop-hook-openclaw-cooldown.test.js.map +1 -0
  340. package/dist/hooks/auto-slash-command/live-data.d.ts.map +1 -1
  341. package/dist/hooks/auto-slash-command/live-data.js +54 -25
  342. package/dist/hooks/auto-slash-command/live-data.js.map +1 -1
  343. package/dist/hooks/autopilot/__tests__/cancel.test.js +1 -1
  344. package/dist/hooks/autopilot/__tests__/cancel.test.js.map +1 -1
  345. package/dist/hooks/autopilot/__tests__/pipeline.test.d.ts +2 -0
  346. package/dist/hooks/autopilot/__tests__/pipeline.test.d.ts.map +1 -0
  347. package/dist/hooks/autopilot/__tests__/pipeline.test.js +375 -0
  348. package/dist/hooks/autopilot/__tests__/pipeline.test.js.map +1 -0
  349. package/dist/hooks/autopilot/__tests__/state.test.js +2 -2
  350. package/dist/hooks/autopilot/__tests__/state.test.js.map +1 -1
  351. package/dist/hooks/autopilot/__tests__/summary.test.js.map +1 -1
  352. package/dist/hooks/autopilot/__tests__/transition.test.js.map +1 -1
  353. package/dist/hooks/autopilot/__tests__/validation.test.js +3 -3
  354. package/dist/hooks/autopilot/__tests__/validation.test.js.map +1 -1
  355. package/dist/hooks/autopilot/adapters/execution-adapter.d.ts +12 -0
  356. package/dist/hooks/autopilot/adapters/execution-adapter.d.ts.map +1 -0
  357. package/dist/hooks/autopilot/adapters/execution-adapter.js +110 -0
  358. package/dist/hooks/autopilot/adapters/execution-adapter.js.map +1 -0
  359. package/dist/hooks/autopilot/adapters/index.d.ts +22 -0
  360. package/dist/hooks/autopilot/adapters/index.d.ts.map +1 -0
  361. package/dist/hooks/autopilot/adapters/index.js +32 -0
  362. package/dist/hooks/autopilot/adapters/index.js.map +1 -0
  363. package/dist/hooks/autopilot/adapters/qa-adapter.d.ts +12 -0
  364. package/dist/hooks/autopilot/adapters/qa-adapter.d.ts.map +1 -0
  365. package/dist/hooks/autopilot/adapters/qa-adapter.js +33 -0
  366. package/dist/hooks/autopilot/adapters/qa-adapter.js.map +1 -0
  367. package/dist/hooks/autopilot/adapters/ralph-adapter.d.ts +15 -0
  368. package/dist/hooks/autopilot/adapters/ralph-adapter.d.ts.map +1 -0
  369. package/dist/hooks/autopilot/adapters/ralph-adapter.js +102 -0
  370. package/dist/hooks/autopilot/adapters/ralph-adapter.js.map +1 -0
  371. package/dist/hooks/autopilot/adapters/ralplan-adapter.d.ts +14 -0
  372. package/dist/hooks/autopilot/adapters/ralplan-adapter.d.ts.map +1 -0
  373. package/dist/hooks/autopilot/adapters/ralplan-adapter.js +81 -0
  374. package/dist/hooks/autopilot/adapters/ralplan-adapter.js.map +1 -0
  375. package/dist/hooks/autopilot/enforcement.d.ts.map +1 -1
  376. package/dist/hooks/autopilot/enforcement.js +162 -0
  377. package/dist/hooks/autopilot/enforcement.js.map +1 -1
  378. package/dist/hooks/autopilot/index.d.ts +4 -0
  379. package/dist/hooks/autopilot/index.d.ts.map +1 -1
  380. package/dist/hooks/autopilot/index.js +5 -0
  381. package/dist/hooks/autopilot/index.js.map +1 -1
  382. package/dist/hooks/autopilot/pipeline-types.d.ts +133 -0
  383. package/dist/hooks/autopilot/pipeline-types.d.ts.map +1 -0
  384. package/dist/hooks/autopilot/pipeline-types.js +44 -0
  385. package/dist/hooks/autopilot/pipeline-types.js.map +1 -0
  386. package/dist/hooks/autopilot/pipeline.d.ts +124 -0
  387. package/dist/hooks/autopilot/pipeline.d.ts.map +1 -0
  388. package/dist/hooks/autopilot/pipeline.js +407 -0
  389. package/dist/hooks/autopilot/pipeline.js.map +1 -0
  390. package/dist/hooks/autopilot/state.d.ts +6 -6
  391. package/dist/hooks/autopilot/state.d.ts.map +1 -1
  392. package/dist/hooks/autopilot/state.js +71 -129
  393. package/dist/hooks/autopilot/state.js.map +1 -1
  394. package/dist/hooks/autopilot/types.d.ts +21 -0
  395. package/dist/hooks/autopilot/types.d.ts.map +1 -1
  396. package/dist/hooks/autopilot/types.js.map +1 -1
  397. package/dist/hooks/bridge-normalize.d.ts.map +1 -1
  398. package/dist/hooks/bridge-normalize.js +13 -2
  399. package/dist/hooks/bridge-normalize.js.map +1 -1
  400. package/dist/hooks/bridge.d.ts.map +1 -1
  401. package/dist/hooks/bridge.js +151 -27
  402. package/dist/hooks/bridge.js.map +1 -1
  403. package/dist/hooks/comment-checker/index.js +1 -1
  404. package/dist/hooks/comment-checker/index.js.map +1 -1
  405. package/dist/hooks/empty-message-sanitizer/__tests__/index.test.js +2 -2
  406. package/dist/hooks/empty-message-sanitizer/__tests__/index.test.js.map +1 -1
  407. package/dist/hooks/factcheck/__tests__/factcheck.test.d.ts +7 -0
  408. package/dist/hooks/factcheck/__tests__/factcheck.test.d.ts.map +1 -0
  409. package/dist/hooks/factcheck/__tests__/factcheck.test.js +153 -0
  410. package/dist/hooks/factcheck/__tests__/factcheck.test.js.map +1 -0
  411. package/dist/hooks/factcheck/__tests__/sentinel-gate.test.d.ts +5 -0
  412. package/dist/hooks/factcheck/__tests__/sentinel-gate.test.d.ts.map +1 -0
  413. package/dist/hooks/factcheck/__tests__/sentinel-gate.test.js +159 -0
  414. package/dist/hooks/factcheck/__tests__/sentinel-gate.test.js.map +1 -0
  415. package/dist/hooks/factcheck/__tests__/sentinel.test.d.ts +7 -0
  416. package/dist/hooks/factcheck/__tests__/sentinel.test.d.ts.map +1 -0
  417. package/dist/hooks/factcheck/__tests__/sentinel.test.js +117 -0
  418. package/dist/hooks/factcheck/__tests__/sentinel.test.js.map +1 -0
  419. package/dist/hooks/factcheck/checks.d.ts +36 -0
  420. package/dist/hooks/factcheck/checks.d.ts.map +1 -0
  421. package/dist/hooks/factcheck/checks.js +144 -0
  422. package/dist/hooks/factcheck/checks.js.map +1 -0
  423. package/dist/hooks/factcheck/config.d.ts +25 -0
  424. package/dist/hooks/factcheck/config.d.ts.map +1 -0
  425. package/dist/hooks/factcheck/config.js +125 -0
  426. package/dist/hooks/factcheck/config.js.map +1 -0
  427. package/dist/hooks/factcheck/index.d.ts +34 -0
  428. package/dist/hooks/factcheck/index.d.ts.map +1 -0
  429. package/dist/hooks/factcheck/index.js +120 -0
  430. package/dist/hooks/factcheck/index.js.map +1 -0
  431. package/dist/hooks/factcheck/sentinel.d.ts +32 -0
  432. package/dist/hooks/factcheck/sentinel.d.ts.map +1 -0
  433. package/dist/hooks/factcheck/sentinel.js +153 -0
  434. package/dist/hooks/factcheck/sentinel.js.map +1 -0
  435. package/dist/hooks/factcheck/types.d.ts +99 -0
  436. package/dist/hooks/factcheck/types.d.ts.map +1 -0
  437. package/dist/hooks/factcheck/types.js +27 -0
  438. package/dist/hooks/factcheck/types.js.map +1 -0
  439. package/dist/hooks/keyword-detector/__tests__/index.test.js +29 -80
  440. package/dist/hooks/keyword-detector/__tests__/index.test.js.map +1 -1
  441. package/dist/hooks/keyword-detector/index.d.ts +1 -1
  442. package/dist/hooks/keyword-detector/index.d.ts.map +1 -1
  443. package/dist/hooks/keyword-detector/index.js +11 -21
  444. package/dist/hooks/keyword-detector/index.js.map +1 -1
  445. package/dist/hooks/learner/bridge.d.ts.map +1 -1
  446. package/dist/hooks/learner/bridge.js +8 -0
  447. package/dist/hooks/learner/bridge.js.map +1 -1
  448. package/dist/hooks/learner/index.d.ts +15 -15
  449. package/dist/hooks/learner/index.d.ts.map +1 -1
  450. package/dist/hooks/learner/index.js +44 -38
  451. package/dist/hooks/learner/index.js.map +1 -1
  452. package/dist/hooks/mode-registry/__tests__/session-isolation.test.js +4 -2
  453. package/dist/hooks/mode-registry/__tests__/session-isolation.test.js.map +1 -1
  454. package/dist/hooks/mode-registry/index.d.ts +2 -13
  455. package/dist/hooks/mode-registry/index.d.ts.map +1 -1
  456. package/dist/hooks/mode-registry/index.js +77 -174
  457. package/dist/hooks/mode-registry/index.js.map +1 -1
  458. package/dist/hooks/mode-registry/types.d.ts +1 -1
  459. package/dist/hooks/mode-registry/types.d.ts.map +1 -1
  460. package/dist/hooks/notepad/index.d.ts.map +1 -1
  461. package/dist/hooks/notepad/index.js +83 -73
  462. package/dist/hooks/notepad/index.js.map +1 -1
  463. package/dist/hooks/omc-orchestrator/index.d.ts.map +1 -1
  464. package/dist/hooks/omc-orchestrator/index.js +2 -1
  465. package/dist/hooks/omc-orchestrator/index.js.map +1 -1
  466. package/dist/hooks/permission-handler/__tests__/index.test.js +2 -2
  467. package/dist/hooks/permission-handler/__tests__/index.test.js.map +1 -1
  468. package/dist/hooks/permission-handler/index.d.ts +1 -1
  469. package/dist/hooks/permission-handler/index.d.ts.map +1 -1
  470. package/dist/hooks/permission-handler/index.js +4 -8
  471. package/dist/hooks/permission-handler/index.js.map +1 -1
  472. package/dist/hooks/persistent-mode/__tests__/rate-limit-stop.test.js +23 -0
  473. package/dist/hooks/persistent-mode/__tests__/rate-limit-stop.test.js.map +1 -1
  474. package/dist/hooks/persistent-mode/__tests__/skill-state-stop.test.js.map +1 -1
  475. package/dist/hooks/persistent-mode/__tests__/tool-error.test.js +1 -1
  476. package/dist/hooks/persistent-mode/__tests__/tool-error.test.js.map +1 -1
  477. package/dist/hooks/persistent-mode/index.d.ts +3 -3
  478. package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
  479. package/dist/hooks/persistent-mode/index.js +25 -12
  480. package/dist/hooks/persistent-mode/index.js.map +1 -1
  481. package/dist/hooks/persistent-mode/session-isolation.test.js +20 -4
  482. package/dist/hooks/persistent-mode/session-isolation.test.js.map +1 -1
  483. package/dist/hooks/persistent-mode/stop-hook-blocking.test.d.ts +2 -0
  484. package/dist/hooks/persistent-mode/stop-hook-blocking.test.d.ts.map +1 -0
  485. package/dist/hooks/persistent-mode/stop-hook-blocking.test.js +367 -0
  486. package/dist/hooks/persistent-mode/stop-hook-blocking.test.js.map +1 -0
  487. package/dist/hooks/pre-compact/index.d.ts +2 -14
  488. package/dist/hooks/pre-compact/index.d.ts.map +1 -1
  489. package/dist/hooks/pre-compact/index.js +8 -49
  490. package/dist/hooks/pre-compact/index.js.map +1 -1
  491. package/dist/hooks/preemptive-compaction/index.js +1 -1
  492. package/dist/hooks/preemptive-compaction/index.js.map +1 -1
  493. package/dist/hooks/project-memory/__tests__/integration.test.js +4 -2
  494. package/dist/hooks/project-memory/__tests__/integration.test.js.map +1 -1
  495. package/dist/hooks/project-memory/index.d.ts +9 -9
  496. package/dist/hooks/project-memory/index.d.ts.map +1 -1
  497. package/dist/hooks/project-memory/index.js +25 -25
  498. package/dist/hooks/project-memory/index.js.map +1 -1
  499. package/dist/hooks/project-memory/learner.d.ts.map +1 -1
  500. package/dist/hooks/project-memory/learner.js +92 -86
  501. package/dist/hooks/project-memory/learner.js.map +1 -1
  502. package/dist/hooks/project-memory/storage.d.ts +9 -0
  503. package/dist/hooks/project-memory/storage.d.ts.map +1 -1
  504. package/dist/hooks/project-memory/storage.js +15 -0
  505. package/dist/hooks/project-memory/storage.js.map +1 -1
  506. package/dist/hooks/ralph/index.d.ts +1 -1
  507. package/dist/hooks/ralph/index.d.ts.map +1 -1
  508. package/dist/hooks/ralph/index.js +2 -0
  509. package/dist/hooks/ralph/index.js.map +1 -1
  510. package/dist/hooks/ralph/loop.d.ts +10 -2
  511. package/dist/hooks/ralph/loop.d.ts.map +1 -1
  512. package/dist/hooks/ralph/loop.js +64 -113
  513. package/dist/hooks/ralph/loop.js.map +1 -1
  514. package/dist/hooks/ralph/prd.d.ts.map +1 -1
  515. package/dist/hooks/ralph/prd.js +3 -2
  516. package/dist/hooks/ralph/prd.js.map +1 -1
  517. package/dist/hooks/ralph/progress.d.ts.map +1 -1
  518. package/dist/hooks/ralph/progress.js +6 -5
  519. package/dist/hooks/ralph/progress.js.map +1 -1
  520. package/dist/hooks/ralph/verifier.d.ts +3 -1
  521. package/dist/hooks/ralph/verifier.d.ts.map +1 -1
  522. package/dist/hooks/ralph/verifier.js +19 -7
  523. package/dist/hooks/ralph/verifier.js.map +1 -1
  524. package/dist/hooks/session-end/__tests__/openclaw-session-end.test.d.ts +2 -0
  525. package/dist/hooks/session-end/__tests__/openclaw-session-end.test.d.ts.map +1 -0
  526. package/dist/hooks/session-end/__tests__/openclaw-session-end.test.js +86 -0
  527. package/dist/hooks/session-end/__tests__/openclaw-session-end.test.js.map +1 -0
  528. package/dist/hooks/session-end/index.d.ts.map +1 -1
  529. package/dist/hooks/session-end/index.js +17 -17
  530. package/dist/hooks/session-end/index.js.map +1 -1
  531. package/dist/hooks/setup/index.d.ts.map +1 -1
  532. package/dist/hooks/setup/index.js +0 -2
  533. package/dist/hooks/setup/index.js.map +1 -1
  534. package/dist/hooks/skill-bridge.cjs +13 -4
  535. package/dist/hooks/skill-state/__tests__/skill-state.test.js.map +1 -1
  536. package/dist/hooks/skill-state/index.d.ts +0 -5
  537. package/dist/hooks/skill-state/index.d.ts.map +1 -1
  538. package/dist/hooks/skill-state/index.js +9 -55
  539. package/dist/hooks/skill-state/index.js.map +1 -1
  540. package/dist/hooks/subagent-tracker/__tests__/flush-race.test.js.map +1 -1
  541. package/dist/hooks/subagent-tracker/__tests__/index.test.js.map +1 -1
  542. package/dist/hooks/subagent-tracker/__tests__/session-replay.test.js +1 -1
  543. package/dist/hooks/subagent-tracker/__tests__/session-replay.test.js.map +1 -1
  544. package/dist/hooks/subagent-tracker/index.d.ts.map +1 -1
  545. package/dist/hooks/subagent-tracker/index.js +10 -22
  546. package/dist/hooks/subagent-tracker/index.js.map +1 -1
  547. package/dist/hooks/subagent-tracker/session-replay.d.ts.map +1 -1
  548. package/dist/hooks/subagent-tracker/session-replay.js +3 -2
  549. package/dist/hooks/subagent-tracker/session-replay.js.map +1 -1
  550. package/dist/hooks/task-size-detector/__tests__/index.test.js +7 -7
  551. package/dist/hooks/task-size-detector/__tests__/index.test.js.map +1 -1
  552. package/dist/hooks/task-size-detector/index.d.ts.map +1 -1
  553. package/dist/hooks/task-size-detector/index.js +0 -3
  554. package/dist/hooks/task-size-detector/index.js.map +1 -1
  555. package/dist/hooks/team-dispatch-hook.d.ts +65 -0
  556. package/dist/hooks/team-dispatch-hook.d.ts.map +1 -0
  557. package/dist/hooks/team-dispatch-hook.js +663 -0
  558. package/dist/hooks/team-dispatch-hook.js.map +1 -0
  559. package/dist/hooks/team-leader-nudge-hook.d.ts +36 -0
  560. package/dist/hooks/team-leader-nudge-hook.d.ts.map +1 -0
  561. package/dist/hooks/team-leader-nudge-hook.js +218 -0
  562. package/dist/hooks/team-leader-nudge-hook.js.map +1 -0
  563. package/dist/hooks/team-worker-hook.d.ts +45 -0
  564. package/dist/hooks/team-worker-hook.d.ts.map +1 -0
  565. package/dist/hooks/team-worker-hook.js +415 -0
  566. package/dist/hooks/team-worker-hook.js.map +1 -0
  567. package/dist/hooks/think-mode/__tests__/index.test.js.map +1 -1
  568. package/dist/hooks/todo-continuation/__tests__/isAuthenticationError.test.d.ts +2 -0
  569. package/dist/hooks/todo-continuation/__tests__/isAuthenticationError.test.d.ts.map +1 -0
  570. package/dist/hooks/todo-continuation/__tests__/isAuthenticationError.test.js +33 -0
  571. package/dist/hooks/todo-continuation/__tests__/isAuthenticationError.test.js.map +1 -0
  572. package/dist/hooks/todo-continuation/index.d.ts +12 -0
  573. package/dist/hooks/todo-continuation/index.d.ts.map +1 -1
  574. package/dist/hooks/todo-continuation/index.js +37 -1
  575. package/dist/hooks/todo-continuation/index.js.map +1 -1
  576. package/dist/hooks/ultrapilot/decomposer.d.ts.map +1 -1
  577. package/dist/hooks/ultrapilot/decomposer.js +3 -1
  578. package/dist/hooks/ultrapilot/decomposer.js.map +1 -1
  579. package/dist/hooks/ultrapilot/index.d.ts.map +1 -1
  580. package/dist/hooks/ultrapilot/index.js +3 -1
  581. package/dist/hooks/ultrapilot/index.js.map +1 -1
  582. package/dist/hooks/ultrapilot/state.d.ts +1 -1
  583. package/dist/hooks/ultrapilot/state.d.ts.map +1 -1
  584. package/dist/hooks/ultrapilot/state.js +45 -77
  585. package/dist/hooks/ultrapilot/state.js.map +1 -1
  586. package/dist/hooks/ultraqa/index.d.ts.map +1 -1
  587. package/dist/hooks/ultraqa/index.js +4 -77
  588. package/dist/hooks/ultraqa/index.js.map +1 -1
  589. package/dist/hooks/ultrawork/index.d.ts.map +1 -1
  590. package/dist/hooks/ultrawork/index.js +40 -82
  591. package/dist/hooks/ultrawork/index.js.map +1 -1
  592. package/dist/hooks/ultrawork/session-isolation.test.js +1 -1
  593. package/dist/hooks/ultrawork/session-isolation.test.js.map +1 -1
  594. package/dist/hud/elements/api-key-source.d.ts +30 -0
  595. package/dist/hud/elements/api-key-source.d.ts.map +1 -0
  596. package/dist/hud/elements/api-key-source.js +70 -0
  597. package/dist/hud/elements/api-key-source.js.map +1 -0
  598. package/dist/hud/elements/index.d.ts +1 -0
  599. package/dist/hud/elements/index.d.ts.map +1 -1
  600. package/dist/hud/elements/index.js +1 -0
  601. package/dist/hud/elements/index.js.map +1 -1
  602. package/dist/hud/elements/limits.d.ts +9 -1
  603. package/dist/hud/elements/limits.d.ts.map +1 -1
  604. package/dist/hud/elements/limits.js +18 -0
  605. package/dist/hud/elements/limits.js.map +1 -1
  606. package/dist/hud/index.d.ts.map +1 -1
  607. package/dist/hud/index.js +40 -25
  608. package/dist/hud/index.js.map +1 -1
  609. package/dist/hud/omc-state.d.ts.map +1 -1
  610. package/dist/hud/omc-state.js +6 -4
  611. package/dist/hud/omc-state.js.map +1 -1
  612. package/dist/hud/render.d.ts +9 -0
  613. package/dist/hud/render.d.ts.map +1 -1
  614. package/dist/hud/render.js +166 -15
  615. package/dist/hud/render.js.map +1 -1
  616. package/dist/hud/state.d.ts.map +1 -1
  617. package/dist/hud/state.js +23 -14
  618. package/dist/hud/state.js.map +1 -1
  619. package/dist/hud/stdin.d.ts.map +1 -1
  620. package/dist/hud/stdin.js +5 -2
  621. package/dist/hud/stdin.js.map +1 -1
  622. package/dist/hud/types.d.ts +34 -3
  623. package/dist/hud/types.d.ts.map +1 -1
  624. package/dist/hud/types.js +19 -0
  625. package/dist/hud/types.js.map +1 -1
  626. package/dist/hud/usage-api.d.ts +9 -6
  627. package/dist/hud/usage-api.d.ts.map +1 -1
  628. package/dist/hud/usage-api.js +115 -46
  629. package/dist/hud/usage-api.js.map +1 -1
  630. package/dist/index.d.ts +3 -1
  631. package/dist/index.d.ts.map +1 -1
  632. package/dist/index.js +6 -2
  633. package/dist/index.js.map +1 -1
  634. package/dist/installer/__tests__/claude-md-merge.test.js +29 -0
  635. package/dist/installer/__tests__/claude-md-merge.test.js.map +1 -1
  636. package/dist/installer/__tests__/safe-installer.test.js +1 -1
  637. package/dist/installer/__tests__/safe-installer.test.js.map +1 -1
  638. package/dist/installer/hooks.d.ts.map +1 -1
  639. package/dist/installer/hooks.js +11 -12
  640. package/dist/installer/hooks.js.map +1 -1
  641. package/dist/installer/index.d.ts.map +1 -1
  642. package/dist/installer/index.js +20 -16
  643. package/dist/installer/index.js.map +1 -1
  644. package/dist/interop/__tests__/worker-adapter-integration.test.d.ts +2 -0
  645. package/dist/interop/__tests__/worker-adapter-integration.test.d.ts.map +1 -0
  646. package/dist/interop/__tests__/worker-adapter-integration.test.js +219 -0
  647. package/dist/interop/__tests__/worker-adapter-integration.test.js.map +1 -0
  648. package/dist/interop/__tests__/worker-adapter.test.d.ts +2 -0
  649. package/dist/interop/__tests__/worker-adapter.test.d.ts.map +1 -0
  650. package/dist/interop/__tests__/worker-adapter.test.js +408 -0
  651. package/dist/interop/__tests__/worker-adapter.test.js.map +1 -0
  652. package/dist/interop/adapter-types.d.ts +39 -0
  653. package/dist/interop/adapter-types.d.ts.map +1 -0
  654. package/dist/interop/adapter-types.js +9 -0
  655. package/dist/interop/adapter-types.js.map +1 -0
  656. package/dist/interop/worker-adapter.d.ts +116 -0
  657. package/dist/interop/worker-adapter.d.ts.map +1 -0
  658. package/dist/interop/worker-adapter.js +324 -0
  659. package/dist/interop/worker-adapter.js.map +1 -0
  660. package/dist/lib/__tests__/mode-state-io.test.d.ts +2 -0
  661. package/dist/lib/__tests__/mode-state-io.test.d.ts.map +1 -0
  662. package/dist/lib/__tests__/mode-state-io.test.js +194 -0
  663. package/dist/lib/__tests__/mode-state-io.test.js.map +1 -0
  664. package/dist/lib/__tests__/payload-limits.test.d.ts +2 -0
  665. package/dist/lib/__tests__/payload-limits.test.d.ts.map +1 -0
  666. package/dist/lib/__tests__/payload-limits.test.js +124 -0
  667. package/dist/lib/__tests__/payload-limits.test.js.map +1 -0
  668. package/dist/lib/__tests__/worktree-paths.test.js +5 -4
  669. package/dist/lib/__tests__/worktree-paths.test.js.map +1 -1
  670. package/dist/lib/file-lock.d.ts +75 -0
  671. package/dist/lib/file-lock.d.ts.map +1 -0
  672. package/dist/lib/file-lock.js +246 -0
  673. package/dist/lib/file-lock.js.map +1 -0
  674. package/dist/lib/mode-names.d.ts +10 -3
  675. package/dist/lib/mode-names.d.ts.map +1 -1
  676. package/dist/lib/mode-names.js +12 -17
  677. package/dist/lib/mode-names.js.map +1 -1
  678. package/dist/lib/mode-state-io.d.ts +41 -0
  679. package/dist/lib/mode-state-io.d.ts.map +1 -0
  680. package/dist/lib/mode-state-io.js +127 -0
  681. package/dist/lib/mode-state-io.js.map +1 -0
  682. package/dist/lib/payload-limits.d.ts +31 -0
  683. package/dist/lib/payload-limits.d.ts.map +1 -0
  684. package/dist/lib/payload-limits.js +82 -0
  685. package/dist/lib/payload-limits.js.map +1 -0
  686. package/dist/lib/project-memory-merge.d.ts +36 -0
  687. package/dist/lib/project-memory-merge.d.ts.map +1 -0
  688. package/dist/lib/project-memory-merge.js +154 -0
  689. package/dist/lib/project-memory-merge.js.map +1 -0
  690. package/dist/lib/shared-memory.d.ts +82 -0
  691. package/dist/lib/shared-memory.d.ts.map +1 -0
  692. package/dist/lib/shared-memory.js +305 -0
  693. package/dist/lib/shared-memory.js.map +1 -0
  694. package/dist/lib/worktree-paths.d.ts +31 -3
  695. package/dist/lib/worktree-paths.d.ts.map +1 -1
  696. package/dist/lib/worktree-paths.js +147 -12
  697. package/dist/lib/worktree-paths.js.map +1 -1
  698. package/dist/mcp/__tests__/team-server-artifact-convergence.test.d.ts +2 -0
  699. package/dist/mcp/__tests__/team-server-artifact-convergence.test.d.ts.map +1 -0
  700. package/dist/mcp/__tests__/team-server-artifact-convergence.test.js +84 -0
  701. package/dist/mcp/__tests__/team-server-artifact-convergence.test.js.map +1 -0
  702. package/dist/mcp/__tests__/team-server-deprecation.test.d.ts +2 -0
  703. package/dist/mcp/__tests__/team-server-deprecation.test.d.ts.map +1 -0
  704. package/dist/mcp/__tests__/team-server-deprecation.test.js +54 -0
  705. package/dist/mcp/__tests__/team-server-deprecation.test.js.map +1 -0
  706. package/dist/mcp/omc-tools-server.d.ts +2 -0
  707. package/dist/mcp/omc-tools-server.d.ts.map +1 -1
  708. package/dist/mcp/omc-tools-server.js +9 -2
  709. package/dist/mcp/omc-tools-server.js.map +1 -1
  710. package/dist/mcp/team-job-convergence.d.ts +20 -0
  711. package/dist/mcp/team-job-convergence.d.ts.map +1 -0
  712. package/dist/mcp/team-job-convergence.js +101 -0
  713. package/dist/mcp/team-job-convergence.js.map +1 -0
  714. package/dist/mcp/team-server.d.ts +33 -10
  715. package/dist/mcp/team-server.d.ts.map +1 -1
  716. package/dist/mcp/team-server.js +219 -109
  717. package/dist/mcp/team-server.js.map +1 -1
  718. package/dist/notifications/__tests__/config.test.js +100 -6
  719. package/dist/notifications/__tests__/config.test.js.map +1 -1
  720. package/dist/notifications/__tests__/custom-integration.test.d.ts +8 -0
  721. package/dist/notifications/__tests__/custom-integration.test.d.ts.map +1 -0
  722. package/dist/notifications/__tests__/custom-integration.test.js +297 -0
  723. package/dist/notifications/__tests__/custom-integration.test.js.map +1 -0
  724. package/dist/notifications/__tests__/dispatcher.test.js +195 -0
  725. package/dist/notifications/__tests__/dispatcher.test.js.map +1 -1
  726. package/dist/notifications/__tests__/redact.test.d.ts +2 -0
  727. package/dist/notifications/__tests__/redact.test.d.ts.map +1 -0
  728. package/dist/notifications/__tests__/redact.test.js +111 -0
  729. package/dist/notifications/__tests__/redact.test.js.map +1 -0
  730. package/dist/notifications/__tests__/reply-listener.test.js +8 -1
  731. package/dist/notifications/__tests__/reply-listener.test.js.map +1 -1
  732. package/dist/notifications/__tests__/slack-socket.test.d.ts +2 -0
  733. package/dist/notifications/__tests__/slack-socket.test.d.ts.map +1 -0
  734. package/dist/notifications/__tests__/slack-socket.test.js +293 -0
  735. package/dist/notifications/__tests__/slack-socket.test.js.map +1 -0
  736. package/dist/notifications/__tests__/template-engine.test.js +32 -0
  737. package/dist/notifications/__tests__/template-engine.test.js.map +1 -1
  738. package/dist/notifications/config.d.ts +40 -0
  739. package/dist/notifications/config.d.ts.map +1 -1
  740. package/dist/notifications/config.js +201 -4
  741. package/dist/notifications/config.js.map +1 -1
  742. package/dist/notifications/dispatcher.d.ts +20 -1
  743. package/dist/notifications/dispatcher.d.ts.map +1 -1
  744. package/dist/notifications/dispatcher.js +183 -7
  745. package/dist/notifications/dispatcher.js.map +1 -1
  746. package/dist/notifications/hook-config-types.d.ts +1 -1
  747. package/dist/notifications/hook-config-types.d.ts.map +1 -1
  748. package/dist/notifications/index.d.ts +11 -2
  749. package/dist/notifications/index.d.ts.map +1 -1
  750. package/dist/notifications/index.js +13 -3
  751. package/dist/notifications/index.js.map +1 -1
  752. package/dist/notifications/presets.d.ts +43 -0
  753. package/dist/notifications/presets.d.ts.map +1 -0
  754. package/dist/notifications/presets.js +122 -0
  755. package/dist/notifications/presets.js.map +1 -0
  756. package/dist/notifications/redact.d.ts +21 -0
  757. package/dist/notifications/redact.d.ts.map +1 -0
  758. package/dist/notifications/redact.js +33 -0
  759. package/dist/notifications/redact.js.map +1 -0
  760. package/dist/notifications/reply-listener.d.ts +54 -2
  761. package/dist/notifications/reply-listener.d.ts.map +1 -1
  762. package/dist/notifications/reply-listener.js +178 -15
  763. package/dist/notifications/reply-listener.js.map +1 -1
  764. package/dist/notifications/session-registry.d.ts +1 -1
  765. package/dist/notifications/session-registry.d.ts.map +1 -1
  766. package/dist/notifications/slack-socket.d.ts +242 -0
  767. package/dist/notifications/slack-socket.d.ts.map +1 -0
  768. package/dist/notifications/slack-socket.js +603 -0
  769. package/dist/notifications/slack-socket.js.map +1 -0
  770. package/dist/notifications/template-engine.d.ts.map +1 -1
  771. package/dist/notifications/template-engine.js +4 -0
  772. package/dist/notifications/template-engine.js.map +1 -1
  773. package/dist/notifications/template-variables.d.ts +26 -0
  774. package/dist/notifications/template-variables.d.ts.map +1 -0
  775. package/dist/notifications/template-variables.js +139 -0
  776. package/dist/notifications/template-variables.js.map +1 -0
  777. package/dist/notifications/types.d.ts +75 -2
  778. package/dist/notifications/types.d.ts.map +1 -1
  779. package/dist/notifications/validation.d.ts +24 -0
  780. package/dist/notifications/validation.d.ts.map +1 -0
  781. package/dist/notifications/validation.js +167 -0
  782. package/dist/notifications/validation.js.map +1 -0
  783. package/dist/openclaw/__tests__/dispatcher.test.js +0 -1
  784. package/dist/openclaw/__tests__/dispatcher.test.js.map +1 -1
  785. package/dist/openclaw/__tests__/index.test.js +82 -0
  786. package/dist/openclaw/__tests__/index.test.js.map +1 -1
  787. package/dist/openclaw/index.d.ts.map +1 -1
  788. package/dist/openclaw/index.js +24 -1
  789. package/dist/openclaw/index.js.map +1 -1
  790. package/dist/openclaw/types.d.ts +12 -0
  791. package/dist/openclaw/types.d.ts.map +1 -1
  792. package/dist/shared/types.d.ts +84 -20
  793. package/dist/shared/types.d.ts.map +1 -1
  794. package/dist/team/__tests__/api-interop.command-dialect.test.d.ts +2 -0
  795. package/dist/team/__tests__/api-interop.command-dialect.test.d.ts.map +1 -0
  796. package/dist/team/__tests__/api-interop.command-dialect.test.js +26 -0
  797. package/dist/team/__tests__/api-interop.command-dialect.test.js.map +1 -0
  798. package/dist/team/__tests__/api-interop.compatibility.test.d.ts +2 -0
  799. package/dist/team/__tests__/api-interop.compatibility.test.d.ts.map +1 -0
  800. package/dist/team/__tests__/api-interop.compatibility.test.js +93 -0
  801. package/dist/team/__tests__/api-interop.compatibility.test.js.map +1 -0
  802. package/dist/team/__tests__/cli-path-resolution.test.d.ts +2 -0
  803. package/dist/team/__tests__/cli-path-resolution.test.d.ts.map +1 -0
  804. package/dist/team/__tests__/cli-path-resolution.test.js +281 -0
  805. package/dist/team/__tests__/cli-path-resolution.test.js.map +1 -0
  806. package/dist/team/__tests__/index.compat-exports.test.d.ts +2 -0
  807. package/dist/team/__tests__/index.compat-exports.test.d.ts.map +1 -0
  808. package/dist/team/__tests__/index.compat-exports.test.js +20 -0
  809. package/dist/team/__tests__/index.compat-exports.test.js.map +1 -0
  810. package/dist/team/__tests__/layout-stabilizer.test.d.ts +2 -0
  811. package/dist/team/__tests__/layout-stabilizer.test.d.ts.map +1 -0
  812. package/dist/team/__tests__/layout-stabilizer.test.js +217 -0
  813. package/dist/team/__tests__/layout-stabilizer.test.js.map +1 -0
  814. package/dist/team/__tests__/mcp-team-bridge.spawn-args.test.js +8 -4
  815. package/dist/team/__tests__/mcp-team-bridge.spawn-args.test.js.map +1 -1
  816. package/dist/team/__tests__/mcp-team-bridge.usage.test.js +4 -2
  817. package/dist/team/__tests__/mcp-team-bridge.usage.test.js.map +1 -1
  818. package/dist/team/__tests__/model-contract.test.js +84 -8
  819. package/dist/team/__tests__/model-contract.test.js.map +1 -1
  820. package/dist/team/__tests__/pane-readiness.test.d.ts +2 -0
  821. package/dist/team/__tests__/pane-readiness.test.d.ts.map +1 -0
  822. package/dist/team/__tests__/pane-readiness.test.js +185 -0
  823. package/dist/team/__tests__/pane-readiness.test.js.map +1 -0
  824. package/dist/team/__tests__/prompt-sanitization.test.js +1 -1
  825. package/dist/team/__tests__/prompt-sanitization.test.js.map +1 -1
  826. package/dist/team/__tests__/runtime-cli.test.d.ts +2 -0
  827. package/dist/team/__tests__/runtime-cli.test.d.ts.map +1 -0
  828. package/dist/team/__tests__/runtime-cli.test.js +159 -0
  829. package/dist/team/__tests__/runtime-cli.test.js.map +1 -0
  830. package/dist/team/__tests__/runtime-done-recovery.test.d.ts +2 -0
  831. package/dist/team/__tests__/runtime-done-recovery.test.d.ts.map +1 -0
  832. package/dist/team/__tests__/runtime-done-recovery.test.js +77 -0
  833. package/dist/team/__tests__/runtime-done-recovery.test.js.map +1 -0
  834. package/dist/team/__tests__/runtime-interop-spawn-regression.test.d.ts +2 -0
  835. package/dist/team/__tests__/runtime-interop-spawn-regression.test.d.ts.map +1 -0
  836. package/dist/team/__tests__/runtime-interop-spawn-regression.test.js +139 -0
  837. package/dist/team/__tests__/runtime-interop-spawn-regression.test.js.map +1 -0
  838. package/dist/team/__tests__/runtime-prompt-mode.test.js +167 -14
  839. package/dist/team/__tests__/runtime-prompt-mode.test.js.map +1 -1
  840. package/dist/team/__tests__/runtime-v2.feature-flag.test.d.ts +2 -0
  841. package/dist/team/__tests__/runtime-v2.feature-flag.test.d.ts.map +1 -0
  842. package/dist/team/__tests__/runtime-v2.feature-flag.test.js +20 -0
  843. package/dist/team/__tests__/runtime-v2.feature-flag.test.js.map +1 -0
  844. package/dist/team/__tests__/runtime-watchdog-retry.test.d.ts +2 -0
  845. package/dist/team/__tests__/runtime-watchdog-retry.test.d.ts.map +1 -0
  846. package/dist/team/__tests__/runtime-watchdog-retry.test.js +408 -0
  847. package/dist/team/__tests__/runtime-watchdog-retry.test.js.map +1 -0
  848. package/dist/team/__tests__/shell-path.test.d.ts +2 -0
  849. package/dist/team/__tests__/shell-path.test.d.ts.map +1 -0
  850. package/dist/team/__tests__/shell-path.test.js +193 -0
  851. package/dist/team/__tests__/shell-path.test.js.map +1 -0
  852. package/dist/team/__tests__/state-paths.test.d.ts +2 -0
  853. package/dist/team/__tests__/state-paths.test.d.ts.map +1 -0
  854. package/dist/team/__tests__/state-paths.test.js +16 -0
  855. package/dist/team/__tests__/state-paths.test.js.map +1 -0
  856. package/dist/team/__tests__/task-file-ops.test.js +8 -2
  857. package/dist/team/__tests__/task-file-ops.test.js.map +1 -1
  858. package/dist/team/__tests__/tmux-session.create-team.test.js +15 -17
  859. package/dist/team/__tests__/tmux-session.create-team.test.js.map +1 -1
  860. package/dist/team/__tests__/tmux-session.kill-team-session.test.d.ts +2 -0
  861. package/dist/team/__tests__/tmux-session.kill-team-session.test.d.ts.map +1 -0
  862. package/dist/team/__tests__/tmux-session.kill-team-session.test.js +56 -0
  863. package/dist/team/__tests__/tmux-session.kill-team-session.test.js.map +1 -0
  864. package/dist/team/__tests__/tmux-session.spawn.test.js +9 -0
  865. package/dist/team/__tests__/tmux-session.spawn.test.js.map +1 -1
  866. package/dist/team/__tests__/tmux-session.test.js +83 -5
  867. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  868. package/dist/team/__tests__/wait-for-shell-ready.test.d.ts +2 -0
  869. package/dist/team/__tests__/wait-for-shell-ready.test.d.ts.map +1 -0
  870. package/dist/team/__tests__/wait-for-shell-ready.test.js +242 -0
  871. package/dist/team/__tests__/wait-for-shell-ready.test.js.map +1 -0
  872. package/dist/team/__tests__/worker-bootstrap.test.js +11 -0
  873. package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
  874. package/dist/team/api-interop.d.ts +20 -0
  875. package/dist/team/api-interop.d.ts.map +1 -0
  876. package/dist/team/api-interop.js +601 -0
  877. package/dist/team/api-interop.js.map +1 -0
  878. package/dist/team/contracts.d.ts +14 -0
  879. package/dist/team/contracts.d.ts.map +1 -0
  880. package/dist/team/contracts.js +32 -0
  881. package/dist/team/contracts.js.map +1 -0
  882. package/dist/team/dispatch-queue.d.ts +64 -0
  883. package/dist/team/dispatch-queue.d.ts.map +1 -0
  884. package/dist/team/dispatch-queue.js +288 -0
  885. package/dist/team/dispatch-queue.js.map +1 -0
  886. package/dist/team/events.d.ts +49 -0
  887. package/dist/team/events.d.ts.map +1 -0
  888. package/dist/team/events.js +113 -0
  889. package/dist/team/events.js.map +1 -0
  890. package/dist/team/index.d.ts +15 -2
  891. package/dist/team/index.d.ts.map +1 -1
  892. package/dist/team/index.js +14 -1
  893. package/dist/team/index.js.map +1 -1
  894. package/dist/team/layout-stabilizer.d.ts +23 -0
  895. package/dist/team/layout-stabilizer.d.ts.map +1 -0
  896. package/dist/team/layout-stabilizer.js +117 -0
  897. package/dist/team/layout-stabilizer.js.map +1 -0
  898. package/dist/team/mcp-comm.d.ts +99 -0
  899. package/dist/team/mcp-comm.d.ts.map +1 -0
  900. package/dist/team/mcp-comm.js +235 -0
  901. package/dist/team/mcp-comm.js.map +1 -0
  902. package/dist/team/mcp-team-bridge.d.ts +2 -2
  903. package/dist/team/mcp-team-bridge.d.ts.map +1 -1
  904. package/dist/team/mcp-team-bridge.js +263 -144
  905. package/dist/team/mcp-team-bridge.js.map +1 -1
  906. package/dist/team/model-contract.d.ts +28 -1
  907. package/dist/team/model-contract.d.ts.map +1 -1
  908. package/dist/team/model-contract.js +143 -5
  909. package/dist/team/model-contract.js.map +1 -1
  910. package/dist/team/monitor.d.ts +45 -0
  911. package/dist/team/monitor.d.ts.map +1 -0
  912. package/dist/team/monitor.js +339 -0
  913. package/dist/team/monitor.js.map +1 -0
  914. package/dist/team/runtime-cli.d.ts +24 -0
  915. package/dist/team/runtime-cli.d.ts.map +1 -1
  916. package/dist/team/runtime-cli.js +230 -12
  917. package/dist/team/runtime-cli.js.map +1 -1
  918. package/dist/team/runtime-v2.d.ts +122 -0
  919. package/dist/team/runtime-v2.d.ts.map +1 -0
  920. package/dist/team/runtime-v2.js +766 -0
  921. package/dist/team/runtime-v2.js.map +1 -0
  922. package/dist/team/runtime.d.ts +2 -0
  923. package/dist/team/runtime.d.ts.map +1 -1
  924. package/dist/team/runtime.js +145 -52
  925. package/dist/team/runtime.js.map +1 -1
  926. package/dist/team/scaling.d.ts +59 -0
  927. package/dist/team/scaling.d.ts.map +1 -0
  928. package/dist/team/scaling.js +311 -0
  929. package/dist/team/scaling.js.map +1 -0
  930. package/dist/team/sentinel-gate.d.ts +23 -0
  931. package/dist/team/sentinel-gate.d.ts.map +1 -0
  932. package/dist/team/sentinel-gate.js +127 -0
  933. package/dist/team/sentinel-gate.js.map +1 -0
  934. package/dist/team/shell-path.d.ts +21 -0
  935. package/dist/team/shell-path.d.ts.map +1 -0
  936. package/dist/team/shell-path.js +73 -0
  937. package/dist/team/shell-path.js.map +1 -0
  938. package/dist/team/state/tasks.d.ts +48 -0
  939. package/dist/team/state/tasks.d.ts.map +1 -0
  940. package/dist/team/state/tasks.js +184 -0
  941. package/dist/team/state/tasks.js.map +1 -0
  942. package/dist/team/state-paths.d.ts +20 -4
  943. package/dist/team/state-paths.d.ts.map +1 -1
  944. package/dist/team/state-paths.js +29 -6
  945. package/dist/team/state-paths.js.map +1 -1
  946. package/dist/team/task-file-ops.d.ts +2 -1
  947. package/dist/team/task-file-ops.d.ts.map +1 -1
  948. package/dist/team/task-file-ops.js +19 -0
  949. package/dist/team/task-file-ops.js.map +1 -1
  950. package/dist/team/team-ops.d.ts +44 -0
  951. package/dist/team/team-ops.d.ts.map +1 -0
  952. package/dist/team/team-ops.js +547 -0
  953. package/dist/team/team-ops.js.map +1 -0
  954. package/dist/team/tmux-comm.d.ts.map +1 -1
  955. package/dist/team/tmux-comm.js +107 -44
  956. package/dist/team/tmux-comm.js.map +1 -1
  957. package/dist/team/tmux-session.d.ts +5 -0
  958. package/dist/team/tmux-session.d.ts.map +1 -1
  959. package/dist/team/tmux-session.js +81 -10
  960. package/dist/team/tmux-session.js.map +1 -1
  961. package/dist/team/types.d.ts +303 -8
  962. package/dist/team/types.d.ts.map +1 -1
  963. package/dist/team/types.js +2 -1
  964. package/dist/team/types.js.map +1 -1
  965. package/dist/team/worker-bootstrap.d.ts.map +1 -1
  966. package/dist/team/worker-bootstrap.js +73 -21
  967. package/dist/team/worker-bootstrap.js.map +1 -1
  968. package/dist/tools/__tests__/cancel-integration.test.d.ts +2 -0
  969. package/dist/tools/__tests__/cancel-integration.test.d.ts.map +1 -0
  970. package/dist/tools/__tests__/cancel-integration.test.js +248 -0
  971. package/dist/tools/__tests__/cancel-integration.test.js.map +1 -0
  972. package/dist/tools/__tests__/memory-tools.test.d.ts +2 -0
  973. package/dist/tools/__tests__/memory-tools.test.d.ts.map +1 -0
  974. package/dist/tools/__tests__/memory-tools.test.js +66 -0
  975. package/dist/tools/__tests__/memory-tools.test.js.map +1 -0
  976. package/dist/tools/__tests__/state-tools.test.js +73 -5
  977. package/dist/tools/__tests__/state-tools.test.js.map +1 -1
  978. package/dist/tools/lsp/__tests__/client-eviction.test.js +6 -6
  979. package/dist/tools/lsp/__tests__/client-eviction.test.js.map +1 -1
  980. package/dist/tools/lsp/__tests__/client-timeout-env.test.d.ts +2 -0
  981. package/dist/tools/lsp/__tests__/client-timeout-env.test.d.ts.map +1 -0
  982. package/dist/tools/lsp/__tests__/client-timeout-env.test.js +39 -0
  983. package/dist/tools/lsp/__tests__/client-timeout-env.test.js.map +1 -0
  984. package/dist/tools/lsp/client.d.ts +2 -0
  985. package/dist/tools/lsp/client.d.ts.map +1 -1
  986. package/dist/tools/lsp/client.js +11 -1
  987. package/dist/tools/lsp/client.js.map +1 -1
  988. package/dist/tools/lsp/index.d.ts +1 -1
  989. package/dist/tools/lsp/index.d.ts.map +1 -1
  990. package/dist/tools/lsp/index.js +1 -1
  991. package/dist/tools/lsp/index.js.map +1 -1
  992. package/dist/tools/memory-tools.d.ts.map +1 -1
  993. package/dist/tools/memory-tools.js +2 -1
  994. package/dist/tools/memory-tools.js.map +1 -1
  995. package/dist/tools/python-repl/__tests__/tcp-fallback.test.d.ts +2 -0
  996. package/dist/tools/python-repl/__tests__/tcp-fallback.test.d.ts.map +1 -0
  997. package/dist/tools/python-repl/__tests__/tcp-fallback.test.js +138 -0
  998. package/dist/tools/python-repl/__tests__/tcp-fallback.test.js.map +1 -0
  999. package/dist/tools/python-repl/bridge-manager.d.ts.map +1 -1
  1000. package/dist/tools/python-repl/bridge-manager.js +104 -24
  1001. package/dist/tools/python-repl/bridge-manager.js.map +1 -1
  1002. package/dist/tools/python-repl/paths.d.ts +8 -0
  1003. package/dist/tools/python-repl/paths.d.ts.map +1 -1
  1004. package/dist/tools/python-repl/paths.js +10 -0
  1005. package/dist/tools/python-repl/paths.js.map +1 -1
  1006. package/dist/tools/python-repl/socket-client.d.ts.map +1 -1
  1007. package/dist/tools/python-repl/socket-client.js +9 -2
  1008. package/dist/tools/python-repl/socket-client.js.map +1 -1
  1009. package/dist/tools/shared-memory-tools.d.ts +55 -0
  1010. package/dist/tools/shared-memory-tools.d.ts.map +1 -0
  1011. package/dist/tools/shared-memory-tools.js +250 -0
  1012. package/dist/tools/shared-memory-tools.js.map +1 -0
  1013. package/dist/tools/state-tools.d.ts.map +1 -1
  1014. package/dist/tools/state-tools.js +126 -101
  1015. package/dist/tools/state-tools.js.map +1 -1
  1016. package/dist/utils/daemon-module-path.d.ts +9 -0
  1017. package/dist/utils/daemon-module-path.d.ts.map +1 -0
  1018. package/dist/utils/daemon-module-path.js +23 -0
  1019. package/dist/utils/daemon-module-path.js.map +1 -0
  1020. package/dist/utils/jsonc.d.ts +16 -0
  1021. package/dist/utils/jsonc.d.ts.map +1 -0
  1022. package/dist/utils/jsonc.js +64 -0
  1023. package/dist/utils/jsonc.js.map +1 -0
  1024. package/dist/utils/paths.js +1 -1
  1025. package/dist/utils/paths.js.map +1 -1
  1026. package/dist/utils/ssrf-guard.d.ts +26 -0
  1027. package/dist/utils/ssrf-guard.d.ts.map +1 -0
  1028. package/dist/utils/ssrf-guard.js +103 -0
  1029. package/dist/utils/ssrf-guard.js.map +1 -0
  1030. package/dist/verification/tier-selector.d.ts +1 -1
  1031. package/dist/verification/tier-selector.js +1 -1
  1032. package/docs/ANALYTICS-SYSTEM.md +2 -5
  1033. package/docs/CLAUDE.md +88 -212
  1034. package/docs/MIGRATION.md +138 -161
  1035. package/docs/PERFORMANCE-MONITORING.md +5 -5
  1036. package/docs/REFERENCE.md +351 -286
  1037. package/docs/ko/ARCHITECTURE.md +152 -0
  1038. package/docs/ko/FEATURES.md +582 -0
  1039. package/docs/ko/MIGRATION.md +1027 -0
  1040. package/docs/ko/REFERENCE.md +745 -0
  1041. package/docs/partials/mode-selection-guide.md +22 -12
  1042. package/docs/shared/mode-selection-guide.md +22 -12
  1043. package/package.json +11 -6
  1044. package/scripts/ask-codex.sh +24 -0
  1045. package/scripts/ask-gemini.sh +24 -0
  1046. package/scripts/build-cli.mjs +47 -0
  1047. package/scripts/build-runtime-cli.mjs +2 -0
  1048. package/scripts/context-guard-stop.mjs +66 -3
  1049. package/scripts/context-safety.mjs +67 -2
  1050. package/scripts/keyword-detector.mjs +14 -36
  1051. package/scripts/persistent-mode.cjs +106 -1
  1052. package/scripts/persistent-mode.mjs +88 -2
  1053. package/scripts/plugin-setup.mjs +46 -4
  1054. package/scripts/pre-tool-enforcer.mjs +1 -0
  1055. package/scripts/qa-tests/test-custom-integration.mjs +144 -0
  1056. package/scripts/run-provider-advisor.js +220 -0
  1057. package/scripts/session-start.mjs +42 -2
  1058. package/skills/AGENTS.md +15 -20
  1059. package/skills/ask-codex/SKILL.md +47 -0
  1060. package/skills/ask-gemini/SKILL.md +47 -0
  1061. package/skills/autopilot/SKILL.md +39 -5
  1062. package/skills/cancel/SKILL.md +23 -105
  1063. package/skills/ccg/SKILL.md +58 -75
  1064. package/skills/configure-notifications/SKILL.md +276 -0
  1065. package/skills/configure-openclaw/SKILL.md +63 -0
  1066. package/skills/deep-interview/SKILL.md +551 -0
  1067. package/skills/deepinit/SKILL.md +1 -1
  1068. package/skills/hud/SKILL.md +35 -3
  1069. package/skills/omc-doctor/SKILL.md +30 -13
  1070. package/skills/omc-help/SKILL.md +1 -1
  1071. package/skills/omc-setup/SKILL.md +20 -20
  1072. package/skills/omc-teams/SKILL.md +60 -112
  1073. package/skills/plan/SKILL.md +5 -5
  1074. package/skills/ralph/SKILL.md +96 -70
  1075. package/skills/ralplan/SKILL.md +7 -7
  1076. package/skills/security-review/SKILL.md +2 -2
  1077. package/skills/team/SKILL.md +36 -2
  1078. package/skills/ultrawork/SKILL.md +7 -7
  1079. package/templates/hooks/keyword-detector.mjs +20 -28
  1080. package/templates/hooks/persistent-mode.mjs +89 -2
  1081. package/templates/hooks/pre-tool-use.mjs +53 -0
  1082. package/templates/hooks/session-start.mjs +3 -3
  1083. package/skills/pipeline/SKILL.md +0 -434
  1084. package/skills/review/SKILL.md +0 -30
  1085. package/skills/ultrapilot/SKILL.md +0 -632
@@ -51,7 +51,8 @@ Active modes are still cancelled in dependency order:
51
51
  6. Ultrapilot (standalone)
52
52
  7. Pipeline (standalone)
53
53
  8. Team (Claude Code native)
54
- 9. Plan Consensus (standalone)
54
+ 9. OMC Teams (tmux CLI workers)
55
+ 10. Plan Consensus (standalone)
55
56
 
56
57
  ## Force Clear All
57
58
 
@@ -70,6 +71,7 @@ Steps under the hood:
70
71
  2. `state_clear` runs once per session to drop that session’s files.
71
72
  3. A global `state_clear` without `session_id` removes legacy files under `.omc/state/*.json`, `.omc/state/swarm*.db`, and compatibility artifacts (see list).
72
73
  4. Team artifacts (`~/.claude/teams/*/`, `~/.claude/tasks/*/`, `.omc/state/team-state.json`) are best-effort cleared as part of the legacy fallback.
74
+ - Cancel for native team does NOT affect omc-teams state, and vice versa.
73
75
 
74
76
  Every `state_clear` command honors the `session_id` argument, so even force mode still uses the session-aware paths first before deleting legacy files.
75
77
 
@@ -88,6 +90,7 @@ Legacy compatibility list (removed only under `--force`/`--all`):
88
90
  - `.omc/state/ultrapilot-state.json`
89
91
  - `.omc/state/ultrapilot-ownership.json`
90
92
  - `.omc/state/pipeline-state.json`
93
+ - `.omc/state/omc-teams-state.json`
91
94
  - `.omc/state/plan-consensus.json`
92
95
  - `.omc/state/ralplan-state.json`
93
96
  - `.omc/state/boulder.json`
@@ -205,127 +208,42 @@ Team "{team_name}" cancelled:
205
208
  4. Wait briefly for shutdown responses (15s per member timeout)
206
209
  5. Re-read config.json to check for remaining members (reconciliation pass)
207
210
  6. Call `TeamDelete()` to clean up
208
- 7. Remove any local state: `rm -f .omc/state/team-state.json`
211
+ 7. Clear team state: `state_clear(mode="team", session_id)`
209
212
  8. Report structured summary to user
210
213
 
211
214
  #### If Autopilot Active
212
215
 
213
- Call `cancelAutopilot()` from `src/hooks/autopilot/cancel.ts:27-78`:
216
+ Autopilot handles its own cleanup including linked ralph and ultraqa.
214
217
 
215
- ```bash
216
- # Autopilot handles its own cleanup + ralph + ultraqa
217
- # Just mark autopilot as inactive (preserves state for resume)
218
- if [[ -f .omc/state/autopilot-state.json ]]; then
219
- # Clean up ralph if active
220
- if [[ -f .omc/state/ralph-state.json ]]; then
221
- RALPH_STATE=$(cat .omc/state/ralph-state.json)
222
- LINKED_UW=$(echo "$RALPH_STATE" | jq -r '.linked_ultrawork // false')
223
-
224
- # Clean linked ultrawork first
225
- if [[ "$LINKED_UW" == "true" ]] && [[ -f .omc/state/ultrawork-state.json ]]; then
226
- rm -f .omc/state/ultrawork-state.json
227
- echo "Cleaned up: ultrawork (linked to ralph)"
228
- fi
229
-
230
- # Clean ralph
231
- rm -f .omc/state/ralph-state.json
232
- rm -f .omc/state/ralph-verification.json
233
- echo "Cleaned up: ralph"
234
- fi
235
-
236
- # Clean up ultraqa if active
237
- if [[ -f .omc/state/ultraqa-state.json ]]; then
238
- rm -f .omc/state/ultraqa-state.json
239
- echo "Cleaned up: ultraqa"
240
- fi
241
-
242
- # Mark autopilot inactive but preserve state
243
- CURRENT_STATE=$(cat .omc/state/autopilot-state.json)
244
- CURRENT_PHASE=$(echo "$CURRENT_STATE" | jq -r '.phase // "unknown"')
245
- echo "$CURRENT_STATE" | jq '.active = false' > .omc/state/autopilot-state.json
246
-
247
- echo "Autopilot cancelled at phase: $CURRENT_PHASE. Progress preserved for resume."
248
- echo "Run /oh-my-claudecode:autopilot to resume."
249
- fi
250
- ```
218
+ 1. Read autopilot state via `state_read(mode="autopilot", session_id)` to get current phase
219
+ 2. Check for linked ralph via `state_read(mode="ralph", session_id)`:
220
+ - If ralph is active and has `linked_ultrawork: true`, clear ultrawork first: `state_clear(mode="ultrawork", session_id)`
221
+ - Clear ralph: `state_clear(mode="ralph", session_id)`
222
+ 3. Check for linked ultraqa via `state_read(mode="ultraqa", session_id)`:
223
+ - If active, clear it: `state_clear(mode="ultraqa", session_id)`
224
+ 4. Mark autopilot inactive (preserve state for resume) via `state_write(mode="autopilot", session_id, state={active: false, ...existing})`
251
225
 
252
226
  #### If Ralph Active (but not Autopilot)
253
227
 
254
- Call `clearRalphState()` + `clearLinkedUltraworkState()` from `src/hooks/ralph-loop/index.ts:147-182`:
255
-
256
- ```bash
257
- if [[ -f .omc/state/ralph-state.json ]]; then
258
- # Check if ultrawork is linked
259
- RALPH_STATE=$(cat .omc/state/ralph-state.json)
260
- LINKED_UW=$(echo "$RALPH_STATE" | jq -r '.linked_ultrawork // false')
261
-
262
- # Clean linked ultrawork first
263
- if [[ "$LINKED_UW" == "true" ]] && [[ -f .omc/state/ultrawork-state.json ]]; then
264
- UW_STATE=$(cat .omc/state/ultrawork-state.json)
265
- UW_LINKED=$(echo "$UW_STATE" | jq -r '.linked_to_ralph // false')
266
-
267
- # Only clear if it was linked to ralph
268
- if [[ "$UW_LINKED" == "true" ]]; then
269
- rm -f .omc/state/ultrawork-state.json
270
- echo "Cleaned up: ultrawork (linked to ralph)"
271
- fi
272
- fi
273
-
274
- # Clean ralph state
275
- rm -f .omc/state/ralph-state.json
276
- rm -f .omc/state/ralph-plan-state.json
277
- rm -f .omc/state/ralph-verification.json
278
-
279
- echo "Ralph cancelled. Persistent mode deactivated."
280
- fi
281
- ```
228
+ 1. Read ralph state via `state_read(mode="ralph", session_id)` to check for linked ultrawork
229
+ 2. If `linked_ultrawork: true`:
230
+ - Read ultrawork state to verify `linked_to_ralph: true`
231
+ - If linked, clear ultrawork: `state_clear(mode="ultrawork", session_id)`
232
+ 3. Clear ralph: `state_clear(mode="ralph", session_id)`
282
233
 
283
234
  #### If Ultrawork Active (standalone, not linked)
284
235
 
285
- Call `deactivateUltrawork()` from `src/hooks/ultrawork/index.ts:150-173`:
286
-
287
- ```bash
288
- if [[ -f .omc/state/ultrawork-state.json ]]; then
289
- # Check if linked to ralph
290
- UW_STATE=$(cat .omc/state/ultrawork-state.json)
291
- LINKED=$(echo "$UW_STATE" | jq -r '.linked_to_ralph // false')
292
-
293
- if [[ "$LINKED" == "true" ]]; then
294
- echo "Ultrawork is linked to Ralph. Use /oh-my-claudecode:cancel to cancel both."
295
- exit 1
296
- fi
297
-
298
- # Remove local state
299
- rm -f .omc/state/ultrawork-state.json
300
-
301
- echo "Ultrawork cancelled. Parallel execution mode deactivated."
302
- fi
303
- ```
236
+ 1. Read ultrawork state via `state_read(mode="ultrawork", session_id)`
237
+ 2. If `linked_to_ralph: true`, warn user to cancel ralph instead (which cascades)
238
+ 3. Otherwise clear: `state_clear(mode="ultrawork", session_id)`
304
239
 
305
240
  #### If UltraQA Active (standalone)
306
241
 
307
- Call `clearUltraQAState()` from `src/hooks/ultraqa/index.ts:107-120`:
308
-
309
- ```bash
310
- if [[ -f .omc/state/ultraqa-state.json ]]; then
311
- rm -f .omc/state/ultraqa-state.json
312
- echo "UltraQA cancelled. QA cycling workflow stopped."
313
- fi
314
- ```
242
+ Clear directly: `state_clear(mode="ultraqa", session_id)`
315
243
 
316
244
  #### No Active Modes
317
245
 
318
- ```bash
319
- echo "No active OMC modes detected."
320
- echo ""
321
- echo "Checked for:"
322
- echo " - Autopilot (.omc/state/autopilot-state.json)"
323
- echo " - Ralph (.omc/state/ralph-state.json)"
324
- echo " - Ultrawork (.omc/state/ultrawork-state.json)"
325
- echo " - UltraQA (.omc/state/ultraqa-state.json)"
326
- echo ""
327
- echo "Use --force to clear all state files anyway."
328
- ```
246
+ Report: "No active OMC modes detected. Use --force to clear all state files anyway."
329
247
 
330
248
  ## Implementation Notes
331
249
 
@@ -1,44 +1,44 @@
1
1
  ---
2
2
  name: ccg
3
- description: Claude-Codex-Gemini tri-model orchestration - fans out backend tasks to Codex and frontend/UI tasks to Gemini in parallel, then Claude synthesizes results
3
+ description: Claude-Codex-Gemini tri-model orchestration via ask-codex + ask-gemini, then Claude synthesizes results
4
4
  ---
5
5
 
6
6
  # CCG - Claude-Codex-Gemini Tri-Model Orchestration
7
7
 
8
- CCG spawns a tmux team with Codex and Gemini CLI workers running in parallel panes, then Claude synthesizes the results. Use this for tasks that benefit from multiple AI perspectives simultaneously.
8
+ CCG routes through `ask-codex` and `ask-gemini` (CLI advisor flow), then Claude synthesizes both outputs into one answer.
9
+
10
+ Use this when you want parallel external perspectives without launching tmux team workers.
9
11
 
10
12
  ## When to Use
11
13
 
12
- - Backend/analysis + frontend/UI work that can run truly in parallel
13
- - Code review from multiple perspectives (architecture + style simultaneously)
14
- - Research tasks where different models have complementary strengths
15
- - Any task you want to split across Codex (analytical) and Gemini (design/creative) workers
14
+ - Backend/analysis + frontend/UI work in one request
15
+ - Code review from multiple perspectives (architecture + design/UX)
16
+ - Cross-validation where Codex and Gemini may disagree
17
+ - Fast advisor-style parallel input without team runtime orchestration
16
18
 
17
19
  ## Requirements
18
20
 
19
21
  - **Codex CLI**: `npm install -g @openai/codex` (or `@openai/codex`)
20
22
  - **Gemini CLI**: `npm install -g @google/gemini-cli`
21
- - **tmux**: Must be running inside a tmux session
22
- - If either CLI is unavailable, CCG falls back to Claude-only execution
23
+ - `omc ask` command available
24
+ - If either CLI is unavailable, continue with whichever provider is available and note the limitation
23
25
 
24
26
  ## How It Works
25
27
 
26
- ```
27
- 1. Claude decomposes the request into:
28
- - Backend/analytical tasks → Codex worker
29
- - Frontend/UI/design tasks → Gemini worker
28
+ ```text
29
+ 1. Claude decomposes the request into two advisor prompts:
30
+ - Codex prompt (analysis/architecture/backend)
31
+ - Gemini prompt (UX/design/docs/alternatives)
30
32
 
31
- 2. mcp__team__omc_run_team_start creates a tmux session with 2 workers:
32
- omc-team-{name}
33
- ├── Leader pane (Claude orchestrates)
34
- ├── Worker pane 1: codex CLI (analytical tasks)
35
- └── Worker pane 2: gemini CLI (design tasks)
33
+ 2. Claude runs:
34
+ - /oh-my-claudecode:ask-codex "<codex prompt>"
35
+ - /oh-my-claudecode:ask-gemini "<gemini prompt>"
36
36
 
37
- 3. Workers read tasks from inbox files and write done.json on completion
37
+ (equivalent CLI path: `omc ask codex ...` + `omc ask gemini ...`)
38
38
 
39
- 4. mcp__team__omc_run_team_wait blocks until all workers finish
39
+ 3. Artifacts are written under `.omc/artifacts/ask/`
40
40
 
41
- 5. Claude reads taskResults and synthesizes into final output
41
+ 4. Claude synthesizes both outputs into one final response
42
42
  ```
43
43
 
44
44
  ## Execution Protocol
@@ -46,82 +46,65 @@ CCG spawns a tmux team with Codex and Gemini CLI workers running in parallel pan
46
46
  When invoked, Claude MUST follow this workflow:
47
47
 
48
48
  ### 1. Decompose Request
49
- Split the user's request into:
50
- - **Codex tasks**: code analysis, architecture review, backend logic, security review, test strategy
51
- - **Gemini tasks**: UI/UX design, documentation, visual analysis, large-context file review
52
- - **Synthesis task**: Claude combines results (always done by Claude, not delegated)
49
+ Split the user request into:
53
50
 
54
- Choose a short `teamName` slug (e.g., `ccg-auth-review`).
51
+ - **Codex prompt:** architecture, correctness, backend, risks, test strategy
52
+ - **Gemini prompt:** UX/content clarity, alternatives, edge-case usability, docs polish
53
+ - **Synthesis plan:** how to reconcile conflicts
55
54
 
56
- ### 2. Start the team (non-blocking)
55
+ ### 2. Invoke ask skills
57
56
 
58
- Call `mcp__team__omc_run_team_start` spawns workers in the background and returns a `jobId` immediately:
57
+ Use skill routing first:
59
58
 
60
- ```
61
- mcp__team__omc_run_team_start({
62
- "teamName": "ccg-{slug}",
63
- "agentTypes": ["codex", "gemini"],
64
- "tasks": [
65
- {"subject": "Codex task: ...", "description": "Full description of analytical work..."},
66
- {"subject": "Gemini task: ...", "description": "Full description of design/UI work..."}
67
- ],
68
- "cwd": "{cwd}"
69
- })
59
+ ```bash
60
+ /oh-my-claudecode:ask-codex <codex prompt>
61
+ /oh-my-claudecode:ask-gemini <gemini prompt>
70
62
  ```
71
63
 
72
- Returns: `{ "jobId": "omc-...", "pid": 12345, "message": "Team started in background..." }`
64
+ Equivalent direct CLI:
73
65
 
74
- ### 3. Wait for completion
66
+ ```bash
67
+ omc ask codex "<codex prompt>"
68
+ omc ask gemini "<gemini prompt>"
69
+ ```
75
70
 
76
- Call `mcp__team__omc_run_team_wait` blocks internally until done:
71
+ ### 3. Collect artifacts
77
72
 
78
- ```
79
- mcp__team__omc_run_team_wait({
80
- "job_id": "{jobId}",
81
- "timeout_ms": 60000
82
- })
83
- ```
73
+ Read latest ask artifacts from:
84
74
 
85
- > **Timeout guidance:** `timeout_ms` is optional; the default wait timeout is fine.
86
- > If wait times out, workers/panes keep running. Call `omc_run_team_wait` again to keep
87
- > waiting. Use `omc_run_team_cleanup` only for explicit cancel intent.
88
-
89
- Returns when done:
90
- ```json
91
- {
92
- "status": "completed|failed",
93
- "result": {
94
- "taskResults": [
95
- {"taskId": "1", "status": "completed", "summary": "..."},
96
- {"taskId": "2", "status": "completed", "summary": "..."}
97
- ]
98
- }
99
- }
75
+ ```text
76
+ .omc/artifacts/ask/codex-*.md
77
+ .omc/artifacts/ask/gemini-*.md
100
78
  ```
101
79
 
102
- ### 4. Synthesize Results
80
+ ### 4. Synthesize
103
81
 
104
- Parse `result.taskResults` and synthesize Codex + Gemini outputs into a unified response for the user.
82
+ Return one unified answer with:
105
83
 
106
- ## Fallback (CLIs Not Available)
84
+ - Agreed recommendations
85
+ - Conflicting recommendations (explicitly called out)
86
+ - Chosen final direction + rationale
87
+ - Action checklist
107
88
 
108
- CLI availability is checked by the MCP runtime automatically. If a CLI is not installed, the worker exits with `command not found`. In that case, fall back to Claude Task agents:
89
+ ## Fallbacks
109
90
 
110
- ```
111
- [CCG] Codex/Gemini CLI not found. Falling back to Claude-only execution.
112
- ```
91
+ If one provider is unavailable:
92
+
93
+ - Continue with available provider + Claude synthesis
94
+ - Clearly note missing perspective and risk
95
+
96
+ If both unavailable:
113
97
 
114
- Use standard Claude Task agents instead:
115
- - `Task(subagent_type="oh-my-claudecode:executor", model="sonnet", ...)` for analytical tasks
116
- - `Task(subagent_type="oh-my-claudecode:designer", model="sonnet", ...)` for design tasks
98
+ - Fall back to Claude-only answer and state CCG external advisors were unavailable
117
99
 
118
100
  ## Invocation
119
101
 
120
- ```
121
- /oh-my-claudecode:ccg [task description]
102
+ ```bash
103
+ /oh-my-claudecode:ccg <task description>
122
104
  ```
123
105
 
124
106
  Example:
125
- ```
126
- /oh-my-claudecode:ccg Review this PR - check architecture and code quality (Codex) and UI components (Gemini)
107
+
108
+ ```bash
109
+ /oh-my-claudecode:ccg Review this PR - architecture/security via Codex and UX/readability via Gemini
127
110
  ```
@@ -935,3 +935,279 @@ Offer to send a test notification with the new template.
935
935
  ## Related
936
936
 
937
937
  - `/oh-my-claudecode:configure-openclaw` — Configure OpenClaw gateway integration
938
+
939
+ ---
940
+
941
+ ## Custom Integration (OpenClaw, n8n, CLI, etc.)
942
+
943
+ Configure custom webhooks and CLI commands for services beyond the native Discord/Telegram/Slack integrations.
944
+
945
+ ### Routing
946
+
947
+ If the user says "custom integration", "openclaw", "n8n", "webhook", "cli command", or similar → follow this section.
948
+
949
+ ### Migration from OpenClaw
950
+
951
+ If `~/.claude/omc_config.openclaw.json` exists, detect and offer migration:
952
+
953
+ **Step 1: Detect Legacy Config**
954
+ ```bash
955
+ LEGACY_CONFIG="$HOME/.claude/omc_config.openclaw.json"
956
+ if [ -f "$LEGACY_CONFIG" ]; then
957
+ echo "LEGACY_FOUND=true"
958
+ # Check if already migrated
959
+ if jq -e '.customIntegrations.integrations[] | select(.preset == "openclaw")' "$CONFIG_FILE" >/dev/null 2>&1; then
960
+ echo "ALREADY_MIGRATED=true"
961
+ else
962
+ echo "ALREADY_MIGRATED=false"
963
+ fi
964
+ else
965
+ echo "LEGACY_FOUND=false"
966
+ fi
967
+ ```
968
+
969
+ **Step 2: Offer Migration**
970
+ If legacy found and not migrated:
971
+
972
+ **Question:** "Existing OpenClaw configuration detected. Would you like to migrate it to the new format?"
973
+
974
+ **Options:**
975
+ 1. **Yes, migrate now** - Convert legacy config to custom integration
976
+ 2. **No, configure fresh** - Skip migration and start new
977
+ 3. **Show me the legacy config first** - Display current OpenClaw settings
978
+
979
+ If migrate:
980
+ - Read `omc_config.openclaw.json`
981
+ - Transform to custom integration format
982
+ - Save to `.omc-config.json`
983
+ - Backup legacy to `omc_config.openclaw.json.bak`
984
+ - Show success message
985
+
986
+ ### Custom Integration Wizard
987
+
988
+ **Step 1: Select Integration Type**
989
+
990
+ **Question:** "Which type of custom integration would you like to configure?"
991
+
992
+ **Options:**
993
+ 1. **OpenClaw Gateway** - Wake external automations and AI agents
994
+ 2. **n8n Webhook** - Trigger n8n workflows
995
+ 3. **ClawdBot** - Send notifications to ClawdBot
996
+ 4. **Generic Webhook** - Custom HTTPS webhook
997
+ 5. **Generic CLI Command** - Execute shell command on events
998
+
999
+ ### OpenClaw/n8n/ClawdBot Preset Flow
1000
+
1001
+ **Step 2: Gateway URL**
1002
+
1003
+ **Question:** "What is your gateway/webhook URL?"
1004
+
1005
+ **Validation:**
1006
+ - Must be HTTPS (except localhost for development)
1007
+ - Must be valid URL format
1008
+
1009
+ **Step 3: Authentication (Optional)**
1010
+
1011
+ **Question:** "Does your gateway require authentication?"
1012
+
1013
+ **Options:**
1014
+ 1. **Bearer token** - Authorization: Bearer <token>
1015
+ 2. **Custom header** - Name and value
1016
+ 3. **No authentication**
1017
+
1018
+ If Bearer: ask for token
1019
+ If Custom: ask for header name and value
1020
+
1021
+ **Step 4: Events**
1022
+
1023
+ Use AskUserQuestion with multiSelect:
1024
+
1025
+ **Question:** "Which events should trigger this integration?"
1026
+
1027
+ **Options (with defaults from preset):**
1028
+ - session-start
1029
+ - session-end
1030
+ - session-stop
1031
+ - session-idle
1032
+ - ask-user-question
1033
+
1034
+ Default for OpenClaw: session-start, session-end, stop
1035
+ Default for n8n: session-end, ask-user-question
1036
+
1037
+ **Step 5: Test**
1038
+
1039
+ **Question:** "Send a test notification to verify the configuration?"
1040
+
1041
+ **Options:**
1042
+ 1. **Yes, test now** - Send test webhook
1043
+ 2. **No, skip test**
1044
+
1045
+ If test:
1046
+ ```bash
1047
+ # For webhook integrations
1048
+ curl -X POST \
1049
+ -H "Content-Type: application/json" \
1050
+ ${AUTH_HEADER:+"-H \"$AUTH_HEADER\""} \
1051
+ -d '{"event":"test","instruction":"OMC test notification","timestamp":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'"}' \
1052
+ "$WEBHOOK_URL"
1053
+ ```
1054
+
1055
+ Show result (HTTP status, any error).
1056
+
1057
+ **Step 6: Write Configuration**
1058
+
1059
+ Merge into `.omc-config.json`:
1060
+
1061
+ ```json
1062
+ {
1063
+ "notifications": { /* existing native configs */ },
1064
+ "customIntegrations": {
1065
+ "enabled": true,
1066
+ "integrations": [
1067
+ {
1068
+ "id": "my-openclaw",
1069
+ "type": "webhook",
1070
+ "preset": "openclaw",
1071
+ "enabled": true,
1072
+ "config": {
1073
+ "url": "https://my-gateway.example.com/wake",
1074
+ "method": "POST",
1075
+ "headers": {
1076
+ "Content-Type": "application/json",
1077
+ "Authorization": "Bearer ..."
1078
+ },
1079
+ "bodyTemplate": "{\\"event\\":\\"{{event}}\\",\\"instruction\\":\\"Session {{sessionId}} {{event}}\\",\\"timestamp\\":\\"{{timestamp}}\\"}",
1080
+ "timeout": 10000
1081
+ },
1082
+ "events": ["session-start", "session-end"]
1083
+ }
1084
+ ]
1085
+ }
1086
+ }
1087
+ ```
1088
+
1089
+ ### Generic Webhook Flow
1090
+
1091
+ **Step 2: URL**
1092
+ Ask for webhook URL (HTTPS required).
1093
+
1094
+ **Step 3: Method**
1095
+ Ask for HTTP method (GET, POST, PUT, PATCH, DELETE). Default: POST.
1096
+
1097
+ **Step 4: Headers**
1098
+ Ask for headers in "Name: Value" format, one per line. Default: Content-Type: application/json
1099
+
1100
+ **Step 5: Body Template**
1101
+ Show available template variables and ask for body template (JSON or other format).
1102
+
1103
+ Default:
1104
+ ```json
1105
+ {
1106
+ "event": "{{event}}",
1107
+ "sessionId": "{{sessionId}}",
1108
+ "projectName": "{{projectName}}",
1109
+ "timestamp": "{{timestamp}}"
1110
+ }
1111
+ ```
1112
+
1113
+ **Step 6: Timeout**
1114
+ Ask for timeout in milliseconds (1000-60000). Default: 10000.
1115
+
1116
+ **Step 7: Events**
1117
+ Multi-select events.
1118
+
1119
+ **Step 8: Test and Save**
1120
+ Same as preset flow.
1121
+
1122
+ ### Generic CLI Command Flow
1123
+
1124
+ **Step 2: Command**
1125
+
1126
+ **Question:** "What command should be executed? (single executable, no arguments)"
1127
+
1128
+ **Example:** `curl`, `/usr/local/bin/my-script`, `notify-send`
1129
+
1130
+ **Validation:**
1131
+ - No spaces
1132
+ - No shell metacharacters
1133
+
1134
+ **Step 3: Arguments**
1135
+
1136
+ **Question:** "Command arguments (use {{variable}} for dynamic values). Enter one per line."
1137
+
1138
+ **Example:**
1139
+ ```
1140
+ -X
1141
+ POST
1142
+ -d
1143
+ {"event":"{{event}}","session":"{{sessionId}}"}
1144
+ https://my-api.com/notify
1145
+ ```
1146
+
1147
+ Show available template variables reference.
1148
+
1149
+ **Step 4: Timeout**
1150
+ Ask for timeout (1000-60000ms). Default: 5000.
1151
+
1152
+ **Step 5: Events**
1153
+ Multi-select events.
1154
+
1155
+ **Step 6: Test and Save**
1156
+
1157
+ For test, execute command with test values:
1158
+ ```bash
1159
+ $COMMAND "${ARGS[@]//{{event}}/test}"
1160
+ ```
1161
+
1162
+ Show stdout/stderr and exit code.
1163
+
1164
+ ### Managing Custom Integrations
1165
+
1166
+ **List existing:**
1167
+ ```bash
1168
+ jq '.customIntegrations.integrations[] | {id, type, preset, enabled, events}' "$CONFIG_FILE"
1169
+ ```
1170
+
1171
+ **Disable/Enable:**
1172
+ ```bash
1173
+ # Disable
1174
+ jq '.customIntegrations.integrations = [.customIntegrations.integrations[] | if .id == "my-integration" then .enabled = false else . end]' "$CONFIG_FILE"
1175
+
1176
+ # Enable
1177
+ jq '.customIntegrations.integrations = [.customIntegrations.integrations[] | if .id == "my-integration" then .enabled = true else . end]' "$CONFIG_FILE"
1178
+ ```
1179
+
1180
+ **Remove:**
1181
+ ```bash
1182
+ jq '.customIntegrations.integrations = [.customIntegrations.integrations[] | select(.id != "my-integration")]' "$CONFIG_FILE"
1183
+ ```
1184
+
1185
+ ### Template Variables Reference
1186
+
1187
+ All custom integrations support these template variables:
1188
+
1189
+ | Variable | Description | Example |
1190
+ |----------|-------------|---------|
1191
+ | `{{sessionId}}` | Unique session ID | `sess_abc123` |
1192
+ | `{{projectPath}}` | Full project path | `/home/user/my-project` |
1193
+ | `{{projectName}}` | Project directory name | `my-project` |
1194
+ | `{{timestamp}}` | ISO 8601 timestamp | `2026-03-05T14:30:00Z` |
1195
+ | `{{event}}` | Event name | `session-end` |
1196
+ | `{{duration}}` | Human-readable duration | `45s` |
1197
+ | `{{durationMs}}` | Duration in milliseconds | `45000` |
1198
+ | `{{reason}}` | Stop/end reason | `completed` |
1199
+ | `{{tmuxSession}}` | tmux session name | `claude:my-project` |
1200
+
1201
+ Session-end only:
1202
+ - `{{agentsSpawned}}`, `{{agentsCompleted}}`, `{{modesUsed}}`, `{{contextSummary}}`
1203
+
1204
+ Ask-user-question only:
1205
+ - `{{question}}`
1206
+
1207
+ ---
1208
+
1209
+ ## Related
1210
+
1211
+ - Template variables: `src/notifications/template-variables.ts`
1212
+ - Validation: `src/notifications/validation.ts`
1213
+ - Presets: `src/notifications/presets.ts`