@askexenow/exe-os 0.9.410 → 0.9.412

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 (408) hide show
  1. package/delivery/catalog.json +29 -38
  2. package/deploy/compose/.env.customer.example +5 -5
  3. package/deploy/compose/.env.default +4 -4
  4. package/deploy/compose/.env.example +5 -5
  5. package/deploy/compose/docker-compose.yml +1 -1
  6. package/deploy/stack-manifests/v0.9.json +263 -2
  7. package/dist/.dist-verified.json +3 -3
  8. package/dist/{active-agent-2ELFTYNT.js → active-agent-3YCLS7GB.js} +4 -4
  9. package/dist/{active-agent-SS4SRXYZ.js → active-agent-MHWQDMML.js} +4 -4
  10. package/dist/{agent-defs-generator-6S2BSYCP.js → agent-defs-generator-DNXMO34I.js} +4 -4
  11. package/dist/{agentic-ontology-TJOAUAPD.js → agentic-ontology-RA6CMND6.js} +1 -1
  12. package/dist/{artifact-backup-STQQZDZ5.js → artifact-backup-EETHNFFP.js} +3 -3
  13. package/dist/{backfill-metadata-I2FVENKJ.js → backfill-metadata-WYT257VG.js} +7 -7
  14. package/dist/backup-verify-AG54CYGR.js +62 -0
  15. package/dist/{behavior-injection-CTSIKHTH.js → behavior-injection-G7GAUHGO.js} +10 -10
  16. package/dist/{behavior-promotion-NZMTTFHK.js → behavior-promotion-I2DIUFUR.js} +9 -9
  17. package/dist/{behaviors-RUNSC5WI.js → behaviors-SKVKPCRW.js} +8 -8
  18. package/dist/bin/agentic-ontology-backfill.js +8 -8
  19. package/dist/bin/agentic-reflection-backfill.js +9 -9
  20. package/dist/bin/agentic-semantic-label.js +8 -8
  21. package/dist/bin/backfill-conversations.js +7 -7
  22. package/dist/bin/backfill-responses.js +7 -7
  23. package/dist/bin/backfill-vectors.js +7 -7
  24. package/dist/bin/bulk-sync-postgres.js +16 -16
  25. package/dist/bin/cc-doctor.js +8 -8
  26. package/dist/bin/cleanup-stale-review-tasks.js +13 -13
  27. package/dist/bin/cli.js +24 -24
  28. package/dist/bin/deferred-daemon-restart.js +95 -95
  29. package/dist/bin/exe-actions.js +1 -1
  30. package/dist/bin/exe-agent-config.js +3 -3
  31. package/dist/bin/exe-agent.js +15 -15
  32. package/dist/bin/exe-assign.js +8 -8
  33. package/dist/bin/exe-boot.js +35 -35
  34. package/dist/bin/exe-call.js +9 -9
  35. package/dist/bin/exe-cloud.js +17 -17
  36. package/dist/bin/exe-config-dump.js +3 -3
  37. package/dist/bin/exe-dispatch.js +14 -14
  38. package/dist/bin/exe-doctor.js +5 -5
  39. package/dist/bin/exe-export-behaviors.js +12 -12
  40. package/dist/bin/exe-forget.js +10 -10
  41. package/dist/bin/exe-gateway.js +9 -9
  42. package/dist/bin/exe-grant.js +6 -6
  43. package/dist/bin/exe-healthcheck.js +8 -8
  44. package/dist/bin/exe-heartbeat.js +19 -19
  45. package/dist/bin/exe-kill.js +18 -18
  46. package/dist/bin/exe-launch-agent.js +75 -36
  47. package/dist/bin/exe-mcp.js +5 -5
  48. package/dist/bin/exe-memory-reads.js +7 -7
  49. package/dist/bin/exe-new-employee.js +11 -11
  50. package/dist/bin/exe-os-mcp-proxy.js +5 -5
  51. package/dist/bin/exe-pending-messages.js +14 -14
  52. package/dist/bin/exe-pending-notifications.js +13 -13
  53. package/dist/bin/exe-pending-reviews.js +14 -14
  54. package/dist/bin/exe-rename.js +7 -7
  55. package/dist/bin/exe-review.js +17 -17
  56. package/dist/bin/exe-search.js +9 -9
  57. package/dist/bin/exe-session-cleanup.js +18 -18
  58. package/dist/bin/exe-settings.js +16 -16
  59. package/dist/bin/exe-start-codex.js +37 -19
  60. package/dist/bin/exe-start-opencode.js +35 -17
  61. package/dist/bin/exe-status.js +15 -15
  62. package/dist/bin/exe-support.js +3 -3
  63. package/dist/bin/exe-team.js +5 -5
  64. package/dist/bin/git-sweep.js +15 -15
  65. package/dist/bin/graph-backfill.js +8 -8
  66. package/dist/bin/graph-export.js +8 -8
  67. package/dist/bin/hooks-cli.js +1 -1
  68. package/dist/bin/import-history.js +11 -11
  69. package/dist/bin/install.js +97 -97
  70. package/dist/bin/intercom-check.js +5 -5
  71. package/dist/bin/mcp-sessions.js +2 -2
  72. package/dist/bin/orchestration-metrics.js +5 -5
  73. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  74. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  75. package/dist/bin/pre-publish.js +1 -1
  76. package/dist/bin/reconcile-backlog.js +2 -2
  77. package/dist/bin/registry-proxy.js +1 -1
  78. package/dist/bin/repair-document-chunks.js +7 -7
  79. package/dist/bin/scan-tasks.js +14 -14
  80. package/dist/bin/setup.js +2 -2
  81. package/dist/bin/shard-migrate.js +8 -8
  82. package/dist/bin/stack-update.js +41 -16
  83. package/dist/bin/verify-stack.js +1 -1
  84. package/dist/bin/vps-health-gate.js +1 -1
  85. package/dist/{boot-generation-4W4CDJSX.js → boot-generation-RPJVFAQJ.js} +4 -4
  86. package/dist/{boot-review-sections-HJN25GMU.js → boot-review-sections-FOPPZTJI.js} +12 -12
  87. package/dist/{bug-landed-reconciler-GGQU6G2L.js → bug-landed-reconciler-FN5KPBRK.js} +6 -6
  88. package/dist/build-info.json +3 -3
  89. package/dist/build-manifest.json +936 -926
  90. package/dist/{capability-cards-EV7VHL3W.js → capability-cards-YQWBEG7A.js} +3 -3
  91. package/dist/{capacity-monitor-YO3WRSRY.js → capacity-monitor-7SMEJHYG.js} +14 -14
  92. package/dist/{catchup-brief-4XFFW3H2.js → catchup-brief-IBQ26LEB.js} +19 -19
  93. package/dist/{chunk-YJ7MCZSY.js → chunk-27NG2NTG.js} +2 -2
  94. package/dist/{chunk-2AXJRXA6.js → chunk-2BOLFLAU.js} +4 -2
  95. package/dist/{chunk-AGXV5HLA.js → chunk-2EYVXUGA.js} +4 -4
  96. package/dist/{chunk-2YZZR2BW.js → chunk-2YFMBXUU.js} +4 -4
  97. package/dist/{chunk-ZBXZFOIF.js → chunk-2YGBJHC2.js} +3 -3
  98. package/dist/{chunk-I35OMCL3.js → chunk-353XF4LU.js} +2 -2
  99. package/dist/{chunk-UF5BDAF6.js → chunk-3DXAJVXE.js} +6 -6
  100. package/dist/{chunk-AEOB4JCJ.js → chunk-3GGMHSY2.js} +3 -3
  101. package/dist/{chunk-K6XWIJN7.js → chunk-3N24FV22.js} +1 -1
  102. package/dist/{chunk-7WCYJXOF.js → chunk-47YGEM4N.js} +1 -1
  103. package/dist/{chunk-NVM3SKJ4.js → chunk-4CN3EE6U.js} +27 -21
  104. package/dist/{chunk-IQCC6WFI.js → chunk-4J77TCTX.js} +1 -1
  105. package/dist/{chunk-H5H2LGVE.js → chunk-5BWDUUMH.js} +3 -3
  106. package/dist/{chunk-O5RKAXCG.js → chunk-5DLZJ3MY.js} +1 -1
  107. package/dist/{chunk-E3ZO4EL3.js → chunk-5ZMNFSHV.js} +1 -1
  108. package/dist/{chunk-7QFRZT4H.js → chunk-657I6PUF.js} +3 -3
  109. package/dist/{chunk-IXRYS5X3.js → chunk-6777GNWI.js} +1 -1
  110. package/dist/{chunk-4THJIDJE.js → chunk-6BD6JYR2.js} +1 -1
  111. package/dist/{chunk-JTXXLNYD.js → chunk-6DMURUBY.js} +4 -4
  112. package/dist/{chunk-47UBJKS3.js → chunk-6HJF7IA3.js} +168 -205
  113. package/dist/{chunk-PONGX3YG.js → chunk-6J2J3VJS.js} +10 -10
  114. package/dist/{chunk-XBCIRNNU.js → chunk-6PXFF6IV.js} +1 -1
  115. package/dist/{chunk-DWK5HEKY.js → chunk-7HLAYQRG.js} +4 -4
  116. package/dist/{chunk-RWM6TZH6.js → chunk-7KPZQ65I.js} +3 -3
  117. package/dist/{chunk-BPXWWD7P.js → chunk-7PDZBPGW.js} +1 -1
  118. package/dist/{chunk-2K7IKLBL.js → chunk-7SHU5MOD.js} +1 -1
  119. package/dist/{chunk-APKEGWFB.js → chunk-A5I2GYVQ.js} +3 -3
  120. package/dist/{chunk-X4V5ZLNX.js → chunk-A75TAU2I.js} +628 -4
  121. package/dist/{chunk-T7W75LII.js → chunk-BE3UETW6.js} +3 -3
  122. package/dist/{chunk-575FWHQJ.js → chunk-BG6RAOCJ.js} +63 -9
  123. package/dist/{chunk-YSDSQRE2.js → chunk-BIPTWAEO.js} +1 -1
  124. package/dist/{chunk-FYKEL2L6.js → chunk-BLTXAUP6.js} +2 -2
  125. package/dist/{chunk-ASA2UJDH.js → chunk-CFFSHBQF.js} +1 -1
  126. package/dist/{chunk-XCKTCOK3.js → chunk-CJ6CS2IH.js} +5 -5
  127. package/dist/{chunk-V7AID6MC.js → chunk-CRW63CDI.js} +1 -1
  128. package/dist/{chunk-B34RSIUP.js → chunk-CWHTUNJX.js} +2 -2
  129. package/dist/{chunk-HKAWEIB2.js → chunk-D6NZNUVH.js} +1 -1
  130. package/dist/{chunk-CEHGXPMO.js → chunk-DHLJZDWI.js} +4 -4
  131. package/dist/{chunk-FCX2XHIC.js → chunk-DWRULKB3.js} +2 -2
  132. package/dist/{chunk-KNEEOZWN.js → chunk-EOWJXCYC.js} +25 -7
  133. package/dist/{chunk-5BWN6A5E.js → chunk-EWDBWOCX.js} +1 -1
  134. package/dist/{chunk-IUAW7FVX.js → chunk-FPF2PJFK.js} +3 -3
  135. package/dist/{chunk-B55U5BKF.js → chunk-FSXMKIDO.js} +1 -1
  136. package/dist/{chunk-2A556FNI.js → chunk-FUDXITKX.js} +1 -1
  137. package/dist/{chunk-FZT7CBXB.js → chunk-FYV2CTKP.js} +1 -1
  138. package/dist/{chunk-R2ZHPVF2.js → chunk-GATAYYAF.js} +3 -3
  139. package/dist/{chunk-CKRZBQ2K.js → chunk-GHYHNHDL.js} +1 -1
  140. package/dist/{chunk-IHBYJG7N.js → chunk-GL5ZG72X.js} +1 -1
  141. package/dist/{chunk-WSYIQKZ6.js → chunk-GM4UEZDE.js} +20 -20
  142. package/dist/{chunk-QKHQTHE6.js → chunk-GZVFHFO3.js} +10 -135
  143. package/dist/{chunk-XC2KAJK4.js → chunk-HA6BIZ6L.js} +5 -5
  144. package/dist/chunk-HDQAVAV6.js +248 -0
  145. package/dist/{chunk-5Q64Q5ZD.js → chunk-HDV2V25K.js} +1 -1
  146. package/dist/{chunk-26CY4EAR.js → chunk-HTFM7ZDD.js} +2 -2
  147. package/dist/{chunk-NUEDA2US.js → chunk-HUHR5CKJ.js} +4 -4
  148. package/dist/{chunk-BIHPY7JW.js → chunk-IC2AONBH.js} +9 -9
  149. package/dist/{chunk-2YK5HP2B.js → chunk-IHAXXDBH.js} +3 -3
  150. package/dist/{chunk-5JHIAGZY.js → chunk-IPUDXR67.js} +1 -1
  151. package/dist/{chunk-BBTNF72N.js → chunk-J6U4ZR77.js} +2 -2
  152. package/dist/{chunk-2OIVIPU7.js → chunk-JAIZCE6W.js} +3 -3
  153. package/dist/{chunk-WLV27PAO.js → chunk-JGBYZTWH.js} +1 -1
  154. package/dist/{chunk-4XY33GRO.js → chunk-JJZZXEAN.js} +3 -3
  155. package/dist/{chunk-3UEDFBDE.js → chunk-JNULO6I5.js} +3 -3
  156. package/dist/{chunk-JZ23D5YF.js → chunk-JTJP4JK7.js} +3 -3
  157. package/dist/{chunk-JDZNGC4O.js → chunk-JW5NUXPN.js} +11 -11
  158. package/dist/{chunk-GGT6Y5AN.js → chunk-K2HIXAIF.js} +12 -12
  159. package/dist/{chunk-NYV4A5IG.js → chunk-KEDZRQI3.js} +2 -2
  160. package/dist/{chunk-S2DTXCV6.js → chunk-KN5GAVCG.js} +2 -2
  161. package/dist/{chunk-LBEBSXZA.js → chunk-L5JFVK5T.js} +4 -4
  162. package/dist/{chunk-HNJLAMD3.js → chunk-LBSCOP25.js} +1 -1
  163. package/dist/{chunk-FOZSHNET.js → chunk-LLZUL7M2.js} +1 -1
  164. package/dist/{chunk-53GNYXNR.js → chunk-LQGLGSBY.js} +2 -2
  165. package/dist/{chunk-X2EBM5BQ.js → chunk-LSHUX7P4.js} +16 -16
  166. package/dist/{chunk-AWTLUJZL.js → chunk-M6AX64J2.js} +2 -2
  167. package/dist/{chunk-7RVTQXST.js → chunk-M6SUJLNP.js} +2 -2
  168. package/dist/{chunk-OUUNFTS4.js → chunk-MZNLQC6W.js} +1 -1
  169. package/dist/{chunk-PCF4QMJS.js → chunk-N7POJZJT.js} +10 -10
  170. package/dist/{chunk-2CG3LHI6.js → chunk-NCNT2C2P.js} +2 -2
  171. package/dist/{chunk-R3N5BCMM.js → chunk-O3BLL6MY.js} +1 -1
  172. package/dist/{chunk-SLG3T26A.js → chunk-O6KQAJCC.js} +3 -3
  173. package/dist/{chunk-2WOHFX4Z.js → chunk-OHHZNNUD.js} +1 -1
  174. package/dist/{chunk-HWP3WCLC.js → chunk-OPG237ZQ.js} +154 -50
  175. package/dist/{chunk-2LJ2GZEE.js → chunk-PDQGR5LZ.js} +1 -1
  176. package/dist/{chunk-UBTKHJCB.js → chunk-PTF5TB6O.js} +6 -6
  177. package/dist/{chunk-5F3E57TQ.js → chunk-PYXXL7N7.js} +1 -1
  178. package/dist/{chunk-HLNRLXUS.js → chunk-Q6KUBP6R.js} +5 -5
  179. package/dist/{chunk-AGY2KUQ6.js → chunk-QJWLQXR7.js} +1 -1
  180. package/dist/{chunk-ZEDLED43.js → chunk-QOFQY7BJ.js} +1 -1
  181. package/dist/{chunk-6T5RC3L4.js → chunk-QSW5DHMZ.js} +1 -1
  182. package/dist/{chunk-54Q7M2AG.js → chunk-QV26G2BF.js} +1 -1
  183. package/dist/{chunk-5WNZGNQL.js → chunk-RHHEYC6H.js} +3 -3
  184. package/dist/{chunk-K464YYT5.js → chunk-RHJOTGEU.js} +1 -1
  185. package/dist/{chunk-LZS2B2JT.js → chunk-RIKFXHLE.js} +247 -31
  186. package/dist/{chunk-6TOV7UVU.js → chunk-RJIH7JXM.js} +4 -4
  187. package/dist/{chunk-2Q2U3NB2.js → chunk-RMC2A6EE.js} +1 -1
  188. package/dist/{chunk-FUEKSCTN.js → chunk-RYMXD2NT.js} +1 -1
  189. package/dist/{chunk-MNWN3SQ3.js → chunk-RYYFFCJG.js} +1 -1
  190. package/dist/{chunk-E2346GKI.js → chunk-SINIRUYZ.js} +101 -9
  191. package/dist/{chunk-22XJWSWN.js → chunk-SXUABANK.js} +3 -3
  192. package/dist/{backup-verify-AOTKX5DA.js → chunk-T3AM52YT.js} +345 -89
  193. package/dist/{chunk-LCXWQVOD.js → chunk-TCBWHLKH.js} +4 -4
  194. package/dist/{chunk-YWZGDFAL.js → chunk-TS4LSNRI.js} +2 -2
  195. package/dist/{chunk-J6RTX7XT.js → chunk-TVWYMOZ4.js} +1 -1
  196. package/dist/{chunk-3WNDI5KT.js → chunk-VAHQOIQY.js} +1 -1
  197. package/dist/{chunk-QH2V67NX.js → chunk-VBYSAQJD.js} +1 -1
  198. package/dist/{chunk-MQD3JJCO.js → chunk-VQQPYI4X.js} +1 -1
  199. package/dist/{chunk-XJQGS4IM.js → chunk-VS7V5HNO.js} +1 -1
  200. package/dist/{chunk-CPC75PXE.js → chunk-W3ABSZ6G.js} +2 -2
  201. package/dist/{chunk-SUGAHHVR.js → chunk-W7VKGB42.js} +1 -1
  202. package/dist/{chunk-UG3YOQAC.js → chunk-X2ZHCNNB.js} +5 -5
  203. package/dist/{chunk-YC6SZFVD.js → chunk-X4FHT6ST.js} +5 -5
  204. package/dist/{chunk-RXICR3D7.js → chunk-XC5OASHV.js} +1 -1
  205. package/dist/{chunk-TU5Y5ZNC.js → chunk-XDOCXKHW.js} +58 -1
  206. package/dist/{chunk-DLHE4PCM.js → chunk-XEAZJXMZ.js} +4 -4
  207. package/dist/{chunk-XMMWBLQK.js → chunk-XQ7BIVLI.js} +6 -6
  208. package/dist/{chunk-FRJICRED.js → chunk-Z3LGAFMG.js} +1 -1
  209. package/dist/{chunk-HCBISGUU.js → chunk-ZJ6AMC4Y.js} +7 -7
  210. package/dist/{chunk-AEEAQZ3E.js → chunk-ZZR2WRNW.js} +4 -4
  211. package/dist/{cleanup-graph-garbage-N7FTWU6C.js → cleanup-graph-garbage-SYGPMPUM.js} +8 -8
  212. package/dist/{cli-shutdown-NCBQTN7G.js → cli-shutdown-JI7CASE4.js} +1 -1
  213. package/dist/{cloud-sync-command-UL7GNN3J.js → cloud-sync-command-ZV3P5FP6.js} +2 -2
  214. package/dist/{cloud-sync-db-init-ASM7ZXBH.js → cloud-sync-db-init-RQIHWKV4.js} +1 -1
  215. package/dist/{cloud-sync-shutdown-HER4ISBU.js → cloud-sync-shutdown-V2N7VLD3.js} +3 -3
  216. package/dist/{co-activation-V5XXR327.js → co-activation-SRE6DIRX.js} +3 -3
  217. package/dist/{co-occurrence-MKZ6YWSQ.js → co-occurrence-F5TMSEQZ.js} +6 -6
  218. package/dist/{consent-passphrase-YI3J4UEL.js → consent-passphrase-MWZRHJRC.js} +2 -2
  219. package/dist/{conversation-entity-extractor-66G7ROQ3.js → conversation-entity-extractor-XMOUHGMT.js} +3 -3
  220. package/dist/{crdt-sync-Z62SWOKD.js → crdt-sync-FXEKABM7.js} +4 -4
  221. package/dist/{crm-webhook-6GBACWJX.js → crm-webhook-D6IJOPRQ.js} +2 -2
  222. package/dist/{cto-delegation-gate-FUKPBFCM.js → cto-delegation-gate-BU3JRCYN.js} +12 -12
  223. package/dist/{daemon-orchestration-O3QPSJEP.js → daemon-orchestration-K4NKFYXO.js} +19 -19
  224. package/dist/{destructive-data-guard-JDUJ2ULM.js → destructive-data-guard-3TGAAE7K.js} +77 -23
  225. package/dist/{doc-graph-extractor-BBPKLIVM.js → doc-graph-extractor-TVK2NGAR.js} +6 -6
  226. package/dist/{documents-NILTWYSQ.js → documents-MDZ4VB5X.js} +8 -8
  227. package/dist/{dreaming-KMDGPIFY.js → dreaming-L24PSS35.js} +17 -17
  228. package/dist/{employee-boot-brief-KSH3MWIF.js → employee-boot-brief-GQVL3FQC.js} +21 -21
  229. package/dist/{entity-boost-XETN7C2S.js → entity-boost-OMFA5QCG.js} +1 -1
  230. package/dist/{exe-drift-SFD7SHXC.js → exe-drift-JDDG3OPT.js} +4 -4
  231. package/dist/{exe-export-NHWKEZL4.js → exe-export-EEGIE3JP.js} +10 -10
  232. package/dist/{exe-import-SPI5HJBU.js → exe-import-UJNC5Q2L.js} +10 -10
  233. package/dist/{exe-key-TY5LFUEM.js → exe-key-TYEY4W4E.js} +95 -95
  234. package/dist/{exe-org-LVQLXA7C.js → exe-org-B3ICTTEV.js} +32 -32
  235. package/dist/{exe-snapshot-WH2DSRZW.js → exe-snapshot-VBFBONYN.js} +20 -20
  236. package/dist/{fast-db-init-UN225WS7.js → fast-db-init-TFRTK6EH.js} +1 -1
  237. package/dist/{founder-context-DVHSVBM5.js → founder-context-3X4QUWKD.js} +2 -2
  238. package/dist/{founder-monitor-envelope-HMPPUBUT.js → founder-monitor-envelope-54UNZNY4.js} +4 -4
  239. package/dist/gateway/index.js +14 -14
  240. package/dist/{gateway-client-TXHCHOVM.js → gateway-client-OUDO5GGV.js} +1 -1
  241. package/dist/{git-staleness-CUVLXQOJ.js → git-staleness-73YZ5PGU.js} +3 -3
  242. package/dist/{global-procedures-T5W3S6OU.js → global-procedures-PYNE2BQG.js} +20 -6
  243. package/dist/{graph-auto-extract-S7OIZXYP.js → graph-auto-extract-PGUMEEQB.js} +6 -6
  244. package/dist/{graph-query-CRIH4DXF.js → graph-query-7YA3YNKL.js} +1 -1
  245. package/dist/{graph-rag-LH34CEGC.js → graph-rag-UWOTK4AQ.js} +3 -3
  246. package/dist/{hook-integrity-TSJYZFZ6.js → hook-integrity-6MNEPT6W.js} +1 -1
  247. package/dist/{hook-prefetch-SNW5DFCZ.js → hook-prefetch-JOF6YZSR.js} +13 -13
  248. package/dist/hooks/bug-report-worker.js +17 -17
  249. package/dist/hooks/codex-stop-task-finalizer.js +19 -19
  250. package/dist/hooks/commit-complete.js +16 -16
  251. package/dist/hooks/error-recall.js +11 -11
  252. package/dist/hooks/exe-heartbeat-hook.js +5 -5
  253. package/dist/hooks/ingest-worker.js +15 -15
  254. package/dist/hooks/ingest.js +13 -13
  255. package/dist/hooks/instructions-loaded.js +7 -7
  256. package/dist/hooks/manifest.json +20 -20
  257. package/dist/hooks/notification.js +6 -6
  258. package/dist/hooks/post-compact.js +5 -5
  259. package/dist/hooks/post-tool-combined.js +13 -13
  260. package/dist/hooks/pre-compact.js +16 -16
  261. package/dist/hooks/pre-tool-use.js +2 -2
  262. package/dist/hooks/prompt-submit.js +34 -34
  263. package/dist/hooks/session-end.js +21 -21
  264. package/dist/hooks/session-start.js +18 -18
  265. package/dist/hooks/stop.js +19 -19
  266. package/dist/hooks/subagent-stop.js +18 -18
  267. package/dist/hooks/summary-worker.js +20 -20
  268. package/dist/index.js +26 -26
  269. package/dist/{installer-4IVP2PTX.js → installer-34XZ7JMW.js} +6 -6
  270. package/dist/{installer-UFRZHMX5.js → installer-356RMQ2K.js} +6 -6
  271. package/dist/{installer-CJWNUASI.js → installer-7TN36Z7T.js} +112 -28
  272. package/dist/{intercom-queue-II6RRK3J.js → intercom-queue-ZJ3MNULM.js} +12 -12
  273. package/dist/lib/backup-verify-worker.js +157 -0
  274. package/dist/lib/cloud-sync.js +16 -20
  275. package/dist/lib/consolidation.js +9 -9
  276. package/dist/lib/crypto.js +3 -3
  277. package/dist/lib/database.js +3 -3
  278. package/dist/lib/db-backup.js +7 -3
  279. package/dist/lib/db-write-worker.js +3 -3
  280. package/dist/lib/db.js +3 -3
  281. package/dist/lib/device-registry.js +1 -1
  282. package/dist/lib/employee-templates.js +7 -7
  283. package/dist/lib/employees.js +3 -3
  284. package/dist/lib/exe-daemon.js +89 -84
  285. package/dist/lib/hybrid-search.js +9 -9
  286. package/dist/lib/identity.js +3 -3
  287. package/dist/lib/keychain.js +1 -1
  288. package/dist/lib/license.js +2 -2
  289. package/dist/lib/messaging.js +13 -13
  290. package/dist/lib/post-tool-memory.js +13 -13
  291. package/dist/lib/registry-proxy.js +1 -1
  292. package/dist/lib/reminders.js +4 -4
  293. package/dist/lib/schedules.js +8 -8
  294. package/dist/lib/session-registry.js +5 -5
  295. package/dist/lib/skill-learning.js +9 -9
  296. package/dist/lib/store.js +7 -7
  297. package/dist/lib/task-router.js +4 -4
  298. package/dist/lib/tasks.js +14 -14
  299. package/dist/lib/tmux-routing.js +12 -12
  300. package/dist/lib/token-spend.js +4 -4
  301. package/dist/lib/ws-client.js +1 -1
  302. package/dist/{license-gate-M7EDJLAA.js → license-gate-4BXUTHLB.js} +3 -3
  303. package/dist/{license-recheck-DLTOHAH2.js → license-recheck-QFPUKISQ.js} +1 -1
  304. package/dist/{license-sync-YTDCUN3S.js → license-sync-FDEDT4AC.js} +2 -2
  305. package/dist/mcp/register-tools.js +94 -94
  306. package/dist/mcp/server.js +97 -97
  307. package/dist/mcp/tools/complete-reminder.js +5 -5
  308. package/dist/mcp/tools/create-reminder.js +5 -5
  309. package/dist/mcp/tools/create-task.js +16 -16
  310. package/dist/mcp/tools/deactivate-behavior.js +10 -10
  311. package/dist/mcp/tools/list-reminders.js +5 -5
  312. package/dist/mcp/tools/list-tasks.js +16 -16
  313. package/dist/mcp/tools/send-message.js +15 -15
  314. package/dist/mcp/tools/update-task.js +15 -15
  315. package/dist/{mcp-http-config-652YK3CI.js → mcp-http-config-GKP5QGAO.js} +5 -5
  316. package/dist/{mcp-session-identity-6QGXD52Y.js → mcp-session-identity-JHAGRB7B.js} +12 -12
  317. package/dist/{memory-cards-FOPSLULE.js → memory-cards-O377ETAM.js} +7 -7
  318. package/dist/{memory-graph-extractor-7G3CIGN7.js → memory-graph-extractor-4KJCCUOP.js} +7 -7
  319. package/dist/{memory-maintenance-5XIGUPYL.js → memory-maintenance-RR5UPRW3.js} +1 -1
  320. package/dist/{memory-poisoning-defense-MI7Y5XBP.js → memory-poisoning-defense-Y5TTKGOP.js} +3 -3
  321. package/dist/{memory-pressure-watchdog-SPIDPGU2.js → memory-pressure-watchdog-NGXTI4HR.js} +13 -13
  322. package/dist/{memory-reflection-DVAT4QKS.js → memory-reflection-EXNHRZL7.js} +7 -7
  323. package/dist/{memory-write-repository-YC7HJTV5.js → memory-write-repository-S4TX7WQB.js} +1 -1
  324. package/dist/{monitor-grants-3A77O6XK.js → monitor-grants-57Q4NL25.js} +3 -3
  325. package/dist/{monitor-identity-BTFFMFEX.js → monitor-identity-3FQ52SYU.js} +2 -2
  326. package/dist/{notification-ledger-AV5242RM.js → notification-ledger-O6KQYYGK.js} +13 -13
  327. package/dist/{notifications-75FVPJLY.js → notifications-6FCQCJ4P.js} +12 -12
  328. package/dist/{orchestration-events-ARGZU6KS.js → orchestration-events-2Z2BMMA5.js} +4 -4
  329. package/dist/{orchestrator-TCXZMLSB.js → orchestrator-AGOSKPHD.js} +14 -14
  330. package/dist/{org-brief-session-B455POUI.js → org-brief-session-WJHZVXXJ.js} +15 -15
  331. package/dist/{org-consent-policy-7K5H6FOB.js → org-consent-policy-X43UGTHI.js} +5 -5
  332. package/dist/{org-join-ETR5KO27.js → org-join-M3UTBMHC.js} +9 -9
  333. package/dist/{org-key-admin-IRC6H3TL.js → org-key-admin-AA2DRHB2.js} +11 -11
  334. package/dist/{org-key-epoch-EG4YQ47A.js → org-key-epoch-Z5UIVUHT.js} +5 -5
  335. package/dist/{org-key-pin-GLQEU3P3.js → org-key-pin-FE6YHEZ3.js} +3 -3
  336. package/dist/{org-membership-JC5YVU6N.js → org-membership-3J2MIGE4.js} +4 -4
  337. package/dist/{org-partner-config-QFSVGHEA.js → org-partner-config-5HATZYG4.js} +8 -8
  338. package/dist/{org-partner-runtime-7AD7WY3Y.js → org-partner-runtime-UI35IHUC.js} +15 -15
  339. package/dist/{org-row-visibility-AXZKVOA6.js → org-row-visibility-TRJERVYP.js} +1 -1
  340. package/dist/{pipeline-router-2KY4X6PO.js → pipeline-router-EKQ6D7ZA.js} +4 -4
  341. package/dist/{plan-limits-PG6HG2DT.js → plan-limits-3BGHIHX6.js} +6 -6
  342. package/dist/{platform-procedures-QP3W2NLH.js → platform-procedures-RXW46WNY.js} +1 -1
  343. package/dist/{pre-tool-use-impl-45B4NFIF.js → pre-tool-use-impl-7BT5TJVM.js} +28 -28
  344. package/dist/{project-name-LHYHR4VN.js → project-name-PGJGUEJY.js} +4 -4
  345. package/dist/{projection-worker-POT2AOR5.js → projection-worker-3GEVFPAI.js} +2 -2
  346. package/dist/{prospective-memory-ECXSAEAW.js → prospective-memory-GEN7CN7H.js} +3 -3
  347. package/dist/{push-notifications-W3UNHDC5.js → push-notifications-QW4BWRC7.js} +13 -13
  348. package/dist/{reproject-worktree-memories-PIXMJBHG.js → reproject-worktree-memories-DIULBEBD.js} +12 -12
  349. package/dist/{reranker-ZBPYIRBB.js → reranker-LQ6OPJOI.js} +1 -1
  350. package/dist/{retrieval-health-42MFLOEP.js → retrieval-health-XDFYFEOP.js} +1 -1
  351. package/dist/{review-polling-V4CSK4TZ.js → review-polling-ED33YLFT.js} +13 -13
  352. package/dist/runtime/index.js +20 -20
  353. package/dist/{session-events-C3NUY6MR.js → session-events-7IJGTBVH.js} +13 -13
  354. package/dist/{session-kill-telemetry-ZOSAIYU2.js → session-kill-telemetry-RUTEARJ3.js} +13 -13
  355. package/dist/{session-scope-BZALGKYZ.js → session-scope-SSYA64L3.js} +12 -12
  356. package/dist/{setup-wizard-DNA2UT4J.js → setup-wizard-XD7FZVLJ.js} +2 -2
  357. package/dist/{shard-manager-NG4SXV7L.js → shard-manager-FH5JZRSE.js} +2 -2
  358. package/dist/{skill-refinement-Y3M7XBRE.js → skill-refinement-UHD4E6GV.js} +4 -4
  359. package/dist/{skill-retrieval-XDY352AS.js → skill-retrieval-F6PAJ3I5.js} +11 -11
  360. package/dist/{skill-usage-QOLIJQJC.js → skill-usage-2MBTF7Y4.js} +4 -4
  361. package/dist/{stack-generate-manifest-VFHCOLAD.js → stack-generate-manifest-MVJDTU4F.js} +13 -37
  362. package/dist/{stack-promote-24BY6AXF.js → stack-promote-BMGEY6SQ.js} +4 -4
  363. package/dist/{stack-release-AXH7ZIOR.js → stack-release-64UJ6Y4W.js} +17 -34
  364. package/dist/{stack-update-7ET7S3ED.js → stack-update-EBATTQPP.js} +5 -3
  365. package/dist/{steward-gate-2MUESY3V.js → steward-gate-EWG2BHYQ.js} +4 -4
  366. package/dist/{subagent-brief-injection-6PM3WMMR.js → subagent-brief-injection-YZGSWUEY.js} +23 -23
  367. package/dist/{support-bug-actions-WWKDXT74.js → support-bug-actions-RU6WZ3UV.js} +3 -3
  368. package/dist/{support-inbox-AN44HIOG.js → support-inbox-A3S52SPS.js} +12 -12
  369. package/dist/{task-enforcement-QO7RXYK2.js → task-enforcement-LVAS55AR.js} +13 -13
  370. package/dist/{task-request-inbox-RXAT2QJF.js → task-request-inbox-2TN4ZUH2.js} +5 -5
  371. package/dist/{task-scope-4EKZBTTM.js → task-scope-NLKUVCP5.js} +12 -12
  372. package/dist/{tasks-crud-MB7WXGPW.js → tasks-crud-NQDPLHNZ.js} +12 -12
  373. package/dist/{tasks-notify-BCWO7AP6.js → tasks-notify-BDM2NEHP.js} +13 -13
  374. package/dist/{tasks-review-HXHYA76X.js → tasks-review-3G7CAW2O.js} +12 -12
  375. package/dist/{telemetry-upload-Q7DLE5I3.js → telemetry-upload-6DR6AL3V.js} +8 -8
  376. package/dist/{token-budget-EL6BEBDP.js → token-budget-KNC2WGR7.js} +4 -4
  377. package/dist/{tool-telemetry-SNWF4WDH.js → tool-telemetry-I3SEU5M5.js} +1 -1
  378. package/dist/tui/App.js +23 -23
  379. package/dist/{tui-data-ZMSBEPJT.js → tui-data-KJDWP4CB.js} +16 -16
  380. package/dist/{update-support-QY7WALUZ.js → update-support-UYDYMHVR.js} +11 -11
  381. package/dist/{whatsapp-NCZ43BB3.js → whatsapp-5EMPZHF5.js} +2 -2
  382. package/dist/{wiki-acl-3L7BRJUV.js → wiki-acl-M7BTQJBZ.js} +1 -1
  383. package/dist/{work-claims-XQXT2VWJ.js → work-claims-5CFMZTML.js} +4 -4
  384. package/dist/{work-state-heartbeat-GAIQ7M73.js → work-state-heartbeat-7IA2DZ2E.js} +1 -1
  385. package/dist/{workflow-engine-FCOOI5M6.js → workflow-engine-S5JOE2YR.js} +2 -2
  386. package/dist/{worktree-GS4ODQ4C.js → worktree-7V4ZMF3D.js} +5 -5
  387. package/dist/{worktree-sweep-6LMC7H5Y.js → worktree-sweep-34MXJ7S6.js} +6 -6
  388. package/package.json +2 -1
  389. package/release-notes.json +21 -25
  390. package/stack.release.json +5 -5
  391. package/dist/chunk-WZPD4QSE.js +0 -113
  392. /package/dist/{chunk-IKJUZ3VO.js → chunk-542FBM5U.js} +0 -0
  393. /package/dist/{chunk-XJDSTA2C.js → chunk-6D2O5SAH.js} +0 -0
  394. /package/dist/{chunk-FDQXQBBC.js → chunk-6NRZLVK3.js} +0 -0
  395. /package/dist/{chunk-XDWIJBTY.js → chunk-CFO47VW4.js} +0 -0
  396. /package/dist/{chunk-R6H2IRCF.js → chunk-EULAP6L6.js} +0 -0
  397. /package/dist/{chunk-LK6OG47X.js → chunk-FYSKQPTE.js} +0 -0
  398. /package/dist/{chunk-LAWI42NC.js → chunk-J4B4M5PH.js} +0 -0
  399. /package/dist/{chunk-AC36VWNB.js → chunk-J635FA7T.js} +0 -0
  400. /package/dist/{chunk-UQKGV6SX.js → chunk-MOBZTIJQ.js} +0 -0
  401. /package/dist/{chunk-7ZP2PAW3.js → chunk-N45FAI6D.js} +0 -0
  402. /package/dist/{chunk-ZQS4S4AX.js → chunk-QDSNEGJE.js} +0 -0
  403. /package/dist/{chunk-CS4SHHLY.js → chunk-SKSXROKP.js} +0 -0
  404. /package/dist/{chunk-JXGOO53U.js → chunk-YVWXI2HM.js} +0 -0
  405. /package/dist/{core-memory-3TZV3ZDW.js → core-memory-PZEO3OWH.js} +0 -0
  406. /package/dist/{memory-isolation-TE4AOMQX.js → memory-isolation-MFNT2ITE.js} +0 -0
  407. /package/dist/{oauth-server-CWQ6EBGQ.js → oauth-server-CBGEWD6H.js} +0 -0
  408. /package/dist/{project-boot-MX2FNKTJ.js → project-boot-VESAYDIH.js} +0 -0
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  detectSubagentSidechain
3
- } from "../chunk-YSDSQRE2.js";
3
+ } from "../chunk-BIPTWAEO.js";
4
4
  import {
5
5
  buildSubagentCheckpointEvent,
6
6
  recordSubagentCheckpointEventBestEffort
7
- } from "../chunk-FCX2XHIC.js";
7
+ } from "../chunk-DWRULKB3.js";
8
8
  import "../chunk-SH45SJQW.js";
9
9
  import {
10
10
  getActiveAgent,
11
11
  resolveAgentAttribution
12
- } from "../chunk-IHBYJG7N.js";
12
+ } from "../chunk-GL5ZG72X.js";
13
13
  import "../chunk-7YX73K2R.js";
14
14
  import "../chunk-5WA4DG2A.js";
15
15
  import {
16
16
  sessionScopeFilter
17
- } from "../chunk-WSYIQKZ6.js";
17
+ } from "../chunk-GM4UEZDE.js";
18
+ import "../chunk-PYXXL7N7.js";
18
19
  import "../chunk-ZKGWHT56.js";
19
- import "../chunk-5F3E57TQ.js";
20
20
  import "../chunk-WT4RI36X.js";
21
21
  import "../chunk-E23LNUWJ.js";
22
22
  import "../chunk-TDF2XKLK.js";
@@ -24,16 +24,16 @@ import "../chunk-EIKATSE4.js";
24
24
  import "../chunk-MJCSEIFI.js";
25
25
  import "../chunk-QDMZ5DX2.js";
26
26
  import "../chunk-HME6ITKV.js";
27
- import "../chunk-6T5RC3L4.js";
27
+ import "../chunk-QSW5DHMZ.js";
28
28
  import "../chunk-VI4ATC6I.js";
29
29
  import "../chunk-A27Q27CT.js";
30
30
  import "../chunk-6L4VIYLZ.js";
31
- import "../chunk-WLV27PAO.js";
31
+ import "../chunk-JGBYZTWH.js";
32
32
  import "../chunk-T5SM4RXY.js";
33
- import "../chunk-ASA2UJDH.js";
33
+ import "../chunk-CFFSHBQF.js";
34
34
  import "../chunk-IVXELUEQ.js";
35
35
  import "../chunk-AM7S2TY6.js";
36
- import "../chunk-2AXJRXA6.js";
36
+ import "../chunk-2BOLFLAU.js";
37
37
  import "../chunk-WJWRQQMS.js";
38
38
  import "../chunk-PCV52RYM.js";
39
39
  import "../chunk-BTSWFMEH.js";
@@ -42,18 +42,18 @@ import "../chunk-IMYGYIAI.js";
42
42
  import "../chunk-NLEW62VC.js";
43
43
  import "../chunk-3DAEZILW.js";
44
44
  import "../chunk-DRTJCG6B.js";
45
- import "../chunk-J6RTX7XT.js";
45
+ import "../chunk-TVWYMOZ4.js";
46
46
  import "../chunk-CVYC6DUW.js";
47
47
  import "../chunk-GJV3WDWM.js";
48
48
  import "../chunk-YRUZK2QA.js";
49
49
  import "../chunk-MP2AFCGL.js";
50
50
  import {
51
51
  canCoordinate
52
- } from "../chunk-LBEBSXZA.js";
52
+ } from "../chunk-L5JFVK5T.js";
53
53
  import "../chunk-BBMTVAE3.js";
54
54
  import "../chunk-TKDITWDN.js";
55
- import "../chunk-E2346GKI.js";
56
- import "../chunk-IXRYS5X3.js";
55
+ import "../chunk-SINIRUYZ.js";
56
+ import "../chunk-6777GNWI.js";
57
57
  import "../chunk-7FE43JRU.js";
58
58
  import "../chunk-5YEUPUV4.js";
59
59
  import "../chunk-YYB5PMTK.js";
@@ -62,9 +62,9 @@ import "../chunk-QH5ZQ5SJ.js";
62
62
  import "../chunk-ZQEJ4IX2.js";
63
63
  import "../chunk-C7GHNJPW.js";
64
64
  import "../chunk-UWGQNJIE.js";
65
- import "../chunk-KNEEOZWN.js";
65
+ import "../chunk-EOWJXCYC.js";
66
66
  import "../chunk-3R7UDPVR.js";
67
- import "../chunk-XJDSTA2C.js";
67
+ import "../chunk-6D2O5SAH.js";
68
68
  import "../chunk-A7JYF4RG.js";
69
69
  import "../chunk-ARX6TAGN.js";
70
70
  import "../chunk-MMS2HBRT.js";
@@ -100,7 +100,7 @@ process.on("unhandledRejection", (err) => {
100
100
  process.exit(1);
101
101
  });
102
102
  try {
103
- const { verifyOrBlock } = await import("../hook-integrity-TSJYZFZ6.js");
103
+ const { verifyOrBlock } = await import("../hook-integrity-6MNEPT6W.js");
104
104
  if (!await verifyOrBlock(new URL(import.meta.url).pathname)) process.exit(2);
105
105
  } catch (err) {
106
106
  const code = err?.code;
@@ -146,7 +146,7 @@ async function recordSubagentStopCheckpoint(payload, agentId) {
146
146
  });
147
147
  await Promise.race([
148
148
  (async () => {
149
- const { fastDbInit } = await import("../fast-db-init-UN225WS7.js");
149
+ const { fastDbInit } = await import("../fast-db-init-TFRTK6EH.js");
150
150
  const client = await fastDbInit({ daemonOnly: true });
151
151
  await recordSubagentCheckpointEventBestEffort({
152
152
  client,
@@ -184,7 +184,7 @@ process.stdin.on("end", async () => {
184
184
  if (!failClosedOnTimeout) {
185
185
  process.exit(0);
186
186
  }
187
- const { fastDbInit } = await import("../fast-db-init-UN225WS7.js");
187
+ const { fastDbInit } = await import("../fast-db-init-TFRTK6EH.js");
188
188
  const client = await fastDbInit({ caller: "hook" });
189
189
  const saScope = sessionScopeFilter();
190
190
  const pendingResult = await client.execute({
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  writeContinuityCheckpoint
3
- } from "../chunk-LAWI42NC.js";
3
+ } from "../chunk-J4B4M5PH.js";
4
4
  import {
5
5
  initStore,
6
6
  vectorToBlob
7
- } from "../chunk-X2EBM5BQ.js";
8
- import "../chunk-UQKGV6SX.js";
7
+ } from "../chunk-LSHUX7P4.js";
8
+ import "../chunk-MOBZTIJQ.js";
9
9
  import "../chunk-CHCA3ZM2.js";
10
10
  import "../chunk-OTVEIJUQ.js";
11
- import "../chunk-LK6OG47X.js";
11
+ import "../chunk-FYSKQPTE.js";
12
12
  import "../chunk-5MOYSU5A.js";
13
13
  import "../chunk-BYP3DOUU.js";
14
14
  import "../chunk-76CJBM36.js";
@@ -16,9 +16,9 @@ import {
16
16
  getCurrentSessionScope,
17
17
  sessionScopeFilter,
18
18
  writeNotification
19
- } from "../chunk-WSYIQKZ6.js";
19
+ } from "../chunk-GM4UEZDE.js";
20
+ import "../chunk-PYXXL7N7.js";
20
21
  import "../chunk-ZKGWHT56.js";
21
- import "../chunk-5F3E57TQ.js";
22
22
  import "../chunk-WT4RI36X.js";
23
23
  import "../chunk-E23LNUWJ.js";
24
24
  import "../chunk-TDF2XKLK.js";
@@ -26,16 +26,16 @@ import "../chunk-EIKATSE4.js";
26
26
  import "../chunk-MJCSEIFI.js";
27
27
  import "../chunk-QDMZ5DX2.js";
28
28
  import "../chunk-HME6ITKV.js";
29
- import "../chunk-6T5RC3L4.js";
29
+ import "../chunk-QSW5DHMZ.js";
30
30
  import "../chunk-VI4ATC6I.js";
31
31
  import "../chunk-A27Q27CT.js";
32
32
  import "../chunk-6L4VIYLZ.js";
33
- import "../chunk-WLV27PAO.js";
33
+ import "../chunk-JGBYZTWH.js";
34
34
  import "../chunk-T5SM4RXY.js";
35
- import "../chunk-ASA2UJDH.js";
35
+ import "../chunk-CFFSHBQF.js";
36
36
  import "../chunk-IVXELUEQ.js";
37
37
  import "../chunk-AM7S2TY6.js";
38
- import "../chunk-2AXJRXA6.js";
38
+ import "../chunk-2BOLFLAU.js";
39
39
  import "../chunk-WJWRQQMS.js";
40
40
  import "../chunk-PCV52RYM.js";
41
41
  import "../chunk-BTSWFMEH.js";
@@ -44,7 +44,7 @@ import "../chunk-IMYGYIAI.js";
44
44
  import "../chunk-NLEW62VC.js";
45
45
  import "../chunk-3DAEZILW.js";
46
46
  import "../chunk-DRTJCG6B.js";
47
- import "../chunk-J6RTX7XT.js";
47
+ import "../chunk-TVWYMOZ4.js";
48
48
  import "../chunk-CVYC6DUW.js";
49
49
  import "../chunk-GJV3WDWM.js";
50
50
  import "../chunk-YRUZK2QA.js";
@@ -52,11 +52,11 @@ import "../chunk-MP2AFCGL.js";
52
52
  import {
53
53
  canCoordinate,
54
54
  getClient
55
- } from "../chunk-LBEBSXZA.js";
55
+ } from "../chunk-L5JFVK5T.js";
56
56
  import "../chunk-BBMTVAE3.js";
57
57
  import "../chunk-TKDITWDN.js";
58
- import "../chunk-E2346GKI.js";
59
- import "../chunk-IXRYS5X3.js";
58
+ import "../chunk-SINIRUYZ.js";
59
+ import "../chunk-6777GNWI.js";
60
60
  import "../chunk-7FE43JRU.js";
61
61
  import "../chunk-5YEUPUV4.js";
62
62
  import "../chunk-YYB5PMTK.js";
@@ -65,10 +65,10 @@ import "../chunk-QH5ZQ5SJ.js";
65
65
  import "../chunk-ZQEJ4IX2.js";
66
66
  import "../chunk-C7GHNJPW.js";
67
67
  import "../chunk-UWGQNJIE.js";
68
- import "../chunk-IQCC6WFI.js";
69
- import "../chunk-KNEEOZWN.js";
68
+ import "../chunk-4J77TCTX.js";
69
+ import "../chunk-EOWJXCYC.js";
70
70
  import "../chunk-3R7UDPVR.js";
71
- import "../chunk-XJDSTA2C.js";
71
+ import "../chunk-6D2O5SAH.js";
72
72
  import "../chunk-A7JYF4RG.js";
73
73
  import "../chunk-ARX6TAGN.js";
74
74
  import "../chunk-MMS2HBRT.js";
@@ -90,13 +90,13 @@ process.on("unhandledRejection", (err) => {
90
90
  process.exit(1);
91
91
  });
92
92
  try {
93
- const { verifyHookIntegrity, isRunnable } = await import("../hook-integrity-TSJYZFZ6.js");
93
+ const { verifyHookIntegrity, isRunnable } = await import("../hook-integrity-6MNEPT6W.js");
94
94
  const check = verifyHookIntegrity(new URL(import.meta.url).pathname);
95
95
  if (!isRunnable(check)) {
96
96
  process.stderr.write(`[SECURITY] Hook tamper detected: summary-worker.js \u2014 ${check.reason} \u2014 refusing to run
97
97
  `);
98
98
  try {
99
- const { pushNotifyAsync } = await import("../push-notifications-W3UNHDC5.js");
99
+ const { pushNotifyAsync } = await import("../push-notifications-QW4BWRC7.js");
100
100
  pushNotifyAsync({
101
101
  event: "security_alert",
102
102
  title: "Hook tamper detected",
@@ -180,7 +180,7 @@ async function main() {
180
180
  let summaryText = "";
181
181
  let limitReached = false;
182
182
  try {
183
- const { assertMemoryLimit } = await import("../plan-limits-PG6HG2DT.js");
183
+ const { assertMemoryLimit } = await import("../plan-limits-3BGHIHX6.js");
184
184
  await assertMemoryLimit();
185
185
  } catch (err) {
186
186
  const msg = err instanceof Error ? err.message : String(err);
package/dist/index.js CHANGED
@@ -1,36 +1,36 @@
1
1
  import {
2
2
  runtime_exports
3
- } from "./chunk-PONGX3YG.js";
4
- import "./chunk-T7W75LII.js";
5
- import "./chunk-2LJ2GZEE.js";
3
+ } from "./chunk-6J2J3VJS.js";
4
+ import "./chunk-BE3UETW6.js";
5
+ import "./chunk-PDQGR5LZ.js";
6
6
  import "./chunk-YZFZDJWZ.js";
7
7
  import "./chunk-CMCYL2JC.js";
8
8
  import "./chunk-NGVOA6ZQ.js";
9
- import "./chunk-O377P7GM.js";
10
9
  import "./chunk-Y5LJYDX4.js";
10
+ import "./chunk-O377P7GM.js";
11
11
  import "./chunk-JRLNE3T2.js";
12
12
  import "./chunk-2O2UKMUE.js";
13
13
  import "./chunk-HF25XPZE.js";
14
- import "./chunk-SUGAHHVR.js";
14
+ import "./chunk-W7VKGB42.js";
15
15
  import {
16
16
  gateway_exports
17
- } from "./chunk-UBTKHJCB.js";
17
+ } from "./chunk-PTF5TB6O.js";
18
+ import "./chunk-ORCCI2VV.js";
18
19
  import "./chunk-2SRG3B3D.js";
19
- import "./chunk-K464YYT5.js";
20
- import "./chunk-K6XWIJN7.js";
20
+ import "./chunk-RHJOTGEU.js";
21
+ import "./chunk-3N24FV22.js";
21
22
  import "./chunk-RJT7H2KR.js";
22
23
  import "./chunk-Q3V7K4ME.js";
23
24
  import "./chunk-N5RRQOAC.js";
24
- import "./chunk-ORCCI2VV.js";
25
- import "./chunk-DLHE4PCM.js";
26
- import "./chunk-CKRZBQ2K.js";
27
- import "./chunk-IUAW7FVX.js";
25
+ import "./chunk-XEAZJXMZ.js";
26
+ import "./chunk-FPF2PJFK.js";
27
+ import "./chunk-GHYHNHDL.js";
28
28
  import "./chunk-FWFFZGSC.js";
29
29
  import "./chunk-ECGTESAP.js";
30
30
  import "./chunk-QLZ46RCK.js";
31
- import "./chunk-WSYIQKZ6.js";
31
+ import "./chunk-GM4UEZDE.js";
32
+ import "./chunk-PYXXL7N7.js";
32
33
  import "./chunk-ZKGWHT56.js";
33
- import "./chunk-5F3E57TQ.js";
34
34
  import "./chunk-WT4RI36X.js";
35
35
  import "./chunk-E23LNUWJ.js";
36
36
  import "./chunk-TDF2XKLK.js";
@@ -38,16 +38,16 @@ import "./chunk-EIKATSE4.js";
38
38
  import "./chunk-MJCSEIFI.js";
39
39
  import "./chunk-QDMZ5DX2.js";
40
40
  import "./chunk-HME6ITKV.js";
41
- import "./chunk-6T5RC3L4.js";
41
+ import "./chunk-QSW5DHMZ.js";
42
42
  import "./chunk-VI4ATC6I.js";
43
43
  import "./chunk-A27Q27CT.js";
44
44
  import "./chunk-6L4VIYLZ.js";
45
- import "./chunk-WLV27PAO.js";
45
+ import "./chunk-JGBYZTWH.js";
46
46
  import "./chunk-T5SM4RXY.js";
47
- import "./chunk-ASA2UJDH.js";
47
+ import "./chunk-CFFSHBQF.js";
48
48
  import "./chunk-IVXELUEQ.js";
49
49
  import "./chunk-AM7S2TY6.js";
50
- import "./chunk-2AXJRXA6.js";
50
+ import "./chunk-2BOLFLAU.js";
51
51
  import "./chunk-WJWRQQMS.js";
52
52
  import "./chunk-PCV52RYM.js";
53
53
  import "./chunk-BTSWFMEH.js";
@@ -56,19 +56,19 @@ import "./chunk-IMYGYIAI.js";
56
56
  import "./chunk-NLEW62VC.js";
57
57
  import "./chunk-3DAEZILW.js";
58
58
  import "./chunk-DRTJCG6B.js";
59
- import "./chunk-J6RTX7XT.js";
59
+ import "./chunk-TVWYMOZ4.js";
60
60
  import "./chunk-CVYC6DUW.js";
61
61
  import "./chunk-GJV3WDWM.js";
62
62
  import "./chunk-H5V5N3Q4.js";
63
- import "./chunk-XDWIJBTY.js";
63
+ import "./chunk-CFO47VW4.js";
64
64
  import "./chunk-ML4S5SHZ.js";
65
65
  import "./chunk-YRUZK2QA.js";
66
66
  import "./chunk-MP2AFCGL.js";
67
- import "./chunk-LBEBSXZA.js";
67
+ import "./chunk-L5JFVK5T.js";
68
68
  import "./chunk-BBMTVAE3.js";
69
69
  import "./chunk-TKDITWDN.js";
70
- import "./chunk-E2346GKI.js";
71
- import "./chunk-IXRYS5X3.js";
70
+ import "./chunk-SINIRUYZ.js";
71
+ import "./chunk-6777GNWI.js";
72
72
  import "./chunk-7FE43JRU.js";
73
73
  import "./chunk-5YEUPUV4.js";
74
74
  import "./chunk-YYB5PMTK.js";
@@ -77,10 +77,10 @@ import "./chunk-QH5ZQ5SJ.js";
77
77
  import "./chunk-ZQEJ4IX2.js";
78
78
  import "./chunk-C7GHNJPW.js";
79
79
  import "./chunk-UWGQNJIE.js";
80
- import "./chunk-IQCC6WFI.js";
81
- import "./chunk-KNEEOZWN.js";
80
+ import "./chunk-4J77TCTX.js";
81
+ import "./chunk-EOWJXCYC.js";
82
82
  import "./chunk-3R7UDPVR.js";
83
- import "./chunk-XJDSTA2C.js";
83
+ import "./chunk-6D2O5SAH.js";
84
84
  import "./chunk-A7JYF4RG.js";
85
85
  import "./chunk-ARX6TAGN.js";
86
86
  import "./chunk-MMS2HBRT.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolvePackageRoot
3
- } from "./chunk-22XJWSWN.js";
3
+ } from "./chunk-SXUABANK.js";
4
4
  import "./chunk-XBOLFVMD.js";
5
5
  import {
6
6
  EXE_HOOK_FILES,
@@ -10,18 +10,18 @@ import "./chunk-ZPPPHVSU.js";
10
10
  import {
11
11
  buildMcpHttpHeaders,
12
12
  mcpHttpUrl
13
- } from "./chunk-YJ7MCZSY.js";
13
+ } from "./chunk-27NG2NTG.js";
14
14
  import "./chunk-67IVG6CB.js";
15
- import "./chunk-IHBYJG7N.js";
15
+ import "./chunk-GL5ZG72X.js";
16
16
  import "./chunk-7YX73K2R.js";
17
17
  import "./chunk-5WA4DG2A.js";
18
18
  import "./chunk-CVYC6DUW.js";
19
19
  import "./chunk-GJV3WDWM.js";
20
- import "./chunk-LBEBSXZA.js";
20
+ import "./chunk-L5JFVK5T.js";
21
21
  import "./chunk-BBMTVAE3.js";
22
22
  import "./chunk-TKDITWDN.js";
23
- import "./chunk-E2346GKI.js";
24
- import "./chunk-IXRYS5X3.js";
23
+ import "./chunk-SINIRUYZ.js";
24
+ import "./chunk-6777GNWI.js";
25
25
  import "./chunk-7FE43JRU.js";
26
26
  import "./chunk-5YEUPUV4.js";
27
27
  import "./chunk-YYB5PMTK.js";
@@ -13,22 +13,22 @@ import {
13
13
  setupGhostty,
14
14
  setupTmux,
15
15
  setupWezterm
16
- } from "./chunk-22XJWSWN.js";
16
+ } from "./chunk-SXUABANK.js";
17
17
  import "./chunk-XBOLFVMD.js";
18
18
  import "./chunk-KM6XSFHP.js";
19
19
  import "./chunk-ZPPPHVSU.js";
20
- import "./chunk-YJ7MCZSY.js";
20
+ import "./chunk-27NG2NTG.js";
21
21
  import "./chunk-67IVG6CB.js";
22
- import "./chunk-IHBYJG7N.js";
22
+ import "./chunk-GL5ZG72X.js";
23
23
  import "./chunk-7YX73K2R.js";
24
24
  import "./chunk-5WA4DG2A.js";
25
25
  import "./chunk-CVYC6DUW.js";
26
26
  import "./chunk-GJV3WDWM.js";
27
- import "./chunk-LBEBSXZA.js";
27
+ import "./chunk-L5JFVK5T.js";
28
28
  import "./chunk-BBMTVAE3.js";
29
29
  import "./chunk-TKDITWDN.js";
30
- import "./chunk-E2346GKI.js";
31
- import "./chunk-IXRYS5X3.js";
30
+ import "./chunk-SINIRUYZ.js";
31
+ import "./chunk-6777GNWI.js";
32
32
  import "./chunk-7FE43JRU.js";
33
33
  import "./chunk-5YEUPUV4.js";
34
34
  import "./chunk-YYB5PMTK.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolvePackageRoot
3
- } from "./chunk-22XJWSWN.js";
3
+ } from "./chunk-SXUABANK.js";
4
4
  import {
5
5
  loadPreferences
6
6
  } from "./chunk-XBOLFVMD.js";
@@ -15,18 +15,18 @@ import {
15
15
  import {
16
16
  buildMcpHttpHeaders,
17
17
  mcpHttpUrl
18
- } from "./chunk-YJ7MCZSY.js";
18
+ } from "./chunk-27NG2NTG.js";
19
19
  import "./chunk-67IVG6CB.js";
20
- import "./chunk-IHBYJG7N.js";
20
+ import "./chunk-GL5ZG72X.js";
21
21
  import "./chunk-7YX73K2R.js";
22
22
  import "./chunk-5WA4DG2A.js";
23
23
  import "./chunk-CVYC6DUW.js";
24
24
  import "./chunk-GJV3WDWM.js";
25
- import "./chunk-LBEBSXZA.js";
25
+ import "./chunk-L5JFVK5T.js";
26
26
  import "./chunk-BBMTVAE3.js";
27
27
  import "./chunk-TKDITWDN.js";
28
- import "./chunk-E2346GKI.js";
29
- import "./chunk-IXRYS5X3.js";
28
+ import "./chunk-SINIRUYZ.js";
29
+ import "./chunk-6777GNWI.js";
30
30
  import "./chunk-7FE43JRU.js";
31
31
  import "./chunk-5YEUPUV4.js";
32
32
  import "./chunk-YYB5PMTK.js";
@@ -42,10 +42,11 @@ import "./chunk-JKKZGDLP.js";
42
42
  import "./chunk-MLKGABMK.js";
43
43
 
44
44
  // src/adapters/codex/installer.ts
45
- import { readFile, writeFile, mkdir } from "fs/promises";
45
+ import { readFile, writeFile, mkdir, rename, rm, chmod } from "fs/promises";
46
46
  import { existsSync, readFileSync, realpathSync } from "fs";
47
47
  import path from "path";
48
48
  import os from "os";
49
+ import { parse as parseToml } from "smol-toml";
49
50
  async function mergeCodexHooks(packageRoot, homeDir = os.homedir()) {
50
51
  const codexDir = path.join(homeDir, ".codex");
51
52
  const hooksPath = path.join(codexDir, "hooks.json");
@@ -267,15 +268,14 @@ var CODEX_EXE_MCP_TOOL_TIMEOUT_SEC = 120;
267
268
  function tomlString(value) {
268
269
  return JSON.stringify(value);
269
270
  }
270
- function codexHttpHeadersToml(homeDir) {
271
- const headers = buildMcpHttpHeaders(homeDir);
271
+ function codexHttpHeadersToml(headers) {
272
272
  return `{ ${Object.entries(headers).map(([key, value]) => `${tomlString(key)} = ${tomlString(value)}`).join(", ")} }`;
273
273
  }
274
- function desiredCodexMcpSection(homeDir) {
274
+ function desiredCodexMcpSection(headers) {
275
275
  return [
276
276
  "[mcp_servers.exe-os]",
277
277
  `url = ${tomlString(mcpHttpUrl())}`,
278
- `http_headers = ${codexHttpHeadersToml(homeDir)}`,
278
+ `http_headers = ${codexHttpHeadersToml(headers)}`,
279
279
  // `exe-start-codex` is non-interactive and pins approval_policy="never".
280
280
  // Explicit approval prevents Codex from auto-rejecting MCP tool calls as
281
281
  // "user cancelled MCP tool call" before they reach the daemon.
@@ -285,16 +285,57 @@ function desiredCodexMcpSection(homeDir) {
285
285
  ""
286
286
  ].join("\n");
287
287
  }
288
- function reconcileCodexMcpSection(sectionContent, homeDir) {
288
+ var MANAGED_SERVER_KEY_LINE = /^["']?(?:command|args|env|type|url|http_headers|default_tools_approval_mode|startup_timeout_sec|tool_timeout_sec)["']?\s*[=.]/;
289
+ var EXE_OS_HTTP_HEADERS_SUBTABLE_HEADER = /^[ \t]*\[[ \t]*["']?mcp_servers["']?[ \t]*\.[ \t]*["']?exe-os["']?[ \t]*\.[ \t]*["']?http_headers["']?[ \t]*\][ \t]*(?:#.*)?$/;
290
+ var TOML_TABLE_HEADER = /^[ \t]*\[/;
291
+ var TOML_BLANK_OR_COMMENT = /^[ \t]*(?:#.*)?$/;
292
+ function stripExeOsHttpHeadersSubtables(content) {
293
+ const out = [];
294
+ let removed = 0;
295
+ let skipping = false;
296
+ let trailing = [];
297
+ const flushTrailing = () => {
298
+ let pending = trailing;
299
+ if (out.length > 0 && out[out.length - 1].trim() === "") {
300
+ while (pending.length > 0 && pending[0].trim() === "") pending = pending.slice(1);
301
+ }
302
+ out.push(...pending);
303
+ trailing = [];
304
+ };
305
+ for (const line of content.split("\n")) {
306
+ if (EXE_OS_HTTP_HEADERS_SUBTABLE_HEADER.test(line)) {
307
+ skipping = true;
308
+ trailing = [];
309
+ removed++;
310
+ continue;
311
+ }
312
+ if (skipping) {
313
+ if (TOML_TABLE_HEADER.test(line)) {
314
+ skipping = false;
315
+ flushTrailing();
316
+ out.push(line);
317
+ } else if (TOML_BLANK_OR_COMMENT.test(line)) {
318
+ trailing.push(line);
319
+ } else {
320
+ trailing = [];
321
+ }
322
+ continue;
323
+ }
324
+ out.push(line);
325
+ }
326
+ if (skipping) flushTrailing();
327
+ return { content: removed > 0 ? out.join("\n") : content, removed };
328
+ }
329
+ function reconcileCodexMcpSection(sectionContent, headers) {
289
330
  const desiredLines = {
290
331
  url: `url = ${tomlString(mcpHttpUrl())}`,
291
- headers: `http_headers = ${codexHttpHeadersToml(homeDir)}`,
332
+ headers: `http_headers = ${codexHttpHeadersToml(headers)}`,
292
333
  approval: `default_tools_approval_mode = "approve"`,
293
334
  startup: `startup_timeout_sec = ${CODEX_EXE_MCP_STARTUP_TIMEOUT_SEC}`,
294
335
  tool: `tool_timeout_sec = ${CODEX_EXE_MCP_TOOL_TIMEOUT_SEC}`
295
336
  };
296
337
  let next = sectionContent;
297
- next = next.split("\n").filter((line) => !/^(command|args|env|type|url|http_headers|default_tools_approval_mode|startup_timeout_sec|tool_timeout_sec)\s*=/.test(line.trim())).join("\n").replace(/\n{3,}/g, "\n\n");
338
+ next = next.split("\n").filter((line) => !MANAGED_SERVER_KEY_LINE.test(line.trim())).join("\n").replace(/\n{3,}/g, "\n\n");
298
339
  for (const line of [
299
340
  desiredLines.url,
300
341
  desiredLines.headers,
@@ -310,15 +351,49 @@ ${line}
310
351
  const changed = next.trimEnd() !== sectionContent.trimEnd();
311
352
  return { content: changed ? next : sectionContent, changed };
312
353
  }
354
+ function validateCodexConfig(content, headers) {
355
+ let parsed;
356
+ try {
357
+ parsed = parseToml(content);
358
+ } catch (err) {
359
+ return `result is not valid TOML (${err instanceof Error ? err.message.split("\n")[0] : String(err)})`;
360
+ }
361
+ const servers = parsed.mcp_servers;
362
+ const server = servers?.["exe-os"];
363
+ if (!server) return "result has no [mcp_servers.exe-os] table";
364
+ if (server.url !== mcpHttpUrl()) return "result has the wrong exe-os url";
365
+ const written = server.http_headers;
366
+ const sameHeaders = written !== void 0 && Object.keys(written).length === Object.keys(headers).length && Object.entries(headers).every(([key, value]) => written[key] === value);
367
+ if (!sameHeaders) return "result has the wrong exe-os http_headers";
368
+ return null;
369
+ }
370
+ var CODEX_CONFIG_MODE = 384;
371
+ async function writeCodexConfigSafely(configPath, previous, next) {
372
+ if (previous !== null) {
373
+ const backupPath = `${configPath}.exe-os.bak`;
374
+ await writeFile(backupPath, previous, { mode: CODEX_CONFIG_MODE });
375
+ await chmod(backupPath, CODEX_CONFIG_MODE);
376
+ }
377
+ const tmpPath = `${configPath}.exe-os.tmp-${process.pid}`;
378
+ try {
379
+ await writeFile(tmpPath, next, { mode: CODEX_CONFIG_MODE });
380
+ await chmod(tmpPath, CODEX_CONFIG_MODE);
381
+ await rename(tmpPath, configPath);
382
+ } catch (err) {
383
+ await rm(tmpPath, { force: true });
384
+ throw err;
385
+ }
386
+ }
313
387
  async function registerCodexMcpServer(packageRoot, homeDir = os.homedir()) {
314
388
  const codexDir = path.join(homeDir, ".codex");
315
389
  const configPath = path.join(codexDir, "config.toml");
316
390
  void packageRoot;
317
391
  await mkdir(codexDir, { recursive: true });
318
- let content = "";
319
- if (existsSync(configPath)) {
320
- content = await readFile(configPath, "utf-8");
321
- }
392
+ const previous = existsSync(configPath) ? await readFile(configPath, "utf-8") : null;
393
+ const headers = buildMcpHttpHeaders(homeDir);
394
+ const stripped = stripExeOsHttpHeadersSubtables(previous ?? "");
395
+ let content = stripped.content;
396
+ let outcome;
322
397
  const sectionHeader = "[mcp_servers.exe-os]";
323
398
  const headerIndex = content.indexOf(sectionHeader);
324
399
  if (headerIndex !== -1) {
@@ -326,20 +401,29 @@ async function registerCodexMcpServer(packageRoot, homeDir = os.homedir()) {
326
401
  const nextSectionMatch = afterHeader.match(/\n\[/);
327
402
  const sectionEnd = nextSectionMatch ? headerIndex + sectionHeader.length + nextSectionMatch.index : content.length;
328
403
  const sectionContent = content.slice(headerIndex, sectionEnd);
329
- const reconciled = reconcileCodexMcpSection(sectionContent, homeDir);
404
+ const reconciled = reconcileCodexMcpSection(sectionContent, headers);
330
405
  const tail = content.slice(sectionEnd);
331
- if (!reconciled.changed) {
406
+ if (!reconciled.changed && stripped.removed === 0) {
332
407
  return "already-registered";
333
408
  }
334
409
  content = content.slice(0, headerIndex) + reconciled.content + tail;
335
- await writeFile(configPath, content);
336
- return "updated";
410
+ outcome = "updated";
411
+ } else {
412
+ const newSection = desiredCodexMcpSection(headers);
413
+ const separator = content.length > 0 && !content.endsWith("\n") ? "\n\n" : content.length > 0 ? "\n" : "";
414
+ content = content + separator + newSection;
415
+ outcome = "registered";
337
416
  }
338
- const newSection = desiredCodexMcpSection(homeDir);
339
- const separator = content.length > 0 && !content.endsWith("\n") ? "\n\n" : content.length > 0 ? "\n" : "";
340
- content = content + separator + newSection;
341
- await writeFile(configPath, content);
342
- return "registered";
417
+ const problem = validateCodexConfig(content, headers);
418
+ if (problem) {
419
+ process.stderr.write(
420
+ `[exe-os] ERROR: refusing to write ${configPath}: ${problem}. The existing file was left untouched \u2014 fix it by hand (or restore a backup) and re-run the installer.
421
+ `
422
+ );
423
+ return "refused";
424
+ }
425
+ await writeCodexConfigSafely(configPath, previous, content);
426
+ return outcome;
343
427
  }
344
428
  async function ensureCodexHooksFeature(homeDir = os.homedir()) {
345
429
  const configPath = path.join(homeDir, ".codex", "config.toml");
@@ -504,7 +588,7 @@ async function runCodexInstaller(homeDir) {
504
588
  );
505
589
  const mcpResult = await registerCodexMcpServer(packageRoot, homeDir);
506
590
  process.stderr.write(
507
- `[exe-os] Codex MCP server: ${mcpResult}
591
+ mcpResult === "refused" ? "[exe-os] Codex MCP server: REFUSED \u2014 config.toml left unchanged (see error above)\n" : `[exe-os] Codex MCP server: ${mcpResult}
508
592
  `
509
593
  );
510
594
  const statusResult = await installCodexStatusLine(homeDir);