@askexenow/exe-os 0.9.396 → 0.9.397

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 (409) hide show
  1. package/deploy/stack-manifests/v0.9.json +134 -1
  2. package/dist/.dist-verified.json +3 -3
  3. package/dist/{active-agent-6CIFLMKA.js → active-agent-GHNUSBYO.js} +4 -4
  4. package/dist/{active-agent-7OKWCTDR.js → active-agent-GOCTWSHD.js} +4 -4
  5. package/dist/{agent-defs-generator-PZJGE6PL.js → agent-defs-generator-KKXWCDQR.js} +3 -3
  6. package/dist/{agentic-ontology-JTPDKIML.js → agentic-ontology-5JFHYHEN.js} +1 -1
  7. package/dist/{artifact-backup-Q7T3GQFO.js → artifact-backup-FDU7UQ5Z.js} +3 -3
  8. package/dist/{backfill-metadata-7QLL3FSG.js → backfill-metadata-OIVQN3GF.js} +7 -7
  9. package/dist/{background-jobs-V3DZRFKU.js → background-jobs-DXZXRPSE.js} +5 -1
  10. package/dist/{backup-verify-SCFVPBZH.js → backup-verify-ZKTVXYOK.js} +5 -5
  11. package/dist/{behavior-injection-CHSQWES4.js → behavior-injection-S2NBCHRK.js} +10 -10
  12. package/dist/{behavior-promotion-TCYWUNKR.js → behavior-promotion-WZIKTD3C.js} +9 -9
  13. package/dist/{behaviors-5FRO36HG.js → behaviors-T2N3VJS3.js} +8 -8
  14. package/dist/bin/age-ontology-load.js +1 -1
  15. package/dist/bin/agentic-ontology-backfill.js +9 -9
  16. package/dist/bin/agentic-reflection-backfill.js +10 -10
  17. package/dist/bin/agentic-semantic-label.js +9 -9
  18. package/dist/bin/backfill-conversations.js +7 -7
  19. package/dist/bin/backfill-responses.js +7 -7
  20. package/dist/bin/backfill-vectors.js +8 -8
  21. package/dist/bin/bulk-sync-postgres.js +17 -17
  22. package/dist/bin/cc-doctor.js +9 -9
  23. package/dist/bin/cleanup-stale-review-tasks.js +18 -18
  24. package/dist/bin/cli.js +28 -28
  25. package/dist/bin/deferred-daemon-restart.js +101 -100
  26. package/dist/bin/exe-actions.js +1 -1
  27. package/dist/bin/exe-agent-config.js +3 -3
  28. package/dist/bin/exe-agent.js +11 -11
  29. package/dist/bin/exe-assign.js +8 -8
  30. package/dist/bin/exe-boot.js +38 -38
  31. package/dist/bin/exe-call.js +8 -8
  32. package/dist/bin/exe-cloud.js +18 -18
  33. package/dist/bin/exe-config-dump.js +3 -3
  34. package/dist/bin/exe-dispatch.js +19 -19
  35. package/dist/bin/exe-doctor.js +6 -6
  36. package/dist/bin/exe-export-behaviors.js +12 -12
  37. package/dist/bin/exe-forget.js +10 -10
  38. package/dist/bin/exe-gateway.js +9 -9
  39. package/dist/bin/exe-grant.js +6 -6
  40. package/dist/bin/exe-healthcheck.js +9 -9
  41. package/dist/bin/exe-heartbeat.js +24 -24
  42. package/dist/bin/exe-kill.js +23 -23
  43. package/dist/bin/exe-launch-agent.js +31 -31
  44. package/dist/bin/exe-mcp.js +5 -5
  45. package/dist/bin/exe-memory-reads.js +7 -7
  46. package/dist/bin/exe-new-employee.js +11 -11
  47. package/dist/bin/exe-os-mcp-proxy.js +5 -5
  48. package/dist/bin/exe-pending-messages.js +19 -19
  49. package/dist/bin/exe-pending-notifications.js +18 -18
  50. package/dist/bin/exe-pending-reviews.js +19 -19
  51. package/dist/bin/exe-rename.js +6 -6
  52. package/dist/bin/exe-review.js +22 -22
  53. package/dist/bin/exe-search.js +9 -9
  54. package/dist/bin/exe-session-cleanup.js +24 -24
  55. package/dist/bin/exe-settings.js +17 -17
  56. package/dist/bin/exe-start-codex.js +18 -18
  57. package/dist/bin/exe-start-opencode.js +16 -16
  58. package/dist/bin/exe-status.js +20 -20
  59. package/dist/bin/exe-support.js +4 -4
  60. package/dist/bin/exe-team.js +5 -5
  61. package/dist/bin/git-sweep.js +22 -22
  62. package/dist/bin/graph-backfill.js +9 -9
  63. package/dist/bin/graph-export.js +8 -8
  64. package/dist/bin/hooks-cli.js +1 -1
  65. package/dist/bin/import-history.js +11 -11
  66. package/dist/bin/install.js +105 -104
  67. package/dist/bin/intercom-check.js +5 -5
  68. package/dist/bin/mcp-sessions.js +2 -2
  69. package/dist/bin/orchestration-metrics.js +5 -5
  70. package/dist/bin/postgres-agentic-reflection-backfill.js +3 -3
  71. package/dist/bin/postgres-agentic-semantic-backfill.js +2 -2
  72. package/dist/bin/reconcile-backlog.js +2 -2
  73. package/dist/bin/registry-proxy.js +1 -1
  74. package/dist/bin/repair-document-chunks.js +7 -7
  75. package/dist/bin/scan-tasks.js +19 -19
  76. package/dist/bin/setup.js +2 -2
  77. package/dist/bin/shard-migrate.js +8 -8
  78. package/dist/bin/stack-update.js +8 -8
  79. package/dist/bin/verify-stack.js +1 -1
  80. package/dist/bin/vps-health-gate.js +1 -1
  81. package/dist/{boot-generation-HBXSYBPC.js → boot-generation-SJQ7JNY7.js} +4 -4
  82. package/dist/{boot-review-sections-66P5JMRV.js → boot-review-sections-G33ATPSN.js} +17 -17
  83. package/dist/{bug-landed-reconciler-QIOAKAPY.js → bug-landed-reconciler-C4UHLQKA.js} +7 -7
  84. package/dist/build-manifest.json +943 -938
  85. package/dist/{capability-cards-6BANN36W.js → capability-cards-KD4UW5DR.js} +3 -3
  86. package/dist/{capacity-monitor-TIKUMNDU.js → capacity-monitor-RKLRCGOG.js} +19 -19
  87. package/dist/{catchup-brief-EVJS7D6C.js → catchup-brief-UHPPUIRL.js} +24 -24
  88. package/dist/{chunk-UALXBUDX.js → chunk-2DDXCN4A.js} +3 -3
  89. package/dist/{chunk-LVFD2DVI.js → chunk-2QF657OK.js} +3 -3
  90. package/dist/{chunk-H4QZCG4C.js → chunk-2SDTYPJ5.js} +1 -1
  91. package/dist/{chunk-SXBLRCQY.js → chunk-2WMPGRZV.js} +4 -4
  92. package/dist/{chunk-OGJCUMSM.js → chunk-2YESHX5N.js} +1 -1
  93. package/dist/{chunk-XOPIR34P.js → chunk-36WZEH4Z.js} +1 -1
  94. package/dist/{chunk-G7BVAQVT.js → chunk-3MK5RGIP.js} +1 -1
  95. package/dist/{chunk-ZTFNKVOM.js → chunk-3ODUTQG5.js} +2 -2
  96. package/dist/{chunk-WFKZZSEB.js → chunk-3QYMH77Q.js} +1 -1
  97. package/dist/{chunk-A7XLR3K7.js → chunk-3R7UDPVR.js} +1 -2
  98. package/dist/{chunk-Y7BP2MO2.js → chunk-44FX5OK6.js} +1 -1
  99. package/dist/{chunk-T6C6RT6R.js → chunk-4BC5DUD7.js} +3 -3
  100. package/dist/{chunk-7UCCSSJO.js → chunk-4MFPPHG4.js} +1 -1
  101. package/dist/{chunk-K3EU7B72.js → chunk-4Y5EKT3D.js} +5 -5
  102. package/dist/{chunk-IVGAATAY.js → chunk-5523XPQ5.js} +4 -4
  103. package/dist/{chunk-PGLASTLI.js → chunk-5BCJKGB3.js} +5 -5
  104. package/dist/{chunk-5RDMJ325.js → chunk-5DFDHMOD.js} +5 -5
  105. package/dist/{chunk-U4GMOT4M.js → chunk-5TAJDCZY.js} +49 -12
  106. package/dist/{chunk-55M4DF76.js → chunk-5UC27XF6.js} +2 -2
  107. package/dist/{chunk-3OG5LZRK.js → chunk-62MT4SAM.js} +1 -1
  108. package/dist/{chunk-EHFPSOLD.js → chunk-6G7CTQBF.js} +4 -4
  109. package/dist/{chunk-L2AUCHHJ.js → chunk-7KMFHVKB.js} +9 -9
  110. package/dist/{chunk-K6NJ7FAZ.js → chunk-ABDYYZSP.js} +33 -8
  111. package/dist/{chunk-JKUCAMV4.js → chunk-AFDVI6KB.js} +1 -1
  112. package/dist/{chunk-MOQBMEMW.js → chunk-AFYSK7BX.js} +4 -4
  113. package/dist/{chunk-BX336WRX.js → chunk-AMSNTFS4.js} +1 -1
  114. package/dist/{chunk-YQJC5ETC.js → chunk-AQZ3WYPU.js} +2 -2
  115. package/dist/{chunk-WUQSEZWR.js → chunk-AUZ4VPKO.js} +1 -1
  116. package/dist/{chunk-XFF6SPWG.js → chunk-AXGHNNOO.js} +1 -1
  117. package/dist/{chunk-TFVMRQCZ.js → chunk-AZRKNXMB.js} +4 -4
  118. package/dist/{chunk-BREDG6EG.js → chunk-BIHUXE5T.js} +9 -5
  119. package/dist/{chunk-GHCF7J4Q.js → chunk-BLZ2LEZF.js} +3 -3
  120. package/dist/{chunk-4CGMGUDL.js → chunk-BMGX4GUS.js} +28 -8
  121. package/dist/{chunk-Q7WMOEKA.js → chunk-BNLXWJLD.js} +39 -21
  122. package/dist/{chunk-RPOIKNJZ.js → chunk-C44UWID5.js} +1 -1
  123. package/dist/{chunk-HHNGQIP3.js → chunk-D73NQPRC.js} +6 -6
  124. package/dist/{chunk-FJPCVXQX.js → chunk-DFIH6ZZF.js} +1 -1
  125. package/dist/{chunk-VN27TCZE.js → chunk-DFNCYH7G.js} +2 -2
  126. package/dist/{chunk-RFIAHXTF.js → chunk-DNCEIP3G.js} +1 -1
  127. package/dist/{chunk-V5KLIBUV.js → chunk-DOMITJOC.js} +1 -1
  128. package/dist/{chunk-BKKZN3DJ.js → chunk-DQQTUIQJ.js} +7 -7
  129. package/dist/{chunk-CEKNYT2D.js → chunk-E7IALVOP.js} +12 -12
  130. package/dist/{chunk-656JZVNV.js → chunk-EK5EYX37.js} +3 -3
  131. package/dist/{chunk-WEW4TRBL.js → chunk-EPKJANA5.js} +1 -1
  132. package/dist/{chunk-M7DI6JWD.js → chunk-EZ2JLFDT.js} +169 -169
  133. package/dist/{chunk-G3KSUXEA.js → chunk-F63FRP7L.js} +1 -1
  134. package/dist/{chunk-I4DBM5ME.js → chunk-F6OV7JP2.js} +1 -1
  135. package/dist/{chunk-7WDLUCHN.js → chunk-FQMLNMUZ.js} +3 -3
  136. package/dist/{chunk-QQJI7JGN.js → chunk-FZPJBU3F.js} +4 -4
  137. package/dist/{chunk-DXQIIZQC.js → chunk-GAUMGWSQ.js} +12 -12
  138. package/dist/{chunk-LEA7VKPU.js → chunk-GGSXOKK6.js} +10 -10
  139. package/dist/{chunk-6VMVQ3G7.js → chunk-GTW56AUB.js} +57 -12
  140. package/dist/{chunk-X5FCZYWK.js → chunk-GUZOREJ4.js} +2 -2
  141. package/dist/{chunk-D2ZII4AG.js → chunk-GW67QP3K.js} +6 -6
  142. package/dist/{chunk-LNCTMU7Y.js → chunk-HNVYH2WE.js} +2 -2
  143. package/dist/{chunk-4NOGWIBA.js → chunk-HSEBRWE2.js} +3 -3
  144. package/dist/{chunk-B6CBN6EF.js → chunk-HWP3WCLC.js} +51 -4
  145. package/dist/{chunk-KBCUHYHP.js → chunk-I3MPYHFM.js} +2 -2
  146. package/dist/{chunk-Y5ZD4CTB.js → chunk-ITV2CEFW.js} +1 -1
  147. package/dist/{chunk-BJ3ZQAIL.js → chunk-IV63ZWK6.js} +1 -1
  148. package/dist/{chunk-6FWHAROQ.js → chunk-JI7TFGJY.js} +3 -3
  149. package/dist/{chunk-EHDAWQ5P.js → chunk-JO7ZJTFL.js} +1 -1
  150. package/dist/{chunk-5BUJW46U.js → chunk-K5FSX6H6.js} +104 -10
  151. package/dist/{chunk-LRAMTS6U.js → chunk-KAY2CDFK.js} +7 -7
  152. package/dist/{chunk-ZEYBEJBX.js → chunk-KDRYMX6M.js} +11 -11
  153. package/dist/{chunk-DXIMITSY.js → chunk-KOOURQVV.js} +3 -3
  154. package/dist/{chunk-5UUHXDX6.js → chunk-KPDKZEVT.js} +2 -2
  155. package/dist/{chunk-DSZM7OHM.js → chunk-M65DE5CO.js} +1 -1
  156. package/dist/{chunk-WDLJZKJK.js → chunk-M7P6GCXS.js} +3 -3
  157. package/dist/{chunk-LGNDHTDP.js → chunk-MB3XK7YW.js} +1 -1
  158. package/dist/{chunk-MGPEY7I2.js → chunk-MKHUI5UB.js} +1 -1
  159. package/dist/{chunk-JSOXH5HW.js → chunk-NW6XAQLN.js} +2 -2
  160. package/dist/{chunk-5AGOX2XD.js → chunk-O22YLZXQ.js} +1 -1
  161. package/dist/{chunk-WAPCTGGB.js → chunk-O2INE7WD.js} +1 -1
  162. package/dist/{chunk-6Q3M7KZE.js → chunk-OJ2OGGK2.js} +3 -3
  163. package/dist/{chunk-UWLWYGJJ.js → chunk-P25NNTN3.js} +1 -1
  164. package/dist/{chunk-V4JWFJZR.js → chunk-P4C3BX2L.js} +16 -16
  165. package/dist/{chunk-EG4ZUF4A.js → chunk-PAYDZ6J3.js} +2 -2
  166. package/dist/{chunk-ONYDMXRV.js → chunk-PSB3QGYL.js} +1 -1
  167. package/dist/{chunk-4CB4VETH.js → chunk-PTI2NYAM.js} +2 -2
  168. package/dist/{chunk-2NW4LRDU.js → chunk-QIMM3CSI.js} +92 -12
  169. package/dist/{chunk-OODTK35C.js → chunk-QKH64COS.js} +5 -5
  170. package/dist/{chunk-JVK6JYR4.js → chunk-QR7VJ5WB.js} +1 -1
  171. package/dist/{chunk-KM7M4LKN.js → chunk-QRWGGJAA.js} +3 -3
  172. package/dist/{chunk-F5VP7K3C.js → chunk-QTVEBBQT.js} +59 -12
  173. package/dist/{chunk-SUZWRZE5.js → chunk-RAPFF7J7.js} +1 -1
  174. package/dist/{chunk-TQJMG65I.js → chunk-RC6Q5KSW.js} +2 -2
  175. package/dist/{chunk-ONMKHJJL.js → chunk-RGPEUXOE.js} +7 -4
  176. package/dist/{chunk-45R4367S.js → chunk-ROOST7ZU.js} +1 -1
  177. package/dist/{chunk-GHIMWZN4.js → chunk-ROQ6R3FV.js} +1 -1
  178. package/dist/{chunk-YG6MHFUP.js → chunk-RWDU3OKM.js} +2 -2
  179. package/dist/{chunk-TQEW3RJ3.js → chunk-SC3QNY3H.js} +2 -2
  180. package/dist/{chunk-INLY2LLN.js → chunk-SDYIUXW7.js} +1 -1
  181. package/dist/{chunk-PAJ7FUTI.js → chunk-SH5IEP2Q.js} +1 -1
  182. package/dist/{chunk-RPV6CHKA.js → chunk-SKWDDWHT.js} +4 -4
  183. package/dist/{chunk-W6W6ED2D.js → chunk-T4LKMZKF.js} +1 -1
  184. package/dist/{chunk-PE7RXZQE.js → chunk-TFKVXWVG.js} +5 -5
  185. package/dist/{chunk-NTWCFT5X.js → chunk-TM2BQ6PS.js} +3 -3
  186. package/dist/{chunk-V7NXFHZM.js → chunk-TQDEHRVD.js} +1 -1
  187. package/dist/{chunk-S2Q2RXYQ.js → chunk-TRBSWP2V.js} +1 -1
  188. package/dist/{chunk-UW5KXM4D.js → chunk-TTHUPNBU.js} +1 -1
  189. package/dist/{chunk-VH4IRABX.js → chunk-TWHPVYBU.js} +4 -4
  190. package/dist/{chunk-JC3LUYW6.js → chunk-U67KLIPZ.js} +1 -1
  191. package/dist/{chunk-UVEDFARJ.js → chunk-UBFKX2AN.js} +13 -13
  192. package/dist/{chunk-7INEFMVU.js → chunk-UNFHKOTF.js} +44 -15
  193. package/dist/{chunk-B2P6OX3V.js → chunk-VESYCD2K.js} +3 -3
  194. package/dist/{chunk-VV7D7KEX.js → chunk-VRPXCQV6.js} +1 -1
  195. package/dist/{chunk-X2X3IGZU.js → chunk-W4H2MZAS.js} +17 -5
  196. package/dist/{chunk-FNVZAK4C.js → chunk-WO6KY2SP.js} +6 -6
  197. package/dist/{chunk-SLRKZRLC.js → chunk-WOG5XT2P.js} +1 -1
  198. package/dist/{chunk-4UOEKQF3.js → chunk-XG7OHNPA.js} +6 -6
  199. package/dist/{chunk-5YAXBLZR.js → chunk-XHSCV3BM.js} +1 -1
  200. package/dist/{chunk-DDYKAJMS.js → chunk-XJRF26L5.js} +1 -1
  201. package/dist/{chunk-3CAKKEEY.js → chunk-XWOEPR2Q.js} +2 -2
  202. package/dist/{chunk-7C4YKCUK.js → chunk-XYB7GHGV.js} +1 -1
  203. package/dist/{chunk-V4RIHICU.js → chunk-Y2DTTZCV.js} +26 -26
  204. package/dist/{chunk-GPB6X2OI.js → chunk-YBUSK4GH.js} +1 -1
  205. package/dist/{chunk-5M4UNU6O.js → chunk-YLY66VLU.js} +3 -3
  206. package/dist/{chunk-ZSFFCRVI.js → chunk-YPSS2SHD.js} +2 -2
  207. package/dist/{chunk-SSGIMXA6.js → chunk-YYPHTYOV.js} +3 -3
  208. package/dist/{chunk-OWPOJ6OG.js → chunk-ZBUUFS5G.js} +1 -1
  209. package/dist/{chunk-6OQ2TRZK.js → chunk-ZFDQJVKH.js} +8 -2
  210. package/dist/{cleanup-graph-garbage-AXNCBW5B.js → cleanup-graph-garbage-EPZIDN7L.js} +8 -8
  211. package/dist/{cli-shutdown-HIZRMWKR.js → cli-shutdown-DM5YVHIP.js} +1 -1
  212. package/dist/{cloud-sync-command-XYKKRYHG.js → cloud-sync-command-FNOSXKNT.js} +2 -2
  213. package/dist/{cloud-sync-db-init-GJ322ZNM.js → cloud-sync-db-init-5DIULXS2.js} +1 -1
  214. package/dist/{cloud-sync-shutdown-K4XBDTDB.js → cloud-sync-shutdown-RTTZ3C53.js} +3 -3
  215. package/dist/{co-activation-AQXLWFBQ.js → co-activation-7D34HSWC.js} +3 -3
  216. package/dist/{co-occurrence-O67PD32I.js → co-occurrence-7JJMQ3GI.js} +6 -6
  217. package/dist/{consent-passphrase-DTOZ7LIP.js → consent-passphrase-ZNB3GYWB.js} +2 -2
  218. package/dist/{conversation-entity-extractor-VRL2EEZQ.js → conversation-entity-extractor-YSNOVYBN.js} +3 -3
  219. package/dist/{crdt-sync-RPCGSGIE.js → crdt-sync-MHQ6XSMO.js} +4 -4
  220. package/dist/{crm-webhook-4QADMY7C.js → crm-webhook-WLFDORDH.js} +2 -2
  221. package/dist/{cto-delegation-gate-6N2R2VA2.js → cto-delegation-gate-KD5POZYX.js} +17 -17
  222. package/dist/{daemon-orchestration-ASCAZ63R.js → daemon-orchestration-3LRZCT6E.js} +25 -22
  223. package/dist/{daemon-restart-circuit-breaker-CD4VMCU7.js → daemon-restart-circuit-breaker-PY2MZL7Z.js} +1 -1
  224. package/dist/{db-integrity-events-7NKWS5MT.js → db-integrity-events-6363LLDT.js} +1 -1
  225. package/dist/{db-restore-events-XYL6CGPC.js → db-restore-events-R5S7XTHX.js} +47 -11
  226. package/dist/{doc-graph-extractor-VVSMYOR3.js → doc-graph-extractor-KNX2SMZH.js} +6 -6
  227. package/dist/{documents-5WNSGY3Q.js → documents-2QWQETQJ.js} +8 -8
  228. package/dist/{dreaming-2TPLO3TO.js → dreaming-AQHABHGO.js} +22 -22
  229. package/dist/{employee-boot-brief-MYXATLSU.js → employee-boot-brief-XJDE3JSJ.js} +26 -26
  230. package/dist/{entity-boost-BW62CICZ.js → entity-boost-T6WZN7UG.js} +1 -1
  231. package/dist/{exe-drift-PFFRJJTZ.js → exe-drift-NRQ36UMA.js} +4 -4
  232. package/dist/{exe-export-LL5SV6P2.js → exe-export-ET4SWQ3K.js} +9 -9
  233. package/dist/{exe-import-LSQMDFDX.js → exe-import-DSMF6Z6O.js} +9 -9
  234. package/dist/{exe-key-266A5GJN.js → exe-key-UUMREJEU.js} +101 -100
  235. package/dist/{exe-org-T5DQXHGZ.js → exe-org-GV72LHO5.js} +36 -36
  236. package/dist/{exe-snapshot-LMMGFX7O.js → exe-snapshot-EQG3R45R.js} +25 -25
  237. package/dist/{fast-db-init-6MQDCHEB.js → fast-db-init-YRCNKGFD.js} +1 -1
  238. package/dist/{founder-context-6Q6OU7Q7.js → founder-context-3X5JFEQQ.js} +3 -3
  239. package/dist/{founder-monitor-envelope-RBSOSB6K.js → founder-monitor-envelope-OYRYJZBS.js} +4 -4
  240. package/dist/{fts-integrity-PHCKKOBC.js → fts-integrity-PL7TKYTM.js} +1 -1
  241. package/dist/gateway/index.js +21 -21
  242. package/dist/{gateway-client-4GHRSWHK.js → gateway-client-R3XZHUNA.js} +1 -1
  243. package/dist/{git-staleness-APYCKV4V.js → git-staleness-JWTUU3B7.js} +3 -3
  244. package/dist/{global-procedures-HYFE2UTQ.js → global-procedures-GUCIJGTG.js} +5 -5
  245. package/dist/{graph-auto-extract-LFXYAEY5.js → graph-auto-extract-SGRQ37NU.js} +6 -6
  246. package/dist/{graph-query-4F4D4NDH.js → graph-query-ABAIG6YK.js} +1 -1
  247. package/dist/{graph-rag-YZNY6Z3H.js → graph-rag-DB5SXSJ6.js} +3 -3
  248. package/dist/{hook-integrity-KNCDGZUD.js → hook-integrity-AGQSJJGP.js} +1 -1
  249. package/dist/{hook-prefetch-ZBUCJBJB.js → hook-prefetch-GUBRFD5N.js} +18 -18
  250. package/dist/hooks/bug-report-worker.js +22 -22
  251. package/dist/hooks/codex-stop-task-finalizer.js +24 -24
  252. package/dist/hooks/commit-complete.js +22 -22
  253. package/dist/hooks/error-recall.js +11 -11
  254. package/dist/hooks/exe-heartbeat-hook.js +5 -5
  255. package/dist/hooks/ingest-worker.js +7 -7
  256. package/dist/hooks/ingest.js +13 -13
  257. package/dist/hooks/instructions-loaded.js +7 -7
  258. package/dist/hooks/manifest.json +20 -20
  259. package/dist/hooks/notification.js +6 -6
  260. package/dist/hooks/post-compact.js +5 -5
  261. package/dist/hooks/post-tool-combined.js +13 -13
  262. package/dist/hooks/pre-compact.js +21 -21
  263. package/dist/hooks/pre-tool-use.js +2 -2
  264. package/dist/hooks/prompt-submit.js +39 -39
  265. package/dist/hooks/session-end.js +26 -26
  266. package/dist/hooks/session-start.js +18 -18
  267. package/dist/hooks/stop.js +24 -24
  268. package/dist/hooks/subagent-stop.js +23 -23
  269. package/dist/hooks/summary-worker.js +25 -25
  270. package/dist/index.js +29 -29
  271. package/dist/{installer-TNTAEKCO.js → installer-IRALYZ4O.js} +7 -7
  272. package/dist/{installer-MABZRBTF.js → installer-KC5BRKQD.js} +7 -7
  273. package/dist/{installer-ZWGREGIY.js → installer-W2REG4OT.js} +7 -7
  274. package/dist/{intercom-queue-UHL4MXLB.js → intercom-queue-WJ52Y7ZM.js} +17 -17
  275. package/dist/lib/cloud-sync.js +17 -17
  276. package/dist/lib/consolidation.js +9 -9
  277. package/dist/lib/crypto.js +3 -3
  278. package/dist/lib/database.js +3 -3
  279. package/dist/lib/db-backup.js +1 -1
  280. package/dist/lib/db-write-worker.js +3 -3
  281. package/dist/lib/db.js +3 -3
  282. package/dist/lib/device-registry.js +1 -1
  283. package/dist/lib/employee-templates.js +6 -6
  284. package/dist/lib/employees.js +3 -3
  285. package/dist/lib/exe-daemon.js +90 -90
  286. package/dist/lib/hybrid-search.js +9 -9
  287. package/dist/lib/identity.js +3 -3
  288. package/dist/lib/keychain.js +1 -1
  289. package/dist/lib/license.js +3 -3
  290. package/dist/lib/messaging.js +18 -18
  291. package/dist/lib/post-tool-memory.js +5 -5
  292. package/dist/lib/registry-proxy.js +1 -1
  293. package/dist/lib/reminders.js +4 -4
  294. package/dist/lib/schedules.js +8 -8
  295. package/dist/lib/session-registry.js +5 -5
  296. package/dist/lib/skill-learning.js +9 -9
  297. package/dist/lib/store.js +7 -7
  298. package/dist/lib/task-router.js +4 -4
  299. package/dist/lib/tasks.js +19 -19
  300. package/dist/lib/tmux-routing.js +17 -17
  301. package/dist/lib/token-spend.js +4 -4
  302. package/dist/lib/workflow-drift.js +270 -0
  303. package/dist/lib/ws-client.js +1 -1
  304. package/dist/{license-gate-PJVMRJFR.js → license-gate-YAA3BFTG.js} +4 -4
  305. package/dist/{license-recheck-5PXGSCSR.js → license-recheck-WOVNBY54.js} +1 -1
  306. package/dist/{license-sync-YCV3GMHN.js → license-sync-4GBRQ3NQ.js} +3 -3
  307. package/dist/mcp/register-tools.js +100 -99
  308. package/dist/mcp/server.js +100 -99
  309. package/dist/mcp/tools/complete-reminder.js +5 -5
  310. package/dist/mcp/tools/create-reminder.js +5 -5
  311. package/dist/mcp/tools/create-task.js +21 -21
  312. package/dist/mcp/tools/deactivate-behavior.js +10 -10
  313. package/dist/mcp/tools/list-reminders.js +5 -5
  314. package/dist/mcp/tools/list-tasks.js +21 -21
  315. package/dist/mcp/tools/send-message.js +20 -20
  316. package/dist/mcp/tools/update-task.js +20 -20
  317. package/dist/{mcp-http-config-TZLMIQDV.js → mcp-http-config-JJFHT7EU.js} +5 -5
  318. package/dist/{mcp-session-identity-FQUOB5SF.js → mcp-session-identity-AA24Y7M7.js} +17 -17
  319. package/dist/{memory-cards-BH53SM42.js → memory-cards-FE7CH766.js} +7 -7
  320. package/dist/{memory-graph-extractor-I6WXM5IC.js → memory-graph-extractor-XALPE33I.js} +7 -7
  321. package/dist/{memory-maintenance-CD2PUBDK.js → memory-maintenance-42VRD746.js} +1 -1
  322. package/dist/{memory-poisoning-defense-CC6RGH6M.js → memory-poisoning-defense-R7T4ZQBO.js} +3 -3
  323. package/dist/{memory-pressure-watchdog-CDEOMXDR.js → memory-pressure-watchdog-YR7OOVNY.js} +18 -18
  324. package/dist/{memory-reflection-VXFXG55L.js → memory-reflection-SU57VEBT.js} +7 -7
  325. package/dist/{memory-write-repository-NLQLH4UL.js → memory-write-repository-AZFMYNFE.js} +1 -1
  326. package/dist/{monitor-grants-6VWM3J3S.js → monitor-grants-EQOXKY44.js} +3 -3
  327. package/dist/{monitor-identity-YPFRT4AT.js → monitor-identity-QO7YCJ45.js} +2 -2
  328. package/dist/{notification-ledger-2GIT6AZ7.js → notification-ledger-BYBU427R.js} +18 -18
  329. package/dist/{notifications-LHDV4WKP.js → notifications-7EBPEORY.js} +17 -17
  330. package/dist/{orchestration-events-ABHTWWN4.js → orchestration-events-UWSAFL25.js} +4 -4
  331. package/dist/{orchestrator-N7FCY6H2.js → orchestrator-T3LSQK7S.js} +19 -19
  332. package/dist/{org-brief-session-O6YNFSX3.js → org-brief-session-4VXN7UFY.js} +15 -15
  333. package/dist/{org-consent-policy-FJH3KTAL.js → org-consent-policy-X4ZEAHIR.js} +5 -5
  334. package/dist/{org-join-55WN6YRL.js → org-join-2GRVJWCW.js} +11 -11
  335. package/dist/{org-key-admin-FFMICGMY.js → org-key-admin-Q54ZASNY.js} +13 -13
  336. package/dist/{org-key-epoch-RKOF3H2A.js → org-key-epoch-F3XYALXK.js} +5 -5
  337. package/dist/{org-key-pin-SMZS3GE3.js → org-key-pin-3ZKOEYQS.js} +3 -3
  338. package/dist/{org-membership-7VBJJBGO.js → org-membership-3EHM5TDB.js} +4 -4
  339. package/dist/{org-partner-config-7LOXIBW5.js → org-partner-config-N32CQSIW.js} +8 -8
  340. package/dist/{org-partner-runtime-CIFSQNOI.js → org-partner-runtime-S7Q4W5I5.js} +15 -15
  341. package/dist/{org-row-visibility-EBN7EI6C.js → org-row-visibility-IUOZSB56.js} +1 -1
  342. package/dist/{pipeline-router-VETNF3MF.js → pipeline-router-GCAJZN4H.js} +4 -4
  343. package/dist/{plan-limits-7NDDDRHR.js → plan-limits-N5TAWTKK.js} +7 -7
  344. package/dist/{pre-tool-use-impl-GIVQWE6Q.js → pre-tool-use-impl-VCHU3RAP.js} +33 -33
  345. package/dist/{project-name-5D6ZQNAY.js → project-name-2GN2XXVD.js} +4 -4
  346. package/dist/{projection-worker-4BB4ZN3S.js → projection-worker-3GKE4WEE.js} +2 -2
  347. package/dist/{prospective-memory-WUK4ZEVR.js → prospective-memory-TYA3TWQD.js} +3 -3
  348. package/dist/{push-notifications-UZQLJGEY.js → push-notifications-NKOXRWUY.js} +18 -18
  349. package/dist/{reproject-worktree-memories-XFUKN3ZC.js → reproject-worktree-memories-OPUWR2K2.js} +17 -17
  350. package/dist/{reranker-6F6Y7QHA.js → reranker-IYVEMKHW.js} +1 -1
  351. package/dist/{retrieval-health-SCFZCV7Q.js → retrieval-health-BIGTBGIP.js} +2 -2
  352. package/dist/{review-polling-CFDLKJE4.js → review-polling-ZLIBMKW4.js} +18 -18
  353. package/dist/runtime/index.js +21 -21
  354. package/dist/{seat-benefit-VDQJYJOB.js → seat-benefit-YEUQBNCS.js} +2 -2
  355. package/dist/{session-events-4SCVQUMA.js → session-events-H5T2UBTK.js} +18 -18
  356. package/dist/{session-kill-telemetry-OBBCVT3O.js → session-kill-telemetry-AHUOYQEM.js} +18 -18
  357. package/dist/{session-scope-LDRY5PBO.js → session-scope-KVIRKTX7.js} +17 -17
  358. package/dist/{setup-wizard-LS6BNHYK.js → setup-wizard-5VRFHYUR.js} +2 -2
  359. package/dist/{shard-manager-7X42DNFE.js → shard-manager-TPRWCONR.js} +2 -2
  360. package/dist/{skill-refinement-B4EGDBE2.js → skill-refinement-2IOY2TOP.js} +4 -4
  361. package/dist/{skill-retrieval-2ZHX6EQZ.js → skill-retrieval-55KMSROF.js} +11 -11
  362. package/dist/{skill-usage-DO6M6W5E.js → skill-usage-JCSBXOM6.js} +4 -4
  363. package/dist/{stack-generate-manifest-H2YBCYRW.js → stack-generate-manifest-HDZZ5ZRU.js} +5 -5
  364. package/dist/{stack-promote-WOATPAGM.js → stack-promote-OLIJI4GI.js} +5 -5
  365. package/dist/{stack-release-BAD4BTHF.js → stack-release-QBLVY2ZF.js} +6 -11
  366. package/dist/{stack-update-H3YXPL7Z.js → stack-update-JHPGK6AM.js} +4 -4
  367. package/dist/{steward-gate-T2XM2NE4.js → steward-gate-2YQ6DOO3.js} +4 -4
  368. package/dist/{subagent-brief-injection-5B2XWRZI.js → subagent-brief-injection-BKSHRUTQ.js} +28 -28
  369. package/dist/{support-bug-actions-GQYF373N.js → support-bug-actions-G2I77EPX.js} +4 -4
  370. package/dist/{support-inbox-WYWKDLFI.js → support-inbox-FP44VIA4.js} +14 -14
  371. package/dist/{task-enforcement-IIWZPEHF.js → task-enforcement-MJSY7ZZF.js} +18 -18
  372. package/dist/{task-request-inbox-GYK2XLSB.js → task-request-inbox-AZUGPSW6.js} +5 -5
  373. package/dist/{task-scope-YHXKRO2Y.js → task-scope-NF7JKUD7.js} +17 -17
  374. package/dist/{tasks-crud-BHG6IQ5Z.js → tasks-crud-SRP4GIL2.js} +17 -17
  375. package/dist/{tasks-notify-PX22TSMC.js → tasks-notify-VP3ZRTKA.js} +18 -18
  376. package/dist/{tasks-review-6BPGUXJB.js → tasks-review-ASOST3JT.js} +17 -17
  377. package/dist/{telemetry-upload-HCV4KRB6.js → telemetry-upload-KIMFENPR.js} +9 -9
  378. package/dist/{token-budget-YVIX2L2Y.js → token-budget-47HHAV2D.js} +4 -4
  379. package/dist/{tool-telemetry-JWI2CHI3.js → tool-telemetry-D6DUOQHB.js} +1 -1
  380. package/dist/tui/App.js +27 -27
  381. package/dist/{tui-data-E5EA34WJ.js → tui-data-3Y2DUC57.js} +21 -21
  382. package/dist/{update-support-JCUIC5J2.js → update-support-5G5P4ZGV.js} +12 -12
  383. package/dist/{whatsapp-XRTRUPFR.js → whatsapp-KGOFKMVE.js} +2 -2
  384. package/dist/{wiki-acl-PKJLSR6U.js → wiki-acl-CXFMQHKZ.js} +1 -1
  385. package/dist/{work-claims-BB6S6QU5.js → work-claims-O2WSV3EK.js} +4 -4
  386. package/dist/{work-state-heartbeat-O2SS2VWD.js → work-state-heartbeat-EPJZICCW.js} +1 -1
  387. package/dist/{workflow-engine-XWQS7VBY.js → workflow-engine-MVMZIOEQ.js} +2 -2
  388. package/dist/{worktree-F3TKPS5Z.js → worktree-DIXUIFXS.js} +5 -5
  389. package/dist/{worktree-sweep-OF4ST7IR.js → worktree-sweep-ZKPAO5EG.js} +10 -6
  390. package/package.json +2 -1
  391. package/release-notes.json +27 -7
  392. package/stack.release.json +3 -3
  393. /package/dist/{chunk-PKPJ62VF.js → chunk-3JRVKBF2.js} +0 -0
  394. /package/dist/{chunk-CEPUA7JC.js → chunk-BTIXHM2F.js} +0 -0
  395. /package/dist/{chunk-W3DHPCFX.js → chunk-FMCLWB6A.js} +0 -0
  396. /package/dist/{chunk-XDZWSK3F.js → chunk-GASLH556.js} +0 -0
  397. /package/dist/{chunk-MQNHXT54.js → chunk-GZL3DOGB.js} +0 -0
  398. /package/dist/{chunk-4D7SDPAB.js → chunk-MBZXKIG3.js} +0 -0
  399. /package/dist/{chunk-KY5XPFMA.js → chunk-OJ7SLC5P.js} +0 -0
  400. /package/dist/{chunk-CULFTILF.js → chunk-ONXR3HDH.js} +0 -0
  401. /package/dist/{chunk-MFRU5TLH.js → chunk-RICCASG5.js} +0 -0
  402. /package/dist/{chunk-I3F7MGSI.js → chunk-RYXW24OR.js} +0 -0
  403. /package/dist/{chunk-GNFWZ2MA.js → chunk-TXMGX6U2.js} +0 -0
  404. /package/dist/{chunk-NRR6VAG2.js → chunk-X7VWZ4ZI.js} +0 -0
  405. /package/dist/{chunk-W7S7AEVC.js → chunk-ZZBQO44I.js} +0 -0
  406. /package/dist/{core-memory-Z4FUMYA6.js → core-memory-LDOO2QBB.js} +0 -0
  407. /package/dist/{memory-isolation-PDFRPDVY.js → memory-isolation-JVIFSPYK.js} +0 -0
  408. /package/dist/{oauth-server-TM5XWRX3.js → oauth-server-N22SJWOH.js} +0 -0
  409. /package/dist/{project-boot-VFW3KDOY.js → project-boot-46E2KI2Y.js} +0 -0
@@ -1,6 +1,10 @@
1
+ import {
2
+ createCRMWebhookHandler,
3
+ parseTwentyWebhook
4
+ } from "./chunk-T4LKMZKF.js";
1
5
  import {
2
6
  WhatsAppAdapter
3
- } from "./chunk-WAPCTGGB.js";
7
+ } from "./chunk-O2INE7WD.js";
4
8
  import {
5
9
  SignalAdapter
6
10
  } from "./chunk-RJT7H2KR.js";
@@ -16,17 +20,6 @@ import {
16
20
  import {
17
21
  IMessageAdapter
18
22
  } from "./chunk-2SRG3B3D.js";
19
- import {
20
- createCRMWebhookHandler,
21
- parseTwentyWebhook
22
- } from "./chunk-W6W6ED2D.js";
23
- import {
24
- OllamaProvider
25
- } from "./chunk-FWFFZGSC.js";
26
- import {
27
- AnthropicProvider,
28
- OpenAICompatProvider
29
- } from "./chunk-ECGTESAP.js";
30
23
  import {
31
24
  BotRegistry,
32
25
  BotRuntime,
@@ -49,7 +42,14 @@ import {
49
42
  retryWithBackoff,
50
43
  routeMessage,
51
44
  validateGatewayConfig
52
- } from "./chunk-EG4ZUF4A.js";
45
+ } from "./chunk-PAYDZ6J3.js";
46
+ import {
47
+ OllamaProvider
48
+ } from "./chunk-FWFFZGSC.js";
49
+ import {
50
+ AnthropicProvider,
51
+ OpenAICompatProvider
52
+ } from "./chunk-ECGTESAP.js";
53
53
  import {
54
54
  getAccountByName,
55
55
  getAccountByPhoneNumberId,
@@ -175,25 +175,47 @@ function evaluateRestartBreaker(prev, now, bootClass, windowMs = RESTART_BREAKER
175
175
  };
176
176
  }
177
177
  function loadStateEntries(deps) {
178
+ let raw;
178
179
  try {
179
- if (!deps.exists(deps.statePath)) return [];
180
- const parsed = JSON.parse(deps.read(deps.statePath));
180
+ if (!deps.exists(deps.statePath)) return { entries: [], readable: true };
181
+ raw = deps.read(deps.statePath);
182
+ } catch (err) {
183
+ process.stderr.write(
184
+ `[exed] Restart-breaker state file unreadable \u2014 FAILING OPEN for this boot (treating as empty, will not trip) but PRESERVING the file on disk so the crash window is not erased: ${err instanceof Error ? err.message : String(err)}
185
+ `
186
+ );
187
+ return { entries: [], readable: false };
188
+ }
189
+ try {
190
+ const parsed = JSON.parse(raw);
181
191
  if (!Array.isArray(parsed.restarts)) throw new Error("restarts is not an array");
182
- return parsed.restarts.map((e) => {
192
+ const entries = parsed.restarts.map((e) => {
183
193
  if (typeof e === "number" && Number.isFinite(e)) return { t: e, c: "x" };
184
194
  if (e && typeof e.t === "number") {
185
- const raw = e.c;
186
- const c = raw === "s" ? "s" : raw === "r" ? "r" : "x";
195
+ const raw2 = e.c;
196
+ const c = raw2 === "s" ? "s" : raw2 === "r" ? "r" : "x";
187
197
  return { t: e.t, c };
188
198
  }
189
199
  return null;
190
200
  }).filter((e) => e !== null);
201
+ return { entries, readable: true };
191
202
  } catch (err) {
192
- process.stderr.write(
193
- `[exed] Restart-breaker state file unreadable \u2014 FAILING OPEN (treating as empty, will not trip): ${err instanceof Error ? err.message : String(err)}
203
+ const quarantinePath = `${deps.statePath}.corrupt-${deps.now()}`;
204
+ try {
205
+ deps.write(quarantinePath, raw);
206
+ deps.remove(deps.statePath);
207
+ process.stderr.write(
208
+ `[exed] Restart-breaker state file was malformed JSON \u2014 quarantined corrupt bytes to ${quarantinePath} and reset restart tracking to a fresh empty state so crash tracking resumes: ${err instanceof Error ? err.message : String(err)}
194
209
  `
195
- );
196
- return [];
210
+ );
211
+ return { entries: [], readable: true };
212
+ } catch (quarantineErr) {
213
+ process.stderr.write(
214
+ `[exed] Restart-breaker state file malformed AND could not be quarantined \u2014 FAILING OPEN for this boot (treating as empty, will not trip), original file left in place: ${quarantineErr instanceof Error ? quarantineErr.message : String(quarantineErr)}
215
+ `
216
+ );
217
+ return { entries: [], readable: false };
218
+ }
197
219
  }
198
220
  }
199
221
  function readLastExit(deps) {
@@ -220,7 +242,8 @@ function readLastExit(deps) {
220
242
  function recordDaemonRestart(deps = REAL_DEPS, gap, priorRestartIntent) {
221
243
  const lastExit = readLastExit(deps);
222
244
  const now = deps.now();
223
- const prevEntries = loadStateEntries(deps);
245
+ const prevState = loadStateEntries(deps);
246
+ const prevEntries = prevState.entries;
224
247
  const priorCrashesInWindow = prevEntries.filter(
225
248
  (e) => e.c === "x" && now - e.t < RESTART_BREAKER_WINDOW_MS
226
249
  ).length;
@@ -239,9 +262,15 @@ function recordDaemonRestart(deps = REAL_DEPS, gap, priorRestartIntent) {
239
262
  RESTART_BREAKER_THRESHOLD,
240
263
  recoverable
241
264
  );
242
- try {
243
- deps.write(deps.statePath, JSON.stringify({ restarts: ev.entries }));
244
- } catch {
265
+ if (prevState.readable) {
266
+ try {
267
+ deps.write(deps.statePath, JSON.stringify({ restarts: ev.entries }));
268
+ } catch {
269
+ }
270
+ } else {
271
+ process.stderr.write(
272
+ "[exed] Restart-breaker state NOT persisted this boot \u2014 the existing file could not be read and overwriting it would erase the crash window the breaker trips on.\n"
273
+ );
245
274
  }
246
275
  const decision = {
247
276
  trip: ev.trip,
@@ -320,11 +349,11 @@ function selfHealStormAlertPath() {
320
349
  }
321
350
  function crashBootsInWindow(deps = REAL_DEPS, windowMs = RESTART_BREAKER_WINDOW_MS) {
322
351
  const now = deps.now();
323
- return loadStateEntries(deps).filter((e) => e.c === "x" && now - e.t < windowMs).length;
352
+ return loadStateEntries(deps).entries.filter((e) => e.c === "x" && now - e.t < windowMs).length;
324
353
  }
325
354
  function restartBootsInWindow(deps = REAL_DEPS, windowMs = RESTART_BREAKER_WINDOW_MS) {
326
355
  const now = deps.now();
327
- return loadStateEntries(deps).filter((e) => now - e.t < windowMs).length;
356
+ return loadStateEntries(deps).entries.filter((e) => now - e.t < windowMs).length;
328
357
  }
329
358
  function writeBreakerAlert(decision, lastExit, deps = REAL_DEPS) {
330
359
  const windowMin = Math.round(RESTART_BREAKER_WINDOW_MS / 6e4);
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  resolveAuth,
3
3
  resolveEndpoint
4
- } from "./chunk-4UOEKQF3.js";
4
+ } from "./chunk-XG7OHNPA.js";
5
5
  import {
6
6
  resolvePartnerIdentities
7
- } from "./chunk-K3EU7B72.js";
7
+ } from "./chunk-4Y5EKT3D.js";
8
8
  import {
9
9
  displayFingerprint,
10
10
  ed25519PrivateKeyFromSeed
11
- } from "./chunk-LGNDHTDP.js";
11
+ } from "./chunk-MB3XK7YW.js";
12
12
 
13
13
  // src/lib/org-member-key.ts
14
14
  import { createHash, sign } from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  signKeyFingerprint
3
- } from "./chunk-LGNDHTDP.js";
3
+ } from "./chunk-MB3XK7YW.js";
4
4
  import {
5
5
  resolveExeDataDir
6
6
  } from "./chunk-NPXIS2RY.js";
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  composeSeatLimits,
7
7
  limitsForPlan
8
- } from "./chunk-A7XLR3K7.js";
8
+ } from "./chunk-3R7UDPVR.js";
9
9
 
10
10
  // src/shared/seat-benefit.ts
11
11
  var ORG_BILLABLE_PLANS = ["team", "agency", "enterprise"];
@@ -45,6 +45,13 @@ function seatBenefit(personalPlan, orgPlan) {
45
45
  before: renderCount(before.devices),
46
46
  after: renderCount(after.devices),
47
47
  changed: before.devices !== after.devices
48
+ },
49
+ {
50
+ axis: "employees",
51
+ label: "AI employees",
52
+ before: renderCount(before.employees),
53
+ after: renderCount(after.employees),
54
+ changed: before.employees !== after.employees
48
55
  }
49
56
  ];
50
57
  return { gained: axes.some((a) => a.changed), orgPlan, axes };
@@ -127,8 +134,8 @@ function adminInviteDisclosureText(input) {
127
134
  const granting = input.orgPlan === null ? [
128
135
  "WHAT YOU ARE GRANTING",
129
136
  " Nothing beyond membership itself. With no plan attached, the seat does",
130
- " not raise their cloud backup, memories or device allowances - they keep",
131
- " whatever their own plan gives them.",
137
+ " not raise their cloud backup, memories, device or AI employee",
138
+ " allowances - they keep whatever their own plan gives them.",
132
139
  " Membership is still real: the mailbox, the roster and any shared",
133
140
  " knowledge you grant all work."
134
141
  ] : [
@@ -137,8 +144,13 @@ function adminInviteDisclosureText(input) {
137
144
  "",
138
145
  ...axisTable(benefit.axes).map((line) => ` ${line}`),
139
146
  "",
140
- " Their AI employee allowance is NOT raised - a seat funds one Partner,",
141
- " not a team."
147
+ // Founder decision 2026-09-24 (supersedes 2026-08-09): a seat confers
148
+ // the org's full plan on every axis, including AI employees — see
149
+ // `SEAT_EXCLUDED_AXES` in src/shared/plan-limits.ts. This used to say
150
+ // "NOT raised"; that was true under the superseded rule and is false
151
+ // now, so it must not come back.
152
+ " Their AI employee allowance is raised too, on the same terms as",
153
+ " everything else above."
142
154
  ];
143
155
  return [
144
156
  `Issuing a seat invite for "${input.seatRef}" in ${input.orgId}.`,
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  createTokenBudgetMiddleware
3
- } from "./chunk-GPB6X2OI.js";
3
+ } from "./chunk-YBUSK4GH.js";
4
4
  import {
5
5
  MultiAgentOrchestrator
6
- } from "./chunk-GHCF7J4Q.js";
6
+ } from "./chunk-BLZ2LEZF.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-5FRO36HG.js");
215
+ const { listBehaviors } = await import("./behaviors-T2N3VJS3.js");
216
216
  const behaviors = await listBehaviors(config.agentId, config.projectName, 12);
217
217
  if (behaviors.length > 0) {
218
218
  process.stderr.write(
@@ -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-YHXKRO2Y.js");
336
+ const { sessionScopeFilter } = await import("./task-scope-NF7JKUD7.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-LHDV4WKP.js");
376
+ const { writeNotification } = await import("./notifications-7EBPEORY.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-YHXKRO2Y.js");
447
+ const { sessionScopeFilter: cpScopeFilter } = await import("./task-scope-NF7JKUD7.js");
448
448
  const client = getClient();
449
449
  const cpScope = cpScopeFilter();
450
450
  const tasks = await client.execute({
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-DXQIIZQC.js";
3
+ } from "./chunk-GAUMGWSQ.js";
4
4
 
5
5
  // src/lib/boot-generation.ts
6
6
  var SYNC_META_KEY = "daemon_boot_generation";
@@ -1,27 +1,27 @@
1
1
  import {
2
2
  asOrgBillablePlan
3
- } from "./chunk-X2X3IGZU.js";
3
+ } from "./chunk-W4H2MZAS.js";
4
4
  import {
5
5
  resolvePartnerIdentities
6
- } from "./chunk-K3EU7B72.js";
6
+ } from "./chunk-4Y5EKT3D.js";
7
7
  import {
8
8
  OrgKeyPinConflictError,
9
9
  orgKeyPinConfirmation,
10
10
  pinOrgKey,
11
11
  readOrgKeyPin
12
- } from "./chunk-VV7D7KEX.js";
12
+ } from "./chunk-VRPXCQV6.js";
13
13
  import {
14
14
  displayFingerprint,
15
15
  ed25519PrivateKeyFromSeed,
16
16
  signKeyFingerprint
17
- } from "./chunk-LGNDHTDP.js";
17
+ } from "./chunk-MB3XK7YW.js";
18
18
  import {
19
19
  establishOrgMode,
20
20
  upsertOrgMembership
21
- } from "./chunk-INLY2LLN.js";
21
+ } from "./chunk-SDYIUXW7.js";
22
22
  import {
23
23
  isValidX25519Recipient
24
- } from "./chunk-I4DBM5ME.js";
24
+ } from "./chunk-F6OV7JP2.js";
25
25
 
26
26
  // src/lib/org-join.ts
27
27
  import { createHash, sign } from "crypto";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  clean,
3
3
  stableId
4
- } from "./chunk-KY5XPFMA.js";
4
+ } from "./chunk-OJ7SLC5P.js";
5
5
 
6
6
  // src/lib/reflection-checkpoints.ts
7
7
  function parsePayload(payload) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isExeSession
3
- } from "./chunk-V4RIHICU.js";
3
+ } from "./chunk-Y2DTTZCV.js";
4
4
  import {
5
5
  loadConfigSync
6
6
  } from "./chunk-MMS2HBRT.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  getCurrentSessionScope,
3
3
  strictSessionScopeFilter
4
- } from "./chunk-V4RIHICU.js";
4
+ } from "./chunk-Y2DTTZCV.js";
5
5
  import {
6
6
  getProjectName
7
- } from "./chunk-GHIMWZN4.js";
7
+ } from "./chunk-ROQ6R3FV.js";
8
8
 
9
9
  // src/lib/session-events.ts
10
10
  import { randomUUID } from "crypto";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getIdentity,
3
3
  loadEmployeesSync
4
- } from "./chunk-DXQIIZQC.js";
4
+ } from "./chunk-GAUMGWSQ.js";
5
5
 
6
6
  // src/lib/drift-probes.ts
7
7
  var DRIFT_THRESHOLD = 80;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ensureAgentSymlink
3
- } from "./chunk-BJ3ZQAIL.js";
3
+ } from "./chunk-IV63ZWK6.js";
4
4
  import {
5
5
  ensureWorktree,
6
6
  ensureWorktreeAsync,
@@ -8,10 +8,15 @@ import {
8
8
  getMainRepoRoot,
9
9
  isInsideGitRepo,
10
10
  isWorktreeDirty
11
- } from "./chunk-UW5KXM4D.js";
11
+ } from "./chunk-TTHUPNBU.js";
12
12
  import {
13
13
  resolveRowVisibility
14
- } from "./chunk-WFKZZSEB.js";
14
+ } from "./chunk-3QYMH77Q.js";
15
+ import {
16
+ LEASE_MINUTES,
17
+ isLeaseExpired,
18
+ leaseExpiryIso
19
+ } from "./chunk-E23LNUWJ.js";
15
20
  import {
16
21
  buildTaskResult,
17
22
  serializeMessage
@@ -26,15 +31,10 @@ import {
26
31
  import {
27
32
  hasIntercomAckAfter
28
33
  } from "./chunk-MJCSEIFI.js";
29
- import {
30
- LEASE_MINUTES,
31
- isLeaseExpired,
32
- leaseExpiryIso
33
- } from "./chunk-E23LNUWJ.js";
34
34
  import {
35
35
  listSessions,
36
36
  registerSession
37
- } from "./chunk-FJPCVXQX.js";
37
+ } from "./chunk-DFIH6ZZF.js";
38
38
  import {
39
39
  getTransport
40
40
  } from "./chunk-VI4ATC6I.js";
@@ -43,7 +43,7 @@ import {
43
43
  } from "./chunk-6L4VIYLZ.js";
44
44
  import {
45
45
  recordOrchestrationEventBestEffort
46
- } from "./chunk-OGJCUMSM.js";
46
+ } from "./chunk-2YESHX5N.js";
47
47
  import {
48
48
  appendDispatchJournalEvent,
49
49
  releaseDispatchClaim,
@@ -52,7 +52,7 @@ import {
52
52
  } from "./chunk-T5SM4RXY.js";
53
53
  import {
54
54
  incrementSkillSuccess
55
- } from "./chunk-JKUCAMV4.js";
55
+ } from "./chunk-AFDVI6KB.js";
56
56
  import {
57
57
  assertRuntimeModelCompatible,
58
58
  getAgentRuntime,
@@ -62,7 +62,7 @@ import {
62
62
  import {
63
63
  PlanLimitError,
64
64
  assertEmployeeLimitSync
65
- } from "./chunk-KM7M4LKN.js";
65
+ } from "./chunk-QRWGGJAA.js";
66
66
  import {
67
67
  getSessionKey
68
68
  } from "./chunk-CVYC6DUW.js";
@@ -78,7 +78,7 @@ import {
78
78
  } from "./chunk-BTSWFMEH.js";
79
79
  import {
80
80
  getProjectName
81
- } from "./chunk-GHIMWZN4.js";
81
+ } from "./chunk-ROQ6R3FV.js";
82
82
  import {
83
83
  expandDualPrefixTools
84
84
  } from "./chunk-HYZV25LY.js";
@@ -103,13 +103,13 @@ import {
103
103
  loadEmployeesSync,
104
104
  offloadReadIfMain,
105
105
  offloadReadQuery
106
- } from "./chunk-DXQIIZQC.js";
106
+ } from "./chunk-GAUMGWSQ.js";
107
107
  import {
108
108
  RUNTIME_TABLE
109
109
  } from "./chunk-3VW5ZP2F.js";
110
110
  import {
111
111
  loadDeviceId
112
- } from "./chunk-6VMVQ3G7.js";
112
+ } from "./chunk-GTW56AUB.js";
113
113
  import {
114
114
  EXE_AI_DIR
115
115
  } from "./chunk-MMS2HBRT.js";
@@ -1610,7 +1610,7 @@ async function createTaskCore(input, deps = {}) {
1610
1610
  if (isCoordinatorSession) {
1611
1611
  earlySessionScope = resolved;
1612
1612
  } else {
1613
- const { getSessionProject } = await import("./session-scope-LDRY5PBO.js");
1613
+ const { getSessionProject } = await import("./session-scope-KVIRKTX7.js");
1614
1614
  const sessionProject = getSessionProject(resolved);
1615
1615
  if (sessionProject && sessionProject !== input.projectName) {
1616
1616
  scopeMismatchWarning = `session/project mismatch: session "${resolved}" owns "${sessionProject}" but task targets "${input.projectName}". Routed to default scope.`;
@@ -1880,7 +1880,7 @@ ${scopeMismatchWarning}` : scopeMismatchWarning;
1880
1880
  });
1881
1881
  await writeTaskMarkdownAtomic(mdPath, mdContent);
1882
1882
  try {
1883
- const { injectBehaviors } = await import("./behavior-injection-CHSQWES4.js");
1883
+ const { injectBehaviors } = await import("./behavior-injection-S2NBCHRK.js");
1884
1884
  await injectBehaviors({
1885
1885
  taskFile: mdPath,
1886
1886
  title: input.title,
@@ -1975,7 +1975,7 @@ async function buildTaskRowsStatement(opts) {
1975
1975
  }
1976
1976
  if (opts.founderId !== null) {
1977
1977
  try {
1978
- const { founderScopeFilter } = await import("./founder-context-6Q6OU7Q7.js");
1978
+ const { founderScopeFilter } = await import("./founder-context-3X5JFEQQ.js");
1979
1979
  const founderFilter = founderScopeFilter(opts.founderId);
1980
1980
  const cleaned = founderFilter.sql.replace(/^\s*AND\s+/, "");
1981
1981
  conditions.push(cleaned);
@@ -5442,7 +5442,7 @@ async function verifyPaneAtCapacity(sessionName) {
5442
5442
  reason: `capture-pane failed: ${err instanceof Error ? err.message : String(err)}`
5443
5443
  };
5444
5444
  }
5445
- const { isAtCapacity } = await import("./capacity-monitor-TIKUMNDU.js");
5445
+ const { isAtCapacity } = await import("./capacity-monitor-RKLRCGOG.js");
5446
5446
  if (!isAtCapacity(pane)) {
5447
5447
  return {
5448
5448
  atCapacity: false,
@@ -5749,7 +5749,7 @@ async function countScopedPendingReviews(targetSession, reviewer) {
5749
5749
  }
5750
5750
  async function countScopedOpenTasks(targetSession, agentId) {
5751
5751
  try {
5752
- const { fastDbInit } = await import("./fast-db-init-6MQDCHEB.js");
5752
+ const { fastDbInit } = await import("./fast-db-init-YRCNKGFD.js");
5753
5753
  const client = await fastDbInit();
5754
5754
  const scope = extractRootExe(targetSession);
5755
5755
  if (!scope) return 0;
@@ -5806,7 +5806,7 @@ function buildScopedInProgressTaskQuery(targetSession) {
5806
5806
  async function findScopedInProgressTaskId(targetSession) {
5807
5807
  const q = buildScopedInProgressTaskQuery(targetSession);
5808
5808
  if (!q) return null;
5809
- const { fastDbInit } = await import("./fast-db-init-6MQDCHEB.js");
5809
+ const { fastDbInit } = await import("./fast-db-init-YRCNKGFD.js");
5810
5810
  const client = await fastDbInit();
5811
5811
  const result = await client.execute(q);
5812
5812
  const id = result.rows[0]?.id;
@@ -5927,7 +5927,7 @@ function sendIntercom(targetSession, opts) {
5927
5927
  const ledgerEnv = (process.env.EXE_NOTIFICATION_LEDGER ?? "").trim().toLowerCase();
5928
5928
  if (ledgerEnv === "shadow") {
5929
5929
  const ledgerScope = opts && "callerSessionScope" in opts ? opts.callerSessionScope : void 0;
5930
- void import("./notification-ledger-2GIT6AZ7.js").then((m) => m.recordShadowNudge(targetSession, reason, ledgerScope, { force: opts?.force })).catch(() => {
5930
+ void import("./notification-ledger-BYBU427R.js").then((m) => m.recordShadowNudge(targetSession, reason, ledgerScope, { force: opts?.force })).catch(() => {
5931
5931
  });
5932
5932
  }
5933
5933
  if (!opts?.force && isDebounced(targetSession)) {
@@ -6081,7 +6081,7 @@ function scheduleDeferredSpawnNudge(input) {
6081
6081
  return;
6082
6082
  }
6083
6083
  queueIntercom(input.sessionName, `spawn nudge failed after ${attempt} attempts: ${msg}`, "signal");
6084
- void import("./notifications-LHDV4WKP.js").then(({ writeNotification: writeNotification2 }) => writeNotification2({
6084
+ void import("./notifications-7EBPEORY.js").then(({ writeNotification: writeNotification2 }) => writeNotification2({
6085
6085
  agentId: getCoordinatorName(),
6086
6086
  agentRole: "COO",
6087
6087
  event: "error_spike",
@@ -6176,7 +6176,7 @@ async function sendIntercomAsync(targetSession, opts) {
6176
6176
  let ledgerClaim = null;
6177
6177
  if (authoritativeLedger) {
6178
6178
  try {
6179
- const { claimAuthoritativeNudge } = await import("./notification-ledger-2GIT6AZ7.js");
6179
+ const { claimAuthoritativeNudge } = await import("./notification-ledger-BYBU427R.js");
6180
6180
  const claim2 = await claimAuthoritativeNudge(
6181
6181
  targetSession,
6182
6182
  reason,
@@ -6199,7 +6199,7 @@ async function sendIntercomAsync(targetSession, opts) {
6199
6199
  const markLedgerDelivered = async () => {
6200
6200
  if (!ledgerClaim) return;
6201
6201
  try {
6202
- const { markNudgeDelivered } = await import("./notification-ledger-2GIT6AZ7.js");
6202
+ const { markNudgeDelivered } = await import("./notification-ledger-BYBU427R.js");
6203
6203
  await markNudgeDelivered(ledgerClaim.id, ledgerClaim.sessionScope);
6204
6204
  } catch {
6205
6205
  }
@@ -6207,7 +6207,7 @@ async function sendIntercomAsync(targetSession, opts) {
6207
6207
  const markLedgerFailed = async (error) => {
6208
6208
  if (!ledgerClaim) return;
6209
6209
  try {
6210
- const { markNudgeDeliveryFailed } = await import("./notification-ledger-2GIT6AZ7.js");
6210
+ const { markNudgeDeliveryFailed } = await import("./notification-ledger-BYBU427R.js");
6211
6211
  await markNudgeDeliveryFailed(ledgerClaim.id, error, ledgerClaim.sessionScope);
6212
6212
  } catch {
6213
6213
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-DXQIIZQC.js";
3
+ } from "./chunk-GAUMGWSQ.js";
4
4
 
5
5
  // src/lib/token-budget.ts
6
6
  var WARN_THRESHOLD = 0.8;
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  isExeSession
3
- } from "./chunk-V4RIHICU.js";
3
+ } from "./chunk-Y2DTTZCV.js";
4
4
  import {
5
5
  recordOrchestrationEventBestEffort
6
- } from "./chunk-OGJCUMSM.js";
6
+ } from "./chunk-2YESHX5N.js";
7
7
  import {
8
8
  getClient,
9
9
  isCoordinatorName
10
- } from "./chunk-DXQIIZQC.js";
10
+ } from "./chunk-GAUMGWSQ.js";
11
11
  import {
12
12
  isDaemonAlive
13
13
  } from "./chunk-QH5ZQ5SJ.js";
@@ -140,7 +140,7 @@ async function assertManifestSignature(manifest, publicKeyPem) {
140
140
  "manifest carries no `signature`. Fleets that enforce EXE_STACK_PUBLIC_KEY reject unsigned manifests, so publishing one would ship a release no host can install. Re-sign with the custodied key: node scripts/sign-stack-manifest.mjs deploy/stack-manifests/v0.9.json"
141
141
  );
142
142
  }
143
- const { verifyStackManifestSignature } = await import("./stack-update-H3YXPL7Z.js");
143
+ const { verifyStackManifestSignature } = await import("./stack-update-JHPGK6AM.js");
144
144
  try {
145
145
  verifyStackManifestSignature(manifest, publicKeyPem);
146
146
  } catch (err) {
@@ -1008,7 +1008,7 @@ async function runRegistryProxy(options = registryProxyOptionsFromEnv()) {
1008
1008
  await new Promise((resolve) => server.listen(options.port, options.host, resolve));
1009
1009
  console.log(`exe-registry-proxy listening on ${options.host ?? "0.0.0.0"}:${options.port}`);
1010
1010
  console.log(`proxying /v2/${options.allowedNamespace ?? "askexe"}/* -> ${options.upstream ?? "https://ghcr.io"}`);
1011
- const { licenseSyncConfigFromEnv, startLicenseSyncScheduler } = await import("./license-sync-YCV3GMHN.js");
1011
+ const { licenseSyncConfigFromEnv, startLicenseSyncScheduler } = await import("./license-sync-4GBRQ3NQ.js");
1012
1012
  const syncConfig = licenseSyncConfigFromEnv();
1013
1013
  if (syncConfig) {
1014
1014
  startLicenseSyncScheduler(syncConfig);
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  extractMemoryGraph
3
- } from "./chunk-UALXBUDX.js";
3
+ } from "./chunk-2DDXCN4A.js";
4
4
  import {
5
5
  flushBatch,
6
6
  writeMemory
7
- } from "./chunk-V4JWFJZR.js";
7
+ } from "./chunk-P4C3BX2L.js";
8
8
  import {
9
9
  extractKeywords
10
10
  } from "./chunk-CHCA3ZM2.js";
11
11
  import {
12
12
  getActiveAgent
13
- } from "./chunk-RPOIKNJZ.js";
13
+ } from "./chunk-C44UWID5.js";
14
14
 
15
15
  // src/mcp/tools/import-conversations.ts
16
16
  import { z } from "zod";
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  flushBatch,
6
6
  writeMemory
7
- } from "./chunk-V4JWFJZR.js";
7
+ } from "./chunk-P4C3BX2L.js";
8
8
  import {
9
9
  SUPPORT_PRODUCTS,
10
10
  isWellFormedCommit,
@@ -19,7 +19,7 @@ import {
19
19
  } from "./chunk-RT57D7C4.js";
20
20
  import {
21
21
  loadLicense
22
- } from "./chunk-6VMVQ3G7.js";
22
+ } from "./chunk-GTW56AUB.js";
23
23
 
24
24
  // src/lib/stack-update.ts
25
25
  import { execFileSync, spawnSync as spawnSync2 } from "child_process";
@@ -4749,7 +4749,13 @@ Push the missing image(s) to the registry, or re-run with --break-glass <reason>
4749
4749
  composeFile: options.composeFile,
4750
4750
  envFile: options.envFile,
4751
4751
  stackVersion: plan.targetVersion,
4752
- expectedArtifacts
4752
+ expectedArtifacts,
4753
+ // A signed retain-compose update deliberately changes only its selected
4754
+ // container(s). The full-project artifact check would classify a
4755
+ // pre-existing companion on an older digest as this service's failed
4756
+ // delivery. Retained health and image witnesses still cover the selected
4757
+ // service and its required dependencies before and after the update.
4758
+ artifactComposeServices: options.retainCompose ? Object.entries(plan.release.services).flatMap(([name, service]) => expandComposeServicesWithSidecars([service.composeService ?? name])) : void 0
4753
4759
  });
4754
4760
  const securityFailures = [];
4755
4761
  for (const r of verifyReport.results) {