@askexenow/exe-os 0.9.340 → 0.9.342

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 (417) hide show
  1. package/README.md +159 -196
  2. package/deploy/compose/.env.customer.example +1 -0
  3. package/deploy/compose/.env.example +1 -0
  4. package/deploy/compose/docker-compose.yml +13 -4
  5. package/deploy/compose/generate-env.ts +4 -0
  6. package/dist/{active-agent-EC6M7KTX.js → active-agent-PVGE57FY.js} +5 -5
  7. package/dist/{active-agent-WHIUCHLA.js → active-agent-TNIO6IY3.js} +5 -5
  8. package/dist/{agentic-ontology-RNSXGXW4.js → agentic-ontology-3FXYMHKW.js} +1 -1
  9. package/dist/{backfill-gate-J7UXFNXU.js → backfill-gate-65LSYVE5.js} +3 -3
  10. package/dist/{backfill-metadata-MFY6BHKE.js → backfill-metadata-ZSMZC45J.js} +8 -8
  11. package/dist/{background-jobs-STURKDCS.js → background-jobs-EXR5RVGG.js} +3 -3
  12. package/dist/backup-verify-3Y2FHGZU.js +425 -0
  13. package/dist/{behaviors-HLZUJSMP.js → behaviors-KYRB3NGJ.js} +9 -9
  14. package/dist/bin/age-ontology-load.js +3 -3
  15. package/dist/bin/agentic-ontology-backfill.js +10 -10
  16. package/dist/bin/agentic-reflection-backfill.js +11 -11
  17. package/dist/bin/agentic-semantic-label.js +10 -10
  18. package/dist/bin/backfill-conversations.js +10 -10
  19. package/dist/bin/backfill-responses.js +10 -10
  20. package/dist/bin/backfill-vectors.js +14 -14
  21. package/dist/bin/bulk-sync-postgres.js +19 -19
  22. package/dist/bin/cc-doctor.js +10 -8
  23. package/dist/bin/cleanup-stale-review-tasks.js +26 -24
  24. package/dist/bin/cli.js +111 -25
  25. package/dist/bin/customer-readiness.js +1 -1
  26. package/dist/bin/deferred-daemon-restart.js +97 -90
  27. package/dist/bin/exe-agent-config.js +9 -8
  28. package/dist/bin/exe-agent.js +20 -20
  29. package/dist/bin/exe-assign.js +12 -12
  30. package/dist/bin/exe-boot.js +201 -68
  31. package/dist/bin/exe-call.js +7 -7
  32. package/dist/bin/exe-cloud.js +20 -20
  33. package/dist/bin/exe-config-dump.js +9 -8
  34. package/dist/bin/exe-dispatch.js +26 -24
  35. package/dist/bin/exe-doctor.js +10 -6
  36. package/dist/bin/exe-export-behaviors.js +11 -11
  37. package/dist/bin/exe-forget.js +12 -10
  38. package/dist/bin/exe-gateway.js +15 -10
  39. package/dist/bin/exe-grant.js +5 -5
  40. package/dist/bin/exe-healthcheck.js +14 -8
  41. package/dist/bin/exe-heartbeat.js +29 -28
  42. package/dist/bin/exe-kill.js +31 -29
  43. package/dist/bin/exe-launch-agent.js +129 -68
  44. package/dist/bin/exe-memory-reads.js +257 -0
  45. package/dist/bin/exe-new-employee.js +12 -11
  46. package/dist/bin/exe-pending-messages.js +27 -25
  47. package/dist/bin/exe-pending-notifications.js +26 -24
  48. package/dist/bin/exe-pending-reviews.js +26 -24
  49. package/dist/bin/exe-rename.js +7 -7
  50. package/dist/bin/exe-review.js +30 -28
  51. package/dist/bin/exe-search.js +11 -9
  52. package/dist/bin/exe-session-cleanup.js +116 -86
  53. package/dist/bin/exe-settings.js +24 -23
  54. package/dist/bin/exe-start-codex.js +163 -41
  55. package/dist/bin/exe-start-opencode.js +15 -15
  56. package/dist/bin/exe-status.js +27 -25
  57. package/dist/bin/exe-support.js +5 -5
  58. package/dist/bin/exe-team.js +5 -5
  59. package/dist/bin/exe-timers.js +32 -213
  60. package/dist/bin/exe-watchdog.js +6 -5
  61. package/dist/bin/git-sweep.js +27 -25
  62. package/dist/bin/graph-backfill.js +9 -9
  63. package/dist/bin/graph-export.js +9 -9
  64. package/dist/bin/import-history.js +11 -11
  65. package/dist/bin/install.js +102 -95
  66. package/dist/bin/intercom-check.js +4 -4
  67. package/dist/bin/mcp-sessions.js +2 -2
  68. package/dist/bin/orchestration-metrics.js +6 -6
  69. package/dist/bin/postgres-agentic-reflection-backfill.js +5 -5
  70. package/dist/bin/postgres-agentic-semantic-backfill.js +7 -7
  71. package/dist/bin/pre-publish.js +5 -3
  72. package/dist/bin/reconcile-backlog.js +484 -0
  73. package/dist/bin/registry-proxy.js +1 -1
  74. package/dist/bin/scan-tasks.js +26 -24
  75. package/dist/bin/setup.js +6 -5
  76. package/dist/bin/shard-migrate.js +9 -9
  77. package/dist/bin/stack-update.js +15 -9
  78. package/dist/bin/update.js +1 -1
  79. package/dist/bin/vps-health-gate.js +1 -1
  80. package/dist/boot-generation-BL2ISK4U.js +22 -0
  81. package/dist/boot-review-sections-DBMQJT5N.js +107 -0
  82. package/dist/branch-hygiene-TZWK6QCF.js +224 -0
  83. package/dist/{branding-JTEOF4ZV.js → branding-DVXBGVDH.js} +3 -3
  84. package/dist/{browser-session-store-CXQMOSEC.js → browser-session-store-B2NR3LIX.js} +2 -1
  85. package/dist/{capability-cards-YOKVMMOL.js → capability-cards-DN5UIKVN.js} +4 -4
  86. package/dist/{capacity-monitor-S54IOWRL.js → capacity-monitor-ZG5GGFR2.js} +27 -25
  87. package/dist/{catchup-brief-DRRQCMKA.js → catchup-brief-D6HH6DWS.js} +32 -29
  88. package/dist/{support-outbox-MGUVVGHT.js → chunk-25X4JD2V.js} +28 -12
  89. package/dist/{chunk-IYB2NIW3.js → chunk-2KZNGDSW.js} +1 -1
  90. package/dist/{chunk-FUIIVSW6.js → chunk-2WAVZ5UJ.js} +1 -1
  91. package/dist/{chunk-K5WFKEXQ.js → chunk-2ZYO73KO.js} +4 -3
  92. package/dist/{chunk-CLAYNAXC.js → chunk-3EUMUSLE.js} +1 -1
  93. package/dist/{chunk-BVV6NHKQ.js → chunk-3SW4OEHB.js} +5 -5
  94. package/dist/{task-enforcement-VI7L43DC.js → chunk-4CMVFVFC.js} +173 -69
  95. package/dist/{chunk-BU2QQWBQ.js → chunk-4J4PMPXZ.js} +3 -2
  96. package/dist/{chunk-JD5S5AAV.js → chunk-4N2NRGCM.js} +2 -2
  97. package/dist/chunk-4QCFFW2H.js +378 -0
  98. package/dist/{chunk-7EA7LYW4.js → chunk-4VSV5P4D.js} +4 -4
  99. package/dist/{chunk-52KNOQMK.js → chunk-4ZCD2UWW.js} +39 -10
  100. package/dist/{chunk-DZ6OQM67.js → chunk-5ERDIOV3.js} +2 -2
  101. package/dist/chunk-5H47VHB7.js +30 -0
  102. package/dist/{chunk-UCQITDLM.js → chunk-5TY4FPH6.js} +1 -1
  103. package/dist/{chunk-R44Z32O2.js → chunk-6CH3TPHR.js} +2 -2
  104. package/dist/{chunk-WYLV4S6A.js → chunk-6WQ3NNCE.js} +3 -3
  105. package/dist/{chunk-HHIBOU3P.js → chunk-6XWTQUO4.js} +1 -1
  106. package/dist/chunk-76CJBM36.js +88 -0
  107. package/dist/{chunk-H2L4PHGH.js → chunk-7CTRGNLW.js} +2 -2
  108. package/dist/{chunk-XUKPALWT.js → chunk-7V4JADD6.js} +2 -2
  109. package/dist/{chunk-RMOBQ6A5.js → chunk-AD2VCHSS.js} +1 -1
  110. package/dist/{chunk-QXSBB26A.js → chunk-AJYCFKJR.js} +1 -1
  111. package/dist/chunk-AM7S2TY6.js +54 -0
  112. package/dist/{chunk-HEPR6QTL.js → chunk-AOHXREB7.js} +334 -66
  113. package/dist/{chunk-FNZR3B7U.js → chunk-ASAFVDVR.js} +1 -1
  114. package/dist/{chunk-TALWBVZE.js → chunk-BUCXNV32.js} +1 -1
  115. package/dist/{chunk-SHIICYJW.js → chunk-BYTDMAGB.js} +4 -2
  116. package/dist/{chunk-32SXNM3G.js → chunk-C5QAPURN.js} +1 -1
  117. package/dist/{chunk-XCTGRD4S.js → chunk-CE7F6RHG.js} +587 -77
  118. package/dist/{chunk-7WPOJDTA.js → chunk-CNVBKDEY.js} +21 -15
  119. package/dist/{chunk-KPIN44GZ.js → chunk-CWXVH7WV.js} +1 -1
  120. package/dist/chunk-D74XYSA3.js +621 -0
  121. package/dist/{chunk-A47MXY2I.js → chunk-EQHQF5IM.js} +50 -32
  122. package/dist/{chunk-AOO77BDE.js → chunk-EUS4QUKP.js} +1 -1
  123. package/dist/{chunk-RLRT2BVM.js → chunk-EV46QTD3.js} +1 -1
  124. package/dist/{chunk-PAEXYFMY.js → chunk-F27XXN6C.js} +1 -1
  125. package/dist/{chunk-XQNNB5GY.js → chunk-F55P3H4S.js} +37 -2
  126. package/dist/{chunk-MWZFF3Q7.js → chunk-F5O7V7UK.js} +1 -1
  127. package/dist/{chunk-LMZISHSJ.js → chunk-FPFPLPUY.js} +6 -6
  128. package/dist/{chunk-7TS64TBG.js → chunk-G4RGKBCA.js} +8 -3
  129. package/dist/{chunk-4IYSBPX3.js → chunk-G5T6KDG4.js} +1 -1
  130. package/dist/{chunk-7WDXEKUL.js → chunk-GBTTBXAF.js} +4 -4
  131. package/dist/{chunk-6MRWJMI5.js → chunk-GDIJE6D7.js} +1 -1
  132. package/dist/{chunk-AVKXCSBI.js → chunk-GG5NDQNN.js} +2 -2
  133. package/dist/{chunk-I3XKO3KQ.js → chunk-GJ26DULE.js} +2 -2
  134. package/dist/chunk-GL57PO3K.js +104 -0
  135. package/dist/chunk-GWDSB25T.js +6 -0
  136. package/dist/{chunk-F55JF43M.js → chunk-H6BV5TKD.js} +39 -24
  137. package/dist/{chunk-HCJCW7X4.js → chunk-H7I47RS5.js} +34 -1
  138. package/dist/{chunk-65SVQELL.js → chunk-HA5R6USD.js} +31 -5
  139. package/dist/{chunk-VJHUVFIW.js → chunk-HAF2DJYV.js} +3 -3
  140. package/dist/chunk-HJ447YER.js +224 -0
  141. package/dist/chunk-HV4KESRY.js +395 -0
  142. package/dist/{chunk-B76TSEP3.js → chunk-I26FWCSP.js} +216 -9
  143. package/dist/{chunk-X2FHTDIU.js → chunk-IBYL4DHM.js} +1 -1
  144. package/dist/{chunk-JCBKARSK.js → chunk-IOEUAQWP.js} +1 -1
  145. package/dist/{chunk-MW2GJJ53.js → chunk-JGIPOUIK.js} +3 -3
  146. package/dist/{chunk-2233TQCA.js → chunk-JLZ4RYSD.js} +2 -2
  147. package/dist/{chunk-Q7L6G6KV.js → chunk-JMYHW3AL.js} +2 -2
  148. package/dist/{chunk-OJTJYEMX.js → chunk-JPUZPAAF.js} +4 -4
  149. package/dist/{chunk-XWHE4LZK.js → chunk-JTBIS4R5.js} +21 -2
  150. package/dist/{chunk-5Z5NATNS.js → chunk-K7KFGDWF.js} +1 -1
  151. package/dist/{chunk-UIV2WPBT.js → chunk-KGWRTRKC.js} +2 -2
  152. package/dist/{chunk-KTPG4XKI.js → chunk-KP3U5QGJ.js} +1 -1
  153. package/dist/{chunk-TLYAEISW.js → chunk-KW2SD2FL.js} +2 -2
  154. package/dist/{chunk-X7H3HMFH.js → chunk-KWZMQACA.js} +11 -7
  155. package/dist/{chunk-OFX5B2S7.js → chunk-L2R3LN2P.js} +1 -1
  156. package/dist/{chunk-T4KZ2Z2N.js → chunk-L4A5DL6Z.js} +3 -3
  157. package/dist/{chunk-X425OEYF.js → chunk-LU2FALL6.js} +3 -3
  158. package/dist/{chunk-6M36JFFD.js → chunk-MKYFAKDW.js} +4 -4
  159. package/dist/{chunk-I5RLNOFK.js → chunk-MOPUCPXK.js} +12 -4
  160. package/dist/{chunk-ZIVEA3NB.js → chunk-MR6LHP4F.js} +1 -1
  161. package/dist/chunk-MVYB76QG.js +341 -0
  162. package/dist/{chunk-2SG2UGCH.js → chunk-MZM6EJCU.js} +4 -4
  163. package/dist/{chunk-ZREGOV2Q.js → chunk-N7QJKQMX.js} +258 -14
  164. package/dist/{chunk-QLFRCA6I.js → chunk-NBZL5CGA.js} +93 -12
  165. package/dist/{chunk-QFPTDSY2.js → chunk-NN2B2QKU.js} +1 -1
  166. package/dist/chunk-NX5INHHG.js +40 -0
  167. package/dist/{chunk-B75BOKEI.js → chunk-NXUSDL37.js} +2 -2
  168. package/dist/{chunk-TPHCZDE3.js → chunk-O5V57XYE.js} +1 -1
  169. package/dist/chunk-O7LWR36Z.js +269 -0
  170. package/dist/{chunk-ATOU6CYR.js → chunk-OLMQ4UOF.js} +57 -11
  171. package/dist/{chunk-6HBURYON.js → chunk-OTF44GXL.js} +4 -4
  172. package/dist/{chunk-DILD54TU.js → chunk-OZEBAGKR.js} +277 -137
  173. package/dist/{chunk-DADMPMYX.js → chunk-P5HIWY2E.js} +1 -1
  174. package/dist/{chunk-EIF2LQHZ.js → chunk-PDWS3E22.js} +55 -4
  175. package/dist/{chunk-KTY7I7UH.js → chunk-PPCDBE6Z.js} +1 -1
  176. package/dist/{chunk-XACL67CS.js → chunk-PQIDGXSG.js} +13 -4
  177. package/dist/chunk-PWUFMX75.js +186 -0
  178. package/dist/{chunk-UPWE5NOG.js → chunk-QDGZJ653.js} +3 -3
  179. package/dist/{chunk-MQRFKSLI.js → chunk-QOO5RW3K.js} +6 -5
  180. package/dist/{chunk-KCC5A7YL.js → chunk-QQ4E2RYW.js} +95 -18
  181. package/dist/{chunk-BPC5LZ6Y.js → chunk-QRYVCDWS.js} +2 -2
  182. package/dist/{chunk-Z42MXYWW.js → chunk-QWVXN224.js} +110 -28
  183. package/dist/{chunk-542EWGY3.js → chunk-QYZJHTNE.js} +26 -27
  184. package/dist/{chunk-I7Z6KTGF.js → chunk-R2NN3JKH.js} +43 -6
  185. package/dist/{chunk-3OBWSCJN.js → chunk-RACAOE2Z.js} +14 -14
  186. package/dist/{chunk-5RACW3LX.js → chunk-RAXVPNMR.js} +1 -1
  187. package/dist/{chunk-2HZY3ECT.js → chunk-RHWZUUS4.js} +6 -6
  188. package/dist/{chunk-RNAYCUNM.js → chunk-S3THSOWV.js} +1 -1
  189. package/dist/{chunk-W7DHFGCB.js → chunk-S7QUM2UK.js} +2 -2
  190. package/dist/{chunk-SSTLTIF3.js → chunk-SKGMF2SO.js} +25 -2
  191. package/dist/{chunk-GN45PBWI.js → chunk-SQKXKV2Y.js} +2 -2
  192. package/dist/{chunk-QZLIZAS7.js → chunk-TLT7NZCW.js} +4 -4
  193. package/dist/chunk-TTCUG2CF.js +91 -0
  194. package/dist/chunk-UEA3LXOB.js +40 -0
  195. package/dist/{chunk-DRCRZIIJ.js → chunk-UNXQBELK.js} +1 -1
  196. package/dist/{chunk-PLRIJALF.js → chunk-UP75Z5X7.js} +921 -176
  197. package/dist/{chunk-TNJRWUCE.js → chunk-USSB56WK.js} +1 -1
  198. package/dist/{chunk-KMBEL7VB.js → chunk-UUEKJDK6.js} +90 -10
  199. package/dist/{chunk-XJI7Z6LZ.js → chunk-UUQBZPJJ.js} +1 -1
  200. package/dist/{chunk-RRWDYOQS.js → chunk-V3EEVY4L.js} +1 -1
  201. package/dist/{chunk-N5I7RL3I.js → chunk-VPZHJCKW.js} +2 -2
  202. package/dist/chunk-VRAQTFD6.js +265 -0
  203. package/dist/{chunk-H37HHX3E.js → chunk-VSRPS3J7.js} +14 -14
  204. package/dist/{chunk-5ZNY7IZI.js → chunk-WMESXBJM.js} +37 -3
  205. package/dist/{chunk-54QCG45Y.js → chunk-WOYADZF5.js} +56 -5
  206. package/dist/{chunk-7Y5UDEVM.js → chunk-WZHZCDDO.js} +6 -5
  207. package/dist/{chunk-3NGZ4PL7.js → chunk-X2Q5NLUL.js} +11 -2
  208. package/dist/{chunk-YE7NH53A.js → chunk-X33NYQYJ.js} +2 -2
  209. package/dist/{chunk-UXBD22CD.js → chunk-XHK3FS3W.js} +3 -2
  210. package/dist/{chunk-3QDSCJ3F.js → chunk-XZXBB3TN.js} +2 -2
  211. package/dist/{chunk-JSKBHUR7.js → chunk-YCANDMI2.js} +2 -2
  212. package/dist/{chunk-JBSCL2XT.js → chunk-YLXTKI6M.js} +1 -1
  213. package/dist/{chunk-G7WO77Z2.js → chunk-YTCFACP4.js} +812 -896
  214. package/dist/{chunk-LTVCRHHD.js → chunk-Z6RSN7KS.js} +7 -6
  215. package/dist/{cleanup-graph-garbage-KUABW6LS.js → cleanup-graph-garbage-XWUFAMFO.js} +6 -6
  216. package/dist/{co-activation-XMPHKGHR.js → co-activation-ZCHPLLP6.js} +4 -4
  217. package/dist/{co-occurrence-SHKSJ6CV.js → co-occurrence-KG3LKALN.js} +4 -4
  218. package/dist/{code-context-index-EXXDY3QZ.js → code-context-index-WSOJQ72R.js} +5 -5
  219. package/dist/{content-extractor-RHITF2KM.js → content-extractor-NXYNEF5K.js} +2 -2
  220. package/dist/{conversation-wiki-populator-WU4HEQ7C.js → conversation-wiki-populator-WQN3IUU6.js} +1 -1
  221. package/dist/{crdt-sync-UJELKSNX.js → crdt-sync-4PFGPZXV.js} +8 -1
  222. package/dist/{crm-webhook-HHNBS7LY.js → crm-webhook-II7Z45Q6.js} +2 -2
  223. package/dist/cto-delegation-gate-JWWOJPNC.js +669 -0
  224. package/dist/{daemon-auth-7IFSV5FG.js → daemon-auth-3FEAHFWC.js} +5 -3
  225. package/dist/{daemon-orchestration-7QB6QOXT.js → daemon-orchestration-FX4XZDR5.js} +46 -27
  226. package/dist/{daemon-ready-5XI5BIJD.js → daemon-ready-4JTSFKAY.js} +1 -1
  227. package/dist/{daemon-ready-signal-E7VMIQ6I.js → daemon-ready-signal-LPAZWQOV.js} +5 -1
  228. package/dist/daemon-restart-circuit-breaker-PEGEIP6H.js +35 -0
  229. package/dist/daemon-timer-report-NM44WQRH.js +25 -0
  230. package/dist/{db-backup-DLD4QZBO.js → db-backup-W2QFSYQC.js} +15 -5
  231. package/dist/{db-restore-events-JVEEP52Z.js → db-restore-events-MQ2DBGEQ.js} +2 -2
  232. package/dist/dispatch-ack-VYH3ONSS.js +27 -0
  233. package/dist/{doc-graph-extractor-3TRLGD7M.js → doc-graph-extractor-F6ODFIID.js} +4 -4
  234. package/dist/{documents-FHIBU7KJ.js → documents-23WX2FPQ.js} +12 -12
  235. package/dist/dreaming-NWD22UQ5.js +46 -0
  236. package/dist/{exe-drift-KY2KHZEL.js → exe-drift-CW72FBGE.js} +5 -5
  237. package/dist/{exe-export-SP6G3QF6.js → exe-export-AUJ7CV7G.js} +11 -11
  238. package/dist/{exe-import-KJU7FBVQ.js → exe-import-JX4I52VE.js} +11 -11
  239. package/dist/{exe-key-M6TYHNUW.js → exe-key-2N6LY2BU.js} +241 -226
  240. package/dist/{exe-org-BGZNNE4H.js → exe-org-X4CSNCKS.js} +3 -3
  241. package/dist/{exe-snapshot-ZNPGUKRZ.js → exe-snapshot-XZ7FVCYZ.js} +31 -29
  242. package/dist/{fast-db-init-QQB6IVWV.js → fast-db-init-4CWHSOOR.js} +1 -1
  243. package/dist/{founder-context-PQR3BUS7.js → founder-context-7L3CFPYN.js} +4 -4
  244. package/dist/gateway/index.js +14 -14
  245. package/dist/{gateway-client-GRBOJQYC.js → gateway-client-7LMZKHTH.js} +1 -1
  246. package/dist/git-main-guard-UZP3KXYI.js +39 -0
  247. package/dist/{git-staleness-UGB5J3K7.js → git-staleness-CI2R4QOJ.js} +4 -4
  248. package/dist/{global-procedures-R7KRREEK.js → global-procedures-XQX3LUH6.js} +6 -6
  249. package/dist/{graph-auto-extract-LKIQ57PL.js → graph-auto-extract-OURWMGBS.js} +4 -4
  250. package/dist/{hook-integrity-WURH6DS3.js → hook-integrity-XY47IM7G.js} +1 -1
  251. package/dist/hook-prefetch-PHRRKY4C.js +137 -0
  252. package/dist/hooks/bug-report-worker.js +32 -28
  253. package/dist/hooks/codex-stop-task-finalizer.js +32 -28
  254. package/dist/hooks/commit-complete.js +29 -27
  255. package/dist/hooks/error-recall.js +12 -11
  256. package/dist/hooks/exe-heartbeat-hook.js +6 -6
  257. package/dist/hooks/ingest-worker.js +11 -11
  258. package/dist/hooks/ingest.js +18 -18
  259. package/dist/hooks/instructions-loaded.js +7 -7
  260. package/dist/hooks/manifest.json +20 -20
  261. package/dist/hooks/notification.js +7 -7
  262. package/dist/hooks/post-compact.js +28 -26
  263. package/dist/hooks/post-tool-combined.js +12 -12
  264. package/dist/hooks/pre-compact.js +29 -27
  265. package/dist/hooks/pre-tool-use.js +180 -47
  266. package/dist/hooks/prompt-submit.js +324 -273
  267. package/dist/hooks/session-end.js +35 -33
  268. package/dist/hooks/session-start.js +28 -21
  269. package/dist/hooks/stop.js +35 -33
  270. package/dist/hooks/subagent-stop.js +28 -26
  271. package/dist/hooks/summary-worker.js +36 -34
  272. package/dist/index.js +39 -37
  273. package/dist/{installer-SB2N5NKH.js → installer-G3JAO3NT.js} +9 -9
  274. package/dist/{installer-MZWWBXM6.js → installer-JND3RJ6Q.js} +9 -9
  275. package/dist/{installer-MNPXDLGG.js → installer-L7EVH5U5.js} +9 -9
  276. package/dist/{intercom-queue-VU2G6F5R.js → intercom-queue-ZFEQALR3.js} +25 -23
  277. package/dist/{key-backup-status-TNEHXA2X.js → key-backup-status-LOSMVATJ.js} +2 -2
  278. package/dist/lib/agent-config.js +4 -3
  279. package/dist/lib/cloud-sync.js +19 -19
  280. package/dist/lib/config.js +2 -2
  281. package/dist/lib/consolidation.js +9 -9
  282. package/dist/lib/crypto.js +3 -3
  283. package/dist/lib/database.js +6 -4
  284. package/dist/lib/db-daemon-client.js +5 -5
  285. package/dist/lib/db-read-worker-client.js +9 -3
  286. package/dist/lib/db.js +6 -4
  287. package/dist/lib/device-registry.js +3 -3
  288. package/dist/lib/embed-worker.js +2 -2
  289. package/dist/lib/embedder.js +5 -5
  290. package/dist/lib/employee-templates.js +7 -7
  291. package/dist/lib/employees.js +10 -4
  292. package/dist/lib/exe-daemon-client.js +4 -4
  293. package/dist/lib/exe-daemon.js +651 -158
  294. package/dist/lib/hybrid-search.js +11 -9
  295. package/dist/lib/identity.js +4 -4
  296. package/dist/lib/keychain.js +1 -1
  297. package/dist/lib/license.js +4 -4
  298. package/dist/lib/messaging.js +28 -24
  299. package/dist/lib/post-tool-memory.js +3 -3
  300. package/dist/lib/registry-proxy.js +1 -1
  301. package/dist/lib/reminders.js +15 -7
  302. package/dist/lib/schedules.js +9 -9
  303. package/dist/lib/session-registry.js +6 -6
  304. package/dist/lib/skill-learning.js +10 -10
  305. package/dist/lib/status-brief.js +4 -4
  306. package/dist/lib/store.js +8 -8
  307. package/dist/lib/task-router.js +5 -5
  308. package/dist/lib/tasks.js +29 -25
  309. package/dist/lib/tmux-routing.js +56 -25
  310. package/dist/lib/tmux-status.js +9 -3
  311. package/dist/lib/tmux-transport.js +1 -1
  312. package/dist/lib/token-spend.js +5 -5
  313. package/dist/lib/transport.js +2 -2
  314. package/dist/lib/ws-client.js +1 -1
  315. package/dist/{license-gate-BYDMFMFT.js → license-gate-QTRQHV4F.js} +5 -5
  316. package/dist/{license-sync-N3RNYVP2.js → license-sync-N3UJFWAW.js} +4 -4
  317. package/dist/mcp/register-tools.js +96 -89
  318. package/dist/mcp/server.js +98 -91
  319. package/dist/mcp/tools/complete-reminder.js +6 -6
  320. package/dist/mcp/tools/create-reminder.js +6 -6
  321. package/dist/mcp/tools/create-task.js +37 -28
  322. package/dist/mcp/tools/deactivate-behavior.js +11 -11
  323. package/dist/mcp/tools/list-reminders.js +6 -6
  324. package/dist/mcp/tools/list-tasks.js +35 -29
  325. package/dist/mcp/tools/send-message.js +28 -26
  326. package/dist/mcp/tools/update-task.js +34 -28
  327. package/dist/{mcp-http-config-EMAVS2JI.js → mcp-http-config-BDL36JZ3.js} +6 -6
  328. package/dist/{mcp-port-config-FFAMMLLE.js → mcp-port-config-6HYY6J7K.js} +2 -2
  329. package/dist/mcp-session-identity-T7H2EKFQ.js +177 -0
  330. package/dist/{memory-cards-TQRLZI4D.js → memory-cards-ZRDW7QBX.js} +8 -8
  331. package/dist/{memory-graph-extractor-IWGNVAFU.js → memory-graph-extractor-QLXDMHRS.js} +5 -5
  332. package/dist/{memory-poisoning-defense-T4ITBGSG.js → memory-poisoning-defense-HJTXYCWH.js} +4 -4
  333. package/dist/{memory-pressure-watchdog-RRIAXPXQ.js → memory-pressure-watchdog-HN5X7AVN.js} +76 -37
  334. package/dist/{memory-queue-X2CSEAKE.js → memory-queue-2UOOF27L.js} +5 -3
  335. package/dist/{memory-queue-client-BKQHTYTH.js → memory-queue-client-O5U6F6XP.js} +6 -6
  336. package/dist/{memory-reflection-6N4J2FL7.js → memory-reflection-WVNFBJAA.js} +4 -4
  337. package/dist/{monitor-grants-RZOVSYVO.js → monitor-grants-E3ELDEWD.js} +5 -5
  338. package/dist/{monitor-identity-MOXISYNG.js → monitor-identity-GLFZSEAH.js} +2 -2
  339. package/dist/notification-ledger-SZEPGJQ7.js +409 -0
  340. package/dist/{notifications-KONB3C62.js → notifications-4UT53CDG.js} +25 -23
  341. package/dist/{orchestration-events-5SIJOE4H.js → orchestration-events-WV4NWKZH.js} +5 -5
  342. package/dist/{orchestration-phase-CXRCBCK7.js → orchestration-phase-AWBXPO52.js} +3 -3
  343. package/dist/orchestrator-UAC3RW2T.js +47 -0
  344. package/dist/{pipeline-router-O6HU7DKH.js → pipeline-router-LM53NMWJ.js} +5 -5
  345. package/dist/{plan-limits-GRNBOBB3.js → plan-limits-2FEY2GOS.js} +7 -7
  346. package/dist/platform-procedures-X5DFJFV7.js +13 -0
  347. package/dist/{preferences-TYTGDXQZ.js → preferences-TWIXZBKS.js} +2 -2
  348. package/dist/{project-boot-SD7GM24K.js → project-boot-4NUH5FRU.js} +2 -2
  349. package/dist/{projection-worker-ZVOFHTXT.js → projection-worker-FZ7YSN3G.js} +5 -5
  350. package/dist/{prospective-memory-W6S67LZZ.js → prospective-memory-6D2ASWM3.js} +4 -4
  351. package/dist/{push-notifications-W5JRXLKJ.js → push-notifications-U6FIBQRW.js} +3 -3
  352. package/dist/{reranker-QATGTAPC.js → reranker-GYYRPANK.js} +3 -3
  353. package/dist/{retrieval-health-TWHKYCRK.js → retrieval-health-4Z242P3B.js} +1 -1
  354. package/dist/{review-polling-PCMD5BFN.js → review-polling-HXAFJZDA.js} +26 -24
  355. package/dist/runtime/index.js +37 -35
  356. package/dist/{session-events-3LCVQEL7.js → session-events-O3BV56ZX.js} +26 -24
  357. package/dist/{session-kill-telemetry-CZSPN5V6.js → session-kill-telemetry-AELE4JDK.js} +26 -24
  358. package/dist/session-mcp-config-YKNXG5DW.js +50 -0
  359. package/dist/{session-scope-CFHVSVAQ.js → session-scope-5EAPUT45.js} +25 -23
  360. package/dist/setup-wizard-NB6R4QVS.js +14 -0
  361. package/dist/{shard-manager-MBWQEYNG.js → shard-manager-35PWFR3B.js} +3 -3
  362. package/dist/{skill-refinement-74T6VDFM.js → skill-refinement-DVSYXBBP.js} +5 -5
  363. package/dist/stack-promote-RSOWO6EY.js +130 -0
  364. package/dist/{stack-release-XXMV7SPX.js → stack-release-HGFFFCGC.js} +112 -22
  365. package/dist/{stack-update-E2TKHHSQ.js → stack-update-ATCJFOEK.js} +7 -5
  366. package/dist/{steward-gate-WT7WXQIE.js → steward-gate-3GQ5XKMJ.js} +5 -5
  367. package/dist/support-inbox-4L62P4EP.js +33 -0
  368. package/dist/support-outbox-WHGPUYL2.js +16 -0
  369. package/dist/task-enforcement-IPIZX2MM.js +90 -0
  370. package/dist/{task-scope-CQEG5SSJ.js → task-scope-FOIW25HR.js} +27 -23
  371. package/dist/{tasks-crud-UGK5A25L.js → tasks-crud-HBDKE6C5.js} +35 -23
  372. package/dist/tasks-notify-G2U2U2YA.js +53 -0
  373. package/dist/{tasks-review-JKBRACII.js → tasks-review-27SFX5XN.js} +27 -23
  374. package/dist/{telemetry-upload-7LBYGPCB.js → telemetry-upload-ZOXHRWR5.js} +9 -9
  375. package/dist/tmux-command-guard-KSJKIX3C.js +117 -0
  376. package/dist/{token-budget-QBRJR4M5.js → token-budget-5Y4YPDO3.js} +5 -5
  377. package/dist/{tool-capability-index-Q6YQDL7I.js → tool-capability-index-VYF5GNJ2.js} +1 -1
  378. package/dist/{tool-telemetry-ULIDUK3P.js → tool-telemetry-KBXSBDTK.js} +1 -1
  379. package/dist/tui/App.js +40 -38
  380. package/dist/{tui-data-NPTGKT37.js → tui-data-NLFMBIQI.js} +25 -23
  381. package/dist/{update-check-HFO4VHO4.js → update-check-3FHAWIG2.js} +7 -3
  382. package/dist/update-support-UVUSZG7R.js +355 -0
  383. package/dist/{whatsapp-accounts-BWRZUY23.js → whatsapp-accounts-BFIOXYW5.js} +1 -1
  384. package/dist/{whatsapp-config-GOSELKTE.js → whatsapp-config-FAX6EA5K.js} +20 -13
  385. package/dist/{worker-gate-MXUQUG4M.js → worker-gate-3KUBAU32.js} +3 -3
  386. package/dist/{workflow-engine-EWCOLD47.js → workflow-engine-YITHXZR5.js} +2 -2
  387. package/dist/{working-memory-PY4AG577.js → working-memory-NUVB5SFV.js} +1 -1
  388. package/dist/worktree-LL62PLQB.js +47 -0
  389. package/dist/{worktree-sweep-ZAG3V24E.js → worktree-sweep-WTK3MTKH.js} +7 -7
  390. package/package.json +3 -2
  391. package/release-notes.json +86 -76
  392. package/dist/branch-hygiene-R5NVTRAY.js +0 -138
  393. package/dist/chunk-6IRVGOUL.js +0 -30
  394. package/dist/chunk-HMP5VT6A.js +0 -118
  395. package/dist/chunk-PVYR4FCQ.js +0 -113
  396. package/dist/chunk-UFAXZ2PY.js +0 -138
  397. package/dist/chunk-Y25OJWOQ.js +0 -45
  398. package/dist/chunk-YGAAZN3E.js +0 -47
  399. package/dist/cto-delegation-gate-DXNF5HVW.js +0 -290
  400. package/dist/dispatch-ack-4S44HBWB.js +0 -15
  401. package/dist/dreaming-OMFUEUCQ.js +0 -44
  402. package/dist/orchestrator-DUUX7FQV.js +0 -45
  403. package/dist/setup-wizard-TOFEJPLF.js +0 -13
  404. package/dist/tasks-notify-SMLDFBWM.js +0 -50
  405. package/dist/worktree-GVF2I5FP.js +0 -31
  406. /package/dist/{chunk-FLNSJ2TC.js → chunk-GIBYNT6W.js} +0 -0
  407. /package/dist/{chunk-NQBRGXYR.js → chunk-JRM4TAGS.js} +0 -0
  408. /package/dist/{chunk-WHRTDN5J.js → chunk-MGGOSFCR.js} +0 -0
  409. /package/dist/{chunk-D3QASX2W.js → chunk-QIFYLIUF.js} +0 -0
  410. /package/dist/{chunk-OADURIIN.js → chunk-WTH4CSAP.js} +0 -0
  411. /package/dist/{core-memory-VO5ZIBKH.js → core-memory-GAC6EWOQ.js} +0 -0
  412. /package/dist/{entity-boost-DNI4A5I7.js → entity-boost-NT6UO2Z3.js} +0 -0
  413. /package/dist/{message-queue-client-Q5BW3O5W.js → message-queue-client-4EOQRUXW.js} +0 -0
  414. /package/dist/{oauth-server-ROQFOEMM.js → oauth-server-67YBDP32.js} +0 -0
  415. /package/dist/{webhook-pipe-FZYLO6RR.js → webhook-pipe-LEXMUQ5B.js} +0 -0
  416. /package/dist/{wiki-acl-JA5UCQZ4.js → wiki-acl-74BLWG6J.js} +0 -0
  417. /package/dist/{wiki-client-VNDOBK63.js → wiki-client-EAN7F5LV.js} +0 -0
@@ -2,54 +2,54 @@
2
2
  import {
3
3
  politeBatchPause,
4
4
  startManagedJob
5
- } from "../chunk-JSKBHUR7.js";
5
+ } from "../chunk-YCANDMI2.js";
6
6
  import {
7
7
  NOT_PARKED_SQL,
8
8
  PARKED_EMBEDDING_MODEL,
9
9
  backfillKillSwitchEnabled
10
- } from "../chunk-KPIN44GZ.js";
10
+ } from "../chunk-CWXVH7WV.js";
11
11
  import {
12
12
  prepareEmbeddingText
13
- } from "../chunk-3QDSCJ3F.js";
13
+ } from "../chunk-XZXBB3TN.js";
14
14
  import {
15
15
  cleanupWorkerPid,
16
16
  registerWorkerPid,
17
17
  releaseBackfillLock,
18
18
  tryAcquireBackfillLock
19
- } from "../chunk-N5I7RL3I.js";
19
+ } from "../chunk-VPZHJCKW.js";
20
20
  import {
21
21
  initStore,
22
22
  vectorToBlob
23
- } from "../chunk-H37HHX3E.js";
23
+ } from "../chunk-VSRPS3J7.js";
24
24
  import "../chunk-CHCA3ZM2.js";
25
25
  import "../chunk-OTVEIJUQ.js";
26
- import "../chunk-HHIBOU3P.js";
27
- import "../chunk-Y25OJWOQ.js";
26
+ import "../chunk-6XWTQUO4.js";
27
+ import "../chunk-4QCFFW2H.js";
28
28
  import {
29
29
  connectEmbedDaemon,
30
30
  embedViaClient
31
- } from "../chunk-7TS64TBG.js";
31
+ } from "../chunk-G4RGKBCA.js";
32
32
  import "../chunk-AFNRE2RV.js";
33
- import "../chunk-3NGZ4PL7.js";
33
+ import "../chunk-X2Q5NLUL.js";
34
34
  import "../chunk-NLEW62VC.js";
35
35
  import "../chunk-MP2AFCGL.js";
36
36
  import {
37
37
  getClient
38
- } from "../chunk-HEPR6QTL.js";
38
+ } from "../chunk-AOHXREB7.js";
39
39
  import "../chunk-2I23RPSI.js";
40
- import "../chunk-ATOU6CYR.js";
40
+ import "../chunk-OLMQ4UOF.js";
41
41
  import "../chunk-PNQDP3OA.js";
42
42
  import "../chunk-H73TUI4Y.js";
43
43
  import "../chunk-7HLWBYH7.js";
44
44
  import "../chunk-FXU7JOXK.js";
45
- import "../chunk-Z42MXYWW.js";
45
+ import "../chunk-QWVXN224.js";
46
46
  import {
47
47
  EXE_AI_DIR,
48
48
  loadConfig
49
- } from "../chunk-7Y5UDEVM.js";
49
+ } from "../chunk-WZHZCDDO.js";
50
50
  import {
51
51
  atomicWriteJsonSync
52
- } from "../chunk-SHIICYJW.js";
52
+ } from "../chunk-BYTDMAGB.js";
53
53
  import {
54
54
  isMainModule
55
55
  } from "../chunk-6Y4B3QF6.js";
@@ -1,41 +1,41 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  pushToPostgres
4
- } from "../chunk-7WPOJDTA.js";
5
- import "../chunk-B75BOKEI.js";
6
- import "../chunk-QLFRCA6I.js";
7
- import "../chunk-TLYAEISW.js";
8
- import "../chunk-RNAYCUNM.js";
9
- import "../chunk-JCBKARSK.js";
10
- import "../chunk-UCQITDLM.js";
4
+ } from "../chunk-CNVBKDEY.js";
5
+ import "../chunk-NXUSDL37.js";
6
+ import "../chunk-NBZL5CGA.js";
7
+ import "../chunk-KW2SD2FL.js";
8
+ import "../chunk-S3THSOWV.js";
9
+ import "../chunk-IOEUAQWP.js";
10
+ import "../chunk-5TY4FPH6.js";
11
11
  import "../chunk-QGGH7LOU.js";
12
12
  import {
13
13
  disposeStore,
14
14
  initStore
15
- } from "../chunk-H37HHX3E.js";
15
+ } from "../chunk-VSRPS3J7.js";
16
16
  import "../chunk-CHCA3ZM2.js";
17
17
  import "../chunk-OTVEIJUQ.js";
18
- import "../chunk-HHIBOU3P.js";
19
- import "../chunk-Y25OJWOQ.js";
20
- import "../chunk-7TS64TBG.js";
18
+ import "../chunk-6XWTQUO4.js";
19
+ import "../chunk-4QCFFW2H.js";
20
+ import "../chunk-G4RGKBCA.js";
21
21
  import "../chunk-AFNRE2RV.js";
22
- import "../chunk-3NGZ4PL7.js";
22
+ import "../chunk-X2Q5NLUL.js";
23
23
  import "../chunk-NLEW62VC.js";
24
24
  import "../chunk-MP2AFCGL.js";
25
25
  import {
26
26
  getClient
27
- } from "../chunk-HEPR6QTL.js";
27
+ } from "../chunk-AOHXREB7.js";
28
28
  import "../chunk-2I23RPSI.js";
29
- import "../chunk-ATOU6CYR.js";
29
+ import "../chunk-OLMQ4UOF.js";
30
30
  import "../chunk-PNQDP3OA.js";
31
31
  import "../chunk-H73TUI4Y.js";
32
32
  import "../chunk-7HLWBYH7.js";
33
33
  import "../chunk-FXU7JOXK.js";
34
- import "../chunk-Z42MXYWW.js";
35
- import "../chunk-XACL67CS.js";
36
- import "../chunk-5Z5NATNS.js";
37
- import "../chunk-7Y5UDEVM.js";
38
- import "../chunk-SHIICYJW.js";
34
+ import "../chunk-QWVXN224.js";
35
+ import "../chunk-PQIDGXSG.js";
36
+ import "../chunk-K7KFGDWF.js";
37
+ import "../chunk-WZHZCDDO.js";
38
+ import "../chunk-BYTDMAGB.js";
39
39
  import "../chunk-MLKGABMK.js";
40
40
 
41
41
  // src/bin/bulk-sync-postgres.ts
@@ -1,21 +1,23 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  checkClaudeCodeInstall
4
- } from "../chunk-EIF2LQHZ.js";
5
- import "../chunk-AVKXCSBI.js";
6
- import "../chunk-X2FHTDIU.js";
4
+ } from "../chunk-PDWS3E22.js";
5
+ import "../chunk-GG5NDQNN.js";
6
+ import "../chunk-IBYL4DHM.js";
7
7
  import "../chunk-SSC7EKY2.js";
8
+ import "../chunk-VRAQTFD6.js";
8
9
  import "../chunk-75H4R62K.js";
9
- import "../chunk-5RACW3LX.js";
10
- import "../chunk-HEPR6QTL.js";
10
+ import "../chunk-RAXVPNMR.js";
11
+ import "../chunk-4QCFFW2H.js";
12
+ import "../chunk-AOHXREB7.js";
11
13
  import "../chunk-2I23RPSI.js";
12
- import "../chunk-ATOU6CYR.js";
14
+ import "../chunk-OLMQ4UOF.js";
13
15
  import "../chunk-PNQDP3OA.js";
14
16
  import "../chunk-H73TUI4Y.js";
15
17
  import "../chunk-7HLWBYH7.js";
16
18
  import "../chunk-FXU7JOXK.js";
17
- import "../chunk-7Y5UDEVM.js";
18
- import "../chunk-SHIICYJW.js";
19
+ import "../chunk-WZHZCDDO.js";
20
+ import "../chunk-BYTDMAGB.js";
19
21
  import {
20
22
  isMainModule
21
23
  } from "../chunk-6Y4B3QF6.js";
@@ -1,48 +1,50 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  fastDbInit
4
- } from "../chunk-UFAXZ2PY.js";
4
+ } from "../chunk-PWUFMX75.js";
5
5
  import {
6
6
  sessionScopeFilter
7
- } from "../chunk-PLRIJALF.js";
8
- import "../chunk-OFX5B2S7.js";
9
- import "../chunk-B76TSEP3.js";
10
- import "../chunk-RLRT2BVM.js";
7
+ } from "../chunk-UP75Z5X7.js";
8
+ import "../chunk-L2R3LN2P.js";
9
+ import "../chunk-I26FWCSP.js";
10
+ import "../chunk-EV46QTD3.js";
11
+ import "../chunk-E23LNUWJ.js";
11
12
  import "../chunk-4JERP7NT.js";
12
13
  import "../chunk-EIKATSE4.js";
13
- import "../chunk-E23LNUWJ.js";
14
- import "../chunk-UIV2WPBT.js";
15
- import "../chunk-SSTLTIF3.js";
16
- import "../chunk-RMOBQ6A5.js";
17
- import "../chunk-54QCG45Y.js";
18
- import "../chunk-FUIIVSW6.js";
19
- import "../chunk-65SVQELL.js";
20
- import "../chunk-NGP6LSV2.js";
21
- import "../chunk-MW2GJJ53.js";
14
+ import "../chunk-KGWRTRKC.js";
15
+ import "../chunk-AD2VCHSS.js";
16
+ import "../chunk-WOYADZF5.js";
17
+ import "../chunk-SKGMF2SO.js";
18
+ import "../chunk-2WAVZ5UJ.js";
19
+ import "../chunk-HA5R6USD.js";
20
+ import "../chunk-AM7S2TY6.js";
21
+ import "../chunk-JGIPOUIK.js";
22
+ import "../chunk-GWDSB25T.js";
22
23
  import "../chunk-CVYC6DUW.js";
23
- import "../chunk-2233TQCA.js";
24
- import "../chunk-HCJCW7X4.js";
24
+ import "../chunk-JLZ4RYSD.js";
25
+ import "../chunk-H7I47RS5.js";
25
26
  import "../chunk-OPU3NYOO.js";
26
- import "../chunk-7TS64TBG.js";
27
+ import "../chunk-G4RGKBCA.js";
27
28
  import "../chunk-AFNRE2RV.js";
28
- import "../chunk-3NGZ4PL7.js";
29
+ import "../chunk-X2Q5NLUL.js";
29
30
  import "../chunk-NLEW62VC.js";
30
31
  import "../chunk-HYZV25LY.js";
31
32
  import "../chunk-GJV3WDWM.js";
32
33
  import "../chunk-MP2AFCGL.js";
33
34
  import {
34
35
  getClient
35
- } from "../chunk-HEPR6QTL.js";
36
+ } from "../chunk-AOHXREB7.js";
36
37
  import "../chunk-2I23RPSI.js";
37
- import "../chunk-ATOU6CYR.js";
38
+ import "../chunk-OLMQ4UOF.js";
38
39
  import "../chunk-PNQDP3OA.js";
39
40
  import "../chunk-H73TUI4Y.js";
40
41
  import "../chunk-7HLWBYH7.js";
41
42
  import "../chunk-FXU7JOXK.js";
42
- import "../chunk-XACL67CS.js";
43
- import "../chunk-5Z5NATNS.js";
44
- import "../chunk-7Y5UDEVM.js";
45
- import "../chunk-SHIICYJW.js";
43
+ import "../chunk-NGP6LSV2.js";
44
+ import "../chunk-PQIDGXSG.js";
45
+ import "../chunk-K7KFGDWF.js";
46
+ import "../chunk-WZHZCDDO.js";
47
+ import "../chunk-BYTDMAGB.js";
46
48
  import {
47
49
  isMainModule
48
50
  } from "../chunk-6Y4B3QF6.js";
package/dist/bin/cli.js CHANGED
@@ -81,7 +81,9 @@ Commands:
81
81
  channel View/set update channel (stable|canary|pinned)
82
82
  cloud Cloud sync setup and device linking
83
83
  doctor Diagnose installation health
84
+ daemon Inspect/reset the daemon restart circuit breaker (status|reset-breaker)
84
85
  support test Verify support intake works
86
+ reconcile-backlog Detect support records already shipped in code (report-only default)
85
87
  settings Configure memory system settings
86
88
  release --stack Automate full stack release across repos
87
89
  org phase View/change orchestration phase
@@ -106,7 +108,7 @@ if (args.includes("--global")) {
106
108
  );
107
109
  await runClaudeInstall();
108
110
  } else if (args.includes("--commands-only")) {
109
- const { copySlashCommands, resolvePackageRoot } = await import("../installer-MNPXDLGG.js");
111
+ const { copySlashCommands, resolvePackageRoot } = await import("../installer-L7EVH5U5.js");
110
112
  try {
111
113
  const packageRoot = resolvePackageRoot();
112
114
  const result = await copySlashCommands(packageRoot);
@@ -169,12 +171,12 @@ if (args.includes("--global")) {
169
171
  break;
170
172
  }
171
173
  } else if (args[0] === "org") {
172
- const { main: runOrg } = await import("../exe-org-BGZNNE4H.js");
174
+ const { main: runOrg } = await import("../exe-org-X4CSNCKS.js");
173
175
  await runOrg(args.slice(1));
174
176
  } else if (args[0] === "code-context") {
175
177
  await runCodeContext(args.slice(1));
176
178
  } else if (args[0] === "jobs") {
177
- const { cancelBackgroundJob, formatJobs, listBackgroundJobs } = await import("../background-jobs-STURKDCS.js");
179
+ const { cancelBackgroundJob, formatJobs, listBackgroundJobs } = await import("../background-jobs-EXR5RVGG.js");
178
180
  const sub = args[1] ?? "status";
179
181
  if (sub === "status" || sub === "list") {
180
182
  console.log(formatJobs(listBackgroundJobs()));
@@ -195,7 +197,7 @@ if (args.includes("--global")) {
195
197
  process.exit(1);
196
198
  }
197
199
  } else if (args[0] === "key") {
198
- const { main: runKey } = await import("../exe-key-M6TYHNUW.js");
200
+ const { main: runKey } = await import("../exe-key-2N6LY2BU.js");
199
201
  await runKey(args.slice(1));
200
202
  } else if (args[0] === "grant") {
201
203
  const { main: runGrant } = await import("./exe-grant.js");
@@ -230,6 +232,9 @@ if (args.includes("--global")) {
230
232
  } else if (args[0] === "support") {
231
233
  const { main: runSupport } = await import("./exe-support.js");
232
234
  await runSupport(args.slice(1));
235
+ } else if (args[0] === "reconcile-backlog") {
236
+ const { main: runReconcileBacklog } = await import("./reconcile-backlog.js");
237
+ process.exitCode = await runReconcileBacklog(args.slice(1));
233
238
  } else if (args[0] === "settings") {
234
239
  const { main: runSettings } = await import("./exe-settings.js");
235
240
  await runSettings();
@@ -250,7 +255,7 @@ if (args.includes("--global")) {
250
255
  process.exit(1);
251
256
  }
252
257
  } else if (args[0] === "backfill-metadata") {
253
- const { backfillMetadata } = await import("../backfill-metadata-MFY6BHKE.js");
258
+ const { backfillMetadata } = await import("../backfill-metadata-ZSMZC45J.js");
254
259
  let batchSize = 50;
255
260
  let limit = 0;
256
261
  let dryRun = false;
@@ -281,10 +286,10 @@ if (args.includes("--global")) {
281
286
  process.exit(1);
282
287
  }
283
288
  } else if (args[0] === "export") {
284
- const { runExeExport } = await import("../exe-export-SP6G3QF6.js");
289
+ const { runExeExport } = await import("../exe-export-AUJ7CV7G.js");
285
290
  await runExeExport(args.slice(1));
286
291
  } else if (args[0] === "import") {
287
- const { runExeImport } = await import("../exe-import-KJU7FBVQ.js");
292
+ const { runExeImport } = await import("../exe-import-JX4I52VE.js");
288
293
  await runExeImport(args.slice(1));
289
294
  } else if (args[0] === "import-history") {
290
295
  const { runImportHistory } = await import("./import-history.js");
@@ -309,7 +314,7 @@ if (args.includes("--global")) {
309
314
  const { initStore } = await import("../lib/store.js");
310
315
  await initStore();
311
316
  const { sendMessage } = await import("../lib/messaging.js");
312
- const { getActiveAgent } = await import("../active-agent-EC6M7KTX.js");
317
+ const { getActiveAgent } = await import("../active-agent-PVGE57FY.js");
313
318
  const { agentId } = getActiveAgent();
314
319
  const result = await sendMessage({
315
320
  fromAgent: agentId,
@@ -333,7 +338,7 @@ ID: ${result.id}`);
333
338
  process.exit(code);
334
339
  } else if (args[0] === "doctor") {
335
340
  if (args.includes("--drift")) {
336
- const { runDrift } = await import("../exe-drift-KY2KHZEL.js");
341
+ const { runDrift } = await import("../exe-drift-CW72FBGE.js");
337
342
  await runDrift(args.slice(1));
338
343
  } else {
339
344
  const { runCcDoctor } = await import("./cc-doctor.js");
@@ -343,14 +348,67 @@ ID: ${result.id}`);
343
348
  const icon = r.pass ? "\x1B[32m\u2713\x1B[0m" : "\x1B[31m\u2717\x1B[0m";
344
349
  console.log(` ${icon} ${r.name}: ${r.detail}`);
345
350
  }
346
- console.log(failed === 0 ? "\n \x1B[32mAll checks passed\x1B[0m\n" : `
347
- \x1B[31m${failed} issue(s) found\x1B[0m
351
+ const { readBreakerAlert } = await import("../daemon-restart-circuit-breaker-PEGEIP6H.js");
352
+ const alert = readBreakerAlert();
353
+ let breakerFailed = 0;
354
+ if (alert) {
355
+ breakerFailed = 1;
356
+ console.log("\n \x1B[31m\u2717 restart circuit breaker: TRIPPED\x1B[0m");
357
+ console.log(` ${String(alert.reason ?? "daemon crash-loop breaker open")}`);
358
+ console.log(` crash restarts in window: ${String(alert.crashRestartsInWindow ?? "?")}`);
359
+ const rec = alert.recovery;
360
+ if (rec) console.log(` recover: ${String(rec.manual ?? "exe-os daemon reset-breaker")}`);
361
+ } else {
362
+ console.log("\n \x1B[32m\u2713 restart circuit breaker: not tripped\x1B[0m");
363
+ }
364
+ const totalFailed = failed + breakerFailed;
365
+ console.log(totalFailed === 0 ? "\n \x1B[32mAll checks passed\x1B[0m\n" : `
366
+ \x1B[31m${totalFailed} issue(s) found\x1B[0m
348
367
  `);
349
- process.exit(failed > 0 ? 1 : 0);
368
+ process.exit(totalFailed > 0 ? 1 : 0);
369
+ }
370
+ } else if (args[0] === "daemon") {
371
+ const sub = args[1];
372
+ const {
373
+ readBreakerAlert,
374
+ resetRestartBreaker,
375
+ isRestartBreakerTripped,
376
+ restartBreakerStatePath,
377
+ restartBreakerAlertPath,
378
+ daemonLastExitPath
379
+ } = await import("../daemon-restart-circuit-breaker-PEGEIP6H.js");
380
+ const { existsSync: existsSync2, readFileSync: readFileSync2 } = await import("fs");
381
+ if (sub === "reset-breaker") {
382
+ resetRestartBreaker();
383
+ console.log(" \x1B[32m\u2713\x1B[0m Restart circuit breaker reset (crash counter + alert cleared).");
384
+ console.log(" Relaunch the daemon (it starts automatically on the next exe-os command / launchd tick).");
385
+ process.exit(0);
386
+ } else if (sub === "status" || !sub) {
387
+ const tripped = isRestartBreakerTripped();
388
+ console.log(`
389
+ Restart circuit breaker: ${tripped ? "\x1B[31mTRIPPED\x1B[0m" : "\x1B[32mnot tripped\x1B[0m"}`);
390
+ const alert = readBreakerAlert();
391
+ if (alert) console.log(`
392
+ ${JSON.stringify(alert, null, 2)}
393
+ `);
394
+ for (const [label, p] of [["state", restartBreakerStatePath()], ["last-exit", daemonLastExitPath()]]) {
395
+ if (existsSync2(p)) {
396
+ try {
397
+ console.log(` ${label} (${p}):
398
+ ${readFileSync2(p, "utf8").trim()}`);
399
+ } catch {
400
+ }
401
+ }
402
+ }
403
+ if (!alert && !tripped) console.log(` Alert file: ${restartBreakerAlertPath()} (absent \u2014 healthy)`);
404
+ process.exit(tripped ? 1 : 0);
405
+ } else {
406
+ console.error("Usage: exe-os daemon <status|reset-breaker>");
407
+ process.exit(1);
350
408
  }
351
409
  } else if (args[0] === "backup") {
352
410
  const sub = args[1];
353
- const { listBackups, createBackup, restoreBackup } = await import("../db-backup-DLD4QZBO.js");
411
+ const { listBackups, createBackup, restoreBackup } = await import("../db-backup-W2QFSYQC.js");
354
412
  if (sub === "list" || !sub) {
355
413
  const backups = listBackups();
356
414
  if (backups.length === 0) {
@@ -399,13 +457,38 @@ ID: ${result.id}`);
399
457
  console.error("No backup available to restore.");
400
458
  process.exit(1);
401
459
  }
460
+ } else if (sub === "verify") {
461
+ const { verifyBackup } = await import("../backup-verify-3Y2FHGZU.js");
462
+ let target;
463
+ const pathIdx = args.indexOf("--path");
464
+ if (pathIdx >= 0 && args[pathIdx + 1]) {
465
+ target = args[pathIdx + 1];
466
+ } else if (args[2] && !args[2].startsWith("--")) {
467
+ target = args[2];
468
+ }
469
+ if (target && !existsSync(target)) {
470
+ const match = listBackups().find((b) => b.name === target || b.name.includes(target));
471
+ if (match) target = match.path;
472
+ }
473
+ const res = await verifyBackup(target);
474
+ if (res.ok) {
475
+ const failed = res.tables.filter((t) => !t.ok).length;
476
+ console.log(
477
+ `Backup verified OK: ${res.backup ?? "(latest)"} (source: ${res.source}, integrity: ${res.integrity}, ${res.tables.length} table(s), ${failed} mismatch)`
478
+ );
479
+ } else {
480
+ console.error(
481
+ `Backup verify FAILED: ${res.backup ?? "(no backup)"} \u2014 ${res.reason}${res.detail ? `: ${res.detail}` : ""}`
482
+ );
483
+ process.exit(1);
484
+ }
402
485
  } else {
403
486
  console.error(`Unknown backup command: ${sub}`);
404
- console.error("Usage: exe-os backup [list|create|restore]");
487
+ console.error("Usage: exe-os backup [list|create|restore|verify]");
405
488
  process.exit(1);
406
489
  }
407
490
  } else if (args[0] === "setup" || args[0] === "-setup" || args[0] === "--setup") {
408
- const { runSetupWizard } = await import("../setup-wizard-TOFEJPLF.js");
491
+ const { runSetupWizard } = await import("../setup-wizard-NB6R4QVS.js");
409
492
  await runSetupWizard({
410
493
  skipModel: args.includes("--skip-model"),
411
494
  nonInteractive: args.includes("--non-interactive") || args.includes("-y") || args.includes("--yes"),
@@ -425,9 +508,12 @@ ID: ${result.id}`);
425
508
  const { runStackUpdateCli } = await import("./stack-update.js");
426
509
  await runStackUpdateCli(args.slice(1));
427
510
  } else if (args[0] === "release") {
428
- const { parseReleaseArgs, runStackRelease } = await import("../stack-release-XXMV7SPX.js");
511
+ const { parseReleaseArgs, runStackRelease } = await import("../stack-release-HGFFFCGC.js");
429
512
  const releaseFlags = parseReleaseArgs(args.slice(1));
430
513
  await runStackRelease(releaseFlags);
514
+ } else if (args[0] === "stack-promote") {
515
+ const { runStackPromoteCli } = await import("../stack-promote-RSOWO6EY.js");
516
+ await runStackPromoteCli(args.slice(1));
431
517
  } else if (args[0] === "preflight") {
432
518
  const { runPreflightCli } = await import("./exe-preflight.js");
433
519
  runPreflightCli(args.slice(1));
@@ -458,16 +544,16 @@ Post-deploy verification \u2014 8 runtime checks after stack-update.
458
544
  `);
459
545
  process.exit(report.failed > 0 ? 1 : 0);
460
546
  } else if (args[0] === "snapshot") {
461
- const { main: runSnapshot } = await import("../exe-snapshot-ZNPGUKRZ.js");
547
+ const { main: runSnapshot } = await import("../exe-snapshot-XZ7FVCYZ.js");
462
548
  await runSnapshot(args.slice(1));
463
549
  } else if (args[0] === "boot") {
464
- const { projectBoot, parseBootArgs } = await import("../project-boot-SD7GM24K.js");
550
+ const { projectBoot, parseBootArgs } = await import("../project-boot-4NUH5FRU.js");
465
551
  const bootOpts = parseBootArgs(args.slice(1));
466
552
  console.log(await projectBoot(bootOpts));
467
553
  } else if (args[0] === "brand") {
468
554
  const configIdx = args.indexOf("--config");
469
555
  if (configIdx === -1 || !args[configIdx + 1]) {
470
- const { loadBranding, BRANDING_PATH } = await import("../branding-JTEOF4ZV.js");
556
+ const { loadBranding, BRANDING_PATH } = await import("../branding-DVXBGVDH.js");
471
557
  const b = loadBranding();
472
558
  console.log(`
473
559
  Brand: ${b.name}`);
@@ -486,7 +572,7 @@ Post-deploy verification \u2014 8 runtime checks after stack-update.
486
572
  }
487
573
  try {
488
574
  const raw = JSON.parse(rf(configPath, "utf-8"));
489
- const { validateBranding, saveBranding } = await import("../branding-JTEOF4ZV.js");
575
+ const { validateBranding, saveBranding } = await import("../branding-DVXBGVDH.js");
490
576
  const result = validateBranding(raw);
491
577
  if (!result.valid) {
492
578
  console.error(`
@@ -575,7 +661,7 @@ cd into a project folder and run \x1B[1m${cooName}1\x1B[0m to boot your COO.
575
661
  }
576
662
  }
577
663
  async function runCodeContext(ccArgs) {
578
- const { buildCodeContextIndex, getCodeContextStats, searchCodeContext } = await import("../code-context-index-EXXDY3QZ.js");
664
+ const { buildCodeContextIndex, getCodeContextStats, searchCodeContext } = await import("../code-context-index-WSOJQ72R.js");
579
665
  const sub = ccArgs[0] ?? "status";
580
666
  const projectRoot = valueAfter(ccArgs, "--project-root") ?? process.cwd();
581
667
  if (sub === "init" || sub === "index") {
@@ -651,7 +737,7 @@ function numberAfter(args2, flag) {
651
737
  return Number.isFinite(parsed) ? parsed : void 0;
652
738
  }
653
739
  async function runClaudeInstall() {
654
- const { runInstaller } = await import("../installer-MNPXDLGG.js");
740
+ const { runInstaller } = await import("../installer-L7EVH5U5.js");
655
741
  try {
656
742
  await runInstaller();
657
743
  } catch (err) {
@@ -663,7 +749,7 @@ async function runClaudeInstall() {
663
749
  }
664
750
  }
665
751
  async function runOpenCodeInstall() {
666
- const { runOpenCodeInstaller } = await import("../installer-SB2N5NKH.js");
752
+ const { runOpenCodeInstaller } = await import("../installer-G3JAO3NT.js");
667
753
  try {
668
754
  await runOpenCodeInstaller();
669
755
  } catch (err) {
@@ -675,7 +761,7 @@ async function runOpenCodeInstall() {
675
761
  }
676
762
  }
677
763
  async function runCodexInstall() {
678
- const { runCodexInstaller } = await import("../installer-MZWWBXM6.js");
764
+ const { runCodexInstaller } = await import("../installer-JND3RJ6Q.js");
679
765
  try {
680
766
  await runCodexInstaller();
681
767
  } catch (err) {
@@ -687,7 +773,7 @@ async function runCodexInstall() {
687
773
  }
688
774
  }
689
775
  async function runClaudeCheck() {
690
- const { detectMcpNameCollisions } = await import("../installer-MNPXDLGG.js");
776
+ const { detectMcpNameCollisions } = await import("../installer-L7EVH5U5.js");
691
777
  const claudeDir = path.join(os.homedir(), ".claude");
692
778
  const settingsPath = path.join(claudeDir, "settings.json");
693
779
  const claudeJsonPath = path.join(os.homedir(), ".claude.json");
@@ -75,7 +75,7 @@ test("Session scoping \u2014 all task query files import scope helper", () => {
75
75
  const basename = path.basename(f);
76
76
  if (exempt.some((e) => basename === e)) continue;
77
77
  const content = readFileSync(path.join(ROOT, f), "utf8");
78
- if (!content.includes("task-scope") && !content.includes("sessionScopeFilter") && !content.includes("intentionally unscoped")) {
78
+ if (!content.includes("task-scope") && !content.includes("sessionScopeFilter") && !content.includes("session_scope") && !content.includes("intentionally unscoped")) {
79
79
  unscoped.push(f);
80
80
  }
81
81
  }