oh-my-codex 0.12.4 → 0.12.6

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 (475) hide show
  1. package/Cargo.lock +5 -5
  2. package/Cargo.toml +1 -1
  3. package/README.md +27 -3
  4. package/dist/cli/__tests__/ask.test.js +26 -0
  5. package/dist/cli/__tests__/ask.test.js.map +1 -1
  6. package/dist/cli/__tests__/doctor-warning-copy.test.js +28 -0
  7. package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
  8. package/dist/cli/__tests__/explore.test.js +95 -8
  9. package/dist/cli/__tests__/explore.test.js.map +1 -1
  10. package/dist/cli/__tests__/index.test.js +102 -4
  11. package/dist/cli/__tests__/index.test.js.map +1 -1
  12. package/dist/cli/__tests__/launch-fallback.test.js +169 -0
  13. package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
  14. package/dist/cli/__tests__/mcp-parity.test.js +31 -0
  15. package/dist/cli/__tests__/mcp-parity.test.js.map +1 -1
  16. package/dist/cli/__tests__/setup-agents-overwrite.test.js +66 -2
  17. package/dist/cli/__tests__/setup-agents-overwrite.test.js.map +1 -1
  18. package/dist/cli/__tests__/setup-refresh.test.js +51 -1
  19. package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
  20. package/dist/cli/__tests__/team.test.js +148 -3
  21. package/dist/cli/__tests__/team.test.js.map +1 -1
  22. package/dist/cli/__tests__/uninstall.test.js +14 -1
  23. package/dist/cli/__tests__/uninstall.test.js.map +1 -1
  24. package/dist/cli/cleanup.js +1 -1
  25. package/dist/cli/cleanup.js.map +1 -1
  26. package/dist/cli/constants.d.ts +1 -0
  27. package/dist/cli/constants.d.ts.map +1 -1
  28. package/dist/cli/constants.js +1 -0
  29. package/dist/cli/constants.js.map +1 -1
  30. package/dist/cli/doctor.d.ts.map +1 -1
  31. package/dist/cli/doctor.js +15 -0
  32. package/dist/cli/doctor.js.map +1 -1
  33. package/dist/cli/explore.d.ts +1 -0
  34. package/dist/cli/explore.d.ts.map +1 -1
  35. package/dist/cli/explore.js +49 -1
  36. package/dist/cli/explore.js.map +1 -1
  37. package/dist/cli/index.d.ts +2 -1
  38. package/dist/cli/index.d.ts.map +1 -1
  39. package/dist/cli/index.js +127 -14
  40. package/dist/cli/index.js.map +1 -1
  41. package/dist/cli/mcp-parity.d.ts +1 -1
  42. package/dist/cli/mcp-parity.d.ts.map +1 -1
  43. package/dist/cli/mcp-parity.js +24 -0
  44. package/dist/cli/mcp-parity.js.map +1 -1
  45. package/dist/cli/setup.d.ts.map +1 -1
  46. package/dist/cli/setup.js +17 -5
  47. package/dist/cli/setup.js.map +1 -1
  48. package/dist/cli/team.d.ts.map +1 -1
  49. package/dist/cli/team.js +80 -6
  50. package/dist/cli/team.js.map +1 -1
  51. package/dist/cli/uninstall.d.ts.map +1 -1
  52. package/dist/cli/uninstall.js +1 -0
  53. package/dist/cli/uninstall.js.map +1 -1
  54. package/dist/config/__tests__/generator-idempotent.test.js +60 -0
  55. package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
  56. package/dist/config/__tests__/mcp-registry.test.js +61 -0
  57. package/dist/config/__tests__/mcp-registry.test.js.map +1 -1
  58. package/dist/config/__tests__/wiki-config-contract.test.d.ts +2 -0
  59. package/dist/config/__tests__/wiki-config-contract.test.d.ts.map +1 -0
  60. package/dist/config/__tests__/wiki-config-contract.test.js +19 -0
  61. package/dist/config/__tests__/wiki-config-contract.test.js.map +1 -0
  62. package/dist/config/generator.d.ts +1 -0
  63. package/dist/config/generator.d.ts.map +1 -1
  64. package/dist/config/generator.js +88 -3
  65. package/dist/config/generator.js.map +1 -1
  66. package/dist/config/mcp-registry.d.ts +2 -0
  67. package/dist/config/mcp-registry.d.ts.map +1 -1
  68. package/dist/config/mcp-registry.js +12 -0
  69. package/dist/config/mcp-registry.js.map +1 -1
  70. package/dist/hooks/__tests__/agents-overlay.test.js +39 -0
  71. package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -1
  72. package/dist/hooks/__tests__/keyword-detector.test.js +297 -4
  73. package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
  74. package/dist/hooks/__tests__/notify-fallback-watcher.test.js +392 -22
  75. package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
  76. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +166 -67
  77. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
  78. package/dist/hooks/__tests__/notify-hook-managed-tmux.test.js +112 -2
  79. package/dist/hooks/__tests__/notify-hook-managed-tmux.test.js.map +1 -1
  80. package/dist/hooks/__tests__/notify-hook-modules.test.js +52 -12
  81. package/dist/hooks/__tests__/notify-hook-modules.test.js.map +1 -1
  82. package/dist/hooks/__tests__/notify-hook-regression-205.test.d.ts +2 -3
  83. package/dist/hooks/__tests__/notify-hook-regression-205.test.d.ts.map +1 -1
  84. package/dist/hooks/__tests__/notify-hook-regression-205.test.js +18 -23
  85. package/dist/hooks/__tests__/notify-hook-regression-205.test.js.map +1 -1
  86. package/dist/hooks/__tests__/notify-hook-session-scope.test.js +33 -0
  87. package/dist/hooks/__tests__/notify-hook-session-scope.test.js.map +1 -1
  88. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js +176 -1
  89. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js.map +1 -1
  90. package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js +355 -7
  91. package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js.map +1 -1
  92. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js +90 -2
  93. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js.map +1 -1
  94. package/dist/hooks/__tests__/session.test.js +142 -2
  95. package/dist/hooks/__tests__/session.test.js.map +1 -1
  96. package/dist/hooks/__tests__/wiki-docs-contract.test.d.ts +2 -0
  97. package/dist/hooks/__tests__/wiki-docs-contract.test.d.ts.map +1 -0
  98. package/dist/hooks/__tests__/wiki-docs-contract.test.js +34 -0
  99. package/dist/hooks/__tests__/wiki-docs-contract.test.js.map +1 -0
  100. package/dist/hooks/agents-overlay.d.ts.map +1 -1
  101. package/dist/hooks/agents-overlay.js +0 -1
  102. package/dist/hooks/agents-overlay.js.map +1 -1
  103. package/dist/hooks/extensibility/__tests__/dispatcher.test.js +32 -0
  104. package/dist/hooks/extensibility/__tests__/dispatcher.test.js.map +1 -1
  105. package/dist/hooks/extensibility/__tests__/runtime.test.js +31 -0
  106. package/dist/hooks/extensibility/__tests__/runtime.test.js.map +1 -1
  107. package/dist/hooks/extensibility/__tests__/sdk.test.js +33 -3
  108. package/dist/hooks/extensibility/__tests__/sdk.test.js.map +1 -1
  109. package/dist/hooks/extensibility/dispatcher.d.ts.map +1 -1
  110. package/dist/hooks/extensibility/dispatcher.js +41 -0
  111. package/dist/hooks/extensibility/dispatcher.js.map +1 -1
  112. package/dist/hooks/extensibility/sdk/runtime-state.d.ts.map +1 -1
  113. package/dist/hooks/extensibility/sdk/runtime-state.js +7 -1
  114. package/dist/hooks/extensibility/sdk/runtime-state.js.map +1 -1
  115. package/dist/hooks/extensibility/types.d.ts +1 -0
  116. package/dist/hooks/extensibility/types.d.ts.map +1 -1
  117. package/dist/hooks/keyword-detector.d.ts +6 -1
  118. package/dist/hooks/keyword-detector.d.ts.map +1 -1
  119. package/dist/hooks/keyword-detector.js +207 -10
  120. package/dist/hooks/keyword-detector.js.map +1 -1
  121. package/dist/hooks/keyword-registry.d.ts.map +1 -1
  122. package/dist/hooks/keyword-registry.js +3 -0
  123. package/dist/hooks/keyword-registry.js.map +1 -1
  124. package/dist/hooks/session.d.ts +14 -2
  125. package/dist/hooks/session.d.ts.map +1 -1
  126. package/dist/hooks/session.js +120 -16
  127. package/dist/hooks/session.js.map +1 -1
  128. package/dist/hud/__tests__/state.test.js +111 -2
  129. package/dist/hud/__tests__/state.test.js.map +1 -1
  130. package/dist/hud/state.d.ts.map +1 -1
  131. package/dist/hud/state.js +18 -21
  132. package/dist/hud/state.js.map +1 -1
  133. package/dist/mcp/__tests__/bootstrap.test.js +88 -1
  134. package/dist/mcp/__tests__/bootstrap.test.js.map +1 -1
  135. package/dist/mcp/__tests__/server-lifecycle.test.js +3 -0
  136. package/dist/mcp/__tests__/server-lifecycle.test.js.map +1 -1
  137. package/dist/mcp/__tests__/state-paths.test.js +30 -2
  138. package/dist/mcp/__tests__/state-paths.test.js.map +1 -1
  139. package/dist/mcp/__tests__/state-server.test.js +415 -0
  140. package/dist/mcp/__tests__/state-server.test.js.map +1 -1
  141. package/dist/mcp/__tests__/wiki-server.test.d.ts +2 -0
  142. package/dist/mcp/__tests__/wiki-server.test.d.ts.map +1 -0
  143. package/dist/mcp/__tests__/wiki-server.test.js +30 -0
  144. package/dist/mcp/__tests__/wiki-server.test.js.map +1 -0
  145. package/dist/mcp/bootstrap.d.ts +19 -1
  146. package/dist/mcp/bootstrap.d.ts.map +1 -1
  147. package/dist/mcp/bootstrap.js +185 -0
  148. package/dist/mcp/bootstrap.js.map +1 -1
  149. package/dist/mcp/state-paths.d.ts +5 -0
  150. package/dist/mcp/state-paths.d.ts.map +1 -1
  151. package/dist/mcp/state-paths.js +41 -11
  152. package/dist/mcp/state-paths.js.map +1 -1
  153. package/dist/mcp/state-server.d.ts +4 -4
  154. package/dist/mcp/state-server.d.ts.map +1 -1
  155. package/dist/mcp/state-server.js +49 -2
  156. package/dist/mcp/state-server.js.map +1 -1
  157. package/dist/mcp/wiki-server.d.ts +181 -0
  158. package/dist/mcp/wiki-server.d.ts.map +1 -0
  159. package/dist/mcp/wiki-server.js +235 -0
  160. package/dist/mcp/wiki-server.js.map +1 -0
  161. package/dist/modes/__tests__/base-autoresearch-contract.test.js +74 -2
  162. package/dist/modes/__tests__/base-autoresearch-contract.test.js.map +1 -1
  163. package/dist/modes/__tests__/base-multi-state-compat.test.d.ts +2 -0
  164. package/dist/modes/__tests__/base-multi-state-compat.test.d.ts.map +1 -0
  165. package/dist/modes/__tests__/base-multi-state-compat.test.js +38 -0
  166. package/dist/modes/__tests__/base-multi-state-compat.test.js.map +1 -0
  167. package/dist/modes/__tests__/base-tmux-pane.test.js +1 -1
  168. package/dist/modes/__tests__/base-tmux-pane.test.js.map +1 -1
  169. package/dist/modes/base.d.ts +2 -1
  170. package/dist/modes/base.d.ts.map +1 -1
  171. package/dist/modes/base.js +55 -31
  172. package/dist/modes/base.js.map +1 -1
  173. package/dist/notifications/__tests__/formatter.test.js +11 -0
  174. package/dist/notifications/__tests__/formatter.test.js.map +1 -1
  175. package/dist/notifications/__tests__/idle-cooldown.test.js +32 -1
  176. package/dist/notifications/__tests__/idle-cooldown.test.js.map +1 -1
  177. package/dist/notifications/__tests__/index.test.d.ts +2 -0
  178. package/dist/notifications/__tests__/index.test.d.ts.map +1 -0
  179. package/dist/notifications/__tests__/index.test.js +113 -0
  180. package/dist/notifications/__tests__/index.test.js.map +1 -0
  181. package/dist/notifications/__tests__/lifecycle-dedupe.test.d.ts +2 -0
  182. package/dist/notifications/__tests__/lifecycle-dedupe.test.d.ts.map +1 -0
  183. package/dist/notifications/__tests__/lifecycle-dedupe.test.js +86 -0
  184. package/dist/notifications/__tests__/lifecycle-dedupe.test.js.map +1 -0
  185. package/dist/notifications/__tests__/reply-listener.test.js +174 -0
  186. package/dist/notifications/__tests__/reply-listener.test.js.map +1 -1
  187. package/dist/notifications/__tests__/session-idle-tail-dedupe.test.d.ts +2 -0
  188. package/dist/notifications/__tests__/session-idle-tail-dedupe.test.d.ts.map +1 -0
  189. package/dist/notifications/__tests__/session-idle-tail-dedupe.test.js +93 -0
  190. package/dist/notifications/__tests__/session-idle-tail-dedupe.test.js.map +1 -0
  191. package/dist/notifications/__tests__/session-registry.test.js +48 -1
  192. package/dist/notifications/__tests__/session-registry.test.js.map +1 -1
  193. package/dist/notifications/__tests__/session-status.test.d.ts +2 -0
  194. package/dist/notifications/__tests__/session-status.test.d.ts.map +1 -0
  195. package/dist/notifications/__tests__/session-status.test.js +159 -0
  196. package/dist/notifications/__tests__/session-status.test.js.map +1 -0
  197. package/dist/notifications/__tests__/tmux.test.js +58 -1
  198. package/dist/notifications/__tests__/tmux.test.js.map +1 -1
  199. package/dist/notifications/idle-cooldown.d.ts +11 -0
  200. package/dist/notifications/idle-cooldown.d.ts.map +1 -1
  201. package/dist/notifications/idle-cooldown.js +42 -8
  202. package/dist/notifications/idle-cooldown.js.map +1 -1
  203. package/dist/notifications/index.d.ts +1 -1
  204. package/dist/notifications/index.d.ts.map +1 -1
  205. package/dist/notifications/index.js +41 -8
  206. package/dist/notifications/index.js.map +1 -1
  207. package/dist/notifications/lifecycle-dedupe.d.ts +8 -0
  208. package/dist/notifications/lifecycle-dedupe.d.ts.map +1 -0
  209. package/dist/notifications/lifecycle-dedupe.js +112 -0
  210. package/dist/notifications/lifecycle-dedupe.js.map +1 -0
  211. package/dist/notifications/reply-listener.d.ts +10 -1
  212. package/dist/notifications/reply-listener.d.ts.map +1 -1
  213. package/dist/notifications/reply-listener.js +49 -11
  214. package/dist/notifications/reply-listener.js.map +1 -1
  215. package/dist/notifications/session-registry.d.ts.map +1 -1
  216. package/dist/notifications/session-registry.js +7 -1
  217. package/dist/notifications/session-registry.js.map +1 -1
  218. package/dist/notifications/session-status.d.ts +23 -0
  219. package/dist/notifications/session-status.d.ts.map +1 -0
  220. package/dist/notifications/session-status.js +187 -0
  221. package/dist/notifications/session-status.js.map +1 -0
  222. package/dist/notifications/tmux.d.ts +10 -0
  223. package/dist/notifications/tmux.d.ts.map +1 -1
  224. package/dist/notifications/tmux.js +59 -5
  225. package/dist/notifications/tmux.js.map +1 -1
  226. package/dist/notifications/types.d.ts +2 -0
  227. package/dist/notifications/types.d.ts.map +1 -1
  228. package/dist/openclaw/__tests__/index.test.js +84 -0
  229. package/dist/openclaw/__tests__/index.test.js.map +1 -1
  230. package/dist/openclaw/index.d.ts.map +1 -1
  231. package/dist/openclaw/index.js +7 -14
  232. package/dist/openclaw/index.js.map +1 -1
  233. package/dist/openclaw/types.d.ts +2 -2
  234. package/dist/openclaw/types.d.ts.map +1 -1
  235. package/dist/scripts/__tests__/codex-native-hook.test.js +692 -40
  236. package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
  237. package/dist/scripts/__tests__/hook-derived-watcher.test.d.ts +2 -0
  238. package/dist/scripts/__tests__/hook-derived-watcher.test.d.ts.map +1 -0
  239. package/dist/scripts/__tests__/hook-derived-watcher.test.js +87 -0
  240. package/dist/scripts/__tests__/hook-derived-watcher.test.js.map +1 -0
  241. package/dist/scripts/codex-native-hook.d.ts.map +1 -1
  242. package/dist/scripts/codex-native-hook.js +309 -77
  243. package/dist/scripts/codex-native-hook.js.map +1 -1
  244. package/dist/scripts/hook-derived-watcher.js +43 -1
  245. package/dist/scripts/hook-derived-watcher.js.map +1 -1
  246. package/dist/scripts/notify-fallback-watcher.js +95 -21
  247. package/dist/scripts/notify-fallback-watcher.js.map +1 -1
  248. package/dist/scripts/notify-hook/active-team.d.ts +9 -0
  249. package/dist/scripts/notify-hook/active-team.d.ts.map +1 -0
  250. package/dist/scripts/notify-hook/active-team.js +44 -0
  251. package/dist/scripts/notify-hook/active-team.js.map +1 -0
  252. package/dist/scripts/notify-hook/auto-nudge.d.ts +5 -3
  253. package/dist/scripts/notify-hook/auto-nudge.d.ts.map +1 -1
  254. package/dist/scripts/notify-hook/auto-nudge.js +121 -78
  255. package/dist/scripts/notify-hook/auto-nudge.js.map +1 -1
  256. package/dist/scripts/notify-hook/managed-tmux.d.ts.map +1 -1
  257. package/dist/scripts/notify-hook/managed-tmux.js +18 -4
  258. package/dist/scripts/notify-hook/managed-tmux.js.map +1 -1
  259. package/dist/scripts/notify-hook/operational-events.d.ts.map +1 -1
  260. package/dist/scripts/notify-hook/operational-events.js +21 -0
  261. package/dist/scripts/notify-hook/operational-events.js.map +1 -1
  262. package/dist/scripts/notify-hook/ralph-session-resume.d.ts.map +1 -1
  263. package/dist/scripts/notify-hook/ralph-session-resume.js +3 -2
  264. package/dist/scripts/notify-hook/ralph-session-resume.js.map +1 -1
  265. package/dist/scripts/notify-hook/state-io.d.ts +10 -1
  266. package/dist/scripts/notify-hook/state-io.d.ts.map +1 -1
  267. package/dist/scripts/notify-hook/state-io.js +56 -12
  268. package/dist/scripts/notify-hook/state-io.js.map +1 -1
  269. package/dist/scripts/notify-hook/team-dispatch.d.ts.map +1 -1
  270. package/dist/scripts/notify-hook/team-dispatch.js +305 -167
  271. package/dist/scripts/notify-hook/team-dispatch.js.map +1 -1
  272. package/dist/scripts/notify-hook/team-leader-nudge.d.ts.map +1 -1
  273. package/dist/scripts/notify-hook/team-leader-nudge.js +87 -15
  274. package/dist/scripts/notify-hook/team-leader-nudge.js.map +1 -1
  275. package/dist/scripts/notify-hook/tmux-injection.d.ts.map +1 -1
  276. package/dist/scripts/notify-hook/tmux-injection.js +11 -2
  277. package/dist/scripts/notify-hook/tmux-injection.js.map +1 -1
  278. package/dist/scripts/notify-hook.js +26 -16
  279. package/dist/scripts/notify-hook.js.map +1 -1
  280. package/dist/scripts/run-provider-advisor.js +20 -2
  281. package/dist/scripts/run-provider-advisor.js.map +1 -1
  282. package/dist/scripts/smoke-packed-install.d.ts +1 -8
  283. package/dist/scripts/smoke-packed-install.d.ts.map +1 -1
  284. package/dist/scripts/smoke-packed-install.js +12 -68
  285. package/dist/scripts/smoke-packed-install.js.map +1 -1
  286. package/dist/state/__tests__/operations.test.js +113 -0
  287. package/dist/state/__tests__/operations.test.js.map +1 -1
  288. package/dist/state/__tests__/skill-active.test.js +35 -0
  289. package/dist/state/__tests__/skill-active.test.js.map +1 -1
  290. package/dist/state/__tests__/workflow-transition.test.d.ts +2 -0
  291. package/dist/state/__tests__/workflow-transition.test.d.ts.map +1 -0
  292. package/dist/state/__tests__/workflow-transition.test.js +56 -0
  293. package/dist/state/__tests__/workflow-transition.test.js.map +1 -0
  294. package/dist/state/operations.d.ts +1 -1
  295. package/dist/state/operations.d.ts.map +1 -1
  296. package/dist/state/operations.js +88 -2
  297. package/dist/state/operations.js.map +1 -1
  298. package/dist/state/skill-active.d.ts +2 -2
  299. package/dist/state/skill-active.d.ts.map +1 -1
  300. package/dist/state/skill-active.js +119 -33
  301. package/dist/state/skill-active.js.map +1 -1
  302. package/dist/state/workflow-transition-reconcile.d.ts +15 -0
  303. package/dist/state/workflow-transition-reconcile.d.ts.map +1 -0
  304. package/dist/state/workflow-transition-reconcile.js +100 -0
  305. package/dist/state/workflow-transition-reconcile.js.map +1 -0
  306. package/dist/state/workflow-transition.d.ts +22 -0
  307. package/dist/state/workflow-transition.d.ts.map +1 -0
  308. package/dist/state/workflow-transition.js +188 -0
  309. package/dist/state/workflow-transition.js.map +1 -0
  310. package/dist/team/__tests__/api-interop.test.js +90 -0
  311. package/dist/team/__tests__/api-interop.test.js.map +1 -1
  312. package/dist/team/__tests__/current-task-baseline.test.d.ts +2 -0
  313. package/dist/team/__tests__/current-task-baseline.test.d.ts.map +1 -0
  314. package/dist/team/__tests__/current-task-baseline.test.js +87 -0
  315. package/dist/team/__tests__/current-task-baseline.test.js.map +1 -0
  316. package/dist/team/__tests__/hardening-e2e.test.js +17 -0
  317. package/dist/team/__tests__/hardening-e2e.test.js.map +1 -1
  318. package/dist/team/__tests__/runtime.test.js +673 -65
  319. package/dist/team/__tests__/runtime.test.js.map +1 -1
  320. package/dist/team/__tests__/shutdown-fallback.test.js +11 -1
  321. package/dist/team/__tests__/shutdown-fallback.test.js.map +1 -1
  322. package/dist/team/__tests__/tmux-session.test.js +447 -4
  323. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  324. package/dist/team/api-interop.d.ts.map +1 -1
  325. package/dist/team/api-interop.js +10 -1
  326. package/dist/team/api-interop.js.map +1 -1
  327. package/dist/team/current-task-baseline.d.ts +32 -0
  328. package/dist/team/current-task-baseline.d.ts.map +1 -0
  329. package/dist/team/current-task-baseline.js +85 -0
  330. package/dist/team/current-task-baseline.js.map +1 -0
  331. package/dist/team/delivery-log.d.ts +1 -1
  332. package/dist/team/delivery-log.d.ts.map +1 -1
  333. package/dist/team/delivery-log.js.map +1 -1
  334. package/dist/team/leader-activity.d.ts +1 -0
  335. package/dist/team/leader-activity.d.ts.map +1 -1
  336. package/dist/team/leader-activity.js +4 -2
  337. package/dist/team/leader-activity.js.map +1 -1
  338. package/dist/team/progress-evidence.d.ts +2 -0
  339. package/dist/team/progress-evidence.d.ts.map +1 -0
  340. package/dist/team/progress-evidence.js +77 -0
  341. package/dist/team/progress-evidence.js.map +1 -0
  342. package/dist/team/runtime.d.ts.map +1 -1
  343. package/dist/team/runtime.js +269 -64
  344. package/dist/team/runtime.js.map +1 -1
  345. package/dist/team/scaling.d.ts.map +1 -1
  346. package/dist/team/scaling.js +1 -1
  347. package/dist/team/scaling.js.map +1 -1
  348. package/dist/team/state.d.ts.map +1 -1
  349. package/dist/team/state.js +2 -13
  350. package/dist/team/state.js.map +1 -1
  351. package/dist/team/tmux-session.d.ts +12 -3
  352. package/dist/team/tmux-session.d.ts.map +1 -1
  353. package/dist/team/tmux-session.js +174 -20
  354. package/dist/team/tmux-session.js.map +1 -1
  355. package/dist/team/worktree.d.ts +6 -1
  356. package/dist/team/worktree.d.ts.map +1 -1
  357. package/dist/team/worktree.js +28 -4
  358. package/dist/team/worktree.js.map +1 -1
  359. package/dist/utils/__tests__/agents-md.test.js +21 -1
  360. package/dist/utils/__tests__/agents-md.test.js.map +1 -1
  361. package/dist/utils/__tests__/repo-deps.test.d.ts +2 -0
  362. package/dist/utils/__tests__/repo-deps.test.d.ts.map +1 -0
  363. package/dist/utils/__tests__/repo-deps.test.js +71 -0
  364. package/dist/utils/__tests__/repo-deps.test.js.map +1 -0
  365. package/dist/utils/agents-md.d.ts +1 -0
  366. package/dist/utils/agents-md.d.ts.map +1 -1
  367. package/dist/utils/agents-md.js +7 -3
  368. package/dist/utils/agents-md.js.map +1 -1
  369. package/dist/utils/paths.d.ts +4 -0
  370. package/dist/utils/paths.d.ts.map +1 -1
  371. package/dist/utils/paths.js +20 -0
  372. package/dist/utils/paths.js.map +1 -1
  373. package/dist/utils/repo-deps.d.ts +20 -0
  374. package/dist/utils/repo-deps.d.ts.map +1 -0
  375. package/dist/utils/repo-deps.js +78 -0
  376. package/dist/utils/repo-deps.js.map +1 -0
  377. package/dist/verification/__tests__/dev-merge-issue-close-workflow.test.d.ts +2 -0
  378. package/dist/verification/__tests__/dev-merge-issue-close-workflow.test.d.ts.map +1 -0
  379. package/dist/verification/__tests__/dev-merge-issue-close-workflow.test.js +54 -0
  380. package/dist/verification/__tests__/dev-merge-issue-close-workflow.test.js.map +1 -0
  381. package/dist/wiki/__tests__/cjk-tokenize.test.d.ts +12 -0
  382. package/dist/wiki/__tests__/cjk-tokenize.test.d.ts.map +1 -0
  383. package/dist/wiki/__tests__/cjk-tokenize.test.js +139 -0
  384. package/dist/wiki/__tests__/cjk-tokenize.test.js.map +1 -0
  385. package/dist/wiki/__tests__/crlf-parse.test.d.ts +2 -0
  386. package/dist/wiki/__tests__/crlf-parse.test.d.ts.map +1 -0
  387. package/dist/wiki/__tests__/crlf-parse.test.js +24 -0
  388. package/dist/wiki/__tests__/crlf-parse.test.js.map +1 -0
  389. package/dist/wiki/__tests__/escape-newline.test.d.ts +2 -0
  390. package/dist/wiki/__tests__/escape-newline.test.d.ts.map +1 -0
  391. package/dist/wiki/__tests__/escape-newline.test.js +45 -0
  392. package/dist/wiki/__tests__/escape-newline.test.js.map +1 -0
  393. package/dist/wiki/__tests__/ingest.test.d.ts +5 -0
  394. package/dist/wiki/__tests__/ingest.test.d.ts.map +1 -0
  395. package/dist/wiki/__tests__/ingest.test.js +181 -0
  396. package/dist/wiki/__tests__/ingest.test.js.map +1 -0
  397. package/dist/wiki/__tests__/lint.test.d.ts +5 -0
  398. package/dist/wiki/__tests__/lint.test.d.ts.map +1 -0
  399. package/dist/wiki/__tests__/lint.test.js +163 -0
  400. package/dist/wiki/__tests__/lint.test.js.map +1 -0
  401. package/dist/wiki/__tests__/query.test.d.ts +5 -0
  402. package/dist/wiki/__tests__/query.test.d.ts.map +1 -0
  403. package/dist/wiki/__tests__/query.test.js +141 -0
  404. package/dist/wiki/__tests__/query.test.js.map +1 -0
  405. package/dist/wiki/__tests__/reserved-file-guard.test.d.ts +2 -0
  406. package/dist/wiki/__tests__/reserved-file-guard.test.d.ts.map +1 -0
  407. package/dist/wiki/__tests__/reserved-file-guard.test.js +44 -0
  408. package/dist/wiki/__tests__/reserved-file-guard.test.js.map +1 -0
  409. package/dist/wiki/__tests__/session-hooks.test.d.ts +5 -0
  410. package/dist/wiki/__tests__/session-hooks.test.d.ts.map +1 -0
  411. package/dist/wiki/__tests__/session-hooks.test.js +36 -0
  412. package/dist/wiki/__tests__/session-hooks.test.js.map +1 -0
  413. package/dist/wiki/__tests__/slug-nonascii.test.d.ts +2 -0
  414. package/dist/wiki/__tests__/slug-nonascii.test.d.ts.map +1 -0
  415. package/dist/wiki/__tests__/slug-nonascii.test.js +24 -0
  416. package/dist/wiki/__tests__/slug-nonascii.test.js.map +1 -0
  417. package/dist/wiki/__tests__/storage.test.d.ts +5 -0
  418. package/dist/wiki/__tests__/storage.test.d.ts.map +1 -0
  419. package/dist/wiki/__tests__/storage.test.js +278 -0
  420. package/dist/wiki/__tests__/storage.test.js.map +1 -0
  421. package/dist/wiki/__tests__/test-helpers.d.ts +31 -0
  422. package/dist/wiki/__tests__/test-helpers.d.ts.map +1 -0
  423. package/dist/wiki/__tests__/test-helpers.js +108 -0
  424. package/dist/wiki/__tests__/test-helpers.js.map +1 -0
  425. package/dist/wiki/index.d.ts +14 -0
  426. package/dist/wiki/index.d.ts.map +1 -0
  427. package/dist/wiki/index.js +17 -0
  428. package/dist/wiki/index.js.map +1 -0
  429. package/dist/wiki/ingest.d.ts +20 -0
  430. package/dist/wiki/ingest.d.ts.map +1 -0
  431. package/dist/wiki/ingest.js +115 -0
  432. package/dist/wiki/ingest.js.map +1 -0
  433. package/dist/wiki/lifecycle.d.ts +20 -0
  434. package/dist/wiki/lifecycle.d.ts.map +1 -0
  435. package/dist/wiki/lifecycle.js +212 -0
  436. package/dist/wiki/lifecycle.js.map +1 -0
  437. package/dist/wiki/lint.d.ts +25 -0
  438. package/dist/wiki/lint.d.ts.map +1 -0
  439. package/dist/wiki/lint.js +166 -0
  440. package/dist/wiki/lint.js.map +1 -0
  441. package/dist/wiki/query.d.ts +36 -0
  442. package/dist/wiki/query.d.ts.map +1 -0
  443. package/dist/wiki/query.js +138 -0
  444. package/dist/wiki/query.js.map +1 -0
  445. package/dist/wiki/storage.d.ts +33 -0
  446. package/dist/wiki/storage.d.ts.map +1 -0
  447. package/dist/wiki/storage.js +321 -0
  448. package/dist/wiki/storage.js.map +1 -0
  449. package/dist/wiki/types.d.ts +83 -0
  450. package/dist/wiki/types.d.ts.map +1 -0
  451. package/dist/wiki/types.js +15 -0
  452. package/dist/wiki/types.js.map +1 -0
  453. package/package.json +3 -1
  454. package/skills/configure-notifications/SKILL.md +1 -0
  455. package/skills/doctor/SKILL.md +11 -0
  456. package/skills/omx-setup/SKILL.md +1 -1
  457. package/skills/wiki/SKILL.md +57 -0
  458. package/src/scripts/__tests__/codex-native-hook.test.ts +920 -56
  459. package/src/scripts/__tests__/hook-derived-watcher.test.ts +111 -0
  460. package/src/scripts/codex-native-hook.ts +377 -83
  461. package/src/scripts/hook-derived-watcher.ts +43 -1
  462. package/src/scripts/notify-fallback-watcher.ts +99 -20
  463. package/src/scripts/notify-hook/active-team.ts +54 -0
  464. package/src/scripts/notify-hook/auto-nudge.ts +132 -79
  465. package/src/scripts/notify-hook/managed-tmux.ts +22 -4
  466. package/src/scripts/notify-hook/operational-events.ts +21 -0
  467. package/src/scripts/notify-hook/ralph-session-resume.ts +3 -2
  468. package/src/scripts/notify-hook/state-io.ts +89 -12
  469. package/src/scripts/notify-hook/team-dispatch.ts +326 -168
  470. package/src/scripts/notify-hook/team-leader-nudge.ts +91 -14
  471. package/src/scripts/notify-hook/tmux-injection.ts +11 -2
  472. package/src/scripts/notify-hook.ts +36 -22
  473. package/src/scripts/run-provider-advisor.ts +20 -2
  474. package/src/scripts/smoke-packed-install.ts +16 -83
  475. package/templates/AGENTS.md +3 -4
@@ -0,0 +1,86 @@
1
+ import { describe, it } from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { mkdtemp, readFile, rm } from 'node:fs/promises';
4
+ import { tmpdir } from 'node:os';
5
+ import { join } from 'node:path';
6
+ import { shouldSendLifecycleNotification, recordLifecycleNotificationSent, shouldSendLifecycleHookBroadcast, recordLifecycleHookBroadcastSent, } from '../lifecycle-dedupe.js';
7
+ function buildPayload(overrides = {}) {
8
+ return {
9
+ event: 'session-end',
10
+ sessionId: 'session-1475',
11
+ message: 'done',
12
+ timestamp: '2026-04-11T00:00:00.000Z',
13
+ projectPath: '/tmp/project',
14
+ projectName: 'project',
15
+ reason: 'session_exit',
16
+ ...overrides,
17
+ };
18
+ }
19
+ describe('lifecycle notification dedupe', () => {
20
+ it('suppresses duplicate session lifecycle notifications for the same session transition', async () => {
21
+ const stateDir = await mkdtemp(join(tmpdir(), 'omx-lifecycle-dedupe-'));
22
+ try {
23
+ const payload = buildPayload();
24
+ assert.equal(shouldSendLifecycleNotification(stateDir, payload), true);
25
+ recordLifecycleNotificationSent(stateDir, payload);
26
+ assert.equal(shouldSendLifecycleNotification(stateDir, payload), false);
27
+ }
28
+ finally {
29
+ await rm(stateDir, { recursive: true, force: true });
30
+ }
31
+ });
32
+ it('re-emits when the lifecycle fingerprint changes', async () => {
33
+ const stateDir = await mkdtemp(join(tmpdir(), 'omx-lifecycle-dedupe-change-'));
34
+ try {
35
+ const payload = buildPayload();
36
+ recordLifecycleNotificationSent(stateDir, payload);
37
+ assert.equal(shouldSendLifecycleNotification(stateDir, buildPayload({ reason: 'completed' })), true);
38
+ }
39
+ finally {
40
+ await rm(stateDir, { recursive: true, force: true });
41
+ }
42
+ });
43
+ it('stores dedupe state per session id', async () => {
44
+ const stateDir = await mkdtemp(join(tmpdir(), 'omx-lifecycle-dedupe-session-'));
45
+ try {
46
+ const payload = buildPayload({ sessionId: 'session-a', event: 'session-start' });
47
+ recordLifecycleNotificationSent(stateDir, payload);
48
+ const sessionFile = join(stateDir, 'sessions', 'session-a', 'lifecycle-notif-state.json');
49
+ const state = JSON.parse(await readFile(sessionFile, 'utf-8'));
50
+ assert.equal(typeof state.events?.['session-start']?.fingerprint, 'string');
51
+ assert.equal(shouldSendLifecycleNotification(stateDir, buildPayload({ sessionId: 'session-b', event: 'session-start' })), true);
52
+ }
53
+ finally {
54
+ await rm(stateDir, { recursive: true, force: true });
55
+ }
56
+ });
57
+ it('re-emits the same lifecycle fingerprint after the dedupe window elapses', async () => {
58
+ const stateDir = await mkdtemp(join(tmpdir(), 'omx-lifecycle-dedupe-window-'));
59
+ try {
60
+ const payload = buildPayload({ event: 'session-start' });
61
+ const startMs = Date.parse('2026-04-12T00:00:00.000Z');
62
+ recordLifecycleNotificationSent(stateDir, payload, startMs);
63
+ assert.equal(shouldSendLifecycleNotification(stateDir, payload, startMs + 4_999), false);
64
+ assert.equal(shouldSendLifecycleNotification(stateDir, payload, startMs + 5_000), true);
65
+ }
66
+ finally {
67
+ await rm(stateDir, { recursive: true, force: true });
68
+ }
69
+ });
70
+ it('tracks hook dedupe separately from notification dedupe state', async () => {
71
+ const stateDir = await mkdtemp(join(tmpdir(), 'omx-lifecycle-dedupe-hook-'));
72
+ try {
73
+ const payload = buildPayload({ event: 'session-start', sessionId: 'hook-session' });
74
+ const hookFingerprint = 'fp:keyword-detector:turn-1';
75
+ recordLifecycleNotificationSent(stateDir, payload);
76
+ assert.equal(shouldSendLifecycleHookBroadcast(stateDir, payload.sessionId, 'keyword-detector', hookFingerprint), true);
77
+ recordLifecycleHookBroadcastSent(stateDir, payload.sessionId, 'keyword-detector', hookFingerprint);
78
+ assert.equal(shouldSendLifecycleHookBroadcast(stateDir, payload.sessionId, 'keyword-detector', hookFingerprint), false);
79
+ assert.equal(shouldSendLifecycleNotification(stateDir, payload), false);
80
+ }
81
+ finally {
82
+ await rm(stateDir, { recursive: true, force: true });
83
+ }
84
+ });
85
+ });
86
+ //# sourceMappingURL=lifecycle-dedupe.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-dedupe.test.js","sourceRoot":"","sources":["../../../src/notifications/__tests__/lifecycle-dedupe.test.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import assert from 'node:assert/strict';
3
3
  import { spawn } from 'node:child_process';
4
4
  import { PassThrough } from 'node:stream';
5
5
  import { RateLimiter, captureReplyAcknowledgementSummary, formatReplyAcknowledgement, sanitizeReplyInput, isReplyListenerProcess, normalizeReplyListenerConfig, pollDiscordOnce, pollTelegramOnce, resetReplyListenerTransientState, } from '../reply-listener.js';
6
+ import { NO_TRACKED_SESSION_MESSAGE } from '../session-status.js';
6
7
  function createBaseConfig(overrides = {}) {
7
8
  return {
8
9
  enabled: true,
@@ -204,6 +205,25 @@ describe('isReplyListenerProcess', () => {
204
205
  it('returns false for a non-existent PID', () => {
205
206
  assert.equal(isReplyListenerProcess(0), false);
206
207
  });
208
+ it('returns false on Windows when ps is unavailable', () => {
209
+ const result = isReplyListenerProcess(123, {
210
+ platform: 'win32',
211
+ env: {
212
+ PATH: '',
213
+ PATHEXT: '.EXE;.CMD;.PS1',
214
+ },
215
+ spawnImpl: (() => ({
216
+ pid: 0,
217
+ output: [null, '', ''],
218
+ stdout: '',
219
+ stderr: '',
220
+ status: null,
221
+ signal: null,
222
+ error: Object.assign(new Error('spawnSync ps ENOENT'), { code: 'ENOENT' }),
223
+ })),
224
+ });
225
+ assert.equal(result, false);
226
+ });
207
227
  });
208
228
  describe('normalizeReplyListenerConfig', () => {
209
229
  it('clamps invalid runtime numeric values and sanitizes authorized users', () => {
@@ -282,6 +302,95 @@ describe('formatReplyAcknowledgement', () => {
282
302
  });
283
303
  });
284
304
  describe('pollDiscordOnce', () => {
305
+ it('treats exact-match status replies as read-only Discord session lookups', async () => {
306
+ resetReplyListenerTransientState();
307
+ const config = createBaseConfig();
308
+ const state = createBaseState();
309
+ const fetchCalls = [];
310
+ let injectCalled = false;
311
+ const fetchImpl = async (input, init) => {
312
+ const url = String(input);
313
+ fetchCalls.push({ url, init });
314
+ if (url.endsWith('/messages?limit=10')) {
315
+ return jsonResponse([
316
+ {
317
+ id: 'discord-status-1',
318
+ author: { id: 'discord-user-1' },
319
+ content: ' STATUS ',
320
+ message_reference: { message_id: 'orig-discord-msg' },
321
+ },
322
+ ]);
323
+ }
324
+ if (url.endsWith('/messages')) {
325
+ return jsonResponse({ id: 'status-reply-1' });
326
+ }
327
+ throw new Error(`Unexpected fetch url: ${url}`);
328
+ };
329
+ await pollDiscordOnce(config, state, new RateLimiter(10), {
330
+ fetchImpl,
331
+ lookupByMessageIdImpl: () => createMapping('discord-bot'),
332
+ buildSessionStatusReplyImpl: async (mapping) => {
333
+ assert.equal(mapping.sessionId, 'session-1');
334
+ return 'Tracked OMX session status';
335
+ },
336
+ injectReplyImpl: () => {
337
+ injectCalled = true;
338
+ return true;
339
+ },
340
+ });
341
+ assert.equal(injectCalled, false);
342
+ assert.equal(state.messagesInjected, 0);
343
+ assert.equal(state.errors, 0);
344
+ assert.equal(state.discordLastMessageId, 'discord-status-1');
345
+ assert.equal(fetchCalls.length, 2);
346
+ const replyBody = JSON.parse(String(fetchCalls[1].init?.body));
347
+ assert.equal(replyBody.content, 'Tracked OMX session status');
348
+ assert.deepEqual(replyBody.message_reference, { message_id: 'discord-status-1' });
349
+ assert.deepEqual(replyBody.allowed_mentions, { parse: [] });
350
+ });
351
+ it('uses the latest correlated session when a Discord notification message id is reused', async () => {
352
+ resetReplyListenerTransientState();
353
+ const config = createBaseConfig();
354
+ const state = createBaseState();
355
+ const statusSessionIds = [];
356
+ await pollDiscordOnce(config, state, new RateLimiter(10), {
357
+ fetchImpl: async (input) => {
358
+ const url = String(input);
359
+ if (url.endsWith('/messages?limit=10')) {
360
+ return jsonResponse([
361
+ {
362
+ id: 'discord-status-reused-id',
363
+ author: { id: 'discord-user-1' },
364
+ content: 'status',
365
+ message_reference: { message_id: 'orig-discord-msg' },
366
+ },
367
+ ]);
368
+ }
369
+ if (url.endsWith('/messages')) {
370
+ return jsonResponse({ id: 'status-reply-reused-id' });
371
+ }
372
+ throw new Error(`Unexpected fetch url: ${url}`);
373
+ },
374
+ lookupByMessageIdImpl: () => ({
375
+ ...createMapping('discord-bot'),
376
+ messageId: 'orig-discord-msg',
377
+ sessionId: 'session-newer',
378
+ tmuxPaneId: '%10',
379
+ tmuxSessionName: 'latest-session',
380
+ }),
381
+ buildSessionStatusReplyImpl: async (mapping) => {
382
+ statusSessionIds.push(mapping.sessionId);
383
+ return `Tracked OMX session status\nSession: ${mapping.sessionId}`;
384
+ },
385
+ injectReplyImpl: () => {
386
+ throw new Error('injectReply should not run for exact-match status probes');
387
+ },
388
+ });
389
+ assert.deepEqual(statusSessionIds, ['session-newer']);
390
+ assert.equal(state.messagesInjected, 0);
391
+ assert.equal(state.errors, 0);
392
+ assert.equal(state.discordLastMessageId, 'discord-status-reused-id');
393
+ });
285
394
  it('injects authorized replies and posts a threaded acknowledgement with recent output', async () => {
286
395
  resetReplyListenerTransientState();
287
396
  const config = createBaseConfig({ discordMention: '<@123>' });
@@ -363,6 +472,71 @@ describe('pollDiscordOnce', () => {
363
472
  assert.equal(state.errors, 0);
364
473
  assert.equal(state.discordLastMessageId, 'discord-reply-2');
365
474
  });
475
+ it('does not return status data for unauthorized status replies', async () => {
476
+ resetReplyListenerTransientState();
477
+ const state = createBaseState();
478
+ const fetchCalls = [];
479
+ await pollDiscordOnce(createBaseConfig(), state, new RateLimiter(10), {
480
+ fetchImpl: async (input) => {
481
+ fetchCalls.push(String(input));
482
+ return jsonResponse([
483
+ {
484
+ id: 'discord-reply-unauthorized-status',
485
+ author: { id: 'intruder' },
486
+ content: 'status',
487
+ message_reference: { message_id: 'orig-discord-msg' },
488
+ },
489
+ ]);
490
+ },
491
+ lookupByMessageIdImpl: () => {
492
+ throw new Error('lookup should not run for unauthorized status replies');
493
+ },
494
+ injectReplyImpl: () => {
495
+ throw new Error('injectReply should not run for unauthorized status replies');
496
+ },
497
+ });
498
+ assert.deepEqual(fetchCalls, ['https://discord.com/api/v10/channels/discord-channel/messages?limit=10']);
499
+ assert.equal(state.messagesInjected, 0);
500
+ assert.equal(state.errors, 0);
501
+ assert.equal(state.discordLastMessageId, 'discord-reply-unauthorized-status');
502
+ });
503
+ it('replies with a bounded failure when status has no tracked correlation and does not inject', async () => {
504
+ resetReplyListenerTransientState();
505
+ const state = createBaseState();
506
+ const fetchCalls = [];
507
+ let injectCalled = false;
508
+ await pollDiscordOnce(createBaseConfig(), state, new RateLimiter(10), {
509
+ fetchImpl: async (input, init) => {
510
+ const url = String(input);
511
+ fetchCalls.push({ url, init });
512
+ if (url.endsWith('/messages?limit=10')) {
513
+ return jsonResponse([
514
+ {
515
+ id: 'discord-status-untracked',
516
+ author: { id: 'discord-user-1' },
517
+ content: 'status',
518
+ message_reference: { message_id: 'unknown-msg' },
519
+ },
520
+ ]);
521
+ }
522
+ if (url.endsWith('/messages')) {
523
+ return jsonResponse({ id: 'status-failure-reply' });
524
+ }
525
+ throw new Error(`Unexpected fetch url: ${url}`);
526
+ },
527
+ lookupByMessageIdImpl: () => null,
528
+ injectReplyImpl: () => {
529
+ injectCalled = true;
530
+ return true;
531
+ },
532
+ });
533
+ assert.equal(injectCalled, false);
534
+ assert.equal(state.messagesInjected, 0);
535
+ assert.equal(state.errors, 0);
536
+ assert.equal(fetchCalls.length, 2);
537
+ const replyBody = JSON.parse(String(fetchCalls[1].init?.body));
538
+ assert.equal(replyBody.content, NO_TRACKED_SESSION_MESSAGE);
539
+ });
366
540
  it('drops mapped Discord replies when the rate limiter rejects them', async () => {
367
541
  resetReplyListenerTransientState();
368
542
  const state = createBaseState();
@@ -1 +1 @@
1
- {"version":3,"file":"reply-listener.test.js","sourceRoot":"","sources":["../../../src/notifications/__tests__/reply-listener.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reply-listener.test.js","sourceRoot":"","sources":["../../../src/notifications/__tests__/reply-listener.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=session-idle-tail-dedupe.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-idle-tail-dedupe.test.d.ts","sourceRoot":"","sources":["../../../src/notifications/__tests__/session-idle-tail-dedupe.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,93 @@
1
+ import { afterEach, beforeEach, describe, it } from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { mkdtemp, mkdir, rm, writeFile } from 'node:fs/promises';
4
+ import { join } from 'node:path';
5
+ import { tmpdir } from 'node:os';
6
+ const ENV_KEYS = [
7
+ 'CODEX_HOME',
8
+ 'OMX_NOTIFY_TEMP',
9
+ 'OMX_NOTIFY_TEMP_CONTRACT',
10
+ 'OMX_NOTIFY_PROFILE',
11
+ 'OMX_DISCORD_WEBHOOK_URL',
12
+ 'OMX_OPENCLAW',
13
+ ];
14
+ function clearEnv() {
15
+ for (const key of ENV_KEYS)
16
+ delete process.env[key];
17
+ }
18
+ describe('session-idle tmux tail dedupe integration', () => {
19
+ let notifyLifecycle;
20
+ let tempCodexHome = '';
21
+ let projectPath = '';
22
+ let originalFetch;
23
+ const capturedBodies = [];
24
+ beforeEach(async () => {
25
+ clearEnv();
26
+ const root = await mkdtemp(join(tmpdir(), 'omx-session-idle-tail-'));
27
+ tempCodexHome = join(root, '.codex');
28
+ projectPath = join(root, 'project');
29
+ await mkdir(tempCodexHome, { recursive: true });
30
+ await mkdir(projectPath, { recursive: true });
31
+ await writeFile(join(tempCodexHome, '.omx-config.json'), JSON.stringify({
32
+ notifications: {
33
+ enabled: true,
34
+ events: {
35
+ 'session-idle': {
36
+ enabled: true,
37
+ webhook: { enabled: true, url: 'https://example.com/webhook' },
38
+ },
39
+ },
40
+ webhook: { enabled: true, url: 'https://example.com/webhook' },
41
+ },
42
+ }, null, 2));
43
+ process.env.CODEX_HOME = tempCodexHome;
44
+ ({ notifyLifecycle } = await import(`../index.js?session-idle-tail-dedupe=${Date.now()}`));
45
+ originalFetch = globalThis.fetch;
46
+ capturedBodies.length = 0;
47
+ globalThis.fetch = (async (_url, init) => {
48
+ capturedBodies.push(JSON.parse(String(init?.body || '{}')));
49
+ return {
50
+ ok: true,
51
+ status: 200,
52
+ };
53
+ });
54
+ });
55
+ afterEach(async () => {
56
+ if (originalFetch === undefined) {
57
+ Reflect.deleteProperty(globalThis, 'fetch');
58
+ }
59
+ else {
60
+ globalThis.fetch = originalFetch;
61
+ }
62
+ const root = tempCodexHome ? join(tempCodexHome, '..') : '';
63
+ clearEnv();
64
+ if (root)
65
+ await rm(root, { recursive: true, force: true });
66
+ });
67
+ it('drops unchanged stale tmux tails from repeated idle notifications but keeps fresh tails', async () => {
68
+ const base = {
69
+ sessionId: 'sess-idle-tail',
70
+ projectPath,
71
+ projectName: 'project',
72
+ };
73
+ const staleTail = [
74
+ 'risk summary',
75
+ '{"severity":"error","message":"old metadata"}',
76
+ 'resolved setup failure',
77
+ ].join('\n');
78
+ const first = await notifyLifecycle('session-idle', { ...base, tmuxTail: staleTail });
79
+ assert.equal(first?.anySuccess, true);
80
+ assert.equal(capturedBodies.length, 1);
81
+ assert.match(String(capturedBodies[0]?.message || ''), /risk summary/);
82
+ const second = await notifyLifecycle('session-idle', { ...base, tmuxTail: staleTail });
83
+ assert.equal(second?.anySuccess, true);
84
+ assert.equal(capturedBodies.length, 2);
85
+ assert.doesNotMatch(String(capturedBodies[1]?.message || ''), /risk summary/);
86
+ assert.doesNotMatch(String(capturedBodies[1]?.message || ''), /severity/);
87
+ const third = await notifyLifecycle('session-idle', { ...base, tmuxTail: 'fresh setup error' });
88
+ assert.equal(third?.anySuccess, true);
89
+ assert.equal(capturedBodies.length, 3);
90
+ assert.match(String(capturedBodies[2]?.message || ''), /fresh setup error/);
91
+ });
92
+ });
93
+ //# sourceMappingURL=session-idle-tail-dedupe.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-idle-tail-dedupe.test.js","sourceRoot":"","sources":["../../../src/notifications/__tests__/session-idle-tail-dedupe.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { describe, it } from 'node:test';
2
2
  import assert from 'node:assert/strict';
3
- import { mkdtemp, mkdir, writeFile, rm } from 'fs/promises';
3
+ import { mkdtemp, mkdir, writeFile, rm, appendFile } from 'fs/promises';
4
4
  import { join } from 'path';
5
5
  import { tmpdir } from 'os';
6
6
  import { randomUUID } from 'crypto';
@@ -184,4 +184,51 @@ describe('session-registry lock contention behavior', () => {
184
184
  }
185
185
  });
186
186
  });
187
+ describe('lookupByMessageId', () => {
188
+ it('prefers the most recent mapping when a platform message id is reused', async () => {
189
+ const homeDir = await mkdtemp(join(tmpdir(), 'omx-session-registry-reuse-'));
190
+ const stateDir = join(homeDir, '.omx', 'state');
191
+ const registryPath = join(stateDir, 'reply-session-registry.jsonl');
192
+ const originalHome = process.env.HOME;
193
+ const originalUserProfile = process.env.USERPROFILE;
194
+ try {
195
+ await mkdir(stateDir, { recursive: true });
196
+ process.env.HOME = homeDir;
197
+ process.env.USERPROFILE = homeDir;
198
+ const first = createMockMapping({
199
+ platform: 'discord-bot',
200
+ messageId: 'reused-message',
201
+ sessionId: 'session-earlier',
202
+ tmuxPaneId: '%1',
203
+ tmuxSessionName: 'earlier-session',
204
+ createdAt: '2026-03-20T00:00:00.000Z',
205
+ });
206
+ const second = createMockMapping({
207
+ platform: 'discord-bot',
208
+ messageId: 'reused-message',
209
+ sessionId: 'session-later',
210
+ tmuxPaneId: '%2',
211
+ tmuxSessionName: 'later-session',
212
+ createdAt: '2026-03-20T00:10:00.000Z',
213
+ });
214
+ await appendFile(registryPath, `${JSON.stringify(first)}\n${JSON.stringify(second)}\n`, 'utf-8');
215
+ const registry = await importSessionRegistryFresh();
216
+ const found = registry.lookupByMessageId('discord-bot', 'reused-message');
217
+ assert.ok(found);
218
+ assert.equal(found.sessionId, 'session-later');
219
+ assert.equal(found.tmuxPaneId, '%2');
220
+ }
221
+ finally {
222
+ if (typeof originalHome === 'string')
223
+ process.env.HOME = originalHome;
224
+ else
225
+ delete process.env.HOME;
226
+ if (typeof originalUserProfile === 'string')
227
+ process.env.USERPROFILE = originalUserProfile;
228
+ else
229
+ delete process.env.USERPROFILE;
230
+ await rm(homeDir, { recursive: true, force: true });
231
+ }
232
+ });
233
+ });
187
234
  //# sourceMappingURL=session-registry.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-registry.test.js","sourceRoot":"","sources":["../../../src/notifications/__tests__/session-registry.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-registry.test.js","sourceRoot":"","sources":["../../../src/notifications/__tests__/session-registry.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=session-status.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-status.test.d.ts","sourceRoot":"","sources":["../../../src/notifications/__tests__/session-status.test.ts"],"names":[],"mappings":""}