@askexenow/exe-os 0.9.409 → 0.9.410

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 (400) hide show
  1. package/deploy/stack-manifests/v0.9.json +408 -1
  2. package/dist/.dist-verified.json +3 -3
  3. package/dist/{active-agent-5AKPW2N7.js → active-agent-2ELFTYNT.js} +4 -4
  4. package/dist/{active-agent-2AMJC3SC.js → active-agent-SS4SRXYZ.js} +4 -4
  5. package/dist/agent-defs-generator-6S2BSYCP.js +32 -0
  6. package/dist/{agentic-ontology-6RS7A7KP.js → agentic-ontology-TJOAUAPD.js} +1 -1
  7. package/dist/{artifact-backup-6O4FNYPS.js → artifact-backup-STQQZDZ5.js} +3 -3
  8. package/dist/{backfill-metadata-6YX6LGPJ.js → backfill-metadata-I2FVENKJ.js} +7 -7
  9. package/dist/{backup-verify-QIAQ63VC.js → backup-verify-AOTKX5DA.js} +69 -4
  10. package/dist/{behavior-injection-NRXTNROW.js → behavior-injection-CTSIKHTH.js} +10 -10
  11. package/dist/{behavior-promotion-MW7OQ72V.js → behavior-promotion-NZMTTFHK.js} +9 -9
  12. package/dist/{behaviors-7AOK44QK.js → behaviors-RUNSC5WI.js} +8 -8
  13. package/dist/bin/agentic-ontology-backfill.js +8 -8
  14. package/dist/bin/agentic-reflection-backfill.js +9 -9
  15. package/dist/bin/agentic-semantic-label.js +8 -8
  16. package/dist/bin/backfill-conversations.js +7 -7
  17. package/dist/bin/backfill-responses.js +7 -7
  18. package/dist/bin/backfill-vectors.js +7 -7
  19. package/dist/bin/bulk-sync-postgres.js +16 -16
  20. package/dist/bin/cc-doctor.js +8 -8
  21. package/dist/bin/cleanup-stale-review-tasks.js +13 -16
  22. package/dist/bin/cli.js +24 -24
  23. package/dist/bin/deferred-daemon-restart.js +95 -95
  24. package/dist/bin/exe-agent-config.js +3 -3
  25. package/dist/bin/exe-agent.js +11 -11
  26. package/dist/bin/exe-assign.js +8 -8
  27. package/dist/bin/exe-boot.js +33 -36
  28. package/dist/bin/exe-call.js +8 -8
  29. package/dist/bin/exe-cloud.js +26 -22
  30. package/dist/bin/exe-config-dump.js +3 -3
  31. package/dist/bin/exe-dispatch.js +14 -17
  32. package/dist/bin/exe-doctor.js +5 -5
  33. package/dist/bin/exe-export-behaviors.js +12 -12
  34. package/dist/bin/exe-forget.js +12 -12
  35. package/dist/bin/exe-gateway.js +9 -9
  36. package/dist/bin/exe-grant.js +6 -6
  37. package/dist/bin/exe-healthcheck.js +8 -8
  38. package/dist/bin/exe-heartbeat.js +19 -22
  39. package/dist/bin/exe-kill.js +18 -21
  40. package/dist/bin/exe-launch-agent.js +215 -100
  41. package/dist/bin/exe-mcp.js +5 -5
  42. package/dist/bin/exe-memory-reads.js +7 -7
  43. package/dist/bin/exe-new-employee.js +10 -10
  44. package/dist/bin/exe-os-mcp-proxy.js +5 -5
  45. package/dist/bin/exe-pending-messages.js +14 -17
  46. package/dist/bin/exe-pending-notifications.js +13 -16
  47. package/dist/bin/exe-pending-reviews.js +14 -17
  48. package/dist/bin/exe-rename.js +6 -6
  49. package/dist/bin/exe-review.js +17 -20
  50. package/dist/bin/exe-search.js +11 -11
  51. package/dist/bin/exe-session-cleanup.js +18 -21
  52. package/dist/bin/exe-settings.js +16 -16
  53. package/dist/bin/exe-start-codex.js +18 -18
  54. package/dist/bin/exe-start-opencode.js +16 -16
  55. package/dist/bin/exe-status.js +15 -18
  56. package/dist/bin/exe-support.js +3 -3
  57. package/dist/bin/exe-team.js +5 -5
  58. package/dist/bin/git-sweep.js +15 -17
  59. package/dist/bin/graph-backfill.js +8 -8
  60. package/dist/bin/graph-export.js +8 -8
  61. package/dist/bin/hooks-cli.js +1 -1
  62. package/dist/bin/import-history.js +11 -11
  63. package/dist/bin/install.js +97 -97
  64. package/dist/bin/intercom-check.js +5 -5
  65. package/dist/bin/mcp-sessions.js +2 -2
  66. package/dist/bin/orchestration-metrics.js +5 -5
  67. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  68. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  69. package/dist/bin/reconcile-backlog.js +2 -2
  70. package/dist/bin/registry-proxy.js +1 -1
  71. package/dist/bin/repair-document-chunks.js +7 -7
  72. package/dist/bin/scan-tasks.js +14 -17
  73. package/dist/bin/setup.js +2 -2
  74. package/dist/bin/shard-migrate.js +8 -8
  75. package/dist/bin/stack-update.js +4 -4
  76. package/dist/bin/vps-health-gate.js +1 -1
  77. package/dist/{boot-generation-HG6LLZLY.js → boot-generation-4W4CDJSX.js} +4 -4
  78. package/dist/{boot-review-sections-STZ5EAIL.js → boot-review-sections-HJN25GMU.js} +12 -15
  79. package/dist/{bug-landed-reconciler-EO72HUI2.js → bug-landed-reconciler-GGQU6G2L.js} +6 -6
  80. package/dist/build-info.json +3 -3
  81. package/dist/build-manifest.json +989 -989
  82. package/dist/{capability-cards-C3SMHB2E.js → capability-cards-EV7VHL3W.js} +3 -3
  83. package/dist/{capacity-monitor-UI553HRL.js → capacity-monitor-YO3WRSRY.js} +14 -17
  84. package/dist/{catchup-brief-VE2X4HML.js → catchup-brief-4XFFW3H2.js} +21 -23
  85. package/dist/{chunk-R7QZXQPU.js → chunk-22XJWSWN.js} +216 -147
  86. package/dist/{chunk-XGPBHKU3.js → chunk-26CY4EAR.js} +2 -2
  87. package/dist/{chunk-E2Z3F26R.js → chunk-2A556FNI.js} +1 -1
  88. package/dist/{chunk-EIM7OGTD.js → chunk-2AXJRXA6.js} +2 -2
  89. package/dist/{chunk-DE2V7547.js → chunk-2CG3LHI6.js} +2 -2
  90. package/dist/{chunk-VLAENYCN.js → chunk-2K7IKLBL.js} +1 -1
  91. package/dist/{chunk-6JLVCMKH.js → chunk-2LJ2GZEE.js} +1 -1
  92. package/dist/{chunk-7I6KVKFF.js → chunk-2OIVIPU7.js} +3 -3
  93. package/dist/{chunk-6TB7UXCA.js → chunk-2Q2U3NB2.js} +1 -1
  94. package/dist/{chunk-QUK3UDZV.js → chunk-2WOHFX4Z.js} +1 -1
  95. package/dist/{chunk-23XUZHB7.js → chunk-2YK5HP2B.js} +245 -36
  96. package/dist/{chunk-LMF2YC5C.js → chunk-2YZZR2BW.js} +4 -4
  97. package/dist/{chunk-VMHZSZQJ.js → chunk-3ARSKDHC.js} +52 -0
  98. package/dist/{chunk-IZ24HRDC.js → chunk-3UEDFBDE.js} +3 -3
  99. package/dist/{chunk-TCV3WA5I.js → chunk-3WNDI5KT.js} +1 -1
  100. package/dist/{chunk-W5XAB2SW.js → chunk-47UBJKS3.js} +271 -167
  101. package/dist/{chunk-TBYWOHTE.js → chunk-4THJIDJE.js} +1 -1
  102. package/dist/{chunk-HRYWB4TO.js → chunk-4XY33GRO.js} +2 -2
  103. package/dist/{chunk-PCFYNK7V.js → chunk-53GNYXNR.js} +2 -2
  104. package/dist/{chunk-OFT5KSBM.js → chunk-54Q7M2AG.js} +1 -1
  105. package/dist/{chunk-GG73NHZD.js → chunk-575FWHQJ.js} +2 -2
  106. package/dist/{chunk-4W7Y67B5.js → chunk-5BWN6A5E.js} +1 -1
  107. package/dist/{chunk-KBHK2WNO.js → chunk-5F3E57TQ.js} +1 -1
  108. package/dist/{chunk-4S6H2NWS.js → chunk-5JHIAGZY.js} +1 -1
  109. package/dist/{chunk-IPANAGA3.js → chunk-5Q64Q5ZD.js} +1 -1
  110. package/dist/{chunk-LVEMYNYH.js → chunk-5WNZGNQL.js} +3 -3
  111. package/dist/{chunk-HYZV25LY.js → chunk-67IVG6CB.js} +1 -11
  112. package/dist/{chunk-5N34MMKS.js → chunk-6APOLYIZ.js} +43 -3
  113. package/dist/{chunk-HFXBL7XE.js → chunk-6T5RC3L4.js} +1 -1
  114. package/dist/{chunk-HUMNRJZE.js → chunk-6TOV7UVU.js} +4 -4
  115. package/dist/{chunk-HNGAM3U4.js → chunk-7QFRZT4H.js} +3 -3
  116. package/dist/{chunk-52Z435PH.js → chunk-7RVTQXST.js} +15 -10
  117. package/dist/{chunk-SY53PYLU.js → chunk-7WCYJXOF.js} +1 -1
  118. package/dist/{chunk-IURGBN5B.js → chunk-AEEAQZ3E.js} +4 -4
  119. package/dist/{chunk-HFSFWMID.js → chunk-AEOB4JCJ.js} +3 -3
  120. package/dist/{chunk-DM4VTXM6.js → chunk-AGXV5HLA.js} +4 -4
  121. package/dist/{chunk-NDCW4G55.js → chunk-AGY2KUQ6.js} +1 -1
  122. package/dist/{chunk-6RRPVE5O.js → chunk-APKEGWFB.js} +3 -3
  123. package/dist/{chunk-FJKUFMNF.js → chunk-ASA2UJDH.js} +1 -1
  124. package/dist/{chunk-GRAMRMWS.js → chunk-AWTLUJZL.js} +2 -2
  125. package/dist/{chunk-BHDDDNC6.js → chunk-B34RSIUP.js} +2 -2
  126. package/dist/{chunk-BPBEJD7U.js → chunk-B55U5BKF.js} +1 -1
  127. package/dist/{chunk-UXJAW4IQ.js → chunk-BBTNF72N.js} +2 -2
  128. package/dist/{chunk-IPBNHPTE.js → chunk-BIHPY7JW.js} +9 -9
  129. package/dist/{chunk-SYUJCVJG.js → chunk-BPXWWD7P.js} +1 -1
  130. package/dist/{chunk-G2M7WQ2M.js → chunk-CBC3JCIF.js} +1 -1
  131. package/dist/{chunk-GKPPLIMJ.js → chunk-CEHGXPMO.js} +4 -4
  132. package/dist/{chunk-L5CPS34O.js → chunk-CKRZBQ2K.js} +1 -1
  133. package/dist/{chunk-NHQWPKX7.js → chunk-CPC75PXE.js} +2 -2
  134. package/dist/{chunk-OEHZ46WQ.js → chunk-DLHE4PCM.js} +4 -4
  135. package/dist/{chunk-RZ23QQCI.js → chunk-DWK5HEKY.js} +4 -4
  136. package/dist/{chunk-YUAOQJVV.js → chunk-E2346GKI.js} +2 -2
  137. package/dist/{chunk-VYKXRSHU.js → chunk-E3ZO4EL3.js} +1 -1
  138. package/dist/{chunk-GTRB6DGI.js → chunk-FCX2XHIC.js} +2 -2
  139. package/dist/{chunk-K7DAE2HO.js → chunk-FOZSHNET.js} +19 -6
  140. package/dist/{chunk-7P2TDFZL.js → chunk-FRJICRED.js} +1 -1
  141. package/dist/{chunk-XCPD7NGP.js → chunk-FUEKSCTN.js} +1 -1
  142. package/dist/{chunk-B3ISLIKE.js → chunk-FYKEL2L6.js} +2 -2
  143. package/dist/{chunk-SFGFNJBR.js → chunk-FZT7CBXB.js} +1 -1
  144. package/dist/{chunk-NFNM64A7.js → chunk-GGT6Y5AN.js} +22 -18
  145. package/dist/{chunk-Q4GS5VW7.js → chunk-H5H2LGVE.js} +3 -3
  146. package/dist/{chunk-GEQQGN3J.js → chunk-HCBISGUU.js} +7 -7
  147. package/dist/{chunk-FZT4VQP7.js → chunk-HKAWEIB2.js} +1 -1
  148. package/dist/{chunk-QK3Z4TKQ.js → chunk-HLNRLXUS.js} +5 -5
  149. package/dist/{chunk-FBZ32BD4.js → chunk-HNJLAMD3.js} +1 -1
  150. package/dist/{chunk-6EY6OFBC.js → chunk-I35OMCL3.js} +2 -2
  151. package/dist/{chunk-OISOA6NX.js → chunk-IHBYJG7N.js} +1 -1
  152. package/dist/{chunk-KIJRAZWR.js → chunk-IQCC6WFI.js} +1 -1
  153. package/dist/{chunk-EHILXBVT.js → chunk-IUAW7FVX.js} +3 -3
  154. package/dist/{chunk-OE7TAEOG.js → chunk-IXRYS5X3.js} +1 -1
  155. package/dist/{chunk-4Q7H3TO7.js → chunk-J6RTX7XT.js} +1 -1
  156. package/dist/{chunk-BIV4IHED.js → chunk-JDZNGC4O.js} +15 -28
  157. package/dist/{chunk-JJYAETCO.js → chunk-JTXXLNYD.js} +4 -4
  158. package/dist/{chunk-YVS77JPW.js → chunk-JZ23D5YF.js} +3 -3
  159. package/dist/{chunk-QYIR64RR.js → chunk-K464YYT5.js} +1 -1
  160. package/dist/{chunk-BM467PZN.js → chunk-K6XWIJN7.js} +1 -1
  161. package/dist/{chunk-DIKLSAJE.js → chunk-KNEEOZWN.js} +1 -1
  162. package/dist/{chunk-3MDUKF3N.js → chunk-LBEBSXZA.js} +5 -4
  163. package/dist/{chunk-NK4JHJNP.js → chunk-LCXWQVOD.js} +4 -4
  164. package/dist/{chunk-3AL2LO3L.js → chunk-LZS2B2JT.js} +1 -1
  165. package/dist/{chunk-W2VDJKTB.js → chunk-MNWN3SQ3.js} +1 -1
  166. package/dist/{chunk-ZEHBSA25.js → chunk-MQD3JJCO.js} +1 -1
  167. package/dist/{chunk-KPLMY2GT.js → chunk-NUEDA2US.js} +4 -4
  168. package/dist/{chunk-F5ZRHLG5.js → chunk-NYV4A5IG.js} +2 -2
  169. package/dist/{chunk-M7774YLB.js → chunk-O5RKAXCG.js} +1 -1
  170. package/dist/{chunk-GPWXUU3L.js → chunk-OUUNFTS4.js} +1 -1
  171. package/dist/{chunk-G3ZYXXO7.js → chunk-PCF4QMJS.js} +10 -10
  172. package/dist/{chunk-HRKN3DQE.js → chunk-PONGX3YG.js} +7 -7
  173. package/dist/{chunk-JR3GTBV3.js → chunk-QH2V67NX.js} +1 -1
  174. package/dist/{chunk-4O7OUBEX.js → chunk-QKHQTHE6.js} +27 -15
  175. package/dist/{chunk-4M24XCTI.js → chunk-R2ZHPVF2.js} +53 -7
  176. package/dist/{chunk-HK7HIDXP.js → chunk-R3N5BCMM.js} +1 -1
  177. package/dist/{chunk-IUBCS6TA.js → chunk-RWM6TZH6.js} +3 -3
  178. package/dist/{chunk-N3JEYUDV.js → chunk-RXICR3D7.js} +1 -1
  179. package/dist/{chunk-QPMKVSHU.js → chunk-S2DTXCV6.js} +2 -2
  180. package/dist/{chunk-YLWKWEJJ.js → chunk-SLG3T26A.js} +3 -3
  181. package/dist/{chunk-7R7KDRKV.js → chunk-SUGAHHVR.js} +1 -1
  182. package/dist/{chunk-SGR4ZQAV.js → chunk-T7W75LII.js} +3 -3
  183. package/dist/{agent-defs-generator-QN3J6FVJ.js → chunk-TU5Y5ZNC.js} +4 -21
  184. package/dist/{chunk-LE3DIA25.js → chunk-UBTKHJCB.js} +6 -6
  185. package/dist/{chunk-ZYOIH5NY.js → chunk-UF5BDAF6.js} +6 -6
  186. package/dist/{chunk-4RQ62XXK.js → chunk-UG3YOQAC.js} +5 -5
  187. package/dist/{chunk-7LTAA55U.js → chunk-V7AID6MC.js} +1 -1
  188. package/dist/{chunk-SA66WRBT.js → chunk-WLV27PAO.js} +1 -1
  189. package/dist/{chunk-XAGIZVYI.js → chunk-WSYIQKZ6.js} +180 -1624
  190. package/dist/{chunk-KCRSJ3VU.js → chunk-WZPD4QSE.js} +2 -2
  191. package/dist/{chunk-APVU4Q5B.js → chunk-X2EBM5BQ.js} +16 -16
  192. package/dist/{chunk-XFGS22VE.js → chunk-XBCIRNNU.js} +1 -1
  193. package/dist/{chunk-M4N7I2H5.js → chunk-XC2KAJK4.js} +5 -5
  194. package/dist/{chunk-WYNIWJRN.js → chunk-XCKTCOK3.js} +5 -5
  195. package/dist/{chunk-PZDAPIQL.js → chunk-XJQGS4IM.js} +1 -1
  196. package/dist/{chunk-DACRR362.js → chunk-XMMWBLQK.js} +6 -6
  197. package/dist/{chunk-T2PAFWRK.js → chunk-YC6SZFVD.js} +5 -5
  198. package/dist/{chunk-6ZW6BRI4.js → chunk-YJ7MCZSY.js} +2 -2
  199. package/dist/{chunk-DMYJVGQM.js → chunk-YSDSQRE2.js} +1 -1
  200. package/dist/{chunk-R6CKQLEA.js → chunk-YWZGDFAL.js} +1 -1
  201. package/dist/{chunk-C426MZMD.js → chunk-ZBXZFOIF.js} +3 -3
  202. package/dist/{chunk-ME733Y2F.js → chunk-ZEDLED43.js} +37 -9
  203. package/dist/{cleanup-graph-garbage-NKAJSCWZ.js → cleanup-graph-garbage-N7FTWU6C.js} +8 -8
  204. package/dist/{cli-shutdown-F3DFDCB5.js → cli-shutdown-NCBQTN7G.js} +1 -1
  205. package/dist/{cloud-sync-command-3YBLSMAL.js → cloud-sync-command-UL7GNN3J.js} +2 -2
  206. package/dist/{cloud-sync-db-init-JWSPAFKY.js → cloud-sync-db-init-ASM7ZXBH.js} +1 -1
  207. package/dist/{cloud-sync-shutdown-4R6RIO67.js → cloud-sync-shutdown-HER4ISBU.js} +3 -3
  208. package/dist/{co-activation-2ZRANV3Q.js → co-activation-V5XXR327.js} +3 -3
  209. package/dist/{co-occurrence-6EELW2L2.js → co-occurrence-MKZ6YWSQ.js} +6 -6
  210. package/dist/{consent-passphrase-TDR263MC.js → consent-passphrase-YI3J4UEL.js} +2 -2
  211. package/dist/content-extractor-GWF2T7FK.js +13 -0
  212. package/dist/{conversation-entity-extractor-KUJN3MOH.js → conversation-entity-extractor-66G7ROQ3.js} +3 -3
  213. package/dist/{crdt-sync-IX43KVQ3.js → crdt-sync-Z62SWOKD.js} +4 -4
  214. package/dist/{crm-webhook-GSCIW6CE.js → crm-webhook-6GBACWJX.js} +2 -2
  215. package/dist/{cto-delegation-gate-ZWD4EFRR.js → cto-delegation-gate-FUKPBFCM.js} +12 -15
  216. package/dist/{daemon-orchestration-WL6V4QL4.js → daemon-orchestration-O3QPSJEP.js} +19 -21
  217. package/dist/{doc-graph-extractor-NJ7ZZC2C.js → doc-graph-extractor-BBPKLIVM.js} +6 -6
  218. package/dist/{documents-O7WYZFFE.js → documents-NILTWYSQ.js} +8 -8
  219. package/dist/{dreaming-TUESPDT3.js → dreaming-KMDGPIFY.js} +17 -20
  220. package/dist/{employee-boot-brief-UCP6QLN4.js → employee-boot-brief-KSH3MWIF.js} +23 -25
  221. package/dist/{entity-boost-TK43XT24.js → entity-boost-XETN7C2S.js} +2 -2
  222. package/dist/{exe-drift-QD6LUZT2.js → exe-drift-SFD7SHXC.js} +4 -4
  223. package/dist/{exe-export-QIUNHFSS.js → exe-export-NHWKEZL4.js} +9 -9
  224. package/dist/{exe-import-3UFOLHEW.js → exe-import-SPI5HJBU.js} +9 -9
  225. package/dist/{exe-key-D5NDKGHT.js → exe-key-TY5LFUEM.js} +95 -95
  226. package/dist/{exe-org-UWDJBOCV.js → exe-org-LVQLXA7C.js} +32 -32
  227. package/dist/{exe-snapshot-P6SFODEN.js → exe-snapshot-WH2DSRZW.js} +20 -23
  228. package/dist/{fast-db-init-SD7JZSEC.js → fast-db-init-UN225WS7.js} +1 -1
  229. package/dist/{founder-context-QIXDZIJX.js → founder-context-DVHSVBM5.js} +2 -2
  230. package/dist/{founder-monitor-envelope-TLOC4UYG.js → founder-monitor-envelope-HMPPUBUT.js} +4 -4
  231. package/dist/gateway/index.js +14 -14
  232. package/dist/{gateway-client-CQTSYJLP.js → gateway-client-TXHCHOVM.js} +1 -1
  233. package/dist/{git-staleness-JSQTHB4Z.js → git-staleness-CUVLXQOJ.js} +3 -3
  234. package/dist/{global-procedures-T3RKI4QX.js → global-procedures-T5W3S6OU.js} +5 -5
  235. package/dist/{graph-auto-extract-V75GSTNX.js → graph-auto-extract-S7OIZXYP.js} +6 -6
  236. package/dist/{graph-query-VAQN2RK3.js → graph-query-CRIH4DXF.js} +1 -1
  237. package/dist/{graph-rag-GBA5E3QC.js → graph-rag-LH34CEGC.js} +3 -3
  238. package/dist/{hook-integrity-II6QK6Y4.js → hook-integrity-TSJYZFZ6.js} +1 -1
  239. package/dist/{hook-prefetch-5EHPOYY3.js → hook-prefetch-SNW5DFCZ.js} +13 -16
  240. package/dist/hooks/bug-report-worker.js +17 -20
  241. package/dist/hooks/codex-stop-task-finalizer.js +19 -22
  242. package/dist/hooks/commit-complete.js +16 -19
  243. package/dist/hooks/error-recall.js +14 -14
  244. package/dist/hooks/exe-heartbeat-hook.js +5 -5
  245. package/dist/hooks/ingest-worker.js +18 -20
  246. package/dist/hooks/ingest.js +16 -16
  247. package/dist/hooks/instructions-loaded.js +7 -7
  248. package/dist/hooks/manifest.json +20 -20
  249. package/dist/hooks/notification.js +6 -6
  250. package/dist/hooks/post-compact.js +5 -5
  251. package/dist/hooks/post-tool-combined.js +13 -13
  252. package/dist/hooks/pre-compact.js +16 -19
  253. package/dist/hooks/pre-tool-use.js +2 -2
  254. package/dist/hooks/prompt-submit.js +40 -39
  255. package/dist/hooks/session-end.js +21 -24
  256. package/dist/hooks/session-start.js +18 -18
  257. package/dist/hooks/stop.js +19 -22
  258. package/dist/hooks/subagent-stop.js +18 -21
  259. package/dist/hooks/summary-worker.js +20 -23
  260. package/dist/index.js +25 -28
  261. package/dist/{installer-XEEZSF3V.js → installer-4IVP2PTX.js} +7 -8
  262. package/dist/{installer-ILYC4LI5.js → installer-CJWNUASI.js} +7 -8
  263. package/dist/{installer-MPVQ5L22.js → installer-UFRZHMX5.js} +7 -8
  264. package/dist/{intercom-queue-QGHAW2KO.js → intercom-queue-II6RRK3J.js} +12 -15
  265. package/dist/lib/cloud-sync.js +16 -16
  266. package/dist/lib/consolidation.js +9 -9
  267. package/dist/lib/crypto.js +3 -3
  268. package/dist/lib/database.js +3 -3
  269. package/dist/lib/db-backup.js +1 -1
  270. package/dist/lib/db-write-worker.js +3 -3
  271. package/dist/lib/db.js +3 -3
  272. package/dist/lib/device-registry.js +1 -1
  273. package/dist/lib/employee-templates.js +6 -6
  274. package/dist/lib/employees.js +3 -3
  275. package/dist/lib/error-detector.js +2 -2
  276. package/dist/lib/exe-daemon.js +83 -86
  277. package/dist/lib/hybrid-search.js +11 -11
  278. package/dist/lib/identity.js +5 -3
  279. package/dist/lib/keychain.js +1 -1
  280. package/dist/lib/license.js +2 -2
  281. package/dist/lib/messaging.js +13 -16
  282. package/dist/lib/post-tool-memory.js +16 -18
  283. package/dist/lib/registry-proxy.js +1 -1
  284. package/dist/lib/reminders.js +4 -4
  285. package/dist/lib/schedules.js +8 -8
  286. package/dist/lib/session-registry.js +5 -5
  287. package/dist/lib/skill-learning.js +9 -9
  288. package/dist/lib/store.js +7 -7
  289. package/dist/lib/task-router.js +4 -4
  290. package/dist/lib/tasks.js +14 -17
  291. package/dist/lib/tmux-routing.js +14 -41
  292. package/dist/lib/token-spend.js +4 -4
  293. package/dist/lib/ws-client.js +1 -1
  294. package/dist/{license-gate-CARN6AB6.js → license-gate-M7EDJLAA.js} +3 -3
  295. package/dist/{license-recheck-7Z3LS6YS.js → license-recheck-DLTOHAH2.js} +1 -1
  296. package/dist/{license-sync-PUQV3HSZ.js → license-sync-YTDCUN3S.js} +2 -2
  297. package/dist/mcp/register-tools.js +94 -94
  298. package/dist/mcp/server.js +97 -97
  299. package/dist/mcp/tools/complete-reminder.js +5 -5
  300. package/dist/mcp/tools/create-reminder.js +5 -5
  301. package/dist/mcp/tools/create-task.js +16 -19
  302. package/dist/mcp/tools/deactivate-behavior.js +10 -10
  303. package/dist/mcp/tools/list-reminders.js +5 -5
  304. package/dist/mcp/tools/list-tasks.js +16 -19
  305. package/dist/mcp/tools/send-message.js +15 -18
  306. package/dist/mcp/tools/update-task.js +15 -18
  307. package/dist/{mcp-http-config-RJKTZPHZ.js → mcp-http-config-652YK3CI.js} +5 -5
  308. package/dist/{mcp-session-identity-HN444A3G.js → mcp-session-identity-6QGXD52Y.js} +12 -15
  309. package/dist/{memory-cards-AT3QCCWU.js → memory-cards-FOPSLULE.js} +8 -8
  310. package/dist/{memory-graph-extractor-B43UWGV5.js → memory-graph-extractor-7G3CIGN7.js} +7 -7
  311. package/dist/{memory-maintenance-WDLL3ZX3.js → memory-maintenance-5XIGUPYL.js} +1 -1
  312. package/dist/{memory-poisoning-defense-TS4WNW4S.js → memory-poisoning-defense-MI7Y5XBP.js} +3 -3
  313. package/dist/{memory-pressure-watchdog-6YH7S6W7.js → memory-pressure-watchdog-SPIDPGU2.js} +13 -16
  314. package/dist/{memory-reflection-N6NSYW6S.js → memory-reflection-DVAT4QKS.js} +8 -8
  315. package/dist/{memory-write-repository-D35RDO62.js → memory-write-repository-YC7HJTV5.js} +1 -1
  316. package/dist/{monitor-grants-FH4PNYN5.js → monitor-grants-3A77O6XK.js} +3 -3
  317. package/dist/{monitor-identity-LK5ZCCND.js → monitor-identity-BTFFMFEX.js} +2 -2
  318. package/dist/{notification-ledger-3WJYJGGS.js → notification-ledger-AV5242RM.js} +13 -16
  319. package/dist/{notifications-T5C2CVB3.js → notifications-75FVPJLY.js} +12 -15
  320. package/dist/{orchestration-events-73VEJT7Q.js → orchestration-events-ARGZU6KS.js} +4 -4
  321. package/dist/{orchestrator-3O657734.js → orchestrator-TCXZMLSB.js} +14 -17
  322. package/dist/{org-brief-session-EGB35QLM.js → org-brief-session-B455POUI.js} +15 -15
  323. package/dist/{org-consent-policy-MSVSRI53.js → org-consent-policy-7K5H6FOB.js} +5 -5
  324. package/dist/{org-join-4BK2XJJI.js → org-join-ETR5KO27.js} +9 -9
  325. package/dist/{org-key-admin-EUSSGXQ3.js → org-key-admin-IRC6H3TL.js} +11 -11
  326. package/dist/{org-key-epoch-NMEWDT5L.js → org-key-epoch-EG4YQ47A.js} +5 -5
  327. package/dist/{org-key-pin-HUSXGINB.js → org-key-pin-GLQEU3P3.js} +3 -3
  328. package/dist/{org-membership-B74IWEM5.js → org-membership-JC5YVU6N.js} +4 -4
  329. package/dist/{org-partner-config-5FJTJABN.js → org-partner-config-QFSVGHEA.js} +8 -8
  330. package/dist/{org-partner-runtime-GN4GFWI2.js → org-partner-runtime-7AD7WY3Y.js} +15 -15
  331. package/dist/{org-row-visibility-PBZ2TSCR.js → org-row-visibility-AXZKVOA6.js} +1 -1
  332. package/dist/{pipeline-router-2IELBSVJ.js → pipeline-router-2KY4X6PO.js} +4 -4
  333. package/dist/{plan-limits-4GXK5PFT.js → plan-limits-PG6HG2DT.js} +6 -6
  334. package/dist/{pre-tool-use-impl-CY73PRJP.js → pre-tool-use-impl-45B4NFIF.js} +34 -32
  335. package/dist/{project-name-337ERIAX.js → project-name-LHYHR4VN.js} +4 -4
  336. package/dist/{projection-worker-W476IG6V.js → projection-worker-POT2AOR5.js} +2 -2
  337. package/dist/{prospective-memory-5INB7NUL.js → prospective-memory-ECXSAEAW.js} +3 -3
  338. package/dist/{push-notifications-YVOP4KGN.js → push-notifications-W3UNHDC5.js} +13 -16
  339. package/dist/{reproject-worktree-memories-OGBR3CMO.js → reproject-worktree-memories-PIXMJBHG.js} +12 -15
  340. package/dist/{reranker-W7WCJH6Y.js → reranker-ZBPYIRBB.js} +1 -1
  341. package/dist/{retrieval-health-R6MGXLTP.js → retrieval-health-42MFLOEP.js} +1 -1
  342. package/dist/{review-polling-TKAWVY6G.js → review-polling-V4CSK4TZ.js} +13 -16
  343. package/dist/runtime/index.js +16 -19
  344. package/dist/{session-events-HUCZ7TOR.js → session-events-C3NUY6MR.js} +13 -16
  345. package/dist/{session-kill-telemetry-RWRWOW4C.js → session-kill-telemetry-ZOSAIYU2.js} +13 -16
  346. package/dist/{session-scope-5CDRHV75.js → session-scope-BZALGKYZ.js} +12 -15
  347. package/dist/{setup-wizard-RBTJAZOP.js → setup-wizard-DNA2UT4J.js} +2 -2
  348. package/dist/{shard-manager-LRPAAQA4.js → shard-manager-NG4SXV7L.js} +2 -2
  349. package/dist/{skill-refinement-MDXKDCY6.js → skill-refinement-Y3M7XBRE.js} +4 -4
  350. package/dist/{skill-retrieval-OWY6MTCX.js → skill-retrieval-XDY352AS.js} +11 -11
  351. package/dist/{skill-usage-GNV737U5.js → skill-usage-QOLIJQJC.js} +4 -4
  352. package/dist/{stack-generate-manifest-S4SBLKBY.js → stack-generate-manifest-VFHCOLAD.js} +4 -4
  353. package/dist/{stack-promote-U4EZNLOV.js → stack-promote-24BY6AXF.js} +4 -4
  354. package/dist/{stack-release-4VBGOYGK.js → stack-release-AXH7ZIOR.js} +5 -5
  355. package/dist/{stack-update-C5YKHE7A.js → stack-update-7ET7S3ED.js} +3 -3
  356. package/dist/{steward-gate-QFPXQBUZ.js → steward-gate-2MUESY3V.js} +4 -4
  357. package/dist/{subagent-brief-injection-GDXO5WNS.js → subagent-brief-injection-6PM3WMMR.js} +25 -27
  358. package/dist/{support-bug-actions-4XEKXIIO.js → support-bug-actions-WWKDXT74.js} +3 -3
  359. package/dist/{support-inbox-Y7AFCOGM.js → support-inbox-AN44HIOG.js} +12 -12
  360. package/dist/{task-enforcement-CN3Q4PEH.js → task-enforcement-QO7RXYK2.js} +13 -16
  361. package/dist/{task-request-inbox-AY3C6DND.js → task-request-inbox-RXAT2QJF.js} +5 -5
  362. package/dist/{task-scope-AMR3Z3DJ.js → task-scope-4EKZBTTM.js} +12 -15
  363. package/dist/{tasks-crud-2GHKIZOM.js → tasks-crud-MB7WXGPW.js} +14 -15
  364. package/dist/{tasks-notify-Z53446KM.js → tasks-notify-BCWO7AP6.js} +13 -16
  365. package/dist/{tasks-review-APRNSHMQ.js → tasks-review-HXHYA76X.js} +12 -15
  366. package/dist/{telemetry-upload-5XR42SQN.js → telemetry-upload-Q7DLE5I3.js} +8 -8
  367. package/dist/{token-budget-TTNJXI7W.js → token-budget-EL6BEBDP.js} +4 -4
  368. package/dist/{tool-telemetry-36ST422N.js → tool-telemetry-SNWF4WDH.js} +1 -1
  369. package/dist/tui/App.js +22 -25
  370. package/dist/{tui-data-AP5TPUOQ.js → tui-data-ZMSBEPJT.js} +16 -19
  371. package/dist/{update-support-SFTI2PUD.js → update-support-QY7WALUZ.js} +11 -11
  372. package/dist/{whatsapp-5CXE3JHG.js → whatsapp-NCZ43BB3.js} +2 -2
  373. package/dist/{wiki-acl-N754BC2W.js → wiki-acl-3L7BRJUV.js} +1 -1
  374. package/dist/{work-claims-OAICQBWO.js → work-claims-XQXT2VWJ.js} +4 -4
  375. package/dist/{work-state-heartbeat-MTTUGMPU.js → work-state-heartbeat-GAIQ7M73.js} +1 -1
  376. package/dist/{workflow-engine-RID3QL2U.js → workflow-engine-FCOOI5M6.js} +2 -2
  377. package/dist/{worktree-XWVNDBRD.js → worktree-GS4ODQ4C.js} +5 -5
  378. package/dist/{worktree-sweep-6VEHGH7U.js → worktree-sweep-6LMC7H5Y.js} +6 -6
  379. package/package.json +1 -1
  380. package/release-notes.json +27 -9
  381. package/stack.release.json +3 -3
  382. package/dist/chunk-ESO5JDOT.js +0 -70
  383. package/dist/content-extractor-OVD7PTSN.js +0 -9
  384. /package/dist/{chunk-EZQ4W3WW.js → chunk-7ZP2PAW3.js} +0 -0
  385. /package/dist/{chunk-YBB43SXC.js → chunk-AC36VWNB.js} +0 -0
  386. /package/dist/{chunk-YG4DZZ6J.js → chunk-CS4SHHLY.js} +0 -0
  387. /package/dist/{chunk-33PG3KNY.js → chunk-FDQXQBBC.js} +0 -0
  388. /package/dist/{chunk-OLMLA377.js → chunk-IKJUZ3VO.js} +0 -0
  389. /package/dist/{chunk-FUZHMV7K.js → chunk-JXGOO53U.js} +0 -0
  390. /package/dist/{chunk-WIDOLS7T.js → chunk-LAWI42NC.js} +0 -0
  391. /package/dist/{chunk-PKM456D2.js → chunk-LK6OG47X.js} +0 -0
  392. /package/dist/{chunk-FLO24BNN.js → chunk-R6H2IRCF.js} +0 -0
  393. /package/dist/{chunk-64UAHPXA.js → chunk-UQKGV6SX.js} +0 -0
  394. /package/dist/{chunk-CLV7ALXV.js → chunk-XDWIJBTY.js} +0 -0
  395. /package/dist/{chunk-LDHJX4TZ.js → chunk-XJDSTA2C.js} +0 -0
  396. /package/dist/{chunk-OEEHLATI.js → chunk-ZQS4S4AX.js} +0 -0
  397. /package/dist/{core-memory-WR7I7DIP.js → core-memory-3TZV3ZDW.js} +0 -0
  398. /package/dist/{memory-isolation-4RQJ5RCK.js → memory-isolation-TE4AOMQX.js} +0 -0
  399. /package/dist/{oauth-server-VBDMZIEV.js → oauth-server-CWQ6EBGQ.js} +0 -0
  400. /package/dist/{project-boot-G7T5WHO6.js → project-boot-MX2FNKTJ.js} +0 -0
@@ -7,24 +7,26 @@ import {
7
7
  } from "./chunk-S2YTU74T.js";
8
8
  import {
9
9
  createTask
10
- } from "./chunk-IPBNHPTE.js";
10
+ } from "./chunk-BIHPY7JW.js";
11
11
  import {
12
12
  getActiveAgent
13
- } from "./chunk-OISOA6NX.js";
13
+ } from "./chunk-IHBYJG7N.js";
14
14
  import {
15
15
  deriveTaskIdempotencyKey,
16
16
  ensureEmployeeAsync,
17
17
  isEmployeeAlive,
18
18
  isExeSession,
19
19
  logTaskDispatch,
20
- resolveExeSession
21
- } from "./chunk-XAGIZVYI.js";
20
+ resolveExeSession,
21
+ spawnOverrideNoopNotice,
22
+ tmuxDispatchRefusal
23
+ } from "./chunk-WSYIQKZ6.js";
22
24
  import {
23
25
  getPaneCwdAsync
24
26
  } from "./chunk-6L4VIYLZ.js";
25
27
  import {
26
28
  recordOrchestrationEventBestEffort
27
- } from "./chunk-SA66WRBT.js";
29
+ } from "./chunk-WLV27PAO.js";
28
30
  import {
29
31
  releaseDispatchClaim,
30
32
  tryAcquireDispatchClaim,
@@ -37,7 +39,7 @@ import {
37
39
  } from "./chunk-IVXELUEQ.js";
38
40
  import {
39
41
  getLicenseSync
40
- } from "./chunk-EIM7OGTD.js";
42
+ } from "./chunk-2AXJRXA6.js";
41
43
  import {
42
44
  isValidSessionScope
43
45
  } from "./chunk-BTSWFMEH.js";
@@ -46,7 +48,7 @@ import {
46
48
  } from "./chunk-GJV3WDWM.js";
47
49
  import {
48
50
  isCoordinatorName
49
- } from "./chunk-3MDUKF3N.js";
51
+ } from "./chunk-LBEBSXZA.js";
50
52
  import {
51
53
  EXE_AI_DIR
52
54
  } from "./chunk-MMS2HBRT.js";
@@ -173,19 +175,6 @@ async function sessionIncarnationId(sessionName) {
173
175
  return null;
174
176
  }
175
177
 
176
- // src/lib/tmux-dispatch-gate.ts
177
- var TMUX_DISPATCH_RETIRED_MESSAGE = "tmux dispatch is retired; dispatch a named subagent: Agent(subagent_type='<name>') \u2014 worktree isolation for code, brief it with a file fence and the guardrails, and persist its result into the task checklist row + memory before you finish. task(action='create') stays a durable checklist row for tracking and never launches compute.";
178
- var TMUX_DISPATCH_ESCAPE_HATCH = "EXE_ALLOW_TMUX_DISPATCH";
179
- function isTmuxDispatchAllowed(env = process.env) {
180
- return env[TMUX_DISPATCH_ESCAPE_HATCH] === "1";
181
- }
182
- function tmuxDispatchRefusal(toolName) {
183
- return `${toolName}: ${TMUX_DISPATCH_RETIRED_MESSAGE} Nothing was created or dispatched.`;
184
- }
185
- function spawnOverrideNoopNotice(fields) {
186
- return `Ignored ${fields.join(", ")} \u2014 ${TMUX_DISPATCH_RETIRED_MESSAGE} Set a subagent's model per employee with set_agent_config, or per dispatch with the Agent tool's own model argument.`;
187
- }
188
-
189
178
  // src/mcp/tools/create-task.ts
190
179
  var ProjectScopeCheckFailedError = class extends Error {
191
180
  constructor(message, options) {
@@ -704,7 +693,7 @@ function registerCreateTask(server, deps = {}) {
704
693
  async ({ execution_mode, title, assigned_to, project_name, priority, complexity, context, blocked_by, parent_task_id, reviewer, budget_tokens, budget_fallback_model, spawn_runtime, spawn_model, spawn_worktree, idempotency_key, idempotency_window, session_scope, work_ref, group_id, override_claim_reason }) => {
705
694
  const executionMode = execution_mode ?? "checklist";
706
695
  const isDurableTmuxDispatch = executionMode === "durable_tmux";
707
- if (isDurableTmuxDispatch && !isTmuxDispatchAllowed()) {
696
+ if (isDurableTmuxDispatch) {
708
697
  return {
709
698
  isError: true,
710
699
  content: [{ type: "text", text: tmuxDispatchRefusal("create_task") }]
@@ -891,7 +880,7 @@ Idempotent no-op (existing task unchanged; no execution side effects)`
891
880
  let claimWarning = "";
892
881
  const claimRefRaw = (work_ref ?? "").trim();
893
882
  try {
894
- const { findConflicts, findConflictsInText, describeConflict, normalizeTarget } = await import("./work-claims-OAICQBWO.js");
883
+ const { findConflicts, findConflictsInText, describeConflict, normalizeTarget } = await import("./work-claims-XQXT2VWJ.js");
895
884
  const conflicts = claimRefRaw ? await findConflicts(
896
885
  [normalizeTarget({ kind: "work_ref", value: claimRefRaw })],
897
886
  callerRoot
@@ -958,7 +947,7 @@ Nothing was created or dispatched. Either pick different work, or \u2014 if that
958
947
  });
959
948
  if (claimRefRaw) {
960
949
  try {
961
- const { acquireClaim } = await import("./work-claims-OAICQBWO.js");
950
+ const { acquireClaim } = await import("./work-claims-XQXT2VWJ.js");
962
951
  const acquired = await acquireClaim({
963
952
  targets: [{ kind: "work_ref", value: claimRefRaw }],
964
953
  holderSession: callerRoot,
@@ -1154,7 +1143,7 @@ Note: ${spawnOverrideNoopNotice(ignoredSpawnOverrides)}`;
1154
1143
  }
1155
1144
  if (claimRefRaw) {
1156
1145
  try {
1157
- const { acquireClaim } = await import("./work-claims-OAICQBWO.js");
1146
+ const { acquireClaim } = await import("./work-claims-XQXT2VWJ.js");
1158
1147
  const acquired = await acquireClaim({
1159
1148
  targets: [{ kind: "work_ref", value: claimRefRaw }],
1160
1149
  holderSession: callerRoot,
@@ -1207,7 +1196,7 @@ Claimed ${claimRefRaw} for session ${callerRoot} (claim_group ${acquired.claimGr
1207
1196
  session_scope: sessionScope,
1208
1197
  created_at: (/* @__PURE__ */ new Date()).toISOString()
1209
1198
  }), "utf-8");
1210
- const { recordOrchestrationEventBestEffort: recordOE } = await import("./orchestration-events-73VEJT7Q.js");
1199
+ const { recordOrchestrationEventBestEffort: recordOE } = await import("./orchestration-events-ARGZU6KS.js");
1211
1200
  recordOE({
1212
1201
  eventType: "signal.created",
1213
1202
  source: "create-task.mcp",
@@ -1240,7 +1229,7 @@ Claimed ${claimRefRaw} for session ${callerRoot} (claim_group ${acquired.claimGr
1240
1229
  let projectConflictOpts = {};
1241
1230
  try {
1242
1231
  const { getClient } = await import("./lib/database.js");
1243
- const { sessionScopeFilter } = await import("./task-scope-AMR3Z3DJ.js");
1232
+ const { sessionScopeFilter } = await import("./task-scope-4EKZBTTM.js");
1244
1233
  const client = getClient();
1245
1234
  const scope = sessionScopeFilter(task.sessionScope || callerRoot || exeSession || null);
1246
1235
  const existing = await client.execute({
@@ -1536,8 +1525,6 @@ Do NOT call create_task again \u2014 that duplicates the row. Re-dispatch the EX
1536
1525
  }
1537
1526
 
1538
1527
  export {
1539
- isTmuxDispatchAllowed,
1540
- tmuxDispatchRefusal,
1541
1528
  ProjectScopeCheckFailedError,
1542
1529
  isSafeProjectName,
1543
1530
  findProjectChildDir,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  orgMembershipsPath,
3
3
  readActiveOrgMemberships
4
- } from "./chunk-K7DAE2HO.js";
4
+ } from "./chunk-FOZSHNET.js";
5
5
  import {
6
6
  resolveExeDataDir
7
7
  } from "./chunk-NPXIS2RY.js";
@@ -270,7 +270,7 @@ async function departOrgToPersonalFreeTier(orgIdRaw, cause = "left") {
270
270
  `could not determine whether standing consent policies exist for ${orgId} (permission or I/O error checking ${consentStatePath}). Treating this as NOT cleared \u2014 they may still be armed. Re-run the departure once the file is readable.`
271
271
  );
272
272
  } else try {
273
- const { clearStandingPolicies } = await import("./org-consent-policy-MSVSRI53.js");
273
+ const { clearStandingPolicies } = await import("./org-consent-policy-7K5H6FOB.js");
274
274
  await clearStandingPolicies(orgId);
275
275
  consentCleared = true;
276
276
  } catch (err) {
@@ -289,7 +289,7 @@ async function departOrgToPersonalFreeTier(orgIdRaw, cause = "left") {
289
289
  }
290
290
  let pollerStopped = false;
291
291
  try {
292
- const { stopOrgPartnerPollerFor } = await import("./org-partner-runtime-GN4GFWI2.js");
292
+ const { stopOrgPartnerPollerFor } = await import("./org-partner-runtime-7AD7WY3Y.js");
293
293
  pollerStopped = await stopOrgPartnerPollerFor(orgId);
294
294
  } catch (err) {
295
295
  failures.push(
@@ -298,7 +298,7 @@ async function departOrgToPersonalFreeTier(orgIdRaw, cause = "left") {
298
298
  }
299
299
  let seqFloor = 0;
300
300
  try {
301
- const { preserveOutboundSeqFloor } = await import("./task-request-inbox-AY3C6DND.js");
301
+ const { preserveOutboundSeqFloor } = await import("./task-request-inbox-RXAT2QJF.js");
302
302
  seqFloor = preserveOutboundSeqFloor(orgId);
303
303
  if (seqFloor > 0) {
304
304
  notes.push(
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  listBehaviors
3
- } from "./chunk-F5ZRHLG5.js";
3
+ } from "./chunk-NYV4A5IG.js";
4
4
  import {
5
5
  incrementSkillUsage
6
- } from "./chunk-FJKUFMNF.js";
6
+ } from "./chunk-ASA2UJDH.js";
7
7
 
8
8
  // src/lib/behavior-injection.ts
9
9
  import { appendFile } from "fs/promises";
@@ -349,7 +349,7 @@ async function injectBehaviors(opts) {
349
349
  `[behavior-injection] ${opts.assignedTo} <- ${selected.length}/${behaviors.length} behaviour(s) for "${opts.title.slice(0, 60)}": ` + selected.map((s) => `${s.behavior.id.slice(0, 8)}(${s.score.toFixed(2)})`).join(" ") + "\n"
350
350
  );
351
351
  await incrementSkillUsage(selected.map((s) => s.behavior));
352
- const { recordBehaviorsConsulted } = await import("./skill-usage-GNV737U5.js");
352
+ const { recordBehaviorsConsulted } = await import("./skill-usage-QOLIJQJC.js");
353
353
  await recordBehaviorsConsulted(selected.map((s) => s.behavior.id));
354
354
  return selected;
355
355
  } catch (err) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  processCRMEvent
3
- } from "./chunk-CLV7ALXV.js";
3
+ } from "./chunk-XDWIJBTY.js";
4
4
 
5
5
  // src/gateway/adapters/crm-webhook.ts
6
6
  function parseTwentyWebhook(payload) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getMasterKey
3
- } from "./chunk-KIJRAZWR.js";
3
+ } from "./chunk-IQCC6WFI.js";
4
4
  import {
5
5
  PRIVATE_DIR_MODE,
6
6
  PRIVATE_FILE_MODE,
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-3R7UDPVR.js";
4
4
  import {
5
5
  getDeviceInfo
6
- } from "./chunk-LDHJX4TZ.js";
6
+ } from "./chunk-XJDSTA2C.js";
7
7
  import {
8
8
  EXE_AI_DIR
9
9
  } from "./chunk-MMS2HBRT.js";
@@ -7,14 +7,14 @@ import {
7
7
  import {
8
8
  listBackups,
9
9
  preBackupCheckpoint
10
- } from "./chunk-YUAOQJVV.js";
10
+ } from "./chunk-E2346GKI.js";
11
11
  import {
12
12
  MEMORY_PROJECTION_OUTBOX_INDEX_SQL,
13
13
  MEMORY_PROJECTION_OUTBOX_TABLE_SQL,
14
14
  MEMORY_PROJECTION_OUTBOX_UNIQUE_INDEX_SQL,
15
15
  PROJECTION_CHECKPOINT_TABLE_SQL,
16
16
  ensureMemoryWriteIndex
17
- } from "./chunk-OE7TAEOG.js";
17
+ } from "./chunk-IXRYS5X3.js";
18
18
  import {
19
19
  recordDbOpen
20
20
  } from "./chunk-5YEUPUV4.js";
@@ -1515,7 +1515,7 @@ async function migrateReflectionDedup(client) {
1515
1515
  "ALTER TABLE memory_reflections ADD COLUMN dedup_key TEXT",
1516
1516
  "migration add memory_reflections.dedup_key"
1517
1517
  );
1518
- const { reflectionDedupKey } = await import("./memory-reflection-N6NSYW6S.js");
1518
+ const { reflectionDedupKey } = await import("./memory-reflection-DVAT4QKS.js");
1519
1519
  const keyForRow = (row) => {
1520
1520
  let sources = [];
1521
1521
  try {
@@ -2573,7 +2573,7 @@ async function sweepExpiredSoftDeletedMemories(client, options = {}) {
2573
2573
  const purgeArchived = archDays !== void 0;
2574
2574
  const BATCH_SIZE = 2e3;
2575
2575
  const MAX_BATCHES = 500;
2576
- const { cleanupCardsForMemories, cleanupGraphLinksForMemories } = await import("./graph-rag-GBA5E3QC.js");
2576
+ const { cleanupCardsForMemories, cleanupGraphLinksForMemories } = await import("./graph-rag-LH34CEGC.js");
2577
2577
  const softCutoff = `-${softDays} days`;
2578
2578
  const selectArgsBase = [softCutoff];
2579
2579
  let predicate = `status = 'deleted' AND COALESCE(deleted_at, timestamp) < datetime('now', ?)`;
@@ -5014,6 +5014,7 @@ export {
5014
5014
  recordTriggerFire,
5015
5015
  disposeTurso,
5016
5016
  disposeDatabase,
5017
+ IDENTITY_DIR,
5017
5018
  IdentityWriteError,
5018
5019
  identityPath,
5019
5020
  getIdentity,
@@ -4,21 +4,21 @@ import {
4
4
  assertUsableEpoch,
5
5
  deriveOrgKeyIdentities,
6
6
  describeEpochRemedy
7
- } from "./chunk-6RRPVE5O.js";
7
+ } from "./chunk-APKEGWFB.js";
8
8
  import {
9
9
  InviteError,
10
10
  resolveAuth,
11
11
  resolveEndpoint
12
- } from "./chunk-M4N7I2H5.js";
12
+ } from "./chunk-XC2KAJK4.js";
13
13
  import {
14
14
  asOrgBillablePlan
15
15
  } from "./chunk-W4H2MZAS.js";
16
16
  import {
17
17
  orgKeyFingerprintDisplay
18
- } from "./chunk-XFGS22VE.js";
18
+ } from "./chunk-XBCIRNNU.js";
19
19
  import {
20
20
  ed25519PrivateKeyFromSeed
21
- } from "./chunk-GPWXUU3L.js";
21
+ } from "./chunk-OUUNFTS4.js";
22
22
 
23
23
  // src/lib/org-key-admin.ts
24
24
  import { sign } from "crypto";
@@ -19,7 +19,7 @@ import {
19
19
  } from "./chunk-RT57D7C4.js";
20
20
  import {
21
21
  loadLicense
22
- } from "./chunk-DIKLSAJE.js";
22
+ } from "./chunk-KNEEOZWN.js";
23
23
 
24
24
  // src/lib/stack-update.ts
25
25
  import { execFileSync, spawnSync as spawnSync2 } from "child_process";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-3MDUKF3N.js";
3
+ } from "./chunk-LBEBSXZA.js";
4
4
  import {
5
5
  loadConfig
6
6
  } from "./chunk-MMS2HBRT.js";
@@ -132,7 +132,7 @@ async function verifyOrBlock(hookPath) {
132
132
  process.stderr.write(`[SECURITY] Hook tamper detected: ${filename} \u2014 ${result.reason}
133
133
  `);
134
134
  try {
135
- const { pushNotifyAsync } = await import("./push-notifications-YVOP4KGN.js");
135
+ const { pushNotifyAsync } = await import("./push-notifications-W3UNHDC5.js");
136
136
  pushNotifyAsync({
137
137
  event: "security_alert",
138
138
  title: "Hook tamper detected",
@@ -2,10 +2,10 @@ import {
2
2
  BUSY_PATTERN,
3
3
  sendIntercom,
4
4
  updateTaskStatus
5
- } from "./chunk-XAGIZVYI.js";
5
+ } from "./chunk-WSYIQKZ6.js";
6
6
  import {
7
7
  recordOrchestrationEventBestEffort
8
- } from "./chunk-SA66WRBT.js";
8
+ } from "./chunk-WLV27PAO.js";
9
9
  import {
10
10
  hasPassed
11
11
  } from "./chunk-YRUZK2QA.js";
@@ -13,7 +13,7 @@ import {
13
13
  baseAgentName,
14
14
  getCoordinatorName,
15
15
  isCoordinatorName
16
- } from "./chunk-3MDUKF3N.js";
16
+ } from "./chunk-LBEBSXZA.js";
17
17
  import {
18
18
  isAutonomousTmuxSpawnEnabled
19
19
  } from "./chunk-MMS2HBRT.js";
@@ -338,7 +338,7 @@ async function surfaceStaleDispatchPendingSignals(scopeList, now, thresholdMs =
338
338
  const sessionScope = signalScope ?? (scopeList.length === 1 ? scopeList[0] : null);
339
339
  if (allowedScopes.size > 0 && sessionScope && !allowedScopes.has(sessionScope)) continue;
340
340
  try {
341
- const { writeNotification } = await import("./notifications-T5C2CVB3.js");
341
+ const { writeNotification } = await import("./notifications-75FVPJLY.js");
342
342
  await writeNotification({
343
343
  agentId: getCoordinatorName(),
344
344
  agentRole: "COO",
@@ -4,14 +4,14 @@ import {
4
4
  } from "./chunk-ZD5TZZXU.js";
5
5
  import {
6
6
  vectorToSqlLiteral
7
- } from "./chunk-APVU4Q5B.js";
7
+ } from "./chunk-X2EBM5BQ.js";
8
8
  import {
9
9
  blobToVector
10
10
  } from "./chunk-OTVEIJUQ.js";
11
11
  import {
12
12
  getClient,
13
13
  sanitizeBehaviorContent
14
- } from "./chunk-3MDUKF3N.js";
14
+ } from "./chunk-LBEBSXZA.js";
15
15
 
16
16
  // src/lib/behaviors.ts
17
17
  import crypto from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  canonicalizeStackManifest
3
- } from "./chunk-3AL2LO3L.js";
3
+ } from "./chunk-LZS2B2JT.js";
4
4
 
5
5
  // src/lib/stack-manifest-write.ts
6
6
  import { readFileSync, statSync, writeFileSync } from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getMasterKey
3
- } from "./chunk-KIJRAZWR.js";
3
+ } from "./chunk-IQCC6WFI.js";
4
4
 
5
5
  // src/lib/partner-sign-identity.ts
6
6
  import crypto from "crypto";
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  isPaneBusy
3
- } from "./chunk-KPLMY2GT.js";
3
+ } from "./chunk-NUEDA2US.js";
4
4
  import {
5
5
  recordSessionKill
6
- } from "./chunk-HFSFWMID.js";
6
+ } from "./chunk-AEOB4JCJ.js";
7
7
  import {
8
8
  buildMergedPrCache,
9
9
  getBranchLandedState
10
- } from "./chunk-PZDAPIQL.js";
10
+ } from "./chunk-XJQGS4IM.js";
11
11
  import {
12
12
  updateTask
13
- } from "./chunk-IPBNHPTE.js";
13
+ } from "./chunk-BIHPY7JW.js";
14
14
  import {
15
15
  BUSY_PATTERN,
16
16
  countPendingReviews,
@@ -29,14 +29,14 @@ import {
29
29
  sessionScopeFilter,
30
30
  strictSessionScopeFilter,
31
31
  writeNotification
32
- } from "./chunk-XAGIZVYI.js";
32
+ } from "./chunk-WSYIQKZ6.js";
33
33
  import {
34
34
  LEASE_MINUTES,
35
35
  isLeaseExpired
36
36
  } from "./chunk-E23LNUWJ.js";
37
37
  import {
38
38
  listSessions
39
- } from "./chunk-HFXBL7XE.js";
39
+ } from "./chunk-6T5RC3L4.js";
40
40
  import {
41
41
  getTransport
42
42
  } from "./chunk-VI4ATC6I.js";
@@ -51,7 +51,7 @@ import {
51
51
  } from "./chunk-6L4VIYLZ.js";
52
52
  import {
53
53
  recordOrchestrationEventBestEffort
54
- } from "./chunk-SA66WRBT.js";
54
+ } from "./chunk-WLV27PAO.js";
55
55
  import {
56
56
  checkDispatchStatus,
57
57
  readTerminalLauncherFailure,
@@ -79,7 +79,7 @@ import {
79
79
  getCoordinatorName,
80
80
  isCoordinatorName,
81
81
  shouldAutoInstance
82
- } from "./chunk-3MDUKF3N.js";
82
+ } from "./chunk-LBEBSXZA.js";
83
83
  import {
84
84
  eventLoopBlockedMarkerPath
85
85
  } from "./chunk-ZQEJ4IX2.js";
@@ -3822,7 +3822,7 @@ function createMergedPrCacheMemo(lookup = buildMergedPrCache) {
3822
3822
  }
3823
3823
  async function createWorktreeReaperRealDeps() {
3824
3824
  const { getPaneCwdAsync } = await import("./lib/tmux-status.js");
3825
- const { getGitRootAsync, isWorktreeDirtyAsync, GIT_CRYPT_SMUDGE_BYPASS_ARGS } = await import("./worktree-XWVNDBRD.js");
3825
+ const { getGitRootAsync, isWorktreeDirtyAsync, GIT_CRYPT_SMUDGE_BYPASS_ARGS } = await import("./worktree-GS4ODQ4C.js");
3826
3826
  const { statSync: statSync3 } = await import("fs");
3827
3827
  const { basename: basename2 } = await import("path");
3828
3828
  const { promisify: promisify2 } = await import("util");
@@ -4070,7 +4070,7 @@ function shouldNotifyTaskGroupViaIntercom(executionMode) {
4070
4070
  }
4071
4071
  async function pollTaskGroupBarriers() {
4072
4072
  try {
4073
- const { checkAndFireBarriers } = await import("./tasks-crud-2GHKIZOM.js");
4073
+ const { checkAndFireBarriers } = await import("./tasks-crud-MB7WXGPW.js");
4074
4074
  const firedGroupIds = await checkAndFireBarriers();
4075
4075
  if (firedGroupIds.length === 0) return 0;
4076
4076
  const { getClient } = await import("./lib/database.js");
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  MultiAgentOrchestrator
3
- } from "./chunk-SGR4ZQAV.js";
3
+ } from "./chunk-T7W75LII.js";
4
4
  import {
5
5
  createTokenBudgetMiddleware
6
- } from "./chunk-6JLVCMKH.js";
6
+ } from "./chunk-2LJ2GZEE.js";
7
7
  import {
8
8
  createQuietRenderer,
9
9
  createTerminalRenderer,
@@ -212,7 +212,7 @@ function createExeOSHooks(config) {
212
212
  );
213
213
  }
214
214
  try {
215
- const { listBehaviors } = await import("./behaviors-7AOK44QK.js");
215
+ const { listBehaviors } = await import("./behaviors-RUNSC5WI.js");
216
216
  const behaviors = await listBehaviors(config.agentId, config.projectName, 12);
217
217
  if (behaviors.length > 0) {
218
218
  process.stderr.write(
@@ -250,7 +250,7 @@ function createExeOSHooks(config) {
250
250
  const ALLOWED_RE = /^(Bash|Edit|Write|Read|Glob|Grep|Agent|mcp__.*)$/;
251
251
  if (!ALLOWED_RE.test(toolName)) return;
252
252
  try {
253
- const { extractSemanticText } = await import("./content-extractor-OVD7PTSN.js");
253
+ const { extractSemanticText } = await import("./content-extractor-GWF2T7FK.js");
254
254
  const { writeMemory } = await import("./lib/store.js");
255
255
  const toolInput = block.input ?? {};
256
256
  const toolResponse = result.isError ? { error: result.content } : { output: result.content };
@@ -333,7 +333,7 @@ function createExeOSHooks(config) {
333
333
  async onSubagentStop(_reason) {
334
334
  try {
335
335
  const { getClient } = await import("./lib/database.js");
336
- const { sessionScopeFilter } = await import("./task-scope-AMR3Z3DJ.js");
336
+ const { sessionScopeFilter } = await import("./task-scope-4EKZBTTM.js");
337
337
  const client = getClient();
338
338
  const ehScope = sessionScopeFilter();
339
339
  const tasks = await client.execute({
@@ -373,7 +373,7 @@ function createExeOSHooks(config) {
373
373
  setAt: (/* @__PURE__ */ new Date()).toISOString()
374
374
  });
375
375
  try {
376
- const { writeNotification } = await import("./notifications-T5C2CVB3.js");
376
+ const { writeNotification } = await import("./notifications-75FVPJLY.js");
377
377
  await writeNotification({
378
378
  agentId: config.agentId,
379
379
  agentRole: "employee",
@@ -444,7 +444,7 @@ function createExeOSHooks(config) {
444
444
  try {
445
445
  const { writeMemory, flushBatch } = await import("./lib/store.js");
446
446
  const { getClient } = await import("./lib/database.js");
447
- const { sessionScopeFilter: cpScopeFilter } = await import("./task-scope-AMR3Z3DJ.js");
447
+ const { sessionScopeFilter: cpScopeFilter } = await import("./task-scope-4EKZBTTM.js");
448
448
  const client = getClient();
449
449
  const cpScope = cpScopeFilter();
450
450
  const tasks = await client.execute({
@@ -212,7 +212,7 @@ async function main(args) {
212
212
  console.log("[health-gate] Starting rollback...");
213
213
  restorePreDeployBackup();
214
214
  try {
215
- const { rollbackStackUpdate, defaultStackPaths } = await import("./stack-update-C5YKHE7A.js");
215
+ const { rollbackStackUpdate, defaultStackPaths } = await import("./stack-update-7ET7S3ED.js");
216
216
  const paths = defaultStackPaths();
217
217
  await rollbackStackUpdate({
218
218
  manifestRef: paths.manifestRef,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isCrdtSyncEnabled
3
- } from "./chunk-BPBEJD7U.js";
3
+ } from "./chunk-B55U5BKF.js";
4
4
  import {
5
5
  compress,
6
6
  decompress
@@ -8,14 +8,14 @@ import {
8
8
  import {
9
9
  orgMembershipsPath,
10
10
  orgModeActive
11
- } from "./chunk-K7DAE2HO.js";
11
+ } from "./chunk-FOZSHNET.js";
12
12
  import {
13
13
  activeRecipientPubKeys,
14
14
  grantsPath,
15
15
  isGrantsMacPrimed,
16
16
  primeGrantsMacKey,
17
17
  warnActiveMonitoringOnce
18
- } from "./chunk-TCV3WA5I.js";
18
+ } from "./chunk-3WNDI5KT.js";
19
19
  import {
20
20
  assertGateAndGrantsColocated
21
21
  } from "./chunk-NPXIS2RY.js";
@@ -25,7 +25,7 @@ import {
25
25
  import {
26
26
  GHOST_BEHAVIOR_SQL,
27
27
  isGhostBehaviorRow
28
- } from "./chunk-F5ZRHLG5.js";
28
+ } from "./chunk-NYV4A5IG.js";
29
29
  import {
30
30
  isTransientDaemonTransportError,
31
31
  retryOnDaemonTransportError
@@ -36,17 +36,17 @@ import {
36
36
  encryptSyncBlob,
37
37
  initSyncCrypto,
38
38
  isSyncCryptoInitialized
39
- } from "./chunk-OFT5KSBM.js";
39
+ } from "./chunk-54Q7M2AG.js";
40
40
  import {
41
41
  getClient,
42
42
  isGenuineCorruptionError,
43
43
  loadEmployees,
44
44
  registerBinSymlinks,
45
45
  saveEmployees
46
- } from "./chunk-3MDUKF3N.js";
46
+ } from "./chunk-LBEBSXZA.js";
47
47
  import {
48
48
  loadDeviceId
49
- } from "./chunk-DIKLSAJE.js";
49
+ } from "./chunk-KNEEOZWN.js";
50
50
  import {
51
51
  EXE_AI_DIR
52
52
  } from "./chunk-MMS2HBRT.js";
@@ -69,13 +69,23 @@ var _monitoredWriter = null;
69
69
  var _resolved = null;
70
70
  var _founderModuleLinked = false;
71
71
  var _lastSealOrgMode = null;
72
+ var _writerLink = null;
73
+ function linkMonitoredWriter() {
74
+ if (_monitoredWriter) return Promise.resolve();
75
+ if (!_writerLink) {
76
+ _writerLink = import("./founder-monitor-envelope-HMPPUBUT.js").then((mod) => {
77
+ _monitoredWriter = mod.encryptMonitoredSyncBlob;
78
+ _founderModuleLinked = true;
79
+ }).catch((err) => {
80
+ _writerLink = null;
81
+ throw err;
82
+ });
83
+ }
84
+ return _writerLink;
85
+ }
72
86
  async function getSyncCipher() {
73
87
  if (_resolved) return _resolved;
74
- if (!orgModeActive()) {
75
- const mod = await import("./founder-monitor-envelope-TLOC4UYG.js");
76
- _monitoredWriter = mod.encryptMonitoredSyncBlob;
77
- _founderModuleLinked = true;
78
- }
88
+ if (!orgModeActive()) await linkMonitoredWriter();
79
89
  _resolved = {
80
90
  seal: (data, context) => {
81
91
  assertGateAndGrantsColocated(orgMembershipsPath(), grantsPath());
@@ -86,8 +96,10 @@ async function getSyncCipher() {
86
96
  if (recipients.length === 0) return encryptSyncBlob(data, context);
87
97
  if (!_monitoredWriter) {
88
98
  process.stderr.write(
89
- "[exe-os] \u26A0 monitoring grants are active but the monitor writer is not linked in this process \u2014 emitting a device-only (v=1) blob. Restart exe-os to enable monitoring.\n"
99
+ "[exe-os] \u26A0 monitoring grants are active but the monitor writer is not linked in this process \u2014 emitting a device-only (v=1) blob for this record and linking the writer now; subsequent records will be monitored.\n"
90
100
  );
101
+ void linkMonitoredWriter().catch(() => {
102
+ });
91
103
  return encryptSyncBlob(data, context);
92
104
  }
93
105
  warnActiveMonitoringOnce(recipients);
@@ -1283,7 +1295,7 @@ async function cloudSync(config, options) {
1283
1295
  })
1284
1296
  };
1285
1297
  if (shouldUseCrdtMergeForCloudSync()) {
1286
- const { initCrdtDoc, importExistingMemories, readAllMemories } = await import("./crdt-sync-IX43KVQ3.js");
1298
+ const { initCrdtDoc, importExistingMemories, readAllMemories } = await import("./crdt-sync-Z62SWOKD.js");
1287
1299
  initCrdtDoc();
1288
1300
  importExistingMemories(
1289
1301
  pullResult.records.map((rec) => ({
@@ -1844,7 +1856,7 @@ async function cloudSync(config, options) {
1844
1856
  const artifactResult = { pushed: 0, frozen: false, remaining: 0 };
1845
1857
  if (!shouldSkip("artifacts")) {
1846
1858
  try {
1847
- const { flushArtifactBackups } = await import("./artifact-backup-6O4FNYPS.js");
1859
+ const { flushArtifactBackups } = await import("./artifact-backup-STQQZDZ5.js");
1848
1860
  const flushed = await flushArtifactBackups(cloudArtifactTransport(config));
1849
1861
  artifactResult.pushed = flushed.pushed;
1850
1862
  artifactResult.frozen = flushed.frozen;