@askexenow/exe-os 0.9.322 → 0.9.324

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 (319) hide show
  1. package/deploy/compose/.env.customer.example +1 -1
  2. package/deploy/compose/.env.example +18 -1
  3. package/deploy/compose/PROTECTED_FILES.md +4 -1
  4. package/deploy/compose/add-routes.sh +22 -0
  5. package/deploy/compose/cloudflared/config.yml.example +6 -3
  6. package/deploy/compose/docker-compose.yml +36 -1
  7. package/deploy/compose/generate-env.ts +40 -2
  8. package/deploy/compose/sso-edge/default.conf.template +11 -0
  9. package/deploy/compose/sso-edge/sso-redirect.conf +90 -21
  10. package/deploy/stack-manifests/v0.9.json +110 -2
  11. package/dist/{active-agent-M5NJFEBM.js → active-agent-CVSB2EER.js} +3 -3
  12. package/dist/{active-agent-SHM4QSRJ.js → active-agent-IUVRZOSF.js} +3 -3
  13. package/dist/{agentic-ontology-HQKCU7LG.js → agentic-ontology-2QFPBIQP.js} +1 -1
  14. package/dist/backfill-gate-J7UXFNXU.js +19 -0
  15. package/dist/{backfill-metadata-CXWFCTBO.js → backfill-metadata-W3PRQPVV.js} +4 -4
  16. package/dist/{behaviors-J47D342W.js → behaviors-MQCADHAD.js} +5 -5
  17. package/dist/bin/agentic-ontology-backfill.js +5 -5
  18. package/dist/bin/agentic-reflection-backfill.js +6 -6
  19. package/dist/bin/agentic-semantic-label.js +5 -5
  20. package/dist/bin/backfill-conversations.js +11 -11
  21. package/dist/bin/backfill-responses.js +11 -11
  22. package/dist/bin/backfill-vectors.js +102 -22
  23. package/dist/bin/bulk-sync-postgres.js +14 -14
  24. package/dist/bin/cc-doctor.js +5 -5
  25. package/dist/bin/cleanup-stale-review-tasks.js +20 -13
  26. package/dist/bin/cli.js +28 -31
  27. package/dist/bin/customer-readiness.js +1 -0
  28. package/dist/bin/deferred-daemon-restart.js +80 -77
  29. package/dist/bin/exe-agent-config.js +3 -3
  30. package/dist/bin/exe-agent.js +5 -5
  31. package/dist/bin/exe-assign.js +10 -10
  32. package/dist/bin/exe-boot.js +32 -23
  33. package/dist/bin/exe-call.js +5 -5
  34. package/dist/bin/exe-cloud.js +120 -47
  35. package/dist/bin/exe-config-dump.js +3 -3
  36. package/dist/bin/exe-dispatch.js +48 -14
  37. package/dist/bin/exe-doctor.js +4 -4
  38. package/dist/bin/exe-export-behaviors.js +7 -7
  39. package/dist/bin/exe-forget.js +6 -6
  40. package/dist/bin/exe-gateway.js +8 -8
  41. package/dist/bin/exe-healthcheck.js +17 -8
  42. package/dist/bin/exe-heartbeat.js +20 -13
  43. package/dist/bin/exe-kill.js +23 -16
  44. package/dist/bin/exe-launch-agent.js +30 -27
  45. package/dist/bin/exe-new-employee.js +9 -9
  46. package/dist/bin/exe-pending-messages.js +21 -14
  47. package/dist/bin/exe-pending-notifications.js +20 -13
  48. package/dist/bin/exe-pending-reviews.js +20 -13
  49. package/dist/bin/exe-rename.js +5 -5
  50. package/dist/bin/exe-review.js +22 -15
  51. package/dist/bin/exe-search.js +8 -13
  52. package/dist/bin/exe-session-cleanup.js +39 -22
  53. package/dist/bin/exe-settings.js +15 -15
  54. package/dist/bin/exe-start-codex.js +51 -34
  55. package/dist/bin/exe-start-opencode.js +8 -8
  56. package/dist/bin/exe-status.js +21 -14
  57. package/dist/bin/exe-support.js +3 -3
  58. package/dist/bin/exe-team.js +3 -3
  59. package/dist/bin/exe-watchdog.js +278 -39
  60. package/dist/bin/git-sweep.js +21 -14
  61. package/dist/bin/graph-backfill.js +4 -4
  62. package/dist/bin/graph-export.js +5 -5
  63. package/dist/bin/import-history.js +7 -7
  64. package/dist/bin/install-launchd.js +2 -2
  65. package/dist/bin/install.js +121 -88
  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 +4 -4
  69. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  70. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  71. package/dist/bin/pre-publish.js +1 -1
  72. package/dist/bin/registry-proxy.js +1 -1
  73. package/dist/bin/scan-tasks.js +20 -13
  74. package/dist/bin/setup.js +1 -1
  75. package/dist/bin/shard-migrate.js +4 -4
  76. package/dist/bin/stack-update.js +4 -4
  77. package/dist/bin/vps-health-gate.js +1 -1
  78. package/dist/{capability-cards-H7H3MU74.js → capability-cards-STD3NMCR.js} +2 -2
  79. package/dist/{capacity-monitor-WAEHVBL7.js → capacity-monitor-6O3PWYNM.js} +21 -14
  80. package/dist/{catchup-brief-L42STIDR.js → catchup-brief-EDQ3VZCF.js} +23 -16
  81. package/dist/{chunk-HKSJSW2V.js → chunk-2E2NKFXK.js} +1 -1
  82. package/dist/{chunk-NYFPFOYM.js → chunk-2NY7LZT7.js} +1 -1
  83. package/dist/{chunk-DGFIXJ4S.js → chunk-2QD5M47V.js} +3 -3
  84. package/dist/{chunk-3M73L663.js → chunk-2YWUZPHE.js} +2 -2
  85. package/dist/{chunk-LB77CSLO.js → chunk-2ZW4AQ24.js} +3 -3
  86. package/dist/{chunk-E32KARET.js → chunk-376J36IW.js} +4 -4
  87. package/dist/{chunk-CWQAXO3O.js → chunk-5RACW3LX.js} +28 -3
  88. package/dist/{chunk-VSXGFHJY.js → chunk-5VT45EV6.js} +1 -1
  89. package/dist/{chunk-X62GD6QW.js → chunk-5YCOEPEX.js} +2 -2
  90. package/dist/{chunk-TKBWBHFV.js → chunk-6FWMLTF2.js} +1 -1
  91. package/dist/chunk-6IWLAQ7O.js +40 -0
  92. package/dist/{chunk-WFHYAKEU.js → chunk-6XAAJ5OV.js} +1 -1
  93. package/dist/{chunk-4Z47UMMM.js → chunk-7M6TXYRQ.js} +23 -23
  94. package/dist/{chunk-HWC5W34K.js → chunk-7PLMYXPG.js} +1 -1
  95. package/dist/{chunk-DDKDN4HV.js → chunk-A47MXY2I.js} +7 -0
  96. package/dist/{chunk-SQ5JWDJ2.js → chunk-AEFZEJKW.js} +1 -1
  97. package/dist/{chunk-657AQEPY.js → chunk-AVKZIG4A.js} +1 -1
  98. package/dist/{chunk-EPBB2OD3.js → chunk-BB5IKY7B.js} +2 -2
  99. package/dist/{chunk-3JW3ZXCP.js → chunk-BC7IIR3A.js} +65 -39
  100. package/dist/{chunk-WSYKLS2Y.js → chunk-BDJQWBWF.js} +3 -3
  101. package/dist/{chunk-VY7345RO.js → chunk-BMSAJ2IH.js} +1 -1
  102. package/dist/{chunk-OI63OVCR.js → chunk-C7B44DJI.js} +1 -1
  103. package/dist/{chunk-GA76RGSP.js → chunk-CS6MYGNB.js} +5 -5
  104. package/dist/{chunk-6N4LYEDI.js → chunk-CSPHV5DJ.js} +1 -1
  105. package/dist/{chunk-HGM6NZQH.js → chunk-DYUISOIT.js} +1 -1
  106. package/dist/{signal-paths-4GOIRLGH.js → chunk-EIKATSE4.js} +3 -4
  107. package/dist/{chunk-G5TP2D2U.js → chunk-EWDTTTZP.js} +3 -3
  108. package/dist/{chunk-TI6YX3L5.js → chunk-F2RK5YWB.js} +36 -27
  109. package/dist/{chunk-HV5CUDOE.js → chunk-F6TJIWN5.js} +1 -1
  110. package/dist/{chunk-WCCR5IFR.js → chunk-FPTBCPI3.js} +2 -2
  111. package/dist/{chunk-QVFJCFNM.js → chunk-FROUDYRT.js} +33 -2
  112. package/dist/{chunk-T6AUMO5X.js → chunk-GIFDGNIL.js} +1 -1
  113. package/dist/{chunk-OFR7KQ37.js → chunk-HAYDXMW6.js} +3 -3
  114. package/dist/{chunk-V2ESQU3S.js → chunk-HBKYKN3S.js} +3 -3
  115. package/dist/{chunk-LCZ55G5G.js → chunk-HZ5J2GFE.js} +136 -66
  116. package/dist/{chunk-EOPSIIEH.js → chunk-ID3V4BWS.js} +1 -1
  117. package/dist/{chunk-ABGDTMKC.js → chunk-JRD7ARQ6.js} +60 -2
  118. package/dist/{chunk-7FBPLVHM.js → chunk-KADUJ7PE.js} +3 -3
  119. package/dist/{chunk-KLG53B63.js → chunk-KJOQLNX2.js} +1 -1
  120. package/dist/{chunk-AZL3EUR3.js → chunk-KK67DSCO.js} +229 -29
  121. package/dist/{chunk-H2SD2EA7.js → chunk-KLDQFOFY.js} +23 -9
  122. package/dist/chunk-KPIN44GZ.js +67 -0
  123. package/dist/{chunk-PLBDXCYZ.js → chunk-KUJGADX6.js} +1491 -606
  124. package/dist/{chunk-GN3IWZDH.js → chunk-KWWHRJGG.js} +660 -539
  125. package/dist/{chunk-ERSFOJGC.js → chunk-LUOQCGBO.js} +20 -11
  126. package/dist/{chunk-CXXERHNC.js → chunk-LWAGAC3H.js} +1 -1
  127. package/dist/{chunk-7BZ6TOZN.js → chunk-MB2YT5VQ.js} +3 -3
  128. package/dist/{chunk-KXP3CUTL.js → chunk-MCEXBLLK.js} +3 -3
  129. package/dist/{chunk-A3KUGBDP.js → chunk-MIWPKWXQ.js} +1 -1
  130. package/dist/{chunk-7CUF27OT.js → chunk-MKIFYIXC.js} +1 -1
  131. package/dist/{chunk-ONKIWA3R.js → chunk-ML4S5SHZ.js} +3 -1
  132. package/dist/{chunk-BFHBHQFA.js → chunk-MWIX3YKA.js} +5 -5
  133. package/dist/{chunk-6UQRJCKK.js → chunk-NBDTQVWU.js} +2 -2
  134. package/dist/{chunk-KK4ZOYXJ.js → chunk-NGACCR2M.js} +80 -40
  135. package/dist/{chunk-CMDC5D7S.js → chunk-NLEW62VC.js} +6 -0
  136. package/dist/{chunk-QYLDCPNG.js → chunk-PGFYWVOB.js} +1 -1
  137. package/dist/{chunk-XEBN5CPD.js → chunk-PGUISLOT.js} +3 -3
  138. package/dist/{chunk-MYMA23KC.js → chunk-PJTEZLAM.js} +1 -1
  139. package/dist/{chunk-QNUHDEPI.js → chunk-POOMY3CS.js} +4 -4
  140. package/dist/{chunk-2GBGIXKH.js → chunk-PV7IG4V6.js} +1 -1
  141. package/dist/{chunk-SENJA7BZ.js → chunk-QDI77B3E.js} +54 -7
  142. package/dist/{chunk-XLNF3CIO.js → chunk-QGOMYIVT.js} +119 -24
  143. package/dist/{chunk-HIOO7DZ2.js → chunk-QQFZ32WS.js} +5 -5
  144. package/dist/{chunk-KL5WYWS3.js → chunk-SOXUF34Y.js} +2 -2
  145. package/dist/{chunk-6XM6PZXQ.js → chunk-SPO2RLOB.js} +1 -1
  146. package/dist/{chunk-ROMB2HH4.js → chunk-T3XHH5FE.js} +6 -6
  147. package/dist/{chunk-6SXJZHRJ.js → chunk-TA3A4UQL.js} +1 -1
  148. package/dist/{chunk-XP53WEXP.js → chunk-TGVKQ3QB.js} +3 -3
  149. package/dist/{chunk-XC7C3GQ2.js → chunk-TNS6U2K7.js} +30 -19
  150. package/dist/{chunk-JXEMAB4M.js → chunk-UAIMI7CK.js} +1 -1
  151. package/dist/{chunk-YIFZZYQD.js → chunk-UBYAKNRF.js} +2 -2
  152. package/dist/{chunk-6IBUQBMY.js → chunk-UXYQLOFW.js} +198 -39
  153. package/dist/{chunk-C4BIZXKB.js → chunk-UYOW7U24.js} +1 -1
  154. package/dist/{chunk-NFM6VHL7.js → chunk-V4VYIHSL.js} +1 -1
  155. package/dist/{chunk-QQOH3I4A.js → chunk-VDUHWQFA.js} +1 -1
  156. package/dist/{chunk-EVUXF2G4.js → chunk-W5GBB23I.js} +1 -1
  157. package/dist/{chunk-FANIBYUO.js → chunk-WF3J6GJZ.js} +2 -2
  158. package/dist/{chunk-NAHAOFTY.js → chunk-WGHTISNK.js} +3 -3
  159. package/dist/{chunk-F5FAD2YR.js → chunk-WGOAILWE.js} +2 -2
  160. package/dist/{chunk-LOE2N23P.js → chunk-WJICX53Z.js} +1 -1
  161. package/dist/{skill-refinement-YLIAY7V4.js → chunk-Y2KBHLEO.js} +3 -11
  162. package/dist/{chunk-PISGLNV7.js → chunk-Y34FDPOY.js} +5 -5
  163. package/dist/{chunk-ORC5AO7E.js → chunk-YBHOWK3L.js} +2 -2
  164. package/dist/{chunk-7SDS5VCL.js → chunk-ZDNJ3TSB.js} +7 -7
  165. package/dist/{chunk-CHSRSESS.js → chunk-ZRZ2Z6RZ.js} +1 -1
  166. package/dist/{cleanup-graph-garbage-MX5JDTJA.js → cleanup-graph-garbage-2YH52ADR.js} +4 -4
  167. package/dist/{co-activation-K44LGZ7A.js → co-activation-7F3J2GC7.js} +2 -2
  168. package/dist/{co-occurrence-N62HJTRP.js → co-occurrence-B36Q5GY3.js} +2 -2
  169. package/dist/{code-context-index-6YQ3DGCN.js → code-context-index-2PUBBQOE.js} +3 -3
  170. package/dist/{crdt-sync-BO76VVRX.js → crdt-sync-MXHPR6V6.js} +1 -1
  171. package/dist/{crm-bridge-BVTB6LZK.js → crm-bridge-CZLEW2LW.js} +1 -1
  172. package/dist/{crm-webhook-UZLTHXAS.js → crm-webhook-56MWGMRY.js} +2 -2
  173. package/dist/{cto-delegation-gate-NVMRONA2.js → cto-delegation-gate-26BD7NEE.js} +19 -12
  174. package/dist/{daemon-orchestration-JI3RD5EZ.js → daemon-orchestration-IBP6PWEG.js} +31 -16
  175. package/dist/{db-backup-ITRADB2J.js → db-backup-XLID57KW.js} +1 -1
  176. package/dist/{doc-graph-extractor-L7YESUSI.js → doc-graph-extractor-VBZ6XTTE.js} +2 -2
  177. package/dist/{documents-7BFXA6V3.js → documents-C5LYSJT3.js} +10 -10
  178. package/dist/{dreaming-NRTMPNPZ.js → dreaming-LMVDIC5C.js} +20 -13
  179. package/dist/{exe-drift-GLJIM7EI.js → exe-drift-T3K6WA47.js} +3 -3
  180. package/dist/{exe-export-THIAYHXK.js → exe-export-QCTASWXI.js} +7 -7
  181. package/dist/{exe-import-3Y4VOUYL.js → exe-import-WNP5A7VA.js} +7 -7
  182. package/dist/{exe-key-IPGY4RMU.js → exe-key-JM3JXE2E.js} +78 -75
  183. package/dist/{exe-snapshot-2ZEWCDYK.js → exe-snapshot-ODDJUEM5.js} +23 -16
  184. package/dist/{fast-db-init-TLYUWCDE.js → fast-db-init-O6A3TK3F.js} +1 -1
  185. package/dist/{founder-context-J362DNU4.js → founder-context-FYTF4IMD.js} +2 -2
  186. package/dist/gateway/index.js +9 -9
  187. package/dist/{git-staleness-BRDHTHNS.js → git-staleness-YA5J6VYJ.js} +2 -2
  188. package/dist/{global-procedures-FNUKY2LF.js → global-procedures-76NDWTYN.js} +4 -4
  189. package/dist/{graph-auto-extract-AJZUV3PO.js → graph-auto-extract-I7QL2TY5.js} +2 -2
  190. package/dist/hooks/bug-report-worker.js +22 -15
  191. package/dist/hooks/codex-stop-task-finalizer.js +22 -15
  192. package/dist/hooks/commit-complete.js +22 -15
  193. package/dist/hooks/error-recall.js +6 -6
  194. package/dist/hooks/exe-heartbeat-hook.js +3 -3
  195. package/dist/hooks/ingest-worker.js +6 -6
  196. package/dist/hooks/ingest.js +6 -6
  197. package/dist/hooks/instructions-loaded.js +4 -4
  198. package/dist/hooks/manifest.json +20 -20
  199. package/dist/hooks/notification.js +4 -4
  200. package/dist/hooks/post-compact.js +21 -14
  201. package/dist/hooks/post-tool-combined.js +8 -8
  202. package/dist/hooks/pre-compact.js +22 -21
  203. package/dist/hooks/pre-tool-use.js +29 -19
  204. package/dist/hooks/prompt-submit.js +89 -72
  205. package/dist/hooks/session-end.js +27 -26
  206. package/dist/hooks/session-start.js +13 -13
  207. package/dist/hooks/stop.js +28 -21
  208. package/dist/hooks/subagent-stop.js +24 -41
  209. package/dist/hooks/summary-worker.js +27 -25
  210. package/dist/index.js +30 -23
  211. package/dist/{installer-SC7CQBYY.js → installer-3EYHBKWB.js} +5 -5
  212. package/dist/{installer-UEF44TWQ.js → installer-3VZMDDMJ.js} +5 -5
  213. package/dist/{installer-2EKTDQZB.js → installer-GYABVCB7.js} +5 -5
  214. package/dist/intercom-queue-ZCNT4LYU.js +53 -0
  215. package/dist/lib/agent-config.js +7 -1
  216. package/dist/lib/cloud-sync.js +16 -14
  217. package/dist/lib/consolidation.js +5 -5
  218. package/dist/lib/database.js +10 -2
  219. package/dist/lib/db-daemon-client.js +3 -3
  220. package/dist/lib/db.js +10 -2
  221. package/dist/lib/device-registry.js +1 -1
  222. package/dist/lib/embed-worker.js +28 -0
  223. package/dist/lib/embedder.js +3 -3
  224. package/dist/lib/employee-templates.js +5 -5
  225. package/dist/lib/employees.js +2 -2
  226. package/dist/lib/exe-daemon-client.js +2 -2
  227. package/dist/lib/exe-daemon.js +393 -140
  228. package/dist/lib/hybrid-search.js +5 -5
  229. package/dist/lib/identity.js +2 -2
  230. package/dist/lib/license.js +2 -2
  231. package/dist/lib/messaging.js +20 -13
  232. package/dist/lib/registry-proxy.js +1 -1
  233. package/dist/lib/reminders.js +3 -3
  234. package/dist/lib/schedules.js +5 -5
  235. package/dist/lib/session-registry.js +6 -4
  236. package/dist/lib/skill-learning.js +6 -6
  237. package/dist/lib/store.js +4 -4
  238. package/dist/lib/task-router.js +3 -3
  239. package/dist/lib/tasks.js +21 -14
  240. package/dist/lib/tmux-routing.js +29 -12
  241. package/dist/lib/token-spend.js +3 -3
  242. package/dist/{license-gate-YUUSIPJ7.js → license-gate-73XGUIVP.js} +3 -3
  243. package/dist/{license-sync-LX73IEBH.js → license-sync-CG5YRUVH.js} +2 -2
  244. package/dist/mcp/register-tools.js +75 -72
  245. package/dist/mcp/server.js +96 -130
  246. package/dist/mcp/tools/complete-reminder.js +4 -4
  247. package/dist/mcp/tools/create-reminder.js +4 -4
  248. package/dist/mcp/tools/create-task.js +37 -18
  249. package/dist/mcp/tools/deactivate-behavior.js +7 -7
  250. package/dist/mcp/tools/list-reminders.js +4 -4
  251. package/dist/mcp/tools/list-tasks.js +23 -16
  252. package/dist/mcp/tools/send-message.js +22 -15
  253. package/dist/mcp/tools/update-task.js +22 -15
  254. package/dist/{mcp-http-config-MBG5AQNH.js → mcp-http-config-TT7PXZLX.js} +3 -3
  255. package/dist/{memory-cards-MGZ4P3AA.js → memory-cards-6NGUDUDN.js} +4 -4
  256. package/dist/{memory-graph-extractor-44P2ATID.js → memory-graph-extractor-FIMS3VQR.js} +3 -3
  257. package/dist/{memory-poisoning-defense-3CYFKNLA.js → memory-poisoning-defense-M3LOQ3XU.js} +2 -2
  258. package/dist/{memory-pressure-watchdog-6PFLEOUO.js → memory-pressure-watchdog-45GABDWH.js} +20 -13
  259. package/dist/{memory-queue-client-BZD6MXA5.js → memory-queue-client-BDYKFNB4.js} +3 -3
  260. package/dist/{memory-reflection-AYPJRPU7.js → memory-reflection-LANCFYK2.js} +7 -9
  261. package/dist/{notifications-BBQ23ORD.js → notifications-N5NKUYAU.js} +19 -12
  262. package/dist/{orchestration-events-O5P5NEKS.js → orchestration-events-KVNRNIPR.js} +3 -3
  263. package/dist/{orchestrator-SERM6FDY.js → orchestrator-VTF5BR26.js} +21 -14
  264. package/dist/{pipeline-router-T673WGL3.js → pipeline-router-KQAYWDPH.js} +3 -3
  265. package/dist/{plan-limits-QWBN2EKH.js → plan-limits-EUZI4X5W.js} +5 -5
  266. package/dist/{projection-worker-K6TILAZH.js → projection-worker-FG6G226D.js} +12 -2
  267. package/dist/{prospective-memory-XRNRMEDL.js → prospective-memory-FVDNUSIL.js} +2 -2
  268. package/dist/{reranker-3XC5UM4F.js → reranker-54Q3L32E.js} +1 -1
  269. package/dist/{retrieval-health-ULVVOIPL.js → retrieval-health-YJ7CXYVD.js} +1 -1
  270. package/dist/{review-polling-5YGDPJUX.js → review-polling-TKXYSXH6.js} +20 -13
  271. package/dist/runtime/index.js +23 -16
  272. package/dist/{session-events-D52HNUJK.js → session-events-WQHTP65R.js} +20 -13
  273. package/dist/{session-kill-telemetry-IBNCJSI7.js → session-kill-telemetry-2HSE7IGH.js} +20 -13
  274. package/dist/{session-scope-5FWZ4AYR.js → session-scope-RBKAC75W.js} +19 -12
  275. package/dist/{setup-wizard-KVTLSSRD.js → setup-wizard-AA6ZV57H.js} +1 -1
  276. package/dist/signal-paths-4G53QTII.js +11 -0
  277. package/dist/skill-refinement-QI35LMTZ.js +20 -0
  278. package/dist/{stack-update-OWWGTYRB.js → stack-update-BE6PX4AG.js} +9 -3
  279. package/dist/{steward-gate-3ZITRYVH.js → steward-gate-2XD5BXH6.js} +3 -3
  280. package/dist/{support-outbox-QPQQK7F7.js → support-outbox-MGUVVGHT.js} +96 -44
  281. package/dist/sweep-budget-WB2FKPYN.js +64 -0
  282. package/dist/{task-enforcement-L4YTDOOX.js → task-enforcement-DMOCBRLB.js} +191 -17
  283. package/dist/{task-scope-OIHLMQOQ.js → task-scope-ULBNFBFH.js} +25 -12
  284. package/dist/{tasks-crud-QUIIRWE3.js → tasks-crud-6SJOKES5.js} +25 -12
  285. package/dist/{tasks-notify-ANYLB5GU.js → tasks-notify-TESRABUM.js} +20 -13
  286. package/dist/{tasks-review-BWSCXFMB.js → tasks-review-INDAGLWJ.js} +27 -14
  287. package/dist/{telemetry-upload-XLDBCD7B.js → telemetry-upload-6XB3Q3IH.js} +7 -7
  288. package/dist/{token-budget-OQCLPV3A.js → token-budget-NOF27AZC.js} +3 -3
  289. package/dist/{tool-capability-index-3UWKZZED.js → tool-capability-index-EFBBPTBI.js} +1 -1
  290. package/dist/{tool-telemetry-AQTFWOWG.js → tool-telemetry-OEK6KQFF.js} +1 -1
  291. package/dist/tui/App.js +28 -21
  292. package/dist/{tui-data-3Y5L5LJB.js → tui-data-EG6LEZFF.js} +19 -12
  293. package/dist/{worker-gate-WJS2MFNA.js → worker-gate-YA35VMAN.js} +1 -1
  294. package/dist/{workflow-engine-EPPZ226V.js → workflow-engine-3AVKRE5I.js} +2 -2
  295. package/dist/{worktree-OYGDGJP7.js → worktree-72QYYL5L.js} +4 -4
  296. package/dist/{worktree-sweep-KV4H4766.js → worktree-sweep-GDISKGQ2.js} +5 -5
  297. package/package.json +1 -1
  298. package/release-notes.json +45 -45
  299. package/dist/chunk-4FVVJ7ME.js +0 -193
  300. package/dist/completion-nudge-dedup-DBZF24MM.js +0 -74
  301. package/dist/git-task-sweep-7GVUKDBW.js +0 -47
  302. package/dist/intercom-queue-6M5IRX3Y.js +0 -17
  303. /package/dist/{chunk-QTEHH4LG.js → chunk-24WPWCD6.js} +0 -0
  304. /package/dist/{chunk-IZY6V4FI.js → chunk-4O3N7I5Z.js} +0 -0
  305. /package/dist/{chunk-WXRVHXVP.js → chunk-7577GDDG.js} +0 -0
  306. /package/dist/{chunk-Q5YKWFVO.js → chunk-EWKZKO7F.js} +0 -0
  307. /package/dist/{chunk-DY3J6GQO.js → chunk-H43BPGIV.js} +0 -0
  308. /package/dist/{chunk-DQJ3WZRK.js → chunk-IHRXCNSC.js} +0 -0
  309. /package/dist/{chunk-RRQI5PSJ.js → chunk-NIB2N6L2.js} +0 -0
  310. /package/dist/{chunk-ZU6767WK.js → chunk-QMUSJESS.js} +0 -0
  311. /package/dist/{chunk-72LWCZTJ.js → chunk-RXS2LBKE.js} +0 -0
  312. /package/dist/{chunk-SJZT66LM.js → chunk-SNFYZFXY.js} +0 -0
  313. /package/dist/{chunk-SIJSFULW.js → chunk-TSYMWC53.js} +0 -0
  314. /package/dist/{core-memory-DARTILJG.js → core-memory-NKKP2XUB.js} +0 -0
  315. /package/dist/{entity-boost-VR5YOQCT.js → entity-boost-DRIUFTYB.js} +0 -0
  316. /package/dist/{message-queue-client-HVFR67QH.js → message-queue-client-4ERC7HLX.js} +0 -0
  317. /package/dist/{oauth-server-UQHCFVHT.js → oauth-server-PECJREY2.js} +0 -0
  318. /package/dist/{project-boot-22ZZL2GE.js → project-boot-SFKP2MFW.js} +0 -0
  319. /package/dist/{wiki-acl-EZMGL6KW.js → wiki-acl-QIBDNXSM.js} +0 -0
package/dist/bin/cli.js CHANGED
@@ -106,7 +106,7 @@ if (args.includes("--global")) {
106
106
  );
107
107
  await runClaudeInstall();
108
108
  } else if (args.includes("--commands-only")) {
109
- const { copySlashCommands, resolvePackageRoot } = await import("../installer-SC7CQBYY.js");
109
+ const { copySlashCommands, resolvePackageRoot } = await import("../installer-3EYHBKWB.js");
110
110
  try {
111
111
  const packageRoot = resolvePackageRoot();
112
112
  const result = await copySlashCommands(packageRoot);
@@ -195,7 +195,7 @@ if (args.includes("--global")) {
195
195
  process.exit(1);
196
196
  }
197
197
  } else if (args[0] === "key") {
198
- const { main: runKey } = await import("../exe-key-IPGY4RMU.js");
198
+ const { main: runKey } = await import("../exe-key-JM3JXE2E.js");
199
199
  await runKey(args.slice(1));
200
200
  } else if (args[0] === "link") {
201
201
  console.error("`exe-os link` has been removed from the customer command surface.");
@@ -247,7 +247,7 @@ if (args.includes("--global")) {
247
247
  process.exit(1);
248
248
  }
249
249
  } else if (args[0] === "backfill-metadata") {
250
- const { backfillMetadata } = await import("../backfill-metadata-CXWFCTBO.js");
250
+ const { backfillMetadata } = await import("../backfill-metadata-W3PRQPVV.js");
251
251
  let batchSize = 50;
252
252
  let limit = 0;
253
253
  let dryRun = false;
@@ -278,10 +278,10 @@ if (args.includes("--global")) {
278
278
  process.exit(1);
279
279
  }
280
280
  } else if (args[0] === "export") {
281
- const { runExeExport } = await import("../exe-export-THIAYHXK.js");
281
+ const { runExeExport } = await import("../exe-export-QCTASWXI.js");
282
282
  await runExeExport(args.slice(1));
283
283
  } else if (args[0] === "import") {
284
- const { runExeImport } = await import("../exe-import-3Y4VOUYL.js");
284
+ const { runExeImport } = await import("../exe-import-WNP5A7VA.js");
285
285
  await runExeImport(args.slice(1));
286
286
  } else if (args[0] === "import-history") {
287
287
  const { runImportHistory } = await import("./import-history.js");
@@ -306,7 +306,7 @@ if (args.includes("--global")) {
306
306
  const { initStore } = await import("../lib/store.js");
307
307
  await initStore();
308
308
  const { sendMessage } = await import("../lib/messaging.js");
309
- const { getActiveAgent } = await import("../active-agent-SHM4QSRJ.js");
309
+ const { getActiveAgent } = await import("../active-agent-IUVRZOSF.js");
310
310
  const { agentId } = getActiveAgent();
311
311
  const result = await sendMessage({
312
312
  fromAgent: agentId,
@@ -325,23 +325,12 @@ ID: ${result.id}`);
325
325
  } else if (args[0] === "license") {
326
326
  await runLicense(args.slice(1));
327
327
  } else if (args[0] === "healthcheck") {
328
- const { runHealthCheck } = await import("./exe-healthcheck.js");
329
- const { results, passed, failed } = runHealthCheck();
330
- console.log("\n exe-os Health Check\n");
331
- for (const r of results) {
332
- const icon = r.pass ? "\x1B[32m\u2713\x1B[0m" : "\x1B[31m\u2717\x1B[0m";
333
- console.log(` ${icon} ${r.name}`);
334
- console.log(` ${r.detail}`);
335
- }
336
- console.log(failed === 0 ? `
337
- \x1B[32m${passed} passed\x1B[0m
338
- ` : `
339
- \x1B[32m${passed} passed\x1B[0m, \x1B[31m${failed} failed\x1B[0m
340
- `);
341
- process.exit(failed > 0 ? 1 : 0);
328
+ const { runHealthCheckWithDeadline } = await import("./exe-healthcheck.js");
329
+ const { code } = runHealthCheckWithDeadline();
330
+ process.exit(code);
342
331
  } else if (args[0] === "doctor") {
343
332
  if (args.includes("--drift")) {
344
- const { runDrift } = await import("../exe-drift-GLJIM7EI.js");
333
+ const { runDrift } = await import("../exe-drift-T3K6WA47.js");
345
334
  await runDrift(args.slice(1));
346
335
  } else {
347
336
  const { runCcDoctor } = await import("./cc-doctor.js");
@@ -358,7 +347,7 @@ ID: ${result.id}`);
358
347
  }
359
348
  } else if (args[0] === "backup") {
360
349
  const sub = args[1];
361
- const { listBackups, createBackup, restoreBackup } = await import("../db-backup-ITRADB2J.js");
350
+ const { listBackups, createBackup, restoreBackup } = await import("../db-backup-XLID57KW.js");
362
351
  if (sub === "list" || !sub) {
363
352
  const backups = listBackups();
364
353
  if (backups.length === 0) {
@@ -413,7 +402,7 @@ ID: ${result.id}`);
413
402
  process.exit(1);
414
403
  }
415
404
  } else if (args[0] === "setup" || args[0] === "-setup" || args[0] === "--setup") {
416
- const { runSetupWizard } = await import("../setup-wizard-KVTLSSRD.js");
405
+ const { runSetupWizard } = await import("../setup-wizard-AA6ZV57H.js");
417
406
  await runSetupWizard({
418
407
  skipModel: args.includes("--skip-model"),
419
408
  nonInteractive: args.includes("--non-interactive") || args.includes("-y") || args.includes("--yes"),
@@ -466,10 +455,10 @@ Post-deploy verification \u2014 8 runtime checks after stack-update.
466
455
  `);
467
456
  process.exit(report.failed > 0 ? 1 : 0);
468
457
  } else if (args[0] === "snapshot") {
469
- const { main: runSnapshot } = await import("../exe-snapshot-2ZEWCDYK.js");
458
+ const { main: runSnapshot } = await import("../exe-snapshot-ODDJUEM5.js");
470
459
  await runSnapshot(args.slice(1));
471
460
  } else if (args[0] === "boot") {
472
- const { projectBoot, parseBootArgs } = await import("../project-boot-22ZZL2GE.js");
461
+ const { projectBoot, parseBootArgs } = await import("../project-boot-SFKP2MFW.js");
473
462
  const bootOpts = parseBootArgs(args.slice(1));
474
463
  console.log(await projectBoot(bootOpts));
475
464
  } else if (args[0] === "brand") {
@@ -583,7 +572,7 @@ cd into a project folder and run \x1B[1m${cooName}1\x1B[0m to boot your COO.
583
572
  }
584
573
  }
585
574
  async function runCodeContext(ccArgs) {
586
- const { buildCodeContextIndex, getCodeContextStats, searchCodeContext } = await import("../code-context-index-6YQ3DGCN.js");
575
+ const { buildCodeContextIndex, getCodeContextStats, searchCodeContext } = await import("../code-context-index-2PUBBQOE.js");
587
576
  const sub = ccArgs[0] ?? "status";
588
577
  const projectRoot = valueAfter(ccArgs, "--project-root") ?? process.cwd();
589
578
  if (sub === "init" || sub === "index") {
@@ -659,7 +648,7 @@ function numberAfter(args2, flag) {
659
648
  return Number.isFinite(parsed) ? parsed : void 0;
660
649
  }
661
650
  async function runClaudeInstall() {
662
- const { runInstaller } = await import("../installer-SC7CQBYY.js");
651
+ const { runInstaller } = await import("../installer-3EYHBKWB.js");
663
652
  try {
664
653
  await runInstaller();
665
654
  } catch (err) {
@@ -671,7 +660,7 @@ async function runClaudeInstall() {
671
660
  }
672
661
  }
673
662
  async function runOpenCodeInstall() {
674
- const { runOpenCodeInstaller } = await import("../installer-2EKTDQZB.js");
663
+ const { runOpenCodeInstaller } = await import("../installer-GYABVCB7.js");
675
664
  try {
676
665
  await runOpenCodeInstaller();
677
666
  } catch (err) {
@@ -683,7 +672,7 @@ async function runOpenCodeInstall() {
683
672
  }
684
673
  }
685
674
  async function runCodexInstall() {
686
- const { runCodexInstaller } = await import("../installer-UEF44TWQ.js");
675
+ const { runCodexInstaller } = await import("../installer-3VZMDDMJ.js");
687
676
  try {
688
677
  await runCodexInstaller();
689
678
  } catch (err) {
@@ -695,7 +684,7 @@ async function runCodexInstall() {
695
684
  }
696
685
  }
697
686
  async function runClaudeCheck() {
698
- const { detectMcpNameCollisions } = await import("../installer-SC7CQBYY.js");
687
+ const { detectMcpNameCollisions } = await import("../installer-3EYHBKWB.js");
699
688
  const claudeDir = path.join(os.homedir(), ".claude");
700
689
  const settingsPath = path.join(claudeDir, "settings.json");
701
690
  const claudeJsonPath = path.join(os.homedir(), ".claude.json");
@@ -1200,6 +1189,13 @@ async function runCloudSync() {
1200
1189
  const { cloudSync } = await import("../lib/cloud-sync.js");
1201
1190
  const { getMasterKey } = await import("../lib/keychain.js");
1202
1191
  const { initSyncCrypto } = await import("../lib/crypto.js");
1192
+ const { assertCloudSyncReachable, withTimeout } = await import("./exe-cloud.js");
1193
+ try {
1194
+ await assertCloudSyncReachable(config.cloud.endpoint);
1195
+ } catch (err) {
1196
+ console.error(`Cloud sync aborted: ${err instanceof Error ? err.message : String(err)}`);
1197
+ process.exit(1);
1198
+ }
1203
1199
  await initStore();
1204
1200
  const masterKey = await getMasterKey();
1205
1201
  if (masterKey) {
@@ -1211,7 +1207,8 @@ async function runCloudSync() {
1211
1207
  }
1212
1208
  console.log("Syncing with Exe Cloud now... (Normally this runs automatically in the background.)");
1213
1209
  try {
1214
- const result = await cloudSync(config.cloud);
1210
+ const syncTimeoutMs = Number(process.env.EXE_CLOUD_SYNC_TIMEOUT_MS ?? 6e5);
1211
+ const result = await withTimeout(cloudSync(config.cloud), syncTimeoutMs, "Cloud sync");
1215
1212
  console.log("");
1216
1213
  console.log(` Active memories: ${result.totalMemories} (\u2191 ${result.pushed} syncable rows pushed, \u2193 ${result.pulled} pulled)`);
1217
1214
  console.log(` Behaviors: ${result.behaviors.pushed} total (\u2193 ${result.behaviors.pulled} pulled)`);
@@ -99,6 +99,7 @@ test("No unscoped task queries \u2014 all task queries have session scope or PK
99
99
  const blockLower = block.toLowerCase();
100
100
  const hasScope = blockLower.includes("scope.sql") || blockLower.includes("sessionscopefilter") || blockLower.includes("strictsessionscopefilter") || blockLower.includes("session_scope") || blockLower.includes("intentionally unscoped") || blockLower.includes("audited 2026") || blockLower.includes("querytaskrows");
101
101
  const isSafe = hasScope || /where\s+id\s*=\s*\?/.test(blockLower) || // PK lookup by full UUID
102
+ /where\s+id\s+in\s*\(\s*(\?|\$\{)/.test(blockLower) || // PK lookup by explicit id list (bulk update by ids, e.g. closeReviewRows) — strongest scope, not a subquery
102
103
  /where\s+task_file\s*=\s*\?/.test(blockLower) || // task_file exact match
103
104
  /select\s+count\s*\(\s*\*\s*\)/.test(blockLower) || // COUNT(*) stats
104
105
  /assigned_to\s*=\s*\?.*where\s+id/.test(blockLower) || // UPDATE by PK
@@ -1,128 +1,131 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  computeMcpSurfaceHash
4
- } from "../chunk-SQ5JWDJ2.js";
4
+ } from "../chunk-AEFZEJKW.js";
5
5
  import "../chunk-WCGNCH3Q.js";
6
- import "../chunk-GN3IWZDH.js";
6
+ import "../chunk-KWWHRJGG.js";
7
7
  import "../chunk-557C2IGL.js";
8
- import "../chunk-KXP3CUTL.js";
9
- import "../chunk-6N4LYEDI.js";
10
- import "../chunk-QNUHDEPI.js";
11
- import "../chunk-OI63OVCR.js";
12
- import "../chunk-7CUF27OT.js";
13
- import "../chunk-NAHAOFTY.js";
14
- import "../chunk-RRQI5PSJ.js";
8
+ import "../chunk-MCEXBLLK.js";
9
+ import "../chunk-CSPHV5DJ.js";
10
+ import "../chunk-POOMY3CS.js";
11
+ import "../chunk-C7B44DJI.js";
12
+ import "../chunk-MKIFYIXC.js";
13
+ import "../chunk-WGHTISNK.js";
14
+ import "../chunk-NIB2N6L2.js";
15
15
  import "../chunk-CRCB5S7I.js";
16
- import "../chunk-AZL3EUR3.js";
17
- import "../chunk-JXEMAB4M.js";
16
+ import "../chunk-KK67DSCO.js";
17
+ import "../chunk-UAIMI7CK.js";
18
18
  import "../chunk-PVYR4FCQ.js";
19
- import "../chunk-Q5YKWFVO.js";
20
- import "../chunk-SJZT66LM.js";
19
+ import "../chunk-EWKZKO7F.js";
20
+ import "../chunk-SNFYZFXY.js";
21
21
  import "../chunk-E6ORBQHP.js";
22
- import "../chunk-6XM6PZXQ.js";
22
+ import "../chunk-SPO2RLOB.js";
23
23
  import "../chunk-32SXNM3G.js";
24
- import "../chunk-HIOO7DZ2.js";
25
- import "../chunk-XP53WEXP.js";
26
- import "../chunk-NYFPFOYM.js";
27
- import "../chunk-6SXJZHRJ.js";
28
- import "../chunk-WFHYAKEU.js";
29
- import "../chunk-E32KARET.js";
30
- import "../chunk-EVUXF2G4.js";
31
- import "../chunk-WCCR5IFR.js";
32
- import "../chunk-6IBUQBMY.js";
24
+ import "../chunk-QQFZ32WS.js";
25
+ import "../chunk-TGVKQ3QB.js";
26
+ import "../chunk-2NY7LZT7.js";
27
+ import "../chunk-TA3A4UQL.js";
28
+ import "../chunk-6XAAJ5OV.js";
29
+ import "../chunk-376J36IW.js";
30
+ import "../chunk-W5GBB23I.js";
31
+ import "../chunk-FPTBCPI3.js";
32
+ import "../chunk-UXYQLOFW.js";
33
33
  import "../chunk-HMP5VT6A.js";
34
- import "../chunk-DGFIXJ4S.js";
35
- import "../chunk-G5TP2D2U.js";
36
- import "../chunk-LB77CSLO.js";
37
- import "../chunk-F5FAD2YR.js";
38
- import "../chunk-6UQRJCKK.js";
39
- import "../chunk-WSYKLS2Y.js";
40
- import "../chunk-VSXGFHJY.js";
34
+ import "../chunk-2QD5M47V.js";
35
+ import "../chunk-EWDTTTZP.js";
36
+ import "../chunk-2ZW4AQ24.js";
37
+ import "../chunk-WGOAILWE.js";
38
+ import "../chunk-NBDTQVWU.js";
39
+ import "../chunk-BDJQWBWF.js";
40
+ import "../chunk-5VT45EV6.js";
41
41
  import "../chunk-3OEVDGIY.js";
42
- import "../chunk-SENJA7BZ.js";
43
- import "../chunk-HKSJSW2V.js";
42
+ import "../chunk-QDI77B3E.js";
43
+ import "../chunk-2E2NKFXK.js";
44
44
  import "../chunk-X2FHTDIU.js";
45
45
  import "../chunk-SSC7EKY2.js";
46
- import "../chunk-OFR7KQ37.js";
46
+ import "../chunk-HAYDXMW6.js";
47
47
  import "../chunk-75H4R62K.js";
48
- import "../chunk-ROMB2HH4.js";
49
- import "../chunk-QTEHH4LG.js";
48
+ import "../chunk-T3XHH5FE.js";
49
+ import "../chunk-24WPWCD6.js";
50
50
  import "../chunk-KQ4Z2G24.js";
51
51
  import "../chunk-L3TB7CC3.js";
52
- import "../chunk-V2ESQU3S.js";
52
+ import "../chunk-HBKYKN3S.js";
53
53
  import "../chunk-MMRUBN3I.js";
54
54
  import "../chunk-2XZ6X3PJ.js";
55
- import "../chunk-LOE2N23P.js";
56
- import "../chunk-ORC5AO7E.js";
57
- import "../chunk-DDKDN4HV.js";
58
- import "../chunk-LCZ55G5G.js";
59
- import "../chunk-72LWCZTJ.js";
55
+ import "../chunk-WJICX53Z.js";
56
+ import "../chunk-YBHOWK3L.js";
57
+ import "../chunk-A47MXY2I.js";
58
+ import "../chunk-HZ5J2GFE.js";
59
+ import "../chunk-RXS2LBKE.js";
60
60
  import "../chunk-X2Z5GT3V.js";
61
- import "../chunk-TI6YX3L5.js";
62
- import "../chunk-FANIBYUO.js";
63
- import "../chunk-XC7C3GQ2.js";
61
+ import "../chunk-F2RK5YWB.js";
62
+ import "../chunk-WF3J6GJZ.js";
63
+ import "../chunk-TNS6U2K7.js";
64
64
  import "../chunk-7UMCQQWS.js";
65
65
  import "../chunk-Z6BZQHP5.js";
66
66
  import "../chunk-GUMRIUI5.js";
67
67
  import "../chunk-PROQW3NL.js";
68
68
  import "../chunk-LO6L5ADL.js";
69
- import "../chunk-2GBGIXKH.js";
70
- import "../chunk-CHSRSESS.js";
71
- import "../chunk-CWQAXO3O.js";
69
+ import "../chunk-PV7IG4V6.js";
70
+ import "../chunk-ZRZ2Z6RZ.js";
71
+ import "../chunk-5RACW3LX.js";
72
72
  import "../chunk-QGGH7LOU.js";
73
- import "../chunk-7SDS5VCL.js";
74
- import "../chunk-BFHBHQFA.js";
75
- import "../chunk-ZU6767WK.js";
76
- import "../chunk-TKBWBHFV.js";
77
- import "../chunk-3JW3ZXCP.js";
78
- import {
79
- requestDeployRestart
80
- } from "../chunk-AFNRE2RV.js";
81
- import "../chunk-3NGZ4PL7.js";
82
- import {
83
- computeDaemonHeapCapMb
84
- } from "../chunk-CMDC5D7S.js";
85
- import "../chunk-4Z47UMMM.js";
73
+ import "../chunk-ZDNJ3TSB.js";
74
+ import "../chunk-MWIX3YKA.js";
75
+ import "../chunk-QMUSJESS.js";
76
+ import "../chunk-6FWMLTF2.js";
77
+ import "../chunk-7M6TXYRQ.js";
86
78
  import "../chunk-AB4PAQYK.js";
87
- import "../chunk-H2SD2EA7.js";
79
+ import "../chunk-KLDQFOFY.js";
88
80
  import "../chunk-CHCA3ZM2.js";
89
81
  import "../chunk-OTVEIJUQ.js";
90
- import "../chunk-SIJSFULW.js";
91
- import "../chunk-EOPSIIEH.js";
82
+ import "../chunk-TSYMWC53.js";
83
+ import "../chunk-ID3V4BWS.js";
92
84
  import "../chunk-Y25OJWOQ.js";
93
- import "../chunk-PLBDXCYZ.js";
94
- import "../chunk-HWC5W34K.js";
95
- import "../chunk-KLG53B63.js";
96
- import "../chunk-4FVVJ7ME.js";
85
+ import "../chunk-KUJGADX6.js";
86
+ import "../chunk-7PLMYXPG.js";
87
+ import "../chunk-KJOQLNX2.js";
88
+ import "../chunk-Y2KBHLEO.js";
89
+ import "../chunk-EIKATSE4.js";
97
90
  import "../chunk-E23LNUWJ.js";
98
91
  import "../chunk-4JERP7NT.js";
99
- import "../chunk-ABGDTMKC.js";
92
+ import "../chunk-JRD7ARQ6.js";
100
93
  import "../chunk-SSTLTIF3.js";
101
94
  import "../chunk-RMOBQ6A5.js";
102
95
  import "../chunk-54QCG45Y.js";
103
- import "../chunk-HV5CUDOE.js";
104
- import "../chunk-QVFJCFNM.js";
96
+ import "../chunk-F6TJIWN5.js";
97
+ import "../chunk-FROUDYRT.js";
105
98
  import "../chunk-NGP6LSV2.js";
106
- import "../chunk-EPBB2OD3.js";
99
+ import "../chunk-BB5IKY7B.js";
107
100
  import "../chunk-CVYC6DUW.js";
101
+ import "../chunk-GIFDGNIL.js";
102
+ import "../chunk-HCJCW7X4.js";
108
103
  import "../chunk-OPU3NYOO.js";
104
+ import "../chunk-BC7IIR3A.js";
105
+ import {
106
+ requestDeployRestart
107
+ } from "../chunk-AFNRE2RV.js";
108
+ import "../chunk-3NGZ4PL7.js";
109
+ import {
110
+ computeDaemonHeapCapMb
111
+ } from "../chunk-NLEW62VC.js";
109
112
  import "../chunk-HYZV25LY.js";
110
113
  import "../chunk-GJV3WDWM.js";
111
114
  import "../chunk-YGAAZN3E.js";
112
- import "../chunk-IZY6V4FI.js";
113
- import "../chunk-ONKIWA3R.js";
115
+ import "../chunk-4O3N7I5Z.js";
116
+ import "../chunk-ML4S5SHZ.js";
114
117
  import "../chunk-MP2AFCGL.js";
115
- import "../chunk-XLNF3CIO.js";
118
+ import "../chunk-QGOMYIVT.js";
116
119
  import "../chunk-2I23RPSI.js";
117
- import "../chunk-WXRVHXVP.js";
120
+ import "../chunk-7577GDDG.js";
118
121
  import "../chunk-PNQDP3OA.js";
119
122
  import "../chunk-H73TUI4Y.js";
120
123
  import "../chunk-7HLWBYH7.js";
121
124
  import "../chunk-FXU7JOXK.js";
122
125
  import "../chunk-Z42MXYWW.js";
123
126
  import "../chunk-XQNNB5GY.js";
124
- import "../chunk-VY7345RO.js";
125
- import "../chunk-DQJ3WZRK.js";
127
+ import "../chunk-BMSAJ2IH.js";
128
+ import "../chunk-IHRXCNSC.js";
126
129
  import "../chunk-7Y5UDEVM.js";
127
130
  import "../chunk-SHIICYJW.js";
128
131
  import "../chunk-6Y4B3QF6.js";
@@ -6,15 +6,15 @@ import {
6
6
  getAgentRuntime,
7
7
  loadAgentConfig,
8
8
  setAgentRuntime
9
- } from "../chunk-QVFJCFNM.js";
9
+ } from "../chunk-FROUDYRT.js";
10
10
  import {
11
11
  DEFAULT_RUNTIME
12
12
  } from "../chunk-NGP6LSV2.js";
13
13
  import {
14
14
  loadEmployeesSync
15
- } from "../chunk-XLNF3CIO.js";
15
+ } from "../chunk-QGOMYIVT.js";
16
16
  import "../chunk-2I23RPSI.js";
17
- import "../chunk-WXRVHXVP.js";
17
+ import "../chunk-7577GDDG.js";
18
18
  import "../chunk-PNQDP3OA.js";
19
19
  import "../chunk-H73TUI4Y.js";
20
20
  import "../chunk-7HLWBYH7.js";
@@ -45,12 +45,12 @@ import {
45
45
  } from "../chunk-ECGTESAP.js";
46
46
  import {
47
47
  getSessionPrompt
48
- } from "../chunk-LOE2N23P.js";
49
- import "../chunk-ORC5AO7E.js";
50
- import "../chunk-DDKDN4HV.js";
51
- import "../chunk-XLNF3CIO.js";
48
+ } from "../chunk-WJICX53Z.js";
49
+ import "../chunk-YBHOWK3L.js";
50
+ import "../chunk-A47MXY2I.js";
51
+ import "../chunk-QGOMYIVT.js";
52
52
  import "../chunk-2I23RPSI.js";
53
- import "../chunk-WXRVHXVP.js";
53
+ import "../chunk-7577GDDG.js";
54
54
  import "../chunk-PNQDP3OA.js";
55
55
  import "../chunk-H73TUI4Y.js";
56
56
  import "../chunk-7HLWBYH7.js";
@@ -3,31 +3,31 @@ import {
3
3
  createAssignmentMemory,
4
4
  formatAssignmentOutput,
5
5
  routeTask
6
- } from "../chunk-QQOH3I4A.js";
6
+ } from "../chunk-VDUHWQFA.js";
7
7
  import {
8
8
  embed
9
- } from "../chunk-CHSRSESS.js";
10
- import "../chunk-3JW3ZXCP.js";
11
- import "../chunk-AFNRE2RV.js";
12
- import "../chunk-3NGZ4PL7.js";
13
- import "../chunk-CMDC5D7S.js";
9
+ } from "../chunk-ZRZ2Z6RZ.js";
14
10
  import {
15
11
  flushBatch,
16
12
  initStore,
17
13
  searchMemories,
18
14
  writeMemory
19
- } from "../chunk-H2SD2EA7.js";
15
+ } from "../chunk-KLDQFOFY.js";
20
16
  import "../chunk-CHCA3ZM2.js";
21
17
  import "../chunk-OTVEIJUQ.js";
22
- import "../chunk-SIJSFULW.js";
18
+ import "../chunk-TSYMWC53.js";
23
19
  import "../chunk-Y25OJWOQ.js";
20
+ import "../chunk-BC7IIR3A.js";
21
+ import "../chunk-AFNRE2RV.js";
22
+ import "../chunk-3NGZ4PL7.js";
23
+ import "../chunk-NLEW62VC.js";
24
24
  import "../chunk-MP2AFCGL.js";
25
25
  import {
26
26
  getEmployee,
27
27
  loadEmployees
28
- } from "../chunk-XLNF3CIO.js";
28
+ } from "../chunk-QGOMYIVT.js";
29
29
  import "../chunk-2I23RPSI.js";
30
- import "../chunk-WXRVHXVP.js";
30
+ import "../chunk-7577GDDG.js";
31
31
  import "../chunk-PNQDP3OA.js";
32
32
  import "../chunk-H73TUI4Y.js";
33
33
  import "../chunk-7HLWBYH7.js";
@@ -5,19 +5,19 @@ import {
5
5
  import {
6
6
  DEFAULT_EXE,
7
7
  getSessionPrompt
8
- } from "../chunk-LOE2N23P.js";
9
- import "../chunk-ORC5AO7E.js";
10
- import "../chunk-DDKDN4HV.js";
8
+ } from "../chunk-WJICX53Z.js";
9
+ import "../chunk-YBHOWK3L.js";
10
+ import "../chunk-A47MXY2I.js";
11
11
  import {
12
12
  initStore
13
- } from "../chunk-H2SD2EA7.js";
13
+ } from "../chunk-KLDQFOFY.js";
14
14
  import "../chunk-CHCA3ZM2.js";
15
15
  import "../chunk-OTVEIJUQ.js";
16
- import "../chunk-SIJSFULW.js";
16
+ import "../chunk-TSYMWC53.js";
17
17
  import {
18
18
  cleanupSessionMarkers,
19
19
  writeActiveAgent
20
- } from "../chunk-EOPSIIEH.js";
20
+ } from "../chunk-ID3V4BWS.js";
21
21
  import "../chunk-Y25OJWOQ.js";
22
22
  import {
23
23
  cleanupOldNotifications,
@@ -29,25 +29,32 @@ import {
29
29
  resolveExeSession,
30
30
  sessionScopeFilter,
31
31
  updateTaskStatus
32
- } from "../chunk-PLBDXCYZ.js";
33
- import "../chunk-HWC5W34K.js";
34
- import "../chunk-KLG53B63.js";
35
- import "../chunk-4FVVJ7ME.js";
32
+ } from "../chunk-KUJGADX6.js";
33
+ import "../chunk-7PLMYXPG.js";
34
+ import "../chunk-KJOQLNX2.js";
35
+ import "../chunk-Y2KBHLEO.js";
36
+ import "../chunk-EIKATSE4.js";
36
37
  import "../chunk-E23LNUWJ.js";
37
38
  import "../chunk-4JERP7NT.js";
38
39
  import {
39
40
  pruneStaleSessions,
40
41
  registerSession
41
- } from "../chunk-ABGDTMKC.js";
42
+ } from "../chunk-JRD7ARQ6.js";
42
43
  import "../chunk-SSTLTIF3.js";
43
44
  import "../chunk-RMOBQ6A5.js";
44
45
  import "../chunk-54QCG45Y.js";
45
- import "../chunk-HV5CUDOE.js";
46
- import "../chunk-QVFJCFNM.js";
46
+ import "../chunk-F6TJIWN5.js";
47
+ import "../chunk-FROUDYRT.js";
47
48
  import "../chunk-NGP6LSV2.js";
48
- import "../chunk-EPBB2OD3.js";
49
+ import "../chunk-BB5IKY7B.js";
49
50
  import "../chunk-CVYC6DUW.js";
51
+ import "../chunk-GIFDGNIL.js";
52
+ import "../chunk-HCJCW7X4.js";
50
53
  import "../chunk-OPU3NYOO.js";
54
+ import "../chunk-BC7IIR3A.js";
55
+ import "../chunk-AFNRE2RV.js";
56
+ import "../chunk-3NGZ4PL7.js";
57
+ import "../chunk-NLEW62VC.js";
51
58
  import "../chunk-HYZV25LY.js";
52
59
  import "../chunk-GJV3WDWM.js";
53
60
  import "../chunk-MP2AFCGL.js";
@@ -58,17 +65,17 @@ import {
58
65
  isCoordinatorName,
59
66
  loadEmployees,
60
67
  saveEmployees
61
- } from "../chunk-XLNF3CIO.js";
68
+ } from "../chunk-QGOMYIVT.js";
62
69
  import "../chunk-2I23RPSI.js";
63
- import "../chunk-WXRVHXVP.js";
70
+ import "../chunk-7577GDDG.js";
64
71
  import "../chunk-PNQDP3OA.js";
65
72
  import "../chunk-H73TUI4Y.js";
66
73
  import "../chunk-7HLWBYH7.js";
67
74
  import "../chunk-FXU7JOXK.js";
68
75
  import "../chunk-TPHCZDE3.js";
69
76
  import "../chunk-Z42MXYWW.js";
70
- import "../chunk-VY7345RO.js";
71
- import "../chunk-DQJ3WZRK.js";
77
+ import "../chunk-BMSAJ2IH.js";
78
+ import "../chunk-IHRXCNSC.js";
72
79
  import {
73
80
  EXE_AI_DIR,
74
81
  loadConfig,
@@ -119,7 +126,7 @@ async function boot(options) {
119
126
  const coordinatorEmployee = getCoordinatorEmployee(employees) ?? DEFAULT_EXE;
120
127
  const coordinatorName = coordinatorEmployee.name;
121
128
  try {
122
- const { fastDbInit } = await import("../fast-db-init-TLYUWCDE.js");
129
+ const { fastDbInit } = await import("../fast-db-init-O6A3TK3F.js");
123
130
  await fastDbInit();
124
131
  } catch {
125
132
  await initStore();
@@ -1011,9 +1018,11 @@ async function boot(options) {
1011
1018
  const { loadConfigSync: loadCfgForEmbed } = await import("../lib/config.js");
1012
1019
  const embedCfg = loadCfgForEmbed();
1013
1020
  const embeddingsOn = resolveEmbed(process.env.EXE_EMBEDDINGS, embedCfg);
1014
- if (nullCount > 0 && embeddingsOn) {
1021
+ const { backfillKillSwitchEnabled, countActionableNullVectors } = await import("../backfill-gate-J7UXFNXU.js");
1022
+ const actionableNullCount = nullCount > 0 ? await countActionableNullVectors(client) : 0;
1023
+ if (actionableNullCount > 0 && embeddingsOn && !backfillKillSwitchEnabled()) {
1015
1024
  try {
1016
- const { tryAcquireWorkerSlot, registerWorkerPid } = await import("../worker-gate-WJS2MFNA.js");
1025
+ const { tryAcquireWorkerSlot, registerWorkerPid } = await import("../worker-gate-YA35VMAN.js");
1017
1026
  if (!tryAcquireWorkerSlot()) {
1018
1027
  process.stderr.write("[exe-boot] Backfill needed but worker gate full \u2014 skipping\n");
1019
1028
  } else {
@@ -1120,7 +1129,7 @@ async function boot(options) {
1120
1129
  } catch {
1121
1130
  }
1122
1131
  try {
1123
- const { countKillsSince } = await import("../session-kill-telemetry-IBNCJSI7.js");
1132
+ const { countKillsSince } = await import("../session-kill-telemetry-2HSE7IGH.js");
1124
1133
  const { listSessions: listRegistrySessions } = await import("../lib/session-registry.js");
1125
1134
  const todayStart = /* @__PURE__ */ new Date();
1126
1135
  todayStart.setHours(0, 0, 0, 0);
@@ -1218,7 +1227,7 @@ async function updateIdleKillSuspectStreak(client, killsToday, liveSessions, tod
1218
1227
  IDLE_KILL_STREAK_META_KEY,
1219
1228
  computeIdleKillSuspectStreak,
1220
1229
  parseStreakState
1221
- } = await import("../session-kill-telemetry-IBNCJSI7.js");
1230
+ } = await import("../session-kill-telemetry-2HSE7IGH.js");
1222
1231
  const prevResult = await client.execute({
1223
1232
  sql: "SELECT value FROM sync_meta WHERE key = ?",
1224
1233
  args: [IDLE_KILL_STREAK_META_KEY]
@@ -1,17 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  getSessionPrompt
4
- } from "../chunk-LOE2N23P.js";
5
- import "../chunk-ORC5AO7E.js";
6
- import "../chunk-DDKDN4HV.js";
4
+ } from "../chunk-WJICX53Z.js";
5
+ import "../chunk-YBHOWK3L.js";
6
+ import "../chunk-A47MXY2I.js";
7
7
  import {
8
8
  DEFAULT_COORDINATOR_TEMPLATE_NAME,
9
9
  getCoordinatorName,
10
10
  getEmployee,
11
11
  loadEmployees
12
- } from "../chunk-XLNF3CIO.js";
12
+ } from "../chunk-QGOMYIVT.js";
13
13
  import "../chunk-2I23RPSI.js";
14
- import "../chunk-WXRVHXVP.js";
14
+ import "../chunk-7577GDDG.js";
15
15
  import "../chunk-PNQDP3OA.js";
16
16
  import "../chunk-H73TUI4Y.js";
17
17
  import "../chunk-7HLWBYH7.js";