@askexenow/exe-os 0.9.359 → 0.9.362

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 (451) hide show
  1. package/deploy/compose/docker-compose.yml +7 -1
  2. package/deploy/compose/generate-env.ts +23 -4
  3. package/deploy/compose/sso-edge/default.conf.template +35 -0
  4. package/deploy/compose/sso-edge/sso-redirect.conf +23 -2
  5. package/deploy/stack-manifests/v0.9.json +228 -2
  6. package/dist/.dist-verified.json +3 -3
  7. package/dist/{active-agent-DMKNHGSG.js → active-agent-3FV5V7SS.js} +9 -8
  8. package/dist/{active-agent-Y3DCBD7J.js → active-agent-BPNEBKHI.js} +9 -8
  9. package/dist/{agentic-ontology-3233PNKV.js → agentic-ontology-RCVCJ6WB.js} +1 -1
  10. package/dist/{backfill-gate-DA7UT6UD.js → backfill-gate-LRX77SUD.js} +3 -2
  11. package/dist/{backfill-metadata-4DS4A5U3.js → backfill-metadata-Y3DGVCK5.js} +12 -11
  12. package/dist/{background-jobs-XGTLESKM.js → background-jobs-Z6KHCWES.js} +3 -2
  13. package/dist/{backup-verify-JNYKXIU2.js → backup-verify-TZPPUCLU.js} +5 -4
  14. package/dist/{behavior-injection-CGAMI552.js → behavior-injection-JMGGWCWG.js} +21 -13
  15. package/dist/{behaviors-57AMN5IP.js → behaviors-TT6CMEKC.js} +20 -12
  16. package/dist/bin/age-ontology-load.js +3 -2
  17. package/dist/bin/agentic-ontology-backfill.js +14 -13
  18. package/dist/bin/agentic-reflection-backfill.js +15 -14
  19. package/dist/bin/agentic-semantic-label.js +14 -13
  20. package/dist/bin/backfill-conversations.js +16 -14
  21. package/dist/bin/backfill-responses.js +16 -14
  22. package/dist/bin/backfill-vectors.js +20 -18
  23. package/dist/bin/bulk-sync-postgres.js +27 -24
  24. package/dist/bin/cc-doctor.js +13 -11
  25. package/dist/bin/cleanup-stale-review-tasks.js +31 -28
  26. package/dist/bin/cli.js +157 -47
  27. package/dist/bin/customer-readiness.js +10 -1
  28. package/dist/bin/deferred-daemon-restart.js +127 -104
  29. package/dist/bin/exe-agent-config.js +9 -8
  30. package/dist/bin/exe-agent.js +17 -16
  31. package/dist/bin/exe-assign.js +18 -16
  32. package/dist/bin/exe-boot.js +62 -49
  33. package/dist/bin/exe-call.js +10 -9
  34. package/dist/bin/exe-cloud.js +29 -26
  35. package/dist/bin/exe-config-dump.js +9 -8
  36. package/dist/bin/exe-dispatch.js +31 -28
  37. package/dist/bin/exe-doctor.js +14 -10
  38. package/dist/bin/exe-export-behaviors.js +22 -14
  39. package/dist/bin/exe-forget.js +14 -13
  40. package/dist/bin/exe-gateway.js +13 -12
  41. package/dist/bin/exe-grant.js +6 -6
  42. package/dist/bin/exe-healthcheck.js +13 -11
  43. package/dist/bin/exe-heartbeat.js +33 -30
  44. package/dist/bin/exe-kill.js +36 -33
  45. package/dist/bin/exe-launch-agent.js +126 -44
  46. package/dist/bin/exe-mcp.js +165 -1
  47. package/dist/bin/exe-memory-reads.js +12 -11
  48. package/dist/bin/exe-new-employee.js +20 -17
  49. package/dist/bin/exe-os-mcp-proxy.js +9 -8
  50. package/dist/bin/exe-pending-messages.js +32 -29
  51. package/dist/bin/exe-pending-notifications.js +31 -28
  52. package/dist/bin/exe-pending-reviews.js +31 -28
  53. package/dist/bin/exe-preflight.js +1 -1
  54. package/dist/bin/exe-rename.js +10 -9
  55. package/dist/bin/exe-review.js +35 -32
  56. package/dist/bin/exe-search.js +13 -12
  57. package/dist/bin/exe-session-cleanup.js +36 -33
  58. package/dist/bin/exe-settings.js +28 -25
  59. package/dist/bin/exe-start-codex.js +27 -19
  60. package/dist/bin/exe-start-opencode.js +23 -15
  61. package/dist/bin/exe-start.sh +11 -7
  62. package/dist/bin/exe-status.js +32 -29
  63. package/dist/bin/exe-support.js +5 -4
  64. package/dist/bin/exe-team.js +9 -8
  65. package/dist/bin/exe-watchdog.js +115 -30
  66. package/dist/bin/git-sweep.js +32 -29
  67. package/dist/bin/graph-backfill.js +14 -13
  68. package/dist/bin/graph-export.js +13 -12
  69. package/dist/bin/import-history.js +16 -15
  70. package/dist/bin/install.js +392 -201
  71. package/dist/bin/intercom-check.js +4 -4
  72. package/dist/bin/mcp-sessions.js +2 -2
  73. package/dist/bin/orchestration-metrics.js +10 -9
  74. package/dist/bin/postgres-agentic-reflection-backfill.js +5 -4
  75. package/dist/bin/postgres-agentic-semantic-backfill.js +4 -3
  76. package/dist/bin/reconcile-backlog.js +2 -2
  77. package/dist/bin/registry-proxy.js +1 -1
  78. package/dist/bin/scan-tasks.js +31 -28
  79. package/dist/bin/setup.js +7 -4
  80. package/dist/bin/shard-migrate.js +13 -12
  81. package/dist/bin/stack-update.js +45 -14
  82. package/dist/bin/update.js +4 -3
  83. package/dist/bin/vps-health-gate.js +1 -1
  84. package/dist/{boot-generation-4D3CTT7X.js → boot-generation-XABYKF5P.js} +9 -8
  85. package/dist/{boot-review-sections-NDFE5443.js → boot-review-sections-2X5TFIGU.js} +30 -27
  86. package/dist/{branch-hygiene-HNSOUDJE.js → branch-hygiene-Z4IBWAOX.js} +2 -1
  87. package/dist/{branding-6FHWZQYQ.js → branding-7MZDHTKN.js} +3 -2
  88. package/dist/build-manifest.json +1249 -1069
  89. package/dist/{capability-cards-OBB7BMMX.js → capability-cards-O5UXDOOA.js} +8 -7
  90. package/dist/{capacity-monitor-QLPEL6S5.js → capacity-monitor-IPXM726A.js} +32 -29
  91. package/dist/{catchup-brief-EN7QR6MP.js → catchup-brief-EBIGDXOK.js} +36 -33
  92. package/dist/{chunk-WRP5AG4D.js → chunk-23KWUA7Z.js} +2 -2
  93. package/dist/{chunk-PDRIIEFV.js → chunk-2FA4PYYX.js} +1 -1
  94. package/dist/chunk-2PRAXZWM.js +261 -0
  95. package/dist/{chunk-R6LNQAUG.js → chunk-327Q53AS.js} +34 -1
  96. package/dist/{chunk-MBULOZJF.js → chunk-32FEF5BW.js} +2 -2
  97. package/dist/{chunk-2YGAKBRG.js → chunk-35FD67ZB.js} +3 -3
  98. package/dist/{chunk-R62ITJDQ.js → chunk-3C7NE4JE.js} +1 -1
  99. package/dist/{chunk-YBX3G5OP.js → chunk-3ICF4IAZ.js} +1 -1
  100. package/dist/{chunk-CVTWQZOR.js → chunk-3L2QU5ZF.js} +14 -2
  101. package/dist/{chunk-I5AVZOL2.js → chunk-3YBJ36UX.js} +2 -2
  102. package/dist/{chunk-NKDKB2RT.js → chunk-465RCKVI.js} +6 -6
  103. package/dist/{chunk-QROIFRKI.js → chunk-4AFD4R35.js} +5 -5
  104. package/dist/{chunk-OSID72CN.js → chunk-4L33OFU4.js} +25 -1
  105. package/dist/{chunk-A6VIK3SS.js → chunk-4P2BFNSB.js} +2 -2
  106. package/dist/{chunk-SIGAQQHW.js → chunk-4R2WD6T3.js} +2 -2
  107. package/dist/{chunk-HPHF5VTT.js → chunk-4U56FZ7B.js} +4 -4
  108. package/dist/{chunk-2KLVTRY2.js → chunk-54USDN5Q.js} +1 -1
  109. package/dist/{chunk-CAEWPEBA.js → chunk-5C6ZIJ7J.js} +1 -1
  110. package/dist/{chunk-46RPEWTH.js → chunk-5H3RHWRE.js} +1 -1
  111. package/dist/chunk-5OPAUFLP.js +126 -0
  112. package/dist/{chunk-EHM4E62N.js → chunk-6DTALXOA.js} +1 -1
  113. package/dist/chunk-6EM6USV7.js +1332 -0
  114. package/dist/{chunk-JE34CB5H.js → chunk-6N3HUOV3.js} +2 -2
  115. package/dist/{chunk-6KREY2Q7.js → chunk-6QJXFLNN.js} +5 -5
  116. package/dist/{chunk-G37RG543.js → chunk-6UZDGEGQ.js} +1 -1
  117. package/dist/{chunk-APR556TY.js → chunk-6Y3KUO7Q.js} +190 -29
  118. package/dist/{chunk-2EAYZ3BK.js → chunk-7H3AZNQ7.js} +9 -9
  119. package/dist/{chunk-C5YZMYQH.js → chunk-7SY2NOMQ.js} +1 -1
  120. package/dist/{chunk-OAYTQ4RY.js → chunk-AL4HXKDJ.js} +55 -12
  121. package/dist/{chunk-VY5VU7SX.js → chunk-AOMFYUPT.js} +2 -2
  122. package/dist/{chunk-EX2SSLNU.js → chunk-AQO3BT3I.js} +12 -12
  123. package/dist/chunk-ARX6TAGN.js +102 -0
  124. package/dist/chunk-B6PFGUYJ.js +159 -0
  125. package/dist/{chunk-FASR2WLT.js → chunk-BDLRTLXY.js} +1 -1
  126. package/dist/chunk-BJEQBKGH.js +218 -0
  127. package/dist/{chunk-BCZF3AGJ.js → chunk-BRIZ6OZ3.js} +34 -44
  128. package/dist/{chunk-OMXJMOBD.js → chunk-BRZR76TS.js} +66 -0
  129. package/dist/{chunk-XV42EAVK.js → chunk-BT2PUK3S.js} +1 -1
  130. package/dist/{chunk-6EOLGE7T.js → chunk-CVYDJ2TW.js} +1 -1
  131. package/dist/{chunk-WCP4OQUL.js → chunk-CXQ724WH.js} +2 -2
  132. package/dist/{chunk-F3QTF4T7.js → chunk-CY5NVDTH.js} +3 -3
  133. package/dist/{chunk-3ODATKWH.js → chunk-D5CY4E7I.js} +1 -1
  134. package/dist/{chunk-W5YV2PZE.js → chunk-DKRDU2AX.js} +16 -16
  135. package/dist/{chunk-SNWV44E5.js → chunk-DSKEYEL2.js} +12 -5
  136. package/dist/{chunk-VXL7PJ56.js → chunk-E3YI6FVJ.js} +5 -24
  137. package/dist/{chunk-6SK4MM5B.js → chunk-E7PL3T2U.js} +1 -1
  138. package/dist/{chunk-IOEUAQWP.js → chunk-EEZOBN6X.js} +1 -1
  139. package/dist/{chunk-AHMUF6RO.js → chunk-G2M7WQ2M.js} +0 -2
  140. package/dist/{chunk-SKGMF2SO.js → chunk-GBNB4EWD.js} +22 -1
  141. package/dist/{chunk-UZ5RJYL3.js → chunk-HAXCUCJC.js} +1 -1
  142. package/dist/{chunk-VMR6M6GN.js → chunk-HISFWAAK.js} +1 -1
  143. package/dist/{chunk-DKRSKC5R.js → chunk-HKQ7UTSE.js} +1 -1
  144. package/dist/chunk-HLQ4MS42.js +257 -0
  145. package/dist/{chunk-EA5FVACM.js → chunk-HLU52KTO.js} +29 -18
  146. package/dist/{chunk-QWVXN224.js → chunk-HPXFKUGU.js} +350 -65
  147. package/dist/{chunk-2OVTGZYH.js → chunk-HSKABJE6.js} +46 -3
  148. package/dist/{chunk-NE57GONM.js → chunk-I3SF6QGV.js} +1 -1
  149. package/dist/chunk-J6KMGEJW.js +238 -0
  150. package/dist/chunk-JKKZGDLP.js +182 -0
  151. package/dist/{chunk-3ZEVMZ4G.js → chunk-JYKZVAS6.js} +1 -1
  152. package/dist/{chunk-4DYJ6NOK.js → chunk-KA4WVDLX.js} +2 -2
  153. package/dist/{chunk-QH2XAUZ5.js → chunk-KBI4FVBZ.js} +1 -1
  154. package/dist/{chunk-VAY6IXWY.js → chunk-KDMVVHZH.js} +1 -1
  155. package/dist/{chunk-4FQIWAXA.js → chunk-KID6T2A4.js} +10 -10
  156. package/dist/{chunk-HNPHPGGF.js → chunk-KIKB6FY3.js} +2 -2
  157. package/dist/{chunk-STFR72YH.js → chunk-LCDW2HUL.js} +1 -1
  158. package/dist/{chunk-RFUTLZ2U.js → chunk-LG37UBBE.js} +4 -4
  159. package/dist/{chunk-3QWOO74G.js → chunk-LLZNPOGB.js} +97 -3
  160. package/dist/chunk-M67ARGXY.js +175 -0
  161. package/dist/chunk-MPVXHYD5.js +85 -0
  162. package/dist/{chunk-RXL7A7JH.js → chunk-MZYNW5OY.js} +1 -1
  163. package/dist/{chunk-DQ75MEPU.js → chunk-MZZN5GFC.js} +1 -1
  164. package/dist/{chunk-X2F6Q7TW.js → chunk-NAHCSQWT.js} +1 -1
  165. package/dist/{chunk-AL7JMA54.js → chunk-NE4QI2GX.js} +2 -2
  166. package/dist/chunk-NGDXBN3M.js +254 -0
  167. package/dist/{chunk-HDSDXGLV.js → chunk-NO5KHKKB.js} +1 -1
  168. package/dist/chunk-NOKJCF27.js +437 -0
  169. package/dist/{chunk-PLOEFBFW.js → chunk-O32HTNRX.js} +3 -3
  170. package/dist/{chunk-UPM5JP6G.js → chunk-OZNCAMS3.js} +47 -4
  171. package/dist/{chunk-XLEYCOHX.js → chunk-P7CV4SHQ.js} +398 -58
  172. package/dist/{chunk-G2KK64UB.js → chunk-PDJWHL63.js} +101 -19
  173. package/dist/{chunk-W3XUU36X.js → chunk-PF7EQSE5.js} +5 -5
  174. package/dist/{chunk-QX7RWICL.js → chunk-PU7UYQRC.js} +1 -1
  175. package/dist/{chunk-A5WEEND7.js → chunk-PUMH7JSB.js} +3 -3
  176. package/dist/{chunk-POZGQQEZ.js → chunk-PV5BIXT6.js} +1 -1
  177. package/dist/{chunk-TG7JYSEA.js → chunk-Q2VQNAPU.js} +5 -2
  178. package/dist/{chunk-Z2PAVJJ4.js → chunk-Q7J2SQJ6.js} +127 -29
  179. package/dist/{chunk-4JERP7NT.js → chunk-QAEWWYHL.js} +29 -1
  180. package/dist/{chunk-6JTKIXLU.js → chunk-QCJT265O.js} +1 -1
  181. package/dist/{chunk-OY2PWHYR.js → chunk-QI25QRUP.js} +2 -2
  182. package/dist/chunk-QILQ5FCG.js +198 -0
  183. package/dist/{chunk-LRETL4I3.js → chunk-QJBX3MBV.js} +3 -3
  184. package/dist/{chunk-57GRYGDU.js → chunk-QP53XLC5.js} +1 -1
  185. package/dist/{chunk-JBAMYKBL.js → chunk-QQMYD4M7.js} +1 -1
  186. package/dist/{chunk-SHEWTDPC.js → chunk-QY3TM2T3.js} +4 -4
  187. package/dist/{chunk-WA2MJGPT.js → chunk-QYRI25IP.js} +3 -3
  188. package/dist/{chunk-QLFN3MUW.js → chunk-RCOIKTHM.js} +1 -1
  189. package/dist/{chunk-ITRKRKS7.js → chunk-RFKRCVGW.js} +1 -1
  190. package/dist/{chunk-HK7SQDKJ.js → chunk-RNSAVQEU.js} +2 -2
  191. package/dist/{chunk-44WFVMZ5.js → chunk-RUUX2ZST.js} +1 -1
  192. package/dist/{chunk-DWKH2H7W.js → chunk-RWKX2TK5.js} +1 -1
  193. package/dist/{chunk-MCNDZU5W.js → chunk-RYRNY6IF.js} +2 -2
  194. package/dist/{chunk-5I3YC7ER.js → chunk-SC6WDF3Q.js} +2 -2
  195. package/dist/chunk-SLBOKYYQ.js +197 -0
  196. package/dist/{chunk-74R44E4S.js → chunk-SQM4ZTL2.js} +246 -96
  197. package/dist/{chunk-KIXNMTGC.js → chunk-SRFRUN66.js} +5 -5
  198. package/dist/chunk-SXKIGBNF.js +61 -0
  199. package/dist/chunk-T2RZU7JA.js +2607 -0
  200. package/dist/{chunk-2I23RPSI.js → chunk-TKDITWDN.js} +9 -0
  201. package/dist/{chunk-5UAMBMNR.js → chunk-TN2E6ZCM.js} +44 -34
  202. package/dist/{chunk-SQBNN44X.js → chunk-TP7RXGMP.js} +49 -15
  203. package/dist/{chunk-GSVQBBE5.js → chunk-TY4JLBFO.js} +2 -2
  204. package/dist/{chunk-7QRMFYOV.js → chunk-UHPMK6QZ.js} +17 -3
  205. package/dist/{chunk-LPKTGK7L.js → chunk-UO5QJ2RX.js} +4 -4
  206. package/dist/{chunk-VCCZQDCU.js → chunk-URNVIZXU.js} +3 -3
  207. package/dist/{chunk-OIS5VIAH.js → chunk-UWEFIIEG.js} +6 -2
  208. package/dist/{chunk-IQWAYXVF.js → chunk-V5I5N7NC.js} +3 -3
  209. package/dist/{chunk-GD7VXXW6.js → chunk-V6YLIDLK.js} +801 -180
  210. package/dist/chunk-VAOUB2TK.js +23 -0
  211. package/dist/{chunk-XVTKJEI2.js → chunk-VDMFVUSY.js} +3 -3
  212. package/dist/{chunk-RJ67HG2P.js → chunk-VWTUKKUF.js} +4 -4
  213. package/dist/{chunk-4WSUP4CC.js → chunk-W3LKIQJ2.js} +43 -17
  214. package/dist/{chunk-EUQF3JOH.js → chunk-WBG7XYVR.js} +1 -1
  215. package/dist/{chunk-YKRNH5LU.js → chunk-WH2VVEGD.js} +1 -1
  216. package/dist/{chunk-NP2Y7P3I.js → chunk-WP2TGH5R.js} +1 -1
  217. package/dist/chunk-WT4RI36X.js +23 -0
  218. package/dist/{chunk-LXG37RB2.js → chunk-XJIRUTGJ.js} +1 -1
  219. package/dist/chunk-XRCX6R5S.js +57 -0
  220. package/dist/{chunk-XWWNRFRF.js → chunk-XSYQ5EPE.js} +11 -11
  221. package/dist/{chunk-HKK7LLS5.js → chunk-XTGR3LMF.js} +34 -3
  222. package/dist/{chunk-HLEZ5O5P.js → chunk-XUB4GFPN.js} +17 -15
  223. package/dist/chunk-YZUHSV24.js +277 -0
  224. package/dist/{chunk-6WHYSLGF.js → chunk-Z67DIJKT.js} +1 -1
  225. package/dist/{chunk-6LY3QSJA.js → chunk-ZI3HA3XW.js} +11 -6
  226. package/dist/{chunk-YEOIPUFO.js → chunk-ZR4CQBAP.js} +1 -1
  227. package/dist/{chunk-VNK3MNZE.js → chunk-ZZEKOI2M.js} +1 -1
  228. package/dist/{cleanup-graph-garbage-XFGY4EEE.js → cleanup-graph-garbage-6F22Y5SD.js} +13 -12
  229. package/dist/{cloud-sync-shutdown-XCOATIJW.js → cloud-sync-shutdown-FWERMZB5.js} +8 -7
  230. package/dist/{co-activation-XNBLOGK3.js → co-activation-UEEDCM5U.js} +8 -7
  231. package/dist/{co-occurrence-HO4PGQC4.js → co-occurrence-W6OPFRSY.js} +11 -10
  232. package/dist/{code-context-index-5RY66SWZ.js → code-context-index-DWR6HS35.js} +7 -5
  233. package/dist/consent-passphrase-Z64GFJXK.js +23 -0
  234. package/dist/{conversation-entity-extractor-5G5DGRJU.js → conversation-entity-extractor-LWUIH3UB.js} +3 -3
  235. package/dist/{conversation-wiki-populator-RZKG6PK4.js → conversation-wiki-populator-5EGRW2UZ.js} +1 -1
  236. package/dist/{crdt-sync-6TD7LSZW.js → crdt-sync-NHJX3ZJD.js} +5 -4
  237. package/dist/{crm-webhook-WZAV5776.js → crm-webhook-OY467ATC.js} +2 -2
  238. package/dist/{cto-delegation-gate-UHMYFM4D.js → cto-delegation-gate-XH4YSQVC.js} +30 -27
  239. package/dist/{daemon-auth-SXZHLUYS.js → daemon-auth-OCHW2U6B.js} +3 -2
  240. package/dist/{daemon-orchestration-DT5M2ZAR.js → daemon-orchestration-7425ZVNH.js} +35 -32
  241. package/dist/{daemon-ready-56VAPZU6.js → daemon-ready-VGPSRI3Z.js} +1 -1
  242. package/dist/{daemon-restart-circuit-breaker-5V6B6NLS.js → daemon-restart-circuit-breaker-SMTWFX27.js} +25 -3
  243. package/dist/db-backend-ODVJ3Q3D.js +7 -0
  244. package/dist/{db-restore-events-ZLD2HRQV.js → db-restore-events-TFCZ4CPM.js} +2 -1
  245. package/dist/{doc-graph-extractor-FNCYPFKY.js → doc-graph-extractor-RR2VSO4W.js} +11 -10
  246. package/dist/{documents-GKDZDUED.js → documents-TRZ4R2ZW.js} +18 -16
  247. package/dist/dreaming-MAMZAPYW.js +63 -0
  248. package/dist/{exe-drift-QTKD2FHT.js → exe-drift-VBWB5E6S.js} +9 -8
  249. package/dist/{exe-export-ESJ6KP6J.js → exe-export-XJJTVVT7.js} +21 -13
  250. package/dist/{exe-import-N4X3GEQB.js → exe-import-G6O7JFNZ.js} +21 -13
  251. package/dist/{exe-key-KZCCHX3W.js → exe-key-A2WJLLTM.js} +116 -99
  252. package/dist/exe-org-HXF4XBB3.js +672 -0
  253. package/dist/{exe-snapshot-SCRPHCPZ.js → exe-snapshot-TL3TLKLR.js} +38 -33
  254. package/dist/{fast-db-init-6H67K76Q.js → fast-db-init-SO2XUQ7T.js} +1 -1
  255. package/dist/{founder-context-C7X7IRDA.js → founder-context-IOCADC66.js} +4 -3
  256. package/dist/{founder-monitor-envelope-DHSUMBWU.js → founder-monitor-envelope-SMILO4BT.js} +7 -5
  257. package/dist/gateway/index.js +23 -22
  258. package/dist/{gateway-client-7LMZKHTH.js → gateway-client-JA2BH7QO.js} +1 -1
  259. package/dist/{git-staleness-JCKVMWPO.js → git-staleness-I6WT7EXV.js} +8 -7
  260. package/dist/{global-procedures-BR7WGSE7.js → global-procedures-3RMO6C3C.js} +9 -8
  261. package/dist/{graph-auto-extract-EOXWQRBZ.js → graph-auto-extract-NKTYPD2I.js} +11 -10
  262. package/dist/{graph-rag-5FVC5JXH.js → graph-rag-EOGPZOYI.js} +3 -3
  263. package/dist/{hook-integrity-TYGDD7OE.js → hook-integrity-RTBF2BL2.js} +1 -1
  264. package/dist/{hook-prefetch-2CN3MK4H.js → hook-prefetch-V5KCGW2N.js} +31 -28
  265. package/dist/hooks/bug-report-worker.js +35 -32
  266. package/dist/hooks/codex-stop-task-finalizer.js +36 -33
  267. package/dist/hooks/commit-complete.js +34 -31
  268. package/dist/hooks/error-recall.js +16 -15
  269. package/dist/hooks/exe-heartbeat-hook.js +10 -9
  270. package/dist/hooks/ingest-worker.js +12 -10
  271. package/dist/hooks/ingest.js +19 -18
  272. package/dist/hooks/instructions-loaded.js +11 -10
  273. package/dist/hooks/manifest.json +20 -20
  274. package/dist/hooks/notification.js +11 -10
  275. package/dist/hooks/post-compact.js +11 -115
  276. package/dist/hooks/post-tool-combined.js +11 -11
  277. package/dist/hooks/pre-compact.js +38 -64
  278. package/dist/hooks/pre-tool-use.js +95 -36
  279. package/dist/hooks/prompt-submit.js +50 -47
  280. package/dist/hooks/session-end.js +39 -36
  281. package/dist/hooks/session-start.js +64 -18
  282. package/dist/hooks/stop.js +40 -37
  283. package/dist/hooks/subagent-stop.js +35 -32
  284. package/dist/hooks/summary-worker.js +41 -38
  285. package/dist/index.js +45 -42
  286. package/dist/inrun-inbox-DRKVDPLY.js +29 -0
  287. package/dist/{installer-VPNTM3X6.js → installer-G67M3DME.js} +11 -10
  288. package/dist/{installer-YDLSXGD2.js → installer-L3ZKMOPU.js} +11 -10
  289. package/dist/{installer-7UV3CNWZ.js → installer-QBWZSYDG.js} +11 -10
  290. package/dist/{intercom-queue-KHKJJYCQ.js → intercom-queue-R5LSXD3V.js} +30 -27
  291. package/dist/{key-backup-status-YMS7YGWO.js → key-backup-status-3RC6XTUX.js} +2 -1
  292. package/dist/lib/agent-config.js +3 -2
  293. package/dist/lib/cloud-sync.js +27 -24
  294. package/dist/lib/config.js +6 -1
  295. package/dist/lib/consolidation.js +14 -13
  296. package/dist/lib/crypto.js +4 -3
  297. package/dist/lib/database.js +8 -7
  298. package/dist/lib/db-backup.js +4 -3
  299. package/dist/lib/db-checkpoint-worker.js +1 -1
  300. package/dist/lib/db-daemon-client.js +7 -5
  301. package/dist/lib/db-read-worker-client.js +1 -1
  302. package/dist/lib/db-read-worker.js +1 -1
  303. package/dist/lib/db-write-worker-client.js +4 -2
  304. package/dist/lib/db-write-worker.js +21 -3
  305. package/dist/lib/db.js +8 -7
  306. package/dist/lib/device-registry.js +3 -2
  307. package/dist/lib/embed-worker.js +2 -1
  308. package/dist/lib/embedder.js +7 -5
  309. package/dist/lib/employee-templates.js +10 -9
  310. package/dist/lib/employees.js +8 -7
  311. package/dist/lib/error-detector.js +1 -1
  312. package/dist/lib/exe-daemon-client.js +16 -6
  313. package/dist/lib/exe-daemon.js +342 -168
  314. package/dist/lib/hybrid-search.js +13 -12
  315. package/dist/lib/identity-templates.js +3 -1
  316. package/dist/lib/identity.js +8 -7
  317. package/dist/lib/keychain.js +41 -3
  318. package/dist/lib/license.js +12 -3
  319. package/dist/lib/messaging.js +31 -28
  320. package/dist/lib/platform-support.js +25 -0
  321. package/dist/lib/post-tool-memory.js +6 -4
  322. package/dist/lib/preflight.js +29 -0
  323. package/dist/lib/registry-proxy.js +1 -1
  324. package/dist/lib/reminders.js +9 -8
  325. package/dist/lib/schedules.js +13 -12
  326. package/dist/lib/session-registry.js +10 -9
  327. package/dist/lib/session-wrappers.js +7 -3
  328. package/dist/lib/skill-learning.js +21 -13
  329. package/dist/lib/status-brief.js +8 -3
  330. package/dist/lib/store.js +12 -11
  331. package/dist/lib/task-router.js +9 -8
  332. package/dist/lib/tasks.js +32 -29
  333. package/dist/lib/tmux-routing.js +45 -29
  334. package/dist/lib/tmux-status.js +7 -3
  335. package/dist/lib/token-spend.js +9 -8
  336. package/dist/lib/ws-client.js +1 -1
  337. package/dist/{license-gate-YXUSNA2I.js → license-gate-6R3F3NQR.js} +5 -4
  338. package/dist/{license-sync-XFDOXL3Z.js → license-sync-VBJCXBAP.js} +4 -3
  339. package/dist/linux-systemd-LRW3BYSS.js +38 -0
  340. package/dist/mailbox-inbox-CP2VRBXZ.js +10 -0
  341. package/dist/mailbox-outbox-HXI7DYNC.js +19 -0
  342. package/dist/mcp/register-tools.js +110 -94
  343. package/dist/mcp/server.js +113 -97
  344. package/dist/mcp/tools/complete-reminder.js +10 -9
  345. package/dist/mcp/tools/create-reminder.js +10 -9
  346. package/dist/mcp/tools/create-task.js +38 -31
  347. package/dist/mcp/tools/deactivate-behavior.js +22 -14
  348. package/dist/mcp/tools/list-reminders.js +10 -9
  349. package/dist/mcp/tools/list-tasks.js +34 -31
  350. package/dist/mcp/tools/send-message.js +33 -30
  351. package/dist/mcp/tools/update-task.js +33 -30
  352. package/dist/{mcp-http-config-HIP5CEDV.js → mcp-http-config-BWX7AMAZ.js} +9 -8
  353. package/dist/{mcp-session-identity-RTNZ2ZLW.js → mcp-session-identity-GOBGICLI.js} +30 -27
  354. package/dist/{memory-cards-KG4TPNKK.js → memory-cards-4EXX3BQS.js} +12 -11
  355. package/dist/{memory-graph-extractor-6HTBLO2N.js → memory-graph-extractor-OYVZIJ3R.js} +12 -11
  356. package/dist/{memory-poisoning-defense-3ZT57RSJ.js → memory-poisoning-defense-AHOD2EBX.js} +8 -7
  357. package/dist/{memory-pressure-watchdog-ZOZBIMKC.js → memory-pressure-watchdog-COJC3OYS.js} +31 -28
  358. package/dist/{memory-queue-W54BYW7V.js → memory-queue-4VN3DTOE.js} +3 -2
  359. package/dist/memory-queue-client-OI4LDT4W.js +18 -0
  360. package/dist/{memory-reflection-EQC4FXSW.js → memory-reflection-V2SNAUIB.js} +8 -7
  361. package/dist/{monitor-grants-BDLVFVDR.js → monitor-grants-W3ISOLMC.js} +6 -4
  362. package/dist/{monitor-identity-GLFZSEAH.js → monitor-identity-AN3B5QIN.js} +3 -2
  363. package/dist/{notification-ledger-NZ4HO3M5.js → notification-ledger-J6Q2GAYU.js} +117 -53
  364. package/dist/{notifications-74YECZ4V.js → notifications-56TP36IK.js} +30 -27
  365. package/dist/{orchestration-events-KRQI4ED5.js → orchestration-events-CKQ756NA.js} +9 -8
  366. package/dist/{orchestration-phase-KVF42ZKU.js → orchestration-phase-ZJ4XVNFO.js} +3 -2
  367. package/dist/orchestrator-ERSQ3KNT.js +55 -0
  368. package/dist/org-brief-session-FSZ3QJDN.js +45 -0
  369. package/dist/org-consent-policy-BN7MKCZ2.js +68 -0
  370. package/dist/org-join-HTQ57JYH.js +35 -0
  371. package/dist/org-key-admin-4W6LZ5KZ.js +242 -0
  372. package/dist/org-key-pin-OTOKAELD.js +37 -0
  373. package/dist/{org-membership-B32NS5NI.js → org-membership-SML6GCHP.js} +11 -7
  374. package/dist/org-partner-config-XQGOB7EJ.js +25 -0
  375. package/dist/org-partner-runtime-RNNUL5IN.js +44 -0
  376. package/dist/org-row-visibility-JZFJ3YRJ.js +18 -0
  377. package/dist/{pipeline-router-6ZZV7JMA.js → pipeline-router-IUENNTAY.js} +9 -8
  378. package/dist/{plan-limits-B7AZKZ6U.js → plan-limits-ZUII366B.js} +11 -10
  379. package/dist/postinstall-failure-A7WTAXD6.js +20 -0
  380. package/dist/{project-boot-WEQSKDD7.js → project-boot-3DFY5F35.js} +7 -2
  381. package/dist/{projection-worker-LRFFQ6JB.js → projection-worker-MBWUPB5O.js} +5 -4
  382. package/dist/{prospective-memory-A4GDTIWG.js → prospective-memory-GHE5ORN4.js} +8 -7
  383. package/dist/push-notifications-PTQ5DHCD.js +60 -0
  384. package/dist/{reranker-YVTLJCFC.js → reranker-NUIGAPA3.js} +3 -2
  385. package/dist/{retrieval-health-PK2ODTXM.js → retrieval-health-XHCERQPG.js} +1 -1
  386. package/dist/{review-polling-JFWRNQF6.js → review-polling-CYBCBHZA.js} +31 -28
  387. package/dist/runtime/index.js +41 -38
  388. package/dist/{session-events-VMQBCUH3.js → session-events-X33W4JNA.js} +31 -28
  389. package/dist/{session-kill-telemetry-Z3W256T5.js → session-kill-telemetry-I2F5PUIW.js} +31 -28
  390. package/dist/session-lineage-AGOHSXIS.js +66 -0
  391. package/dist/{session-scope-2ADEVY3C.js → session-scope-WXP4F7OF.js} +30 -27
  392. package/dist/setup-wizard-2CTVITIX.js +35 -0
  393. package/dist/{shard-manager-DFLCDZT5.js → shard-manager-YEOHEOHL.js} +4 -3
  394. package/dist/{skill-refinement-APBYOSGX.js → skill-refinement-VDR5OT4V.js} +9 -8
  395. package/dist/{stack-promote-SZYIPTFT.js → stack-promote-XVC7FRJW.js} +6 -5
  396. package/dist/{stack-release-EYRDEGPD.js → stack-release-6PWAACRM.js} +101 -80
  397. package/dist/{stack-update-YWK2YXP6.js → stack-update-24VRBQ3U.js} +9 -4
  398. package/dist/{steward-gate-CIOBPNX6.js → steward-gate-2ZNYDVFO.js} +9 -8
  399. package/dist/{support-inbox-OAWGFRKW.js → support-inbox-ZHKLDETT.js} +5 -4
  400. package/dist/{task-enforcement-YAU6ZGDC.js → task-enforcement-GQDUTIFY.js} +37 -28
  401. package/dist/task-request-inbox-BFXNUU44.js +64 -0
  402. package/dist/{task-scope-44N7XP5N.js → task-scope-ERHPHLUM.js} +30 -27
  403. package/dist/{tasks-crud-IWVDREXG.js → tasks-crud-NVNF3NRA.js} +30 -27
  404. package/dist/tasks-notify-DXLU5VCT.js +60 -0
  405. package/dist/{tasks-review-VDFWFETP.js → tasks-review-BST6N34P.js} +30 -27
  406. package/dist/{telemetry-upload-3X5ESEKM.js → telemetry-upload-NY3EKOGY.js} +13 -12
  407. package/dist/{token-budget-WZGO22ME.js → token-budget-CLB3GUIX.js} +9 -8
  408. package/dist/{tool-capability-index-IFNZ6QUS.js → tool-capability-index-WZWVBI2R.js} +1 -1
  409. package/dist/{tool-telemetry-F7RWUNVK.js → tool-telemetry-PALAZUXT.js} +1 -1
  410. package/dist/tui/App.js +44 -41
  411. package/dist/{tui-data-KT7YGVQS.js → tui-data-CNFSRZP7.js} +30 -27
  412. package/dist/{typed-messages-TKDGVPHS.js → typed-messages-RCMPEKJN.js} +1 -1
  413. package/dist/{update-support-ZVRMECNQ.js → update-support-ZVB3CNGY.js} +24 -22
  414. package/dist/{work-state-heartbeat-CA4CN7DQ.js → work-state-heartbeat-O7UMB6SE.js} +1 -1
  415. package/dist/{worker-gate-52MVKYGZ.js → worker-gate-6DQQWDNB.js} +3 -2
  416. package/dist/{workflow-engine-ZAFBPVUP.js → workflow-engine-5ZULFH7O.js} +2 -2
  417. package/dist/{worktree-NNVXVV6A.js → worktree-ZWA35PKW.js} +10 -9
  418. package/dist/{worktree-sweep-IM2ZQG6Z.js → worktree-sweep-5LCVT46V.js} +11 -10
  419. package/package.json +8 -20
  420. package/postinstall.mjs +124 -0
  421. package/release-notes.json +18 -16
  422. package/stack.release.schema.json +4 -0
  423. package/dist/chunk-AFNRE2RV.js +0 -408
  424. package/dist/chunk-OSKWCKUC.js +0 -6
  425. package/dist/chunk-S3FIQCSM.js +0 -232
  426. package/dist/chunk-W6UB2AWP.js +0 -656
  427. package/dist/dreaming-WPMQJAXW.js +0 -60
  428. package/dist/exe-org-UK77DUU4.js +0 -73
  429. package/dist/memory-queue-client-RRNW2IFZ.js +0 -16
  430. package/dist/orchestrator-WV2YCHTK.js +0 -52
  431. package/dist/push-notifications-GOFTDDWW.js +0 -15
  432. package/dist/setup-wizard-26B36FMC.js +0 -14
  433. package/dist/tasks-notify-WK5HA77D.js +0 -57
  434. /package/dist/{chunk-YL2JH3XV.js → chunk-6C4UAKMS.js} +0 -0
  435. /package/dist/{chunk-YMCIZCNK.js → chunk-BN26LSME.js} +0 -0
  436. /package/dist/{chunk-WTH4CSAP.js → chunk-DFQEUZSI.js} +0 -0
  437. /package/dist/{chunk-FVWI2AR4.js → chunk-FIPUVCKC.js} +0 -0
  438. /package/dist/{chunk-ZMYXQU4L.js → chunk-L4LPJMPV.js} +0 -0
  439. /package/dist/{chunk-COHHVCFA.js → chunk-UELGUVNL.js} +0 -0
  440. /package/dist/{chunk-U7RZIY74.js → chunk-X7LY3IOB.js} +0 -0
  441. /package/dist/{chunk-BGYCUZYK.js → chunk-YAZ5ECEG.js} +0 -0
  442. /package/dist/{chunk-DSGFX3RT.js → chunk-YWN3XMPU.js} +0 -0
  443. /package/dist/{chunk-YMUZWC33.js → chunk-YYB5PMTK.js} +0 -0
  444. /package/dist/{core-memory-AATZRQEY.js → core-memory-BZFPVS43.js} +0 -0
  445. /package/dist/{entity-boost-HLFG2CH3.js → entity-boost-VXXED26D.js} +0 -0
  446. /package/dist/{memory-isolation-CF6FYSXD.js → memory-isolation-3PIOWLYP.js} +0 -0
  447. /package/dist/{message-queue-client-AX6KQK7T.js → message-queue-client-5XW7ZOK2.js} +0 -0
  448. /package/dist/{oauth-server-VE5ELXTF.js → oauth-server-KW5M437C.js} +0 -0
  449. /package/dist/{webhook-pipe-A4X4SCMW.js → webhook-pipe-QJRFZVKA.js} +0 -0
  450. /package/dist/{wiki-acl-GNIXYWHJ.js → wiki-acl-RXFV5OEU.js} +0 -0
  451. /package/dist/{wiki-client-7RRYRSPS.js → wiki-client-57QWZIHQ.js} +0 -0
@@ -1,58 +1,61 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  fastDbInit
4
- } from "../chunk-YMCIZCNK.js";
4
+ } from "../chunk-BN26LSME.js";
5
5
  import {
6
6
  sessionScopeFilter
7
- } from "../chunk-74R44E4S.js";
8
- import "../chunk-CAEWPEBA.js";
9
- import "../chunk-XV42EAVK.js";
10
- import "../chunk-6WHYSLGF.js";
11
- import "../chunk-EIKATSE4.js";
7
+ } from "../chunk-SQM4ZTL2.js";
8
+ import "../chunk-5C6ZIJ7J.js";
9
+ import "../chunk-SXKIGBNF.js";
10
+ import "../chunk-BT2PUK3S.js";
11
+ import "../chunk-KI5PFRG6.js";
12
+ import "../chunk-WT4RI36X.js";
13
+ import "../chunk-Z67DIJKT.js";
12
14
  import "../chunk-E23LNUWJ.js";
13
- import "../chunk-4JERP7NT.js";
14
- import "../chunk-3ODATKWH.js";
15
+ import "../chunk-QAEWWYHL.js";
16
+ import "../chunk-EIKATSE4.js";
17
+ import "../chunk-D5CY4E7I.js";
15
18
  import "../chunk-UXLO7VHX.js";
16
19
  import "../chunk-DSOQUQTV.js";
17
- import "../chunk-SKGMF2SO.js";
18
- import "../chunk-POZGQQEZ.js";
20
+ import "../chunk-GBNB4EWD.js";
21
+ import "../chunk-PV5BIXT6.js";
19
22
  import "../chunk-AJIXH5JF.js";
20
- import "../chunk-VAY6IXWY.js";
23
+ import "../chunk-KDMVVHZH.js";
21
24
  import "../chunk-AM7S2TY6.js";
22
- import "../chunk-F3QTF4T7.js";
23
- import "../chunk-OSKWCKUC.js";
24
- import "../chunk-KI5PFRG6.js";
25
+ import "../chunk-CY5NVDTH.js";
25
26
  import "../chunk-CVYC6DUW.js";
26
- import "../chunk-A6VIK3SS.js";
27
- import "../chunk-RXL7A7JH.js";
27
+ import "../chunk-4P2BFNSB.js";
28
+ import "../chunk-MZYNW5OY.js";
28
29
  import "../chunk-OPU3NYOO.js";
29
- import "../chunk-W6UB2AWP.js";
30
- import "../chunk-AFNRE2RV.js";
31
- import "../chunk-VMR6M6GN.js";
30
+ import "../chunk-6EM6USV7.js";
31
+ import "../chunk-HISFWAAK.js";
32
32
  import "../chunk-NLEW62VC.js";
33
33
  import "../chunk-HYZV25LY.js";
34
34
  import "../chunk-GJV3WDWM.js";
35
35
  import "../chunk-MP2AFCGL.js";
36
36
  import {
37
37
  getClient
38
- } from "../chunk-EA5FVACM.js";
39
- import "../chunk-2I23RPSI.js";
40
- import "../chunk-5YEUPUV4.js";
41
- import "../chunk-Z2PAVJJ4.js";
42
- import "../chunk-OMXJMOBD.js";
38
+ } from "../chunk-HLU52KTO.js";
39
+ import "../chunk-TKDITWDN.js";
43
40
  import "../chunk-BBMTVAE3.js";
44
- import "../chunk-YMUZWC33.js";
41
+ import "../chunk-5YEUPUV4.js";
42
+ import "../chunk-Q7J2SQJ6.js";
43
+ import "../chunk-YYB5PMTK.js";
44
+ import "../chunk-BRZR76TS.js";
45
45
  import "../chunk-V3W3SATA.js";
46
46
  import "../chunk-JY5GAZYC.js";
47
47
  import "../chunk-FXU7JOXK.js";
48
48
  import "../chunk-WNBZJSQT.js";
49
- import "../chunk-2OVTGZYH.js";
50
- import "../chunk-YBX3G5OP.js";
51
- import "../chunk-BCZF3AGJ.js";
49
+ import "../chunk-HSKABJE6.js";
50
+ import "../chunk-3ICF4IAZ.js";
51
+ import "../chunk-QILQ5FCG.js";
52
+ import "../chunk-ARX6TAGN.js";
53
+ import "../chunk-BRIZ6OZ3.js";
52
54
  import "../chunk-HSGBZSCA.js";
53
55
  import {
54
56
  isMainModule
55
57
  } from "../chunk-6Y4B3QF6.js";
58
+ import "../chunk-JKKZGDLP.js";
56
59
  import "../chunk-MLKGABMK.js";
57
60
 
58
61
  // src/bin/cleanup-stale-review-tasks.ts
package/dist/bin/cli.js CHANGED
@@ -25,10 +25,9 @@ Install: https://nodejs.org/
25
25
  }
26
26
  var args = process.argv.slice(2);
27
27
  if (process.platform === "win32") {
28
- process.stderr.write(
29
- "\nexe-os does not support native Windows. Use WSL2 instead:\n 1. Run `wsl --install` in PowerShell\n 2. Open Ubuntu/WSL2\n 3. Install and run exe-os inside WSL2\n\n"
30
- );
31
- process.exit(0);
28
+ const { windowsRefusalText, WINDOWS_UNSUPPORTED_EXIT } = await import("../lib/platform-support.js");
29
+ process.stderr.write(windowsRefusalText());
30
+ process.exit(WINDOWS_UNSUPPORTED_EXIT);
32
31
  }
33
32
  if (args[0] === "--version" || args[0] === "-v") {
34
33
  try {
@@ -81,7 +80,7 @@ Commands:
81
80
  channel View/set update channel (stable|canary|pinned)
82
81
  cloud Cloud sync setup and device linking
83
82
  doctor Diagnose installation health
84
- daemon Manage daemon lifecycle (status|reset-breaker|install --user|install --system)
83
+ daemon Manage daemon lifecycle (status|restart|stop|reset-breaker|install --user|install --system)
85
84
  support test Verify support intake works
86
85
  mcp List/enable/disable MCP servers for Claude, Codex, and OpenCode
87
86
  reconcile-backlog Detect support records already shipped in code (report-only default)
@@ -109,7 +108,7 @@ if (args.includes("--global")) {
109
108
  );
110
109
  await runClaudeInstall();
111
110
  } else if (args.includes("--commands-only")) {
112
- const { copySlashCommands, resolvePackageRoot } = await import("../installer-7UV3CNWZ.js");
111
+ const { copySlashCommands, resolvePackageRoot } = await import("../installer-QBWZSYDG.js");
113
112
  try {
114
113
  const packageRoot = resolvePackageRoot();
115
114
  const result = await copySlashCommands(packageRoot);
@@ -172,7 +171,7 @@ if (args.includes("--global")) {
172
171
  break;
173
172
  }
174
173
  } else if (args[0] === "org") {
175
- const { main: runOrg } = await import("../exe-org-UK77DUU4.js");
174
+ const { main: runOrg } = await import("../exe-org-HXF4XBB3.js");
176
175
  await runOrg(args.slice(1));
177
176
  } else if (args[0] === "mcp") {
178
177
  const { main: runMcp } = await import("./exe-mcp.js");
@@ -180,7 +179,7 @@ if (args.includes("--global")) {
180
179
  } else if (args[0] === "code-context") {
181
180
  await runCodeContext(args.slice(1));
182
181
  } else if (args[0] === "jobs") {
183
- const { cancelBackgroundJob, formatJobs, listBackgroundJobs } = await import("../background-jobs-XGTLESKM.js");
182
+ const { cancelBackgroundJob, formatJobs, listBackgroundJobs } = await import("../background-jobs-Z6KHCWES.js");
184
183
  const sub = args[1] ?? "status";
185
184
  if (sub === "status" || sub === "list") {
186
185
  console.log(formatJobs(listBackgroundJobs()));
@@ -201,7 +200,7 @@ if (args.includes("--global")) {
201
200
  process.exit(1);
202
201
  }
203
202
  } else if (args[0] === "key") {
204
- const { main: runKey } = await import("../exe-key-KZCCHX3W.js");
203
+ const { main: runKey } = await import("../exe-key-A2WJLLTM.js");
205
204
  await runKey(args.slice(1));
206
205
  } else if (args[0] === "grant") {
207
206
  const { main: runGrant } = await import("./exe-grant.js");
@@ -259,7 +258,7 @@ if (args.includes("--global")) {
259
258
  process.exit(1);
260
259
  }
261
260
  } else if (args[0] === "backfill-metadata") {
262
- const { backfillMetadata } = await import("../backfill-metadata-4DS4A5U3.js");
261
+ const { backfillMetadata } = await import("../backfill-metadata-Y3DGVCK5.js");
263
262
  let batchSize = 50;
264
263
  let limit = 0;
265
264
  let dryRun = false;
@@ -290,10 +289,10 @@ if (args.includes("--global")) {
290
289
  process.exit(1);
291
290
  }
292
291
  } else if (args[0] === "export") {
293
- const { runExeExport } = await import("../exe-export-ESJ6KP6J.js");
292
+ const { runExeExport } = await import("../exe-export-XJJTVVT7.js");
294
293
  await runExeExport(args.slice(1));
295
294
  } else if (args[0] === "import") {
296
- const { runExeImport } = await import("../exe-import-N4X3GEQB.js");
295
+ const { runExeImport } = await import("../exe-import-G6O7JFNZ.js");
297
296
  await runExeImport(args.slice(1));
298
297
  } else if (args[0] === "import-history") {
299
298
  const { runImportHistory } = await import("./import-history.js");
@@ -318,7 +317,7 @@ if (args.includes("--global")) {
318
317
  const { initStore } = await import("../lib/store.js");
319
318
  await initStore();
320
319
  const { sendMessage } = await import("../lib/messaging.js");
321
- const { getActiveAgent } = await import("../active-agent-Y3DCBD7J.js");
320
+ const { getActiveAgent } = await import("../active-agent-BPNEBKHI.js");
322
321
  const { agentId } = getActiveAgent();
323
322
  const result = await sendMessage({
324
323
  fromAgent: agentId,
@@ -342,7 +341,7 @@ ID: ${result.id}`);
342
341
  process.exit(code);
343
342
  } else if (args[0] === "doctor") {
344
343
  if (args.includes("--drift")) {
345
- const { runDrift } = await import("../exe-drift-QTKD2FHT.js");
344
+ const { runDrift } = await import("../exe-drift-VBWB5E6S.js");
346
345
  await runDrift(args.slice(1));
347
346
  } else {
348
347
  const { runCcDoctor } = await import("./cc-doctor.js");
@@ -352,7 +351,7 @@ ID: ${result.id}`);
352
351
  const icon = r.pass ? "\x1B[32m\u2713\x1B[0m" : "\x1B[31m\u2717\x1B[0m";
353
352
  console.log(` ${icon} ${r.name}: ${r.detail}`);
354
353
  }
355
- const { readBreakerAlert } = await import("../daemon-restart-circuit-breaker-5V6B6NLS.js");
354
+ const { readBreakerAlert, readSelfHealStormAlert } = await import("../daemon-restart-circuit-breaker-SMTWFX27.js");
356
355
  const alert = readBreakerAlert();
357
356
  let breakerFailed = 0;
358
357
  if (alert) {
@@ -365,7 +364,27 @@ ID: ${result.id}`);
365
364
  } else {
366
365
  console.log("\n \x1B[32m\u2713 restart circuit breaker: not tripped\x1B[0m");
367
366
  }
368
- const totalFailed = failed + breakerFailed;
367
+ const storm = readSelfHealStormAlert();
368
+ if (storm) {
369
+ breakerFailed = 1;
370
+ console.log("\n \x1B[33m\u26A0 daemon restart storm: ACTIVE\x1B[0m");
371
+ console.log(` ${String(storm.reason ?? "daemon is self-healing repeatedly")}`);
372
+ console.log(` self-heal restarts in window: ${String(storm.selfHealRestartsInWindow ?? "?")}`);
373
+ console.log(" inspect: exe-os doctor --restarts");
374
+ }
375
+ const { POSTINSTALL_ACTION_REQUIRED_PREFIX, readPostinstallFailureMarker } = await import("../postinstall-failure-A7WTAXD6.js");
376
+ const postinstallFailure = readPostinstallFailureMarker();
377
+ const postinstallFailed = postinstallFailure ? 1 : 0;
378
+ if (postinstallFailure) {
379
+ const firstFailure = postinstallFailure.failures[0];
380
+ console.log("\n \x1B[31m\u2717 postinstall failure: ACTION-REQUIRED\x1B[0m");
381
+ console.log(` ${POSTINSTALL_ACTION_REQUIRED_PREFIX} postinstall did not complete critical setup`);
382
+ if (postinstallFailure.at !== "unknown") console.log(` failed at: ${postinstallFailure.at}`);
383
+ if (firstFailure) console.log(` ${firstFailure.step}: ${firstFailure.detail}`);
384
+ console.log(` marker: ${postinstallFailure.path}`);
385
+ console.log(` action: ${postinstallFailure.action}`);
386
+ }
387
+ const totalFailed = failed + breakerFailed + postinstallFailed;
369
388
  console.log(totalFailed === 0 ? "\n \x1B[32mAll checks passed\x1B[0m\n" : `
370
389
  \x1B[31m${totalFailed} issue(s) found\x1B[0m
371
390
  `);
@@ -379,38 +398,110 @@ ID: ${result.id}`);
379
398
  isRestartBreakerTripped,
380
399
  restartBreakerStatePath,
381
400
  restartBreakerAlertPath,
382
- daemonLastExitPath
383
- } = await import("../daemon-restart-circuit-breaker-5V6B6NLS.js");
401
+ daemonLastExitPath,
402
+ readSelfHealStormAlert,
403
+ selfHealStormAlertPath
404
+ } = await import("../daemon-restart-circuit-breaker-SMTWFX27.js");
384
405
  const { existsSync: existsSync2, readFileSync: readFileSync2 } = await import("fs");
385
406
  if (sub === "install") {
386
407
  const mode = args[2];
408
+ if (mode && mode !== "--user" && mode !== "--system") {
409
+ console.error("Usage: exe-os daemon install [--user|--system]");
410
+ process.exit(1);
411
+ }
412
+ if (process.platform === "linux") {
413
+ if (mode === "--system") {
414
+ console.error(" \x1B[31m\u2717\x1B[0m `--system` is macOS-only (LaunchDaemons). exe-os does not install a system-wide systemd unit.");
415
+ console.error(" On Linux use: exe-os daemon install --user (systemd --user, with lingering so it survives logout)");
416
+ process.exit(1);
417
+ }
418
+ const { setupLinuxSupervision } = await import("./install.js");
419
+ const res = setupLinuxSupervision();
420
+ if (!res.ok) {
421
+ console.error(" \x1B[31m\u2717\x1B[0m systemd supervision NOT installed \u2014 the daemon would run unsupervised.");
422
+ if (!res.daemon.ok) console.error(` ${res.daemon.unit}: ${res.daemon.detail}`);
423
+ if (!res.watchdog.ok) console.error(` ${res.watchdog.unit}: ${res.watchdog.detail}`);
424
+ process.exit(1);
425
+ }
426
+ console.log(` \x1B[32m\u2713\x1B[0m systemd user units active: ${res.daemon.unit}, ${res.watchdog.unit}`);
427
+ process.exit(0);
428
+ }
429
+ if (process.platform !== "darwin") {
430
+ console.error(` \x1B[31m\u2717\x1B[0m exe-os daemon install is not supported on ${process.platform} (launchd is macOS, systemd is Linux).`);
431
+ process.exit(1);
432
+ }
387
433
  if (mode === "--system") {
388
434
  const { installSystemLaunchDaemons } = await import("./install-launchd.js");
389
435
  process.exit(installSystemLaunchDaemons());
390
436
  }
391
- if (mode === "--user" || !mode) {
392
- const { setupDaemonKeepalive, setupWatchdog } = await import("./install.js");
393
- setupDaemonKeepalive();
394
- setupWatchdog();
395
- console.log(" \x1B[32m\u2713\x1B[0m User LaunchAgents refreshed (default login-session domain).");
396
- console.log(" For headless pre-login start: sudo exe-os daemon install --system");
397
- process.exit(0);
437
+ const { setupDaemonKeepalive, setupWatchdog } = await import("./install.js");
438
+ const daemonRes = setupDaemonKeepalive();
439
+ const watchdogRes = setupWatchdog();
440
+ if (!daemonRes.ok || !watchdogRes.ok) {
441
+ console.error(" \x1B[31m\u2717\x1B[0m User LaunchAgents NOT fully registered \u2014 the daemon may be unsupervised.");
442
+ if (!daemonRes.ok) console.error(` com.askexe.exed: ${daemonRes.detail}`);
443
+ if (!watchdogRes.ok) console.error(` com.askexe.watchdog: ${watchdogRes.detail}`);
444
+ process.exit(1);
398
445
  }
399
- console.error("Usage: exe-os daemon install [--user|--system]");
400
- process.exit(1);
446
+ console.log(" \x1B[32m\u2713\x1B[0m User LaunchAgents refreshed (default login-session domain).");
447
+ console.log(" For headless pre-login start: sudo exe-os daemon install --system");
448
+ process.exit(0);
449
+ } else if (sub === "restart") {
450
+ const { restartDaemonNow } = await import("../lib/exe-daemon-client.js");
451
+ const outcome = await restartDaemonNow("manual");
452
+ if (!outcome.ok) {
453
+ console.error(` \x1B[31m\u2717\x1B[0m Daemon restart declined: ${outcome.detail}`);
454
+ process.exit(1);
455
+ }
456
+ console.log(` \x1B[32m\u2713\x1B[0m ${outcome.detail}`);
457
+ if (!outcome.running) {
458
+ console.log(" Run 'exe-os daemon status' in a few seconds to confirm it came back.");
459
+ }
460
+ process.exit(0);
461
+ } else if (sub === "stop") {
462
+ const { stopDaemonNow } = await import("../lib/exe-daemon-client.js");
463
+ const outcome = await stopDaemonNow();
464
+ if (!outcome.ok) {
465
+ console.error(` \x1B[31m\u2717\x1B[0m ${outcome.detail}`);
466
+ process.exit(1);
467
+ }
468
+ console.log(` \x1B[32m\u2713\x1B[0m ${outcome.detail}`);
469
+ console.log(" Memory, tasks and MCP are DOWN until you run: \x1B[1mexe-os daemon restart\x1B[0m");
470
+ process.exit(0);
401
471
  } else if (sub === "reset-breaker") {
402
472
  resetRestartBreaker();
403
473
  console.log(" \x1B[32m\u2713\x1B[0m Restart circuit breaker reset (crash counter + alert cleared).");
404
- console.log(" Relaunch the daemon (it starts automatically on the next exe-os command / launchd tick).");
474
+ console.log(" Now run: \x1B[1mexe-os daemon restart\x1B[0m");
475
+ console.log(" (a degraded daemon is still running, so nothing restarts it on its own).");
405
476
  process.exit(0);
406
477
  } else if (sub === "status" || !sub) {
407
478
  const tripped = isRestartBreakerTripped();
479
+ if (process.platform === "linux") {
480
+ const { SYSTEMD_DAEMON_UNIT, SYSTEMD_WATCHDOG_UNIT, runCommand, isActiveOutput } = await import("../linux-systemd-LRW3BYSS.js");
481
+ console.log("");
482
+ for (const unit of [SYSTEMD_DAEMON_UNIT, SYSTEMD_WATCHDOG_UNIT]) {
483
+ const active = runCommand("systemctl", ["--user", "is-active", unit], 3e3);
484
+ const enabled = runCommand("systemctl", ["--user", "is-enabled", unit], 3e3).stdout.trim() || "not-installed";
485
+ const running = isActiveOutput(active.stdout);
486
+ console.log(
487
+ ` ${unit}: ${running ? "\x1B[32mactive\x1B[0m" : `\x1B[31m${active.stdout.trim() || "inactive"}\x1B[0m`} (${enabled})` + (running ? "" : " \u2190 supervises nothing in this state; fix with: exe-os daemon install --user")
488
+ );
489
+ }
490
+ }
408
491
  console.log(`
409
492
  Restart circuit breaker: ${tripped ? "\x1B[31mTRIPPED\x1B[0m" : "\x1B[32mnot tripped\x1B[0m"}`);
410
493
  const alert = readBreakerAlert();
411
494
  if (alert) console.log(`
412
495
  ${JSON.stringify(alert, null, 2)}
413
496
  `);
497
+ const stormAlert = readSelfHealStormAlert();
498
+ console.log(` Self-heal restart storm: ${stormAlert ? "\x1B[33mACTIVE\x1B[0m" : "\x1B[32mnone\x1B[0m"}`);
499
+ if (stormAlert) {
500
+ console.log(`
501
+ ${JSON.stringify(stormAlert, null, 2)}`);
502
+ console.log(` Alert file: ${selfHealStormAlertPath()}`);
503
+ console.log(" Inspect: exe-os doctor --restarts\n");
504
+ }
414
505
  for (const [label, p] of [["state", restartBreakerStatePath()], ["last-exit", daemonLastExitPath()]]) {
415
506
  if (existsSync2(p)) {
416
507
  try {
@@ -423,7 +514,7 @@ ${JSON.stringify(alert, null, 2)}
423
514
  if (!alert && !tripped) console.log(` Alert file: ${restartBreakerAlertPath()} (absent \u2014 healthy)`);
424
515
  process.exit(tripped ? 1 : 0);
425
516
  } else {
426
- console.error("Usage: exe-os daemon <status|reset-breaker|install [--user|--system]>");
517
+ console.error("Usage: exe-os daemon <status|restart|stop|reset-breaker|install [--user|--system]>");
427
518
  process.exit(1);
428
519
  }
429
520
  } else if (args[0] === "backup") {
@@ -447,7 +538,19 @@ ${JSON.stringify(alert, null, 2)}
447
538
  }
448
539
  } else if (sub === "create") {
449
540
  const reason = args[2] || "manual";
450
- const result = await createBackup(reason);
541
+ let encryptionKey;
542
+ try {
543
+ const { fastDbInit } = await import("../fast-db-init-SO2XUQ7T.js");
544
+ await fastDbInit({ caller: "cli" });
545
+ } catch {
546
+ }
547
+ try {
548
+ const { getMasterKey } = await import("../lib/keychain.js");
549
+ const key = await getMasterKey();
550
+ encryptionKey = key?.toString("hex");
551
+ } catch {
552
+ }
553
+ const result = await createBackup(reason, encryptionKey ? { encryptionKey } : void 0);
451
554
  if (result) {
452
555
  console.log(`Backup created: ${path.basename(result)}`);
453
556
  } else {
@@ -472,13 +575,13 @@ ${JSON.stringify(alert, null, 2)}
472
575
  if (result.preRestoreBackup) {
473
576
  console.log(`Pre-restore snapshot saved: ${path.basename(result.preRestoreBackup)}`);
474
577
  }
475
- console.log("Restart the daemon for changes to take effect: exe-os daemon restart");
578
+ console.log("Restart the daemon so it stops serving the pre-restore database: exe-os daemon restart");
476
579
  } else {
477
580
  console.error("No backup available to restore.");
478
581
  process.exit(1);
479
582
  }
480
583
  } else if (sub === "verify") {
481
- const { verifyBackup } = await import("../backup-verify-JNYKXIU2.js");
584
+ const { verifyBackup } = await import("../backup-verify-TZPPUCLU.js");
482
585
  let target;
483
586
  const pathIdx = args.indexOf("--path");
484
587
  if (pathIdx >= 0 && args[pathIdx + 1]) {
@@ -508,7 +611,7 @@ ${JSON.stringify(alert, null, 2)}
508
611
  process.exit(1);
509
612
  }
510
613
  } else if (args[0] === "setup" || args[0] === "-setup" || args[0] === "--setup") {
511
- const { runSetupWizard } = await import("../setup-wizard-26B36FMC.js");
614
+ const { runSetupWizard } = await import("../setup-wizard-2CTVITIX.js");
512
615
  await runSetupWizard({
513
616
  skipModel: args.includes("--skip-model"),
514
617
  nonInteractive: args.includes("--non-interactive") || args.includes("-y") || args.includes("--yes"),
@@ -528,11 +631,11 @@ ${JSON.stringify(alert, null, 2)}
528
631
  const { runStackUpdateCli } = await import("./stack-update.js");
529
632
  await runStackUpdateCli(args.slice(1));
530
633
  } else if (args[0] === "release") {
531
- const { parseReleaseArgs, runStackRelease } = await import("../stack-release-EYRDEGPD.js");
634
+ const { parseReleaseArgs, runStackRelease } = await import("../stack-release-6PWAACRM.js");
532
635
  const releaseFlags = parseReleaseArgs(args.slice(1));
533
636
  await runStackRelease(releaseFlags);
534
637
  } else if (args[0] === "stack-promote") {
535
- const { runStackPromoteCli } = await import("../stack-promote-SZYIPTFT.js");
638
+ const { runStackPromoteCli } = await import("../stack-promote-XVC7FRJW.js");
536
639
  await runStackPromoteCli(args.slice(1));
537
640
  } else if (args[0] === "preflight") {
538
641
  const { runPreflightCli } = await import("./exe-preflight.js");
@@ -564,16 +667,16 @@ Post-deploy verification \u2014 8 runtime checks after stack-update.
564
667
  `);
565
668
  process.exit(report.failed > 0 ? 1 : 0);
566
669
  } else if (args[0] === "snapshot") {
567
- const { main: runSnapshot } = await import("../exe-snapshot-SCRPHCPZ.js");
670
+ const { main: runSnapshot } = await import("../exe-snapshot-TL3TLKLR.js");
568
671
  await runSnapshot(args.slice(1));
569
672
  } else if (args[0] === "boot") {
570
- const { projectBoot, parseBootArgs } = await import("../project-boot-WEQSKDD7.js");
673
+ const { projectBoot, parseBootArgs } = await import("../project-boot-3DFY5F35.js");
571
674
  const bootOpts = parseBootArgs(args.slice(1));
572
675
  console.log(await projectBoot(bootOpts));
573
676
  } else if (args[0] === "brand") {
574
677
  const configIdx = args.indexOf("--config");
575
678
  if (configIdx === -1 || !args[configIdx + 1]) {
576
- const { loadBranding, BRANDING_PATH } = await import("../branding-6FHWZQYQ.js");
679
+ const { loadBranding, BRANDING_PATH } = await import("../branding-7MZDHTKN.js");
577
680
  const b = loadBranding();
578
681
  console.log(`
579
682
  Brand: ${b.name}`);
@@ -592,7 +695,7 @@ Post-deploy verification \u2014 8 runtime checks after stack-update.
592
695
  }
593
696
  try {
594
697
  const raw = JSON.parse(rf(configPath, "utf-8"));
595
- const { validateBranding, saveBranding } = await import("../branding-6FHWZQYQ.js");
698
+ const { validateBranding, saveBranding } = await import("../branding-7MZDHTKN.js");
596
699
  const result = validateBranding(raw);
597
700
  if (!result.valid) {
598
701
  console.error(`
@@ -681,7 +784,7 @@ cd into a project folder and run \x1B[1m${cooName}1\x1B[0m to boot your COO.
681
784
  }
682
785
  }
683
786
  async function runCodeContext(ccArgs) {
684
- const { buildCodeContextIndex, getCodeContextStats, searchCodeContext } = await import("../code-context-index-5RY66SWZ.js");
787
+ const { buildCodeContextIndex, getCodeContextStats, searchCodeContext } = await import("../code-context-index-DWR6HS35.js");
685
788
  const sub = ccArgs[0] ?? "status";
686
789
  const projectRoot = valueAfter(ccArgs, "--project-root");
687
790
  if (sub === "init" || sub === "index") {
@@ -762,7 +865,7 @@ function numberAfter(args2, flag) {
762
865
  return Number.isFinite(parsed) ? parsed : void 0;
763
866
  }
764
867
  async function runClaudeInstall() {
765
- const { runInstaller } = await import("../installer-7UV3CNWZ.js");
868
+ const { runInstaller } = await import("../installer-QBWZSYDG.js");
766
869
  try {
767
870
  await runInstaller();
768
871
  } catch (err) {
@@ -774,7 +877,7 @@ async function runClaudeInstall() {
774
877
  }
775
878
  }
776
879
  async function runOpenCodeInstall() {
777
- const { runOpenCodeInstaller } = await import("../installer-VPNTM3X6.js");
880
+ const { runOpenCodeInstaller } = await import("../installer-G67M3DME.js");
778
881
  try {
779
882
  await runOpenCodeInstaller();
780
883
  } catch (err) {
@@ -786,7 +889,7 @@ async function runOpenCodeInstall() {
786
889
  }
787
890
  }
788
891
  async function runCodexInstall() {
789
- const { runCodexInstaller } = await import("../installer-YDLSXGD2.js");
892
+ const { runCodexInstaller } = await import("../installer-L3ZKMOPU.js");
790
893
  try {
791
894
  await runCodexInstaller();
792
895
  } catch (err) {
@@ -798,7 +901,7 @@ async function runCodexInstall() {
798
901
  }
799
902
  }
800
903
  async function runClaudeCheck() {
801
- const { detectMcpNameCollisions } = await import("../installer-7UV3CNWZ.js");
904
+ const { detectMcpNameCollisions } = await import("../installer-QBWZSYDG.js");
802
905
  const claudeDir = path.join(os.homedir(), ".claude");
803
906
  const settingsPath = path.join(claudeDir, "settings.json");
804
907
  const claudeJsonPath = path.join(os.homedir(), ".claude.json");
@@ -1299,12 +1402,12 @@ async function runCloudSync() {
1299
1402
  console.error("Cloud sync is not configured. Run \x1B[36mexe-os cloud\x1B[0m to set up.");
1300
1403
  process.exit(1);
1301
1404
  }
1302
- const { initStore, disposeStore } = await import("../lib/store.js");
1405
+ const { disposeStore } = await import("../lib/store.js");
1303
1406
  const { cloudSync } = await import("../lib/cloud-sync.js");
1304
1407
  const { getMasterKey } = await import("../lib/keychain.js");
1305
1408
  const { initSyncCrypto } = await import("../lib/crypto.js");
1306
1409
  const { assertCloudSyncReachable, withTimeout } = await import("./exe-cloud.js");
1307
- const { runCloudSyncShutdown } = await import("../cloud-sync-shutdown-XCOATIJW.js");
1410
+ const { runCloudSyncShutdown } = await import("../cloud-sync-shutdown-FWERMZB5.js");
1308
1411
  let shuttingDown = false;
1309
1412
  const handleShutdown = (signal) => {
1310
1413
  if (shuttingDown) return;
@@ -1320,7 +1423,14 @@ async function runCloudSync() {
1320
1423
  console.error(`Cloud sync aborted: ${err instanceof Error ? err.message : String(err)}`);
1321
1424
  process.exit(1);
1322
1425
  }
1323
- await initStore();
1426
+ const { isPostgresBackendEnabled } = await import("../db-backend-ODVJ3Q3D.js");
1427
+ if (isPostgresBackendEnabled()) {
1428
+ const { initPostgresOnlyDatabase } = await import("../lib/database.js");
1429
+ await initPostgresOnlyDatabase();
1430
+ } else {
1431
+ const { fastDbInit } = await import("../fast-db-init-SO2XUQ7T.js");
1432
+ await fastDbInit();
1433
+ }
1324
1434
  const masterKey = await getMasterKey();
1325
1435
  if (masterKey) {
1326
1436
  initSyncCrypto(masterKey);
@@ -1,10 +1,19 @@
1
1
  #!/usr/bin/env node
2
+ import "../chunk-MLKGABMK.js";
2
3
 
3
4
  // src/bin/customer-readiness.ts
4
5
  import { readFileSync, existsSync, readdirSync, statSync } from "fs";
5
6
  import { execSync } from "child_process";
6
7
  import path from "path";
7
8
  import { fileURLToPath } from "url";
9
+
10
+ // src/lib/scope-evidence.ts
11
+ var SCOPE_CALL = /\b(?:strictSessionScopeFilter|sessionScopeFilter)\s*\(/;
12
+ function hasSessionScopeEvidence(content) {
13
+ return SCOPE_CALL.test(content) || content.includes("session_scope") || content.includes("intentionally unscoped");
14
+ }
15
+
16
+ // src/bin/customer-readiness.ts
8
17
  var __dirname = path.dirname(fileURLToPath(import.meta.url));
9
18
  var ROOT = path.resolve(__dirname, "../..");
10
19
  var pass = 0;
@@ -75,7 +84,7 @@ test("Session scoping \u2014 all task query files import scope helper", () => {
75
84
  const basename = path.basename(f);
76
85
  if (exempt.some((e) => basename === e)) continue;
77
86
  const content = readFileSync(path.join(ROOT, f), "utf8");
78
- if (!content.includes("task-scope") && !content.includes("sessionScopeFilter") && !content.includes("session_scope") && !content.includes("intentionally unscoped")) {
87
+ if (!hasSessionScopeEvidence(content)) {
79
88
  unscoped.push(f);
80
89
  }
81
90
  }