@askexenow/exe-os 0.9.323 → 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 (288) hide show
  1. package/deploy/stack-manifests/v0.9.json +110 -2
  2. package/dist/{active-agent-67BHUBV2.js → active-agent-CVSB2EER.js} +3 -3
  3. package/dist/{active-agent-IGVX2AAK.js → active-agent-IUVRZOSF.js} +3 -3
  4. package/dist/{agentic-ontology-I5MEKVGE.js → agentic-ontology-2QFPBIQP.js} +1 -1
  5. package/dist/{backfill-metadata-N5VVCYFT.js → backfill-metadata-W3PRQPVV.js} +4 -4
  6. package/dist/{behaviors-2YYG72ZH.js → behaviors-MQCADHAD.js} +5 -5
  7. package/dist/bin/agentic-ontology-backfill.js +5 -5
  8. package/dist/bin/agentic-reflection-backfill.js +6 -6
  9. package/dist/bin/agentic-semantic-label.js +5 -5
  10. package/dist/bin/backfill-conversations.js +5 -5
  11. package/dist/bin/backfill-responses.js +5 -5
  12. package/dist/bin/backfill-vectors.js +7 -7
  13. package/dist/bin/bulk-sync-postgres.js +11 -11
  14. package/dist/bin/cc-doctor.js +4 -4
  15. package/dist/bin/cleanup-stale-review-tasks.js +14 -14
  16. package/dist/bin/cli.js +16 -16
  17. package/dist/bin/deferred-daemon-restart.js +68 -68
  18. package/dist/bin/exe-agent-config.js +2 -2
  19. package/dist/bin/exe-agent.js +5 -5
  20. package/dist/bin/exe-assign.js +7 -7
  21. package/dist/bin/exe-boot.js +23 -23
  22. package/dist/bin/exe-call.js +5 -5
  23. package/dist/bin/exe-cloud.js +11 -11
  24. package/dist/bin/exe-config-dump.js +2 -2
  25. package/dist/bin/exe-dispatch.js +14 -14
  26. package/dist/bin/exe-doctor.js +4 -4
  27. package/dist/bin/exe-export-behaviors.js +7 -7
  28. package/dist/bin/exe-forget.js +6 -6
  29. package/dist/bin/exe-gateway.js +7 -7
  30. package/dist/bin/exe-healthcheck.js +4 -4
  31. package/dist/bin/exe-heartbeat.js +14 -14
  32. package/dist/bin/exe-kill.js +17 -17
  33. package/dist/bin/exe-launch-agent.js +24 -24
  34. package/dist/bin/exe-new-employee.js +9 -9
  35. package/dist/bin/exe-pending-messages.js +15 -15
  36. package/dist/bin/exe-pending-notifications.js +14 -14
  37. package/dist/bin/exe-pending-reviews.js +14 -14
  38. package/dist/bin/exe-rename.js +5 -5
  39. package/dist/bin/exe-review.js +16 -16
  40. package/dist/bin/exe-search.js +5 -5
  41. package/dist/bin/exe-session-cleanup.js +18 -18
  42. package/dist/bin/exe-settings.js +11 -11
  43. package/dist/bin/exe-start-codex.js +51 -34
  44. package/dist/bin/exe-start-opencode.js +8 -8
  45. package/dist/bin/exe-status.js +15 -15
  46. package/dist/bin/exe-support.js +3 -3
  47. package/dist/bin/exe-team.js +3 -3
  48. package/dist/bin/git-sweep.js +15 -15
  49. package/dist/bin/graph-backfill.js +4 -4
  50. package/dist/bin/graph-export.js +5 -5
  51. package/dist/bin/import-history.js +7 -7
  52. package/dist/bin/install.js +70 -70
  53. package/dist/bin/intercom-check.js +4 -4
  54. package/dist/bin/mcp-sessions.js +2 -2
  55. package/dist/bin/orchestration-metrics.js +4 -4
  56. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  57. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  58. package/dist/bin/pre-publish.js +1 -1
  59. package/dist/bin/registry-proxy.js +1 -1
  60. package/dist/bin/scan-tasks.js +14 -14
  61. package/dist/bin/setup.js +1 -1
  62. package/dist/bin/shard-migrate.js +4 -4
  63. package/dist/bin/stack-update.js +4 -4
  64. package/dist/bin/vps-health-gate.js +1 -1
  65. package/dist/{capability-cards-RC4JYXCG.js → capability-cards-STD3NMCR.js} +2 -2
  66. package/dist/{capacity-monitor-EDIGJSVQ.js → capacity-monitor-6O3PWYNM.js} +15 -15
  67. package/dist/{catchup-brief-YVSBRXYZ.js → catchup-brief-EDQ3VZCF.js} +17 -17
  68. package/dist/{chunk-EZHNCIO5.js → chunk-2E2NKFXK.js} +1 -1
  69. package/dist/{chunk-CMZIAR5S.js → chunk-2NY7LZT7.js} +1 -1
  70. package/dist/{chunk-XYJXJWKH.js → chunk-2QD5M47V.js} +3 -3
  71. package/dist/{chunk-3MUV2GDZ.js → chunk-2YWUZPHE.js} +2 -2
  72. package/dist/{chunk-A3CRB4PS.js → chunk-2ZW4AQ24.js} +3 -3
  73. package/dist/{chunk-H7FI3AWZ.js → chunk-376J36IW.js} +4 -4
  74. package/dist/{chunk-2COLYLE6.js → chunk-5VT45EV6.js} +1 -1
  75. package/dist/{chunk-HAA4N3NI.js → chunk-5YCOEPEX.js} +1 -1
  76. package/dist/{chunk-JTF4UVXK.js → chunk-6FWMLTF2.js} +1 -1
  77. package/dist/{chunk-IKFL4OLM.js → chunk-6XAAJ5OV.js} +1 -1
  78. package/dist/{chunk-ZU2UK4BC.js → chunk-7M6TXYRQ.js} +10 -10
  79. package/dist/{chunk-3LZILUET.js → chunk-7PLMYXPG.js} +1 -1
  80. package/dist/{chunk-DDKDN4HV.js → chunk-A47MXY2I.js} +7 -0
  81. package/dist/{chunk-SSIUJXOL.js → chunk-AEFZEJKW.js} +1 -1
  82. package/dist/{chunk-IKOAALTW.js → chunk-AVKZIG4A.js} +1 -1
  83. package/dist/{chunk-GHARDROH.js → chunk-BB5IKY7B.js} +2 -2
  84. package/dist/{chunk-UPLY33F7.js → chunk-BC7IIR3A.js} +64 -38
  85. package/dist/{chunk-WRA6OO5V.js → chunk-BDJQWBWF.js} +3 -3
  86. package/dist/{chunk-L5TUAHLX.js → chunk-BMSAJ2IH.js} +1 -1
  87. package/dist/{chunk-5HXJI7SX.js → chunk-C7B44DJI.js} +1 -1
  88. package/dist/{chunk-3QJ3GDQZ.js → chunk-CS6MYGNB.js} +3 -3
  89. package/dist/{chunk-4GK6JTEV.js → chunk-CSPHV5DJ.js} +1 -1
  90. package/dist/{chunk-RYJH6S55.js → chunk-DYUISOIT.js} +1 -1
  91. package/dist/{chunk-PGEADAZL.js → chunk-EWDTTTZP.js} +3 -3
  92. package/dist/{chunk-5CRFNQ7L.js → chunk-F2RK5YWB.js} +36 -27
  93. package/dist/{chunk-364VBQIC.js → chunk-F6TJIWN5.js} +1 -1
  94. package/dist/{chunk-644DVREV.js → chunk-FPTBCPI3.js} +2 -2
  95. package/dist/{chunk-W33H7TWW.js → chunk-GIFDGNIL.js} +1 -1
  96. package/dist/{chunk-NQPAG7CB.js → chunk-HAYDXMW6.js} +3 -3
  97. package/dist/{chunk-UB322YIG.js → chunk-HBKYKN3S.js} +1 -1
  98. package/dist/{chunk-WCXFNUMD.js → chunk-HZ5J2GFE.js} +7 -7
  99. package/dist/{chunk-5ZQMGI3V.js → chunk-ID3V4BWS.js} +1 -1
  100. package/dist/{chunk-3CT3GN2B.js → chunk-JRD7ARQ6.js} +60 -2
  101. package/dist/{chunk-BKOGHVRO.js → chunk-KJOQLNX2.js} +1 -1
  102. package/dist/{chunk-QBRBLEXP.js → chunk-KK67DSCO.js} +8 -8
  103. package/dist/{chunk-UW5QD52P.js → chunk-KLDQFOFY.js} +9 -9
  104. package/dist/{chunk-XK7HAEFC.js → chunk-KUJGADX6.js} +67 -16
  105. package/dist/{chunk-AVEOL6NP.js → chunk-KWWHRJGG.js} +638 -535
  106. package/dist/{chunk-W377NZE4.js → chunk-LUOQCGBO.js} +1 -1
  107. package/dist/{chunk-A6ODMODG.js → chunk-LWAGAC3H.js} +1 -1
  108. package/dist/{chunk-SE7TU5GX.js → chunk-MB2YT5VQ.js} +2 -2
  109. package/dist/{chunk-I4IMPAZQ.js → chunk-MCEXBLLK.js} +3 -3
  110. package/dist/{chunk-VH345O6X.js → chunk-MIWPKWXQ.js} +1 -1
  111. package/dist/{chunk-T3OGIK3Y.js → chunk-MKIFYIXC.js} +1 -1
  112. package/dist/{chunk-VQEZ3ZNK.js → chunk-MWIX3YKA.js} +4 -4
  113. package/dist/{chunk-A6I36KVN.js → chunk-NBDTQVWU.js} +2 -2
  114. package/dist/{chunk-SXN3TRJ4.js → chunk-NGACCR2M.js} +1 -1
  115. package/dist/{chunk-VJL2BGX2.js → chunk-PGFYWVOB.js} +1 -1
  116. package/dist/{chunk-DDRASSJI.js → chunk-PGUISLOT.js} +5 -5
  117. package/dist/{chunk-QCWZMS7B.js → chunk-PJTEZLAM.js} +1 -1
  118. package/dist/{chunk-4VW5KF6X.js → chunk-POOMY3CS.js} +4 -4
  119. package/dist/{chunk-S6XKC36B.js → chunk-PV7IG4V6.js} +1 -1
  120. package/dist/{chunk-3VYAQUWZ.js → chunk-QDI77B3E.js} +1 -1
  121. package/dist/{chunk-46AMZT3C.js → chunk-QGOMYIVT.js} +14 -5
  122. package/dist/{chunk-CCYEO6EG.js → chunk-QQFZ32WS.js} +5 -5
  123. package/dist/{chunk-2RR2CJCX.js → chunk-SOXUF34Y.js} +2 -2
  124. package/dist/{chunk-NW6V3XVK.js → chunk-SPO2RLOB.js} +1 -1
  125. package/dist/{chunk-GMDLNJ5E.js → chunk-T3XHH5FE.js} +5 -5
  126. package/dist/{chunk-CP4LIKCX.js → chunk-TA3A4UQL.js} +1 -1
  127. package/dist/{chunk-WYHCMHTL.js → chunk-TGVKQ3QB.js} +3 -3
  128. package/dist/{chunk-YOS4FN26.js → chunk-TNS6U2K7.js} +2 -2
  129. package/dist/{chunk-LX2TYKEQ.js → chunk-UAIMI7CK.js} +1 -1
  130. package/dist/{chunk-YTPNOTUS.js → chunk-UXYQLOFW.js} +8 -8
  131. package/dist/{chunk-IFXE7QYT.js → chunk-UYOW7U24.js} +1 -1
  132. package/dist/{chunk-YS7VW7KR.js → chunk-V4VYIHSL.js} +1 -1
  133. package/dist/{chunk-SAUO2ZLB.js → chunk-VDUHWQFA.js} +1 -1
  134. package/dist/{chunk-EAHLB7YN.js → chunk-W5GBB23I.js} +1 -1
  135. package/dist/{chunk-A2K7YIRL.js → chunk-WF3J6GJZ.js} +2 -2
  136. package/dist/{chunk-E72VLAJH.js → chunk-WGHTISNK.js} +3 -3
  137. package/dist/{chunk-7PXMLHPG.js → chunk-WGOAILWE.js} +2 -2
  138. package/dist/{chunk-ZR57QAJ2.js → chunk-WJICX53Z.js} +1 -1
  139. package/dist/{chunk-U3VSCPGX.js → chunk-Y2KBHLEO.js} +1 -1
  140. package/dist/{chunk-HYNNAM4R.js → chunk-Y34FDPOY.js} +5 -5
  141. package/dist/{chunk-6UR7C2NX.js → chunk-YBHOWK3L.js} +2 -2
  142. package/dist/{chunk-DZVQ23CM.js → chunk-ZDNJ3TSB.js} +7 -7
  143. package/dist/{chunk-KIXTW4VH.js → chunk-ZRZ2Z6RZ.js} +1 -1
  144. package/dist/{cleanup-graph-garbage-5KI4MSDC.js → cleanup-graph-garbage-2YH52ADR.js} +4 -4
  145. package/dist/{co-activation-JRDKF2M3.js → co-activation-7F3J2GC7.js} +2 -2
  146. package/dist/{co-occurrence-JGFIAEKR.js → co-occurrence-B36Q5GY3.js} +2 -2
  147. package/dist/{code-context-index-NODPVXHC.js → code-context-index-2PUBBQOE.js} +2 -2
  148. package/dist/{crdt-sync-NOWBFD5N.js → crdt-sync-MXHPR6V6.js} +1 -1
  149. package/dist/{crm-webhook-FXSSAHON.js → crm-webhook-56MWGMRY.js} +2 -2
  150. package/dist/{cto-delegation-gate-J6DDJFAB.js → cto-delegation-gate-26BD7NEE.js} +13 -13
  151. package/dist/{daemon-orchestration-HIZMZ2Y5.js → daemon-orchestration-IBP6PWEG.js} +17 -17
  152. package/dist/{db-backup-I5GQBRIG.js → db-backup-XLID57KW.js} +1 -1
  153. package/dist/{doc-graph-extractor-TAZHM63R.js → doc-graph-extractor-VBZ6XTTE.js} +2 -2
  154. package/dist/{documents-XXOQ5QIJ.js → documents-C5LYSJT3.js} +7 -7
  155. package/dist/{dreaming-V275C7L2.js → dreaming-LMVDIC5C.js} +14 -14
  156. package/dist/{exe-drift-VOJZYOIO.js → exe-drift-T3K6WA47.js} +3 -3
  157. package/dist/{exe-export-EDQDGZV3.js → exe-export-QCTASWXI.js} +7 -7
  158. package/dist/{exe-import-DV7GKBZD.js → exe-import-WNP5A7VA.js} +7 -7
  159. package/dist/{exe-key-6SLYWY36.js → exe-key-JM3JXE2E.js} +68 -68
  160. package/dist/{exe-snapshot-TDQI34DW.js → exe-snapshot-ODDJUEM5.js} +17 -17
  161. package/dist/{fast-db-init-SNHHRW3L.js → fast-db-init-O6A3TK3F.js} +1 -1
  162. package/dist/{founder-context-UZVRU4HI.js → founder-context-FYTF4IMD.js} +2 -2
  163. package/dist/gateway/index.js +11 -11
  164. package/dist/{git-staleness-TRCX6FVG.js → git-staleness-YA5J6VYJ.js} +2 -2
  165. package/dist/{global-procedures-LH4JG3CR.js → global-procedures-76NDWTYN.js} +4 -4
  166. package/dist/{graph-auto-extract-YTXHYR35.js → graph-auto-extract-I7QL2TY5.js} +2 -2
  167. package/dist/hooks/bug-report-worker.js +16 -16
  168. package/dist/hooks/codex-stop-task-finalizer.js +16 -16
  169. package/dist/hooks/commit-complete.js +16 -16
  170. package/dist/hooks/error-recall.js +6 -6
  171. package/dist/hooks/exe-heartbeat-hook.js +3 -3
  172. package/dist/hooks/ingest-worker.js +2 -2
  173. package/dist/hooks/ingest.js +6 -6
  174. package/dist/hooks/instructions-loaded.js +4 -4
  175. package/dist/hooks/manifest.json +20 -20
  176. package/dist/hooks/notification.js +4 -4
  177. package/dist/hooks/post-compact.js +15 -15
  178. package/dist/hooks/post-tool-combined.js +8 -8
  179. package/dist/hooks/pre-compact.js +16 -16
  180. package/dist/hooks/pre-tool-use.js +19 -19
  181. package/dist/hooks/prompt-submit.js +29 -29
  182. package/dist/hooks/session-end.js +21 -21
  183. package/dist/hooks/session-start.js +12 -12
  184. package/dist/hooks/stop.js +22 -22
  185. package/dist/hooks/subagent-stop.js +15 -15
  186. package/dist/hooks/summary-worker.js +19 -19
  187. package/dist/index.js +23 -23
  188. package/dist/{installer-U7D3PAR5.js → installer-3EYHBKWB.js} +5 -5
  189. package/dist/{installer-WHO23TIO.js → installer-3VZMDDMJ.js} +5 -5
  190. package/dist/{installer-W4SHZFOR.js → installer-GYABVCB7.js} +5 -5
  191. package/dist/{intercom-queue-2XB622OR.js → intercom-queue-ZCNT4LYU.js} +13 -13
  192. package/dist/lib/cloud-sync.js +11 -11
  193. package/dist/lib/consolidation.js +5 -5
  194. package/dist/lib/database.js +2 -2
  195. package/dist/lib/db-daemon-client.js +2 -2
  196. package/dist/lib/db.js +2 -2
  197. package/dist/lib/device-registry.js +1 -1
  198. package/dist/lib/embedder.js +2 -2
  199. package/dist/lib/employee-templates.js +5 -5
  200. package/dist/lib/employees.js +2 -2
  201. package/dist/lib/exe-daemon-client.js +1 -1
  202. package/dist/lib/exe-daemon.js +125 -62
  203. package/dist/lib/hybrid-search.js +5 -5
  204. package/dist/lib/identity.js +2 -2
  205. package/dist/lib/license.js +2 -2
  206. package/dist/lib/messaging.js +14 -14
  207. package/dist/lib/registry-proxy.js +1 -1
  208. package/dist/lib/reminders.js +3 -3
  209. package/dist/lib/schedules.js +5 -5
  210. package/dist/lib/session-registry.js +6 -4
  211. package/dist/lib/skill-learning.js +6 -6
  212. package/dist/lib/store.js +4 -4
  213. package/dist/lib/task-router.js +3 -3
  214. package/dist/lib/tasks.js +15 -15
  215. package/dist/lib/tmux-routing.js +15 -13
  216. package/dist/lib/token-spend.js +3 -3
  217. package/dist/{license-gate-7CYKGRXW.js → license-gate-73XGUIVP.js} +3 -3
  218. package/dist/{license-sync-H4TVZ7PR.js → license-sync-CG5YRUVH.js} +2 -2
  219. package/dist/mcp/register-tools.js +67 -67
  220. package/dist/mcp/server.js +71 -71
  221. package/dist/mcp/tools/complete-reminder.js +4 -4
  222. package/dist/mcp/tools/create-reminder.js +4 -4
  223. package/dist/mcp/tools/create-task.js +17 -17
  224. package/dist/mcp/tools/deactivate-behavior.js +7 -7
  225. package/dist/mcp/tools/list-reminders.js +4 -4
  226. package/dist/mcp/tools/list-tasks.js +17 -17
  227. package/dist/mcp/tools/send-message.js +16 -16
  228. package/dist/mcp/tools/update-task.js +16 -16
  229. package/dist/{mcp-http-config-LEBUOECG.js → mcp-http-config-TT7PXZLX.js} +3 -3
  230. package/dist/{memory-cards-47XM3VWW.js → memory-cards-6NGUDUDN.js} +4 -4
  231. package/dist/{memory-graph-extractor-COD5E52L.js → memory-graph-extractor-FIMS3VQR.js} +3 -3
  232. package/dist/{memory-poisoning-defense-SBYOEXT3.js → memory-poisoning-defense-M3LOQ3XU.js} +2 -2
  233. package/dist/{memory-pressure-watchdog-T276SDOR.js → memory-pressure-watchdog-45GABDWH.js} +14 -14
  234. package/dist/{memory-queue-client-IQ52W7W4.js → memory-queue-client-BDYKFNB4.js} +2 -2
  235. package/dist/{memory-reflection-UZK5MHG2.js → memory-reflection-LANCFYK2.js} +2 -2
  236. package/dist/{notifications-O5DH4O35.js → notifications-N5NKUYAU.js} +13 -13
  237. package/dist/{orchestration-events-65YDDRF4.js → orchestration-events-KVNRNIPR.js} +3 -3
  238. package/dist/{orchestrator-NHMTDGWJ.js → orchestrator-VTF5BR26.js} +15 -15
  239. package/dist/{pipeline-router-2KJQDX5O.js → pipeline-router-KQAYWDPH.js} +3 -3
  240. package/dist/{plan-limits-NQQN5C4S.js → plan-limits-EUZI4X5W.js} +5 -5
  241. package/dist/{projection-worker-IUCBINZH.js → projection-worker-FG6G226D.js} +2 -2
  242. package/dist/{prospective-memory-U2TISMIW.js → prospective-memory-FVDNUSIL.js} +2 -2
  243. package/dist/{reranker-D6NSD5A3.js → reranker-54Q3L32E.js} +1 -1
  244. package/dist/{retrieval-health-LBNMCYNF.js → retrieval-health-YJ7CXYVD.js} +1 -1
  245. package/dist/{review-polling-ZJWELHBP.js → review-polling-TKXYSXH6.js} +14 -14
  246. package/dist/runtime/index.js +17 -17
  247. package/dist/{session-events-GRHFFRZV.js → session-events-WQHTP65R.js} +14 -14
  248. package/dist/{session-kill-telemetry-ALV4KMWS.js → session-kill-telemetry-2HSE7IGH.js} +14 -14
  249. package/dist/{session-scope-JB5TBNCX.js → session-scope-RBKAC75W.js} +13 -13
  250. package/dist/{setup-wizard-5STOE3PS.js → setup-wizard-AA6ZV57H.js} +1 -1
  251. package/dist/{skill-refinement-JB2LRDLS.js → skill-refinement-QI35LMTZ.js} +3 -3
  252. package/dist/{stack-update-ZG4YS7WS.js → stack-update-BE6PX4AG.js} +3 -3
  253. package/dist/{steward-gate-TE63SGPL.js → steward-gate-2XD5BXH6.js} +3 -3
  254. package/dist/{task-enforcement-72WZMQGC.js → task-enforcement-DMOCBRLB.js} +14 -14
  255. package/dist/{task-scope-FLDBFGWR.js → task-scope-ULBNFBFH.js} +13 -13
  256. package/dist/{tasks-crud-DKOSSXTD.js → tasks-crud-6SJOKES5.js} +15 -13
  257. package/dist/{tasks-notify-WEWKM6B3.js → tasks-notify-TESRABUM.js} +14 -14
  258. package/dist/{tasks-review-MHCL7PNP.js → tasks-review-INDAGLWJ.js} +13 -13
  259. package/dist/{telemetry-upload-K2MZ4O6U.js → telemetry-upload-6XB3Q3IH.js} +7 -7
  260. package/dist/{token-budget-MZZ5DLOH.js → token-budget-NOF27AZC.js} +3 -3
  261. package/dist/{tool-capability-index-M3FUNMFF.js → tool-capability-index-EFBBPTBI.js} +1 -1
  262. package/dist/{tool-telemetry-ERE5FRVC.js → tool-telemetry-OEK6KQFF.js} +1 -1
  263. package/dist/tui/App.js +22 -22
  264. package/dist/{tui-data-JDBTFDAF.js → tui-data-EG6LEZFF.js} +13 -13
  265. package/dist/{worker-gate-3OR47E4T.js → worker-gate-YA35VMAN.js} +1 -1
  266. package/dist/{workflow-engine-JLVEE2CI.js → workflow-engine-3AVKRE5I.js} +2 -2
  267. package/dist/{worktree-WLPHLZ2S.js → worktree-72QYYL5L.js} +4 -4
  268. package/dist/{worktree-sweep-S6AYDLAQ.js → worktree-sweep-GDISKGQ2.js} +5 -5
  269. package/package.json +3 -3
  270. package/release-notes.json +35 -67
  271. /package/dist/{chunk-VW326Q5R.js → chunk-24WPWCD6.js} +0 -0
  272. /package/dist/{chunk-TVY65H23.js → chunk-4O3N7I5Z.js} +0 -0
  273. /package/dist/{chunk-MV5OSOP4.js → chunk-7577GDDG.js} +0 -0
  274. /package/dist/{chunk-B2ONIFHD.js → chunk-EWKZKO7F.js} +0 -0
  275. /package/dist/{chunk-FU767JXE.js → chunk-H43BPGIV.js} +0 -0
  276. /package/dist/{chunk-RYZR4NNE.js → chunk-IHRXCNSC.js} +0 -0
  277. /package/dist/{chunk-SSM2JHQ4.js → chunk-NIB2N6L2.js} +0 -0
  278. /package/dist/{chunk-HWVEDRZA.js → chunk-QMUSJESS.js} +0 -0
  279. /package/dist/{chunk-AI3BK3JD.js → chunk-RXS2LBKE.js} +0 -0
  280. /package/dist/{chunk-2G75BF5J.js → chunk-SNFYZFXY.js} +0 -0
  281. /package/dist/{chunk-6IJ47YFD.js → chunk-TSYMWC53.js} +0 -0
  282. /package/dist/{chunk-X2K2LHFO.js → chunk-UBYAKNRF.js} +0 -0
  283. /package/dist/{core-memory-4AZ2CSQZ.js → core-memory-NKKP2XUB.js} +0 -0
  284. /package/dist/{entity-boost-WV4GGNN2.js → entity-boost-DRIUFTYB.js} +0 -0
  285. /package/dist/{message-queue-client-JZ7TIOTZ.js → message-queue-client-4ERC7HLX.js} +0 -0
  286. /package/dist/{oauth-server-LUJ5P2BH.js → oauth-server-PECJREY2.js} +0 -0
  287. /package/dist/{project-boot-TOFNGMHM.js → project-boot-SFKP2MFW.js} +0 -0
  288. /package/dist/{wiki-acl-3JA23DH3.js → wiki-acl-QIBDNXSM.js} +0 -0
@@ -8,43 +8,43 @@ import {
8
8
  isAtCapacity,
9
9
  isWithinRelaunchCooldown,
10
10
  pollCapacityDead
11
- } from "./chunk-CCYEO6EG.js";
12
- import "./chunk-PGEADAZL.js";
13
- import "./chunk-XK7HAEFC.js";
14
- import "./chunk-3LZILUET.js";
15
- import "./chunk-BKOGHVRO.js";
16
- import "./chunk-U3VSCPGX.js";
11
+ } from "./chunk-QQFZ32WS.js";
12
+ import "./chunk-EWDTTTZP.js";
13
+ import "./chunk-KUJGADX6.js";
14
+ import "./chunk-7PLMYXPG.js";
15
+ import "./chunk-KJOQLNX2.js";
16
+ import "./chunk-Y2KBHLEO.js";
17
17
  import "./chunk-EIKATSE4.js";
18
18
  import "./chunk-E23LNUWJ.js";
19
19
  import "./chunk-4JERP7NT.js";
20
- import "./chunk-3CT3GN2B.js";
20
+ import "./chunk-JRD7ARQ6.js";
21
21
  import "./chunk-SSTLTIF3.js";
22
22
  import "./chunk-RMOBQ6A5.js";
23
23
  import "./chunk-54QCG45Y.js";
24
- import "./chunk-364VBQIC.js";
24
+ import "./chunk-F6TJIWN5.js";
25
25
  import "./chunk-FROUDYRT.js";
26
26
  import "./chunk-NGP6LSV2.js";
27
- import "./chunk-GHARDROH.js";
27
+ import "./chunk-BB5IKY7B.js";
28
28
  import "./chunk-CVYC6DUW.js";
29
- import "./chunk-W33H7TWW.js";
29
+ import "./chunk-GIFDGNIL.js";
30
30
  import "./chunk-HCJCW7X4.js";
31
31
  import "./chunk-OPU3NYOO.js";
32
- import "./chunk-UPLY33F7.js";
32
+ import "./chunk-BC7IIR3A.js";
33
33
  import "./chunk-AFNRE2RV.js";
34
34
  import "./chunk-3NGZ4PL7.js";
35
35
  import "./chunk-NLEW62VC.js";
36
36
  import "./chunk-HYZV25LY.js";
37
37
  import "./chunk-GJV3WDWM.js";
38
38
  import "./chunk-MP2AFCGL.js";
39
- import "./chunk-46AMZT3C.js";
39
+ import "./chunk-QGOMYIVT.js";
40
40
  import "./chunk-2I23RPSI.js";
41
- import "./chunk-MV5OSOP4.js";
41
+ import "./chunk-7577GDDG.js";
42
42
  import "./chunk-PNQDP3OA.js";
43
43
  import "./chunk-H73TUI4Y.js";
44
44
  import "./chunk-7HLWBYH7.js";
45
45
  import "./chunk-FXU7JOXK.js";
46
- import "./chunk-L5TUAHLX.js";
47
- import "./chunk-RYZR4NNE.js";
46
+ import "./chunk-BMSAJ2IH.js";
47
+ import "./chunk-IHRXCNSC.js";
48
48
  import "./chunk-7Y5UDEVM.js";
49
49
  import "./chunk-SHIICYJW.js";
50
50
  import "./chunk-MLKGABMK.js";
@@ -1,35 +1,35 @@
1
1
  import {
2
2
  lightweightSearch
3
- } from "./chunk-ZU2UK4BC.js";
3
+ } from "./chunk-7M6TXYRQ.js";
4
4
  import "./chunk-AB4PAQYK.js";
5
- import "./chunk-UW5QD52P.js";
5
+ import "./chunk-KLDQFOFY.js";
6
6
  import "./chunk-CHCA3ZM2.js";
7
7
  import "./chunk-OTVEIJUQ.js";
8
- import "./chunk-6IJ47YFD.js";
8
+ import "./chunk-TSYMWC53.js";
9
9
  import "./chunk-Y25OJWOQ.js";
10
10
  import {
11
11
  sessionScopeFilter,
12
12
  strictSessionScopeFilter
13
- } from "./chunk-XK7HAEFC.js";
14
- import "./chunk-3LZILUET.js";
15
- import "./chunk-BKOGHVRO.js";
16
- import "./chunk-U3VSCPGX.js";
13
+ } from "./chunk-KUJGADX6.js";
14
+ import "./chunk-7PLMYXPG.js";
15
+ import "./chunk-KJOQLNX2.js";
16
+ import "./chunk-Y2KBHLEO.js";
17
17
  import "./chunk-EIKATSE4.js";
18
18
  import "./chunk-E23LNUWJ.js";
19
19
  import "./chunk-4JERP7NT.js";
20
- import "./chunk-3CT3GN2B.js";
20
+ import "./chunk-JRD7ARQ6.js";
21
21
  import "./chunk-SSTLTIF3.js";
22
22
  import "./chunk-RMOBQ6A5.js";
23
23
  import "./chunk-54QCG45Y.js";
24
- import "./chunk-364VBQIC.js";
24
+ import "./chunk-F6TJIWN5.js";
25
25
  import "./chunk-FROUDYRT.js";
26
26
  import "./chunk-NGP6LSV2.js";
27
- import "./chunk-GHARDROH.js";
27
+ import "./chunk-BB5IKY7B.js";
28
28
  import "./chunk-CVYC6DUW.js";
29
- import "./chunk-W33H7TWW.js";
29
+ import "./chunk-GIFDGNIL.js";
30
30
  import "./chunk-HCJCW7X4.js";
31
31
  import "./chunk-OPU3NYOO.js";
32
- import "./chunk-UPLY33F7.js";
32
+ import "./chunk-BC7IIR3A.js";
33
33
  import "./chunk-AFNRE2RV.js";
34
34
  import "./chunk-3NGZ4PL7.js";
35
35
  import "./chunk-NLEW62VC.js";
@@ -38,16 +38,16 @@ import "./chunk-GJV3WDWM.js";
38
38
  import "./chunk-MP2AFCGL.js";
39
39
  import {
40
40
  getClient
41
- } from "./chunk-46AMZT3C.js";
41
+ } from "./chunk-QGOMYIVT.js";
42
42
  import "./chunk-2I23RPSI.js";
43
- import "./chunk-MV5OSOP4.js";
43
+ import "./chunk-7577GDDG.js";
44
44
  import "./chunk-PNQDP3OA.js";
45
45
  import "./chunk-H73TUI4Y.js";
46
46
  import "./chunk-7HLWBYH7.js";
47
47
  import "./chunk-FXU7JOXK.js";
48
48
  import "./chunk-Z42MXYWW.js";
49
- import "./chunk-L5TUAHLX.js";
50
- import "./chunk-RYZR4NNE.js";
49
+ import "./chunk-BMSAJ2IH.js";
50
+ import "./chunk-IHRXCNSC.js";
51
51
  import "./chunk-7Y5UDEVM.js";
52
52
  import "./chunk-SHIICYJW.js";
53
53
  import "./chunk-MLKGABMK.js";
@@ -156,7 +156,7 @@ ${msgLines}`);
156
156
  } catch {
157
157
  }
158
158
  try {
159
- const { getPendingProspective, markSurfaced } = await import("./prospective-memory-U2TISMIW.js");
159
+ const { getPendingProspective, markSurfaced } = await import("./prospective-memory-FVDNUSIL.js");
160
160
  const due = await getPendingProspective(agentId, { projectName, limit: 5 });
161
161
  if (due.length > 0) {
162
162
  const now = Date.now();
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-X2FHTDIU.js";
4
4
  import {
5
5
  loadEmployeesSync
6
- } from "./chunk-46AMZT3C.js";
6
+ } from "./chunk-QGOMYIVT.js";
7
7
 
8
8
  // src/adapters/mcp-http-config.ts
9
9
  import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createReminder
3
- } from "./chunk-EAHLB7YN.js";
3
+ } from "./chunk-W5GBB23I.js";
4
4
 
5
5
  // src/mcp/tools/create-reminder.ts
6
6
  import { z } from "zod";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  getActiveAgent
3
- } from "./chunk-5ZQMGI3V.js";
3
+ } from "./chunk-ID3V4BWS.js";
4
4
  import {
5
5
  listTasks
6
- } from "./chunk-XK7HAEFC.js";
6
+ } from "./chunk-KUJGADX6.js";
7
7
  import {
8
8
  getAgentContext
9
9
  } from "./chunk-GJV3WDWM.js";
10
10
  import {
11
11
  isCoordinatorName
12
- } from "./chunk-46AMZT3C.js";
12
+ } from "./chunk-QGOMYIVT.js";
13
13
 
14
14
  // src/mcp/tools/list-tasks.ts
15
15
  import { z } from "zod";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionScopeFilter
3
- } from "./chunk-XK7HAEFC.js";
3
+ } from "./chunk-KUJGADX6.js";
4
4
 
5
5
  // src/lib/git-task-sweep.ts
6
6
  import { execSync } from "child_process";
@@ -238,7 +238,7 @@ async function sweepTasks(projectName, options = {}) {
238
238
  }
239
239
  if (!dryRun) {
240
240
  try {
241
- const { updateTaskStatus } = await import("./tasks-crud-DKOSSXTD.js");
241
+ const { updateTaskStatus } = await import("./tasks-crud-6SJOKES5.js");
242
242
  await updateTaskStatus({
243
243
  taskId: task.id,
244
244
  status: "needs_review",
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  extractMemoryGraph
3
- } from "./chunk-7PXMLHPG.js";
3
+ } from "./chunk-WGOAILWE.js";
4
4
  import {
5
5
  flushBatch,
6
6
  writeMemory
7
- } from "./chunk-UW5QD52P.js";
7
+ } from "./chunk-KLDQFOFY.js";
8
8
  import {
9
9
  extractKeywords
10
10
  } from "./chunk-CHCA3ZM2.js";
11
11
  import {
12
12
  getActiveAgent
13
- } from "./chunk-5ZQMGI3V.js";
13
+ } from "./chunk-ID3V4BWS.js";
14
14
 
15
15
  // src/mcp/tools/import-conversations.ts
16
16
  import { z } from "zod";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  deactivateBehavior
3
- } from "./chunk-A2K7YIRL.js";
3
+ } from "./chunk-WF3J6GJZ.js";
4
4
  import {
5
5
  getActiveAgent
6
- } from "./chunk-5ZQMGI3V.js";
6
+ } from "./chunk-ID3V4BWS.js";
7
7
  import {
8
8
  canCoordinate,
9
9
  getClient
10
- } from "./chunk-46AMZT3C.js";
10
+ } from "./chunk-QGOMYIVT.js";
11
11
 
12
12
  // src/mcp/tools/deactivate-behavior.ts
13
13
  import { z } from "zod";
@@ -24,7 +24,7 @@ function registerDeactivateBehavior(server) {
24
24
  async ({ behavior_id }) => {
25
25
  const caller = getActiveAgent();
26
26
  try {
27
- const { StewardGate } = await import("./steward-gate-TE63SGPL.js");
27
+ const { StewardGate } = await import("./steward-gate-2XD5BXH6.js");
28
28
  const steward = new StewardGate();
29
29
  const gateDecision = await steward.checkAuthority(caller.agentId || "unknown", "deactivate_behavior", behavior_id);
30
30
  if (!gateDecision.allowed) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-46AMZT3C.js";
3
+ } from "./chunk-QGOMYIVT.js";
4
4
 
5
5
  // src/lib/token-spend.ts
6
6
  import { readdir, stat } from "fs/promises";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-46AMZT3C.js";
3
+ } from "./chunk-QGOMYIVT.js";
4
4
 
5
5
  // src/lib/pipeline-router.ts
6
6
  import crypto from "crypto";
@@ -119,7 +119,7 @@ function releaseBackfillLock() {
119
119
  }
120
120
  async function getTaskAwareCapacity() {
121
121
  const { getClient } = await import("./lib/database.js");
122
- const { sessionScopeFilter } = await import("./task-scope-FLDBFGWR.js");
122
+ const { sessionScopeFilter } = await import("./task-scope-ULBNFBFH.js");
123
123
  const client = getClient();
124
124
  const scope = sessionScopeFilter();
125
125
  const result = await client.execute({
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  completeReminder
3
- } from "./chunk-EAHLB7YN.js";
3
+ } from "./chunk-W5GBB23I.js";
4
4
 
5
5
  // src/mcp/tools/complete-reminder.ts
6
6
  import { z } from "zod";
@@ -8,13 +8,13 @@ import {
8
8
  buildStatusFilter,
9
9
  buildWikiScopeFilter,
10
10
  searchMemories
11
- } from "./chunk-UW5QD52P.js";
11
+ } from "./chunk-KLDQFOFY.js";
12
12
  import {
13
13
  blobToVector
14
14
  } from "./chunk-OTVEIJUQ.js";
15
15
  import {
16
16
  getClient
17
- } from "./chunk-46AMZT3C.js";
17
+ } from "./chunk-QGOMYIVT.js";
18
18
 
19
19
  // src/lib/hybrid-search.ts
20
20
  var RRF_K = 60;
@@ -359,7 +359,7 @@ async function hybridSearch(queryText, agentId, options) {
359
359
  let rerankerAvailable = false;
360
360
  if (process.env.EXE_IS_DAEMON === "1") {
361
361
  try {
362
- const { isRerankerAvailable } = await import("./reranker-D6NSD5A3.js");
362
+ const { isRerankerAvailable } = await import("./reranker-54Q3L32E.js");
363
363
  rerankerAvailable = isRerankerAvailable();
364
364
  } catch {
365
365
  }
@@ -427,7 +427,7 @@ async function hybridSearch(queryText, agentId, options) {
427
427
  ]).catch(() => []),
428
428
  includeStructuredCards ? (async () => {
429
429
  try {
430
- const { searchMemoryCards } = await import("./memory-cards-47XM3VWW.js");
430
+ const { searchMemoryCards } = await import("./memory-cards-6NGUDUDN.js");
431
431
  return await searchMemoryCards(effectiveQuery, agentId, fetchOptions);
432
432
  } catch {
433
433
  return [];
@@ -436,7 +436,7 @@ async function hybridSearch(queryText, agentId, options) {
436
436
  // Reflection insights: patterns, contradictions, summaries across sessions
437
437
  includeStructuredCards ? (async () => {
438
438
  try {
439
- const { searchReflections } = await import("./memory-reflection-UZK5MHG2.js");
439
+ const { searchReflections } = await import("./memory-reflection-LANCFYK2.js");
440
440
  const insights = await searchReflections(effectiveQuery, agentId, 5, {
441
441
  includeArchived: options?.includeArchived
442
442
  });
@@ -537,7 +537,7 @@ async function hybridSearch(queryText, agentId, options) {
537
537
  let entityBoostRan = false;
538
538
  if (merged.length > 0) {
539
539
  try {
540
- const { applyEntityBoost } = await import("./entity-boost-WV4GGNN2.js");
540
+ const { applyEntityBoost } = await import("./entity-boost-DRIUFTYB.js");
541
541
  const boosted = await applyEntityBoost(merged, effectiveQuery, getClient());
542
542
  merged = boosted.results;
543
543
  graphContextMap = boosted.graphContext;
@@ -561,7 +561,7 @@ async function hybridSearch(queryText, agentId, options) {
561
561
  try {
562
562
  let rerankedRecords;
563
563
  if (graphContextMap.size > 0) {
564
- const { rerankWithContext } = await import("./reranker-D6NSD5A3.js");
564
+ const { rerankWithContext } = await import("./reranker-54Q3L32E.js");
565
565
  const candidates = merged.map((m) => ({
566
566
  text: m.raw_text,
567
567
  context: graphContextMap.get(m.id)
@@ -569,7 +569,7 @@ async function hybridSearch(queryText, agentId, options) {
569
569
  const scored = await rerankWithContext(effectiveQuery, candidates, rerankReturnLimit);
570
570
  rerankedRecords = scored.map((s) => merged[s.index]);
571
571
  } else {
572
- const { rerank } = await import("./reranker-D6NSD5A3.js");
572
+ const { rerank } = await import("./reranker-54Q3L32E.js");
573
573
  rerankedRecords = await rerank(effectiveQuery, merged, rerankReturnLimit);
574
574
  }
575
575
  if (rerankedRecords.length > 0) {
@@ -931,7 +931,7 @@ async function lightweightSearch(queryText, agentId, options) {
931
931
  }
932
932
  if (results.length >= 2) {
933
933
  try {
934
- const { recordCoActivations } = await import("./co-activation-JRDKF2M3.js");
934
+ const { recordCoActivations } = await import("./co-activation-7F3J2GC7.js");
935
935
  const ids = results.slice(0, 10).map((r) => r.id);
936
936
  void recordCoActivations(ids);
937
937
  } catch {
@@ -939,7 +939,7 @@ async function lightweightSearch(queryText, agentId, options) {
939
939
  }
940
940
  if (options?.includeStructuredCards !== true) return results;
941
941
  try {
942
- const { searchMemoryCards } = await import("./memory-cards-47XM3VWW.js");
942
+ const { searchMemoryCards } = await import("./memory-cards-6NGUDUDN.js");
943
943
  const cardResults = await searchMemoryCards(queryText, agentId, options);
944
944
  if (cardResults.length > 0) {
945
945
  return rrfMergeMulti([results, cardResults], limit, RRF_K, [1, 0.85]);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  loadEmployees
3
- } from "./chunk-46AMZT3C.js";
3
+ } from "./chunk-QGOMYIVT.js";
4
4
 
5
5
  // src/lib/agent-symlinks.ts
6
6
  import os from "os";
@@ -309,6 +309,13 @@ var PLATFORM_PROCEDURES = [
309
309
  domain: "engineering",
310
310
  priority: "p1",
311
311
  content: "A single audit only finds what its angles look for. A 'green' codebase (passing tests) routinely hides real, user-facing, disqualifying defects that tests structurally cannot catch. NEVER treat one audit pass as production-readiness proof. Audit as successive ROUNDS, each attacking ENTIRELY DIFFERENT surfaces, until convergence. THREE PRINCIPLES: 1. Never repeat an angle \u2014 tell each round what prior rounds already covered, so it hunts NEW surface instead of re-confirming old findings. 2. Fan out, then adversarially synthesize \u2014 N parallel hunters per round (each blind to the others), then ONE synthesizer that discards re-discoveries and renders a convergence verdict. 3. Convergence is the stop signal, NOT a round count \u2014 stop only when a FRESH-angle round comes back mostly P3 polish. A drop in findings between rounds is NOT convergence; it is usually angle exhaustion within a similar surface (a false signal). Verify by widening the aperture; if new angles still surface P0/P1, keep going. ANGLE FAMILIES (rotate; never re-run the same family): (a) Trust / obvious failures \u2014 data-loss, edge-cases, dependency-risk, privacy, ux-traps, concurrency. (b) Self-audit + structural fragility \u2014 did our own fixes / just-merged PRs introduce regressions? what is structurally fragile (dedup, token refresh, error boundaries)? (c) Desktop-native + infra \u2014 updater lifecycle (a registered-but-never-invoked auto-updater is a classic invisible P0), single-instance, half-open sockets, multi-window, native robustness, build-config. (d) Data-flow + privacy + visual \u2014 trace the EXACT bytes leaving the device (telemetry payloads), cross-user bleed on shared machines, privacy-toggle actually working, i18n/timezone, theme/CSS layout, clipboard/file-drop, logout completeness, zero-data first-run. (e) Time + OS + compound failure \u2014 offline/airplane, multi-hour soak (resource accumulation), rapid double-submit races, OS integration (notifications/tray/deep-links), session-resumption gap reconciliation, keyboard/focus/IME conflicts (the hardest class \u2014 only fails over time or when several things break at once). HONEST HEADLINE: fast-built surface that was never adversarially stressed keeps yielding blockers round after round. If early rounds keep finding real P0/P1s and never converge to polish, the right call may be a dedicated stabilization pass \u2014 NOT just more audit rounds. Surface that judgment rather than declaring 'ready' on a hopeful dip."
312
+ },
313
+ // --- License plan & refreshing entitlement ---
314
+ {
315
+ title: "License plan & refreshing entitlement \u2014 pick up a plan change (e.g. more agents)",
316
+ domain: "licensing",
317
+ priority: "p1",
318
+ content: "Your plan (free / pro / team / agency / enterprise) governs your limits \u2014 including how many agents/employees you can run. Enterprise = unlimited. HOW VALIDATION WORKS: your instance validates your license key (or login) against the cloud (api.askexe.com), which reads the users store \u2014 the SINGLE SOURCE OF TRUTH \u2014 and returns your plan as a signed token, cached locally at ~/.exe-os/license-cache.json (works fast, and offline within a grace window). That cached token is what your limits run on day-to-day. IF YOUR PLAN WAS CHANGED (e.g. upgraded to enterprise for more agents): the change lands on the SERVER first; your instance keeps the OLD cached plan until it re-validates \u2014 so nothing changes for you until you refresh. To pick it up IMMEDIATELY, do one of: (1) run the `refresh_license` MCP action, or (2) run the `exe-os license refresh` CLI. Either forces a re-check against the cloud, caches the new plan, and lifts your agent limit on the spot (shows old plan -> new plan + new limits). AUTOMATIC: on your next boot, your instance auto-detects a plan change (cheap cloud check, gated to ~10-min cache freshness) and announces it \u2014 e.g. 'Plan changed: pro -> enterprise. Employee limit now unlimited.' No cache-file editing, ever. ASKEXE ADMINS ONLY: to change a CUSTOMER's plan, use the admin-gated set-customer-plan path (requires the AskExe admin token \u2014 customers can never change their own or anyone's plan). It writes the users store (source of truth); the hourly license sync then reflects it into billing, and the customer runs `refresh_license` to pick it up. (Self-serve refresh available in exe-os 0.9.322+.)"
312
319
  }
313
320
  ];
314
321
  var PLATFORM_PROCEDURE_TITLES = new Set(
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-WCGNCH3Q.js";
4
4
  import {
5
5
  registerAllTools
6
- } from "./chunk-AVEOL6NP.js";
6
+ } from "./chunk-KWWHRJGG.js";
7
7
 
8
8
  // src/mcp/mcp-surface-hash.ts
9
9
  function computeMcpSurfaceHash() {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  clean,
3
3
  stableId
4
- } from "./chunk-FU767JXE.js";
4
+ } from "./chunk-H43BPGIV.js";
5
5
 
6
6
  // src/lib/reflection-checkpoints.ts
7
7
  function parsePayload(payload) {
@@ -3,12 +3,12 @@ import {
3
3
  getClient,
4
4
  isInitialized,
5
5
  loadEmployees
6
- } from "./chunk-46AMZT3C.js";
6
+ } from "./chunk-QGOMYIVT.js";
7
7
  import {
8
8
  PLAN_LIMITS,
9
9
  checkLicense,
10
10
  isFeatureAllowed
11
- } from "./chunk-L5TUAHLX.js";
11
+ } from "./chunk-BMSAJ2IH.js";
12
12
  import {
13
13
  EXE_AI_DIR
14
14
  } from "./chunk-7Y5UDEVM.js";
@@ -42,6 +42,7 @@ function isBootFast() {
42
42
  var _socket = null;
43
43
  var _connected = false;
44
44
  var _autoReconnecting = false;
45
+ var _autoReconnectTimer = null;
45
46
  var _buffer = "";
46
47
  var _requestCount = 0;
47
48
  var _consecutiveFailures = 0;
@@ -54,6 +55,11 @@ var MAX_RETRIES_BEFORE_RESTART = 3;
54
55
  var RETRY_DELAYS_MS = [1e3, 3e3, 5e3];
55
56
  var ALIVE_SOCKET_WARNING_INTERVAL_MS = 6e4;
56
57
  var MISSING_SOCKET_RECOVERY_INTERVAL_MS = 6e4;
58
+ var AUTO_RECONNECT_ALIVE_MIN_MS = parseInt(process.env.EXE_DAEMON_RECONNECT_ALIVE_MIN_MS ?? "", 10) || 2e3;
59
+ var AUTO_RECONNECT_ALIVE_MAX_MS = parseInt(process.env.EXE_DAEMON_RECONNECT_ALIVE_MAX_MS ?? "", 10) || 3e4;
60
+ var AUTO_RECONNECT_DEAD_MIN_MS = parseInt(process.env.EXE_DAEMON_RECONNECT_DEAD_MIN_MS ?? "", 10) || 500;
61
+ var AUTO_RECONNECT_DEAD_MAX_MS = parseInt(process.env.EXE_DAEMON_RECONNECT_DEAD_MAX_MS ?? "", 10) || 1e4;
62
+ var MCP_RECONNECT_WAIT_MAX_MS = parseInt(process.env.EXE_MCP_RECONNECT_WAIT_MAX_MS ?? "", 10) || 25e3;
57
63
  var _pending = /* @__PURE__ */ new Map();
58
64
  var MAX_BUFFER = 1e7;
59
65
  function handleData(chunk) {
@@ -260,6 +266,60 @@ function releaseSpawnLock() {
260
266
  } catch {
261
267
  }
262
268
  }
269
+ function clearAutoReconnectTimer() {
270
+ if (_autoReconnectTimer) {
271
+ clearTimeout(_autoReconnectTimer);
272
+ _autoReconnectTimer = null;
273
+ }
274
+ }
275
+ function autoReconnectDelay(attempt, daemonDeadInitially) {
276
+ const min = daemonDeadInitially ? AUTO_RECONNECT_DEAD_MIN_MS : AUTO_RECONNECT_ALIVE_MIN_MS;
277
+ const max = daemonDeadInitially ? AUTO_RECONNECT_DEAD_MAX_MS : AUTO_RECONNECT_ALIVE_MAX_MS;
278
+ const exponential = Math.min(max, min * Math.pow(2, Math.max(0, attempt - 1)));
279
+ const jitter = Math.random() * Math.min(min, Math.max(1, Math.floor(exponential / 2)));
280
+ return Math.max(1, Math.floor(exponential + jitter));
281
+ }
282
+ function startAutoReconnectLoop() {
283
+ if (_autoReconnecting || isBootFast()) return;
284
+ _autoReconnecting = true;
285
+ const daemonDeadInitially = !isDaemonPidAlive();
286
+ if (daemonDeadInitially) {
287
+ debugLog("[daemon-client] Daemon PID dead \u2014 fast-path respawn (skipping jitter)");
288
+ try {
289
+ cleanupStaleFiles();
290
+ if (acquireSpawnLock()) {
291
+ try {
292
+ spawnDaemon();
293
+ } finally {
294
+ releaseSpawnLock();
295
+ }
296
+ }
297
+ } catch {
298
+ }
299
+ }
300
+ let attempt = 0;
301
+ const scheduleNext = (delayMs) => {
302
+ clearAutoReconnectTimer();
303
+ _autoReconnectTimer = setTimeout(async () => {
304
+ attempt++;
305
+ const ok = await connectToSocket();
306
+ if (ok) {
307
+ clearAutoReconnectTimer();
308
+ _autoReconnecting = false;
309
+ _connectFailedAt = 0;
310
+ if (attempt > 1) debugLog(`[exed-client] Auto-reconnected to daemon (attempt ${attempt})`);
311
+ return;
312
+ }
313
+ if (attempt === 20 || attempt % 60 === 0) {
314
+ debugLog(`[exed-client] Auto-reconnect still pending after ${attempt} attempts; continuing with capped backoff`);
315
+ }
316
+ scheduleNext(autoReconnectDelay(attempt, daemonDeadInitially));
317
+ }, delayMs);
318
+ _autoReconnectTimer.unref?.();
319
+ };
320
+ const initialDelay = daemonDeadInitially ? 200 : Math.floor(Math.random() * AUTO_RECONNECT_ALIVE_MIN_MS);
321
+ scheduleNext(initialDelay);
322
+ }
263
323
  function connectToSocket() {
264
324
  return new Promise((resolve) => {
265
325
  if (_socket && _connected) {
@@ -286,43 +346,7 @@ function connectToSocket() {
286
346
  entry.resolve({ error: "Connection closed" });
287
347
  }
288
348
  if (!_autoReconnecting && !isBootFast()) {
289
- _autoReconnecting = true;
290
- const maxRetries = 20;
291
- let attempt = 0;
292
- const daemonDead = !isDaemonPidAlive();
293
- if (daemonDead) {
294
- debugLog("[daemon-client] Daemon PID dead \u2014 fast-path respawn (skipping jitter)");
295
- try {
296
- cleanupStaleFiles();
297
- if (acquireSpawnLock()) {
298
- try {
299
- spawnDaemon();
300
- } finally {
301
- releaseSpawnLock();
302
- }
303
- }
304
- } catch {
305
- }
306
- }
307
- const jitter = daemonDead ? () => 500 + Math.random() * 500 : () => 2e3 + Math.random() * 2e3;
308
- const initialDelay = daemonDead ? 200 : Math.random() * 2e3;
309
- setTimeout(() => {
310
- const retryTimer = setInterval(async () => {
311
- attempt++;
312
- if (attempt > maxRetries) {
313
- clearInterval(retryTimer);
314
- _autoReconnecting = false;
315
- criticalLog(`[exed-client] Auto-reconnect failed after ${maxRetries} attempts`);
316
- return;
317
- }
318
- const ok = await connectToSocket();
319
- if (ok) {
320
- clearInterval(retryTimer);
321
- _autoReconnecting = false;
322
- if (attempt > 1) debugLog(`[exed-client] Auto-reconnected to daemon (attempt ${attempt})`);
323
- }
324
- }, jitter());
325
- }, initialDelay);
349
+ startAutoReconnectLoop();
326
350
  }
327
351
  });
328
352
  socket.on("error", () => {
@@ -389,7 +413,7 @@ function sendRequest(texts, priority) {
389
413
  function sendDaemonRequest(payload, timeoutMs = REQUEST_TIMEOUT_MS) {
390
414
  return new Promise(async (resolve) => {
391
415
  if ((!_socket || !_connected) && _autoReconnecting) {
392
- const reconnectWaitMs = Math.min(3e3, timeoutMs);
416
+ const reconnectWaitMs = process.env.EXE_MCP_MODE === "1" ? Math.min(MCP_RECONNECT_WAIT_MAX_MS, timeoutMs) : Math.min(3e3, timeoutMs);
393
417
  const waitStart = Date.now();
394
418
  while (!_connected && Date.now() - waitStart < reconnectWaitMs) {
395
419
  await new Promise((r) => setTimeout(r, 500));
@@ -537,6 +561,8 @@ async function embedBatchViaClient(texts, priority = "high") {
537
561
  return !result.error && result.vectors ? result.vectors : null;
538
562
  }
539
563
  function disconnectClient() {
564
+ clearAutoReconnectTimer();
565
+ _autoReconnecting = false;
540
566
  if (_socket) {
541
567
  _socket.destroy();
542
568
  _socket = null;
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  fastDbInit
3
- } from "./chunk-HWVEDRZA.js";
3
+ } from "./chunk-QMUSJESS.js";
4
4
  import {
5
5
  sessionScopeFilter
6
- } from "./chunk-XK7HAEFC.js";
6
+ } from "./chunk-KUJGADX6.js";
7
7
  import {
8
8
  formatStatusAll,
9
9
  formatStatusDeep,
@@ -14,7 +14,7 @@ import {
14
14
  getClient,
15
15
  isCoordinatorRole,
16
16
  loadEmployees
17
- } from "./chunk-46AMZT3C.js";
17
+ } from "./chunk-QGOMYIVT.js";
18
18
  import {
19
19
  isMainModule
20
20
  } from "./chunk-6Y4B3QF6.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getDeviceInfo
3
- } from "./chunk-RYZR4NNE.js";
3
+ } from "./chunk-IHRXCNSC.js";
4
4
  import {
5
5
  EXE_AI_DIR
6
6
  } from "./chunk-7Y5UDEVM.js";
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  connectEmbedDaemon,
9
9
  embedBatchViaClient
10
- } from "./chunk-UPLY33F7.js";
10
+ } from "./chunk-BC7IIR3A.js";
11
11
  import {
12
12
  EXE_AI_DIR
13
13
  } from "./chunk-7Y5UDEVM.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  routeTask
3
- } from "./chunk-SAUO2ZLB.js";
3
+ } from "./chunk-VDUHWQFA.js";
4
4
  import {
5
5
  createTaskCore,
6
6
  employeeSessionName,
@@ -9,11 +9,11 @@ import {
9
9
  isEmployeeAlive,
10
10
  sessionScopeFilter,
11
11
  updateTaskStatus
12
- } from "./chunk-XK7HAEFC.js";
12
+ } from "./chunk-KUJGADX6.js";
13
13
  import {
14
14
  DEFAULT_COORDINATOR_TEMPLATE_NAME,
15
15
  getCoordinatorName
16
- } from "./chunk-46AMZT3C.js";
16
+ } from "./chunk-QGOMYIVT.js";
17
17
 
18
18
  // src/runtime/orchestrator.ts
19
19
  var STALE_THRESHOLD_MS = 2 * 60 * 60 * 1e3;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getIdentity,
3
3
  loadEmployeesSync
4
- } from "./chunk-46AMZT3C.js";
4
+ } from "./chunk-QGOMYIVT.js";
5
5
 
6
6
  // src/lib/drift-probes.ts
7
7
  var DRIFT_THRESHOLD = 80;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  executeAction,
3
3
  substituteTemplate
4
- } from "./chunk-TVY65H23.js";
4
+ } from "./chunk-4O3N7I5Z.js";
5
5
 
6
6
  // src/automation/workflow-engine.ts
7
7
  import { randomUUID } from "crypto";