@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,8 +1,17 @@
1
+ import {
2
+ isRefusedQuarantinePath
3
+ } from "./chunk-JKKZGDLP.js";
4
+
1
5
  // src/lib/db-path-guard.ts
2
6
  function assertValidDbPath(dbPath, caller) {
3
7
  if (typeof dbPath !== "string" || dbPath.trim().length === 0) {
4
8
  throw new Error(`${caller}: dbPath is required; refusing to open SQLite at an empty/undefined path`);
5
9
  }
10
+ if (isRefusedQuarantinePath(dbPath)) {
11
+ throw new Error(
12
+ `${caller}: refusing to open a database at ${dbPath} \u2014 exe-os could not resolve an install belonging to this user. Run as the user that owns the install, or set EXE_OS_DIR explicitly.`
13
+ );
14
+ }
6
15
  const trimmed = dbPath.trim();
7
16
  if (trimmed === "undefined" || trimmed === "null" || trimmed === "file:undefined" || trimmed === "file:null") {
8
17
  throw new Error(`${caller}: dbPath is ${JSON.stringify(trimmed)}; refusing to create stray SQLite files`);
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-SSC7EKY2.js";
4
4
  import {
5
5
  inventoryLocalSecretResidue
6
- } from "./chunk-EHM4E62N.js";
6
+ } from "./chunk-6DTALXOA.js";
7
7
  import {
8
8
  CC_NATIVE_ONLY_CUTOFF,
9
9
  compareSemver,
@@ -12,13 +12,16 @@ import {
12
12
  import {
13
13
  readMcpHttpEvents,
14
14
  summarizeMcpTransport
15
- } from "./chunk-ITRKRKS7.js";
15
+ } from "./chunk-RFKRCVGW.js";
16
16
  import {
17
17
  mcpHttpPort
18
- } from "./chunk-6EOLGE7T.js";
18
+ } from "./chunk-CVYDJ2TW.js";
19
+ import {
20
+ inspectKeyCustodySync
21
+ } from "./chunk-HPXFKUGU.js";
19
22
  import {
20
23
  EXE_AI_DIR
21
- } from "./chunk-BCZF3AGJ.js";
24
+ } from "./chunk-BRIZ6OZ3.js";
22
25
 
23
26
  // src/bin/exe-healthcheck.ts
24
27
  import { existsSync, readFileSync, readdirSync } from "fs";
@@ -544,37 +547,44 @@ function checkLocalSecretResidue() {
544
547
  detail: `${inventory.residues.length} plaintext secret residue file(s) detected: ${shown}${inventory.residues.length > 3 ? " ..." : ""}. Vault needed secrets, then run: exe-os doctor --delete-local-secret-residue`
545
548
  }];
546
549
  }
547
- function checkKeyStorageFallback() {
548
- const keyPath = path.join(EXE_AI_DIR, "master.key");
549
- if (!existsSync(keyPath)) {
550
- return [{ name: "security/key-storage", pass: true, detail: "No master.key file fallback detected (expected when OS keychain owns the key)" }];
551
- }
552
- let first = "";
553
- try {
554
- first = readFileSync(keyPath, "utf8").slice(0, 4);
555
- } catch {
556
- return [{ name: "security/key-storage", pass: false, detail: `master.key exists but is not readable: ${keyPath}` }];
557
- }
558
- const saltPath = path.join(EXE_AI_DIR, ".machine-key-salt");
559
- if (first === "enc:" && existsSync(saltPath)) {
560
- return [{
561
- name: "security/key-storage",
562
- pass: false,
563
- detail: `\u{1F7E0} Key is using salted encrypted file fallback at ${keyPath}; migrate to OS keychain when available`
564
- }];
565
- }
566
- if (first === "enc:") {
567
- return [{
568
- name: "security/key-storage",
569
- pass: false,
570
- detail: `\u{1F534} Key is using legacy deterministic encrypted file fallback at ${keyPath}; run exe-os key status or exe-os setup to re-migrate/rewrite with salt`
571
- }];
550
+ function checkKeyStorageFallback(custody = inspectKeyCustodySync()) {
551
+ const name = "security/key-storage";
552
+ switch (custody.kind) {
553
+ case "macos-keychain":
554
+ case "linux-secret-service":
555
+ if (custody.staleKeyFile) {
556
+ return [{
557
+ name,
558
+ pass: false,
559
+ detail: `\u{1F7E0} ${custody.note}. Two copies of the key exist; the file is machine-bound only and any local process can read the material it is derived from. Remove it once you have confirmed the keychain copy works: ${custody.staleKeyFile}`
560
+ }];
561
+ }
562
+ return [{ name, pass: true, detail: `\u{1F7E2} OS keychain owns the master key (${custody.note})` }];
563
+ case "refused":
564
+ return [{
565
+ name,
566
+ pass: false,
567
+ detail: `\u{1F534} Key custody UNKNOWN \u2014 ${custody.note}`
568
+ }];
569
+ case "missing":
570
+ return [{
571
+ name,
572
+ pass: true,
573
+ detail: `\u{1F7E0} No master key found yet \u2014 ${custody.note}. Run exe-os setup if this install should hold a key.`
574
+ }];
575
+ case "plaintext-file":
576
+ return [{
577
+ name,
578
+ pass: false,
579
+ detail: `\u{1F534} ${custody.note}; run exe-os key status or exe-os setup to migrate/encrypt it`
580
+ }];
581
+ default:
582
+ return [{
583
+ name,
584
+ pass: false,
585
+ detail: `\u{1F7E0} ${custody.note}`
586
+ }];
572
587
  }
573
- return [{
574
- name: "security/key-storage",
575
- pass: false,
576
- detail: `\u{1F534} Key is stored in plaintext file fallback at ${keyPath}; run exe-os key status or exe-os setup to migrate/encrypt it`
577
- }];
578
588
  }
579
589
  var HEALTHCHECK_CHILD_ENV = "EXE_HEALTHCHECK_CHILD";
580
590
  var DEFAULT_HEALTHCHECK_TIMEOUT_MS = 3e4;
@@ -1,13 +1,14 @@
1
1
  import {
2
2
  isPaneBusy
3
- } from "./chunk-G2KK64UB.js";
3
+ } from "./chunk-PDJWHL63.js";
4
4
  import {
5
5
  recordSessionKill
6
- } from "./chunk-XVTKJEI2.js";
6
+ } from "./chunk-VDMFVUSY.js";
7
7
  import {
8
8
  updateTask
9
- } from "./chunk-2EAYZ3BK.js";
9
+ } from "./chunk-7H3AZNQ7.js";
10
10
  import {
11
+ BUSY_PATTERN,
11
12
  countPendingReviews,
12
13
  ensureEmployeeAsync,
13
14
  extractRootExe,
@@ -22,14 +23,14 @@ import {
22
23
  sessionScopeFilter,
23
24
  strictSessionScopeFilter,
24
25
  writeNotification
25
- } from "./chunk-74R44E4S.js";
26
+ } from "./chunk-SQM4ZTL2.js";
26
27
  import {
27
28
  LEASE_MINUTES,
28
29
  isLeaseExpired
29
30
  } from "./chunk-E23LNUWJ.js";
30
31
  import {
31
32
  listSessions
32
- } from "./chunk-3ODATKWH.js";
33
+ } from "./chunk-D5CY4E7I.js";
33
34
  import {
34
35
  getTransport
35
36
  } from "./chunk-UXLO7VHX.js";
@@ -38,10 +39,10 @@ import {
38
39
  listTmuxSessions,
39
40
  parseContextPercentage,
40
41
  parseContextPercentageAsync
41
- } from "./chunk-SKGMF2SO.js";
42
+ } from "./chunk-GBNB4EWD.js";
42
43
  import {
43
44
  recordOrchestrationEventBestEffort
44
- } from "./chunk-POZGQQEZ.js";
45
+ } from "./chunk-PV5BIXT6.js";
45
46
  import {
46
47
  checkDispatchStatus,
47
48
  readTerminalLauncherFailure,
@@ -50,22 +51,19 @@ import {
50
51
  } from "./chunk-AJIXH5JF.js";
51
52
  import {
52
53
  getAgentRuntime
53
- } from "./chunk-VAY6IXWY.js";
54
- import {
55
- BUSY_PATTERN
56
- } from "./chunk-OSKWCKUC.js";
54
+ } from "./chunk-KDMVVHZH.js";
57
55
  import {
58
56
  baseAgentName,
59
57
  getCoordinatorName,
60
58
  isCoordinatorName,
61
59
  shouldAutoInstance
62
- } from "./chunk-EA5FVACM.js";
60
+ } from "./chunk-HLU52KTO.js";
63
61
  import {
64
62
  eventLoopBlockedMarkerPath
65
63
  } from "./chunk-JY5GAZYC.js";
66
64
  import {
67
65
  loadConfigSync
68
- } from "./chunk-BCZF3AGJ.js";
66
+ } from "./chunk-BRIZ6OZ3.js";
69
67
 
70
68
  // src/lib/daemon-orchestration.ts
71
69
  import { execFile, execFileSync, execSync } from "child_process";
@@ -1755,6 +1753,27 @@ async function releaseStuckTasks(deps, nowMs = Date.now()) {
1755
1753
  continue;
1756
1754
  }
1757
1755
  }
1756
+ if (t.claimedSession && deps.confirmClaimedSessionAlive) {
1757
+ let stillAlive = false;
1758
+ try {
1759
+ stillAlive = await deps.confirmClaimedSessionAlive(t.claimedSession);
1760
+ } catch {
1761
+ stillAlive = false;
1762
+ }
1763
+ if (stillAlive) {
1764
+ process.stderr.write(
1765
+ `[stuck-release] Task ${t.taskId} (${t.agentId}) \u2014 claimed session ${t.claimedSession} is LIVE per direct has-session probe (cached list was stale); NOT fabricating a dead-session abandon. Deferring.
1766
+ `
1767
+ );
1768
+ if (deps.notifyOrphan) {
1769
+ try {
1770
+ await deps.notifyOrphan(t.taskId, t.agentId, t.sessionScope);
1771
+ } catch {
1772
+ }
1773
+ }
1774
+ continue;
1775
+ }
1776
+ }
1758
1777
  const abandonReason = leaseExpired ? `Abandoned: agent "${t.agentId}" task lease expired (${t.leaseExpiresAt}). Blocked for manual re-dispatch; any existing result is unverified evidence, not a completion.` : `Abandoned: agent "${t.agentId}" session ended (in_progress for ${ageMinutes}m, no live session). Blocked for manual re-dispatch; any existing result is unverified evidence, not a completion.`;
1759
1778
  try {
1760
1779
  if (!deps.markTaskAbandoned) {
@@ -1924,6 +1943,21 @@ function createStuckTaskRealDeps(getClient) {
1924
1943
  return false;
1925
1944
  }
1926
1945
  },
1946
+ confirmClaimedSessionAlive: async (claimedSession) => {
1947
+ if (!claimedSession) return false;
1948
+ try {
1949
+ const socket = process.env.EXE_TMUX_SOCKET;
1950
+ const socketArgs = socket ? ["-L", socket] : [];
1951
+ await execFileAsync(
1952
+ "tmux",
1953
+ [...socketArgs, "has-session", "-t", claimedSession],
1954
+ { encoding: "utf8", timeout: 3e3 }
1955
+ );
1956
+ return true;
1957
+ } catch {
1958
+ return false;
1959
+ }
1960
+ },
1927
1961
  hasInFlightSubagentWork: async (task) => {
1928
1962
  if (!task.claimedSession) return false;
1929
1963
  try {
@@ -3194,7 +3228,7 @@ async function reapOrphanedWorktrees(deps, nowMs = Date.now()) {
3194
3228
  }
3195
3229
  async function createWorktreeReaperRealDeps() {
3196
3230
  const { getPaneCwdAsync } = await import("./lib/tmux-status.js");
3197
- const { getGitRootAsync, isWorktreeDirtyAsync } = await import("./worktree-NNVXVV6A.js");
3231
+ const { getGitRootAsync, isWorktreeDirtyAsync } = await import("./worktree-ZWA35PKW.js");
3198
3232
  const { statSync: statSync3 } = await import("fs");
3199
3233
  const { basename: basename2 } = await import("path");
3200
3234
  const { promisify: promisify2 } = await import("util");
@@ -3425,7 +3459,7 @@ async function gcStaleCheckpoints() {
3425
3459
  }
3426
3460
  async function pollTaskGroupBarriers() {
3427
3461
  try {
3428
- const { checkAndFireBarriers } = await import("./tasks-crud-IWVDREXG.js");
3462
+ const { checkAndFireBarriers } = await import("./tasks-crud-NVNF3NRA.js");
3429
3463
  const firedGroupIds = await checkAndFireBarriers();
3430
3464
  if (firedGroupIds.length === 0) return 0;
3431
3465
  const { getClient } = await import("./lib/database.js");
@@ -3,13 +3,13 @@ import {
3
3
  } from "./chunk-3BAGFZFN.js";
4
4
  import {
5
5
  isGhostBehaviorRow
6
- } from "./chunk-6LY3QSJA.js";
6
+ } from "./chunk-ZI3HA3XW.js";
7
7
  import {
8
8
  getClient,
9
9
  getIdentity,
10
10
  listIdentities,
11
11
  updateIdentity
12
- } from "./chunk-EA5FVACM.js";
12
+ } from "./chunk-HLU52KTO.js";
13
13
  import {
14
14
  atomicWriteJsonSync
15
15
  } from "./chunk-HSGBZSCA.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isPostgresBackendEnabled
3
- } from "./chunk-YMUZWC33.js";
3
+ } from "./chunk-YYB5PMTK.js";
4
4
 
5
5
  // src/lib/db-write-worker-client.ts
6
6
  import { fork } from "child_process";
@@ -76,6 +76,7 @@ function spawnDbWriteWorker(dbPath, encryptionKey) {
76
76
  clearTimeout(cb.timer);
77
77
  if (msg.error) cb.reject(new Error(msg.error));
78
78
  else if (msg.memoryId) cb.resolve({ memoryId: msg.memoryId, version: msg.version, deduped: msg.deduped });
79
+ else if (typeof msg.deleted === "number") cb.resolve({ deleted: msg.deleted });
79
80
  else cb.reject(new Error("invalid write-worker response"));
80
81
  });
81
82
  _worker.on("error", (err) => {
@@ -95,7 +96,19 @@ function spawnDbWriteWorker(dbPath, encryptionKey) {
95
96
  function isDbWriteWorkerReady() {
96
97
  return _worker !== null && _workerReady;
97
98
  }
98
- function writeMemoryInWorker(payload) {
99
+ async function writeMemoryInWorker(payload) {
100
+ const result = await sendWriteWorkerRequest({ type: "write-memory", ...payload });
101
+ if (!result.memoryId) throw new Error("invalid write-worker response");
102
+ return result;
103
+ }
104
+ async function sweepSessionEventsRetentionInWorker(retentionDays) {
105
+ const result = await sendWriteWorkerRequest({
106
+ type: "sweep-session-events-retention",
107
+ retentionDays
108
+ });
109
+ return { deleted: Number(result.deleted ?? 0) };
110
+ }
111
+ function sendWriteWorkerRequest(payload) {
99
112
  if (!_worker || !_workerReady) {
100
113
  return Promise.reject(new Error("db write worker not available"));
101
114
  }
@@ -107,7 +120,7 @@ function writeMemoryInWorker(payload) {
107
120
  }, WRITE_TIMEOUT_MS);
108
121
  _pending.set(id, { resolve, reject, timer });
109
122
  try {
110
- _worker.send({ id, type: "write-memory", ...payload });
123
+ _worker.send({ id, ...payload });
111
124
  } catch (err) {
112
125
  _pending.delete(id);
113
126
  clearTimeout(timer);
@@ -136,6 +149,7 @@ export {
136
149
  spawnDbWriteWorker,
137
150
  isDbWriteWorkerReady,
138
151
  writeMemoryInWorker,
152
+ sweepSessionEventsRetentionInWorker,
139
153
  _getDbWriteWorkerForTests,
140
154
  disposeDbWriteWorker
141
155
  };
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  updateTask
3
- } from "./chunk-2EAYZ3BK.js";
3
+ } from "./chunk-7H3AZNQ7.js";
4
4
  import {
5
5
  TASK_ALREADY_CLAIMED_PREFIX,
6
6
  TASK_CLAIM_NOT_HELD_PREFIX,
7
7
  TASK_SIDECHAIN_WRITE_BLOCKED_PREFIX
8
- } from "./chunk-74R44E4S.js";
8
+ } from "./chunk-SQM4ZTL2.js";
9
9
  import {
10
10
  getAgentContext
11
11
  } from "./chunk-GJV3WDWM.js";
12
12
  import {
13
13
  isCoordinatorName
14
- } from "./chunk-EA5FVACM.js";
14
+ } from "./chunk-HLU52KTO.js";
15
15
 
16
16
  // src/mcp/tools/update-task.ts
17
17
  import { z } from "zod";
@@ -72,7 +72,7 @@ function registerUpdateTask(server) {
72
72
  let callerSession;
73
73
  let callerIsSidechain = false;
74
74
  try {
75
- const { getActiveAgent: getAgent } = await import("./active-agent-Y3DCBD7J.js");
75
+ const { getActiveAgent: getAgent } = await import("./active-agent-BPNEBKHI.js");
76
76
  const active = getAgent();
77
77
  callerAgentId = active.agentId;
78
78
  callerSession = resolveCallerSessionForUpdate();
@@ -9,17 +9,17 @@ import {
9
9
  import {
10
10
  buildClaudeHttpMcpEntry,
11
11
  buildClaudeStdioProxyMcpEntry
12
- } from "./chunk-6EOLGE7T.js";
12
+ } from "./chunk-CVYDJ2TW.js";
13
13
  import {
14
14
  ensureAllAgentSymlinks
15
- } from "./chunk-CAEWPEBA.js";
15
+ } from "./chunk-5C6ZIJ7J.js";
16
16
  import {
17
17
  MCP_LEGACY_KEY,
18
18
  MCP_PRIMARY_KEY
19
19
  } from "./chunk-HYZV25LY.js";
20
20
  import {
21
21
  loadConfigSync
22
- } from "./chunk-BCZF3AGJ.js";
22
+ } from "./chunk-BRIZ6OZ3.js";
23
23
 
24
24
  // src/adapters/claude/installer.ts
25
25
  import { readFile, writeFile, mkdir, readdir, rm } from "fs/promises";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  assertValidDbPath
3
- } from "./chunk-2I23RPSI.js";
3
+ } from "./chunk-TKDITWDN.js";
4
4
  import {
5
5
  recordDbOpen
6
6
  } from "./chunk-5YEUPUV4.js";
7
7
  import {
8
8
  EXE_AI_DIR
9
- } from "./chunk-BCZF3AGJ.js";
9
+ } from "./chunk-BRIZ6OZ3.js";
10
10
 
11
11
  // src/lib/shard-manager.ts
12
12
  import path from "path";
@@ -301,6 +301,10 @@ async function ensureShardSchema(client) {
301
301
  "ALTER TABLE memories ADD COLUMN consolidated INTEGER NOT NULL DEFAULT 0",
302
302
  "ALTER TABLE memories ADD COLUMN author_device_id TEXT",
303
303
  "ALTER TABLE memories ADD COLUMN scope TEXT NOT NULL DEFAULT 'business'",
304
+ // Org Partner §4.1 — must match database.ts, or a sharded install would
305
+ // hand the scoped-query chokepoint rows with no visibility column at all.
306
+ "ALTER TABLE memories ADD COLUMN visibility TEXT NOT NULL DEFAULT 'private'",
307
+ "ALTER TABLE memories ADD COLUMN origin_org_id TEXT",
304
308
  "ALTER TABLE memories ADD COLUMN importance INTEGER DEFAULT 5",
305
309
  "ALTER TABLE memories ADD COLUMN status TEXT DEFAULT 'active'",
306
310
  "ALTER TABLE memories ADD COLUMN wiki_synced INTEGER DEFAULT 0",
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  cleanupCardsForMemories,
3
3
  cleanupGraphLinksForMemories
4
- } from "./chunk-HK7SQDKJ.js";
4
+ } from "./chunk-RNSAVQEU.js";
5
5
  import {
6
6
  resolveAnthropicAuth
7
7
  } from "./chunk-VGMACSEV.js";
8
8
  import {
9
9
  buildSystemStateExclusionFilter,
10
10
  vectorToBlob
11
- } from "./chunk-W5YV2PZE.js";
11
+ } from "./chunk-DKRDU2AX.js";
12
12
  import {
13
13
  extractKeywords,
14
14
  keywordsToString
15
15
  } from "./chunk-CHCA3ZM2.js";
16
16
  import {
17
17
  isCoordinatorName
18
- } from "./chunk-EA5FVACM.js";
18
+ } from "./chunk-HLU52KTO.js";
19
19
 
20
20
  // src/lib/consolidation.ts
21
21
  import { randomUUID } from "crypto";