@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
@@ -22,7 +22,7 @@ import {
22
22
  import {
23
23
  getCachedMonitorIdentity,
24
24
  recomputeEnvelopeWrapKey
25
- } from "./chunk-I4DBM5ME.js";
25
+ } from "./chunk-F6OV7JP2.js";
26
26
 
27
27
  // src/lib/crypto.ts
28
28
  import crypto from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getMasterKey
3
- } from "./chunk-5AGOX2XD.js";
3
+ } from "./chunk-O22YLZXQ.js";
4
4
 
5
5
  // src/lib/monitor-identity.ts
6
6
  import crypto from "crypto";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  getActiveAgent
3
- } from "./chunk-RPOIKNJZ.js";
3
+ } from "./chunk-C44UWID5.js";
4
4
  import {
5
5
  listTasks
6
- } from "./chunk-V4RIHICU.js";
6
+ } from "./chunk-Y2DTTZCV.js";
7
7
  import {
8
8
  getAgentContext
9
9
  } from "./chunk-GJV3WDWM.js";
10
10
  import {
11
11
  isCoordinatorName
12
- } from "./chunk-DXQIIZQC.js";
12
+ } from "./chunk-GAUMGWSQ.js";
13
13
 
14
14
  // src/mcp/tools/list-tasks.ts
15
15
  import { z } from "zod";
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  updateTask
3
- } from "./chunk-L2AUCHHJ.js";
3
+ } from "./chunk-7KMFHVKB.js";
4
4
  import {
5
5
  TASK_ALREADY_CLAIMED_PREFIX,
6
6
  TASK_CLAIM_NOT_HELD_PREFIX,
7
7
  TASK_PR_TRACEABILITY_REQUIRED_PREFIX,
8
8
  TASK_SIDECHAIN_WRITE_BLOCKED_PREFIX
9
- } from "./chunk-V4RIHICU.js";
9
+ } from "./chunk-Y2DTTZCV.js";
10
10
  import {
11
11
  getAgentContext
12
12
  } from "./chunk-GJV3WDWM.js";
13
13
  import {
14
14
  isCoordinatorName
15
- } from "./chunk-DXQIIZQC.js";
15
+ } from "./chunk-GAUMGWSQ.js";
16
16
 
17
17
  // src/mcp/tools/update-task.ts
18
18
  import { z } from "zod";
@@ -75,7 +75,7 @@ function registerUpdateTask(server) {
75
75
  let callerSession;
76
76
  let callerIsSidechain = false;
77
77
  try {
78
- const { getActiveAgent: getAgent } = await import("./active-agent-7OKWCTDR.js");
78
+ const { getActiveAgent: getAgent } = await import("./active-agent-GOCTWSHD.js");
79
79
  const active = getAgent();
80
80
  callerAgentId = active.agentId;
81
81
  callerSession = resolveCallerSessionForUpdate();
@@ -4,20 +4,20 @@ import {
4
4
  import {
5
5
  assertValidDbPath
6
6
  } from "./chunk-TKDITWDN.js";
7
+ import {
8
+ listBackups,
9
+ preBackupCheckpoint
10
+ } from "./chunk-DQQTUIQJ.js";
7
11
  import {
8
12
  MEMORY_PROJECTION_OUTBOX_INDEX_SQL,
9
13
  MEMORY_PROJECTION_OUTBOX_TABLE_SQL,
10
14
  MEMORY_PROJECTION_OUTBOX_UNIQUE_INDEX_SQL,
11
15
  PROJECTION_CHECKPOINT_TABLE_SQL,
12
16
  ensureMemoryWriteIndex
13
- } from "./chunk-EHDAWQ5P.js";
17
+ } from "./chunk-JO7ZJTFL.js";
14
18
  import {
15
19
  recordDbOpen
16
20
  } from "./chunk-5YEUPUV4.js";
17
- import {
18
- listBackups,
19
- preBackupCheckpoint
20
- } from "./chunk-BKKZN3DJ.js";
21
21
  import {
22
22
  isPostgresBackendEnabled
23
23
  } from "./chunk-YYB5PMTK.js";
@@ -1515,7 +1515,7 @@ async function migrateReflectionDedup(client) {
1515
1515
  "ALTER TABLE memory_reflections ADD COLUMN dedup_key TEXT",
1516
1516
  "migration add memory_reflections.dedup_key"
1517
1517
  );
1518
- const { reflectionDedupKey } = await import("./memory-reflection-VXFXG55L.js");
1518
+ const { reflectionDedupKey } = await import("./memory-reflection-SU57VEBT.js");
1519
1519
  const keyForRow = (row) => {
1520
1520
  let sources = [];
1521
1521
  try {
@@ -2035,7 +2035,7 @@ async function _attemptBackupRestore(config) {
2035
2035
  `
2036
2036
  );
2037
2037
  try {
2038
- const { recordDbRestoreEvent } = await import("./db-restore-events-XYL6CGPC.js");
2038
+ const { recordDbRestoreEvent } = await import("./db-restore-events-R5S7XTHX.js");
2039
2039
  recordDbRestoreEvent({
2040
2040
  kind: "auto-restore",
2041
2041
  restoredFrom: backup.name,
@@ -2078,7 +2078,7 @@ async function _attemptBackupRestore(config) {
2078
2078
  `
2079
2079
  );
2080
2080
  try {
2081
- const { recordDbRestoreEvent } = await import("./db-restore-events-XYL6CGPC.js");
2081
+ const { recordDbRestoreEvent } = await import("./db-restore-events-R5S7XTHX.js");
2082
2082
  recordDbRestoreEvent({
2083
2083
  kind: "restore-failed",
2084
2084
  quarantinePath: corruptPath,
@@ -2337,7 +2337,7 @@ async function initDatabase(config) {
2337
2337
  `
2338
2338
  );
2339
2339
  try {
2340
- const { recordDbRestoreEvent } = await import("./db-restore-events-XYL6CGPC.js");
2340
+ const { recordDbRestoreEvent } = await import("./db-restore-events-R5S7XTHX.js");
2341
2341
  recordDbRestoreEvent({
2342
2342
  kind: "wal-recovery",
2343
2343
  quarantinePath: backupPath,
@@ -2351,7 +2351,7 @@ async function initDatabase(config) {
2351
2351
  `
2352
2352
  );
2353
2353
  try {
2354
- const { recordDbRestoreEvent } = await import("./db-restore-events-XYL6CGPC.js");
2354
+ const { recordDbRestoreEvent } = await import("./db-restore-events-R5S7XTHX.js");
2355
2355
  recordDbRestoreEvent({
2356
2356
  kind: "zeroed-no-wal",
2357
2357
  detail: "DB was 0 bytes at startup with no WAL available \u2014 data may be lost"
@@ -2573,7 +2573,7 @@ async function sweepExpiredSoftDeletedMemories(client, options = {}) {
2573
2573
  const purgeArchived = archDays !== void 0;
2574
2574
  const BATCH_SIZE = 2e3;
2575
2575
  const MAX_BATCHES = 500;
2576
- const { cleanupCardsForMemories, cleanupGraphLinksForMemories } = await import("./graph-rag-YZNY6Z3H.js");
2576
+ const { cleanupCardsForMemories, cleanupGraphLinksForMemories } = await import("./graph-rag-DB5SXSJ6.js");
2577
2577
  const softCutoff = `-${softDays} days`;
2578
2578
  const selectArgsBase = [softCutoff];
2579
2579
  let predicate = `status = 'deleted' AND COALESCE(deleted_at, timestamp) < datetime('now', ?)`;
@@ -2959,7 +2959,7 @@ async function ensureSchema() {
2959
2959
  }
2960
2960
  }
2961
2961
  try {
2962
- const { checkAndRepairFtsIndexOnce } = await import("./fts-integrity-PHCKKOBC.js");
2962
+ const { checkAndRepairFtsIndexOnce } = await import("./fts-integrity-PL7TKYTM.js");
2963
2963
  await checkAndRepairFtsIndexOnce(client);
2964
2964
  } catch (ftsErr) {
2965
2965
  process.stderr.write(
@@ -4,18 +4,18 @@ import {
4
4
  } from "./chunk-NEHOQ3P2.js";
5
5
  import {
6
6
  isCrdtSyncEnabled
7
- } from "./chunk-DSZM7OHM.js";
7
+ } from "./chunk-M65DE5CO.js";
8
8
  import {
9
9
  orgMembershipsPath,
10
10
  orgModeActive
11
- } from "./chunk-INLY2LLN.js";
11
+ } from "./chunk-SDYIUXW7.js";
12
12
  import {
13
13
  activeRecipientPubKeys,
14
14
  grantsPath,
15
15
  isGrantsMacPrimed,
16
16
  primeGrantsMacKey,
17
17
  warnActiveMonitoringOnce
18
- } from "./chunk-7UCCSSJO.js";
18
+ } from "./chunk-4MFPPHG4.js";
19
19
  import {
20
20
  assertGateAndGrantsColocated
21
21
  } from "./chunk-NPXIS2RY.js";
@@ -25,7 +25,7 @@ import {
25
25
  import {
26
26
  GHOST_BEHAVIOR_SQL,
27
27
  isGhostBehaviorRow
28
- } from "./chunk-LNCTMU7Y.js";
28
+ } from "./chunk-HNVYH2WE.js";
29
29
  import {
30
30
  isTransientDaemonTransportError,
31
31
  retryOnDaemonTransportError
@@ -36,17 +36,17 @@ import {
36
36
  encryptSyncBlob,
37
37
  initSyncCrypto,
38
38
  isSyncCryptoInitialized
39
- } from "./chunk-G3KSUXEA.js";
39
+ } from "./chunk-F63FRP7L.js";
40
40
  import {
41
41
  getClient,
42
42
  isGenuineCorruptionError,
43
43
  loadEmployees,
44
44
  registerBinSymlinks,
45
45
  saveEmployees
46
- } from "./chunk-DXQIIZQC.js";
46
+ } from "./chunk-GAUMGWSQ.js";
47
47
  import {
48
48
  loadDeviceId
49
- } from "./chunk-6VMVQ3G7.js";
49
+ } from "./chunk-GTW56AUB.js";
50
50
  import {
51
51
  EXE_AI_DIR
52
52
  } from "./chunk-MMS2HBRT.js";
@@ -72,7 +72,7 @@ var _lastSealOrgMode = null;
72
72
  async function getSyncCipher() {
73
73
  if (_resolved) return _resolved;
74
74
  if (!orgModeActive()) {
75
- const mod = await import("./founder-monitor-envelope-RBSOSB6K.js");
75
+ const mod = await import("./founder-monitor-envelope-OYRYJZBS.js");
76
76
  _monitoredWriter = mod.encryptMonitoredSyncBlob;
77
77
  _founderModuleLinked = true;
78
78
  }
@@ -1283,7 +1283,7 @@ async function cloudSync(config, options) {
1283
1283
  })
1284
1284
  };
1285
1285
  if (shouldUseCrdtMergeForCloudSync()) {
1286
- const { initCrdtDoc, importExistingMemories, readAllMemories } = await import("./crdt-sync-RPCGSGIE.js");
1286
+ const { initCrdtDoc, importExistingMemories, readAllMemories } = await import("./crdt-sync-MHQ6XSMO.js");
1287
1287
  initCrdtDoc();
1288
1288
  importExistingMemories(
1289
1289
  pullResult.records.map((rec) => ({
@@ -1844,7 +1844,7 @@ async function cloudSync(config, options) {
1844
1844
  const artifactResult = { pushed: 0, frozen: false, remaining: 0 };
1845
1845
  if (!shouldSkip("artifacts")) {
1846
1846
  try {
1847
- const { flushArtifactBackups } = await import("./artifact-backup-Q7T3GQFO.js");
1847
+ const { flushArtifactBackups } = await import("./artifact-backup-FDU7UQ5Z.js");
1848
1848
  const flushed = await flushArtifactBackups(cloudArtifactTransport(config));
1849
1849
  artifactResult.pushed = flushed.pushed;
1850
1850
  artifactResult.frozen = flushed.frozen;
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  PLAN_LIMITS
3
- } from "./chunk-A7XLR3K7.js";
3
+ } from "./chunk-3R7UDPVR.js";
4
4
  import {
5
5
  getDeviceInfo
6
- } from "./chunk-PKPJ62VF.js";
6
+ } from "./chunk-3JRVKBF2.js";
7
7
  import {
8
8
  EXE_AI_DIR
9
9
  } from "./chunk-MMS2HBRT.js";
@@ -44,6 +44,12 @@ oR8NJBuiITKaerulCXiSiJMX1HP0+h5dHBVfCWQfIVk5BMdsheAMaP806w==
44
44
  -----END PUBLIC KEY-----`;
45
45
  var LICENSE_PUBLIC_KEYS = [LICENSE_PUBLIC_KEY_PEM_2026_06_17, LICENSE_PUBLIC_KEY_PEM, LICENSE_PUBLIC_KEY_PEM_PREV];
46
46
  var LICENSE_JWT_ALG = "ES256";
47
+ var MAX_OFFLINE_TRUST_DAYS = 7;
48
+ function withinOfflineTrustWindow(payload, maxDays) {
49
+ const iat = payload?.iat;
50
+ if (typeof iat !== "number" || !Number.isFinite(iat)) return true;
51
+ return Date.now() < iat * 1e3 + maxDays * 24 * 60 * 60 * 1e3;
52
+ }
47
53
  function suppliedNumber(value) {
48
54
  return typeof value === "number" && Number.isFinite(value) ? value : null;
49
55
  }
@@ -55,6 +61,15 @@ function resolveClientLimits(plan, supplied) {
55
61
  memoryLimit: suppliedNumber(supplied?.memories) ?? fallback.memories
56
62
  };
57
63
  }
64
+ function subscriptionEndClaim(payload) {
65
+ if (!payload) return null;
66
+ for (const name of ["license_expires_at", "subscription_ends_at", "subscriptionEndsAt", "sub_exp", "current_period_end"]) {
67
+ const raw = payload[name];
68
+ if (typeof raw === "string" && raw.trim()) return raw;
69
+ if (typeof raw === "number" && Number.isFinite(raw)) return new Date(raw * 1e3).toISOString();
70
+ }
71
+ return null;
72
+ }
58
73
  function limitsClaim(payload) {
59
74
  const claim = payload?.limits;
60
75
  if (!claim || typeof claim !== "object") return null;
@@ -247,7 +262,12 @@ async function verifyLicenseJwt(token) {
247
262
  valid: true,
248
263
  plan,
249
264
  email,
250
- expiresAt: payload.exp ? new Date(payload.exp * 1e3).toISOString() : null,
265
+ // Bug f855bcbe: `exp` is this TOKEN's lifetime, not the customer's
266
+ // subscription. Only a claim that actually means "the subscription ends
267
+ // then" may fill `expiresAt`; the token's own TTL is reported as what it
268
+ // is, and nothing renders it as an expiry date.
269
+ expiresAt: subscriptionEndClaim(payload),
270
+ proofExpiresAt: payload.exp ? new Date(payload.exp * 1e3).toISOString() : null,
251
271
  ...limits
252
272
  };
253
273
  } catch {
@@ -262,6 +282,7 @@ async function getCachedLicense(expectedKey) {
262
282
  const raw = JSON.parse(readFileSync(CACHE_PATH, "utf8"));
263
283
  if (!raw.token || typeof raw.token !== "string") return null;
264
284
  if (!cacheVouchesForKey(raw, expectedKey)) return null;
285
+ if (!withinOfflineTrustWindow(readTokenClaims(raw.token), MAX_OFFLINE_TRUST_DAYS)) return null;
265
286
  return await verifyLicenseJwt(raw.token);
266
287
  } catch {
267
288
  return null;
@@ -269,15 +290,14 @@ async function getCachedLicense(expectedKey) {
269
290
  }
270
291
  async function getGraceVerifiedLicense(graceDays = 7, expectedKey) {
271
292
  try {
272
- if (expectedKey) {
273
- const rawCache = readCacheFile();
274
- if (!rawCache || !cacheVouchesForKey(rawCache, expectedKey)) return null;
275
- }
293
+ const rawCache = readCacheFile();
294
+ if (!rawCache || !cacheVouchesForKey(rawCache, expectedKey)) return null;
276
295
  const token = readCachedLicenseToken();
277
296
  if (!token) return null;
278
297
  const payloadB64 = token.split(".")[1];
279
298
  if (!payloadB64) return null;
280
299
  const payload = JSON.parse(Buffer.from(payloadB64, "base64url").toString());
300
+ if (!withinOfflineTrustWindow(payload, graceDays)) return null;
281
301
  const expMs = (payload.exp ?? 0) * 1e3;
282
302
  if (Date.now() >= expMs + graceDays * 24 * 60 * 60 * 1e3) return null;
283
303
  let verified = null;
@@ -305,13 +325,23 @@ async function getGraceVerifiedLicense(graceDays = 7, expectedKey) {
305
325
  valid: true,
306
326
  plan,
307
327
  email: verified.sub ?? "",
308
- expiresAt: verified.exp ? new Date(verified.exp * 1e3).toISOString() : null,
328
+ expiresAt: subscriptionEndClaim(verified),
329
+ proofExpiresAt: verified.exp ? new Date(verified.exp * 1e3).toISOString() : null,
309
330
  ...limits
310
331
  };
311
332
  } catch {
312
333
  return null;
313
334
  }
314
335
  }
336
+ function readTokenClaims(token) {
337
+ try {
338
+ const payloadB64 = token.split(".")[1];
339
+ if (!payloadB64) return void 0;
340
+ return JSON.parse(Buffer.from(payloadB64, "base64url").toString());
341
+ } catch {
342
+ return void 0;
343
+ }
344
+ }
315
345
  function readCacheFile() {
316
346
  try {
317
347
  if (!existsSync(CACHE_PATH)) return null;
@@ -336,9 +366,23 @@ function licenseKeyFingerprint(apiKey) {
336
366
  return createHash("sha256").update(apiKey.trim(), "utf8").digest("hex");
337
367
  }
338
368
  function cacheVouchesForKey(raw, expectedKey) {
339
- if (!expectedKey) return true;
369
+ const bound = expectedKey ?? licenseKeyOnDisk();
340
370
  if (typeof raw.keyFp !== "string" || !raw.keyFp) return true;
341
- return raw.keyFp === licenseKeyFingerprint(expectedKey);
371
+ if (!bound) return false;
372
+ return raw.keyFp === licenseKeyFingerprint(bound);
373
+ }
374
+ function licenseKeyOnDisk() {
375
+ const key = loadLicense();
376
+ if (key) return key;
377
+ try {
378
+ const configPath = path.join(EXE_AI_DIR, "config.json");
379
+ if (!existsSync(configPath)) return null;
380
+ const raw = JSON.parse(readFileSync(configPath, "utf8"));
381
+ const mirrored = raw.cloud?.apiKey;
382
+ return mirrored && mirrored.trim() ? mirrored.trim() : null;
383
+ } catch {
384
+ return null;
385
+ }
342
386
  }
343
387
  function cacheResponse(token, apiKey) {
344
388
  try {
@@ -835,7 +879,8 @@ async function maybeRefreshLicense(opts) {
835
879
  }
836
880
  function buildPlanChangeNotice(oldPlan, license) {
837
881
  const empLimit = license.employeeLimit === -1 ? "unlimited" : String(license.employeeLimit);
838
- return `Plan changed: ${oldPlan} \u2192 ${license.plan}. Employee limit now ${empLimit} \u2014 you're upgraded, nothing else to do.`;
882
+ const seatShaped = license.employeeLimit === (PLAN_LIMITS.free?.employees ?? 1) && license.plan !== "free";
883
+ return `Plan changed: ${oldPlan} \u2192 ${license.plan}. ` + (seatShaped ? `Employee limit is ${empLimit} \u2014 that axis follows your OWN plan, not the organisation's. Memories, devices and backup follow the organisation's plan.` : `Employee limit now ${empLimit} \u2014 you're upgraded, nothing else to do.`);
839
884
  }
840
885
  function isFeatureAllowed(license, feature) {
841
886
  switch (feature) {
@@ -844,7 +889,7 @@ function isFeatureAllowed(license, feature) {
844
889
  case "wiki":
845
890
  return license.plan !== "free";
846
891
  case "unlimited_employees":
847
- return license.plan === "team" || license.plan === "agency" || license.plan === "enterprise";
892
+ return license.employeeLimit === -1;
848
893
  }
849
894
  }
850
895
  function mirrorLicenseKey(apiKey) {
@@ -4,10 +4,10 @@ import {
4
4
  } from "./chunk-IZWMWJZT.js";
5
5
  import {
6
6
  fastDbInit
7
- } from "./chunk-NRR6VAG2.js";
7
+ } from "./chunk-X7VWZ4ZI.js";
8
8
  import {
9
9
  getClient
10
- } from "./chunk-DXQIIZQC.js";
10
+ } from "./chunk-GAUMGWSQ.js";
11
11
 
12
12
  // src/lib/global-procedures.ts
13
13
  import { randomUUID } from "crypto";
@@ -4,10 +4,10 @@ import {
4
4
  import {
5
5
  reserveVersions,
6
6
  vectorToBlob
7
- } from "./chunk-V4JWFJZR.js";
7
+ } from "./chunk-P4C3BX2L.js";
8
8
  import {
9
9
  getClient
10
- } from "./chunk-DXQIIZQC.js";
10
+ } from "./chunk-GAUMGWSQ.js";
11
11
 
12
12
  // src/lib/documents.ts
13
13
  import crypto from "crypto";
@@ -85,7 +85,7 @@ async function resolveWorkspace(slug_or_id, name, ownerAgentId) {
85
85
  }
86
86
  if (owner) {
87
87
  try {
88
- const { grantWikiAccess } = await import("./wiki-acl-PKJLSR6U.js");
88
+ const { grantWikiAccess } = await import("./wiki-acl-CXFMQHKZ.js");
89
89
  await grantWikiAccess(owner, id, "admin", owner);
90
90
  } catch {
91
91
  }
@@ -111,7 +111,7 @@ async function resolveDefaultWorkspaceId(cwd) {
111
111
  const client = getClient();
112
112
  let projectName;
113
113
  try {
114
- const { getProjectName } = await import("./project-name-5D6ZQNAY.js");
114
+ const { getProjectName } = await import("./project-name-2GN2XXVD.js");
115
115
  projectName = getProjectName(cwd);
116
116
  } catch {
117
117
  return null;
@@ -230,7 +230,7 @@ async function ingestDocument(input) {
230
230
  }
231
231
  let ingestingIdentity = null;
232
232
  try {
233
- const { getActiveAgent } = await import("./active-agent-7OKWCTDR.js");
233
+ const { getActiveAgent } = await import("./active-agent-GOCTWSHD.js");
234
234
  ingestingIdentity = getActiveAgent().agentId || null;
235
235
  } catch {
236
236
  }
@@ -308,7 +308,7 @@ async function ingestDocument(input) {
308
308
  await client.batch([documentStmt, ...chunkStmts], "write");
309
309
  const embedded = vectors.filter((v) => v !== null).length;
310
310
  const originalTexts = input.chunks.map((c) => c.text);
311
- import("./doc-graph-extractor-VVSMYOR3.js").then(
311
+ import("./doc-graph-extractor-KNX2SMZH.js").then(
312
312
  ({ extractAndStoreDocumentGraph }) => extractAndStoreDocumentGraph(documentId, originalTexts)
313
313
  ).catch((err) => {
314
314
  process.stderr.write(
@@ -4,14 +4,14 @@ import {
4
4
  } from "./chunk-W5BFPFVY.js";
5
5
  import {
6
6
  vectorToSqlLiteral
7
- } from "./chunk-V4JWFJZR.js";
7
+ } from "./chunk-P4C3BX2L.js";
8
8
  import {
9
9
  blobToVector
10
10
  } from "./chunk-OTVEIJUQ.js";
11
11
  import {
12
12
  getClient,
13
13
  sanitizeBehaviorContent
14
- } from "./chunk-DXQIIZQC.js";
14
+ } from "./chunk-GAUMGWSQ.js";
15
15
 
16
16
  // src/lib/behaviors.ts
17
17
  import crypto from "crypto";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  derivePartnerSealIdentityFromMaster
3
- } from "./chunk-TQJMG65I.js";
3
+ } from "./chunk-RC6Q5KSW.js";
4
4
  import {
5
5
  derivePartnerSignIdentityFromMaster,
6
6
  displayFingerprint,
7
7
  ed25519PrivateKeyFromSeed,
8
8
  ed25519PublicKeyFromRaw
9
- } from "./chunk-LGNDHTDP.js";
9
+ } from "./chunk-MB3XK7YW.js";
10
10
  import {
11
11
  getMasterKey
12
- } from "./chunk-5AGOX2XD.js";
12
+ } from "./chunk-O22YLZXQ.js";
13
13
 
14
14
  // src/lib/org-key-epoch.ts
15
15
  import crypto, { sign as edSign, verify as edVerify } from "crypto";
@@ -724,6 +724,14 @@ async function checkLiveArtifactMatchesManifest(composeFile, manifestPath, expec
724
724
  }
725
725
  }
726
726
  if (declared.length === 0) {
727
+ if (expected?.composeServices !== void 0) {
728
+ return {
729
+ check,
730
+ status: "fail",
731
+ message: "selected artifact comparison has no signed declaration \u2014 comparison did NOT run",
732
+ verdicts: { disagrees: 1 }
733
+ };
734
+ }
727
735
  return {
728
736
  check,
729
737
  status: "warn",
@@ -731,10 +739,23 @@ async function checkLiveArtifactMatchesManifest(composeFile, manifestPath, expec
731
739
  };
732
740
  }
733
741
  const names = [];
742
+ const selected = expected?.composeServices === void 0 ? null : new Set(expected.composeServices);
743
+ const scopedFailure = (message) => ({
744
+ check,
745
+ status: "fail",
746
+ message,
747
+ verdicts: { disagrees: 1 }
748
+ });
749
+ if (selected && (selected.size === 0 || selected.size !== expected.composeServices.length)) {
750
+ return scopedFailure("invalid selected compose service scope \u2014 comparison did NOT run");
751
+ }
752
+ const found = /* @__PURE__ */ new Set();
734
753
  try {
735
754
  const dir = path.dirname(composeFile);
736
755
  const file = path.basename(composeFile);
737
- const raw = execSync(`docker compose -f "${file}" ps --format json`, {
756
+ const override = path.join(dir, "docker-compose.override.yml");
757
+ const composeFiles = selected && existsSync(override) ? `-f "${file}" -f "${path.basename(override)}"` : `-f "${file}"`;
758
+ const raw = execSync(`docker compose ${composeFiles} ps --format json`, {
738
759
  cwd: dir,
739
760
  timeout: CHECK_TIMEOUT_MS,
740
761
  encoding: "utf8",
@@ -743,18 +764,26 @@ async function checkLiveArtifactMatchesManifest(composeFile, manifestPath, expec
743
764
  for (const line of raw.trim().split("\n").filter(Boolean)) {
744
765
  try {
745
766
  const c = JSON.parse(line);
767
+ const service = c.Service || c.service;
768
+ if (selected && (!service || !selected.has(service))) continue;
746
769
  const name = c.Name || c.name;
770
+ if (selected && name) found.add(service);
747
771
  if (name) names.push(name);
748
772
  } catch {
749
773
  }
750
774
  }
751
775
  } catch (err) {
776
+ if (selected) return scopedFailure(`could not enumerate selected containers: ${err instanceof Error ? err.message : String(err)} \u2014 comparison did NOT run`);
752
777
  return {
753
778
  check,
754
779
  status: "warn",
755
780
  message: `could not enumerate containers: ${err instanceof Error ? err.message : String(err)} \u2014 comparison did NOT run`
756
781
  };
757
782
  }
783
+ if (selected) {
784
+ const missing = [...selected].filter((service) => !found.has(service));
785
+ if (missing.length > 0) return scopedFailure(`selected compose service(s) absent: ${missing.join(", ")} \u2014 comparison did NOT run`);
786
+ }
758
787
  if (names.length === 0) {
759
788
  return { check, status: "warn", message: "no containers enumerated \u2014 comparison did NOT run" };
760
789
  }
@@ -772,8 +801,14 @@ async function checkLiveArtifactMatchesManifest(composeFile, manifestPath, expec
772
801
  const observed = [];
773
802
  for (const name of names) {
774
803
  const configured = inspect([name, "--format", "{{ .Config.Image }}"]);
775
- if (!configured) continue;
804
+ if (!configured) {
805
+ if (selected) return scopedFailure(`selected container ${name} has no inspectable image \u2014 comparison did NOT run`);
806
+ continue;
807
+ }
776
808
  const imageId = inspect([name, "--format", "{{ .Image }}"]);
809
+ if (selected && !imageId) {
810
+ return scopedFailure(`selected container ${name} has no inspectable running image ID \u2014 comparison did NOT run`);
811
+ }
777
812
  let ref = configured;
778
813
  if (imageId) {
779
814
  const digestsRaw = inspect([imageId, "--format", "{{ json .RepoDigests }}"]);
@@ -782,9 +817,15 @@ async function checkLiveArtifactMatchesManifest(composeFile, manifestPath, expec
782
817
  if (Array.isArray(parsed) && parsed.length > 0) {
783
818
  const repo = (configured.split("@")[0] ?? "").replace(/:[^/:]+$/, "");
784
819
  const list = parsed.filter((x) => typeof x === "string");
820
+ if (selected && list.length === 0) {
821
+ return scopedFailure(`selected container ${name} has no inspectable image digest \u2014 comparison did NOT run`);
822
+ }
785
823
  ref = list.find((d) => d.startsWith(`${repo}@`)) ?? list[0] ?? configured;
824
+ } else if (selected) {
825
+ return scopedFailure(`selected container ${name} has no inspectable image digest \u2014 comparison did NOT run`);
786
826
  }
787
827
  } catch {
828
+ if (selected) return scopedFailure(`selected container ${name} has no parseable image digest \u2014 comparison did NOT run`);
788
829
  }
789
830
  }
790
831
  observed.push({ container: name, ref });
@@ -810,7 +851,12 @@ async function checkLiveArtifactMatchesManifest(composeFile, manifestPath, expec
810
851
  return {
811
852
  check,
812
853
  status: "fail",
813
- verdicts: { ...report.counts },
854
+ // In a signed retained update every inspected container was selected for
855
+ // delivery. An undeclared or provenance-unknown selected image is just as
856
+ // unsafe as a same-repo digest mismatch. The updater's fatal gate keys on
857
+ // `disagrees`, so normalize all selected non-agreement findings to that
858
+ // fatal count while preserving the detailed verdicts in the message.
859
+ verdicts: selected ? { ...report.counts, disagrees: Math.max(report.counts.disagrees, report.findings.length) } : { ...report.counts },
814
860
  message: `${report.findings.length} artifact(s) are not what ${source} pins: ` + report.findings.map((f) => `${f.service} [${f.verdict}]`).join(", ") + `. Running: ${report.findings.map((f) => `${f.service}=${f.running?.digest ?? f.running?.ref ?? "(nothing running)"}`).join(", ")}`
815
861
  };
816
862
  }
@@ -849,7 +895,8 @@ async function runVerifyStack(options) {
849
895
  if (Date.now() > deadline) return summarize(results);
850
896
  addResult(await checkLiveArtifactMatchesManifest(composeFile, void 0, {
851
897
  stackVersion: options?.stackVersion,
852
- declared: options?.expectedArtifacts
898
+ declared: options?.expectedArtifacts,
899
+ composeServices: options?.artifactComposeServices
853
900
  }));
854
901
  if (Date.now() > deadline) return summarize(results);
855
902
  addResult(await checkSsoSessionContract(env, deployed));
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  storeBehavior
3
- } from "./chunk-LNCTMU7Y.js";
3
+ } from "./chunk-HNVYH2WE.js";
4
4
  import {
5
5
  resolveAnthropicAuth
6
6
  } from "./chunk-VGMACSEV.js";
7
7
  import {
8
8
  getClient
9
- } from "./chunk-DXQIIZQC.js";
9
+ } from "./chunk-GAUMGWSQ.js";
10
10
  import {
11
11
  loadConfig
12
12
  } from "./chunk-MMS2HBRT.js";
@@ -2,7 +2,7 @@ import {
2
2
  getClient,
3
3
  isCoordinatorName,
4
4
  loadEmployeesSync
5
- } from "./chunk-DXQIIZQC.js";
5
+ } from "./chunk-GAUMGWSQ.js";
6
6
 
7
7
  // src/lib/steward-gate.ts
8
8
  import crypto from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  loadEmployees
3
- } from "./chunk-DXQIIZQC.js";
3
+ } from "./chunk-GAUMGWSQ.js";
4
4
 
5
5
  // src/lib/agent-symlinks.ts
6
6
  import os from "os";
@@ -8,14 +8,14 @@ import {
8
8
  resolveExeSession,
9
9
  sendIntercom,
10
10
  strictSessionScopeFilter
11
- } from "./chunk-V4RIHICU.js";
11
+ } from "./chunk-Y2DTTZCV.js";
12
12
  import {
13
13
  parseMessage,
14
14
  serializeMessage
15
15
  } from "./chunk-TDF2XKLK.js";
16
16
  import {
17
17
  recordOrchestrationEventBestEffort
18
- } from "./chunk-OGJCUMSM.js";
18
+ } from "./chunk-2YESHX5N.js";
19
19
  import {
20
20
  getSessionKey
21
21
  } from "./chunk-CVYC6DUW.js";
@@ -24,7 +24,7 @@ import {
24
24
  } from "./chunk-BTSWFMEH.js";
25
25
  import {
26
26
  getClient
27
- } from "./chunk-DXQIIZQC.js";
27
+ } from "./chunk-GAUMGWSQ.js";
28
28
 
29
29
  // src/lib/messaging.ts
30
30
  import crypto from "crypto";