oh-my-codex 0.6.3 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/README.md +19 -9
  2. package/bin/omx.js +3 -5
  3. package/dist/agents/__tests__/definitions.test.d.ts +2 -0
  4. package/dist/agents/__tests__/definitions.test.d.ts.map +1 -0
  5. package/dist/agents/__tests__/definitions.test.js +35 -0
  6. package/dist/agents/__tests__/definitions.test.js.map +1 -0
  7. package/dist/agents/__tests__/native-config.test.d.ts +2 -0
  8. package/dist/agents/__tests__/native-config.test.d.ts.map +1 -0
  9. package/dist/agents/__tests__/native-config.test.js +48 -0
  10. package/dist/agents/__tests__/native-config.test.js.map +1 -0
  11. package/dist/catalog/__tests__/schema.test.js +15 -0
  12. package/dist/catalog/__tests__/schema.test.js.map +1 -1
  13. package/dist/catalog/schema.d.ts.map +1 -1
  14. package/dist/catalog/schema.js +6 -0
  15. package/dist/catalog/schema.js.map +1 -1
  16. package/dist/cli/__tests__/catalog-contract.test.d.ts +2 -0
  17. package/dist/cli/__tests__/catalog-contract.test.d.ts.map +1 -0
  18. package/dist/cli/__tests__/catalog-contract.test.js +18 -0
  19. package/dist/cli/__tests__/catalog-contract.test.js.map +1 -0
  20. package/dist/cli/__tests__/doctor-team.test.js +3 -2
  21. package/dist/cli/__tests__/doctor-team.test.js.map +1 -1
  22. package/dist/cli/__tests__/error-handling-warnings.test.d.ts +2 -0
  23. package/dist/cli/__tests__/error-handling-warnings.test.d.ts.map +1 -0
  24. package/dist/cli/__tests__/error-handling-warnings.test.js +35 -0
  25. package/dist/cli/__tests__/error-handling-warnings.test.js.map +1 -0
  26. package/dist/cli/__tests__/index.test.js +81 -8
  27. package/dist/cli/__tests__/index.test.js.map +1 -1
  28. package/dist/cli/__tests__/setup-agents-overwrite.test.d.ts +2 -0
  29. package/dist/cli/__tests__/setup-agents-overwrite.test.d.ts.map +1 -0
  30. package/dist/cli/__tests__/setup-agents-overwrite.test.js +124 -0
  31. package/dist/cli/__tests__/setup-agents-overwrite.test.js.map +1 -0
  32. package/dist/cli/__tests__/setup-scope.test.js +79 -21
  33. package/dist/cli/__tests__/setup-scope.test.js.map +1 -1
  34. package/dist/cli/__tests__/setup-skills-overwrite.test.d.ts +2 -0
  35. package/dist/cli/__tests__/setup-skills-overwrite.test.d.ts.map +1 -0
  36. package/dist/cli/__tests__/setup-skills-overwrite.test.js +32 -0
  37. package/dist/cli/__tests__/setup-skills-overwrite.test.js.map +1 -0
  38. package/dist/cli/__tests__/star-prompt.test.js +74 -0
  39. package/dist/cli/__tests__/star-prompt.test.js.map +1 -1
  40. package/dist/cli/__tests__/team.test.js +8 -0
  41. package/dist/cli/__tests__/team.test.js.map +1 -1
  42. package/dist/cli/doctor.d.ts.map +1 -1
  43. package/dist/cli/doctor.js +75 -18
  44. package/dist/cli/doctor.js.map +1 -1
  45. package/dist/cli/index.d.ts +10 -1
  46. package/dist/cli/index.d.ts.map +1 -1
  47. package/dist/cli/index.js +153 -45
  48. package/dist/cli/index.js.map +1 -1
  49. package/dist/cli/setup.d.ts +2 -1
  50. package/dist/cli/setup.d.ts.map +1 -1
  51. package/dist/cli/setup.js +104 -60
  52. package/dist/cli/setup.js.map +1 -1
  53. package/dist/cli/star-prompt.d.ts +21 -1
  54. package/dist/cli/star-prompt.d.ts.map +1 -1
  55. package/dist/cli/star-prompt.js +34 -13
  56. package/dist/cli/star-prompt.js.map +1 -1
  57. package/dist/cli/team.d.ts.map +1 -1
  58. package/dist/cli/team.js +10 -3
  59. package/dist/cli/team.js.map +1 -1
  60. package/dist/cli/update.d.ts.map +1 -1
  61. package/dist/cli/update.js.map +1 -1
  62. package/dist/config/__tests__/generator-notify.test.js +16 -0
  63. package/dist/config/__tests__/generator-notify.test.js.map +1 -1
  64. package/dist/config/__tests__/models.test.js +9 -1
  65. package/dist/config/__tests__/models.test.js.map +1 -1
  66. package/dist/config/generator.js +9 -10
  67. package/dist/config/generator.js.map +1 -1
  68. package/dist/config/models.d.ts +8 -1
  69. package/dist/config/models.d.ts.map +1 -1
  70. package/dist/config/models.js +27 -5
  71. package/dist/config/models.js.map +1 -1
  72. package/dist/hooks/__tests__/agents-overlay.test.js +24 -0
  73. package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -1
  74. package/dist/hooks/__tests__/consensus-execution-handoff.test.d.ts +18 -0
  75. package/dist/hooks/__tests__/consensus-execution-handoff.test.d.ts.map +1 -0
  76. package/dist/hooks/__tests__/consensus-execution-handoff.test.js +204 -0
  77. package/dist/hooks/__tests__/consensus-execution-handoff.test.js.map +1 -0
  78. package/dist/hooks/__tests__/emulator.test.d.ts +2 -0
  79. package/dist/hooks/__tests__/emulator.test.d.ts.map +1 -0
  80. package/dist/hooks/__tests__/emulator.test.js +47 -0
  81. package/dist/hooks/__tests__/emulator.test.js.map +1 -0
  82. package/dist/hooks/__tests__/keyword-detector.test.js +330 -4
  83. package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
  84. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +101 -0
  85. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
  86. package/dist/hooks/__tests__/notify-hook-cross-worktree-heartbeat.test.js +13 -7
  87. package/dist/hooks/__tests__/notify-hook-cross-worktree-heartbeat.test.js.map +1 -1
  88. package/dist/hooks/__tests__/notify-hook-modules.test.js +61 -0
  89. package/dist/hooks/__tests__/notify-hook-modules.test.js.map +1 -1
  90. package/dist/hooks/__tests__/notify-hook-session-scope.test.js +47 -0
  91. package/dist/hooks/__tests__/notify-hook-session-scope.test.js.map +1 -1
  92. package/dist/hooks/__tests__/notify-hook-worker-idle.test.d.ts +2 -0
  93. package/dist/hooks/__tests__/notify-hook-worker-idle.test.d.ts.map +1 -0
  94. package/dist/hooks/__tests__/notify-hook-worker-idle.test.js +560 -0
  95. package/dist/hooks/__tests__/notify-hook-worker-idle.test.js.map +1 -0
  96. package/dist/hooks/__tests__/session.test.d.ts +2 -0
  97. package/dist/hooks/__tests__/session.test.d.ts.map +1 -0
  98. package/dist/hooks/__tests__/session.test.js +161 -0
  99. package/dist/hooks/__tests__/session.test.js.map +1 -0
  100. package/dist/hooks/__tests__/task-size-detector.test.d.ts +2 -0
  101. package/dist/hooks/__tests__/task-size-detector.test.d.ts.map +1 -0
  102. package/dist/hooks/__tests__/task-size-detector.test.js +336 -0
  103. package/dist/hooks/__tests__/task-size-detector.test.js.map +1 -0
  104. package/dist/hooks/__tests__/tmux-hook-engine-types-sync.test.d.ts +2 -0
  105. package/dist/hooks/__tests__/tmux-hook-engine-types-sync.test.d.ts.map +1 -0
  106. package/dist/hooks/__tests__/tmux-hook-engine-types-sync.test.js +24 -0
  107. package/dist/hooks/__tests__/tmux-hook-engine-types-sync.test.js.map +1 -0
  108. package/dist/hooks/agents-overlay.d.ts.map +1 -1
  109. package/dist/hooks/agents-overlay.js +46 -2
  110. package/dist/hooks/agents-overlay.js.map +1 -1
  111. package/dist/hooks/code-simplifier/__tests__/index.test.js +67 -15
  112. package/dist/hooks/code-simplifier/__tests__/index.test.js.map +1 -1
  113. package/dist/hooks/code-simplifier/index.d.ts +10 -4
  114. package/dist/hooks/code-simplifier/index.d.ts.map +1 -1
  115. package/dist/hooks/code-simplifier/index.js +38 -12
  116. package/dist/hooks/code-simplifier/index.js.map +1 -1
  117. package/dist/hooks/codebase-map.d.ts.map +1 -1
  118. package/dist/hooks/codebase-map.js +5 -32
  119. package/dist/hooks/codebase-map.js.map +1 -1
  120. package/dist/hooks/emulator.d.ts.map +1 -1
  121. package/dist/hooks/emulator.js +11 -18
  122. package/dist/hooks/emulator.js.map +1 -1
  123. package/dist/hooks/extensibility/__tests__/dispatcher.test.js +59 -1
  124. package/dist/hooks/extensibility/__tests__/dispatcher.test.js.map +1 -1
  125. package/dist/hooks/extensibility/__tests__/loader.test.js +19 -0
  126. package/dist/hooks/extensibility/__tests__/loader.test.js.map +1 -1
  127. package/dist/hooks/extensibility/dispatcher.d.ts.map +1 -1
  128. package/dist/hooks/extensibility/dispatcher.js +51 -39
  129. package/dist/hooks/extensibility/dispatcher.js.map +1 -1
  130. package/dist/hooks/extensibility/loader.d.ts.map +1 -1
  131. package/dist/hooks/extensibility/loader.js +25 -13
  132. package/dist/hooks/extensibility/loader.js.map +1 -1
  133. package/dist/hooks/extensibility/logging.d.ts.map +1 -1
  134. package/dist/hooks/extensibility/logging.js +6 -1
  135. package/dist/hooks/extensibility/logging.js.map +1 -1
  136. package/dist/hooks/extensibility/sdk.js.map +1 -1
  137. package/dist/hooks/keyword-detector.d.ts +87 -0
  138. package/dist/hooks/keyword-detector.d.ts.map +1 -1
  139. package/dist/hooks/keyword-detector.js +235 -23
  140. package/dist/hooks/keyword-detector.js.map +1 -1
  141. package/dist/hooks/keyword-registry.d.ts +15 -0
  142. package/dist/hooks/keyword-registry.d.ts.map +1 -0
  143. package/dist/hooks/keyword-registry.js +41 -0
  144. package/dist/hooks/keyword-registry.js.map +1 -0
  145. package/dist/hooks/session.d.ts +18 -2
  146. package/dist/hooks/session.d.ts.map +1 -1
  147. package/dist/hooks/session.js +84 -11
  148. package/dist/hooks/session.js.map +1 -1
  149. package/dist/hooks/task-size-detector.d.ts +72 -0
  150. package/dist/hooks/task-size-detector.d.ts.map +1 -0
  151. package/dist/hooks/task-size-detector.js +204 -0
  152. package/dist/hooks/task-size-detector.js.map +1 -0
  153. package/dist/hud/__tests__/colors.test.js +1 -103
  154. package/dist/hud/__tests__/colors.test.js.map +1 -1
  155. package/dist/hud/__tests__/index.test.d.ts +2 -0
  156. package/dist/hud/__tests__/index.test.d.ts.map +1 -0
  157. package/dist/hud/__tests__/index.test.js +131 -0
  158. package/dist/hud/__tests__/index.test.js.map +1 -0
  159. package/dist/hud/__tests__/render.test.js +53 -0
  160. package/dist/hud/__tests__/render.test.js.map +1 -1
  161. package/dist/hud/__tests__/watch.test.d.ts +2 -0
  162. package/dist/hud/__tests__/watch.test.d.ts.map +1 -0
  163. package/dist/hud/__tests__/watch.test.js +63 -0
  164. package/dist/hud/__tests__/watch.test.js.map +1 -0
  165. package/dist/hud/colors.d.ts +2 -9
  166. package/dist/hud/colors.d.ts.map +1 -1
  167. package/dist/hud/colors.js +19 -34
  168. package/dist/hud/colors.js.map +1 -1
  169. package/dist/hud/constants.d.ts +1 -0
  170. package/dist/hud/constants.d.ts.map +1 -1
  171. package/dist/hud/constants.js +1 -0
  172. package/dist/hud/constants.js.map +1 -1
  173. package/dist/hud/index.d.ts +27 -0
  174. package/dist/hud/index.d.ts.map +1 -1
  175. package/dist/hud/index.js +149 -9
  176. package/dist/hud/index.js.map +1 -1
  177. package/dist/hud/render.d.ts.map +1 -1
  178. package/dist/hud/render.js +20 -7
  179. package/dist/hud/render.js.map +1 -1
  180. package/dist/mcp/__tests__/bootstrap.test.d.ts +2 -0
  181. package/dist/mcp/__tests__/bootstrap.test.d.ts.map +1 -0
  182. package/dist/mcp/__tests__/bootstrap.test.js +25 -0
  183. package/dist/mcp/__tests__/bootstrap.test.js.map +1 -0
  184. package/dist/mcp/__tests__/code-intel-server.test.d.ts +2 -0
  185. package/dist/mcp/__tests__/code-intel-server.test.d.ts.map +1 -0
  186. package/dist/mcp/__tests__/code-intel-server.test.js +43 -0
  187. package/dist/mcp/__tests__/code-intel-server.test.js.map +1 -0
  188. package/dist/mcp/__tests__/memory-server.test.d.ts +2 -0
  189. package/dist/mcp/__tests__/memory-server.test.d.ts.map +1 -0
  190. package/dist/mcp/__tests__/memory-server.test.js +34 -0
  191. package/dist/mcp/__tests__/memory-server.test.js.map +1 -0
  192. package/dist/mcp/__tests__/memory-validation.test.d.ts +2 -0
  193. package/dist/mcp/__tests__/memory-validation.test.d.ts.map +1 -0
  194. package/dist/mcp/__tests__/memory-validation.test.js +29 -0
  195. package/dist/mcp/__tests__/memory-validation.test.js.map +1 -0
  196. package/dist/mcp/__tests__/path-traversal.test.js +55 -0
  197. package/dist/mcp/__tests__/path-traversal.test.js.map +1 -1
  198. package/dist/mcp/__tests__/state-paths.test.js +43 -6
  199. package/dist/mcp/__tests__/state-paths.test.js.map +1 -1
  200. package/dist/mcp/__tests__/state-server-ralph-phase.test.js +50 -0
  201. package/dist/mcp/__tests__/state-server-ralph-phase.test.js.map +1 -1
  202. package/dist/mcp/__tests__/state-server-schema.test.js +3 -7
  203. package/dist/mcp/__tests__/state-server-schema.test.js.map +1 -1
  204. package/dist/mcp/__tests__/state-server.test.js +30 -1
  205. package/dist/mcp/__tests__/state-server.test.js.map +1 -1
  206. package/dist/mcp/__tests__/trace-server.test.js +58 -0
  207. package/dist/mcp/__tests__/trace-server.test.js.map +1 -1
  208. package/dist/mcp/bootstrap.d.ts +3 -0
  209. package/dist/mcp/bootstrap.d.ts.map +1 -0
  210. package/dist/mcp/bootstrap.js +13 -0
  211. package/dist/mcp/bootstrap.js.map +1 -0
  212. package/dist/mcp/code-intel-server.d.ts +8 -0
  213. package/dist/mcp/code-intel-server.d.ts.map +1 -1
  214. package/dist/mcp/code-intel-server.js +50 -24
  215. package/dist/mcp/code-intel-server.js.map +1 -1
  216. package/dist/mcp/memory-server.js +34 -13
  217. package/dist/mcp/memory-server.js.map +1 -1
  218. package/dist/mcp/memory-validation.d.ts +9 -0
  219. package/dist/mcp/memory-validation.d.ts.map +1 -0
  220. package/dist/mcp/memory-validation.js +11 -0
  221. package/dist/mcp/memory-validation.js.map +1 -0
  222. package/dist/mcp/state-paths.d.ts +2 -0
  223. package/dist/mcp/state-paths.d.ts.map +1 -1
  224. package/dist/mcp/state-paths.js +83 -12
  225. package/dist/mcp/state-paths.js.map +1 -1
  226. package/dist/mcp/state-server.d.ts.map +1 -1
  227. package/dist/mcp/state-server.js +85 -47
  228. package/dist/mcp/state-server.js.map +1 -1
  229. package/dist/mcp/trace-server.d.ts +16 -0
  230. package/dist/mcp/trace-server.d.ts.map +1 -1
  231. package/dist/mcp/trace-server.js +84 -24
  232. package/dist/mcp/trace-server.js.map +1 -1
  233. package/dist/modes/__tests__/base-ralph-contract.test.d.ts +2 -0
  234. package/dist/modes/__tests__/base-ralph-contract.test.d.ts.map +1 -0
  235. package/dist/modes/__tests__/base-ralph-contract.test.js +49 -0
  236. package/dist/modes/__tests__/base-ralph-contract.test.js.map +1 -0
  237. package/dist/modes/__tests__/base-tmux-pane.test.js +13 -1
  238. package/dist/modes/__tests__/base-tmux-pane.test.js.map +1 -1
  239. package/dist/modes/base.d.ts +0 -4
  240. package/dist/modes/base.d.ts.map +1 -1
  241. package/dist/modes/base.js +31 -11
  242. package/dist/modes/base.js.map +1 -1
  243. package/dist/notifications/__tests__/config.test.js +47 -1
  244. package/dist/notifications/__tests__/config.test.js.map +1 -1
  245. package/dist/notifications/__tests__/formatter.test.js +54 -2
  246. package/dist/notifications/__tests__/formatter.test.js.map +1 -1
  247. package/dist/notifications/__tests__/hook-config.test.d.ts +5 -0
  248. package/dist/notifications/__tests__/hook-config.test.d.ts.map +1 -0
  249. package/dist/notifications/__tests__/hook-config.test.js +139 -0
  250. package/dist/notifications/__tests__/hook-config.test.js.map +1 -0
  251. package/dist/notifications/__tests__/idle-cooldown.test.d.ts +5 -0
  252. package/dist/notifications/__tests__/idle-cooldown.test.d.ts.map +1 -0
  253. package/dist/notifications/__tests__/idle-cooldown.test.js +100 -0
  254. package/dist/notifications/__tests__/idle-cooldown.test.js.map +1 -0
  255. package/dist/notifications/__tests__/notifier.test.js +89 -1
  256. package/dist/notifications/__tests__/notifier.test.js.map +1 -1
  257. package/dist/notifications/__tests__/reply-config.test.d.ts +2 -0
  258. package/dist/notifications/__tests__/reply-config.test.d.ts.map +1 -0
  259. package/dist/notifications/__tests__/reply-config.test.js +79 -0
  260. package/dist/notifications/__tests__/reply-config.test.js.map +1 -0
  261. package/dist/notifications/__tests__/reply-listener.test.js +35 -1
  262. package/dist/notifications/__tests__/reply-listener.test.js.map +1 -1
  263. package/dist/notifications/__tests__/session-registry.test.js +40 -0
  264. package/dist/notifications/__tests__/session-registry.test.js.map +1 -1
  265. package/dist/notifications/__tests__/template-engine.test.d.ts +5 -0
  266. package/dist/notifications/__tests__/template-engine.test.d.ts.map +1 -0
  267. package/dist/notifications/__tests__/template-engine.test.js +147 -0
  268. package/dist/notifications/__tests__/template-engine.test.js.map +1 -0
  269. package/dist/notifications/config.d.ts +8 -0
  270. package/dist/notifications/config.d.ts.map +1 -1
  271. package/dist/notifications/config.js +110 -19
  272. package/dist/notifications/config.js.map +1 -1
  273. package/dist/notifications/formatter.d.ts +5 -0
  274. package/dist/notifications/formatter.d.ts.map +1 -1
  275. package/dist/notifications/formatter.js +45 -10
  276. package/dist/notifications/formatter.js.map +1 -1
  277. package/dist/notifications/hook-config-types.d.ts +43 -0
  278. package/dist/notifications/hook-config-types.d.ts.map +1 -0
  279. package/dist/notifications/hook-config-types.js +8 -0
  280. package/dist/notifications/hook-config-types.js.map +1 -0
  281. package/dist/notifications/hook-config.d.ts +40 -0
  282. package/dist/notifications/hook-config.d.ts.map +1 -0
  283. package/dist/notifications/hook-config.js +127 -0
  284. package/dist/notifications/hook-config.js.map +1 -0
  285. package/dist/notifications/idle-cooldown.d.ts +35 -0
  286. package/dist/notifications/idle-cooldown.d.ts.map +1 -0
  287. package/dist/notifications/idle-cooldown.js +108 -0
  288. package/dist/notifications/idle-cooldown.js.map +1 -0
  289. package/dist/notifications/index.d.ts +3 -0
  290. package/dist/notifications/index.d.ts.map +1 -1
  291. package/dist/notifications/index.js +43 -1
  292. package/dist/notifications/index.js.map +1 -1
  293. package/dist/notifications/notifier.d.ts +9 -0
  294. package/dist/notifications/notifier.d.ts.map +1 -1
  295. package/dist/notifications/notifier.js +36 -30
  296. package/dist/notifications/notifier.js.map +1 -1
  297. package/dist/notifications/reply-listener.d.ts +3 -0
  298. package/dist/notifications/reply-listener.d.ts.map +1 -1
  299. package/dist/notifications/reply-listener.js +61 -7
  300. package/dist/notifications/reply-listener.js.map +1 -1
  301. package/dist/notifications/session-registry.d.ts +1 -1
  302. package/dist/notifications/session-registry.d.ts.map +1 -1
  303. package/dist/notifications/session-registry.js +18 -6
  304. package/dist/notifications/session-registry.js.map +1 -1
  305. package/dist/notifications/template-engine.d.ts +34 -0
  306. package/dist/notifications/template-engine.d.ts.map +1 -0
  307. package/dist/notifications/template-engine.js +246 -0
  308. package/dist/notifications/template-engine.js.map +1 -0
  309. package/dist/notifications/types.d.ts +6 -0
  310. package/dist/notifications/types.d.ts.map +1 -1
  311. package/dist/openclaw/__tests__/config.test.d.ts +6 -0
  312. package/dist/openclaw/__tests__/config.test.d.ts.map +1 -0
  313. package/dist/openclaw/__tests__/config.test.js +174 -0
  314. package/dist/openclaw/__tests__/config.test.js.map +1 -0
  315. package/dist/openclaw/__tests__/dispatcher.test.d.ts +5 -0
  316. package/dist/openclaw/__tests__/dispatcher.test.d.ts.map +1 -0
  317. package/dist/openclaw/__tests__/dispatcher.test.js +104 -0
  318. package/dist/openclaw/__tests__/dispatcher.test.js.map +1 -0
  319. package/dist/openclaw/__tests__/index.test.d.ts +6 -0
  320. package/dist/openclaw/__tests__/index.test.d.ts.map +1 -0
  321. package/dist/openclaw/__tests__/index.test.js +131 -0
  322. package/dist/openclaw/__tests__/index.test.js.map +1 -0
  323. package/dist/openclaw/config.d.ts +37 -0
  324. package/dist/openclaw/config.d.ts.map +1 -0
  325. package/dist/openclaw/config.js +106 -0
  326. package/dist/openclaw/config.js.map +1 -0
  327. package/dist/openclaw/dispatcher.d.ts +63 -0
  328. package/dist/openclaw/dispatcher.d.ts.map +1 -0
  329. package/dist/openclaw/dispatcher.js +223 -0
  330. package/dist/openclaw/dispatcher.js.map +1 -0
  331. package/dist/openclaw/index.d.ts +27 -0
  332. package/dist/openclaw/index.d.ts.map +1 -0
  333. package/dist/openclaw/index.js +130 -0
  334. package/dist/openclaw/index.js.map +1 -0
  335. package/dist/openclaw/types.d.ts +105 -0
  336. package/dist/openclaw/types.d.ts.map +1 -0
  337. package/dist/openclaw/types.js +12 -0
  338. package/dist/openclaw/types.js.map +1 -0
  339. package/dist/ralph/contract.d.ts.map +1 -1
  340. package/dist/ralph/contract.js +13 -4
  341. package/dist/ralph/contract.js.map +1 -1
  342. package/dist/team/__tests__/phase-controller.test.js +14 -0
  343. package/dist/team/__tests__/phase-controller.test.js.map +1 -1
  344. package/dist/team/__tests__/runtime.test.js +328 -1
  345. package/dist/team/__tests__/runtime.test.js.map +1 -1
  346. package/dist/team/__tests__/scaling.test.d.ts +2 -0
  347. package/dist/team/__tests__/scaling.test.d.ts.map +1 -0
  348. package/dist/team/__tests__/scaling.test.js +295 -0
  349. package/dist/team/__tests__/scaling.test.js.map +1 -0
  350. package/dist/team/__tests__/state.test.js +62 -1
  351. package/dist/team/__tests__/state.test.js.map +1 -1
  352. package/dist/team/__tests__/tmux-session.test.js +219 -14
  353. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  354. package/dist/team/__tests__/worker-bootstrap.test.js +4 -0
  355. package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
  356. package/dist/team/contracts.d.ts +14 -0
  357. package/dist/team/contracts.d.ts.map +1 -0
  358. package/dist/team/contracts.js +30 -0
  359. package/dist/team/contracts.js.map +1 -0
  360. package/dist/team/model-contract.d.ts +1 -0
  361. package/dist/team/model-contract.d.ts.map +1 -1
  362. package/dist/team/model-contract.js +5 -1
  363. package/dist/team/model-contract.js.map +1 -1
  364. package/dist/team/phase-controller.d.ts +2 -0
  365. package/dist/team/phase-controller.d.ts.map +1 -1
  366. package/dist/team/phase-controller.js +16 -2
  367. package/dist/team/phase-controller.js.map +1 -1
  368. package/dist/team/runtime.d.ts.map +1 -1
  369. package/dist/team/runtime.js +356 -65
  370. package/dist/team/runtime.js.map +1 -1
  371. package/dist/team/scaling.d.ts +58 -0
  372. package/dist/team/scaling.d.ts.map +1 -0
  373. package/dist/team/scaling.js +319 -0
  374. package/dist/team/scaling.js.map +1 -0
  375. package/dist/team/state.d.ts +11 -2
  376. package/dist/team/state.d.ts.map +1 -1
  377. package/dist/team/state.js +97 -27
  378. package/dist/team/state.js.map +1 -1
  379. package/dist/team/team-ops.d.ts +2 -0
  380. package/dist/team/team-ops.d.ts.map +1 -1
  381. package/dist/team/team-ops.js +4 -0
  382. package/dist/team/team-ops.js.map +1 -1
  383. package/dist/team/tmux-session.d.ts +34 -5
  384. package/dist/team/tmux-session.d.ts.map +1 -1
  385. package/dist/team/tmux-session.js +177 -49
  386. package/dist/team/tmux-session.js.map +1 -1
  387. package/dist/team/worker-bootstrap.d.ts.map +1 -1
  388. package/dist/team/worker-bootstrap.js +20 -0
  389. package/dist/team/worker-bootstrap.js.map +1 -1
  390. package/dist/utils/__tests__/paths.test.js +8 -1
  391. package/dist/utils/__tests__/paths.test.js.map +1 -1
  392. package/dist/utils/paths.d.ts.map +1 -1
  393. package/dist/utils/paths.js +14 -6
  394. package/dist/utils/paths.js.map +1 -1
  395. package/dist/verification/__tests__/verifier.test.js +20 -1
  396. package/dist/verification/__tests__/verifier.test.js.map +1 -1
  397. package/dist/verification/verifier.d.ts +5 -0
  398. package/dist/verification/verifier.d.ts.map +1 -1
  399. package/dist/verification/verifier.js +19 -0
  400. package/dist/verification/verifier.js.map +1 -1
  401. package/package.json +2 -1
  402. package/prompts/architect.md +11 -0
  403. package/prompts/critic.md +14 -1
  404. package/prompts/planner.md +21 -0
  405. package/scripts/notify-hook/auto-nudge.js +80 -1
  406. package/scripts/notify-hook/payload-parser.js +21 -0
  407. package/scripts/notify-hook/team-worker.js +142 -0
  408. package/scripts/notify-hook/tmux-injection.js +3 -3
  409. package/scripts/notify-hook.js +55 -4
  410. package/skills/configure-notifications/SKILL.md +278 -0
  411. package/skills/configure-openclaw/SKILL.md +267 -0
  412. package/skills/configure-slack/SKILL.md +226 -0
  413. package/skills/omx-setup/SKILL.md +14 -19
  414. package/skills/plan/SKILL.md +57 -33
  415. package/skills/ralplan/SKILL.md +107 -21
  416. package/skills/team/SKILL.md +10 -1
  417. package/templates/AGENTS.md +11 -3
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/team/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/team/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Dynamic worker scaling for team mode — Phase 1: Manual Scaling.
3
+ *
4
+ * Provides scale_up (add workers mid-session) and scale_down (drain + remove idle workers).
5
+ * Gated behind the OMX_TEAM_SCALING_ENABLED environment variable.
6
+ *
7
+ * Key design decisions:
8
+ * - Monotonic worker index counter (next_worker_index in config) ensures unique names
9
+ * - File-based scaling lock prevents concurrent scale operations
10
+ * - 'draining' worker status for graceful transitions during scale_down
11
+ */
12
+ import { type WorkerInfo } from './team-ops.js';
13
+ export declare function isScalingEnabled(env?: NodeJS.ProcessEnv): boolean;
14
+ export interface ScaleUpResult {
15
+ ok: true;
16
+ addedWorkers: WorkerInfo[];
17
+ newWorkerCount: number;
18
+ nextWorkerIndex: number;
19
+ }
20
+ export interface ScaleDownResult {
21
+ ok: true;
22
+ removedWorkers: string[];
23
+ newWorkerCount: number;
24
+ }
25
+ export interface ScaleError {
26
+ ok: false;
27
+ error: string;
28
+ }
29
+ /**
30
+ * Add workers to a running team mid-session.
31
+ *
32
+ * Acquires the file-based scaling lock, reads the current config,
33
+ * validates capacity, creates new tmux panes, and bootstraps workers.
34
+ */
35
+ export declare function scaleUp(teamName: string, count: number, agentType: string, tasks: Array<{
36
+ subject: string;
37
+ description: string;
38
+ owner?: string;
39
+ blocked_by?: string[];
40
+ }>, cwd: string, env?: NodeJS.ProcessEnv): Promise<ScaleUpResult | ScaleError>;
41
+ export interface ScaleDownOptions {
42
+ /** Worker names to remove. If empty, removes idle workers up to `count`. */
43
+ workerNames?: string[];
44
+ /** Number of idle workers to remove (used when workerNames is not specified). */
45
+ count?: number;
46
+ /** Force kill without waiting for drain. Default: false. */
47
+ force?: boolean;
48
+ /** Drain timeout in milliseconds. Default: 30000. */
49
+ drainTimeoutMs?: number;
50
+ }
51
+ /**
52
+ * Remove workers from a running team.
53
+ *
54
+ * Sets targeted workers to 'draining' status, waits for them to finish
55
+ * current work (or force kills), then removes tmux panes and updates config.
56
+ */
57
+ export declare function scaleDown(teamName: string, cwd: string, options?: ScaleDownOptions, env?: NodeJS.ProcessEnv): Promise<ScaleDownResult | ScaleError>;
58
+ //# sourceMappingURL=scaling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaling.d.ts","sourceRoot":"","sources":["../../src/team/scaling.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAgBH,OAAO,EAQL,KAAK,UAAU,EAEhB,MAAM,eAAe,CAAC;AAsBvB,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAK9E;AAYD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,IAAI,CAAC;IACT,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,IAAI,CAAC;IACT,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf;AAID;;;;;GAKG;AACH,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,EAC7F,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,aAAa,GAAG,UAAU,CAAC,CA+JrC;AAID,MAAM,WAAW,gBAAgB;IAC/B,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qDAAqD;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,gBAAqB,EAC9B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,eAAe,GAAG,UAAU,CAAC,CA2HvC"}
@@ -0,0 +1,319 @@
1
+ /**
2
+ * Dynamic worker scaling for team mode — Phase 1: Manual Scaling.
3
+ *
4
+ * Provides scale_up (add workers mid-session) and scale_down (drain + remove idle workers).
5
+ * Gated behind the OMX_TEAM_SCALING_ENABLED environment variable.
6
+ *
7
+ * Key design decisions:
8
+ * - Monotonic worker index counter (next_worker_index in config) ensures unique names
9
+ * - File-based scaling lock prevents concurrent scale operations
10
+ * - 'draining' worker status for graceful transitions during scale_down
11
+ */
12
+ import { join, resolve } from 'path';
13
+ import { mkdir } from 'fs/promises';
14
+ import { sanitizeTeamName, isTmuxAvailable, waitForWorkerReady, sendToWorker, isWorkerAlive, getWorkerPanePid, killWorker, buildWorkerStartupCommand, resolveTeamWorkerCliPlan, } from './tmux-session.js';
15
+ import { spawnSync } from 'child_process';
16
+ import { teamReadConfig as readTeamConfig, teamSaveConfig as saveTeamConfig, teamWriteWorkerIdentity as writeWorkerIdentity, teamReadWorkerStatus as readWorkerStatus, teamWriteWorkerStatus as writeWorkerStatus, teamWithScalingLock as withScalingLock, teamAppendEvent as appendTeamEvent, } from './team-ops.js';
17
+ import { queueInboxInstruction, } from './mcp-comm.js';
18
+ import { generateInitialInbox, generateTriggerMessage, } from './worker-bootstrap.js';
19
+ import { resolveTeamWorkerLaunchArgs, isLowComplexityAgentType, TEAM_LOW_COMPLEXITY_DEFAULT_MODEL, } from './model-contract.js';
20
+ // Inlined to avoid circular dependency with runtime.ts
21
+ function resolveCanonicalTeamStateRoot(leaderCwd) {
22
+ return resolve(join(leaderCwd, '.omx', 'state'));
23
+ }
24
+ // ── Environment gate ──────────────────────────────────────────────────────────
25
+ const OMX_TEAM_SCALING_ENABLED_ENV = 'OMX_TEAM_SCALING_ENABLED';
26
+ export function isScalingEnabled(env = process.env) {
27
+ const raw = env[OMX_TEAM_SCALING_ENABLED_ENV];
28
+ if (!raw)
29
+ return false;
30
+ const normalized = raw.trim().toLowerCase();
31
+ return ['1', 'true', 'yes', 'on', 'enabled'].includes(normalized);
32
+ }
33
+ function assertScalingEnabled(env = process.env) {
34
+ if (!isScalingEnabled(env)) {
35
+ throw new Error(`Dynamic scaling is disabled. Set ${OMX_TEAM_SCALING_ENABLED_ENV}=1 to enable.`);
36
+ }
37
+ }
38
+ // ── Scale Up ──────────────────────────────────────────────────────────────────
39
+ /**
40
+ * Add workers to a running team mid-session.
41
+ *
42
+ * Acquires the file-based scaling lock, reads the current config,
43
+ * validates capacity, creates new tmux panes, and bootstraps workers.
44
+ */
45
+ export async function scaleUp(teamName, count, agentType, tasks, cwd, env = process.env) {
46
+ assertScalingEnabled(env);
47
+ if (!Number.isInteger(count) || count < 1) {
48
+ return { ok: false, error: `count must be a positive integer (got ${count})` };
49
+ }
50
+ if (!isTmuxAvailable()) {
51
+ return { ok: false, error: 'tmux is not available' };
52
+ }
53
+ const sanitized = sanitizeTeamName(teamName);
54
+ const leaderCwd = resolve(cwd);
55
+ return await withScalingLock(sanitized, leaderCwd, async () => {
56
+ const config = await readTeamConfig(sanitized, leaderCwd);
57
+ if (!config) {
58
+ return { ok: false, error: `Team ${sanitized} not found` };
59
+ }
60
+ const maxWorkers = config.max_workers;
61
+ const currentCount = config.workers.length;
62
+ if (currentCount + count > maxWorkers) {
63
+ return {
64
+ ok: false,
65
+ error: `Cannot add ${count} workers: would exceed max_workers (${currentCount} + ${count} > ${maxWorkers})`,
66
+ };
67
+ }
68
+ const teamStateRoot = config.team_state_root ?? resolveCanonicalTeamStateRoot(leaderCwd);
69
+ const sessionName = config.tmux_session;
70
+ // Resolve the monotonic worker index counter
71
+ let nextIndex = config.next_worker_index ?? (currentCount + 1);
72
+ const addedWorkers = [];
73
+ // Resolve worker launch args
74
+ const workerLaunchArgs = resolveWorkerLaunchArgsForScaling(env, agentType);
75
+ const workerCliPlan = resolveTeamWorkerCliPlan(count, workerLaunchArgs, env);
76
+ for (let i = 0; i < count; i++) {
77
+ const workerIndex = nextIndex;
78
+ nextIndex++;
79
+ const workerName = `worker-${workerIndex}`;
80
+ // Create worker directory
81
+ const workerDirPath = join(leaderCwd, '.omx', 'state', 'team', sanitized, 'workers', workerName);
82
+ await mkdir(workerDirPath, { recursive: true });
83
+ // Build startup command and create tmux pane
84
+ const extraEnv = {
85
+ OMX_TEAM_STATE_ROOT: teamStateRoot,
86
+ OMX_TEAM_LEADER_CWD: leaderCwd,
87
+ };
88
+ const cmd = buildWorkerStartupCommand(sanitized, workerIndex, workerLaunchArgs, leaderCwd, extraEnv, workerCliPlan[i]);
89
+ // Find the right-most worker pane to split from, or leader pane
90
+ const splitTarget = config.workers.length > 0
91
+ ? (config.workers[config.workers.length - 1]?.pane_id ?? config.leader_pane_id ?? '')
92
+ : (config.leader_pane_id ?? '');
93
+ const result = spawnSync('tmux', [
94
+ 'split-window', '-v', '-t', splitTarget, '-d', '-P', '-F', '#{pane_id}', '-c', leaderCwd, cmd,
95
+ ], { encoding: 'utf-8' });
96
+ if (result.status !== 0) {
97
+ return { ok: false, error: `Failed to create tmux pane for ${workerName}: ${(result.stderr || '').trim()}` };
98
+ }
99
+ const paneId = (result.stdout || '').trim().split('\n')[0]?.trim();
100
+ if (!paneId || !paneId.startsWith('%')) {
101
+ return { ok: false, error: `Failed to capture pane ID for ${workerName}` };
102
+ }
103
+ // Re-layout to keep things tidy
104
+ spawnSync('tmux', ['select-layout', '-t', sessionName, 'tiled'], { encoding: 'utf-8' });
105
+ // Get PID
106
+ const panePid = getWorkerPanePid(sessionName, workerIndex, paneId);
107
+ const workerInfo = {
108
+ name: workerName,
109
+ index: workerIndex,
110
+ role: agentType,
111
+ worker_cli: workerCliPlan[i],
112
+ assigned_tasks: [],
113
+ pid: panePid ?? undefined,
114
+ pane_id: paneId,
115
+ working_dir: leaderCwd,
116
+ team_state_root: teamStateRoot,
117
+ };
118
+ await writeWorkerIdentity(sanitized, workerName, workerInfo, leaderCwd);
119
+ // Wait for worker readiness
120
+ const readyTimeoutMs = resolveWorkerReadyTimeoutMs(env);
121
+ const skipReadyWait = env.OMX_TEAM_SKIP_READY_WAIT === '1';
122
+ if (!skipReadyWait) {
123
+ const ready = waitForWorkerReady(sessionName, workerIndex, readyTimeoutMs, paneId);
124
+ if (!ready) {
125
+ console.log(`[omx:scaling] Warning: worker ${workerName} did not become ready within timeout`);
126
+ }
127
+ }
128
+ // Get assigned tasks for this worker
129
+ const workerTasks = tasks.filter(t => t.owner === workerName);
130
+ const inbox = generateInitialInbox(workerName, sanitized, agentType, workerTasks.map((t, idx) => ({
131
+ id: String(idx + 1),
132
+ subject: t.subject,
133
+ description: t.description,
134
+ status: 'pending',
135
+ blocked_by: t.blocked_by,
136
+ created_at: new Date().toISOString(),
137
+ })), {
138
+ teamStateRoot,
139
+ leaderCwd,
140
+ });
141
+ const trigger = generateTriggerMessage(workerName, sanitized);
142
+ await queueInboxInstruction({
143
+ teamName: sanitized,
144
+ workerName,
145
+ workerIndex,
146
+ paneId,
147
+ inbox,
148
+ triggerMessage: trigger,
149
+ cwd: leaderCwd,
150
+ notify: (_target, message) => notifyWorkerPane(sessionName, workerIndex, message, paneId, workerCliPlan[i]),
151
+ });
152
+ addedWorkers.push(workerInfo);
153
+ config.workers.push(workerInfo);
154
+ }
155
+ // Update config with new workers and next_worker_index
156
+ config.worker_count = config.workers.length;
157
+ config.next_worker_index = nextIndex;
158
+ await saveTeamConfig(config, leaderCwd);
159
+ await appendTeamEvent(sanitized, {
160
+ type: 'team_leader_nudge',
161
+ worker: 'leader-fixed',
162
+ reason: `scale_up: added ${count} worker(s), new count=${config.worker_count}`,
163
+ }, leaderCwd);
164
+ return {
165
+ ok: true,
166
+ addedWorkers,
167
+ newWorkerCount: config.worker_count,
168
+ nextWorkerIndex: nextIndex,
169
+ };
170
+ });
171
+ }
172
+ /**
173
+ * Remove workers from a running team.
174
+ *
175
+ * Sets targeted workers to 'draining' status, waits for them to finish
176
+ * current work (or force kills), then removes tmux panes and updates config.
177
+ */
178
+ export async function scaleDown(teamName, cwd, options = {}, env = process.env) {
179
+ assertScalingEnabled(env);
180
+ const sanitized = sanitizeTeamName(teamName);
181
+ const leaderCwd = resolve(cwd);
182
+ const force = options.force === true;
183
+ const drainTimeoutMs = options.drainTimeoutMs ?? 30_000;
184
+ return await withScalingLock(sanitized, leaderCwd, async () => {
185
+ const config = await readTeamConfig(sanitized, leaderCwd);
186
+ if (!config) {
187
+ return { ok: false, error: `Team ${sanitized} not found` };
188
+ }
189
+ // Determine which workers to remove
190
+ let targetWorkers;
191
+ if (options.workerNames && options.workerNames.length > 0) {
192
+ targetWorkers = [];
193
+ for (const name of options.workerNames) {
194
+ const w = config.workers.find(w => w.name === name);
195
+ if (!w) {
196
+ return { ok: false, error: `Worker ${name} not found in team ${sanitized}` };
197
+ }
198
+ targetWorkers.push(w);
199
+ }
200
+ }
201
+ else {
202
+ const count = options.count ?? 1;
203
+ if (!Number.isInteger(count) || count < 1) {
204
+ return { ok: false, error: `count must be a positive integer (got ${count})` };
205
+ }
206
+ // Find idle workers to remove
207
+ const idleWorkers = [];
208
+ for (const w of config.workers) {
209
+ const status = await readWorkerStatus(sanitized, w.name, leaderCwd);
210
+ if (status.state === 'idle' || status.state === 'done' || status.state === 'unknown') {
211
+ idleWorkers.push(w);
212
+ }
213
+ }
214
+ if (idleWorkers.length < count && !force) {
215
+ return {
216
+ ok: false,
217
+ error: `Not enough idle workers to remove: found ${idleWorkers.length}, requested ${count}. Use force=true to remove busy workers.`,
218
+ };
219
+ }
220
+ targetWorkers = idleWorkers.slice(0, count);
221
+ if (force && targetWorkers.length < count) {
222
+ // Add non-idle workers if force is enabled
223
+ const remaining = count - targetWorkers.length;
224
+ const targetNames = new Set(targetWorkers.map(w => w.name));
225
+ const nonIdle = config.workers.filter(w => !targetNames.has(w.name));
226
+ targetWorkers.push(...nonIdle.slice(0, remaining));
227
+ }
228
+ }
229
+ if (targetWorkers.length === 0) {
230
+ return { ok: false, error: 'No workers selected for removal' };
231
+ }
232
+ // Minimum worker guard: must keep at least 1 worker
233
+ if (config.workers.length - targetWorkers.length < 1) {
234
+ return { ok: false, error: 'Cannot remove all workers — at least 1 must remain' };
235
+ }
236
+ const sessionName = config.tmux_session;
237
+ const removedNames = [];
238
+ // Phase 1: Set workers to 'draining' status
239
+ for (const w of targetWorkers) {
240
+ const drainingStatus = {
241
+ state: 'draining',
242
+ reason: 'scale_down requested by leader',
243
+ updated_at: new Date().toISOString(),
244
+ };
245
+ await writeWorkerStatus(sanitized, w.name, drainingStatus, leaderCwd);
246
+ }
247
+ // Phase 2: Wait for draining workers to finish or timeout
248
+ if (!force) {
249
+ const deadline = Date.now() + drainTimeoutMs;
250
+ while (Date.now() < deadline) {
251
+ const allDrained = await Promise.all(targetWorkers.map(async (w) => {
252
+ const status = await readWorkerStatus(sanitized, w.name, leaderCwd);
253
+ return status.state === 'idle' || status.state === 'done' ||
254
+ status.state === 'draining' || !isWorkerAlive(sessionName, w.index, w.pane_id);
255
+ }));
256
+ if (allDrained.every(Boolean))
257
+ break;
258
+ await new Promise(r => setTimeout(r, 2_000));
259
+ }
260
+ }
261
+ // Phase 3: Kill tmux panes and remove from config
262
+ const leaderPaneId = config.leader_pane_id;
263
+ for (const w of targetWorkers) {
264
+ // Guard: never kill leader or HUD panes
265
+ if (leaderPaneId && w.pane_id === leaderPaneId)
266
+ continue;
267
+ if (config.hud_pane_id && w.pane_id === config.hud_pane_id)
268
+ continue;
269
+ if (isWorkerAlive(sessionName, w.index, w.pane_id)) {
270
+ killWorker(sessionName, w.index, w.pane_id, leaderPaneId ?? undefined);
271
+ }
272
+ removedNames.push(w.name);
273
+ }
274
+ // Phase 4: Update config
275
+ const removedSet = new Set(removedNames);
276
+ config.workers = config.workers.filter(w => !removedSet.has(w.name));
277
+ config.worker_count = config.workers.length;
278
+ await saveTeamConfig(config, leaderCwd);
279
+ await appendTeamEvent(sanitized, {
280
+ type: 'team_leader_nudge',
281
+ worker: 'leader-fixed',
282
+ reason: `scale_down: removed ${removedNames.length} worker(s) [${removedNames.join(', ')}], new count=${config.worker_count}`,
283
+ }, leaderCwd);
284
+ return {
285
+ ok: true,
286
+ removedWorkers: removedNames,
287
+ newWorkerCount: config.worker_count,
288
+ };
289
+ });
290
+ }
291
+ // ── Helpers ───────────────────────────────────────────────────────────────────
292
+ function resolveWorkerReadyTimeoutMs(env) {
293
+ const raw = env.OMX_TEAM_READY_TIMEOUT_MS;
294
+ const parsed = Number.parseInt(String(raw ?? ''), 10);
295
+ if (Number.isFinite(parsed) && parsed >= 5_000)
296
+ return parsed;
297
+ return 45_000;
298
+ }
299
+ function resolveWorkerLaunchArgsForScaling(env, agentType) {
300
+ const inheritedArgs = [];
301
+ const fallbackModel = isLowComplexityAgentType(agentType)
302
+ ? TEAM_LOW_COMPLEXITY_DEFAULT_MODEL
303
+ : undefined;
304
+ return resolveTeamWorkerLaunchArgs({
305
+ existingRaw: env.OMX_TEAM_WORKER_LAUNCH_ARGS,
306
+ inheritedArgs,
307
+ fallbackModel,
308
+ });
309
+ }
310
+ function notifyWorkerPane(sessionName, workerIndex, message, paneId, workerCli) {
311
+ try {
312
+ sendToWorker(sessionName, workerIndex, message, paneId, workerCli);
313
+ return true;
314
+ }
315
+ catch {
316
+ return false;
317
+ }
318
+ }
319
+ //# sourceMappingURL=scaling.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaling.js","sourceRoot":"","sources":["../../src/team/scaling.ts"],"names":[],"mappings":"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"}