@askexenow/exe-os 0.9.365 → 0.9.367

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 (342) hide show
  1. package/dist/.dist-verified.json +3 -3
  2. package/dist/{active-agent-C6DPH43L.js → active-agent-R6Q7UEUD.js} +3 -3
  3. package/dist/{active-agent-MGF7J3HB.js → active-agent-V3CUDNED.js} +3 -3
  4. package/dist/{agent-defs-generator-X7TVMPVB.js → agent-defs-generator-MLPRGY75.js} +2 -2
  5. package/dist/agent-heartbeat-CQPGJIFF.js +13 -0
  6. package/dist/{agent-loop-E7RZCFDB.js → agent-loop-FOK2IRZQ.js} +1 -1
  7. package/dist/{agentic-ontology-CARDCG37.js → agentic-ontology-5FMQWGDZ.js} +1 -1
  8. package/dist/{backfill-metadata-ANCJA6LA.js → backfill-metadata-YXUMCKRV.js} +5 -5
  9. package/dist/{backup-verify-F7BHVEF7.js → backup-verify-GYHKAX7K.js} +1 -1
  10. package/dist/{behavior-injection-XQ4B7DCF.js → behavior-injection-7VGYY2KO.js} +7 -7
  11. package/dist/{behaviors-R2IE3PEN.js → behaviors-O6HKTSOF.js} +6 -6
  12. package/dist/bin/agentic-ontology-backfill.js +6 -6
  13. package/dist/bin/agentic-reflection-backfill.js +7 -7
  14. package/dist/bin/agentic-semantic-label.js +6 -6
  15. package/dist/bin/backfill-conversations.js +5 -5
  16. package/dist/bin/backfill-responses.js +5 -5
  17. package/dist/bin/backfill-vectors.js +6 -6
  18. package/dist/bin/bulk-sync-postgres.js +10 -10
  19. package/dist/bin/cc-doctor.js +5 -5
  20. package/dist/bin/cleanup-stale-review-tasks.js +14 -13
  21. package/dist/bin/cli.js +20 -20
  22. package/dist/bin/deferred-daemon-restart.js +78 -75
  23. package/dist/bin/exe-agent-config.js +2 -2
  24. package/dist/bin/exe-agent.js +251 -13
  25. package/dist/bin/exe-assign.js +6 -6
  26. package/dist/bin/exe-boot.js +29 -27
  27. package/dist/bin/exe-call.js +4 -4
  28. package/dist/bin/exe-cloud.js +11 -11
  29. package/dist/bin/exe-config-dump.js +2 -2
  30. package/dist/bin/exe-dispatch.js +15 -14
  31. package/dist/bin/exe-doctor.js +5 -5
  32. package/dist/bin/exe-export-behaviors.js +8 -8
  33. package/dist/bin/exe-forget.js +7 -7
  34. package/dist/bin/exe-gateway.js +7 -7
  35. package/dist/bin/exe-healthcheck.js +5 -5
  36. package/dist/bin/exe-heartbeat.js +17 -16
  37. package/dist/bin/exe-kill.js +18 -17
  38. package/dist/bin/exe-launch-agent.js +23 -22
  39. package/dist/bin/exe-mcp.js +3 -3
  40. package/dist/bin/exe-memory-reads.js +5 -5
  41. package/dist/bin/exe-new-employee.js +8 -8
  42. package/dist/bin/exe-os-mcp-proxy.js +3 -3
  43. package/dist/bin/exe-pending-messages.js +15 -14
  44. package/dist/bin/exe-pending-notifications.js +14 -13
  45. package/dist/bin/exe-pending-reviews.js +14 -13
  46. package/dist/bin/exe-rename.js +4 -4
  47. package/dist/bin/exe-review.js +17 -16
  48. package/dist/bin/exe-search.js +6 -6
  49. package/dist/bin/exe-session-cleanup.js +18 -17
  50. package/dist/bin/exe-settings.js +10 -10
  51. package/dist/bin/exe-start-codex.js +21 -13
  52. package/dist/bin/exe-start-opencode.js +9 -9
  53. package/dist/bin/exe-status.js +16 -15
  54. package/dist/bin/exe-support.js +3 -3
  55. package/dist/bin/exe-team.js +4 -4
  56. package/dist/bin/git-sweep.js +23 -14
  57. package/dist/bin/graph-backfill.js +6 -6
  58. package/dist/bin/graph-export.js +6 -6
  59. package/dist/bin/import-history.js +9 -9
  60. package/dist/bin/install.js +80 -77
  61. package/dist/bin/intercom-check.js +4 -4
  62. package/dist/bin/mcp-sessions.js +2 -2
  63. package/dist/bin/orchestration-metrics.js +4 -4
  64. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  65. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  66. package/dist/bin/reconcile-backlog.js +2 -2
  67. package/dist/bin/registry-proxy.js +1 -1
  68. package/dist/bin/scan-tasks.js +14 -13
  69. package/dist/bin/setup.js +1 -1
  70. package/dist/bin/shard-migrate.js +5 -5
  71. package/dist/bin/stack-update.js +34 -6
  72. package/dist/bin/verify-stack.js +6 -1
  73. package/dist/bin/vps-health-gate.js +1 -1
  74. package/dist/{boot-generation-X45BSVZY.js → boot-generation-EZ2Y74IG.js} +3 -3
  75. package/dist/{boot-review-sections-OBVRXXSF.js → boot-review-sections-7CNQTAYR.js} +13 -12
  76. package/dist/build-manifest.json +865 -835
  77. package/dist/{capability-cards-57FURUMR.js → capability-cards-ZTFMK4VJ.js} +2 -2
  78. package/dist/{capacity-monitor-QEL62JDO.js → capacity-monitor-B2XU4YHP.js} +15 -14
  79. package/dist/{catchup-brief-PMXTCASA.js → catchup-brief-3BEOL7EV.js} +18 -17
  80. package/dist/{chunk-J6I7X272.js → chunk-267QB6VB.js} +1 -1
  81. package/dist/{chunk-IXEFO6HD.js → chunk-2IZH6W73.js} +3 -3
  82. package/dist/{chunk-6GQYPJPG.js → chunk-4DJDC4Y2.js} +8 -8
  83. package/dist/{chunk-LZKYVMBY.js → chunk-4WOOCTON.js} +2 -2
  84. package/dist/{chunk-RHX6MNWY.js → chunk-52CFP2AV.js} +1 -1
  85. package/dist/{chunk-EWZYFG5Q.js → chunk-53LCVVX5.js} +2 -2
  86. package/dist/{chunk-52TIQJEQ.js → chunk-5CH6XKVC.js} +1 -1
  87. package/dist/{chunk-22YQBVMO.js → chunk-66BFQOWR.js} +4 -4
  88. package/dist/{chunk-ESTR7QUP.js → chunk-6MCUXRIP.js} +1 -1
  89. package/dist/{chunk-LHOKWZKL.js → chunk-6NJURKRG.js} +1 -1
  90. package/dist/{chunk-VGE6IHZB.js → chunk-7W5LCREK.js} +80 -12
  91. package/dist/{chunk-FXPAUDCZ.js → chunk-7W6FDHHY.js} +1 -1
  92. package/dist/{chunk-E6ORBQHP.js → chunk-AAMGHW5W.js} +1 -0
  93. package/dist/{chunk-EMZHB767.js → chunk-AE3PYLLS.js} +9 -9
  94. package/dist/{chunk-JUOZLXLH.js → chunk-AEVE654G.js} +1 -1
  95. package/dist/{chunk-PPGPCWRC.js → chunk-ALKYXAMB.js} +4 -4
  96. package/dist/{chunk-MPQXQ5IE.js → chunk-ALYI3P5D.js} +1 -1
  97. package/dist/{chunk-4QKKLK3C.js → chunk-BQYQES2Z.js} +10 -10
  98. package/dist/{chunk-WYLFDSIE.js → chunk-BTMX2D4X.js} +5 -5
  99. package/dist/chunk-BTSWFMEH.js +14 -0
  100. package/dist/{chunk-EKVTRI3N.js → chunk-BY3V5CLX.js} +5 -4
  101. package/dist/{chunk-ZSZPMUNX.js → chunk-CKKLSY7B.js} +126 -7
  102. package/dist/{chunk-6Q263OZE.js → chunk-CTPG4KYZ.js} +1 -1
  103. package/dist/{chunk-C3UAQ3JG.js → chunk-CX4MVEM3.js} +1 -1
  104. package/dist/{chunk-DEFSN2FQ.js → chunk-CYNL3ZFD.js} +3 -3
  105. package/dist/{chunk-RD4E5G3B.js → chunk-DTTISDTI.js} +1 -1
  106. package/dist/{chunk-ZRKEUCUZ.js → chunk-DXCTHNEF.js} +12 -10
  107. package/dist/{chunk-KSVLBATT.js → chunk-E5QQZDQN.js} +53 -0
  108. package/dist/{chunk-DQ5KHWFD.js → chunk-EDZ5URGR.js} +1 -1
  109. package/dist/{chunk-ZDUO6QBH.js → chunk-F3PIHVVY.js} +1 -1
  110. package/dist/{chunk-EJ4522YM.js → chunk-FSIAGX55.js} +1 -1
  111. package/dist/{chunk-RVWALVDT.js → chunk-GUOMZ3JM.js} +2 -2
  112. package/dist/{chunk-BRLS5OLZ.js → chunk-HSBKV5LB.js} +35 -4
  113. package/dist/{chunk-QFIVK3G5.js → chunk-IIVFXD6P.js} +1 -1
  114. package/dist/{chunk-SBAU735L.js → chunk-J6VQ7HYV.js} +4 -4
  115. package/dist/{chunk-EWCEUO65.js → chunk-JFOZHVNO.js} +1 -1
  116. package/dist/{chunk-T6S45OLV.js → chunk-JJRZE2LD.js} +1 -1
  117. package/dist/{chunk-DYWGIPVP.js → chunk-JOKKIFRN.js} +3 -3
  118. package/dist/{chunk-X6A2VWVJ.js → chunk-K2OFS57E.js} +2 -2
  119. package/dist/{chunk-NV6A5HDN.js → chunk-KDD26FUY.js} +1 -1
  120. package/dist/{chunk-L3TB7CC3.js → chunk-KM6XSFHP.js} +12 -2
  121. package/dist/{chunk-CKG6CVKI.js → chunk-LIZ3QQGK.js} +1 -1
  122. package/dist/{chunk-OFGFRT5J.js → chunk-LW5WRSDD.js} +1 -1
  123. package/dist/{chunk-JITNFE4W.js → chunk-MLPPG2OG.js} +1 -1
  124. package/dist/{chunk-3JNVB5LG.js → chunk-MQ3N4KZY.js} +1 -1
  125. package/dist/{chunk-2FYIMTQE.js → chunk-N3JLNMPF.js} +2 -2
  126. package/dist/{chunk-RZIKSE6N.js → chunk-NPND34FS.js} +4 -4
  127. package/dist/{chunk-DWAQOEXL.js → chunk-O3F5P6Z5.js} +2 -2
  128. package/dist/{chunk-M7EES2KM.js → chunk-OADOH45L.js} +3 -3
  129. package/dist/{chunk-MZJBUAC3.js → chunk-OISZ2I4X.js} +4 -4
  130. package/dist/{chunk-R7RM766N.js → chunk-OPS7KUFV.js} +3 -3
  131. package/dist/{chunk-JNVQGLPX.js → chunk-P5XER5QY.js} +3 -3
  132. package/dist/{chunk-J4U5Z7VX.js → chunk-P76VYS6V.js} +4 -4
  133. package/dist/{chunk-KRUYQFSH.js → chunk-PFOJX6CR.js} +5 -5
  134. package/dist/chunk-PFR6EOUY.js +356 -0
  135. package/dist/{agent-heartbeat-I5UPGXAU.js → chunk-PHUHIVD5.js} +4 -5
  136. package/dist/{chunk-45EQTS7B.js → chunk-PQ6NRLKL.js} +1 -1
  137. package/dist/{chunk-5CBGH6RA.js → chunk-PR3AHVFW.js} +3 -3
  138. package/dist/{chunk-ODBRU6BF.js → chunk-PS4NA7PM.js} +1399 -943
  139. package/dist/{chunk-CPILYY2K.js → chunk-PS6VPW64.js} +1 -1
  140. package/dist/{chunk-YMJOLEPE.js → chunk-PWCZFIQH.js} +4 -4
  141. package/dist/{chunk-POPRJKAY.js → chunk-QS6HI4B6.js} +6 -0
  142. package/dist/{chunk-ZNEBZCZR.js → chunk-QWDZNQXA.js} +1 -1
  143. package/dist/{chunk-ORNCMRIX.js → chunk-QX33D4CH.js} +25 -31
  144. package/dist/{chunk-BATQKSLI.js → chunk-R3H3WW7H.js} +2 -2
  145. package/dist/chunk-R4AROSYI.js +496 -0
  146. package/dist/{chunk-F2S3M5MB.js → chunk-SFKIZYKK.js} +2 -2
  147. package/dist/{chunk-IIZITKBV.js → chunk-TCR7NBHD.js} +4 -4
  148. package/dist/{chunk-7C4FUNVO.js → chunk-TJSTWACD.js} +2 -2
  149. package/dist/chunk-TX3Q2GIL.js +97 -0
  150. package/dist/{chunk-2ESB5SDP.js → chunk-TZFOWWPM.js} +1 -1
  151. package/dist/{chunk-WR75WUEP.js → chunk-UI3K73LD.js} +1 -1
  152. package/dist/{chunk-DJK45U7B.js → chunk-URHJDUWO.js} +1 -1
  153. package/dist/{chunk-SP37DONS.js → chunk-V3ISR2QT.js} +1 -1
  154. package/dist/{chunk-EPNWEOOE.js → chunk-VY3QUSWS.js} +6 -6
  155. package/dist/{chunk-O2MEBF23.js → chunk-WBKIU6UJ.js} +2 -2
  156. package/dist/{chunk-TO6TB75E.js → chunk-WCDIDSLR.js} +2 -2
  157. package/dist/{chunk-EVPBYX2Z.js → chunk-WSLFGJBA.js} +1 -1
  158. package/dist/{chunk-OPNROU5B.js → chunk-WYVBWDFY.js} +1 -1
  159. package/dist/{chunk-JYFYIGYK.js → chunk-XA4EU3CW.js} +1 -1
  160. package/dist/{chunk-ZEKCHV43.js → chunk-XAMLDTRA.js} +4 -4
  161. package/dist/{chunk-EHHMNKOA.js → chunk-XKFMNAJ7.js} +1 -1
  162. package/dist/{chunk-5KLQCGI5.js → chunk-XKZD5FGK.js} +55 -0
  163. package/dist/{chunk-U373MEF5.js → chunk-XSXZVKJ7.js} +3 -3
  164. package/dist/{chunk-IM2I7OOS.js → chunk-XTEKGO44.js} +1 -1
  165. package/dist/{chunk-Q7BU5Q6I.js → chunk-XUGOVOID.js} +3 -3
  166. package/dist/{chunk-BEHLIRRJ.js → chunk-XVRQZCTS.js} +1 -1
  167. package/dist/{chunk-P47MPWNU.js → chunk-Y4JVM3SI.js} +1 -1
  168. package/dist/{chunk-NO3M2AFM.js → chunk-Y7OK5PJE.js} +1 -1
  169. package/dist/{chunk-ANPE3TT3.js → chunk-YA4PM3MV.js} +3 -3
  170. package/dist/{chunk-EPDNWY5P.js → chunk-YYLVHUYZ.js} +1 -1
  171. package/dist/{chunk-QYJANQWC.js → chunk-Z5Z3MYUW.js} +2 -2
  172. package/dist/{chunk-MXEIZUXG.js → chunk-ZSHLY5BS.js} +1 -1
  173. package/dist/{chunk-AGQAGOQN.js → chunk-ZZ3JQM5I.js} +9 -9
  174. package/dist/{cleanup-graph-garbage-CAA625RJ.js → cleanup-graph-garbage-XDIX3HLN.js} +7 -7
  175. package/dist/{cloud-sync-command-DBB7WRHL.js → cloud-sync-command-VPYE4FIH.js} +2 -2
  176. package/dist/{cloud-sync-db-init-V7IB23W5.js → cloud-sync-db-init-NSDBTFGI.js} +1 -1
  177. package/dist/{cloud-sync-shutdown-2D3B73CJ.js → cloud-sync-shutdown-6OUYTG4T.js} +2 -2
  178. package/dist/{co-activation-JVN7EBS6.js → co-activation-EAAKGGZH.js} +2 -2
  179. package/dist/{co-occurrence-526PTFGT.js → co-occurrence-OFVF55RX.js} +5 -5
  180. package/dist/codex-consolidation-PPXNBXCV.js +96 -0
  181. package/dist/{conversation-entity-extractor-JO56DB2E.js → conversation-entity-extractor-ZR5GFKAI.js} +3 -3
  182. package/dist/{crdt-sync-LIJLZKFE.js → crdt-sync-FGH4SBFW.js} +1 -1
  183. package/dist/{crm-webhook-55F7Y6D2.js → crm-webhook-PJATR2DC.js} +2 -2
  184. package/dist/{cto-delegation-gate-QIYV4KFO.js → cto-delegation-gate-PO4LSSQ4.js} +13 -12
  185. package/dist/{daemon-orchestration-Q3GJA2JJ.js → daemon-orchestration-IJFZFQUX.js} +18 -17
  186. package/dist/{doc-graph-extractor-P46R4QME.js → doc-graph-extractor-CAYUAM5A.js} +5 -5
  187. package/dist/{documents-7KFEREWO.js → documents-W2G477QE.js} +6 -6
  188. package/dist/{dreaming-JMUXBAPU.js → dreaming-FVXSIIWV.js} +17 -16
  189. package/dist/{employee-boot-brief-HN63D2BY.js → employee-boot-brief-OYMSHFHA.js} +19 -18
  190. package/dist/{exe-drift-7J7GX7DP.js → exe-drift-67RGJOBX.js} +3 -3
  191. package/dist/{exe-export-KJ7B2OBU.js → exe-export-SGYX6XZG.js} +7 -7
  192. package/dist/{exe-import-HPZDWKGE.js → exe-import-UABVA5N3.js} +7 -7
  193. package/dist/{exe-key-2PREP464.js → exe-key-XNYDCVFE.js} +78 -75
  194. package/dist/{exe-org-VEIISATF.js → exe-org-XJVSU5HN.js} +8 -8
  195. package/dist/{exe-snapshot-JXQFLUKA.js → exe-snapshot-YXOGYZUX.js} +18 -17
  196. package/dist/{fast-db-init-SCXJXOYX.js → fast-db-init-GDFJY5UH.js} +1 -1
  197. package/dist/{founder-context-U2SZPLYV.js → founder-context-KUXSNXKS.js} +2 -2
  198. package/dist/gateway/index.js +8 -8
  199. package/dist/{git-staleness-S4NDR7NX.js → git-staleness-NN6RWNLW.js} +2 -2
  200. package/dist/{global-procedures-ZOFTOXIR.js → global-procedures-XDNA3TNA.js} +3 -3
  201. package/dist/{graph-auto-extract-CLVTSUSB.js → graph-auto-extract-KTOR45V4.js} +5 -5
  202. package/dist/{graph-rag-LSJLWGXV.js → graph-rag-L5NV5YWD.js} +3 -3
  203. package/dist/{hook-integrity-SGTKBL6W.js → hook-integrity-X3YAVGUW.js} +1 -1
  204. package/dist/{hook-prefetch-BDSLB6F4.js → hook-prefetch-WE4MIXBM.js} +14 -13
  205. package/dist/hooks/bug-report-worker.js +18 -17
  206. package/dist/hooks/codex-stop-task-finalizer.js +19 -18
  207. package/dist/hooks/commit-complete.js +33 -19
  208. package/dist/hooks/error-recall.js +8 -8
  209. package/dist/hooks/exe-heartbeat-hook.js +4 -4
  210. package/dist/hooks/ingest-worker.js +2 -2
  211. package/dist/hooks/ingest.js +11 -11
  212. package/dist/hooks/instructions-loaded.js +5 -5
  213. package/dist/hooks/manifest.json +20 -20
  214. package/dist/hooks/notification.js +5 -5
  215. package/dist/hooks/post-compact.js +4 -4
  216. package/dist/hooks/post-tool-combined.js +12 -12
  217. package/dist/hooks/pre-compact.js +17 -16
  218. package/dist/hooks/pre-tool-use.js +68 -23
  219. package/dist/hooks/prompt-submit.js +30 -29
  220. package/dist/hooks/session-end.js +113 -99
  221. package/dist/hooks/session-start.js +16 -16
  222. package/dist/hooks/stop.js +82 -19
  223. package/dist/hooks/subagent-stop.js +18 -17
  224. package/dist/hooks/summary-worker.js +22 -21
  225. package/dist/index.js +24 -23
  226. package/dist/{installer-RC2JCKSE.js → installer-EAAYEEEF.js} +6 -6
  227. package/dist/{installer-KCEM4RCG.js → installer-EPQAOI6M.js} +152 -8
  228. package/dist/{installer-EA7T3PBD.js → installer-UDRMFY75.js} +6 -6
  229. package/dist/{intercom-queue-6DZPHHQ2.js → intercom-queue-IBOAVT2I.js} +13 -12
  230. package/dist/lib/cloud-sync.js +10 -10
  231. package/dist/lib/consolidation.js +7 -7
  232. package/dist/lib/database.js +2 -2
  233. package/dist/lib/db-backup.js +1 -1
  234. package/dist/lib/db-write-worker.js +3 -3
  235. package/dist/lib/db.js +2 -2
  236. package/dist/lib/device-registry.js +1 -1
  237. package/dist/lib/employee-templates.js +4 -4
  238. package/dist/lib/employees.js +2 -2
  239. package/dist/lib/exe-daemon.js +77 -76
  240. package/dist/lib/hybrid-search.js +6 -6
  241. package/dist/lib/identity.js +2 -2
  242. package/dist/lib/license.js +2 -2
  243. package/dist/lib/messaging.js +14 -13
  244. package/dist/lib/registry-proxy.js +1 -1
  245. package/dist/lib/reminders.js +3 -3
  246. package/dist/lib/schedules.js +6 -6
  247. package/dist/lib/session-registry.js +4 -4
  248. package/dist/lib/skill-learning.js +7 -7
  249. package/dist/lib/status-brief.js +2 -1
  250. package/dist/lib/store.js +5 -5
  251. package/dist/lib/task-router.js +3 -3
  252. package/dist/lib/tasks.js +15 -14
  253. package/dist/lib/tmux-routing.js +13 -12
  254. package/dist/lib/token-spend.js +3 -3
  255. package/dist/{license-gate-HMSMUIAU.js → license-gate-3TTWJABL.js} +3 -3
  256. package/dist/{license-sync-FBCMPC4J.js → license-sync-ZC6TPKVV.js} +2 -2
  257. package/dist/mcp/register-tools.js +77 -74
  258. package/dist/mcp/server.js +78 -75
  259. package/dist/mcp/tools/complete-reminder.js +4 -4
  260. package/dist/mcp/tools/create-reminder.js +4 -4
  261. package/dist/mcp/tools/create-task.js +17 -16
  262. package/dist/mcp/tools/deactivate-behavior.js +8 -8
  263. package/dist/mcp/tools/list-reminders.js +4 -4
  264. package/dist/mcp/tools/list-tasks.js +17 -16
  265. package/dist/mcp/tools/send-message.js +16 -15
  266. package/dist/mcp/tools/update-task.js +16 -15
  267. package/dist/{mcp-http-config-YKJN52HG.js → mcp-http-config-ROF5EPEF.js} +3 -3
  268. package/dist/{mcp-session-identity-QLUVYWPR.js → mcp-session-identity-ERU6FEUB.js} +13 -12
  269. package/dist/{memory-cards-K2OSX4AW.js → memory-cards-3QTXI2SG.js} +5 -5
  270. package/dist/{memory-graph-extractor-YLTSKLSY.js → memory-graph-extractor-7GAILMYG.js} +6 -6
  271. package/dist/{memory-poisoning-defense-IPO4ADRL.js → memory-poisoning-defense-TPXSRJTQ.js} +2 -2
  272. package/dist/{memory-pressure-watchdog-ZI3TH2OF.js → memory-pressure-watchdog-ZSOP6T2F.js} +14 -13
  273. package/dist/{memory-reflection-ZKVRU3NT.js → memory-reflection-3AI4JBV2.js} +2 -2
  274. package/dist/{notification-ledger-4REL6M3T.js → notification-ledger-ZU7ZFJJX.js} +16 -14
  275. package/dist/{notifications-UXJUAP3C.js → notifications-S4GU22GF.js} +13 -12
  276. package/dist/{orchestration-events-GMRGGBMN.js → orchestration-events-HVG56HJ5.js} +3 -3
  277. package/dist/{orchestrator-5TV75HDJ.js → orchestrator-UW3Q3WYG.js} +15 -14
  278. package/dist/{org-brief-session-7AZZEO3F.js → org-brief-session-G36TJBN4.js} +5 -5
  279. package/dist/{org-consent-policy-XT6UZENB.js → org-consent-policy-RMYVMM3X.js} +1 -1
  280. package/dist/{org-partner-runtime-WLZAZJIY.js → org-partner-runtime-KXMGEYFW.js} +5 -5
  281. package/dist/{org-row-visibility-A5XM4MVO.js → org-row-visibility-UI5PGN76.js} +1 -1
  282. package/dist/{pipeline-router-UEVXDUHR.js → pipeline-router-IODWXDDI.js} +3 -3
  283. package/dist/{plan-limits-QEP32X4W.js → plan-limits-XMAQVEJZ.js} +5 -5
  284. package/dist/{projection-worker-GMRC6SBH.js → projection-worker-6LZUCI3B.js} +2 -2
  285. package/dist/{prospective-memory-QLHSAPSG.js → prospective-memory-G5VK5GCD.js} +2 -2
  286. package/dist/{push-notifications-GKRPXOGI.js → push-notifications-S2RYRXLF.js} +14 -13
  287. package/dist/{reranker-GB4VEMUV.js → reranker-EHQTAA3L.js} +1 -1
  288. package/dist/{retrieval-health-QIBPBGN6.js → retrieval-health-WZ4ICGNF.js} +1 -1
  289. package/dist/{review-polling-MU47NQ2N.js → review-polling-MAWLRDSP.js} +14 -13
  290. package/dist/runtime/index.js +18 -17
  291. package/dist/{session-events-YMQ3VGBJ.js → session-events-BRUIZ5E4.js} +14 -13
  292. package/dist/{session-kill-telemetry-VGPKE57M.js → session-kill-telemetry-PTZLHT33.js} +14 -13
  293. package/dist/{session-scope-P46KAHXQ.js → session-scope-G4RVJJGR.js} +13 -12
  294. package/dist/{setup-wizard-BRNHSJ4U.js → setup-wizard-WFEUB63Z.js} +1 -1
  295. package/dist/{skill-refinement-NLYDSFEH.js → skill-refinement-2OYPH7WD.js} +3 -3
  296. package/dist/{stack-promote-NHFTNIM2.js → stack-promote-DLYYQXQI.js} +5 -4
  297. package/dist/{stack-release-AQVKZUS7.js → stack-release-OPWARLXI.js} +5 -4
  298. package/dist/{stack-update-LLX5KT7G.js → stack-update-SJ43IEQE.js} +10 -3
  299. package/dist/{steward-gate-JKHYFAHA.js → steward-gate-V7PBGVFK.js} +3 -3
  300. package/dist/{subagent-brief-injection-VDVOHDOU.js → subagent-brief-injection-BLCRI2AJ.js} +20 -19
  301. package/dist/{support-inbox-S6YO5YZU.js → support-inbox-6HOQYFD2.js} +3 -3
  302. package/dist/{task-enforcement-LXW45H5Z.js → task-enforcement-EF6O2V26.js} +14 -13
  303. package/dist/{task-request-inbox-UCSKDC3R.js → task-request-inbox-OB2KIJWO.js} +1 -1
  304. package/dist/{task-scope-GDLFE26E.js → task-scope-74JBTKJN.js} +17 -15
  305. package/dist/{tasks-crud-W7VGWRUV.js → tasks-crud-ZU6RZDEZ.js} +13 -12
  306. package/dist/{tasks-notify-CT7NWCS4.js → tasks-notify-767DRYAA.js} +14 -13
  307. package/dist/{tasks-review-WCSKOUFW.js → tasks-review-4F6PZZ3B.js} +13 -12
  308. package/dist/{telemetry-upload-FK5WKXVB.js → telemetry-upload-2JM6KIAB.js} +7 -7
  309. package/dist/{token-budget-GBNGSIU3.js → token-budget-NH2RD4YX.js} +3 -3
  310. package/dist/{tool-gates-3IC7DK4R.js → tool-gates-2OZY3GZM.js} +1 -1
  311. package/dist/{tool-gates-GXSYBVK4.js → tool-gates-7PLIOLAL.js} +1 -1
  312. package/dist/{tool-telemetry-VKMRS6MP.js → tool-telemetry-CHCBD4OQ.js} +1 -1
  313. package/dist/tui/App.js +22 -21
  314. package/dist/{tui-data-FTPV2XBQ.js → tui-data-244GF3BI.js} +13 -12
  315. package/dist/{update-support-J6UWPUOC.js → update-support-P2LO3DAB.js} +9 -9
  316. package/dist/work-claims-4QOE7DT2.js +53 -0
  317. package/dist/{work-state-heartbeat-4LDF6DSM.js → work-state-heartbeat-GX3VWWWK.js} +1 -1
  318. package/dist/{worker-gate-35VZINZG.js → worker-gate-62PZATOV.js} +1 -1
  319. package/dist/{workflow-engine-4DA6RSHI.js → workflow-engine-7YIRU62F.js} +2 -2
  320. package/dist/{worktree-H3YFJ3NU.js → worktree-3TUKIZWY.js} +4 -4
  321. package/dist/{worktree-sweep-4EDLLQ2E.js → worktree-sweep-MYQHUXDE.js} +5 -5
  322. package/package.json +6 -2
  323. package/release-notes.json +68 -62
  324. package/dist/chunk-2RQT7TED.js +0 -275
  325. /package/dist/{chunk-7Y6AQWVT.js → chunk-25EN7XXN.js} +0 -0
  326. /package/dist/{chunk-3THNS2T7.js → chunk-62U63R3E.js} +0 -0
  327. /package/dist/{chunk-VS4LPG66.js → chunk-65ZSFW3O.js} +0 -0
  328. /package/dist/{chunk-LKYGSJ2E.js → chunk-BTFDA3UJ.js} +0 -0
  329. /package/dist/{chunk-JRPYLUXH.js → chunk-DAXFAXLN.js} +0 -0
  330. /package/dist/{chunk-3NBWARKC.js → chunk-FLP2BQOA.js} +0 -0
  331. /package/dist/{chunk-CMBF5WCL.js → chunk-GTOMDMJL.js} +0 -0
  332. /package/dist/{chunk-QYECRPGD.js → chunk-JLYHJJHU.js} +0 -0
  333. /package/dist/{chunk-MBBFL2SP.js → chunk-JZBZI36P.js} +0 -0
  334. /package/dist/{chunk-BY7WWPRM.js → chunk-OUIEDJFO.js} +0 -0
  335. /package/dist/{chunk-7DMCAGSC.js → chunk-WM7Y5ZV2.js} +0 -0
  336. /package/dist/{chunk-G2EAYH4U.js → chunk-XM7HJ5SS.js} +0 -0
  337. /package/dist/{chunk-UY6HRDB2.js → chunk-YNPOELAN.js} +0 -0
  338. /package/dist/{core-memory-CMPPHJN5.js → core-memory-EARETDZ6.js} +0 -0
  339. /package/dist/{memory-isolation-ZB5S5HCO.js → memory-isolation-XASOGA7G.js} +0 -0
  340. /package/dist/{oauth-server-NP7KGF7N.js → oauth-server-C3BXAKAW.js} +0 -0
  341. /package/dist/{project-boot-LEZSK3W7.js → project-boot-LCFBQ6NB.js} +0 -0
  342. /package/dist/{wiki-acl-5DKOWOIH.js → wiki-acl-XQH4UBP2.js} +0 -0
@@ -8,7 +8,7 @@ process.on("unhandledRejection", (err) => {
8
8
  process.exit(1);
9
9
  });
10
10
  try {
11
- const { verifyOrBlock } = await import("../hook-integrity-SGTKBL6W.js");
11
+ const { verifyOrBlock } = await import("../hook-integrity-X3YAVGUW.js");
12
12
  if (!await verifyOrBlock(new URL(import.meta.url).pathname)) process.exit(2);
13
13
  } catch (err) {
14
14
  const code = err?.code;
@@ -46,7 +46,7 @@ process.stdin.on("end", async () => {
46
46
  if (detectError(payload)) {
47
47
  const { isDaemonReady } = await import("../daemon-ready-signal-CKXPUMJ2.js");
48
48
  if (isDaemonReady()) {
49
- const { fastDbInit } = await import("../fast-db-init-SCXJXOYX.js");
49
+ const { fastDbInit } = await import("../fast-db-init-GDFJY5UH.js");
50
50
  await fastDbInit({ daemonOnly: true });
51
51
  const errorText = JSON.stringify(payload.tool_response ?? payload.tool_result ?? "");
52
52
  const { lightweightSearch } = await import("../lib/hybrid-search.js");
@@ -75,7 +75,7 @@ ${context}`
75
75
  if (toolName.startsWith("mcp__exe-os__")) {
76
76
  const { detectError } = await import("../lib/error-detector.js");
77
77
  if (!detectError(payload)) {
78
- const { getActiveAgent } = await import("../active-agent-MGF7J3HB.js");
78
+ const { getActiveAgent } = await import("../active-agent-V3CUDNED.js");
79
79
  const { clearMcpStale } = await import("../mcp-stale-flag-ZM23XRSJ.js");
80
80
  clearMcpStale(getActiveAgent().agentId);
81
81
  }
@@ -85,12 +85,12 @@ ${context}`
85
85
  try {
86
86
  const payload = JSON.parse(input);
87
87
  const toolName = String(payload.tool_name ?? "");
88
- const { getActiveAgent } = await import("../active-agent-MGF7J3HB.js");
88
+ const { getActiveAgent } = await import("../active-agent-V3CUDNED.js");
89
89
  const driftAgent = getActiveAgent();
90
90
  if (driftAgent.agentId !== "default" && toolName) {
91
91
  const { existsSync: driftExists, readFileSync: driftRead, writeFileSync: driftWrite, mkdirSync: driftMkdir } = await import("fs");
92
92
  const driftPath = await import("path");
93
- const { TOOL_CATEGORIES, TOOL_GATES } = await import("../tool-gates-GXSYBVK4.js");
93
+ const { TOOL_CATEGORIES, TOOL_GATES } = await import("../tool-gates-7PLIOLAL.js");
94
94
  const normalized = toolName.replace(/[_-]/g, "").toLowerCase();
95
95
  let toolCategory = "unknown";
96
96
  for (const [registerFn, cat] of Object.entries(TOOL_CATEGORIES)) {
@@ -142,7 +142,7 @@ You are **${driftAgent.agentId}**. You've used ${mismatches.length} tools outsid
142
142
  }
143
143
  try {
144
144
  const payload = JSON.parse(input);
145
- const { getActiveAgent: getInvAgent } = await import("../active-agent-MGF7J3HB.js");
145
+ const { getActiveAgent: getInvAgent } = await import("../active-agent-V3CUDNED.js");
146
146
  const invAgent = getInvAgent();
147
147
  const { trackToolResult } = await import("../investigation-tracker-WSCY4XBP.js");
148
148
  const { resolveProjectName } = await import("../project-name-ILJTETUE.js");
@@ -160,7 +160,7 @@ You are **${driftAgent.agentId}**. You've used ${mismatches.length} tools outsid
160
160
  }
161
161
  try {
162
162
  const budgetData = JSON.parse(input);
163
- const { getActiveAgent: getBudgetAgent } = await import("../active-agent-MGF7J3HB.js");
163
+ const { getActiveAgent: getBudgetAgent } = await import("../active-agent-V3CUDNED.js");
164
164
  const budgetAgent = getBudgetAgent();
165
165
  if (budgetAgent.agentId !== "default") {
166
166
  const budgetPath = await import("path");
@@ -183,7 +183,7 @@ You are **${driftAgent.agentId}**. You've used ${mismatches.length} tools outsid
183
183
  const toolOutputStr = JSON.stringify(budgetData.tool_response ?? budgetData.tool_result ?? {});
184
184
  const estimatedInputTokens = Math.ceil(toolInputStr.length / 4);
185
185
  const estimatedOutputTokens = Math.ceil(toolOutputStr.length / 4);
186
- const { createTokenBudgetMiddleware } = await import("../token-budget-GBNGSIU3.js");
186
+ const { createTokenBudgetMiddleware } = await import("../token-budget-NH2RD4YX.js");
187
187
  const middleware = createTokenBudgetMiddleware(cached.taskId);
188
188
  const budgetResult = await middleware.onTokenUsed(estimatedInputTokens, estimatedOutputTokens);
189
189
  if (budgetResult.warned) {
@@ -216,7 +216,7 @@ Your task token budget has been reached (${budgetResult.percentUsed}% used). Wra
216
216
  const artifactPayload = JSON.parse(input);
217
217
  const { artifactTouchFromToolUse } = await import("../artifact-provenance-C7HQ267L.js");
218
218
  const { detectError: artifactDetectError } = await import("../lib/error-detector.js");
219
- const { getActiveAgent: getArtifactAgent } = await import("../active-agent-MGF7J3HB.js");
219
+ const { getActiveAgent: getArtifactAgent } = await import("../active-agent-V3CUDNED.js");
220
220
  const touch = artifactTouchFromToolUse(artifactPayload, {
221
221
  agentId: getArtifactAgent().agentId,
222
222
  hasError: artifactDetectError(artifactPayload)
@@ -227,13 +227,13 @@ Your task token budget has been reached (${budgetResult.percentUsed}% used). Wra
227
227
  }
228
228
  try {
229
229
  const data = JSON.parse(input);
230
- const { resolveAgentAttribution } = await import("../active-agent-MGF7J3HB.js");
230
+ const { resolveAgentAttribution } = await import("../active-agent-V3CUDNED.js");
231
231
  const { detectError } = await import("../lib/error-detector.js");
232
232
  const attribution = resolveAgentAttribution(data);
233
233
  const agent = { agentId: attribution.agentId, agentRole: attribution.agentRole };
234
234
  try {
235
- const { fastDbInit } = await import("../fast-db-init-SCXJXOYX.js");
236
- const { recordSessionEvent } = await import("../session-events-YMQ3VGBJ.js");
235
+ const { fastDbInit } = await import("../fast-db-init-GDFJY5UH.js");
236
+ const { recordSessionEvent } = await import("../session-events-BRUIZ5E4.js");
237
237
  const client = await fastDbInit({ daemonOnly: true });
238
238
  const toolName = String(data.tool_name ?? "unknown");
239
239
  const toolInput = JSON.stringify(data.tool_input ?? {});
@@ -1,33 +1,34 @@
1
1
  import {
2
2
  checkpointActiveTask,
3
3
  writeContinuityCheckpoint
4
- } from "../chunk-BY7WWPRM.js";
4
+ } from "../chunk-OUIEDJFO.js";
5
5
  import "../chunk-SH45SJQW.js";
6
6
  import {
7
7
  getActiveAgent
8
- } from "../chunk-ZNEBZCZR.js";
8
+ } from "../chunk-QWDZNQXA.js";
9
9
  import "../chunk-2ADYTOHQ.js";
10
10
  import {
11
11
  sessionScopeFilter
12
- } from "../chunk-ORNCMRIX.js";
13
- import "../chunk-ESTR7QUP.js";
14
- import "../chunk-FXPAUDCZ.js";
15
- import "../chunk-QFIVK3G5.js";
12
+ } from "../chunk-QX33D4CH.js";
13
+ import "../chunk-BTSWFMEH.js";
14
+ import "../chunk-6MCUXRIP.js";
15
+ import "../chunk-7W6FDHHY.js";
16
+ import "../chunk-IIVFXD6P.js";
16
17
  import "../chunk-WT4RI36X.js";
17
- import "../chunk-C3UAQ3JG.js";
18
+ import "../chunk-CX4MVEM3.js";
18
19
  import "../chunk-KI5PFRG6.js";
19
20
  import "../chunk-EIKATSE4.js";
20
21
  import "../chunk-E23LNUWJ.js";
21
22
  import "../chunk-QAEWWYHL.js";
22
- import "../chunk-EHHMNKOA.js";
23
+ import "../chunk-XKFMNAJ7.js";
23
24
  import "../chunk-GBNB4EWD.js";
24
25
  import "../chunk-UXLO7VHX.js";
25
26
  import "../chunk-DSOQUQTV.js";
26
- import "../chunk-WR75WUEP.js";
27
+ import "../chunk-UI3K73LD.js";
27
28
  import "../chunk-AJIXH5JF.js";
28
29
  import "../chunk-XTWHNLGD.js";
29
30
  import "../chunk-AM7S2TY6.js";
30
- import "../chunk-2FYIMTQE.js";
31
+ import "../chunk-N3JLNMPF.js";
31
32
  import "../chunk-CVYC6DUW.js";
32
33
  import "../chunk-ZVTKWWLV.js";
33
34
  import "../chunk-CDUB5Q6J.js";
@@ -41,20 +42,20 @@ import {
41
42
  import "../chunk-HYZV25LY.js";
42
43
  import "../chunk-GJV3WDWM.js";
43
44
  import "../chunk-MP2AFCGL.js";
44
- import "../chunk-BRLS5OLZ.js";
45
+ import "../chunk-HSBKV5LB.js";
45
46
  import "../chunk-TKDITWDN.js";
46
47
  import "../chunk-BBMTVAE3.js";
47
48
  import "../chunk-5YEUPUV4.js";
48
- import "../chunk-NO3M2AFM.js";
49
+ import "../chunk-Y7OK5PJE.js";
49
50
  import "../chunk-YYB5PMTK.js";
50
51
  import "../chunk-NJFJWQNN.js";
51
52
  import "../chunk-V3W3SATA.js";
52
53
  import "../chunk-JY5GAZYC.js";
53
54
  import "../chunk-FXU7JOXK.js";
54
55
  import "../chunk-WNBZJSQT.js";
55
- import "../chunk-ZDUO6QBH.js";
56
+ import "../chunk-F3PIHVVY.js";
56
57
  import "../chunk-A7XLR3K7.js";
57
- import "../chunk-VS4LPG66.js";
58
+ import "../chunk-65ZSFW3O.js";
58
59
  import "../chunk-QILQ5FCG.js";
59
60
  import "../chunk-ARX6TAGN.js";
60
61
  import "../chunk-QMSEL5YS.js";
@@ -72,7 +73,7 @@ process.on("unhandledRejection", (err) => {
72
73
  process.exit(1);
73
74
  });
74
75
  try {
75
- const { verifyOrBlock } = await import("../hook-integrity-SGTKBL6W.js");
76
+ const { verifyOrBlock } = await import("../hook-integrity-X3YAVGUW.js");
76
77
  if (!await verifyOrBlock(new URL(import.meta.url).pathname)) process.exit(2);
77
78
  } catch (err) {
78
79
  const code = err?.code;
@@ -104,7 +105,7 @@ process.stdin.on("end", async () => {
104
105
  const payload = JSON.parse(input);
105
106
  const agent = getActiveAgent();
106
107
  try {
107
- const { fastDbInit } = await import("../fast-db-init-SCXJXOYX.js");
108
+ const { fastDbInit } = await import("../fast-db-init-GDFJY5UH.js");
108
109
  const client = await fastDbInit({ socketOnly: true });
109
110
  const projectName = getProjectName();
110
111
  const pcScope = sessionScopeFilter();
@@ -8,29 +8,30 @@ import "../chunk-YSU7JB7H.js";
8
8
  import "../chunk-SH45SJQW.js";
9
9
  import {
10
10
  getActiveAgent
11
- } from "../chunk-ZNEBZCZR.js";
11
+ } from "../chunk-QWDZNQXA.js";
12
12
  import "../chunk-2ADYTOHQ.js";
13
13
  import {
14
14
  sessionScopeFilter
15
- } from "../chunk-ORNCMRIX.js";
16
- import "../chunk-ESTR7QUP.js";
17
- import "../chunk-FXPAUDCZ.js";
18
- import "../chunk-QFIVK3G5.js";
15
+ } from "../chunk-QX33D4CH.js";
16
+ import "../chunk-BTSWFMEH.js";
17
+ import "../chunk-6MCUXRIP.js";
18
+ import "../chunk-7W6FDHHY.js";
19
+ import "../chunk-IIVFXD6P.js";
19
20
  import "../chunk-WT4RI36X.js";
20
- import "../chunk-C3UAQ3JG.js";
21
+ import "../chunk-CX4MVEM3.js";
21
22
  import "../chunk-KI5PFRG6.js";
22
23
  import "../chunk-EIKATSE4.js";
23
24
  import "../chunk-E23LNUWJ.js";
24
25
  import "../chunk-QAEWWYHL.js";
25
- import "../chunk-EHHMNKOA.js";
26
+ import "../chunk-XKFMNAJ7.js";
26
27
  import "../chunk-GBNB4EWD.js";
27
28
  import "../chunk-UXLO7VHX.js";
28
29
  import "../chunk-DSOQUQTV.js";
29
- import "../chunk-WR75WUEP.js";
30
+ import "../chunk-UI3K73LD.js";
30
31
  import "../chunk-AJIXH5JF.js";
31
32
  import "../chunk-XTWHNLGD.js";
32
33
  import "../chunk-AM7S2TY6.js";
33
- import "../chunk-2FYIMTQE.js";
34
+ import "../chunk-N3JLNMPF.js";
34
35
  import {
35
36
  getSessionKey
36
37
  } from "../chunk-CVYC6DUW.js";
@@ -47,20 +48,20 @@ import "../chunk-MP2AFCGL.js";
47
48
  import {
48
49
  canCoordinate,
49
50
  loadEmployeesSync
50
- } from "../chunk-BRLS5OLZ.js";
51
+ } from "../chunk-HSBKV5LB.js";
51
52
  import "../chunk-TKDITWDN.js";
52
53
  import "../chunk-BBMTVAE3.js";
53
54
  import "../chunk-5YEUPUV4.js";
54
- import "../chunk-NO3M2AFM.js";
55
+ import "../chunk-Y7OK5PJE.js";
55
56
  import "../chunk-YYB5PMTK.js";
56
57
  import "../chunk-NJFJWQNN.js";
57
58
  import "../chunk-V3W3SATA.js";
58
59
  import "../chunk-JY5GAZYC.js";
59
60
  import "../chunk-FXU7JOXK.js";
60
61
  import "../chunk-WNBZJSQT.js";
61
- import "../chunk-ZDUO6QBH.js";
62
+ import "../chunk-F3PIHVVY.js";
62
63
  import "../chunk-A7XLR3K7.js";
63
- import "../chunk-VS4LPG66.js";
64
+ import "../chunk-65ZSFW3O.js";
64
65
  import "../chunk-QILQ5FCG.js";
65
66
  import "../chunk-ARX6TAGN.js";
66
67
  import {
@@ -172,7 +173,7 @@ process.on("unhandledRejection", (err) => {
172
173
  process.exit(1);
173
174
  });
174
175
  try {
175
- const { verifyOrBlock } = await import("../hook-integrity-SGTKBL6W.js");
176
+ const { verifyOrBlock } = await import("../hook-integrity-X3YAVGUW.js");
176
177
  if (!await verifyOrBlock(new URL(import.meta.url).pathname)) process.exit(2);
177
178
  } catch (err) {
178
179
  const code = err?.code;
@@ -317,6 +318,50 @@ process.stdin.on("end", async () => {
317
318
  }
318
319
  } catch {
319
320
  }
321
+ if (data.tool_name === "Task" || data.tool_name === "Agent") {
322
+ try {
323
+ const ti = data.tool_input;
324
+ const haystack = `${ti?.description ?? ""}
325
+ ${ti?.prompt ?? ""}`;
326
+ const { extractWorkRefCandidates } = await import("../work-claims-4QOE7DT2.js");
327
+ if (extractWorkRefCandidates(haystack).length > 0) {
328
+ const { fastDbInit } = await import("../fast-db-init-GDFJY5UH.js");
329
+ await fastDbInit({ caller: "hook" });
330
+ const { findConflictsInText, describeConflict, resolveHolderSession } = await import("../work-claims-4QOE7DT2.js");
331
+ const holderSession = await resolveHolderSession();
332
+ if (holderSession) {
333
+ const conflicts = await findConflictsInText(haystack, holderSession);
334
+ if (conflicts.length > 0) {
335
+ const detail = conflicts.map((c) => ` ${describeConflict(c)}`).join("\n");
336
+ const blockReason = `BLOCKED: that work is claimed by another coordinator session \u2014 the subagent was NOT dispatched.
337
+ ${detail}
338
+
339
+ Session ${holderSession} does not hold this. Two sessions doing the same work is how PR #622 and #641 became wasted effort. Either pick different work, or \u2014 if that session has genuinely abandoned it \u2014 take it over deliberately with claim(action='acquire', work_ref='<id>', force=true, reason='<why>') and then retry; the takeover is logged with who and why. Do NOT report this dispatch as successful.`;
340
+ process.stderr.write(
341
+ `[pre-tool-use] work-claim gate BLOCKED ${data.tool_name} for session ${holderSession}
342
+ `
343
+ );
344
+ process.stdout.write(
345
+ JSON.stringify({
346
+ hookSpecificOutput: {
347
+ hookEventName: "PreToolUse",
348
+ permissionDecision: "deny",
349
+ additionalContext: blockReason
350
+ },
351
+ systemMessage: blockReason
352
+ })
353
+ );
354
+ process.exit(0);
355
+ }
356
+ }
357
+ }
358
+ } catch (err) {
359
+ process.stderr.write(
360
+ `[pre-tool-use] work-claim gate degraded (non-fatal): ${err instanceof Error ? err.message : String(err)}
361
+ `
362
+ );
363
+ }
364
+ }
320
365
  if (data.tool_name === "Bash") {
321
366
  const command = data.tool_input?.command ?? "";
322
367
  const isCoordinator = canCoordinate(agent.agentId, agent.agentRole);
@@ -565,7 +610,7 @@ Do NOT report this as successful. No file was changed. If you are a sub-agent, r
565
610
  process.exit(0);
566
611
  }
567
612
  }
568
- const { getGatedAgent } = await import("../cto-delegation-gate-QIYV4KFO.js");
613
+ const { getGatedAgent } = await import("../cto-delegation-gate-PO4LSSQ4.js");
569
614
  const gatedAgent = getGatedAgent();
570
615
  if (agent.agentId === gatedAgent) {
571
616
  const isStructured = /^(Write|Edit|MultiEdit|NotebookEdit)$/.test(data.tool_name);
@@ -577,7 +622,7 @@ Do NOT report this as successful. No file was changed. If you are a sub-agent, r
577
622
  evaluateDelegationGate,
578
623
  evaluateBashWriteGate,
579
624
  GATE_BLOCK_MESSAGE
580
- } = await import("../cto-delegation-gate-QIYV4KFO.js");
625
+ } = await import("../cto-delegation-gate-PO4LSSQ4.js");
581
626
  let decision = null;
582
627
  let surfaceLabel = data.tool_name;
583
628
  let targetLabel = "";
@@ -586,7 +631,7 @@ Do NOT report this as successful. No file was changed. If you are a sub-agent, r
586
631
  const filePath = data.tool_name === "NotebookEdit" ? ti.notebook_path ?? "" : ti.file_path ?? "";
587
632
  const content = data.tool_name === "MultiEdit" ? (ti.edits ?? []).map((e) => e.new_string ?? "").filter(Boolean) : data.tool_name === "NotebookEdit" ? ti.new_source : ti.content ?? ti.new_string;
588
633
  if (filePath) {
589
- const { fastDbInit } = await import("../fast-db-init-SCXJXOYX.js");
634
+ const { fastDbInit } = await import("../fast-db-init-GDFJY5UH.js");
590
635
  await fastDbInit({ caller: "hook" });
591
636
  targetLabel = filePath;
592
637
  decision = await evaluateDelegationGate({
@@ -599,10 +644,10 @@ Do NOT report this as successful. No file was changed. If you are a sub-agent, r
599
644
  }
600
645
  } else {
601
646
  const command = data.tool_input?.command ?? "";
602
- const { detectBashSourceWrites } = await import("../cto-delegation-gate-QIYV4KFO.js");
647
+ const { detectBashSourceWrites } = await import("../cto-delegation-gate-PO4LSSQ4.js");
603
648
  const targets = detectBashSourceWrites(command, process.cwd());
604
649
  if (targets.length > 0) {
605
- const { fastDbInit } = await import("../fast-db-init-SCXJXOYX.js");
650
+ const { fastDbInit } = await import("../fast-db-init-GDFJY5UH.js");
606
651
  await fastDbInit({ caller: "hook" });
607
652
  surfaceLabel = "Bash-write";
608
653
  targetLabel = targets.join(", ");
@@ -679,7 +724,7 @@ Reason: ${decision.reason ?? "engineer-delegatable edit"}`;
679
724
  const isUpdateTaskDone = (data.tool_name === "mcp__exe-os__update_task" || data.tool_name === "mcp__exe-mem__update_task") && toolInput.status === "done" && CTO_ROLES.includes(agent.agentRole);
680
725
  if (isUpdateTaskDone) {
681
726
  try {
682
- const { fastDbInit } = await import("../fast-db-init-SCXJXOYX.js");
727
+ const { fastDbInit } = await import("../fast-db-init-GDFJY5UH.js");
683
728
  const client = await fastDbInit({ caller: "hook" });
684
729
  const taskId = String(toolInput.task_id ?? "");
685
730
  const ptScope = sessionScopeFilter();
@@ -737,7 +782,7 @@ Reason: ${decision.reason ?? "engineer-delegatable edit"}`;
737
782
  }
738
783
  if (data.agent_type == null && CTO_ROLES.includes(agent.agentRole) && !hasDelegationFired()) {
739
784
  try {
740
- const { fastDbInit } = await import("../fast-db-init-SCXJXOYX.js");
785
+ const { fastDbInit } = await import("../fast-db-init-GDFJY5UH.js");
741
786
  const client = await fastDbInit({ caller: "hook" });
742
787
  const dlScope = sessionScopeFilter();
743
788
  const result = await client.execute({
@@ -808,7 +853,7 @@ Do NOT attempt workarounds \u2014 direct DB access bypasses encryption, breaks d
808
853
  }
809
854
  if (!wroteStdout && data.agent_type != null) {
810
855
  try {
811
- const { buildSubagentBootstrapContext } = await import("../subagent-brief-injection-VDVOHDOU.js");
856
+ const { buildSubagentBootstrapContext } = await import("../subagent-brief-injection-BLCRI2AJ.js");
812
857
  const subagentBrief = await buildSubagentBootstrapContext(data);
813
858
  if (subagentBrief) {
814
859
  const output = JSON.stringify({
@@ -844,7 +889,7 @@ Do NOT attempt workarounds \u2014 direct DB access bypasses encryption, breaks d
844
889
  writeFileSync(throttlePath, JSON.stringify({ ts: Date.now() }));
845
890
  } catch {
846
891
  }
847
- const { fastDbInit } = await import("../fast-db-init-SCXJXOYX.js");
892
+ const { fastDbInit } = await import("../fast-db-init-GDFJY5UH.js");
848
893
  const client = await fastDbInit({ daemonOnly: true, caller: "hook" });
849
894
  const { isInitialized } = await import("../lib/database.js");
850
895
  if (isInitialized()) {
@@ -16,16 +16,16 @@ import {
16
16
  import {
17
17
  hybridSearch,
18
18
  lightweightSearch
19
- } from "../chunk-EMZHB767.js";
19
+ } from "../chunk-AE3PYLLS.js";
20
20
  import "../chunk-VMHZSZQJ.js";
21
- import "../chunk-4QKKLK3C.js";
22
- import "../chunk-QYECRPGD.js";
21
+ import "../chunk-BQYQES2Z.js";
22
+ import "../chunk-JLYHJJHU.js";
23
23
  import "../chunk-CHCA3ZM2.js";
24
24
  import "../chunk-OTVEIJUQ.js";
25
- import "../chunk-7DMCAGSC.js";
25
+ import "../chunk-WM7Y5ZV2.js";
26
26
  import {
27
27
  getActiveAgent
28
- } from "../chunk-ZNEBZCZR.js";
28
+ } from "../chunk-QWDZNQXA.js";
29
29
  import "../chunk-2ADYTOHQ.js";
30
30
  import "../chunk-5MOYSU5A.js";
31
31
  import "../chunk-4QCFFW2H.js";
@@ -35,25 +35,26 @@ import {
35
35
  getMySession,
36
36
  getSessionState,
37
37
  isExeSession
38
- } from "../chunk-ORNCMRIX.js";
39
- import "../chunk-ESTR7QUP.js";
40
- import "../chunk-FXPAUDCZ.js";
41
- import "../chunk-QFIVK3G5.js";
38
+ } from "../chunk-QX33D4CH.js";
39
+ import "../chunk-BTSWFMEH.js";
40
+ import "../chunk-6MCUXRIP.js";
41
+ import "../chunk-7W6FDHHY.js";
42
+ import "../chunk-IIVFXD6P.js";
42
43
  import "../chunk-WT4RI36X.js";
43
- import "../chunk-C3UAQ3JG.js";
44
+ import "../chunk-CX4MVEM3.js";
44
45
  import "../chunk-KI5PFRG6.js";
45
46
  import "../chunk-EIKATSE4.js";
46
47
  import "../chunk-E23LNUWJ.js";
47
48
  import "../chunk-QAEWWYHL.js";
48
- import "../chunk-EHHMNKOA.js";
49
+ import "../chunk-XKFMNAJ7.js";
49
50
  import "../chunk-GBNB4EWD.js";
50
51
  import "../chunk-UXLO7VHX.js";
51
52
  import "../chunk-DSOQUQTV.js";
52
- import "../chunk-WR75WUEP.js";
53
+ import "../chunk-UI3K73LD.js";
53
54
  import "../chunk-AJIXH5JF.js";
54
55
  import "../chunk-XTWHNLGD.js";
55
56
  import "../chunk-AM7S2TY6.js";
56
- import "../chunk-2FYIMTQE.js";
57
+ import "../chunk-N3JLNMPF.js";
57
58
  import {
58
59
  getSessionKey
59
60
  } from "../chunk-CVYC6DUW.js";
@@ -71,11 +72,11 @@ import "../chunk-GJV3WDWM.js";
71
72
  import "../chunk-MP2AFCGL.js";
72
73
  import {
73
74
  canCoordinate
74
- } from "../chunk-BRLS5OLZ.js";
75
+ } from "../chunk-HSBKV5LB.js";
75
76
  import "../chunk-TKDITWDN.js";
76
77
  import "../chunk-BBMTVAE3.js";
77
78
  import "../chunk-5YEUPUV4.js";
78
- import "../chunk-NO3M2AFM.js";
79
+ import "../chunk-Y7OK5PJE.js";
79
80
  import "../chunk-YYB5PMTK.js";
80
81
  import "../chunk-NJFJWQNN.js";
81
82
  import "../chunk-V3W3SATA.js";
@@ -86,9 +87,9 @@ import {
86
87
  import "../chunk-FXU7JOXK.js";
87
88
  import "../chunk-HPXFKUGU.js";
88
89
  import "../chunk-WNBZJSQT.js";
89
- import "../chunk-ZDUO6QBH.js";
90
+ import "../chunk-F3PIHVVY.js";
90
91
  import "../chunk-A7XLR3K7.js";
91
- import "../chunk-VS4LPG66.js";
92
+ import "../chunk-65ZSFW3O.js";
92
93
  import "../chunk-QILQ5FCG.js";
93
94
  import "../chunk-ARX6TAGN.js";
94
95
  import {
@@ -187,7 +188,7 @@ process.on("unhandledRejection", (err) => {
187
188
  });
188
189
  process.env.EXE_HOOK_FAIL_OPEN = "1";
189
190
  try {
190
- const { verifyOrBlock } = await import("../hook-integrity-SGTKBL6W.js");
191
+ const { verifyOrBlock } = await import("../hook-integrity-X3YAVGUW.js");
191
192
  if (!await verifyOrBlock(new URL(import.meta.url).pathname)) process.exit(2);
192
193
  } catch (err) {
193
194
  const code = err?.code;
@@ -248,7 +249,7 @@ function withBudget(promise, fallback) {
248
249
  var _hookDbPromise = null;
249
250
  function hookDb() {
250
251
  _hookDbPromise ??= (async () => {
251
- const { fastDbInit } = await import("../fast-db-init-SCXJXOYX.js");
252
+ const { fastDbInit } = await import("../fast-db-init-GDFJY5UH.js");
252
253
  return fastDbInit({ daemonOnly: true });
253
254
  })();
254
255
  return _hookDbPromise;
@@ -489,7 +490,7 @@ process.stdin.on("end", async () => {
489
490
  let queuedForMe = [];
490
491
  if (currentSession && !suppressTaskLifecycleNudges) {
491
492
  try {
492
- const { readQueue } = await import("../intercom-queue-6DZPHHQ2.js");
493
+ const { readQueue } = await import("../intercom-queue-IBOAVT2I.js");
493
494
  queuedForMe = readQueue().filter((q) => q.targetSession === currentSession);
494
495
  } catch {
495
496
  }
@@ -516,7 +517,7 @@ process.stdin.on("end", async () => {
516
517
  if (prefetchClient) {
517
518
  prefetch = await withHookTimeout(
518
519
  (async () => {
519
- const { prefetchPromptHookCounts } = await import("../hook-prefetch-BDSLB6F4.js");
520
+ const { prefetchPromptHookCounts } = await import("../hook-prefetch-WE4MIXBM.js");
520
521
  return prefetchPromptHookCounts(prefetchClient, {
521
522
  agentIds: agentTaskIds(agent.agentId),
522
523
  agentId: agent.agentId,
@@ -540,7 +541,7 @@ process.stdin.on("end", async () => {
540
541
  }
541
542
  let drainedNudgeContext = "";
542
543
  if (currentSession && queuedForMe.length > 0 && !suppressTaskLifecycleNudges) try {
543
- const { drainForSession } = await import("../intercom-queue-6DZPHHQ2.js");
544
+ const { drainForSession } = await import("../intercom-queue-IBOAVT2I.js");
544
545
  const { baseAgentName } = await import("../lib/employees.js");
545
546
  const MARKER_STALE_MS = 4 * 60 * 60 * 1e3;
546
547
  const hasInProgressTask = (agentName) => {
@@ -629,8 +630,8 @@ ${fresh.map(
629
630
  mkdirSync(CACHE_DIR, { recursive: true });
630
631
  atomicWriteSync(behaviorLastCheckPath, (/* @__PURE__ */ new Date()).toISOString());
631
632
  } else if (count % BEHAVIOR_REINJECT_INTERVAL === 0) {
632
- const { listBehaviors } = await import("../behaviors-R2IE3PEN.js");
633
- const { BEHAVIOR_INJECTION_CAP, p0OverflowNotice } = await import("../behavior-injection-XQ4B7DCF.js");
633
+ const { listBehaviors } = await import("../behaviors-O6HKTSOF.js");
634
+ const { BEHAVIOR_INJECTION_CAP, p0OverflowNotice } = await import("../behavior-injection-7VGYY2KO.js");
634
635
  const behaviors = await withBudget(listBehaviors(agent.agentId), []);
635
636
  const activeSorted = behaviors.filter((b) => b.active !== 0).sort((a, b) => (a.priority === "p0" ? -1 : 1) - (b.priority === "p0" ? -1 : 1));
636
637
  const active = activeSorted.slice(0, BEHAVIOR_INJECTION_CAP);
@@ -675,7 +676,7 @@ ${overflow}`;
675
676
  if (!lastCheckedAt) {
676
677
  lastCheckedAt = "1970-01-01T00:00:00.000Z";
677
678
  }
678
- const { listBehaviorsSince } = await import("../behaviors-R2IE3PEN.js");
679
+ const { listBehaviorsSince } = await import("../behaviors-O6HKTSOF.js");
679
680
  const newBehaviors = await withBudget(listBehaviorsSince(agent.agentId, lastCheckedAt), []);
680
681
  if (newBehaviors.length > 0) {
681
682
  const newReflex = newBehaviors.filter((b) => b.domain === "reflex");
@@ -743,7 +744,7 @@ ${body}`;
743
744
  let reviewContext = "";
744
745
  if (canCoordinate(agent.agentId, agent.agentRole)) {
745
746
  try {
746
- const { countPendingReviews, countNewPendingReviewsSince } = await import("../tasks-review-WCSKOUFW.js");
747
+ const { countPendingReviews, countNewPendingReviewsSince } = await import("../tasks-review-4F6PZZ3B.js");
747
748
  const sessionKey = getSessionKey();
748
749
  const lastCheckPath = path.join(CACHE_DIR, `review-lastcheck-${sessionKey}.json`);
749
750
  let sessionScope;
@@ -800,7 +801,7 @@ IMPORTANT: After completing your current task, you MUST address the pending revi
800
801
  let coreMemoryContext = "";
801
802
  if (!IS_CODEX_RUNTIME && agent.agentId !== "default") {
802
803
  try {
803
- const { getCoreMemory, formatCoreMemoryBlock } = await import("../core-memory-CMPPHJN5.js");
804
+ const { getCoreMemory, formatCoreMemoryBlock } = await import("../core-memory-EARETDZ6.js");
804
805
  const entries = await withBudget(getCoreMemory(agent.agentId), []);
805
806
  const block = formatCoreMemoryBlock(entries);
806
807
  if (block) coreMemoryContext = block;
@@ -897,7 +898,7 @@ IMPORTANT: After completing your current task, you MUST address the new task abo
897
898
  } catch {
898
899
  }
899
900
  try {
900
- const { recordOrchestrationEventBestEffort: recordOE } = await import("../orchestration-events-GMRGGBMN.js");
901
+ const { recordOrchestrationEventBestEffort: recordOE } = await import("../orchestration-events-HVG56HJ5.js");
901
902
  recordOE({
902
903
  eventType: "signal.consumed",
903
904
  source: "prompt-submit.hook",
@@ -1071,7 +1072,7 @@ async function writePromptMemory(prompt, sessionId, agent) {
1071
1072
  return;
1072
1073
  }
1073
1074
  try {
1074
- const { recordSessionEvent } = await import("../session-events-YMQ3VGBJ.js");
1075
+ const { recordSessionEvent } = await import("../session-events-BRUIZ5E4.js");
1075
1076
  const client = await hookDb();
1076
1077
  await recordSessionEvent(client, {
1077
1078
  agentId: agent.agentId,