@askexenow/exe-os 0.9.382 → 0.9.384

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 (493) hide show
  1. package/delivery/catalog.json +1254 -0
  2. package/deploy/compose/.env.customer.example +5 -5
  3. package/deploy/compose/.env.example +3 -3
  4. package/deploy/compose/docker-compose.yml +1 -1
  5. package/deploy/compose/generate-env.ts +65 -9
  6. package/deploy/compose/setup.sh +205 -7
  7. package/deploy/compose/sso-edge/default.conf.template +45 -0
  8. package/deploy/compose/sso-edge/sso-redirect.conf +11 -2
  9. package/deploy/stack-manifests/v0.9.30-apps.json +1 -1
  10. package/deploy/stack-manifests/v0.9.json +254 -2
  11. package/dist/.dist-verified.json +3 -3
  12. package/dist/{active-agent-GFUUCFLD.js → active-agent-F5V4E4UL.js} +7 -7
  13. package/dist/{active-agent-LE6FE6SO.js → active-agent-YTBB4ZQM.js} +7 -7
  14. package/dist/{agent-defs-generator-EIUA3SH5.js → agent-defs-generator-7TFISIJQ.js} +6 -6
  15. package/dist/{agent-loop-7ZRH56EX.js → agent-loop-EZ7LDAGD.js} +1 -1
  16. package/dist/{agentic-ontology-67JGSP7G.js → agentic-ontology-XVTUVV7W.js} +1 -1
  17. package/dist/{artifact-backup-NYXAYASJ.js → artifact-backup-TF6YWQT2.js} +5 -5
  18. package/dist/{backfill-gate-KWJQ35YX.js → backfill-gate-FWYLCGNJ.js} +3 -3
  19. package/dist/{backfill-metadata-RQYG2WUJ.js → backfill-metadata-J6MXIDCW.js} +10 -10
  20. package/dist/{background-jobs-6VMD55PK.js → background-jobs-V3DZRFKU.js} +3 -3
  21. package/dist/{backup-verify-HC4YDSGN.js → backup-verify-6DVBQMDP.js} +67 -18
  22. package/dist/{behavior-injection-6HSXP43Q.js → behavior-injection-XDA7ZCYN.js} +21 -20
  23. package/dist/{behavior-promotion-SJDQ2Y3U.js → behavior-promotion-4VLQ7LXK.js} +20 -19
  24. package/dist/{behaviors-6ITLA2CK.js → behaviors-SCCZP7RZ.js} +19 -18
  25. package/dist/bin/age-ontology-load.js +3 -3
  26. package/dist/bin/agentic-ontology-backfill.js +12 -12
  27. package/dist/bin/agentic-reflection-backfill.js +13 -13
  28. package/dist/bin/agentic-semantic-label.js +12 -12
  29. package/dist/bin/backfill-conversations.js +17 -16
  30. package/dist/bin/backfill-responses.js +17 -16
  31. package/dist/bin/backfill-vectors.js +23 -22
  32. package/dist/bin/bulk-sync-postgres.js +28 -27
  33. package/dist/bin/cc-doctor.js +17 -16
  34. package/dist/bin/cleanup-stale-review-tasks.js +29 -28
  35. package/dist/bin/cli.js +35 -26
  36. package/dist/bin/deferred-daemon-restart.js +124 -123
  37. package/dist/bin/exe-actions.js +1 -1
  38. package/dist/bin/exe-agent-config.js +6 -6
  39. package/dist/bin/exe-agent.js +22 -22
  40. package/dist/bin/exe-assign.js +19 -18
  41. package/dist/bin/exe-boot.js +57 -56
  42. package/dist/bin/exe-call.js +7 -7
  43. package/dist/bin/exe-cicd.js +38 -8
  44. package/dist/bin/exe-cloud.js +30 -29
  45. package/dist/bin/exe-config-dump.js +6 -6
  46. package/dist/bin/exe-dispatch.js +30 -29
  47. package/dist/bin/exe-doctor.js +11 -11
  48. package/dist/bin/exe-export-behaviors.js +23 -22
  49. package/dist/bin/exe-forget.js +13 -13
  50. package/dist/bin/exe-gateway.js +47 -14
  51. package/dist/bin/exe-grant.js +6 -6
  52. package/dist/bin/exe-healthcheck.js +17 -16
  53. package/dist/bin/exe-heartbeat.js +41 -35
  54. package/dist/bin/exe-kill.js +35 -34
  55. package/dist/bin/exe-launch-agent.js +43 -42
  56. package/dist/bin/exe-mcp.js +9 -9
  57. package/dist/bin/exe-memory-reads.js +10 -10
  58. package/dist/bin/exe-new-employee.js +11 -11
  59. package/dist/bin/exe-os-mcp-proxy.js +9 -9
  60. package/dist/bin/exe-pending-messages.js +30 -29
  61. package/dist/bin/exe-pending-notifications.js +29 -28
  62. package/dist/bin/exe-pending-reviews.js +30 -29
  63. package/dist/bin/exe-preflight.js +1 -1
  64. package/dist/bin/exe-rename.js +9 -9
  65. package/dist/bin/exe-review.js +34 -33
  66. package/dist/bin/exe-search.js +12 -12
  67. package/dist/bin/exe-session-cleanup.js +35 -34
  68. package/dist/bin/exe-settings.js +29 -28
  69. package/dist/bin/exe-start-codex.js +30 -29
  70. package/dist/bin/exe-start-opencode.js +27 -26
  71. package/dist/bin/exe-status.js +31 -30
  72. package/dist/bin/exe-support.js +5 -5
  73. package/dist/bin/exe-team.js +7 -7
  74. package/dist/bin/exe-verify-running-images.js +1 -1
  75. package/dist/bin/exe-watchdog.js +8 -8
  76. package/dist/bin/generate-hook-manifest.js +7 -1
  77. package/dist/bin/git-sweep.js +30 -29
  78. package/dist/bin/graph-backfill.js +12 -12
  79. package/dist/bin/graph-export.js +11 -11
  80. package/dist/bin/hooks-cli.js +1 -1
  81. package/dist/bin/import-history.js +15 -15
  82. package/dist/bin/install.js +130 -129
  83. package/dist/bin/intercom-check.js +11 -7
  84. package/dist/bin/mcp-sessions.js +2 -2
  85. package/dist/bin/orchestration-metrics.js +7 -7
  86. package/dist/bin/postgres-agentic-reflection-backfill.js +5 -5
  87. package/dist/bin/postgres-agentic-semantic-backfill.js +4 -4
  88. package/dist/bin/reconcile-backlog.js +2 -2
  89. package/dist/bin/registry-proxy.js +1 -1
  90. package/dist/bin/repair-document-chunks.js +161 -0
  91. package/dist/bin/scan-tasks.js +30 -29
  92. package/dist/bin/setup.js +5 -5
  93. package/dist/bin/shard-migrate.js +11 -11
  94. package/dist/bin/stack-update.js +625 -33
  95. package/dist/bin/update.js +96 -22
  96. package/dist/bin/verify-stack.js +2 -2
  97. package/dist/bin/vps-health-gate.js +1 -1
  98. package/dist/{boot-generation-L55QANCX.js → boot-generation-Q7LGQ3AO.js} +6 -6
  99. package/dist/{boot-review-sections-AON5ZCR2.js → boot-review-sections-G5774FR5.js} +28 -27
  100. package/dist/{branch-hygiene-QLD77IMJ.js → branch-hygiene-44WLSOZR.js} +2 -2
  101. package/dist/{branding-I6KIMB7F.js → branding-KMWCY5HZ.js} +3 -3
  102. package/dist/build-manifest.json +1259 -1219
  103. package/dist/{capability-cards-WTOXY7O6.js → capability-cards-I3RHCF4F.js} +5 -5
  104. package/dist/{capacity-monitor-ZLG7FSWM.js → capacity-monitor-7I7GDONU.js} +30 -29
  105. package/dist/{catchup-brief-QHY7D7N2.js → catchup-brief-3T5PARIR.js} +39 -36
  106. package/dist/check-image-pullability-2AIVB4BX.js +338 -0
  107. package/dist/{chunk-CTCCYKOV.js → chunk-2FKU4ZEO.js} +55 -29
  108. package/dist/{chunk-M7O7TGGU.js → chunk-2NW4LRDU.js} +1 -1
  109. package/dist/{chunk-XTFM4KMW.js → chunk-2PZTMSMG.js} +6 -6
  110. package/dist/{chunk-UWX6MMCX.js → chunk-3B6FLNLV.js} +1 -1
  111. package/dist/{chunk-GPJIBLP4.js → chunk-3DAEZILW.js} +1 -1
  112. package/dist/{chunk-NY6SBR4O.js → chunk-3FGBBJYM.js} +15 -3
  113. package/dist/{chunk-C4OZVVSG.js → chunk-3OX34OC3.js} +50 -18
  114. package/dist/{chunk-TXTXC3QG.js → chunk-3RGTLZNO.js} +12 -12
  115. package/dist/{chunk-PYRO25A5.js → chunk-3SUPEE6H.js} +10 -11
  116. package/dist/{chunk-PPMGQFLJ.js → chunk-3XY57PKT.js} +2 -2
  117. package/dist/{chunk-CRHI5QTZ.js → chunk-46VSBDUW.js} +2 -2
  118. package/dist/{chunk-VZT66WWP.js → chunk-4AAMFWJT.js} +2 -2
  119. package/dist/{chunk-4GZTBLJG.js → chunk-4AR5XKCH.js} +1 -1
  120. package/dist/{chunk-IHXW4VUI.js → chunk-5IADGFGR.js} +1 -1
  121. package/dist/{chunk-GLQEJOXE.js → chunk-5MVKTNZP.js} +57 -0
  122. package/dist/{chunk-AVMLC2MR.js → chunk-5U2IJBFV.js} +290 -41
  123. package/dist/{chunk-JUKDL5MF.js → chunk-6BJCDWSM.js} +1 -1
  124. package/dist/{chunk-6WWNK7UX.js → chunk-6FIC57PH.js} +1 -1
  125. package/dist/{chunk-ASUICGPX.js → chunk-6YDY6ZTD.js} +4 -4
  126. package/dist/{chunk-FU5O2REK.js → chunk-72V3S44T.js} +108 -29
  127. package/dist/{chunk-LTIIZHNA.js → chunk-7J2ZQ4XN.js} +1 -1
  128. package/dist/{chunk-7RI2CNXJ.js → chunk-7OTR2OET.js} +1 -1
  129. package/dist/{chunk-ZVBVPX4W.js → chunk-7UHZBVP3.js} +82 -51
  130. package/dist/{chunk-PTY2N23C.js → chunk-AGC2V7JS.js} +26 -13
  131. package/dist/{chunk-44VR3PFW.js → chunk-AHESD3KW.js} +1 -1
  132. package/dist/{chunk-NPGV4MZ3.js → chunk-ALRHGEAJ.js} +1 -1
  133. package/dist/{chunk-WJC6AAJN.js → chunk-ANVHWV2X.js} +2 -2
  134. package/dist/{chunk-AGZSGAEN.js → chunk-APL7HUE3.js} +105 -32
  135. package/dist/{chunk-7UH2JWBF.js → chunk-AZSTIAVL.js} +176 -11
  136. package/dist/chunk-AZXMR25O.js +545 -0
  137. package/dist/{chunk-WPWEBZ37.js → chunk-B7AMNZTC.js} +2 -2
  138. package/dist/{chunk-4CF5KUWH.js → chunk-BPVFZ6Q4.js} +3 -3
  139. package/dist/{chunk-XTQ7R2PA.js → chunk-BV2IET6B.js} +73 -17
  140. package/dist/{chunk-4F5CNI65.js → chunk-C5ISP5FO.js} +2 -2
  141. package/dist/{chunk-NPWNXJ3U.js → chunk-CH7BUBP3.js} +7 -7
  142. package/dist/{chunk-X5Q66EOG.js → chunk-CHIUS5QB.js} +16 -16
  143. package/dist/{chunk-ZG62LIK3.js → chunk-CIPDQRFO.js} +1 -1
  144. package/dist/{chunk-4PYIRIU6.js → chunk-CM7N5MBY.js} +5 -5
  145. package/dist/{chunk-L5YDAFUH.js → chunk-CYCIX7AW.js} +5 -5
  146. package/dist/{chunk-76YRJKKF.js → chunk-D3LXVAIQ.js} +28 -16
  147. package/dist/{chunk-2GNAHBRD.js → chunk-DMUOTCDN.js} +1 -1
  148. package/dist/{chunk-QMUFSRQX.js → chunk-DN3ZR3UE.js} +1 -1
  149. package/dist/{chunk-V3WLC5TJ.js → chunk-DRTJCG6B.js} +1 -1
  150. package/dist/{chunk-275WHBEN.js → chunk-DYVLEMKS.js} +1 -1
  151. package/dist/{chunk-O34F5EP5.js → chunk-DZN7SDY2.js} +1 -1
  152. package/dist/{chunk-ZDIXMHY7.js → chunk-E3ZM32LF.js} +8 -8
  153. package/dist/{chunk-N2HXR5MB.js → chunk-E7C2WNR5.js} +4 -4
  154. package/dist/{chunk-VVGXWVZU.js → chunk-EGOEB42T.js} +3 -3
  155. package/dist/{chunk-QV5CQLQH.js → chunk-EIOGV75A.js} +2 -2
  156. package/dist/{chunk-ZY4IGUOS.js → chunk-ELCRJGCH.js} +3 -3
  157. package/dist/{chunk-5QCIWWFA.js → chunk-ELEGH4DX.js} +130 -14
  158. package/dist/{chunk-S7CTCPSW.js → chunk-EOTZSAQL.js} +1 -1
  159. package/dist/{chunk-PPLQ4ECD.js → chunk-EUGEFBGV.js} +3 -3
  160. package/dist/{chunk-UFNCL6MS.js → chunk-EYMFVITZ.js} +1 -1
  161. package/dist/{chunk-F6H7GP2O.js → chunk-F4BBMIPG.js} +3 -3
  162. package/dist/{chunk-FNEZ4BWT.js → chunk-FEU6QEEL.js} +1 -1
  163. package/dist/{chunk-JKOC2L6P.js → chunk-FHIFTSPL.js} +1 -1
  164. package/dist/{chunk-4RTKETV3.js → chunk-FMIYFHLE.js} +3 -3
  165. package/dist/{chunk-TK544DEW.js → chunk-FVLNNNH6.js} +3 -3
  166. package/dist/{chunk-AY2U4NZ5.js → chunk-GL47M7NY.js} +85 -17
  167. package/dist/{chunk-DN24VTS5.js → chunk-GSLFH4AI.js} +25 -13
  168. package/dist/{chunk-CHO5SNWR.js → chunk-HA63SH5W.js} +1 -1
  169. package/dist/{chunk-4IK2K3B3.js → chunk-HME6ITKV.js} +1 -1
  170. package/dist/{chunk-H2T6TFJZ.js → chunk-HU3VD4MQ.js} +2 -2
  171. package/dist/{chunk-ZW32RI66.js → chunk-I5XIW2BP.js} +49 -11
  172. package/dist/{chunk-3CL2I3RG.js → chunk-IGJMS7C5.js} +2 -2
  173. package/dist/{chunk-BRPO6GOH.js → chunk-JA3Y5TV6.js} +2 -2
  174. package/dist/{chunk-SFFXAPYK.js → chunk-JDDM6C57.js} +1 -1
  175. package/dist/{chunk-W4EGAQXW.js → chunk-JFJP6ATJ.js} +2 -2
  176. package/dist/{chunk-ENCUOZXX.js → chunk-JFTUAV4J.js} +1 -1
  177. package/dist/{chunk-3UOQH2DJ.js → chunk-JJTPPAZY.js} +2568 -345
  178. package/dist/{chunk-A6QBAUJH.js → chunk-KILR4FBR.js} +4 -4
  179. package/dist/{chunk-CGFGNHSP.js → chunk-KTKIFXIP.js} +1 -1
  180. package/dist/{chunk-NCJBPXGM.js → chunk-KXYKSLW4.js} +108 -24
  181. package/dist/{chunk-3MUARHPO.js → chunk-L3VUW5M4.js} +1 -1
  182. package/dist/{chunk-GZOG2MAX.js → chunk-L5EPGGDP.js} +1 -1
  183. package/dist/{chunk-T7VSKWES.js → chunk-L63V25HS.js} +6 -5
  184. package/dist/{chunk-R4VNGRKU.js → chunk-LFBLQE2P.js} +1 -1
  185. package/dist/{chunk-W5MCOZTW.js → chunk-LFUBEHFW.js} +12 -2
  186. package/dist/{chunk-AIBIEP4R.js → chunk-LKTN22L6.js} +61 -25
  187. package/dist/{chunk-3KFQCFQB.js → chunk-LR5O2XWZ.js} +5 -5
  188. package/dist/{chunk-VUOAPKPI.js → chunk-LSNBTGW4.js} +1 -1
  189. package/dist/{chunk-P5U3GAWU.js → chunk-MB47DRF5.js} +2 -2
  190. package/dist/{chunk-HZESME3B.js → chunk-MC4IM2CC.js} +16 -13
  191. package/dist/{chunk-ZKJ5S23O.js → chunk-MFAOAIUE.js} +12 -9
  192. package/dist/{chunk-62J64CHO.js → chunk-MKM6D7JM.js} +26 -7
  193. package/dist/{chunk-ZIG7VPJV.js → chunk-MMS2HBRT.js} +15 -3
  194. package/dist/{chunk-FHSV4BSW.js → chunk-MOANZQXF.js} +12 -4
  195. package/dist/{chunk-RTZZBWQC.js → chunk-MPZ2AVNS.js} +16 -5
  196. package/dist/{chunk-AZ6KLVDX.js → chunk-MROSARM5.js} +2 -2
  197. package/dist/{chunk-RV2FFCDS.js → chunk-MUAWCFW6.js} +6 -2
  198. package/dist/{chunk-K4ESASPL.js → chunk-MUCNYSJP.js} +1 -1
  199. package/dist/{chunk-5QGKMP6T.js → chunk-NF5FOSLD.js} +1 -1
  200. package/dist/{chunk-CKOJP7JI.js → chunk-NKEFYE4R.js} +2 -2
  201. package/dist/{chunk-3SXHEQ7X.js → chunk-NPXIS2RY.js} +1 -1
  202. package/dist/{chunk-A5USSF66.js → chunk-NVFNADTX.js} +12 -8
  203. package/dist/{chunk-VVUO3RJS.js → chunk-NYLJQ2M2.js} +4 -4
  204. package/dist/{chunk-HIVOLPLD.js → chunk-OAFENIHN.js} +1 -1
  205. package/dist/{chunk-PMZHZQ6K.js → chunk-OBBO6EJR.js} +1 -1
  206. package/dist/{chunk-SS6EMDLL.js → chunk-P2UY34XE.js} +6 -6
  207. package/dist/{chunk-Y4T5IUEP.js → chunk-P3QQ52QK.js} +2 -2
  208. package/dist/{chunk-GGEKMY6G.js → chunk-P3UX5EH4.js} +4 -4
  209. package/dist/{chunk-F7IRZU5G.js → chunk-P4PIZOL2.js} +3 -3
  210. package/dist/{chunk-GEPFKUUR.js → chunk-P4XLIPB7.js} +1 -1
  211. package/dist/{chunk-GPUOUUHA.js → chunk-PCV52RYM.js} +1 -1
  212. package/dist/{chunk-XR3773KZ.js → chunk-PL4CFSQ7.js} +1 -1
  213. package/dist/{chunk-LLZNPOGB.js → chunk-PLII76NJ.js} +58 -0
  214. package/dist/{chunk-FT5PPV2C.js → chunk-PRDDPQLC.js} +5 -5
  215. package/dist/{chunk-BZ546I4Q.js → chunk-PUBA5B4M.js} +24 -0
  216. package/dist/{chunk-2TGJ5XCV.js → chunk-PWC3C5ME.js} +4 -4
  217. package/dist/{chunk-A4YCLD3L.js → chunk-QFAFKEB5.js} +40 -4
  218. package/dist/{chunk-CL4J4757.js → chunk-QH5ZQ5SJ.js} +26 -0
  219. package/dist/{chunk-UJWZYK46.js → chunk-QNZ4562V.js} +1 -1
  220. package/dist/{chunk-IPHLUZ37.js → chunk-QPTSA4PP.js} +2 -2
  221. package/dist/{chunk-O3YJTHWI.js → chunk-R5E7WNAC.js} +3 -3
  222. package/dist/{chunk-V3M4LJRA.js → chunk-RB3J2WYQ.js} +1 -1
  223. package/dist/{chunk-IUCWOI4Y.js → chunk-RDWIKDMY.js} +237 -11
  224. package/dist/{chunk-ENN6DY4T.js → chunk-RVO5O5SR.js} +46 -21
  225. package/dist/{chunk-LY4AXCYJ.js → chunk-RZN2LEAK.js} +6 -6
  226. package/dist/{chunk-2YIB75UQ.js → chunk-S26CV7BE.js} +57 -13
  227. package/dist/{chunk-XC36HYP6.js → chunk-SDYWZRPN.js} +1 -1
  228. package/dist/{chunk-PHBU4LGO.js → chunk-SNHYZYGZ.js} +1 -1
  229. package/dist/{chunk-4KTTBKWQ.js → chunk-T5FEAQES.js} +1 -1
  230. package/dist/{chunk-XU57KFD6.js → chunk-T5SM4RXY.js} +5 -1
  231. package/dist/{chunk-KUV5VBAO.js → chunk-TKAU7IJ2.js} +1 -1
  232. package/dist/{chunk-KBR5LIWD.js → chunk-TKS5GMYA.js} +1 -1
  233. package/dist/{chunk-5DFE2NAF.js → chunk-TNS63ATU.js} +96 -22
  234. package/dist/{chunk-RFPMXR6B.js → chunk-U4GMOT4M.js} +1 -1
  235. package/dist/{chunk-CO5ZVE3D.js → chunk-UOPCVFVR.js} +17 -17
  236. package/dist/{chunk-22LNFCDF.js → chunk-UX2EO653.js} +1 -1
  237. package/dist/{chunk-LGC6TBA3.js → chunk-UXN4BICC.js} +2 -2
  238. package/dist/{chunk-7J5X4AK7.js → chunk-VF2KRROX.js} +1 -1
  239. package/dist/{chunk-7THUQU44.js → chunk-VF3BZOZK.js} +5 -2
  240. package/dist/{chunk-M2B35MUK.js → chunk-VHHX4UCP.js} +1 -1
  241. package/dist/{chunk-AZBJXATK.js → chunk-VJEJ7JNB.js} +1 -1
  242. package/dist/{chunk-4TRVALTR.js → chunk-VLBHZ6TF.js} +2 -2
  243. package/dist/{chunk-7BMSBACY.js → chunk-VOVFUKEB.js} +5 -5
  244. package/dist/{chunk-MDPGZS6C.js → chunk-VROK4X2L.js} +1 -1
  245. package/dist/{chunk-J6ABJDZ4.js → chunk-W3KPQE7H.js} +4 -4
  246. package/dist/{chunk-3Q7NEDHB.js → chunk-W6BZ4UGA.js} +48 -9
  247. package/dist/{chunk-IZ3IFLL2.js → chunk-XEBKIWI7.js} +14 -14
  248. package/dist/{chunk-UZDF6FLJ.js → chunk-XHU3KOKJ.js} +1 -1
  249. package/dist/{chunk-PA37MXV5.js → chunk-XSUALA32.js} +2 -2
  250. package/dist/{chunk-GR5WJPKF.js → chunk-XUZK23V7.js} +11 -6
  251. package/dist/{chunk-IDB3EZLW.js → chunk-YLB365YX.js} +148 -5
  252. package/dist/{chunk-JDQ7JU3A.js → chunk-YLFCH3VA.js} +24 -16
  253. package/dist/{chunk-ZJJL2Z23.js → chunk-YRQ26MNP.js} +4 -4
  254. package/dist/chunk-YRUZK2QA.js +35 -0
  255. package/dist/{chunk-7HLJ4BSF.js → chunk-ZAEUEDTN.js} +2 -2
  256. package/dist/{chunk-NY74W3S4.js → chunk-ZBPZDADW.js} +313 -43
  257. package/dist/{chunk-ZLPS3GR7.js → chunk-ZJQ56DZZ.js} +42 -1
  258. package/dist/{chunk-VMZZTFXT.js → chunk-ZOTTYCP5.js} +4 -4
  259. package/dist/{chunk-MP4ST7RO.js → chunk-ZPP63JSQ.js} +51 -11
  260. package/dist/{chunk-N4J5WHO2.js → chunk-ZT4LFTUJ.js} +1 -1
  261. package/dist/{cleanup-graph-garbage-GE2DYOTB.js → cleanup-graph-garbage-VQAJ2RBT.js} +11 -11
  262. package/dist/{cloud-sync-command-T6KF3ARK.js → cloud-sync-command-J7NEFUY7.js} +2 -2
  263. package/dist/{cloud-sync-db-init-RSHCCY74.js → cloud-sync-db-init-KWEMNMGA.js} +1 -1
  264. package/dist/{cloud-sync-shutdown-6IVCSLM5.js → cloud-sync-shutdown-P63AUTUI.js} +5 -5
  265. package/dist/{co-activation-AF7RCJPX.js → co-activation-7IHRPBZN.js} +5 -5
  266. package/dist/{co-occurrence-DMOOGBVV.js → co-occurrence-R5AG4OAU.js} +9 -9
  267. package/dist/{code-context-index-LIDOFKOR.js → code-context-index-WFLLZBVB.js} +10 -9
  268. package/dist/{code-context-watcher-4F7K2N3U.js → code-context-watcher-3QAPHO7N.js} +10 -9
  269. package/dist/{codex-consolidation-SH4UKFBQ.js → codex-consolidation-ONZ2AQFX.js} +2 -2
  270. package/dist/{consent-passphrase-WV7MZPMO.js → consent-passphrase-5ZBDJ5G7.js} +2 -2
  271. package/dist/{content-extractor-DJM5EUDA.js → content-extractor-ZLXC6GNR.js} +2 -2
  272. package/dist/{conversation-entity-extractor-4UG7BKWL.js → conversation-entity-extractor-7FRKLLBD.js} +4 -4
  273. package/dist/{conversation-wiki-populator-OS4C6W54.js → conversation-wiki-populator-YAOVCUGO.js} +1 -1
  274. package/dist/{crdt-sync-VL4KXZB7.js → crdt-sync-IFRZOEIS.js} +4 -4
  275. package/dist/{crm-webhook-IDBJ7X5Y.js → crm-webhook-L2S63ASV.js} +2 -2
  276. package/dist/{cto-delegation-gate-4FLSHSLO.js → cto-delegation-gate-3WU7OHX7.js} +29 -28
  277. package/dist/{daemon-auth-PNKHERLV.js → daemon-auth-OWLFYEFR.js} +3 -3
  278. package/dist/{daemon-orchestration-HFCB6OK4.js → daemon-orchestration-3VQYKLOR.js} +33 -32
  279. package/dist/{daemon-ready-BN6EZLTQ.js → daemon-ready-VZ6ZHA2C.js} +1 -1
  280. package/dist/{db-integrity-events-GYGANKZV.js → db-integrity-events-7NKWS5MT.js} +3 -3
  281. package/dist/{db-restore-events-G6NOQOVE.js → db-restore-events-XYL6CGPC.js} +2 -2
  282. package/dist/{destructive-data-guard-HHWUBIGS.js → destructive-data-guard-JDUJ2ULM.js} +58 -2
  283. package/dist/{dispatch-ack-X4DXUSKP.js → dispatch-ack-UYEAKON5.js} +2 -1
  284. package/dist/{doc-graph-extractor-E36PQUCS.js → doc-graph-extractor-YIR5E7OF.js} +9 -9
  285. package/dist/{documents-SCKKHDR7.js → documents-QEHPTYIY.js} +19 -18
  286. package/dist/{dreaming-Q26JBH56.js → dreaming-LNFE7DTN.js} +34 -33
  287. package/dist/{employee-boot-brief-XU6EI2EO.js → employee-boot-brief-ZTXDYNWM.js} +39 -38
  288. package/dist/{entity-boost-VNQLLR3Q.js → entity-boost-R5N6JWXD.js} +1 -1
  289. package/dist/{exe-drift-YZ6OIUAY.js → exe-drift-WYSJVZFO.js} +6 -6
  290. package/dist/{exe-export-HHRQMLSS.js → exe-export-GOLNAEAV.js} +20 -19
  291. package/dist/{exe-import-5XR4NQAB.js → exe-import-U4BSI6OH.js} +20 -19
  292. package/dist/{exe-key-5XOFVP3I.js → exe-key-V42G3NGO.js} +152 -130
  293. package/dist/{exe-org-TPAX4AAK.js → exe-org-U4GLQ6OP.js} +27 -27
  294. package/dist/{exe-snapshot-GIRP3XCJ.js → exe-snapshot-U7ONBYNY.js} +38 -37
  295. package/dist/{fast-db-init-MGY6VCLG.js → fast-db-init-W3NGKAEU.js} +1 -1
  296. package/dist/{founder-context-WD72OL2P.js → founder-context-ZSIBRVDM.js} +4 -4
  297. package/dist/{founder-monitor-envelope-XGYMHT4W.js → founder-monitor-envelope-L3IWZLFY.js} +7 -7
  298. package/dist/{fts-integrity-PLAL6NMG.js → fts-integrity-PHCKKOBC.js} +3 -3
  299. package/dist/gateway/index.js +23 -22
  300. package/dist/{gateway-client-VO3BRLV5.js → gateway-client-DJFCVIPT.js} +1 -1
  301. package/dist/{git-staleness-KGZABPP3.js → git-staleness-OF24QXFZ.js} +5 -5
  302. package/dist/{global-procedures-KOU6A5E5.js → global-procedures-WSIOWO43.js} +6 -6
  303. package/dist/{graph-auto-extract-OZNRDAHE.js → graph-auto-extract-IEVVN3L3.js} +9 -9
  304. package/dist/{graph-query-36K6VXFF.js → graph-query-JDZWAVCU.js} +1 -1
  305. package/dist/{graph-rag-TZLH3CTQ.js → graph-rag-BKAD2XQA.js} +4 -4
  306. package/dist/{hook-integrity-BWFFISJV.js → hook-integrity-TPWDGX2M.js} +3 -1
  307. package/dist/{hook-prefetch-MFUJRAIM.js → hook-prefetch-FD6VGJJA.js} +29 -28
  308. package/dist/hooks/bug-report-worker.js +34 -33
  309. package/dist/hooks/codex-stop-task-finalizer.js +36 -35
  310. package/dist/hooks/commit-complete.js +40 -36
  311. package/dist/hooks/error-recall.js +15 -15
  312. package/dist/hooks/exe-heartbeat-hook.js +8 -8
  313. package/dist/hooks/ingest-worker.js +21 -20
  314. package/dist/hooks/ingest.js +23 -23
  315. package/dist/hooks/instructions-loaded.js +10 -10
  316. package/dist/hooks/manifest.json +20 -20
  317. package/dist/hooks/notification.js +9 -9
  318. package/dist/hooks/post-compact.js +8 -8
  319. package/dist/hooks/post-tool-combined.js +15 -15
  320. package/dist/hooks/pre-compact.js +33 -32
  321. package/dist/hooks/pre-tool-use.js +2 -2
  322. package/dist/hooks/prompt-submit.js +52 -51
  323. package/dist/hooks/session-end.js +38 -37
  324. package/dist/hooks/session-start.js +25 -22
  325. package/dist/hooks/stop.js +40 -39
  326. package/dist/hooks/subagent-stop.js +36 -35
  327. package/dist/hooks/summary-worker.js +41 -40
  328. package/dist/index.js +43 -42
  329. package/dist/{inrun-inbox-DRKVDPLY.js → inrun-inbox-RGNFFGMU.js} +5 -0
  330. package/dist/{installer-RM4ASY7U.js → installer-NMOBSEZ2.js} +11 -11
  331. package/dist/{installer-IESPHXVH.js → installer-OTI5SA43.js} +11 -11
  332. package/dist/{installer-SQZRVD36.js → installer-SRJGE4GU.js} +11 -11
  333. package/dist/{intercom-queue-DGLAC224.js → intercom-queue-4FFXCBHO.js} +28 -27
  334. package/dist/{key-backup-status-LQPINQ3W.js → key-backup-status-6U7D5GOD.js} +2 -2
  335. package/dist/lib/agent-config.js +3 -3
  336. package/dist/lib/cloud-sync.js +28 -27
  337. package/dist/lib/config.js +4 -2
  338. package/dist/lib/consolidation.js +14 -12
  339. package/dist/lib/crypto.js +5 -3
  340. package/dist/lib/database.js +5 -5
  341. package/dist/lib/db-backup.js +11 -3
  342. package/dist/lib/db-daemon-client.js +11 -10
  343. package/dist/lib/db-write-worker.js +4 -4
  344. package/dist/lib/db.js +5 -5
  345. package/dist/lib/delivery-catalog.js +431 -0
  346. package/dist/lib/delivery-schemas.js +62 -0
  347. package/dist/lib/delivery-truth.js +1 -1
  348. package/dist/lib/device-registry.js +3 -3
  349. package/dist/lib/embed-worker.js +2 -2
  350. package/dist/lib/embedder.js +10 -9
  351. package/dist/lib/employee-templates.js +7 -7
  352. package/dist/lib/employees.js +5 -5
  353. package/dist/lib/exe-daemon-client.js +9 -8
  354. package/dist/lib/exe-daemon.js +186 -117
  355. package/dist/lib/hybrid-search.js +12 -12
  356. package/dist/lib/identity.js +5 -5
  357. package/dist/lib/keychain.js +13 -1
  358. package/dist/lib/license.js +8 -4
  359. package/dist/lib/messaging.js +39 -30
  360. package/dist/lib/post-tool-memory.js +9 -9
  361. package/dist/lib/registry-proxy.js +9 -1
  362. package/dist/lib/reminders.js +6 -6
  363. package/dist/lib/schedules.js +11 -11
  364. package/dist/lib/session-registry.js +7 -7
  365. package/dist/lib/skill-learning.js +20 -19
  366. package/dist/lib/status-brief.js +5 -4
  367. package/dist/lib/store.js +10 -10
  368. package/dist/lib/task-router.js +6 -6
  369. package/dist/lib/tasks.js +30 -29
  370. package/dist/lib/tmux-routing.js +28 -27
  371. package/dist/lib/tmux-status.js +3 -1
  372. package/dist/lib/token-spend.js +6 -6
  373. package/dist/lib/ws-client.js +1 -1
  374. package/dist/{license-gate-E6GTRYBA.js → license-gate-R4JWTWM4.js} +5 -5
  375. package/dist/{license-recheck-RBAO6Z2H.js → license-recheck-3MBJ4IJX.js} +1 -1
  376. package/dist/{license-sync-ZCZ2LIHK.js → license-sync-BVSG3WMW.js} +4 -4
  377. package/dist/local-secret-inventory-JWNBHZZ4.js +20 -0
  378. package/dist/mailbox-inbox-MTAT4MXX.js +13 -0
  379. package/dist/{mailbox-outbox-DNDDP2HW.js → mailbox-outbox-OY4IU6S4.js} +2 -1
  380. package/dist/mcp/register-tools.js +121 -120
  381. package/dist/mcp/server.js +123 -122
  382. package/dist/mcp/tools/complete-reminder.js +7 -7
  383. package/dist/mcp/tools/create-reminder.js +7 -7
  384. package/dist/mcp/tools/create-task.js +35 -32
  385. package/dist/mcp/tools/deactivate-behavior.js +22 -21
  386. package/dist/mcp/tools/list-reminders.js +7 -7
  387. package/dist/mcp/tools/list-tasks.js +33 -32
  388. package/dist/mcp/tools/send-message.js +32 -31
  389. package/dist/mcp/tools/update-task.js +31 -30
  390. package/dist/{mcp-child-registry-DVHYAHPW.js → mcp-child-registry-TIZERM7O.js} +5 -5
  391. package/dist/{mcp-health-B5EKRCZG.js → mcp-health-4ZHU67LM.js} +9 -3
  392. package/dist/{mcp-http-config-ME67QDOF.js → mcp-http-config-VUMSFWFH.js} +12 -12
  393. package/dist/{mcp-session-identity-DNG4ULAE.js → mcp-session-identity-DZHWEJRV.js} +28 -27
  394. package/dist/{memory-cards-WCISXY62.js → memory-cards-JVXTMSAT.js} +10 -10
  395. package/dist/{memory-graph-extractor-GXIK4QUF.js → memory-graph-extractor-PPBJMYFJ.js} +10 -10
  396. package/dist/{memory-poisoning-defense-25LZ5FJI.js → memory-poisoning-defense-K5Q74XQ4.js} +5 -5
  397. package/dist/{memory-pressure-watchdog-XGXI7WGE.js → memory-pressure-watchdog-YMJH5CSA.js} +29 -28
  398. package/dist/{memory-queue-YF7IDSFY.js → memory-queue-2MA67TAA.js} +3 -3
  399. package/dist/{memory-queue-client-QC2OTMJB.js → memory-queue-client-4G7HVRSX.js} +11 -10
  400. package/dist/{memory-reflection-GFGT44NT.js → memory-reflection-7BZWIHRE.js} +10 -10
  401. package/dist/{monitor-grants-Z2SEFE6E.js → monitor-grants-Q7X3MYQP.js} +6 -6
  402. package/dist/{monitor-identity-AEMHCVHV.js → monitor-identity-ZQB4IXEE.js} +2 -2
  403. package/dist/{notification-ledger-ETQBGRP7.js → notification-ledger-XRAXL5OI.js} +32 -29
  404. package/dist/{notifications-LPRCFJYY.js → notifications-JE3PX55X.js} +28 -27
  405. package/dist/{orchestration-events-T2GXV2NG.js → orchestration-events-JCQ5F5IJ.js} +6 -6
  406. package/dist/{orchestration-phase-T2WD45UA.js → orchestration-phase-QKTGQ2YT.js} +3 -3
  407. package/dist/{orchestrator-HY2IB3NA.js → orchestrator-X65INDTR.js} +30 -29
  408. package/dist/{org-brief-session-UWFCFEEB.js → org-brief-session-3PQ22UIX.js} +19 -18
  409. package/dist/{org-consent-policy-XXMST37J.js → org-consent-policy-VGELJ7K7.js} +7 -6
  410. package/dist/{org-join-72QKM7JR.js → org-join-6TO5ZYUZ.js} +12 -12
  411. package/dist/{org-key-admin-YCIAYP7V.js → org-key-admin-XHYVRRAZ.js} +12 -12
  412. package/dist/{org-key-pin-F7BQPI5P.js → org-key-pin-TTTYGTQL.js} +6 -6
  413. package/dist/{org-membership-JQSU4Z5P.js → org-membership-Y7T2BS57.js} +7 -7
  414. package/dist/{org-partner-config-PVJ45SLC.js → org-partner-config-OP4NEUNF.js} +10 -10
  415. package/dist/{org-partner-runtime-U4CTLWLC.js → org-partner-runtime-YNVUNT2R.js} +20 -19
  416. package/dist/{org-row-visibility-WUX4N3FX.js → org-row-visibility-JBBXNYXD.js} +1 -1
  417. package/dist/{pipeline-router-2RMBCBRM.js → pipeline-router-EIBB7QNG.js} +6 -6
  418. package/dist/{plan-limits-Z47XYEJR.js → plan-limits-MEWXYLEN.js} +8 -8
  419. package/dist/{postinstall-failure-O6TSSNJB.js → postinstall-failure-VETYYWEZ.js} +3 -3
  420. package/dist/{pre-tool-use-impl-JPE6XMRJ.js → pre-tool-use-impl-C6KJY22W.js} +60 -49
  421. package/dist/{project-boot-UFQDAFU5.js → project-boot-VEYFCCSL.js} +2 -2
  422. package/dist/{project-name-V4IREGHO.js → project-name-UYORSNGE.js} +6 -6
  423. package/dist/{projection-worker-HAD6H3VJ.js → projection-worker-WYFDWS57.js} +5 -5
  424. package/dist/{prospective-memory-KIF4JLFF.js → prospective-memory-E6XBQFJA.js} +5 -5
  425. package/dist/{push-notifications-GDKRTYXH.js → push-notifications-M7YU63FY.js} +29 -28
  426. package/dist/{reproject-worktree-memories-SG4BZJ3Z.js → reproject-worktree-memories-B5XMGJSD.js} +28 -27
  427. package/dist/{reranker-G2AZ67JP.js → reranker-SRA4BR7N.js} +3 -3
  428. package/dist/{retrieval-health-GBJRXTBZ.js → retrieval-health-P2JPZUPV.js} +4 -4
  429. package/dist/{review-polling-VUZPAAGT.js → review-polling-KQPN7IQE.js} +29 -28
  430. package/dist/runtime/index.js +37 -36
  431. package/dist/{session-events-BI6NIFIR.js → session-events-6LDDKKY3.js} +29 -28
  432. package/dist/{session-kill-telemetry-HPBDOPHT.js → session-kill-telemetry-5DSRGWCL.js} +29 -28
  433. package/dist/{session-mcp-config-WFZAH6R5.js → session-mcp-config-F7RCERUG.js} +3 -3
  434. package/dist/{session-scope-UB3HA5E7.js → session-scope-XG5R3P3D.js} +28 -27
  435. package/dist/{setup-wizard-6XULOT3L.js → setup-wizard-7QFLZIKT.js} +5 -5
  436. package/dist/{shard-manager-DYEJ6ETD.js → shard-manager-HHHHV2KZ.js} +3 -3
  437. package/dist/{skill-refinement-MKBQIWZ6.js → skill-refinement-I5RMAHSC.js} +6 -6
  438. package/dist/{stack-generate-manifest-7ODQ6W2O.js → stack-generate-manifest-AKMZ3AUX.js} +246 -13
  439. package/dist/stack-init-5VKL5PL5.js +136 -0
  440. package/dist/{stack-promote-3UKJBJSP.js → stack-promote-34CE2HHF.js} +7 -6
  441. package/dist/{stack-release-5CVXMJM5.js → stack-release-5PGWV5D4.js} +123 -12
  442. package/dist/{stack-update-Z53KG2P5.js → stack-update-ZQQ5YYPJ.js} +20 -5
  443. package/dist/{steward-gate-OKUYYIX6.js → steward-gate-AQJ6KT2C.js} +6 -6
  444. package/dist/{subagent-brief-injection-T2CVQLAS.js → subagent-brief-injection-3GU7YAWY.js} +50 -42
  445. package/dist/{subagent-spawn-ledger-E6U3OY6Z.js → subagent-spawn-ledger-52I66CLW.js} +3 -3
  446. package/dist/{supervisor-handoff-SGLEPOCY.js → supervisor-handoff-BWJW6CKZ.js} +4 -4
  447. package/dist/{support-inbox-WJIDCKJC.js → support-inbox-NY5TB3FN.js} +12 -12
  448. package/dist/{support-outbox-G2NG2U5K.js → support-outbox-KNI3FR3G.js} +3 -2
  449. package/dist/{task-enforcement-JL5ADPS6.js → task-enforcement-CAA6D2MH.js} +29 -28
  450. package/dist/{task-request-inbox-54BRRFHZ.js → task-request-inbox-QBZVU66E.js} +9 -6
  451. package/dist/{task-scope-OBPZBID5.js → task-scope-NHXB4ZRN.js} +32 -27
  452. package/dist/{tasks-crud-YBCPT7TY.js → tasks-crud-JHSWL5NM.js} +28 -27
  453. package/dist/{tasks-notify-CEEQSDJF.js → tasks-notify-7PBE4U7T.js} +29 -28
  454. package/dist/{tasks-review-JIEI656P.js → tasks-review-PPPVEE62.js} +28 -27
  455. package/dist/{telemetry-upload-ZZSEZR2U.js → telemetry-upload-YU2VRNHX.js} +10 -10
  456. package/dist/{token-budget-AUFMEMQ2.js → token-budget-QCMWKG3K.js} +6 -6
  457. package/dist/{tool-capability-index-6HLZU437.js → tool-capability-index-7AWQAJRP.js} +1 -1
  458. package/dist/{tool-gates-VXITVRFQ.js → tool-gates-5Q3RSQEG.js} +1 -1
  459. package/dist/{tool-gates-JWVSAYTW.js → tool-gates-QD26D2NE.js} +1 -1
  460. package/dist/{tool-telemetry-RHSEK2TO.js → tool-telemetry-LTOIC64I.js} +1 -1
  461. package/dist/tui/App.js +43 -42
  462. package/dist/{tui-data-PBZNN5YB.js → tui-data-NDBXD6U7.js} +32 -31
  463. package/dist/{update-support-V3ZCJR6L.js → update-support-BMJM4NG7.js} +27 -26
  464. package/dist/{whatsapp-NAM2CRVQ.js → whatsapp-QQLDAHUX.js} +2 -2
  465. package/dist/{wiki-acl-NUBAPLCD.js → wiki-acl-W6WDCVCP.js} +1 -1
  466. package/dist/{work-claims-Q2NU6JON.js → work-claims-6DM32MGO.js} +6 -6
  467. package/dist/{work-state-heartbeat-HAQRV3RK.js → work-state-heartbeat-HG7D4AWJ.js} +1 -1
  468. package/dist/{worker-gate-NUUSQMBT.js → worker-gate-FTMW7GBB.js} +3 -3
  469. package/dist/{workflow-engine-GEWPU5YR.js → workflow-engine-ZWC6CCXE.js} +2 -2
  470. package/dist/{worktree-C7LFMRKW.js → worktree-EMQCPGFE.js} +7 -7
  471. package/dist/{worktree-ownership-guard-4LKMW6PW.js → worktree-ownership-guard-O6JQF2CL.js} +2 -2
  472. package/dist/{worktree-sweep-SYF62ANH.js → worktree-sweep-XVUJZBXV.js} +8 -8
  473. package/package.json +23 -7
  474. package/release-notes.json +39 -12
  475. package/stack.release.json +4 -4
  476. package/dist/mailbox-inbox-XE72D3AX.js +0 -10
  477. /package/dist/{chunk-QIEYJ4KZ.js → chunk-2KY7WZZF.js} +0 -0
  478. /package/dist/{chunk-T3667X2B.js → chunk-2Q2CD6CD.js} +0 -0
  479. /package/dist/{chunk-JZJZYKMW.js → chunk-AJK2PVQW.js} +0 -0
  480. /package/dist/{chunk-ZEGEFBZV.js → chunk-AWWDKF22.js} +0 -0
  481. /package/dist/{chunk-QNTKRGJ6.js → chunk-GIRD7O5X.js} +0 -0
  482. /package/dist/{chunk-FWA4MYTA.js → chunk-JRIH6I7D.js} +0 -0
  483. /package/dist/{chunk-C7H2D7LX.js → chunk-M4XY4JRK.js} +0 -0
  484. /package/dist/{chunk-Q3DN5J6F.js → chunk-P2VVMGMI.js} +0 -0
  485. /package/dist/{chunk-BRAIWGMF.js → chunk-Q46NYJ77.js} +0 -0
  486. /package/dist/{chunk-3LQ2N4H7.js → chunk-U2D6PJ5T.js} +0 -0
  487. /package/dist/{chunk-3O6OGZL3.js → chunk-XDVOGDBC.js} +0 -0
  488. /package/dist/{core-memory-UNCAPGD4.js → core-memory-O6D5UC3T.js} +0 -0
  489. /package/dist/{hook-tamper-log-Z4PWC7N4.js → hook-tamper-log-ARGWCXKJ.js} +0 -0
  490. /package/dist/{memory-isolation-ALPJWLR5.js → memory-isolation-EBFFC6HF.js} +0 -0
  491. /package/dist/{oauth-server-AC2KB7NB.js → oauth-server-ZKBUHDFI.js} +0 -0
  492. /package/dist/{webhook-pipe-W2FVXY7M.js → webhook-pipe-PXH5MBRM.js} +0 -0
  493. /package/dist/{wiki-client-W65IOSWF.js → wiki-client-DD2NVWK2.js} +0 -0
@@ -1,24 +1,24 @@
1
1
  import {
2
2
  recordSessionKill
3
- } from "./chunk-GGEKMY6G.js";
3
+ } from "./chunk-P3UX5EH4.js";
4
4
  import {
5
5
  sessionScopeFilter,
6
6
  verifyPaneAtCapacity,
7
7
  writeNotification
8
- } from "./chunk-ZVBVPX4W.js";
8
+ } from "./chunk-7UHZBVP3.js";
9
9
  import {
10
10
  listSessions
11
- } from "./chunk-NPGV4MZ3.js";
11
+ } from "./chunk-ALRHGEAJ.js";
12
12
  import {
13
13
  getTransport
14
14
  } from "./chunk-VI4ATC6I.js";
15
15
  import {
16
16
  recordOrchestrationEventBestEffort
17
- } from "./chunk-VUOAPKPI.js";
17
+ } from "./chunk-LSNBTGW4.js";
18
18
  import {
19
19
  getClient,
20
20
  isCoordinatorName
21
- } from "./chunk-AY2U4NZ5.js";
21
+ } from "./chunk-GL47M7NY.js";
22
22
 
23
23
  // src/lib/capacity-monitor.ts
24
24
  var CAPACITY_PATTERNS = [
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-AY2U4NZ5.js";
3
+ } from "./chunk-GL47M7NY.js";
4
4
 
5
5
  // src/lib/orchestration-events.ts
6
6
  import crypto from "crypto";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  getCurrentSessionScope,
3
3
  strictSessionScopeFilter
4
- } from "./chunk-ZVBVPX4W.js";
4
+ } from "./chunk-7UHZBVP3.js";
5
5
  import {
6
6
  getProjectName
7
- } from "./chunk-22LNFCDF.js";
7
+ } from "./chunk-UX2EO653.js";
8
8
 
9
9
  // src/lib/session-events.ts
10
10
  import { randomUUID } from "crypto";
@@ -1,15 +1,16 @@
1
1
  import {
2
2
  checkCpuStealSync
3
3
  } from "./chunk-SSC7EKY2.js";
4
- import {
5
- inventoryLocalSecretResidue
6
- } from "./chunk-7UH2JWBF.js";
7
4
  import {
8
5
  computeDegradations
9
- } from "./chunk-RTZZBWQC.js";
6
+ } from "./chunk-MPZ2AVNS.js";
7
+ import {
8
+ inventoryLocalSecretResidue,
9
+ redactResiduePathForDisplay
10
+ } from "./chunk-AZSTIAVL.js";
10
11
  import {
11
12
  NO_DB_INTEGRITY_EVENTS
12
- } from "./chunk-RFPMXR6B.js";
13
+ } from "./chunk-U4GMOT4M.js";
13
14
  import {
14
15
  CC_NATIVE_ONLY_CUTOFF,
15
16
  compareSemver,
@@ -23,16 +24,19 @@ import {
23
24
  import {
24
25
  readMcpHttpEvents,
25
26
  summarizeMcpTransport
26
- } from "./chunk-FNEZ4BWT.js";
27
+ } from "./chunk-FEU6QEEL.js";
27
28
  import {
28
29
  mcpHttpPort
29
- } from "./chunk-L5YDAFUH.js";
30
+ } from "./chunk-CYCIX7AW.js";
30
31
  import {
31
32
  redactSecrets
32
- } from "./chunk-5QCIWWFA.js";
33
+ } from "./chunk-ELEGH4DX.js";
34
+ import {
35
+ isWithin
36
+ } from "./chunk-YRUZK2QA.js";
33
37
  import {
34
38
  inspectKeyCustodySync
35
- } from "./chunk-AVMLC2MR.js";
39
+ } from "./chunk-5U2IJBFV.js";
36
40
  import {
37
41
  checkSingleGotrueInstance
38
42
  } from "./chunk-FTZET5YX.js";
@@ -41,7 +45,7 @@ import {
41
45
  } from "./chunk-A7JYF4RG.js";
42
46
  import {
43
47
  EXE_AI_DIR
44
- } from "./chunk-ZIG7VPJV.js";
48
+ } from "./chunk-MMS2HBRT.js";
45
49
 
46
50
  // src/bin/exe-healthcheck.ts
47
51
  import { existsSync as existsSync2, readFileSync as readFileSync2, readdirSync } from "fs";
@@ -697,9 +701,8 @@ function checkRetrievalHealth() {
697
701
  const raw = JSON.parse(readFileSync2(ledgerPath, "utf8"));
698
702
  if (Array.isArray(raw) && raw.length > 0) {
699
703
  const now = Date.now();
700
- const dayAgo = now - 24 * 60 * 60 * 1e3;
701
704
  const recentEvents = raw.filter(
702
- (e) => e.at && new Date(e.at).getTime() > dayAgo
705
+ (e) => e.at != null && isWithin(e.at, 24 * 60 * 60 * 1e3, now)
703
706
  );
704
707
  const last = raw[raw.length - 1];
705
708
  if (recentEvents.length > 0) {
@@ -745,7 +748,7 @@ function checkLocalSecretResidue() {
745
748
  if (inventory.residues.length === 0) {
746
749
  return [{ name: "security/local-secret-residue", pass: true, detail: "No plaintext recovery/key export residue detected" }];
747
750
  }
748
- const shown = inventory.residues.slice(0, 3).map((r) => `${r.kind}: ${r.path}`).join("; ");
751
+ const shown = inventory.residues.slice(0, 3).map((r) => `${r.kind}: ${redactResiduePathForDisplay(r.path)}`).join("; ");
749
752
  return [{
750
753
  name: "security/local-secret-residue",
751
754
  pass: false,
@@ -1,26 +1,29 @@
1
1
  import {
2
2
  ensureDaemonToken,
3
3
  readDaemonToken
4
- } from "./chunk-GPUOUUHA.js";
4
+ } from "./chunk-PCV52RYM.js";
5
5
  import {
6
6
  SUPERVISED_ENV
7
- } from "./chunk-ZG62LIK3.js";
8
- import {
9
- sanitizeDaemonKeyCustodyEnv
10
- } from "./chunk-IMYGYIAI.js";
7
+ } from "./chunk-CIPDQRFO.js";
11
8
  import {
12
9
  computeDaemonHeapCapMb
13
10
  } from "./chunk-NLEW62VC.js";
11
+ import {
12
+ sanitizeDaemonKeyCustodyEnv
13
+ } from "./chunk-IMYGYIAI.js";
14
14
  import {
15
15
  killIfSameProcess,
16
16
  processStartedAt,
17
17
  sameProcessIdentity
18
- } from "./chunk-GPJIBLP4.js";
18
+ } from "./chunk-3DAEZILW.js";
19
19
  import {
20
20
  KILL_INTENT_LOOKBACK_MS,
21
21
  findRecentKillIntent,
22
22
  recordKillIntent
23
- } from "./chunk-V3WLC5TJ.js";
23
+ } from "./chunk-DRTJCG6B.js";
24
+ import {
25
+ parseInstant
26
+ } from "./chunk-YRUZK2QA.js";
24
27
  import {
25
28
  SYSTEMD_DAEMON_UNIT,
26
29
  SYSTEMD_WATCHDOG_UNIT,
@@ -32,7 +35,7 @@ import {
32
35
  import {
33
36
  EXE_AI_DIR,
34
37
  resolveDataDir
35
- } from "./chunk-ZIG7VPJV.js";
38
+ } from "./chunk-MMS2HBRT.js";
36
39
 
37
40
  // src/lib/exe-daemon-client.ts
38
41
  import net from "net";
@@ -261,7 +264,7 @@ function consumeRestartIntentDetail(preserveFor) {
261
264
  if (parsed.intent && preserveFor) {
262
265
  try {
263
266
  const marker = JSON.parse(raw);
264
- if (marker.targetPid === preserveFor.pid && (typeof marker.targetStartedAt === "number" ? typeof preserveFor.startedAt === "number" && sameProcessIdentity(marker.targetStartedAt, preserveFor.startedAt) : typeof marker.createdAt === "string" && typeof preserveFor.startedAt === "number" && Date.parse(marker.createdAt) >= preserveFor.startedAt)) {
267
+ if (marker.targetPid === preserveFor.pid && (typeof marker.targetStartedAt === "number" ? typeof preserveFor.startedAt === "number" && sameProcessIdentity(marker.targetStartedAt, preserveFor.startedAt) : typeof marker.createdAt === "string" && typeof preserveFor.startedAt === "number" && (parseInstant(marker.createdAt) ?? Infinity) >= preserveFor.startedAt)) {
265
268
  return { intent: false, reason: null };
266
269
  }
267
270
  } catch {
@@ -2,15 +2,21 @@ import {
2
2
  BUSY_PATTERN,
3
3
  sendIntercom,
4
4
  updateTaskStatus
5
- } from "./chunk-ZVBVPX4W.js";
5
+ } from "./chunk-7UHZBVP3.js";
6
6
  import {
7
7
  recordOrchestrationEventBestEffort
8
- } from "./chunk-VUOAPKPI.js";
8
+ } from "./chunk-LSNBTGW4.js";
9
+ import {
10
+ hasPassed
11
+ } from "./chunk-YRUZK2QA.js";
9
12
  import {
10
13
  baseAgentName,
11
14
  getCoordinatorName,
12
15
  isCoordinatorName
13
- } from "./chunk-AY2U4NZ5.js";
16
+ } from "./chunk-GL47M7NY.js";
17
+ import {
18
+ isAutonomousTmuxSpawnEnabled
19
+ } from "./chunk-MMS2HBRT.js";
14
20
 
15
21
  // src/lib/play-mode.ts
16
22
  import { readFileSync, writeFileSync, mkdirSync, existsSync } from "fs";
@@ -74,7 +80,7 @@ function getPlayMode(agentId, sessionScope) {
74
80
  const store = readStore();
75
81
  const entry = store[key];
76
82
  if (!entry) return null;
77
- if (new Date(entry.expiresAt).getTime() <= Date.now()) {
83
+ if (hasPassed(entry.expiresAt, Date.now())) {
78
84
  delete store[key];
79
85
  try {
80
86
  writeStore(store);
@@ -99,7 +105,7 @@ function listExploreSessions() {
99
105
  const active = [];
100
106
  let pruned = false;
101
107
  for (const [key, entry] of Object.entries(store)) {
102
- if (new Date(entry.expiresAt).getTime() <= now) {
108
+ if (hasPassed(entry.expiresAt, now)) {
103
109
  delete store[key];
104
110
  pruned = true;
105
111
  } else {
@@ -332,7 +338,7 @@ async function surfaceStaleDispatchPendingSignals(scopeList, now, thresholdMs =
332
338
  const sessionScope = signalScope ?? (scopeList.length === 1 ? scopeList[0] : null);
333
339
  if (allowedScopes.size > 0 && sessionScope && !allowedScopes.has(sessionScope)) continue;
334
340
  try {
335
- const { writeNotification } = await import("./notifications-LPRCFJYY.js");
341
+ const { writeNotification } = await import("./notifications-JE3PX55X.js");
336
342
  await writeNotification({
337
343
  agentId: getCoordinatorName(),
338
344
  agentRole: "COO",
@@ -457,6 +463,7 @@ async function findStuckTasks(client, scopeList, now, thresholdMs = STUCK_TASK_T
457
463
  async function runTaskEnforcementTick(deps) {
458
464
  const { transport, employees, client } = deps;
459
465
  const now = deps.now ?? Date.now();
466
+ const autonomousSpawnAllowed = (deps.autonomousTmuxSpawnEnabled ?? isAutonomousTmuxSpawnEnabled)();
460
467
  const tickStartedAt = Date.now();
461
468
  const sessions = transport.listSessions();
462
469
  let processedAnyEmployee = false;
@@ -603,7 +610,12 @@ async function runTaskEnforcementTick(deps) {
603
610
  paneIdle = isWorkerPaneIdle(pane);
604
611
  const workerNudgeEcho = isNudgeEcho(pane);
605
612
  const paneCurrentlyIdle = isCurrentlyIdle(pane);
606
- if (isMcpZombiePane(pane, paneCurrentlyIdle) && deps.zombieWorkerRecover) {
613
+ if (isMcpZombiePane(pane, paneCurrentlyIdle) && deps.zombieWorkerRecover && !autonomousSpawnAllowed) {
614
+ process.stderr.write(
615
+ `[exed] MCP zombie recovery SUPPRESSED for ${session}: autonomous tmux spawning is disabled (allowAutonomousTmuxSpawn=false) \u2014 not killing a session we are not allowed to respawn
616
+ `
617
+ );
618
+ } else if (isMcpZombiePane(pane, paneCurrentlyIdle) && deps.zombieWorkerRecover) {
607
619
  const reason2 = "pane shows dead MCP client";
608
620
  await deps.zombieWorkerRecover(session, agentName, coordinatorSession ?? "", reason2);
609
621
  writeAuditEntry({
@@ -770,6 +782,13 @@ async function runTaskEnforcementTick(deps) {
770
782
  continue;
771
783
  }
772
784
  if (!deps.reviewerSpawn) continue;
785
+ if (!autonomousSpawnAllowed) {
786
+ process.stderr.write(
787
+ `[exed] Reviewer auto-spawn SUPPRESSED for ${reviewerName} in ${sessionScope}: autonomous tmux spawning is disabled (allowAutonomousTmuxSpawn=false) \u2014 ${group.ids.length} review(s) stay queued
788
+ `
789
+ );
790
+ continue;
791
+ }
773
792
  try {
774
793
  const result = deps.reviewerSpawn(reviewerName, sessionScope);
775
794
  if (!result) continue;
@@ -1,12 +1,12 @@
1
+ import {
2
+ assertHermeticPath
3
+ } from "./chunk-RH4AH3YB.js";
1
4
  import {
2
5
  atomicWrite,
3
6
  atomicWriteJson,
4
7
  atomicWriteJsonSync,
5
8
  ensurePrivateDir
6
9
  } from "./chunk-HSGBZSCA.js";
7
- import {
8
- assertHermeticPath
9
- } from "./chunk-RH4AH3YB.js";
10
10
  import {
11
11
  currentKeyDirContext,
12
12
  refusedQuarantineDir,
@@ -152,6 +152,10 @@ var DEFAULT_CONFIG = {
152
152
  flushIntervalMs: 1e4,
153
153
  autoIngestion: true,
154
154
  autoRetrieval: true,
155
+ // Bug 05033d35: autonomous tmux spawning stays available for tasks that
156
+ // explicitly opted into the legacy durable_tmux lane, but is a single flip
157
+ // away from off for installs that dispatch only via native subagents.
158
+ allowAutonomousTmuxSpawn: true,
155
159
  // OFF. A Partner silently copying every document it reads is a surprise even
156
160
  // when the bytes are encrypted under the member's own key and stored against
157
161
  // their own allowance. Opt-in, always.
@@ -515,6 +519,13 @@ async function loadConfigFrom(configPath) {
515
519
  return { ...DEFAULT_CONFIG };
516
520
  }
517
521
  }
522
+ function isAutonomousTmuxSpawnEnabled() {
523
+ try {
524
+ return loadConfigSync().allowAutonomousTmuxSpawn !== false;
525
+ } catch {
526
+ return true;
527
+ }
528
+ }
518
529
  function getThemePreference() {
519
530
  return loadConfigSync().appearance.theme;
520
531
  }
@@ -547,6 +558,7 @@ export {
547
558
  loadConfigSync,
548
559
  saveConfig,
549
560
  loadConfigFrom,
561
+ isAutonomousTmuxSpawnEnabled,
550
562
  getThemePreference,
551
563
  setThemePreference
552
564
  };
@@ -1,17 +1,25 @@
1
1
  import {
2
2
  canonicalizeStackManifest
3
- } from "./chunk-NY74W3S4.js";
3
+ } from "./chunk-ZBPZDADW.js";
4
4
 
5
5
  // src/lib/stack-manifest-write.ts
6
- import { readFileSync, writeFileSync } from "fs";
6
+ import { readFileSync, statSync, writeFileSync } from "fs";
7
7
  import { createPrivateKey, createSign, sign as cryptoSign } from "crypto";
8
+ var SIGNING_KEY_FILE_GROUP_OTHER_MASK = 63;
8
9
  function loadStackSigningKey(env = process.env) {
9
10
  const keyId = env.EXE_STACK_SIGNING_KEY_ID || "exe-stack-1";
10
11
  if (env.EXE_STACK_SIGNING_KEY) {
11
12
  return { key: createPrivateKey(env.EXE_STACK_SIGNING_KEY), keyId };
12
13
  }
13
- if (env.EXE_STACK_SIGNING_KEY_FILE) {
14
- return { key: createPrivateKey(readFileSync(env.EXE_STACK_SIGNING_KEY_FILE, "utf8")), keyId };
14
+ const file = env.EXE_STACK_SIGNING_KEY_FILE;
15
+ if (file) {
16
+ const perms = statSync(file).mode & 4095;
17
+ if ((perms & SIGNING_KEY_FILE_GROUP_OTHER_MASK) !== 0) {
18
+ throw new Error(
19
+ `stack signing key file ${file} has mode ${perms.toString(8).padStart(4, "0")} \u2014 readable or writable beyond its owner. Refusing to sign with an already-exposed private key (bug b597e4fc). Fix: chmod 600 ${file} \u2014 better, pass the PEM in EXE_STACK_SIGNING_KEY so it never touches the filesystem at all.`
20
+ );
21
+ }
22
+ return { key: createPrivateKey(readFileSync(file, "utf8")), keyId };
15
23
  }
16
24
  return null;
17
25
  }
@@ -1,16 +1,19 @@
1
1
  import {
2
2
  NO_DB_INTEGRITY_EVENTS
3
- } from "./chunk-RFPMXR6B.js";
3
+ } from "./chunk-U4GMOT4M.js";
4
4
  import {
5
5
  resolveAnthropicAuth
6
6
  } from "./chunk-VGMACSEV.js";
7
7
 
8
8
  // src/lib/retrieval-health.ts
9
9
  import os from "os";
10
+ function postCaptureReverifyEnabled() {
11
+ return /^(1|true|yes|on)$/i.test(process.env.EXE_BACKUP_VERIFY_DAILY ?? "0");
12
+ }
10
13
  async function getRetrievalHealth() {
11
14
  let embedDaemon = "unavailable";
12
15
  try {
13
- const { isDaemonAlive } = await import("./mcp-health-B5EKRCZG.js");
16
+ const { isDaemonAlive } = await import("./mcp-health-4ZHU67LM.js");
14
17
  const { alive } = isDaemonAlive();
15
18
  if (alive) {
16
19
  try {
@@ -82,7 +85,7 @@ async function getRetrievalHealth() {
82
85
  totalMemories = Number(totalRes.rows[0]?.cnt ?? 0);
83
86
  memoriesWithVectors = Number(vectorRes.rows[0]?.cnt ?? 0);
84
87
  try {
85
- const { getGraphStats } = await import("./graph-query-36K6VXFF.js");
88
+ const { getGraphStats } = await import("./graph-query-JDZWAVCU.js");
86
89
  const stats = await getGraphStats(client);
87
90
  entities = stats.entities;
88
91
  relationships = stats.relationships;
@@ -94,13 +97,13 @@ async function getRetrievalHealth() {
94
97
  const coveragePct = totalMemories > 0 ? Math.round(memoriesWithVectors / totalMemories * 100) : null;
95
98
  let dbRestore = { hasEvents: false, count: 0, last: null, quarantineFiles: 0 };
96
99
  try {
97
- const { getDbRestoreHealth } = await import("./db-restore-events-G6NOQOVE.js");
100
+ const { getDbRestoreHealth } = await import("./db-restore-events-XYL6CGPC.js");
98
101
  dbRestore = getDbRestoreHealth();
99
102
  } catch {
100
103
  }
101
104
  let dbIntegrity = NO_INTEGRITY_EVENTS;
102
105
  try {
103
- const { getDbIntegrityHealth } = await import("./db-integrity-events-GYGANKZV.js");
106
+ const { getDbIntegrityHealth } = await import("./db-integrity-events-7NKWS5MT.js");
104
107
  dbIntegrity = getDbIntegrityHealth();
105
108
  } catch {
106
109
  }
@@ -208,6 +211,14 @@ function computeDegradations(h) {
208
211
  remediation: "Do NOT trust recent backups. Run `exe-os doctor` to confirm, and restore from the newest backup that carries a `backup-verified` ledger entry."
209
212
  });
210
213
  }
214
+ if (gi.lastProvenBackupOnDisk && !postCaptureReverifyEnabled()) {
215
+ out.push({
216
+ code: "backup_reverify_off",
217
+ severity: "info",
218
+ message: `Backups are proven readable at CAPTURE (the copy is opened and counted), but are not re-checked afterwards \u2014 ${gi.lastProvenBackupOnDisk.backup ?? "the last proven backup"} has not been re-read since ${gi.lastProvenBackupOnDisk.at}`,
219
+ remediation: "Set EXE_BACKUP_VERIFY_DAILY=1 to re-open and integrity-scan the daily backup after capture. It costs a second full copy plus a full-file integrity scan per day, so it is opt-in; without it, degradation of a backup at rest would not be detected until a restore."
220
+ });
221
+ }
211
222
  if (gi.lowDiskSkips > 0 && gi.lastLowDiskSkip) {
212
223
  const provenForLowDisk = gi.lastProvenBackupOnDisk;
213
224
  const covered = provenForLowDisk !== null && provenForLowDisk.at > gi.lastLowDiskSkip.at;
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-AY2U4NZ5.js";
3
+ } from "./chunk-GL47M7NY.js";
4
4
  import {
5
5
  loadConfigSync
6
- } from "./chunk-ZIG7VPJV.js";
6
+ } from "./chunk-MMS2HBRT.js";
7
7
 
8
8
  // src/lib/token-spend.ts
9
9
  import { readdir, stat } from "fs/promises";
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-5YEUPUV4.js";
7
7
  import {
8
8
  EXE_AI_DIR
9
- } from "./chunk-ZIG7VPJV.js";
9
+ } from "./chunk-MMS2HBRT.js";
10
10
 
11
11
  // src/lib/shard-manager.ts
12
12
  import path from "path";
@@ -83,7 +83,11 @@ async function loadRetiredKeysFromKeychain() {
83
83
  for (const key of retired) {
84
84
  if (!_keyRing.includes(key)) _keyRing.push(key);
85
85
  }
86
- } catch {
86
+ } catch (err) {
87
+ process.stderr.write(
88
+ `[shard-manager] \u26A0 retired master keys could not be read \u2014 shards written before the last key rotation will not open until this is fixed: ${err instanceof Error ? err.message : String(err)}
89
+ `
90
+ );
87
91
  }
88
92
  }
89
93
  async function openShardWithKeyRing(dbPath, source) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  EXE_AI_DIR
3
- } from "./chunk-ZIG7VPJV.js";
3
+ } from "./chunk-MMS2HBRT.js";
4
4
 
5
5
  // src/lib/subagent-spawn-ledger.ts
6
6
  import { mkdirSync, readFileSync, unlinkSync, writeFileSync } from "fs";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  clean,
3
3
  stableId
4
- } from "./chunk-FWA4MYTA.js";
4
+ } from "./chunk-JRIH6I7D.js";
5
5
 
6
6
  // src/lib/reflection-checkpoints.ts
7
7
  function parsePayload(payload) {
@@ -2,14 +2,14 @@ import {
2
2
  connectEmbedDaemon,
3
3
  disconnectClient,
4
4
  embedViaClient
5
- } from "./chunk-ZKJ5S23O.js";
5
+ } from "./chunk-MFAOAIUE.js";
6
6
  import {
7
7
  EMBEDDING_DIM
8
8
  } from "./chunk-FXU7JOXK.js";
9
9
  import {
10
10
  MODELS_DIR,
11
11
  loadConfigSync
12
- } from "./chunk-ZIG7VPJV.js";
12
+ } from "./chunk-MMS2HBRT.js";
13
13
 
14
14
  // src/lib/embedder.ts
15
15
  var MAX_EMBED_CHARS = 24e3;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  EXE_AI_DIR
3
- } from "./chunk-ZIG7VPJV.js";
3
+ } from "./chunk-MMS2HBRT.js";
4
4
 
5
5
  // src/internal/data-dir.ts
6
6
  import path from "path";
@@ -1,28 +1,28 @@
1
1
  import {
2
2
  createMailboxInboxPoller,
3
3
  getMailboxInboxState
4
- } from "./chunk-XTQ7R2PA.js";
4
+ } from "./chunk-BV2IET6B.js";
5
5
  import {
6
6
  registerDaemonScopedQueryChokepoint
7
- } from "./chunk-3CL2I3RG.js";
7
+ } from "./chunk-IGJMS7C5.js";
8
8
  import {
9
9
  orgPartnerModeActive,
10
10
  resolveOrgPartnerBindings,
11
11
  resolvePartnerIdentities,
12
12
  rosterKeyLookupFor
13
- } from "./chunk-7BMSBACY.js";
13
+ } from "./chunk-VOVFUKEB.js";
14
14
  import {
15
+ createDerivedSeqStore,
15
16
  createMailboxOpener,
16
- createMemorySeqStore,
17
17
  createTaskRequestDispatcher,
18
18
  initOrgConsent,
19
19
  isConsentMacPrimed,
20
20
  primeTaskOriginMarkerKey,
21
21
  scopedQueryChokepointStatus
22
- } from "./chunk-JDQ7JU3A.js";
22
+ } from "./chunk-YLFCH3VA.js";
23
23
  import {
24
24
  flushMailboxOutbox
25
- } from "./chunk-NY6SBR4O.js";
25
+ } from "./chunk-3FGBBJYM.js";
26
26
 
27
27
  // src/lib/org-partner-runtime.ts
28
28
  var OUTBOX_FLUSH_INTERVAL_MS = 6e4;
@@ -148,14 +148,16 @@ async function startPollerFor(binding, opts, log) {
148
148
  throw new Error("refusing to start a mailbox poller before the scoped-query chokepoint is registered");
149
149
  }
150
150
  const identities = await resolvePartnerIdentities(binding.orgId);
151
- const persisted = getMailboxInboxState(binding.orgId, binding.mailboxId);
151
+ const seqStore = createDerivedSeqStore(
152
+ () => getMailboxInboxState(binding.orgId, binding.mailboxId).openerSeed
153
+ );
152
154
  const opener = createMailboxOpener({
153
155
  orgId: binding.orgId,
154
156
  mailboxId: binding.mailboxId,
155
157
  expectedDirection: "down",
156
158
  recipientPrivateScalar: identities.x25519.privateKey,
157
159
  recipientPublicKey: identities.x25519.publicKey,
158
- seqStore: createMemorySeqStore(persisted.lastSeqBySender)
160
+ seqStore
159
161
  });
160
162
  const dispatch = createTaskRequestDispatcher({
161
163
  orgId: binding.orgId,
@@ -171,6 +173,8 @@ async function startPollerFor(binding, opts, log) {
171
173
  orgId: binding.orgId,
172
174
  mailboxId: binding.mailboxId,
173
175
  opener,
176
+ // The SAME instance the opener holds; the poller stages and commits it.
177
+ seqStore,
174
178
  rosterLookup: rosterKeyLookupFor(binding),
175
179
  dispatch,
176
180
  ...opts.intervalMs ? { intervalMs: opts.intervalMs } : {},
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  deactivateBehavior
3
- } from "./chunk-2YIB75UQ.js";
3
+ } from "./chunk-S26CV7BE.js";
4
4
  import {
5
5
  getActiveAgent
6
- } from "./chunk-F6H7GP2O.js";
6
+ } from "./chunk-F4BBMIPG.js";
7
7
  import {
8
8
  canCoordinate,
9
9
  getClient
10
- } from "./chunk-AY2U4NZ5.js";
10
+ } from "./chunk-GL47M7NY.js";
11
11
 
12
12
  // src/mcp/tools/deactivate-behavior.ts
13
13
  import { z } from "zod";
@@ -24,7 +24,7 @@ function registerDeactivateBehavior(server) {
24
24
  async ({ behavior_id }) => {
25
25
  const caller = getActiveAgent();
26
26
  try {
27
- const { StewardGate } = await import("./steward-gate-OKUYYIX6.js");
27
+ const { StewardGate } = await import("./steward-gate-AQJ6KT2C.js");
28
28
  const steward = new StewardGate();
29
29
  const gateDecision = await steward.checkAuthority(caller.agentId || "unknown", "deactivate_behavior", behavior_id);
30
30
  if (!gateDecision.allowed) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  EXE_AI_DIR
3
- } from "./chunk-ZIG7VPJV.js";
3
+ } from "./chunk-MMS2HBRT.js";
4
4
 
5
5
  // src/lib/worker-gate.ts
6
6
  import { readdirSync, writeFileSync, unlinkSync, mkdirSync, existsSync, readFileSync } from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createReminder
3
- } from "./chunk-LGC6TBA3.js";
3
+ } from "./chunk-UXN4BICC.js";
4
4
 
5
5
  // src/mcp/tools/create-reminder.ts
6
6
  import { z } from "zod";
@@ -8,20 +8,20 @@ import {
8
8
  queryTaskRows,
9
9
  resolveExeSession,
10
10
  sendIntercom
11
- } from "./chunk-ZVBVPX4W.js";
11
+ } from "./chunk-7UHZBVP3.js";
12
12
  import {
13
13
  getTransport
14
14
  } from "./chunk-VI4ATC6I.js";
15
15
  import {
16
16
  recordOrchestrationEventBestEffort
17
- } from "./chunk-VUOAPKPI.js";
17
+ } from "./chunk-LSNBTGW4.js";
18
18
  import {
19
19
  releaseDispatchClaim,
20
20
  tryAcquireDispatchClaim
21
- } from "./chunk-XU57KFD6.js";
21
+ } from "./chunk-T5SM4RXY.js";
22
22
  import {
23
23
  getAgentRuntime
24
- } from "./chunk-GZOG2MAX.js";
24
+ } from "./chunk-L5EPGGDP.js";
25
25
  import {
26
26
  getSessionKey
27
27
  } from "./chunk-CVYC6DUW.js";
@@ -29,7 +29,7 @@ import {
29
29
  isCoordinatorName,
30
30
  isMultiInstance,
31
31
  shouldAutoInstance
32
- } from "./chunk-AY2U4NZ5.js";
32
+ } from "./chunk-GL47M7NY.js";
33
33
 
34
34
  // src/lib/tasks-notify.ts
35
35
  var VERIFY_DELAY_MS = 1e4;
@@ -91,7 +91,7 @@ async function dispatchTaskToEmployee(input) {
91
91
  let crossProject = false;
92
92
  if (input.projectName) {
93
93
  try {
94
- const { assertSessionScope } = await import("./session-scope-UB3HA5E7.js");
94
+ const { assertSessionScope } = await import("./session-scope-XG5R3P3D.js");
95
95
  const check = assertSessionScope("dispatch_task", input.projectName);
96
96
  if (check.reason === "cross_session_denied") {
97
97
  crossProject = true;
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-BTSWFMEH.js";
11
11
  import {
12
12
  getClient
13
- } from "./chunk-AY2U4NZ5.js";
13
+ } from "./chunk-GL47M7NY.js";
14
14
 
15
15
  // src/lib/work-claims.ts
16
16
  var CLAIM_TTL_MINUTES = 90;
@@ -306,7 +306,7 @@ async function heartbeatClaims(holderSession, ttlMinutes = CLAIM_TTL_MINUTES) {
306
306
  }
307
307
  async function recordClaimEvent(eventType, sessionScope, agentId, payload, severity) {
308
308
  try {
309
- const { recordOrchestrationEventBestEffort } = await import("./orchestration-events-T2GXV2NG.js");
309
+ const { recordOrchestrationEventBestEffort } = await import("./orchestration-events-JCQ5F5IJ.js");
310
310
  recordOrchestrationEventBestEffort({
311
311
  eventType,
312
312
  source: "work-claims",