@askexenow/exe-os 0.9.365 → 0.9.368

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 (357) hide show
  1. package/deploy/compose/.env.askexe-control-plane.example +3 -1
  2. package/deploy/compose/.env.customer.example +6 -2
  3. package/deploy/compose/.env.example +8 -2
  4. package/deploy/compose/docker-compose.yml +21 -2
  5. package/deploy/compose/generate-env.ts +21 -1
  6. package/dist/.dist-verified.json +3 -3
  7. package/dist/{active-agent-MGF7J3HB.js → active-agent-6WNC756A.js} +3 -3
  8. package/dist/{active-agent-C6DPH43L.js → active-agent-RDTJGZHP.js} +3 -3
  9. package/dist/{agent-defs-generator-X7TVMPVB.js → agent-defs-generator-M5AUL3WM.js} +2 -2
  10. package/dist/agent-heartbeat-CQPGJIFF.js +13 -0
  11. package/dist/{agent-loop-E7RZCFDB.js → agent-loop-FOK2IRZQ.js} +1 -1
  12. package/dist/{agentic-ontology-CARDCG37.js → agentic-ontology-ZJBRYETW.js} +1 -1
  13. package/dist/{backfill-metadata-ANCJA6LA.js → backfill-metadata-Q4X23XLR.js} +5 -5
  14. package/dist/{backup-verify-F7BHVEF7.js → backup-verify-UKLX6IEK.js} +1 -1
  15. package/dist/behavior-injection-C3HEKSJY.js +60 -0
  16. package/dist/{behaviors-R2IE3PEN.js → behaviors-UCMAREU3.js} +8 -6
  17. package/dist/bin/agentic-ontology-backfill.js +6 -6
  18. package/dist/bin/agentic-reflection-backfill.js +7 -7
  19. package/dist/bin/agentic-semantic-label.js +6 -6
  20. package/dist/bin/backfill-conversations.js +5 -5
  21. package/dist/bin/backfill-responses.js +5 -5
  22. package/dist/bin/backfill-vectors.js +6 -6
  23. package/dist/bin/bulk-sync-postgres.js +10 -10
  24. package/dist/bin/cc-doctor.js +5 -5
  25. package/dist/bin/cleanup-stale-review-tasks.js +15 -14
  26. package/dist/bin/cli.js +20 -20
  27. package/dist/bin/deferred-daemon-restart.js +88 -83
  28. package/dist/bin/exe-agent-config.js +2 -2
  29. package/dist/bin/exe-agent.js +252 -14
  30. package/dist/bin/exe-assign.js +6 -6
  31. package/dist/bin/exe-boot.js +33 -31
  32. package/dist/bin/exe-call.js +4 -4
  33. package/dist/bin/exe-cloud.js +11 -11
  34. package/dist/bin/exe-config-dump.js +2 -2
  35. package/dist/bin/exe-dispatch.js +16 -15
  36. package/dist/bin/exe-doctor.js +6 -6
  37. package/dist/bin/exe-export-behaviors.js +10 -8
  38. package/dist/bin/exe-forget.js +7 -7
  39. package/dist/bin/exe-gateway.js +7 -7
  40. package/dist/bin/exe-healthcheck.js +5 -5
  41. package/dist/bin/exe-heartbeat.js +18 -17
  42. package/dist/bin/exe-kill.js +19 -18
  43. package/dist/bin/exe-launch-agent.js +25 -23
  44. package/dist/bin/exe-mcp.js +3 -3
  45. package/dist/bin/exe-memory-reads.js +5 -5
  46. package/dist/bin/exe-new-employee.js +8 -8
  47. package/dist/bin/exe-os-mcp-proxy.js +3 -3
  48. package/dist/bin/exe-pending-messages.js +16 -15
  49. package/dist/bin/exe-pending-notifications.js +15 -14
  50. package/dist/bin/exe-pending-reviews.js +15 -14
  51. package/dist/bin/exe-rename.js +4 -4
  52. package/dist/bin/exe-review.js +18 -17
  53. package/dist/bin/exe-search.js +6 -6
  54. package/dist/bin/exe-session-cleanup.js +20 -18
  55. package/dist/bin/exe-settings.js +10 -10
  56. package/dist/bin/exe-start-codex.js +81 -19
  57. package/dist/bin/exe-start-opencode.js +11 -9
  58. package/dist/bin/exe-status.js +17 -16
  59. package/dist/bin/exe-support.js +3 -3
  60. package/dist/bin/exe-team.js +4 -4
  61. package/dist/bin/exe-verify-running-images.js +123 -4
  62. package/dist/bin/exe-watchdog.js +44 -3
  63. package/dist/bin/git-sweep.js +25 -15
  64. package/dist/bin/graph-backfill.js +7 -7
  65. package/dist/bin/graph-export.js +6 -6
  66. package/dist/bin/import-history.js +10 -10
  67. package/dist/bin/install.js +90 -85
  68. package/dist/bin/intercom-check.js +4 -4
  69. package/dist/bin/mcp-sessions.js +2 -2
  70. package/dist/bin/orchestration-metrics.js +4 -4
  71. package/dist/bin/postgres-agentic-reflection-backfill.js +4 -4
  72. package/dist/bin/postgres-agentic-semantic-backfill.js +4 -4
  73. package/dist/bin/reconcile-backlog.js +47 -6
  74. package/dist/bin/registry-proxy.js +1 -1
  75. package/dist/bin/scan-tasks.js +15 -14
  76. package/dist/bin/setup.js +1 -1
  77. package/dist/bin/shard-migrate.js +5 -5
  78. package/dist/bin/stack-update.js +35 -6
  79. package/dist/bin/verify-stack.js +11 -1
  80. package/dist/bin/vps-health-gate.js +1 -1
  81. package/dist/{boot-generation-X45BSVZY.js → boot-generation-7H7Y4KC2.js} +3 -3
  82. package/dist/{boot-review-sections-OBVRXXSF.js → boot-review-sections-4AGCECCP.js} +14 -13
  83. package/dist/build-manifest.json +910 -845
  84. package/dist/{capability-cards-57FURUMR.js → capability-cards-6KAC5D2Z.js} +2 -2
  85. package/dist/{capacity-monitor-QEL62JDO.js → capacity-monitor-J2Y4SFLA.js} +16 -15
  86. package/dist/{catchup-brief-PMXTCASA.js → catchup-brief-F2HKF2CU.js} +19 -18
  87. package/dist/{chunk-5CBGH6RA.js → chunk-2AS6FG6C.js} +3 -3
  88. package/dist/{chunk-TO6TB75E.js → chunk-2UBMXN4D.js} +2 -2
  89. package/dist/{chunk-J6I7X272.js → chunk-2UGU3V63.js} +1 -1
  90. package/dist/{chunk-45EQTS7B.js → chunk-34BMZTWV.js} +1 -1
  91. package/dist/{chunk-JYFYIGYK.js → chunk-4DGIOK6T.js} +1 -1
  92. package/dist/{chunk-T6S45OLV.js → chunk-4GVJIMMK.js} +12 -6
  93. package/dist/{chunk-IXEFO6HD.js → chunk-4L732DE5.js} +3 -3
  94. package/dist/{chunk-MXEIZUXG.js → chunk-4RRMZJLG.js} +1 -1
  95. package/dist/{chunk-3JNVB5LG.js → chunk-5IVLOOJR.js} +1 -1
  96. package/dist/chunk-5YKNEL3W.js +356 -0
  97. package/dist/{chunk-EMZHB767.js → chunk-6EXOW5ZA.js} +9 -9
  98. package/dist/{chunk-6Q263OZE.js → chunk-6P7DVFKA.js} +1 -1
  99. package/dist/{chunk-ZDUO6QBH.js → chunk-6UZ3DEQI.js} +1 -1
  100. package/dist/{chunk-DJK45U7B.js → chunk-72JZQ7EV.js} +1 -1
  101. package/dist/{chunk-22YQBVMO.js → chunk-72QUZX6J.js} +4 -4
  102. package/dist/{chunk-DYWGIPVP.js → chunk-AAL6CDMQ.js} +7 -7
  103. package/dist/{chunk-E6ORBQHP.js → chunk-AAMGHW5W.js} +1 -0
  104. package/dist/{chunk-EJ4522YM.js → chunk-AJGX4Z34.js} +1 -1
  105. package/dist/{chunk-M7EES2KM.js → chunk-BEPO36MW.js} +3 -3
  106. package/dist/{chunk-WR75WUEP.js → chunk-BFL3UB77.js} +1 -1
  107. package/dist/{chunk-NV6A5HDN.js → chunk-BFPQXPN3.js} +1 -1
  108. package/dist/{chunk-VGE6IHZB.js → chunk-BJKC6ZJU.js} +110 -86
  109. package/dist/{chunk-R7RM766N.js → chunk-BLNSUBP3.js} +3 -3
  110. package/dist/{chunk-52TIQJEQ.js → chunk-BNDHQGOY.js} +1 -1
  111. package/dist/{chunk-QYJANQWC.js → chunk-BPQWRR4H.js} +2 -2
  112. package/dist/{chunk-ANPE3TT3.js → chunk-BTGR55GX.js} +3 -3
  113. package/dist/chunk-BTSWFMEH.js +14 -0
  114. package/dist/{chunk-OPNROU5B.js → chunk-C4IJ5IS5.js} +1 -1
  115. package/dist/{chunk-BEHLIRRJ.js → chunk-C5FOA5GO.js} +14 -3
  116. package/dist/{chunk-EHHMNKOA.js → chunk-CSBD7QLZ.js} +1 -1
  117. package/dist/{chunk-EKVTRI3N.js → chunk-CU2OUUSV.js} +27 -6
  118. package/dist/{chunk-P47MPWNU.js → chunk-CXHRNESJ.js} +1 -1
  119. package/dist/{chunk-F2S3M5MB.js → chunk-DRMGPZSC.js} +2 -2
  120. package/dist/{chunk-KRUYQFSH.js → chunk-DYPKSVB7.js} +5 -5
  121. package/dist/{chunk-KSVLBATT.js → chunk-E5QQZDQN.js} +53 -0
  122. package/dist/{chunk-ODBRU6BF.js → chunk-EDB3LXBQ.js} +1542 -984
  123. package/dist/{chunk-IIZITKBV.js → chunk-EDRXCUEP.js} +4 -4
  124. package/dist/{chunk-4QKKLK3C.js → chunk-ELY5WBZX.js} +10 -10
  125. package/dist/{chunk-MPQXQ5IE.js → chunk-EZUSIF66.js} +1 -1
  126. package/dist/{chunk-DEFSN2FQ.js → chunk-FHYX64H3.js} +3 -3
  127. package/dist/{chunk-YMJOLEPE.js → chunk-FSALI4B7.js} +4 -4
  128. package/dist/{chunk-6GQYPJPG.js → chunk-FWKTZURC.js} +8 -8
  129. package/dist/{chunk-EWZYFG5Q.js → chunk-FWVPGXHD.js} +5 -5
  130. package/dist/{chunk-DWAQOEXL.js → chunk-GILYOIMP.js} +2 -2
  131. package/dist/{chunk-RZIKSE6N.js → chunk-GP3J3AOT.js} +4 -4
  132. package/dist/{chunk-LHOKWZKL.js → chunk-H6J7N3BZ.js} +1 -1
  133. package/dist/{chunk-EVPBYX2Z.js → chunk-HQSUXAB4.js} +1 -1
  134. package/dist/{chunk-IM2I7OOS.js → chunk-HTLJHSN4.js} +1 -1
  135. package/dist/{chunk-JUOZLXLH.js → chunk-HXV3DGL7.js} +1 -1
  136. package/dist/{chunk-OFGFRT5J.js → chunk-IEE6X6R2.js} +1 -1
  137. package/dist/{chunk-SP37DONS.js → chunk-IKRIUEIF.js} +1 -1
  138. package/dist/{chunk-RHX6MNWY.js → chunk-J44774XC.js} +1 -1
  139. package/dist/{chunk-7C4FUNVO.js → chunk-J77ZIMH5.js} +5 -5
  140. package/dist/{chunk-NO3M2AFM.js → chunk-JDPV7W2L.js} +1 -1
  141. package/dist/{chunk-FXPAUDCZ.js → chunk-KGPWS4KE.js} +1 -1
  142. package/dist/{chunk-L3TB7CC3.js → chunk-KM6XSFHP.js} +12 -2
  143. package/dist/{chunk-ZEKCHV43.js → chunk-KWQ7RHYD.js} +4 -4
  144. package/dist/{chunk-QFIVK3G5.js → chunk-KYVIV54Y.js} +1 -1
  145. package/dist/chunk-KZXMP6JG.js +319 -0
  146. package/dist/{chunk-AGQAGOQN.js → chunk-LJWCK2DR.js} +9 -9
  147. package/dist/{chunk-O2MEBF23.js → chunk-MCXYNYZI.js} +30 -2
  148. package/dist/{chunk-L2VZBPJJ.js → chunk-MWEIBVBS.js} +13 -1
  149. package/dist/{chunk-RVWALVDT.js → chunk-MXP27XTP.js} +2 -2
  150. package/dist/{chunk-DQ5KHWFD.js → chunk-N3CGSO3S.js} +1 -1
  151. package/dist/{chunk-ZNEBZCZR.js → chunk-NNXPIJRB.js} +1 -1
  152. package/dist/{chunk-MZJBUAC3.js → chunk-NWE3CFX7.js} +4 -4
  153. package/dist/{chunk-BRLS5OLZ.js → chunk-OBESOWFJ.js} +35 -4
  154. package/dist/{chunk-5KLQCGI5.js → chunk-OL3QP3AU.js} +171 -1
  155. package/dist/{chunk-ESTR7QUP.js → chunk-P3PAD6AA.js} +1 -1
  156. package/dist/{chunk-2FYIMTQE.js → chunk-PGF5I7EV.js} +2 -2
  157. package/dist/{agent-heartbeat-I5UPGXAU.js → chunk-PHUHIVD5.js} +4 -5
  158. package/dist/{chunk-C3UAQ3JG.js → chunk-PVWM2WMM.js} +1 -1
  159. package/dist/{chunk-EWCEUO65.js → chunk-QCSAYYL6.js} +1 -1
  160. package/dist/{chunk-SBAU735L.js → chunk-QE5KWKVU.js} +27 -6
  161. package/dist/{chunk-LZKYVMBY.js → chunk-QKZEUCTS.js} +2 -2
  162. package/dist/{chunk-POPRJKAY.js → chunk-QS6HI4B6.js} +6 -0
  163. package/dist/{chunk-JNVQGLPX.js → chunk-QT6CNCXO.js} +3 -3
  164. package/dist/{chunk-J4U5Z7VX.js → chunk-QZYYCPNL.js} +4 -4
  165. package/dist/{chunk-RD4E5G3B.js → chunk-RDIZSXXD.js} +1 -1
  166. package/dist/{chunk-2RQT7TED.js → chunk-RFWOXKVL.js} +55 -3
  167. package/dist/chunk-S2YTU74T.js +76 -0
  168. package/dist/{chunk-X6A2VWVJ.js → chunk-TP7BFVQP.js} +2 -2
  169. package/dist/{chunk-CKG6CVKI.js → chunk-TTJWPV4G.js} +1 -1
  170. package/dist/chunk-TX3Q2GIL.js +97 -0
  171. package/dist/{chunk-Q7BU5Q6I.js → chunk-UATT6BNO.js} +3 -3
  172. package/dist/{chunk-PPGPCWRC.js → chunk-UVM5ZXO2.js} +4 -4
  173. package/dist/{chunk-BATQKSLI.js → chunk-V7E37GE3.js} +2 -2
  174. package/dist/{chunk-U373MEF5.js → chunk-VD3CVNGB.js} +3 -3
  175. package/dist/{chunk-ZSZPMUNX.js → chunk-VIW62NN5.js} +126 -7
  176. package/dist/{chunk-EPNWEOOE.js → chunk-VTOO5UB3.js} +10 -10
  177. package/dist/chunk-W5MCOZTW.js +304 -0
  178. package/dist/{chunk-2ESB5SDP.js → chunk-WJOJWRN5.js} +139 -33
  179. package/dist/{chunk-CPILYY2K.js → chunk-X4MRVNR3.js} +1 -1
  180. package/dist/{chunk-EPDNWY5P.js → chunk-XBTQPQN7.js} +1 -1
  181. package/dist/{behavior-injection-XQ4B7DCF.js → chunk-XOTDAKJL.js} +24 -38
  182. package/dist/{chunk-ORNCMRIX.js → chunk-Y4AYNLXU.js} +31 -37
  183. package/dist/{chunk-WYLFDSIE.js → chunk-YGPJ7VSJ.js} +48 -10
  184. package/dist/{chunk-ZRKEUCUZ.js → chunk-ZR3VMM3X.js} +12 -10
  185. package/dist/{chunk-JITNFE4W.js → chunk-ZWONQU5S.js} +1 -1
  186. package/dist/{cleanup-graph-garbage-CAA625RJ.js → cleanup-graph-garbage-FBSQI33K.js} +8 -8
  187. package/dist/{cloud-sync-command-DBB7WRHL.js → cloud-sync-command-NHGVDTLM.js} +11 -3
  188. package/dist/{cloud-sync-db-init-V7IB23W5.js → cloud-sync-db-init-I75VOTXC.js} +1 -1
  189. package/dist/{cloud-sync-shutdown-2D3B73CJ.js → cloud-sync-shutdown-JGOFGGET.js} +2 -2
  190. package/dist/{cloud-sync-state-5DFKLWNB.js → cloud-sync-state-QF3TMMJ4.js} +3 -1
  191. package/dist/{co-activation-JVN7EBS6.js → co-activation-AE5L2SJV.js} +2 -2
  192. package/dist/{co-occurrence-526PTFGT.js → co-occurrence-O65D4SCN.js} +6 -6
  193. package/dist/codex-consolidation-PPXNBXCV.js +96 -0
  194. package/dist/{conversation-entity-extractor-JO56DB2E.js → conversation-entity-extractor-LFIDTD2O.js} +4 -4
  195. package/dist/{crdt-sync-LIJLZKFE.js → crdt-sync-NRWDBRSE.js} +1 -1
  196. package/dist/{crm-webhook-55F7Y6D2.js → crm-webhook-XOQGX6DV.js} +2 -2
  197. package/dist/{cto-delegation-gate-QIYV4KFO.js → cto-delegation-gate-ZGOAXQI2.js} +14 -13
  198. package/dist/{daemon-orchestration-Q3GJA2JJ.js → daemon-orchestration-ZMQWYYDT.js} +19 -18
  199. package/dist/dispatch-intent-journal-VV6HMZC4.js +17 -0
  200. package/dist/{doc-graph-extractor-P46R4QME.js → doc-graph-extractor-6C5JBKPP.js} +6 -6
  201. package/dist/{documents-7KFEREWO.js → documents-FKSQGSO4.js} +6 -6
  202. package/dist/{dreaming-JMUXBAPU.js → dreaming-IB3H6NDZ.js} +18 -17
  203. package/dist/{employee-boot-brief-HN63D2BY.js → employee-boot-brief-5YRTUEJH.js} +25 -21
  204. package/dist/{exe-drift-7J7GX7DP.js → exe-drift-CUWUYX3O.js} +3 -3
  205. package/dist/{exe-export-KJ7B2OBU.js → exe-export-XWENYJNM.js} +7 -7
  206. package/dist/{exe-import-HPZDWKGE.js → exe-import-OWOMRF2S.js} +7 -7
  207. package/dist/{exe-key-2PREP464.js → exe-key-P356FGK5.js} +88 -83
  208. package/dist/{exe-org-VEIISATF.js → exe-org-UKIVF3KE.js} +8 -8
  209. package/dist/{exe-snapshot-JXQFLUKA.js → exe-snapshot-AZI2WW5Y.js} +19 -18
  210. package/dist/{fast-db-init-SCXJXOYX.js → fast-db-init-FPAPF3GB.js} +1 -1
  211. package/dist/{founder-context-U2SZPLYV.js → founder-context-QTQ6V3B5.js} +2 -2
  212. package/dist/gateway/index.js +11 -11
  213. package/dist/{git-staleness-S4NDR7NX.js → git-staleness-6ACWLV5Q.js} +2 -2
  214. package/dist/{global-procedures-ZOFTOXIR.js → global-procedures-RXIKBVLZ.js} +3 -3
  215. package/dist/{graph-auto-extract-CLVTSUSB.js → graph-auto-extract-Q4A4QMOF.js} +6 -6
  216. package/dist/{graph-rag-LSJLWGXV.js → graph-rag-RLRQMY54.js} +4 -4
  217. package/dist/{hook-integrity-SGTKBL6W.js → hook-integrity-3X2JRLBM.js} +1 -1
  218. package/dist/{hook-prefetch-BDSLB6F4.js → hook-prefetch-DU44UZQP.js} +15 -14
  219. package/dist/hooks/bug-report-worker.js +19 -18
  220. package/dist/hooks/codex-stop-task-finalizer.js +20 -19
  221. package/dist/hooks/commit-complete.js +35 -19
  222. package/dist/hooks/error-recall.js +8 -8
  223. package/dist/hooks/exe-heartbeat-hook.js +4 -4
  224. package/dist/hooks/ingest-worker.js +2 -2
  225. package/dist/hooks/ingest.js +11 -11
  226. package/dist/hooks/instructions-loaded.js +5 -5
  227. package/dist/hooks/manifest.json +20 -20
  228. package/dist/hooks/notification.js +5 -5
  229. package/dist/hooks/post-compact.js +4 -4
  230. package/dist/hooks/post-tool-combined.js +12 -12
  231. package/dist/hooks/pre-compact.js +18 -17
  232. package/dist/hooks/pre-tool-use.js +86 -34
  233. package/dist/hooks/prompt-submit.js +36 -31
  234. package/dist/hooks/session-end.js +114 -100
  235. package/dist/hooks/session-start.js +16 -16
  236. package/dist/hooks/stop.js +83 -20
  237. package/dist/hooks/subagent-stop.js +19 -18
  238. package/dist/hooks/summary-worker.js +23 -22
  239. package/dist/index.js +27 -26
  240. package/dist/{installer-RC2JCKSE.js → installer-B7QYQE56.js} +8 -6
  241. package/dist/{installer-EA7T3PBD.js → installer-EXR25DDG.js} +6 -6
  242. package/dist/{installer-KCEM4RCG.js → installer-TOPA7673.js} +152 -8
  243. package/dist/{intercom-queue-6DZPHHQ2.js → intercom-queue-BZ4M3L4S.js} +14 -13
  244. package/dist/lib/cloud-sync.js +10 -10
  245. package/dist/lib/consolidation.js +8 -8
  246. package/dist/lib/database.js +2 -2
  247. package/dist/lib/db-backup.js +1 -1
  248. package/dist/lib/db-write-worker.js +3 -3
  249. package/dist/lib/db.js +2 -2
  250. package/dist/lib/delivery-truth.js +25 -0
  251. package/dist/lib/device-registry.js +1 -1
  252. package/dist/lib/employee-templates.js +4 -4
  253. package/dist/lib/employees.js +2 -2
  254. package/dist/lib/exe-daemon.js +185 -79
  255. package/dist/lib/hybrid-search.js +6 -6
  256. package/dist/lib/identity.js +2 -2
  257. package/dist/lib/license.js +2 -2
  258. package/dist/lib/messaging.js +15 -14
  259. package/dist/lib/registry-proxy.js +1 -1
  260. package/dist/lib/reminders.js +3 -3
  261. package/dist/lib/schedules.js +6 -6
  262. package/dist/lib/session-registry.js +4 -4
  263. package/dist/lib/skill-learning.js +7 -7
  264. package/dist/lib/status-brief.js +2 -1
  265. package/dist/lib/store.js +5 -5
  266. package/dist/lib/task-router.js +3 -3
  267. package/dist/lib/tasks.js +16 -15
  268. package/dist/lib/tmux-routing.js +14 -13
  269. package/dist/lib/token-spend.js +3 -3
  270. package/dist/{license-gate-HMSMUIAU.js → license-gate-YTIOLKVV.js} +3 -3
  271. package/dist/{license-sync-FBCMPC4J.js → license-sync-5VE5OSTV.js} +2 -2
  272. package/dist/mcp/register-tools.js +87 -82
  273. package/dist/mcp/server.js +90 -85
  274. package/dist/mcp/tools/complete-reminder.js +4 -4
  275. package/dist/mcp/tools/create-reminder.js +4 -4
  276. package/dist/mcp/tools/create-task.js +26 -23
  277. package/dist/mcp/tools/deactivate-behavior.js +8 -8
  278. package/dist/mcp/tools/list-reminders.js +4 -4
  279. package/dist/mcp/tools/list-tasks.js +18 -17
  280. package/dist/mcp/tools/send-message.js +17 -16
  281. package/dist/mcp/tools/update-task.js +17 -16
  282. package/dist/{mcp-http-config-YKJN52HG.js → mcp-http-config-XUNRIGQH.js} +3 -3
  283. package/dist/{mcp-session-identity-QLUVYWPR.js → mcp-session-identity-4UIG7KLK.js} +14 -13
  284. package/dist/{memory-cards-K2OSX4AW.js → memory-cards-R74YU4CO.js} +5 -5
  285. package/dist/{memory-graph-extractor-YLTSKLSY.js → memory-graph-extractor-3B4QJUXI.js} +7 -7
  286. package/dist/{memory-poisoning-defense-IPO4ADRL.js → memory-poisoning-defense-OAKFL5O2.js} +2 -2
  287. package/dist/{memory-pressure-watchdog-ZI3TH2OF.js → memory-pressure-watchdog-FFC2CHFJ.js} +15 -14
  288. package/dist/{memory-reflection-ZKVRU3NT.js → memory-reflection-5IJ6RE2J.js} +2 -2
  289. package/dist/{notification-ledger-4REL6M3T.js → notification-ledger-P5XBUYKO.js} +17 -15
  290. package/dist/{notifications-UXJUAP3C.js → notifications-LLCCHRYV.js} +14 -13
  291. package/dist/{orchestration-events-GMRGGBMN.js → orchestration-events-VBGCIQSS.js} +3 -3
  292. package/dist/{orchestrator-5TV75HDJ.js → orchestrator-EB3SCTAJ.js} +16 -15
  293. package/dist/{org-brief-session-7AZZEO3F.js → org-brief-session-GDCDKBFF.js} +6 -6
  294. package/dist/{org-consent-policy-XT6UZENB.js → org-consent-policy-HCD42NBN.js} +2 -2
  295. package/dist/{org-partner-runtime-WLZAZJIY.js → org-partner-runtime-TPVKFR6E.js} +6 -6
  296. package/dist/{org-row-visibility-A5XM4MVO.js → org-row-visibility-ZZLOPZLH.js} +1 -1
  297. package/dist/{pipeline-router-UEVXDUHR.js → pipeline-router-3JTL2KF6.js} +3 -3
  298. package/dist/{plan-limits-QEP32X4W.js → plan-limits-MTHRP4WY.js} +5 -5
  299. package/dist/{projection-worker-GMRC6SBH.js → projection-worker-FLASNERC.js} +2 -2
  300. package/dist/{prospective-memory-QLHSAPSG.js → prospective-memory-HI3WUY4U.js} +2 -2
  301. package/dist/{push-notifications-GKRPXOGI.js → push-notifications-DFSR6P7V.js} +15 -14
  302. package/dist/{reranker-GB4VEMUV.js → reranker-XHBKUDGG.js} +1 -1
  303. package/dist/{retrieval-health-QIBPBGN6.js → retrieval-health-NYKSDS6M.js} +1 -1
  304. package/dist/{review-polling-MU47NQ2N.js → review-polling-UAV6DZIZ.js} +15 -14
  305. package/dist/runtime/index.js +23 -22
  306. package/dist/{session-events-YMQ3VGBJ.js → session-events-YCYPLWPG.js} +15 -14
  307. package/dist/{session-kill-telemetry-VGPKE57M.js → session-kill-telemetry-UEJTHL65.js} +15 -14
  308. package/dist/{session-scope-P46KAHXQ.js → session-scope-LXDW7LJJ.js} +14 -13
  309. package/dist/{setup-wizard-BRNHSJ4U.js → setup-wizard-OVJQYUUL.js} +1 -1
  310. package/dist/{skill-refinement-NLYDSFEH.js → skill-refinement-EWRJID73.js} +3 -3
  311. package/dist/{stack-promote-NHFTNIM2.js → stack-promote-4IJM36OG.js} +5 -4
  312. package/dist/{stack-release-AQVKZUS7.js → stack-release-BAIRY65H.js} +5 -4
  313. package/dist/{stack-update-LLX5KT7G.js → stack-update-VDM5WXRS.js} +10 -3
  314. package/dist/stalled-dispatch-escalation-MHLYH2PT.js +80 -0
  315. package/dist/{steward-gate-JKHYFAHA.js → steward-gate-Y4N2XY3R.js} +3 -3
  316. package/dist/{subagent-brief-injection-VDVOHDOU.js → subagent-brief-injection-7A6JEVTP.js} +22 -20
  317. package/dist/{support-inbox-S6YO5YZU.js → support-inbox-LT4WJECQ.js} +4 -3
  318. package/dist/{task-enforcement-LXW45H5Z.js → task-enforcement-WOIZ5TLK.js} +15 -14
  319. package/dist/{task-request-inbox-UCSKDC3R.js → task-request-inbox-D65BPUKZ.js} +2 -2
  320. package/dist/{task-scope-GDLFE26E.js → task-scope-PQ67YRWP.js} +18 -16
  321. package/dist/{tasks-crud-W7VGWRUV.js → tasks-crud-TJNMUKKH.js} +14 -13
  322. package/dist/{tasks-notify-CT7NWCS4.js → tasks-notify-7UVC3VGI.js} +15 -14
  323. package/dist/{tasks-review-WCSKOUFW.js → tasks-review-WDWYISZ2.js} +14 -13
  324. package/dist/{telemetry-upload-FK5WKXVB.js → telemetry-upload-6LBGRJUE.js} +7 -7
  325. package/dist/{token-budget-GBNGSIU3.js → token-budget-XO5XW6DL.js} +3 -3
  326. package/dist/{tool-gates-3IC7DK4R.js → tool-gates-2OZY3GZM.js} +1 -1
  327. package/dist/{tool-gates-GXSYBVK4.js → tool-gates-7PLIOLAL.js} +1 -1
  328. package/dist/{tool-telemetry-VKMRS6MP.js → tool-telemetry-ZL6TTZWG.js} +1 -1
  329. package/dist/tui/App.js +23 -22
  330. package/dist/{tui-data-FTPV2XBQ.js → tui-data-UK7ZPKN4.js} +14 -13
  331. package/dist/{update-support-J6UWPUOC.js → update-support-BGL5KAZO.js} +12 -12
  332. package/dist/work-claims-XZL2DKQ3.js +53 -0
  333. package/dist/{work-state-heartbeat-4LDF6DSM.js → work-state-heartbeat-267YQ75U.js} +1 -1
  334. package/dist/{worker-gate-35VZINZG.js → worker-gate-RUM6MLIR.js} +1 -1
  335. package/dist/{workflow-engine-4DA6RSHI.js → workflow-engine-YQHGHKSJ.js} +2 -2
  336. package/dist/{worktree-H3YFJ3NU.js → worktree-3FO6EQ4G.js} +4 -4
  337. package/dist/{worktree-sweep-4EDLLQ2E.js → worktree-sweep-X7MUEEQS.js} +5 -5
  338. package/package.json +7 -2
  339. package/release-notes.json +93 -81
  340. /package/dist/{chunk-7Y6AQWVT.js → chunk-4AN2PWUK.js} +0 -0
  341. /package/dist/{chunk-7DMCAGSC.js → chunk-5U4UJGTW.js} +0 -0
  342. /package/dist/{chunk-3THNS2T7.js → chunk-EYIX6JU7.js} +0 -0
  343. /package/dist/{chunk-QYECRPGD.js → chunk-FDA45THL.js} +0 -0
  344. /package/dist/{chunk-MBBFL2SP.js → chunk-GIO4VU4J.js} +0 -0
  345. /package/dist/{chunk-LKYGSJ2E.js → chunk-I76LRCNA.js} +0 -0
  346. /package/dist/{chunk-UY6HRDB2.js → chunk-LBWEAQ6Z.js} +0 -0
  347. /package/dist/{chunk-VS4LPG66.js → chunk-MQ5RUHNZ.js} +0 -0
  348. /package/dist/{chunk-G2EAYH4U.js → chunk-PFCE4AXQ.js} +0 -0
  349. /package/dist/{chunk-3NBWARKC.js → chunk-SXAERZL2.js} +0 -0
  350. /package/dist/{chunk-BY7WWPRM.js → chunk-TKTQRSSD.js} +0 -0
  351. /package/dist/{chunk-JRPYLUXH.js → chunk-U2AZUMBZ.js} +0 -0
  352. /package/dist/{chunk-CMBF5WCL.js → chunk-W6FVADZS.js} +0 -0
  353. /package/dist/{core-memory-CMPPHJN5.js → core-memory-W5ZHHBRR.js} +0 -0
  354. /package/dist/{memory-isolation-ZB5S5HCO.js → memory-isolation-ZE7EDBO4.js} +0 -0
  355. /package/dist/{oauth-server-NP7KGF7N.js → oauth-server-3HG62YYJ.js} +0 -0
  356. /package/dist/{project-boot-LEZSK3W7.js → project-boot-3OAWKYLO.js} +0 -0
  357. /package/dist/{wiki-acl-5DKOWOIH.js → wiki-acl-FQV4E6M4.js} +0 -0
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  buildSubagentCheckpointEvent,
3
3
  recordSubagentCheckpointEventBestEffort
4
- } from "../chunk-JITNFE4W.js";
4
+ } from "../chunk-ZWONQU5S.js";
5
5
  import {
6
6
  isSidechainTranscript
7
7
  } from "../chunk-6IWLAQ7O.js";
@@ -9,29 +9,30 @@ import "../chunk-SH45SJQW.js";
9
9
  import {
10
10
  getActiveAgent,
11
11
  resolveAgentAttribution
12
- } from "../chunk-ZNEBZCZR.js";
12
+ } from "../chunk-NNXPIJRB.js";
13
13
  import "../chunk-2ADYTOHQ.js";
14
14
  import {
15
15
  sessionScopeFilter
16
- } from "../chunk-ORNCMRIX.js";
17
- import "../chunk-ESTR7QUP.js";
18
- import "../chunk-FXPAUDCZ.js";
19
- import "../chunk-QFIVK3G5.js";
16
+ } from "../chunk-Y4AYNLXU.js";
17
+ import "../chunk-BTSWFMEH.js";
18
+ import "../chunk-P3PAD6AA.js";
19
+ import "../chunk-KGPWS4KE.js";
20
+ import "../chunk-KYVIV54Y.js";
20
21
  import "../chunk-WT4RI36X.js";
21
- import "../chunk-C3UAQ3JG.js";
22
22
  import "../chunk-KI5PFRG6.js";
23
+ import "../chunk-QAEWWYHL.js";
23
24
  import "../chunk-EIKATSE4.js";
24
25
  import "../chunk-E23LNUWJ.js";
25
- import "../chunk-QAEWWYHL.js";
26
- import "../chunk-EHHMNKOA.js";
26
+ import "../chunk-CSBD7QLZ.js";
27
27
  import "../chunk-GBNB4EWD.js";
28
28
  import "../chunk-UXLO7VHX.js";
29
29
  import "../chunk-DSOQUQTV.js";
30
- import "../chunk-WR75WUEP.js";
30
+ import "../chunk-BFL3UB77.js";
31
31
  import "../chunk-AJIXH5JF.js";
32
+ import "../chunk-PVWM2WMM.js";
32
33
  import "../chunk-XTWHNLGD.js";
33
34
  import "../chunk-AM7S2TY6.js";
34
- import "../chunk-2FYIMTQE.js";
35
+ import "../chunk-PGF5I7EV.js";
35
36
  import "../chunk-CVYC6DUW.js";
36
37
  import "../chunk-ZVTKWWLV.js";
37
38
  import "../chunk-CDUB5Q6J.js";
@@ -45,20 +46,20 @@ import "../chunk-GJV3WDWM.js";
45
46
  import "../chunk-MP2AFCGL.js";
46
47
  import {
47
48
  canCoordinate
48
- } from "../chunk-BRLS5OLZ.js";
49
+ } from "../chunk-OBESOWFJ.js";
49
50
  import "../chunk-TKDITWDN.js";
50
51
  import "../chunk-BBMTVAE3.js";
51
52
  import "../chunk-5YEUPUV4.js";
52
- import "../chunk-NO3M2AFM.js";
53
+ import "../chunk-JDPV7W2L.js";
53
54
  import "../chunk-YYB5PMTK.js";
54
55
  import "../chunk-NJFJWQNN.js";
55
56
  import "../chunk-V3W3SATA.js";
56
57
  import "../chunk-JY5GAZYC.js";
57
58
  import "../chunk-FXU7JOXK.js";
58
59
  import "../chunk-WNBZJSQT.js";
59
- import "../chunk-ZDUO6QBH.js";
60
+ import "../chunk-6UZ3DEQI.js";
60
61
  import "../chunk-A7XLR3K7.js";
61
- import "../chunk-VS4LPG66.js";
62
+ import "../chunk-MQ5RUHNZ.js";
62
63
  import "../chunk-QILQ5FCG.js";
63
64
  import "../chunk-ARX6TAGN.js";
64
65
  import "../chunk-QMSEL5YS.js";
@@ -93,7 +94,7 @@ process.on("unhandledRejection", (err) => {
93
94
  process.exit(1);
94
95
  });
95
96
  try {
96
- const { verifyOrBlock } = await import("../hook-integrity-SGTKBL6W.js");
97
+ const { verifyOrBlock } = await import("../hook-integrity-3X2JRLBM.js");
97
98
  if (!await verifyOrBlock(new URL(import.meta.url).pathname)) process.exit(2);
98
99
  } catch (err) {
99
100
  const code = err?.code;
@@ -139,7 +140,7 @@ async function recordSubagentStopCheckpoint(payload, agentId) {
139
140
  });
140
141
  await Promise.race([
141
142
  (async () => {
142
- const { fastDbInit } = await import("../fast-db-init-SCXJXOYX.js");
143
+ const { fastDbInit } = await import("../fast-db-init-FPAPF3GB.js");
143
144
  const client = await fastDbInit({ daemonOnly: true });
144
145
  await recordSubagentCheckpointEventBestEffort({
145
146
  client,
@@ -177,7 +178,7 @@ process.stdin.on("end", async () => {
177
178
  if (!failClosedOnTimeout) {
178
179
  process.exit(0);
179
180
  }
180
- const { fastDbInit } = await import("../fast-db-init-SCXJXOYX.js");
181
+ const { fastDbInit } = await import("../fast-db-init-FPAPF3GB.js");
181
182
  const client = await fastDbInit({ caller: "hook" });
182
183
  const saScope = sessionScopeFilter();
183
184
  const pendingResult = await client.execute({
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  writeContinuityCheckpoint
3
- } from "../chunk-BY7WWPRM.js";
3
+ } from "../chunk-TKTQRSSD.js";
4
4
  import {
5
5
  initStore,
6
6
  vectorToBlob
7
- } from "../chunk-4QKKLK3C.js";
8
- import "../chunk-QYECRPGD.js";
7
+ } from "../chunk-ELY5WBZX.js";
8
+ import "../chunk-FDA45THL.js";
9
9
  import "../chunk-CHCA3ZM2.js";
10
10
  import "../chunk-OTVEIJUQ.js";
11
- import "../chunk-7DMCAGSC.js";
11
+ import "../chunk-5U4UJGTW.js";
12
12
  import "../chunk-5MOYSU5A.js";
13
13
  import "../chunk-4QCFFW2H.js";
14
14
  import "../chunk-76CJBM36.js";
@@ -16,25 +16,26 @@ import {
16
16
  getCurrentSessionScope,
17
17
  sessionScopeFilter,
18
18
  writeNotification
19
- } from "../chunk-ORNCMRIX.js";
20
- import "../chunk-ESTR7QUP.js";
21
- import "../chunk-FXPAUDCZ.js";
22
- import "../chunk-QFIVK3G5.js";
19
+ } from "../chunk-Y4AYNLXU.js";
20
+ import "../chunk-BTSWFMEH.js";
21
+ import "../chunk-P3PAD6AA.js";
22
+ import "../chunk-KGPWS4KE.js";
23
+ import "../chunk-KYVIV54Y.js";
23
24
  import "../chunk-WT4RI36X.js";
24
- import "../chunk-C3UAQ3JG.js";
25
25
  import "../chunk-KI5PFRG6.js";
26
+ import "../chunk-QAEWWYHL.js";
26
27
  import "../chunk-EIKATSE4.js";
27
28
  import "../chunk-E23LNUWJ.js";
28
- import "../chunk-QAEWWYHL.js";
29
- import "../chunk-EHHMNKOA.js";
29
+ import "../chunk-CSBD7QLZ.js";
30
30
  import "../chunk-GBNB4EWD.js";
31
31
  import "../chunk-UXLO7VHX.js";
32
32
  import "../chunk-DSOQUQTV.js";
33
- import "../chunk-WR75WUEP.js";
33
+ import "../chunk-BFL3UB77.js";
34
34
  import "../chunk-AJIXH5JF.js";
35
+ import "../chunk-PVWM2WMM.js";
35
36
  import "../chunk-XTWHNLGD.js";
36
37
  import "../chunk-AM7S2TY6.js";
37
- import "../chunk-2FYIMTQE.js";
38
+ import "../chunk-PGF5I7EV.js";
38
39
  import "../chunk-CVYC6DUW.js";
39
40
  import "../chunk-ZVTKWWLV.js";
40
41
  import "../chunk-CDUB5Q6J.js";
@@ -49,11 +50,11 @@ import "../chunk-MP2AFCGL.js";
49
50
  import {
50
51
  canCoordinate,
51
52
  getClient
52
- } from "../chunk-BRLS5OLZ.js";
53
+ } from "../chunk-OBESOWFJ.js";
53
54
  import "../chunk-TKDITWDN.js";
54
55
  import "../chunk-BBMTVAE3.js";
55
56
  import "../chunk-5YEUPUV4.js";
56
- import "../chunk-NO3M2AFM.js";
57
+ import "../chunk-JDPV7W2L.js";
57
58
  import "../chunk-YYB5PMTK.js";
58
59
  import "../chunk-NJFJWQNN.js";
59
60
  import "../chunk-V3W3SATA.js";
@@ -61,9 +62,9 @@ import "../chunk-JY5GAZYC.js";
61
62
  import "../chunk-FXU7JOXK.js";
62
63
  import "../chunk-HPXFKUGU.js";
63
64
  import "../chunk-WNBZJSQT.js";
64
- import "../chunk-ZDUO6QBH.js";
65
+ import "../chunk-6UZ3DEQI.js";
65
66
  import "../chunk-A7XLR3K7.js";
66
- import "../chunk-VS4LPG66.js";
67
+ import "../chunk-MQ5RUHNZ.js";
67
68
  import "../chunk-QILQ5FCG.js";
68
69
  import "../chunk-ARX6TAGN.js";
69
70
  import "../chunk-QMSEL5YS.js";
@@ -84,13 +85,13 @@ process.on("unhandledRejection", (err) => {
84
85
  process.exit(1);
85
86
  });
86
87
  try {
87
- const { verifyHookIntegrity } = await import("../hook-integrity-SGTKBL6W.js");
88
+ const { verifyHookIntegrity } = await import("../hook-integrity-3X2JRLBM.js");
88
89
  const check = verifyHookIntegrity(new URL(import.meta.url).pathname);
89
90
  if (!check.verified) {
90
91
  process.stderr.write(`[SECURITY] Hook tamper detected: summary-worker.js \u2014 ${check.reason} \u2014 refusing to run
91
92
  `);
92
93
  try {
93
- const { pushNotifyAsync } = await import("../push-notifications-GKRPXOGI.js");
94
+ const { pushNotifyAsync } = await import("../push-notifications-DFSR6P7V.js");
94
95
  pushNotifyAsync({
95
96
  event: "security_alert",
96
97
  title: "Hook tamper detected",
@@ -174,7 +175,7 @@ async function main() {
174
175
  let summaryText = "";
175
176
  let limitReached = false;
176
177
  try {
177
- const { assertMemoryLimit } = await import("../plan-limits-QEP32X4W.js");
178
+ const { assertMemoryLimit } = await import("../plan-limits-MTHRP4WY.js");
178
179
  await assertMemoryLimit();
179
180
  } catch (err) {
180
181
  const msg = err instanceof Error ? err.message : String(err);
@@ -248,7 +249,7 @@ async function main() {
248
249
  const { backfillKillSwitchEnabled } = await import("../backfill-gate-VX2RZTQV.js");
249
250
  const flagPath = path.join(EXE_AI_DIR, "session-cache", "needs-backfill");
250
251
  if (existsSync(flagPath) && !backfillKillSwitchEnabled()) {
251
- const { tryAcquireWorkerSlot, registerWorkerPid } = await import("../worker-gate-35VZINZG.js");
252
+ const { tryAcquireWorkerSlot, registerWorkerPid } = await import("../worker-gate-RUM6MLIR.js");
252
253
  if (!tryAcquireWorkerSlot()) {
253
254
  process.stderr.write("[summary-worker] Backfill needed but worker gate full \u2014 skipping\n");
254
255
  } else {
@@ -351,7 +352,7 @@ main().catch((err) => {
351
352
  process.stderr.write("[summary-worker] FATAL: " + (err instanceof Error ? err.message : String(err)) + "\n");
352
353
  }).finally(async () => {
353
354
  try {
354
- const { cleanupWorkerPid } = await import("../worker-gate-35VZINZG.js");
355
+ const { cleanupWorkerPid } = await import("../worker-gate-RUM6MLIR.js");
355
356
  cleanupWorkerPid();
356
357
  } catch {
357
358
  }
package/dist/index.js CHANGED
@@ -1,51 +1,52 @@
1
1
  import {
2
2
  runtime_exports
3
- } from "./chunk-EPNWEOOE.js";
4
- import "./chunk-JNVQGLPX.js";
5
- import "./chunk-J6I7X272.js";
3
+ } from "./chunk-VTOO5UB3.js";
4
+ import "./chunk-QT6CNCXO.js";
5
+ import "./chunk-2UGU3V63.js";
6
6
  import "./chunk-YZFZDJWZ.js";
7
- import "./chunk-CMCYL2JC.js";
8
7
  import "./chunk-NGVOA6ZQ.js";
9
- import "./chunk-KSVLBATT.js";
8
+ import "./chunk-CMCYL2JC.js";
9
+ import "./chunk-E5QQZDQN.js";
10
10
  import "./chunk-JRLNE3T2.js";
11
11
  import "./chunk-2O2UKMUE.js";
12
12
  import "./chunk-HF25XPZE.js";
13
13
  import "./chunk-O377P7GM.js";
14
- import "./chunk-CKG6CVKI.js";
14
+ import "./chunk-TTJWPV4G.js";
15
15
  import {
16
16
  gateway_exports
17
- } from "./chunk-7C4FUNVO.js";
17
+ } from "./chunk-J77ZIMH5.js";
18
+ import "./chunk-Q3V7K4ME.js";
18
19
  import "./chunk-N5RRQOAC.js";
19
20
  import "./chunk-ORCCI2VV.js";
20
21
  import "./chunk-2SRG3B3D.js";
21
- import "./chunk-DQ5KHWFD.js";
22
+ import "./chunk-N3CGSO3S.js";
22
23
  import "./chunk-WSOA3WMC.js";
23
24
  import "./chunk-RJT7H2KR.js";
24
- import "./chunk-Q3V7K4ME.js";
25
- import "./chunk-BATQKSLI.js";
26
- import "./chunk-U373MEF5.js";
27
- import "./chunk-P47MPWNU.js";
25
+ import "./chunk-V7E37GE3.js";
26
+ import "./chunk-VD3CVNGB.js";
27
+ import "./chunk-CXHRNESJ.js";
28
28
  import "./chunk-FWFFZGSC.js";
29
29
  import "./chunk-ECGTESAP.js";
30
- import "./chunk-ORNCMRIX.js";
31
- import "./chunk-ESTR7QUP.js";
32
- import "./chunk-FXPAUDCZ.js";
33
- import "./chunk-QFIVK3G5.js";
30
+ import "./chunk-Y4AYNLXU.js";
31
+ import "./chunk-BTSWFMEH.js";
32
+ import "./chunk-P3PAD6AA.js";
33
+ import "./chunk-KGPWS4KE.js";
34
+ import "./chunk-KYVIV54Y.js";
34
35
  import "./chunk-WT4RI36X.js";
35
- import "./chunk-C3UAQ3JG.js";
36
36
  import "./chunk-KI5PFRG6.js";
37
+ import "./chunk-QAEWWYHL.js";
37
38
  import "./chunk-EIKATSE4.js";
38
39
  import "./chunk-E23LNUWJ.js";
39
- import "./chunk-QAEWWYHL.js";
40
- import "./chunk-EHHMNKOA.js";
40
+ import "./chunk-CSBD7QLZ.js";
41
41
  import "./chunk-GBNB4EWD.js";
42
42
  import "./chunk-UXLO7VHX.js";
43
43
  import "./chunk-DSOQUQTV.js";
44
- import "./chunk-WR75WUEP.js";
44
+ import "./chunk-BFL3UB77.js";
45
45
  import "./chunk-AJIXH5JF.js";
46
+ import "./chunk-PVWM2WMM.js";
46
47
  import "./chunk-XTWHNLGD.js";
47
48
  import "./chunk-AM7S2TY6.js";
48
- import "./chunk-2FYIMTQE.js";
49
+ import "./chunk-PGF5I7EV.js";
49
50
  import "./chunk-CVYC6DUW.js";
50
51
  import "./chunk-ZVTKWWLV.js";
51
52
  import "./chunk-CDUB5Q6J.js";
@@ -57,23 +58,23 @@ import "./chunk-W2IRQJ6R.js";
57
58
  import "./chunk-HYZV25LY.js";
58
59
  import "./chunk-GJV3WDWM.js";
59
60
  import "./chunk-GL57PO3K.js";
60
- import "./chunk-UY6HRDB2.js";
61
+ import "./chunk-LBWEAQ6Z.js";
61
62
  import "./chunk-ML4S5SHZ.js";
62
63
  import "./chunk-MP2AFCGL.js";
63
- import "./chunk-BRLS5OLZ.js";
64
+ import "./chunk-OBESOWFJ.js";
64
65
  import "./chunk-TKDITWDN.js";
65
66
  import "./chunk-BBMTVAE3.js";
66
67
  import "./chunk-5YEUPUV4.js";
67
- import "./chunk-NO3M2AFM.js";
68
+ import "./chunk-JDPV7W2L.js";
68
69
  import "./chunk-YYB5PMTK.js";
69
70
  import "./chunk-NJFJWQNN.js";
70
71
  import "./chunk-V3W3SATA.js";
71
72
  import "./chunk-JY5GAZYC.js";
72
73
  import "./chunk-FXU7JOXK.js";
73
74
  import "./chunk-WNBZJSQT.js";
74
- import "./chunk-ZDUO6QBH.js";
75
+ import "./chunk-6UZ3DEQI.js";
75
76
  import "./chunk-A7XLR3K7.js";
76
- import "./chunk-VS4LPG66.js";
77
+ import "./chunk-MQ5RUHNZ.js";
77
78
  import "./chunk-QILQ5FCG.js";
78
79
  import "./chunk-ARX6TAGN.js";
79
80
  import "./chunk-QMSEL5YS.js";
@@ -4,6 +4,7 @@ import {
4
4
  copySlashCommands,
5
5
  detectMcpNameCollisions,
6
6
  installStatusLine,
7
+ isLinkedGitWorktree,
7
8
  mergeHooks,
8
9
  registerMcpServer,
9
10
  resolvePackageRoot,
@@ -11,18 +12,18 @@ import {
11
12
  setupGhostty,
12
13
  setupTmux,
13
14
  setupWezterm
14
- } from "./chunk-EKVTRI3N.js";
15
+ } from "./chunk-CU2OUUSV.js";
15
16
  import "./chunk-XBOLFVMD.js";
16
- import "./chunk-L3TB7CC3.js";
17
- import "./chunk-EWCEUO65.js";
17
+ import "./chunk-KM6XSFHP.js";
18
+ import "./chunk-QCSAYYL6.js";
18
19
  import "./chunk-B6TI3TZT.js";
19
- import "./chunk-ESTR7QUP.js";
20
+ import "./chunk-P3PAD6AA.js";
20
21
  import "./chunk-HYZV25LY.js";
21
- import "./chunk-BRLS5OLZ.js";
22
+ import "./chunk-OBESOWFJ.js";
22
23
  import "./chunk-TKDITWDN.js";
23
24
  import "./chunk-BBMTVAE3.js";
24
25
  import "./chunk-5YEUPUV4.js";
25
- import "./chunk-NO3M2AFM.js";
26
+ import "./chunk-JDPV7W2L.js";
26
27
  import "./chunk-YYB5PMTK.js";
27
28
  import "./chunk-NJFJWQNN.js";
28
29
  import "./chunk-V3W3SATA.js";
@@ -38,6 +39,7 @@ export {
38
39
  copySlashCommands,
39
40
  detectMcpNameCollisions,
40
41
  installStatusLine,
42
+ isLinkedGitWorktree,
41
43
  mergeHooks,
42
44
  registerMcpServer,
43
45
  resolvePackageRoot,
@@ -1,23 +1,23 @@
1
1
  import {
2
2
  resolvePackageRoot
3
- } from "./chunk-EKVTRI3N.js";
3
+ } from "./chunk-CU2OUUSV.js";
4
4
  import "./chunk-XBOLFVMD.js";
5
5
  import {
6
6
  EXE_HOOK_FILES,
7
7
  textHasLegacySplitPostToolHook
8
- } from "./chunk-L3TB7CC3.js";
8
+ } from "./chunk-KM6XSFHP.js";
9
9
  import {
10
10
  buildMcpHttpHeaders,
11
11
  mcpHttpUrl
12
- } from "./chunk-EWCEUO65.js";
12
+ } from "./chunk-QCSAYYL6.js";
13
13
  import "./chunk-B6TI3TZT.js";
14
- import "./chunk-ESTR7QUP.js";
14
+ import "./chunk-P3PAD6AA.js";
15
15
  import "./chunk-HYZV25LY.js";
16
- import "./chunk-BRLS5OLZ.js";
16
+ import "./chunk-OBESOWFJ.js";
17
17
  import "./chunk-TKDITWDN.js";
18
18
  import "./chunk-BBMTVAE3.js";
19
19
  import "./chunk-5YEUPUV4.js";
20
- import "./chunk-NO3M2AFM.js";
20
+ import "./chunk-JDPV7W2L.js";
21
21
  import "./chunk-YYB5PMTK.js";
22
22
  import "./chunk-NJFJWQNN.js";
23
23
  import "./chunk-V3W3SATA.js";
@@ -1,25 +1,25 @@
1
1
  import {
2
2
  resolvePackageRoot
3
- } from "./chunk-EKVTRI3N.js";
3
+ } from "./chunk-CU2OUUSV.js";
4
4
  import {
5
5
  loadPreferences
6
6
  } from "./chunk-XBOLFVMD.js";
7
7
  import {
8
8
  EXE_HOOKS,
9
9
  isLegacySplitPostToolCommand
10
- } from "./chunk-L3TB7CC3.js";
10
+ } from "./chunk-KM6XSFHP.js";
11
11
  import {
12
12
  buildMcpHttpHeaders,
13
13
  mcpHttpUrl
14
- } from "./chunk-EWCEUO65.js";
14
+ } from "./chunk-QCSAYYL6.js";
15
15
  import "./chunk-B6TI3TZT.js";
16
- import "./chunk-ESTR7QUP.js";
16
+ import "./chunk-P3PAD6AA.js";
17
17
  import "./chunk-HYZV25LY.js";
18
- import "./chunk-BRLS5OLZ.js";
18
+ import "./chunk-OBESOWFJ.js";
19
19
  import "./chunk-TKDITWDN.js";
20
20
  import "./chunk-BBMTVAE3.js";
21
21
  import "./chunk-5YEUPUV4.js";
22
- import "./chunk-NO3M2AFM.js";
22
+ import "./chunk-JDPV7W2L.js";
23
23
  import "./chunk-YYB5PMTK.js";
24
24
  import "./chunk-NJFJWQNN.js";
25
25
  import "./chunk-V3W3SATA.js";
@@ -32,7 +32,7 @@ import "./chunk-MLKGABMK.js";
32
32
 
33
33
  // src/adapters/codex/installer.ts
34
34
  import { readFile, writeFile, mkdir } from "fs/promises";
35
- import { existsSync, readFileSync } from "fs";
35
+ import { existsSync, readFileSync, realpathSync } from "fs";
36
36
  import path from "path";
37
37
  import os from "os";
38
38
  async function mergeCodexHooks(packageRoot, homeDir = os.homedir()) {
@@ -108,6 +108,35 @@ async function mergeCodexHooks(packageRoot, homeDir = os.homedir()) {
108
108
  ]
109
109
  },
110
110
  marker: EXE_HOOKS.preToolUse
111
+ },
112
+ {
113
+ // Codex fires PreCompact (0.144.5+). Writes the active-task snapshot and
114
+ // compaction recovery checkpoint, same as Claude Code.
115
+ event: "PreCompact",
116
+ group: {
117
+ hooks: [
118
+ {
119
+ type: "command",
120
+ command: `node "${path.join(packageRoot, "dist", "hooks", "pre-compact.js")}"${logSuffix}`
121
+ }
122
+ ]
123
+ },
124
+ marker: EXE_HOOKS.preCompact
125
+ },
126
+ {
127
+ // Forward-registration: inert on Codex < 0.147 (unknown event keys are
128
+ // ignored without error), live from 0.147 onward. The Stop-hook cadence
129
+ // covers the gap. See the module header.
130
+ event: "SessionEnd",
131
+ group: {
132
+ hooks: [
133
+ {
134
+ type: "command",
135
+ command: `node "${path.join(packageRoot, "dist", "hooks", "session-end.js")}"${logSuffix}`
136
+ }
137
+ ]
138
+ },
139
+ marker: EXE_HOOKS.sessionEnd
111
140
  }
112
141
  ];
113
142
  let added = 0;
@@ -157,7 +186,7 @@ function verifyCodexHooks(homeDir = os.homedir()) {
157
186
  try {
158
187
  const hooksJson = JSON.parse(readFileSync(hooksPath, "utf-8"));
159
188
  if (!hooksJson.hooks) return false;
160
- const required = ["PostToolUse", "UserPromptSubmit", "Stop", "PreToolUse"];
189
+ const required = ["PostToolUse", "UserPromptSubmit", "Stop", "PreToolUse", "PreCompact", "SessionEnd"];
161
190
  for (const event of required) {
162
191
  const groups = hooksJson.hooks[event];
163
192
  if (!groups || !groups.some(
@@ -317,6 +346,115 @@ async function ensureCodexHooksFeature(homeDir = os.homedir()) {
317
346
  await writeFile(configPath, content);
318
347
  return "enabled";
319
348
  }
349
+ async function listCodexHooks(codexHome, cwd, timeoutMs) {
350
+ const { spawn } = await import("child_process");
351
+ return await new Promise((resolve) => {
352
+ let child;
353
+ try {
354
+ child = spawn("codex", ["app-server"], {
355
+ env: { ...process.env, CODEX_HOME: codexHome },
356
+ stdio: ["pipe", "pipe", "ignore"]
357
+ });
358
+ } catch {
359
+ resolve(null);
360
+ return;
361
+ }
362
+ let settled = false;
363
+ const finish = (value) => {
364
+ if (settled) return;
365
+ settled = true;
366
+ clearTimeout(timer);
367
+ try {
368
+ child.kill();
369
+ } catch {
370
+ }
371
+ resolve(value);
372
+ };
373
+ const timer = setTimeout(() => finish(null), timeoutMs);
374
+ timer.unref?.();
375
+ child.on("error", () => finish(null));
376
+ child.on("exit", () => finish(null));
377
+ let buffer = "";
378
+ child.stdout?.setEncoding("utf8");
379
+ child.stdout?.on("data", (chunk) => {
380
+ buffer += chunk;
381
+ let newline;
382
+ while ((newline = buffer.indexOf("\n")) >= 0) {
383
+ const line = buffer.slice(0, newline);
384
+ buffer = buffer.slice(newline + 1);
385
+ if (!line.trim()) continue;
386
+ let message;
387
+ try {
388
+ message = JSON.parse(line);
389
+ } catch {
390
+ continue;
391
+ }
392
+ if (message.id === 1) {
393
+ child.stdin?.write(
394
+ JSON.stringify({ jsonrpc: "2.0", id: 2, method: "hooks/list", params: { cwds: [cwd] } }) + "\n"
395
+ );
396
+ } else if (message.id === 2) {
397
+ const entries = message.result?.data ?? [];
398
+ finish(entries.flatMap((entry) => entry.hooks ?? []));
399
+ return;
400
+ }
401
+ }
402
+ });
403
+ child.stdin?.on("error", () => finish(null));
404
+ child.stdin?.write(
405
+ JSON.stringify({
406
+ jsonrpc: "2.0",
407
+ id: 1,
408
+ method: "initialize",
409
+ params: { clientInfo: { name: "exe-os-installer", version: "1" }, capabilities: { experimentalApi: true } }
410
+ }) + "\n"
411
+ );
412
+ });
413
+ }
414
+ function isSamePath(a, b) {
415
+ if (a === b) return true;
416
+ try {
417
+ return realpathSync(a) === realpathSync(b);
418
+ } catch {
419
+ return false;
420
+ }
421
+ }
422
+ function escapeRegExp(value) {
423
+ return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
424
+ }
425
+ function upsertHookTrustBlock(content, key, hash) {
426
+ const block = `[hooks.state."${key}"]
427
+ trusted_hash = "${hash}"
428
+ `;
429
+ const existing = new RegExp(
430
+ `\\[hooks\\.state\\."${escapeRegExp(key)}"\\]\\n(?:(?!\\[)[^\\n]*\\n?)*`,
431
+ "g"
432
+ );
433
+ if (existing.test(content)) {
434
+ return content.replace(existing, block);
435
+ }
436
+ const separator = content.length === 0 ? "" : content.endsWith("\n") ? "\n" : "\n\n";
437
+ return content + separator + block;
438
+ }
439
+ async function grantCodexHookTrust(homeDir = os.homedir(), timeoutMs = 2e4) {
440
+ const codexDir = path.join(homeDir, ".codex");
441
+ const hooksPath = path.join(codexDir, "hooks.json");
442
+ const configPath = path.join(codexDir, "config.toml");
443
+ if (!existsSync(hooksPath)) return { status: "unavailable", trusted: 0 };
444
+ const hooks = await listCodexHooks(codexDir, homeDir, timeoutMs);
445
+ if (!hooks) return { status: "unavailable", trusted: 0 };
446
+ const ours = hooks.filter(
447
+ (hook) => !hook.isManaged && isSamePath(hook.sourcePath, hooksPath) && typeof hook.command === "string" && hook.command.includes("dist/hooks/") && typeof hook.currentHash === "string" && hook.currentHash.length > 0
448
+ );
449
+ const stale = ours.filter((hook) => hook.trustStatus !== "trusted");
450
+ if (stale.length === 0) return { status: "up-to-date", trusted: 0 };
451
+ let content = existsSync(configPath) ? await readFile(configPath, "utf-8") : "";
452
+ for (const hook of stale) {
453
+ content = upsertHookTrustBlock(content, hook.key, hook.currentHash);
454
+ }
455
+ await writeFile(configPath, content);
456
+ return { status: "granted", trusted: stale.length };
457
+ }
320
458
  async function runCodexInstaller(homeDir) {
321
459
  const packageRoot = resolvePackageRoot();
322
460
  const result = await mergeCodexHooks(packageRoot, homeDir);
@@ -327,6 +465,11 @@ async function runCodexInstaller(homeDir) {
327
465
  const featureResult = await ensureCodexHooksFeature(homeDir);
328
466
  process.stderr.write(
329
467
  `[exe-os] Codex hooks feature: ${featureResult}
468
+ `
469
+ );
470
+ const trustResult = await grantCodexHookTrust(homeDir);
471
+ process.stderr.write(
472
+ `[exe-os] Codex hook trust: ${trustResult.status}${trustResult.trusted > 0 ? ` (${trustResult.trusted} granted)` : ""}
330
473
  `
331
474
  );
332
475
  const mcpResult = await registerCodexMcpServer(packageRoot, homeDir);
@@ -342,6 +485,7 @@ async function runCodexInstaller(homeDir) {
342
485
  }
343
486
  export {
344
487
  ensureCodexHooksFeature,
488
+ grantCodexHookTrust,
345
489
  installCodexStatusLine,
346
490
  mergeCodexHooks,
347
491
  registerCodexMcpServer,
@@ -6,25 +6,26 @@ import {
6
6
  drainQueueAsync,
7
7
  queueIntercom,
8
8
  readQueue
9
- } from "./chunk-ORNCMRIX.js";
10
- import "./chunk-ESTR7QUP.js";
11
- import "./chunk-FXPAUDCZ.js";
12
- import "./chunk-QFIVK3G5.js";
9
+ } from "./chunk-Y4AYNLXU.js";
10
+ import "./chunk-BTSWFMEH.js";
11
+ import "./chunk-P3PAD6AA.js";
12
+ import "./chunk-KGPWS4KE.js";
13
+ import "./chunk-KYVIV54Y.js";
13
14
  import "./chunk-WT4RI36X.js";
14
- import "./chunk-C3UAQ3JG.js";
15
15
  import "./chunk-KI5PFRG6.js";
16
+ import "./chunk-QAEWWYHL.js";
16
17
  import "./chunk-EIKATSE4.js";
17
18
  import "./chunk-E23LNUWJ.js";
18
- import "./chunk-QAEWWYHL.js";
19
- import "./chunk-EHHMNKOA.js";
19
+ import "./chunk-CSBD7QLZ.js";
20
20
  import "./chunk-GBNB4EWD.js";
21
21
  import "./chunk-UXLO7VHX.js";
22
22
  import "./chunk-DSOQUQTV.js";
23
- import "./chunk-WR75WUEP.js";
23
+ import "./chunk-BFL3UB77.js";
24
24
  import "./chunk-AJIXH5JF.js";
25
+ import "./chunk-PVWM2WMM.js";
25
26
  import "./chunk-XTWHNLGD.js";
26
27
  import "./chunk-AM7S2TY6.js";
27
- import "./chunk-2FYIMTQE.js";
28
+ import "./chunk-PGF5I7EV.js";
28
29
  import "./chunk-CVYC6DUW.js";
29
30
  import "./chunk-ZVTKWWLV.js";
30
31
  import "./chunk-CDUB5Q6J.js";
@@ -36,20 +37,20 @@ import "./chunk-W2IRQJ6R.js";
36
37
  import "./chunk-HYZV25LY.js";
37
38
  import "./chunk-GJV3WDWM.js";
38
39
  import "./chunk-MP2AFCGL.js";
39
- import "./chunk-BRLS5OLZ.js";
40
+ import "./chunk-OBESOWFJ.js";
40
41
  import "./chunk-TKDITWDN.js";
41
42
  import "./chunk-BBMTVAE3.js";
42
43
  import "./chunk-5YEUPUV4.js";
43
- import "./chunk-NO3M2AFM.js";
44
+ import "./chunk-JDPV7W2L.js";
44
45
  import "./chunk-YYB5PMTK.js";
45
46
  import "./chunk-NJFJWQNN.js";
46
47
  import "./chunk-V3W3SATA.js";
47
48
  import "./chunk-JY5GAZYC.js";
48
49
  import "./chunk-FXU7JOXK.js";
49
50
  import "./chunk-WNBZJSQT.js";
50
- import "./chunk-ZDUO6QBH.js";
51
+ import "./chunk-6UZ3DEQI.js";
51
52
  import "./chunk-A7XLR3K7.js";
52
- import "./chunk-VS4LPG66.js";
53
+ import "./chunk-MQ5RUHNZ.js";
53
54
  import "./chunk-QILQ5FCG.js";
54
55
  import "./chunk-ARX6TAGN.js";
55
56
  import "./chunk-QMSEL5YS.js";