@askexenow/exe-os 0.9.246 → 0.9.248

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 (253) hide show
  1. package/deploy/compose/docker-compose.yml +11 -3
  2. package/deploy/stack-manifests/v0.9.json +53 -1
  3. package/dist/{active-agent-KO4ZWDXE.js → active-agent-7QNK5CJZ.js} +3 -3
  4. package/dist/{active-agent-KP2O52HA.js → active-agent-DTZ6VJIR.js} +3 -3
  5. package/dist/{agentic-ontology-DXE5J6I5.js → agentic-ontology-UZK33N6I.js} +1 -1
  6. package/dist/{backfill-metadata-YPCH2VDT.js → backfill-metadata-UK6AKSDG.js} +4 -4
  7. package/dist/{behaviors-BL3QCHBT.js → behaviors-G6QHSQBN.js} +3 -3
  8. package/dist/bin/agentic-ontology-backfill.js +5 -5
  9. package/dist/bin/agentic-reflection-backfill.js +6 -6
  10. package/dist/bin/agentic-semantic-label.js +5 -5
  11. package/dist/bin/backfill-conversations.js +5 -5
  12. package/dist/bin/backfill-responses.js +5 -5
  13. package/dist/bin/backfill-vectors.js +6 -6
  14. package/dist/bin/bulk-sync-postgres.js +6 -6
  15. package/dist/bin/cc-doctor.js +2 -2
  16. package/dist/bin/cleanup-stale-review-tasks.js +9 -9
  17. package/dist/bin/cli.js +16 -16
  18. package/dist/bin/exe-agent-config.js +2 -2
  19. package/dist/bin/exe-agent.js +4 -4
  20. package/dist/bin/exe-assign.js +7 -7
  21. package/dist/bin/exe-boot.js +16 -16
  22. package/dist/bin/exe-call.js +4 -4
  23. package/dist/bin/exe-cloud.js +4 -4
  24. package/dist/bin/exe-dispatch.js +9 -9
  25. package/dist/bin/exe-doctor.js +1 -1
  26. package/dist/bin/exe-export-behaviors.js +7 -7
  27. package/dist/bin/exe-forget.js +6 -6
  28. package/dist/bin/exe-gateway.js +7 -7
  29. package/dist/bin/exe-healthcheck.js +2 -2
  30. package/dist/bin/exe-heartbeat.js +9 -9
  31. package/dist/bin/exe-kill.js +12 -12
  32. package/dist/bin/exe-launch-agent.js +16 -16
  33. package/dist/bin/exe-new-employee.js +6 -6
  34. package/dist/bin/exe-pending-messages.js +10 -10
  35. package/dist/bin/exe-pending-notifications.js +9 -9
  36. package/dist/bin/exe-pending-reviews.js +9 -9
  37. package/dist/bin/exe-rename.js +4 -4
  38. package/dist/bin/exe-review.js +11 -11
  39. package/dist/bin/exe-search.js +5 -5
  40. package/dist/bin/exe-session-cleanup.js +14 -14
  41. package/dist/bin/exe-settings.js +4 -4
  42. package/dist/bin/exe-start-codex.js +11 -11
  43. package/dist/bin/exe-start-opencode.js +8 -8
  44. package/dist/bin/exe-status.js +10 -10
  45. package/dist/bin/exe-team.js +3 -3
  46. package/dist/bin/git-sweep.js +9 -9
  47. package/dist/bin/graph-backfill.js +4 -4
  48. package/dist/bin/graph-export.js +5 -5
  49. package/dist/bin/import-history.js +7 -7
  50. package/dist/bin/install.js +6 -6
  51. package/dist/bin/intercom-check.js +4 -4
  52. package/dist/bin/mcp-sessions.js +2 -2
  53. package/dist/bin/orchestration-metrics.js +4 -4
  54. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  55. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  56. package/dist/bin/pre-publish.js +13 -2
  57. package/dist/bin/scan-tasks.js +9 -9
  58. package/dist/bin/setup.js +1 -1
  59. package/dist/bin/shard-migrate.js +4 -4
  60. package/dist/{capacity-monitor-MX24P5JT.js → capacity-monitor-WZ45OYX4.js} +10 -10
  61. package/dist/{catchup-brief-Z6Z32E6A.js → catchup-brief-KV7CWAFM.js} +11 -11
  62. package/dist/{chunk-ZGTV62EE.js → chunk-2FBIIZ6S.js} +2 -2
  63. package/dist/{chunk-ONAQAL3O.js → chunk-2NEQQCRC.js} +1 -1
  64. package/dist/{chunk-YMZHTTOQ.js → chunk-2YJSDJEH.js} +1 -1
  65. package/dist/{chunk-VHALWCUO.js → chunk-4MONXPWR.js} +1 -1
  66. package/dist/{chunk-OEMX65EA.js → chunk-5B2AEXVA.js} +1 -1
  67. package/dist/{chunk-QLDWASTX.js → chunk-5IZYSS3M.js} +4 -4
  68. package/dist/{chunk-CEJO7244.js → chunk-5U7WB4YG.js} +1 -1
  69. package/dist/{chunk-5JIG2FP2.js → chunk-5WEH43HH.js} +1 -1
  70. package/dist/{chunk-QVJ5FNBI.js → chunk-6HTHFLCZ.js} +3 -3
  71. package/dist/{chunk-ZKFPHJIJ.js → chunk-6LFFIEDM.js} +1 -1
  72. package/dist/{chunk-VRIMTCX2.js → chunk-6QMXKKFD.js} +1 -1
  73. package/dist/{chunk-LROJFFSZ.js → chunk-A5U6ER76.js} +3 -3
  74. package/dist/{chunk-FFLILAG6.js → chunk-AIXZ5O7U.js} +1 -1
  75. package/dist/{chunk-FHQSMTU4.js → chunk-B3VCJQTH.js} +2 -2
  76. package/dist/{chunk-EK3VNK35.js → chunk-BOZNNZOT.js} +5 -5
  77. package/dist/{chunk-5IQBMR2V.js → chunk-CAFJIGAZ.js} +8 -8
  78. package/dist/{chunk-QMTGMCWB.js → chunk-CIX64N7D.js} +1 -1
  79. package/dist/{chunk-VWVJVQDH.js → chunk-CQSFIQGN.js} +1 -1
  80. package/dist/{chunk-IPWA6HOZ.js → chunk-D5KEF64F.js} +2 -2
  81. package/dist/{chunk-NLGMHPEN.js → chunk-E4CCKWZN.js} +1 -1
  82. package/dist/{chunk-JXI4XUTV.js → chunk-FCII2MMI.js} +1 -1
  83. package/dist/{chunk-NVZR7T4E.js → chunk-FTNNNAMH.js} +1 -1
  84. package/dist/{chunk-P7GRGLNV.js → chunk-FXPTI5UY.js} +1 -1
  85. package/dist/{chunk-CC4RTOVL.js → chunk-IRK7IICO.js} +3 -3
  86. package/dist/{chunk-HBIO3RKF.js → chunk-KSTM7JVP.js} +3 -3
  87. package/dist/{chunk-KN7LPTIB.js → chunk-LBRIPVY3.js} +38 -4
  88. package/dist/{chunk-ENVRFBTB.js → chunk-LGFB67MY.js} +1 -1
  89. package/dist/{chunk-WCXZF42W.js → chunk-LL2ARYTZ.js} +1 -1
  90. package/dist/{chunk-UWGJ3ZLP.js → chunk-LO2H7J5S.js} +3 -3
  91. package/dist/{chunk-BSPOEYAO.js → chunk-LPK5JPME.js} +1 -1
  92. package/dist/{chunk-4LJIFVLX.js → chunk-MOTVVPK6.js} +1 -1
  93. package/dist/{chunk-ZVXJSQOR.js → chunk-MRZE5IOP.js} +1 -1
  94. package/dist/{chunk-JO6EILLF.js → chunk-MWQW2QV4.js} +82 -82
  95. package/dist/{chunk-K423J5RE.js → chunk-NA5XVCFX.js} +8 -8
  96. package/dist/{chunk-JHR3MR3S.js → chunk-NZBGWKVC.js} +8 -8
  97. package/dist/{chunk-RY3RVDBK.js → chunk-O2MBCA6W.js} +2 -2
  98. package/dist/{chunk-VNBYL5HB.js → chunk-OTLK73GO.js} +4 -4
  99. package/dist/{chunk-AYPCH26U.js → chunk-QR7HOUVS.js} +1 -1
  100. package/dist/{chunk-JLNXKG3K.js → chunk-R7FBOZT5.js} +1 -1
  101. package/dist/{chunk-5WK7X5CF.js → chunk-RQI5TG5F.js} +1 -1
  102. package/dist/{chunk-QZIOX5KX.js → chunk-SCNNQJR7.js} +2 -2
  103. package/dist/{chunk-GHEWRYMY.js → chunk-SD2R3SEA.js} +1 -1
  104. package/dist/{chunk-MG6JXDAT.js → chunk-SJ27UI23.js} +1 -1
  105. package/dist/{chunk-A7UWQXYD.js → chunk-SVL3IDO5.js} +5 -5
  106. package/dist/{chunk-GO2O5J42.js → chunk-T2UKG7XV.js} +1 -1
  107. package/dist/{chunk-VUTIP75I.js → chunk-TPP2X2LO.js} +2 -2
  108. package/dist/{chunk-73UE2PHT.js → chunk-TVTRMINO.js} +1 -1
  109. package/dist/{chunk-66AQSKG7.js → chunk-UEYKJ7DB.js} +11 -11
  110. package/dist/{chunk-LZR2MD6I.js → chunk-UIZVCAH6.js} +2 -2
  111. package/dist/{chunk-HCBMPZDT.js → chunk-USLVSLQ5.js} +1 -1
  112. package/dist/{chunk-I5PIBL56.js → chunk-VFATLVRX.js} +1 -1
  113. package/dist/{chunk-MCESA5UW.js → chunk-VGWQBI76.js} +1 -1
  114. package/dist/{chunk-K2BDE2B5.js → chunk-VKCZ3OGM.js} +4 -4
  115. package/dist/{chunk-XGJ5QYBU.js → chunk-VPT7YJJU.js} +10 -10
  116. package/dist/{chunk-EVBXUKAU.js → chunk-VPYHCC5K.js} +1 -1
  117. package/dist/{chunk-F3GM6OOP.js → chunk-VRWOLLKN.js} +2 -2
  118. package/dist/{chunk-57SULZJ2.js → chunk-WIRJ574R.js} +2 -2
  119. package/dist/{chunk-JLKUVK5J.js → chunk-X3SS45PO.js} +1 -1
  120. package/dist/{chunk-QUZVAHO7.js → chunk-X4T7LR2X.js} +2 -2
  121. package/dist/{chunk-6BRFIYYW.js → chunk-XVEVB5D7.js} +3 -3
  122. package/dist/{chunk-AJAEUU76.js → chunk-YAHDK57Z.js} +4 -4
  123. package/dist/{chunk-RCDV3PYU.js → chunk-YJMAQ2WJ.js} +2 -2
  124. package/dist/{chunk-RRHSONV5.js → chunk-Z6GHDYQI.js} +4 -0
  125. package/dist/{chunk-U7WOVXBB.js → chunk-ZG3HADWE.js} +1 -1
  126. package/dist/{chunk-Q2OAQPWY.js → chunk-ZTB6E2ZL.js} +1 -1
  127. package/dist/{co-activation-L6I2LSJO.js → co-activation-AIVMI5U2.js} +2 -2
  128. package/dist/{co-occurrence-QARWYUAY.js → co-occurrence-L6QOQTJB.js} +2 -2
  129. package/dist/{code-context-index-UIYQRDHD.js → code-context-index-DYHYVJHX.js} +2 -2
  130. package/dist/{crdt-sync-R6YROKDH.js → crdt-sync-YBMDPFNT.js} +1 -1
  131. package/dist/{crm-webhook-YUFMGYQ4.js → crm-webhook-TPOTOHWY.js} +2 -2
  132. package/dist/{cto-delegation-gate-R7Y6DK4U.js → cto-delegation-gate-E5R3YKIJ.js} +8 -8
  133. package/dist/{daemon-orchestration-FR3LV4G3.js → daemon-orchestration-KDSJS7WA.js} +12 -12
  134. package/dist/{db-backup-EWS52P2W.js → db-backup-7UMCTS44.js} +1 -1
  135. package/dist/{dreaming-2KKKDADN.js → dreaming-FMX36SR3.js} +9 -9
  136. package/dist/{exe-drift-WRE6RADZ.js → exe-drift-OH3WV2ZQ.js} +3 -3
  137. package/dist/{exe-export-M2VOFX25.js → exe-export-VESUZYBQ.js} +5 -5
  138. package/dist/{exe-import-2SKHXCJX.js → exe-import-QT5P2DS6.js} +5 -5
  139. package/dist/{exe-key-LKNPA5SQ.js → exe-key-O2Z3XA3H.js} +2 -2
  140. package/dist/{exe-snapshot-YSVZSTRN.js → exe-snapshot-KA5PHQ3G.js} +12 -12
  141. package/dist/{fast-db-init-ODXXUTSD.js → fast-db-init-H35LIFCV.js} +1 -1
  142. package/dist/gateway/index.js +8 -8
  143. package/dist/{git-staleness-BJDTCDPC.js → git-staleness-YVWDCFIE.js} +2 -2
  144. package/dist/{git-task-sweep-XTWQO64K.js → git-task-sweep-DGRGDDIL.js} +9 -9
  145. package/dist/{global-procedures-HCHEHKY2.js → global-procedures-FCGWAFES.js} +3 -3
  146. package/dist/{graph-auto-extract-FP5C76LS.js → graph-auto-extract-RUQC5IIS.js} +2 -2
  147. package/dist/hooks/bug-report-worker.js +11 -11
  148. package/dist/hooks/codex-stop-task-finalizer.js +11 -11
  149. package/dist/hooks/commit-complete.js +11 -11
  150. package/dist/hooks/error-recall.js +6 -6
  151. package/dist/hooks/exe-heartbeat-hook.js +3 -3
  152. package/dist/hooks/ingest-worker.js +2 -2
  153. package/dist/hooks/ingest.js +6 -6
  154. package/dist/hooks/instructions-loaded.js +4 -4
  155. package/dist/hooks/manifest.json +20 -20
  156. package/dist/hooks/notification.js +4 -4
  157. package/dist/hooks/post-compact.js +10 -10
  158. package/dist/hooks/post-tool-combined.js +6 -6
  159. package/dist/hooks/pre-compact.js +13 -13
  160. package/dist/hooks/pre-tool-use.js +14 -14
  161. package/dist/hooks/prompt-submit.js +28 -23
  162. package/dist/hooks/session-end.js +18 -18
  163. package/dist/hooks/session-start.js +10 -10
  164. package/dist/hooks/stop.js +17 -17
  165. package/dist/hooks/subagent-stop.js +10 -10
  166. package/dist/hooks/summary-worker.js +16 -16
  167. package/dist/index.js +17 -17
  168. package/dist/{installer-AWMUCRN4.js → installer-34DCTB5B.js} +5 -5
  169. package/dist/{installer-RU6EVOBL.js → installer-7SMJC3SX.js} +5 -5
  170. package/dist/{installer-HB3NH6FG.js → installer-GFZVC43I.js} +5 -5
  171. package/dist/lib/cloud-sync.js +4 -4
  172. package/dist/lib/consolidation.js +5 -5
  173. package/dist/lib/database.js +2 -2
  174. package/dist/lib/db-daemon-client.js +1 -1
  175. package/dist/lib/db.js +2 -2
  176. package/dist/lib/embedder.js +2 -2
  177. package/dist/lib/employee-templates.js +4 -4
  178. package/dist/lib/employees.js +2 -2
  179. package/dist/lib/exe-daemon-client.js +3 -1
  180. package/dist/lib/exe-daemon.js +34 -34
  181. package/dist/lib/hybrid-search.js +5 -5
  182. package/dist/lib/identity.js +2 -2
  183. package/dist/lib/messaging.js +9 -9
  184. package/dist/lib/reminders.js +3 -3
  185. package/dist/lib/schedules.js +5 -5
  186. package/dist/lib/session-registry.js +4 -4
  187. package/dist/lib/skill-learning.js +4 -4
  188. package/dist/lib/store.js +4 -4
  189. package/dist/lib/task-router.js +3 -3
  190. package/dist/lib/tasks.js +10 -10
  191. package/dist/lib/tmux-routing.js +8 -8
  192. package/dist/lib/token-spend.js +3 -3
  193. package/dist/mcp/register-tools.js +57 -57
  194. package/dist/mcp/server.js +58 -58
  195. package/dist/mcp/tools/complete-reminder.js +4 -4
  196. package/dist/mcp/tools/create-reminder.js +4 -4
  197. package/dist/mcp/tools/create-task.js +12 -12
  198. package/dist/mcp/tools/deactivate-behavior.js +5 -5
  199. package/dist/mcp/tools/list-reminders.js +4 -4
  200. package/dist/mcp/tools/list-tasks.js +12 -12
  201. package/dist/mcp/tools/send-message.js +11 -11
  202. package/dist/mcp/tools/update-task.js +11 -11
  203. package/dist/{mcp-http-config-XIJR5P2Z.js → mcp-http-config-MZMHKMJC.js} +3 -3
  204. package/dist/{memory-cards-H4BJJ5OK.js → memory-cards-3SFXU6IP.js} +2 -2
  205. package/dist/{memory-graph-extractor-SDGM3GVR.js → memory-graph-extractor-T57YQQCW.js} +3 -3
  206. package/dist/{memory-poisoning-defense-UVU67DGJ.js → memory-poisoning-defense-O53AHMTZ.js} +2 -2
  207. package/dist/{memory-queue-client-JZCFYTWQ.js → memory-queue-client-ITWQIFSD.js} +2 -2
  208. package/dist/{memory-reflection-GGB5K35L.js → memory-reflection-YPP2JC2S.js} +2 -2
  209. package/dist/{notifications-Q7ZBG2CR.js → notifications-MYH6GD74.js} +8 -8
  210. package/dist/{orchestration-events-25WEKUKH.js → orchestration-events-A5D52NXX.js} +3 -3
  211. package/dist/{orchestrator-PZ322OZT.js → orchestrator-YGCIRYFV.js} +10 -10
  212. package/dist/{pipeline-router-TUMTOJUC.js → pipeline-router-SQNAKH3W.js} +3 -3
  213. package/dist/{plan-limits-DGIVM42H.js → plan-limits-ANAVC6PM.js} +3 -3
  214. package/dist/{projection-worker-GG2W5OM3.js → projection-worker-O3HBG5QK.js} +1 -1
  215. package/dist/{reranker-VEXZ2QP4.js → reranker-XGST4QWE.js} +1 -1
  216. package/dist/{review-polling-PHS23C5B.js → review-polling-NJLHANZP.js} +9 -9
  217. package/dist/runtime/index.js +11 -11
  218. package/dist/{session-events-XVWTYBYG.js → session-events-R4U6QMEP.js} +9 -9
  219. package/dist/{session-kill-telemetry-7FBHTEDN.js → session-kill-telemetry-AL3H4ELS.js} +3 -3
  220. package/dist/{session-scope-PUMBI74U.js → session-scope-6PZE6QHM.js} +8 -8
  221. package/dist/{setup-wizard-BNR47URR.js → setup-wizard-HXTADFXI.js} +1 -1
  222. package/dist/{skill-refinement-D3ZYCYS4.js → skill-refinement-YFYK3BD2.js} +2 -2
  223. package/dist/{steward-gate-L7DJMF4C.js → steward-gate-HSV67KLF.js} +3 -3
  224. package/dist/{task-enforcement-WAMGSZ4S.js → task-enforcement-BZZ2TYAR.js} +8 -8
  225. package/dist/{task-scope-AE6U7XGY.js → task-scope-MDQTTLHS.js} +8 -8
  226. package/dist/{tasks-crud-6GYPBGJP.js → tasks-crud-7F7ICEOA.js} +8 -8
  227. package/dist/{tasks-notify-PMDNAHGC.js → tasks-notify-KANCGCFV.js} +9 -9
  228. package/dist/{tasks-review-KRZ3UF5X.js → tasks-review-7POLLSQS.js} +8 -8
  229. package/dist/{telemetry-upload-NJ33742S.js → telemetry-upload-4PYVAB4Q.js} +5 -5
  230. package/dist/{token-budget-D2LQKCAV.js → token-budget-VODGJYKX.js} +2 -2
  231. package/dist/{tool-capability-index-FAJ5ZHDF.js → tool-capability-index-PZWWVABO.js} +1 -1
  232. package/dist/{tool-telemetry-QIF5BCLF.js → tool-telemetry-5BSTF3P6.js} +1 -1
  233. package/dist/tui/App.js +16 -16
  234. package/dist/{tui-data-WTWJLP57.js → tui-data-GIAVZJJF.js} +8 -8
  235. package/dist/{worker-gate-MSTTXGOE.js → worker-gate-UD4MNUKK.js} +1 -1
  236. package/dist/{workflow-engine-BRQHDTN7.js → workflow-engine-WY5VEVF3.js} +2 -2
  237. package/dist/{worktree-RICSCT2S.js → worktree-3N5BPITS.js} +4 -4
  238. package/package.json +1 -1
  239. package/release-notes.json +46 -133
  240. /package/dist/{chunk-VBPC7IC7.js → chunk-4S5TEBXD.js} +0 -0
  241. /package/dist/{chunk-IZVKWBIP.js → chunk-AWVDA2FL.js} +0 -0
  242. /package/dist/{chunk-UED2CGZ3.js → chunk-BCCJYW6O.js} +0 -0
  243. /package/dist/{chunk-U3DUFHOT.js → chunk-CCPCIW4Z.js} +0 -0
  244. /package/dist/{chunk-CBDPEJOR.js → chunk-GBHQ5TXO.js} +0 -0
  245. /package/dist/{chunk-AWRL5FGM.js → chunk-ITPIBVSG.js} +0 -0
  246. /package/dist/{chunk-HSWOCMNX.js → chunk-RS7EAZ2R.js} +0 -0
  247. /package/dist/{chunk-PXK2SQRS.js → chunk-VA5BKLNY.js} +0 -0
  248. /package/dist/{chunk-XAYRZHLV.js → chunk-Y2FVN7CX.js} +0 -0
  249. /package/dist/{core-memory-TXVA3CVH.js → core-memory-O5SPRBHB.js} +0 -0
  250. /package/dist/{entity-boost-6ZVX7DFB.js → entity-boost-RTYXAOWV.js} +0 -0
  251. /package/dist/{message-queue-client-S6W5VMJV.js → message-queue-client-2CACBUA4.js} +0 -0
  252. /package/dist/{project-boot-4ZL2W7DN.js → project-boot-ENMCAL7G.js} +0 -0
  253. /package/dist/{wiki-acl-MFLSS6DE.js → wiki-acl-MS7QLQCR.js} +0 -0
@@ -1,28 +1,28 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  queryTaskRows
4
- } from "../chunk-66AQSKG7.js";
5
- import "../chunk-ZKFPHJIJ.js";
4
+ } from "../chunk-UEYKJ7DB.js";
5
+ import "../chunk-6LFFIEDM.js";
6
6
  import "../chunk-5CHYEKMH.js";
7
7
  import "../chunk-4JERP7NT.js";
8
- import "../chunk-GHEWRYMY.js";
8
+ import "../chunk-SD2R3SEA.js";
9
9
  import "../chunk-MVW62NIZ.js";
10
10
  import "../chunk-OYNKIAVW.js";
11
11
  import "../chunk-CX6GL3ZJ.js";
12
- import "../chunk-HCBMPZDT.js";
12
+ import "../chunk-USLVSLQ5.js";
13
13
  import "../chunk-XJUUWHVN.js";
14
14
  import "../chunk-NGP6LSV2.js";
15
- import "../chunk-I5PIBL56.js";
15
+ import "../chunk-VFATLVRX.js";
16
16
  import {
17
17
  getSessionRuntime
18
18
  } from "../chunk-CVYC6DUW.js";
19
19
  import "../chunk-OPU3NYOO.js";
20
20
  import "../chunk-GJV3WDWM.js";
21
21
  import "../chunk-MP2AFCGL.js";
22
- import "../chunk-JLNXKG3K.js";
22
+ import "../chunk-R7FBOZT5.js";
23
23
  import "../chunk-HYZV25LY.js";
24
- import "../chunk-CEJO7244.js";
25
- import "../chunk-AWRL5FGM.js";
24
+ import "../chunk-5U7WB4YG.js";
25
+ import "../chunk-ITPIBVSG.js";
26
26
  import "../chunk-FXU7JOXK.js";
27
27
  import "../chunk-MOZ2YQ54.js";
28
28
  import "../chunk-VXIMSRTO.js";
@@ -73,7 +73,7 @@ function checkMcpHealth() {
73
73
  }
74
74
  }
75
75
  async function scanFromDb(agentId, tmuxSession, projectName) {
76
- const { fastDbInit } = await import("../fast-db-init-ODXXUTSD.js");
76
+ const { fastDbInit } = await import("../fast-db-init-H35LIFCV.js");
77
77
  try {
78
78
  await fastDbInit();
79
79
  } catch (err) {
package/dist/bin/setup.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runSetupWizard
4
- } from "../chunk-CBDPEJOR.js";
4
+ } from "../chunk-GBHQ5TXO.js";
5
5
  import "../chunk-K333WOW4.js";
6
6
  import "../chunk-VXIMSRTO.js";
7
7
  import "../chunk-LYH5HE24.js";
@@ -8,15 +8,15 @@ import {
8
8
  import {
9
9
  disposeStore,
10
10
  initStore
11
- } from "../chunk-5IQBMR2V.js";
11
+ } from "../chunk-CAFJIGAZ.js";
12
12
  import "../chunk-CHCA3ZM2.js";
13
- import "../chunk-IZVKWBIP.js";
13
+ import "../chunk-AWVDA2FL.js";
14
14
  import "../chunk-Y25OJWOQ.js";
15
15
  import "../chunk-MP2AFCGL.js";
16
16
  import {
17
17
  getClient
18
- } from "../chunk-CEJO7244.js";
19
- import "../chunk-AWRL5FGM.js";
18
+ } from "../chunk-5U7WB4YG.js";
19
+ import "../chunk-ITPIBVSG.js";
20
20
  import "../chunk-FXU7JOXK.js";
21
21
  import {
22
22
  getMasterKey
@@ -8,28 +8,28 @@ import {
8
8
  isAtCapacity,
9
9
  isWithinRelaunchCooldown,
10
10
  pollCapacityDead
11
- } from "./chunk-EK3VNK35.js";
12
- import "./chunk-VRIMTCX2.js";
13
- import "./chunk-66AQSKG7.js";
14
- import "./chunk-ZKFPHJIJ.js";
11
+ } from "./chunk-BOZNNZOT.js";
12
+ import "./chunk-6QMXKKFD.js";
13
+ import "./chunk-UEYKJ7DB.js";
14
+ import "./chunk-6LFFIEDM.js";
15
15
  import "./chunk-5CHYEKMH.js";
16
16
  import "./chunk-4JERP7NT.js";
17
- import "./chunk-GHEWRYMY.js";
17
+ import "./chunk-SD2R3SEA.js";
18
18
  import "./chunk-MVW62NIZ.js";
19
19
  import "./chunk-OYNKIAVW.js";
20
20
  import "./chunk-CX6GL3ZJ.js";
21
- import "./chunk-HCBMPZDT.js";
21
+ import "./chunk-USLVSLQ5.js";
22
22
  import "./chunk-XJUUWHVN.js";
23
23
  import "./chunk-NGP6LSV2.js";
24
- import "./chunk-I5PIBL56.js";
24
+ import "./chunk-VFATLVRX.js";
25
25
  import "./chunk-CVYC6DUW.js";
26
26
  import "./chunk-OPU3NYOO.js";
27
27
  import "./chunk-GJV3WDWM.js";
28
28
  import "./chunk-MP2AFCGL.js";
29
- import "./chunk-JLNXKG3K.js";
29
+ import "./chunk-R7FBOZT5.js";
30
30
  import "./chunk-HYZV25LY.js";
31
- import "./chunk-CEJO7244.js";
32
- import "./chunk-AWRL5FGM.js";
31
+ import "./chunk-5U7WB4YG.js";
32
+ import "./chunk-ITPIBVSG.js";
33
33
  import "./chunk-FXU7JOXK.js";
34
34
  import "./chunk-MOZ2YQ54.js";
35
35
  import "./chunk-VXIMSRTO.js";
@@ -1,35 +1,35 @@
1
1
  import {
2
2
  lightweightSearch
3
- } from "./chunk-XGJ5QYBU.js";
4
- import "./chunk-5IQBMR2V.js";
3
+ } from "./chunk-VPT7YJJU.js";
4
+ import "./chunk-CAFJIGAZ.js";
5
5
  import "./chunk-CHCA3ZM2.js";
6
- import "./chunk-IZVKWBIP.js";
6
+ import "./chunk-AWVDA2FL.js";
7
7
  import "./chunk-Y25OJWOQ.js";
8
8
  import {
9
9
  sessionScopeFilter,
10
10
  strictSessionScopeFilter
11
- } from "./chunk-66AQSKG7.js";
12
- import "./chunk-ZKFPHJIJ.js";
11
+ } from "./chunk-UEYKJ7DB.js";
12
+ import "./chunk-6LFFIEDM.js";
13
13
  import "./chunk-5CHYEKMH.js";
14
14
  import "./chunk-4JERP7NT.js";
15
- import "./chunk-GHEWRYMY.js";
15
+ import "./chunk-SD2R3SEA.js";
16
16
  import "./chunk-MVW62NIZ.js";
17
17
  import "./chunk-OYNKIAVW.js";
18
18
  import "./chunk-CX6GL3ZJ.js";
19
- import "./chunk-HCBMPZDT.js";
19
+ import "./chunk-USLVSLQ5.js";
20
20
  import "./chunk-XJUUWHVN.js";
21
21
  import "./chunk-NGP6LSV2.js";
22
- import "./chunk-I5PIBL56.js";
22
+ import "./chunk-VFATLVRX.js";
23
23
  import "./chunk-CVYC6DUW.js";
24
24
  import "./chunk-OPU3NYOO.js";
25
25
  import "./chunk-GJV3WDWM.js";
26
26
  import "./chunk-MP2AFCGL.js";
27
- import "./chunk-JLNXKG3K.js";
27
+ import "./chunk-R7FBOZT5.js";
28
28
  import "./chunk-HYZV25LY.js";
29
29
  import {
30
30
  getClient
31
- } from "./chunk-CEJO7244.js";
32
- import "./chunk-AWRL5FGM.js";
31
+ } from "./chunk-5U7WB4YG.js";
32
+ import "./chunk-ITPIBVSG.js";
33
33
  import "./chunk-FXU7JOXK.js";
34
34
  import "./chunk-K333WOW4.js";
35
35
  import "./chunk-MOZ2YQ54.js";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  vectorToBlob
3
- } from "./chunk-5IQBMR2V.js";
3
+ } from "./chunk-CAFJIGAZ.js";
4
4
  import {
5
5
  extractKeywords,
6
6
  keywordsToString
7
7
  } from "./chunk-CHCA3ZM2.js";
8
8
  import {
9
9
  isCoordinatorName
10
- } from "./chunk-CEJO7244.js";
10
+ } from "./chunk-5U7WB4YG.js";
11
11
 
12
12
  // src/lib/consolidation.ts
13
13
  import { randomUUID } from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-CEJO7244.js";
3
+ } from "./chunk-5U7WB4YG.js";
4
4
 
5
5
  // src/lib/behaviors.ts
6
6
  import crypto from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-CEJO7244.js";
3
+ } from "./chunk-5U7WB4YG.js";
4
4
 
5
5
  // src/lib/reminders.ts
6
6
  import crypto from "crypto";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getIdentity,
3
3
  loadEmployeesSync
4
- } from "./chunk-CEJO7244.js";
4
+ } from "./chunk-5U7WB4YG.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
  clean,
3
3
  stableId
4
- } from "./chunk-XAYRZHLV.js";
4
+ } from "./chunk-Y2FVN7CX.js";
5
5
 
6
6
  // src/lib/reflection-checkpoints.ts
7
7
  function parsePayload(payload) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isCrdtSyncEnabled
3
- } from "./chunk-JXI4XUTV.js";
3
+ } from "./chunk-FCII2MMI.js";
4
4
  import {
5
5
  decryptSyncBlob,
6
6
  encryptSyncBlob,
@@ -12,7 +12,7 @@ import {
12
12
  loadEmployees,
13
13
  registerBinSymlinks,
14
14
  saveEmployees
15
- } from "./chunk-CEJO7244.js";
15
+ } from "./chunk-5U7WB4YG.js";
16
16
  import {
17
17
  loadDeviceId
18
18
  } from "./chunk-MOZ2YQ54.js";
@@ -521,7 +521,7 @@ async function cloudSync(config) {
521
521
  let pulled = 0;
522
522
  if (pullResult.records.length > 0) {
523
523
  if (shouldUseCrdtMergeForCloudSync()) {
524
- const { initCrdtDoc, importExistingMemories, readAllMemories } = await import("./crdt-sync-R6YROKDH.js");
524
+ const { initCrdtDoc, importExistingMemories, readAllMemories } = await import("./crdt-sync-YBMDPFNT.js");
525
525
  initCrdtDoc();
526
526
  importExistingMemories(
527
527
  pullResult.records.map((rec) => ({
@@ -953,7 +953,7 @@ async function cloudSync(config) {
953
953
  }
954
954
  const totalMemories = await countRows("SELECT COUNT(*) as cnt FROM memories WHERE status = 'active' OR status IS NULL");
955
955
  try {
956
- const { getLatestBackup } = await import("./db-backup-EWS52P2W.js");
956
+ const { getLatestBackup } = await import("./db-backup-7UMCTS44.js");
957
957
  const latestBackup = getLatestBackup();
958
958
  if (latestBackup) {
959
959
  const backupSize = statSync(latestBackup).size;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  listBackups
3
- } from "./chunk-AWRL5FGM.js";
3
+ } from "./chunk-ITPIBVSG.js";
4
4
  import {
5
5
  EMBEDDING_DIM
6
6
  } from "./chunk-FXU7JOXK.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isCoordinatorRole
3
- } from "./chunk-CEJO7244.js";
3
+ } from "./chunk-5U7WB4YG.js";
4
4
 
5
5
  // src/lib/task-router.ts
6
6
  import { randomUUID } from "crypto";
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  extractMemoryGraph
3
- } from "./chunk-QUZVAHO7.js";
3
+ } from "./chunk-X4T7LR2X.js";
4
4
  import {
5
5
  flushBatch,
6
6
  writeMemory
7
- } from "./chunk-5IQBMR2V.js";
7
+ } from "./chunk-CAFJIGAZ.js";
8
8
  import {
9
9
  extractKeywords
10
10
  } from "./chunk-CHCA3ZM2.js";
11
11
  import {
12
12
  getActiveAgent
13
- } from "./chunk-MCESA5UW.js";
13
+ } from "./chunk-VGWQBI76.js";
14
14
 
15
15
  // src/mcp/tools/import-conversations.ts
16
16
  import { z } from "zod";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  recordOrchestrationEventBestEffort
3
- } from "./chunk-HCBMPZDT.js";
3
+ } from "./chunk-USLVSLQ5.js";
4
4
 
5
5
  // src/lib/worktree.ts
6
6
  import { execSync } from "child_process";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-CEJO7244.js";
3
+ } from "./chunk-5U7WB4YG.js";
4
4
 
5
5
  // src/lib/session-kill-telemetry.ts
6
6
  import crypto from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  routeTask
3
- } from "./chunk-5JIG2FP2.js";
3
+ } from "./chunk-5WEH43HH.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-66AQSKG7.js";
12
+ } from "./chunk-UEYKJ7DB.js";
13
13
  import {
14
14
  DEFAULT_COORDINATOR_TEMPLATE_NAME,
15
15
  getCoordinatorName
16
- } from "./chunk-CEJO7244.js";
16
+ } from "./chunk-5U7WB4YG.js";
17
17
 
18
18
  // src/runtime/orchestrator.ts
19
19
  var STALE_THRESHOLD_MS = 2 * 60 * 60 * 1e3;
@@ -2,7 +2,7 @@ import {
2
2
  getClient,
3
3
  isCoordinatorName,
4
4
  loadEmployeesSync
5
- } from "./chunk-CEJO7244.js";
5
+ } from "./chunk-5U7WB4YG.js";
6
6
 
7
7
  // src/lib/steward-gate.ts
8
8
  import crypto from "crypto";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  sendMessage
3
- } from "./chunk-6BRFIYYW.js";
3
+ } from "./chunk-XVEVB5D7.js";
4
4
  import {
5
5
  getActiveAgent
6
- } from "./chunk-MCESA5UW.js";
6
+ } from "./chunk-VGWQBI76.js";
7
7
 
8
8
  // src/mcp/tools/send-message.ts
9
9
  import { z } from "zod";
@@ -1,24 +1,24 @@
1
1
  import {
2
2
  recordSessionKill
3
- } from "./chunk-VRIMTCX2.js";
3
+ } from "./chunk-6QMXKKFD.js";
4
4
  import {
5
5
  sessionScopeFilter,
6
6
  verifyPaneAtCapacity,
7
7
  writeNotification
8
- } from "./chunk-66AQSKG7.js";
8
+ } from "./chunk-UEYKJ7DB.js";
9
9
  import {
10
10
  listSessions
11
- } from "./chunk-GHEWRYMY.js";
11
+ } from "./chunk-SD2R3SEA.js";
12
12
  import {
13
13
  getTransport
14
14
  } from "./chunk-MVW62NIZ.js";
15
15
  import {
16
16
  recordOrchestrationEventBestEffort
17
- } from "./chunk-HCBMPZDT.js";
17
+ } from "./chunk-USLVSLQ5.js";
18
18
  import {
19
19
  getClient,
20
20
  isCoordinatorName
21
- } from "./chunk-CEJO7244.js";
21
+ } from "./chunk-5U7WB4YG.js";
22
22
 
23
23
  // src/lib/capacity-monitor.ts
24
24
  var CAPACITY_PATTERNS = [
@@ -6,7 +6,7 @@ import {
6
6
  findScopedDuplicate,
7
7
  governMemoryRecord,
8
8
  schedulePostWriteMemoryHygiene
9
- } from "./chunk-IZVKWBIP.js";
9
+ } from "./chunk-AWVDA2FL.js";
10
10
  import {
11
11
  orgBus
12
12
  } from "./chunk-MP2AFCGL.js";
@@ -15,7 +15,7 @@ import {
15
15
  ensureSchema,
16
16
  getClient,
17
17
  initTurso
18
- } from "./chunk-CEJO7244.js";
18
+ } from "./chunk-5U7WB4YG.js";
19
19
  import {
20
20
  EMBEDDING_DIM
21
21
  } from "./chunk-FXU7JOXK.js";
@@ -65,7 +65,7 @@ function recordShardFailure(project, error) {
65
65
  `[store] Shard circuit OPEN for "${project}" after ${state.failures} consecutive failures. Will retry in ${SHARD_CB_COOLDOWN_MS / 6e4}min. Last error: ${error}
66
66
  `
67
67
  );
68
- void import("./orchestration-events-25WEKUKH.js").then(({ recordOrchestrationEventBestEffort }) => {
68
+ void import("./orchestration-events-A5D52NXX.js").then(({ recordOrchestrationEventBestEffort }) => {
69
69
  recordOrchestrationEventBestEffort({
70
70
  eventType: "shard.circuit_open",
71
71
  source: "store.recordShardFailure",
@@ -162,7 +162,7 @@ async function initStore(options) {
162
162
  );
163
163
  _nextVersion = (Number(vResult.rows[0]?.max_v) || 0) + 1;
164
164
  try {
165
- const { loadGlobalProcedures } = await import("./global-procedures-HCHEHKY2.js");
165
+ const { loadGlobalProcedures } = await import("./global-procedures-FCGWAFES.js");
166
166
  await loadGlobalProcedures();
167
167
  } catch (e) {
168
168
  logStoreWarn("catch", e);
@@ -290,7 +290,7 @@ async function writeMemory(record) {
290
290
  founder_id: record.founder_id ?? null
291
291
  };
292
292
  try {
293
- const { checkMemoryPoisoning } = await import("./memory-poisoning-defense-UVU67DGJ.js");
293
+ const { checkMemoryPoisoning } = await import("./memory-poisoning-defense-O53AHMTZ.js");
294
294
  const poisonResult = await checkMemoryPoisoning({
295
295
  memoryId: dbRow.id,
296
296
  vector: Array.isArray(dbRow.vector) ? dbRow.vector : void 0,
@@ -478,19 +478,19 @@ async function flushBatch() {
478
478
  }
479
479
  _nextVersion = baseVersion;
480
480
  try {
481
- const { insertMemoryCardsForBatch } = await import("./memory-cards-H4BJJ5OK.js");
481
+ const { insertMemoryCardsForBatch } = await import("./memory-cards-3SFXU6IP.js");
482
482
  await insertMemoryCardsForBatch(batch);
483
483
  } catch (e) {
484
484
  logStoreWarn("catch", e);
485
485
  }
486
486
  try {
487
- const { insertOntologyForBatch } = await import("./agentic-ontology-DXE5J6I5.js");
487
+ const { insertOntologyForBatch } = await import("./agentic-ontology-UZK33N6I.js");
488
488
  await insertOntologyForBatch(batch);
489
489
  } catch (e) {
490
490
  logStoreWarn("catch", e);
491
491
  }
492
492
  try {
493
- const { extractGraphForBatch } = await import("./memory-graph-extractor-SDGM3GVR.js");
493
+ const { extractGraphForBatch } = await import("./memory-graph-extractor-T57YQQCW.js");
494
494
  await extractGraphForBatch(batch);
495
495
  } catch (e) {
496
496
  logStoreWarn("catch", e);
@@ -2,7 +2,7 @@ import {
2
2
  connectEmbedDaemon,
3
3
  disconnectClient,
4
4
  embedViaClient
5
- } from "./chunk-RRHSONV5.js";
5
+ } from "./chunk-Z6GHDYQI.js";
6
6
  import {
7
7
  EMBEDDING_DIM
8
8
  } from "./chunk-FXU7JOXK.js";
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  connectEmbedDaemon,
9
9
  embedBatchViaClient
10
- } from "./chunk-RRHSONV5.js";
10
+ } from "./chunk-Z6GHDYQI.js";
11
11
  import {
12
12
  EXE_AI_DIR
13
13
  } from "./chunk-VXIMSRTO.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  initStore
3
- } from "./chunk-5IQBMR2V.js";
3
+ } from "./chunk-CAFJIGAZ.js";
4
4
  import {
5
5
  getClient,
6
6
  isInitialized
7
- } from "./chunk-CEJO7244.js";
7
+ } from "./chunk-5U7WB4YG.js";
8
8
 
9
9
  // src/lib/schedules.ts
10
10
  import crypto from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  listReminders
3
- } from "./chunk-YMZHTTOQ.js";
3
+ } from "./chunk-2YJSDJEH.js";
4
4
 
5
5
  // src/mcp/tools/list-reminders.ts
6
6
  import { z } from "zod";
@@ -169,7 +169,7 @@ function persistState() {
169
169
  }
170
170
  }
171
171
  function isCrdtSyncEnabled() {
172
- return process.env.EXE_CRDT_SYNC !== "0";
172
+ return process.env.EXE_CRDT_SYNC === "1";
173
173
  }
174
174
  async function rebuildFromDb() {
175
175
  const { getClient } = await import("./lib/database.js");
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-K77WC6HA.js";
5
5
  import {
6
6
  getClient
7
- } from "./chunk-CEJO7244.js";
7
+ } from "./chunk-5U7WB4YG.js";
8
8
 
9
9
  // src/lib/global-procedures.ts
10
10
  import { randomUUID } from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  processCRMEvent
3
- } from "./chunk-UED2CGZ3.js";
3
+ } from "./chunk-BCCJYW6O.js";
4
4
 
5
5
  // src/gateway/adapters/crm-webhook.ts
6
6
  function parseTwentyWebhook(payload) {
@@ -859,7 +859,7 @@ function formatReport(report, flags) {
859
859
  return lines.join("\n");
860
860
  }
861
861
  async function fixNullVectors() {
862
- const { tryAcquireWorkerSlot, registerWorkerPid } = await import("./worker-gate-MSTTXGOE.js");
862
+ const { tryAcquireWorkerSlot, registerWorkerPid } = await import("./worker-gate-UD4MNUKK.js");
863
863
  if (!tryAcquireWorkerSlot()) {
864
864
  process.stderr.write("[exe-doctor] Worker gate full \u2014 waiting for existing backfill workers to finish\n");
865
865
  await new Promise((r) => setTimeout(r, 5e3));
@@ -982,7 +982,7 @@ function splitAtSentences(text, maxChunkSize) {
982
982
  }
983
983
  async function main(argv = process.argv.slice(2)) {
984
984
  const flags = parseFlags(argv);
985
- const { fastDbInit } = await import("./fast-db-init-ODXXUTSD.js");
985
+ const { fastDbInit } = await import("./fast-db-init-H35LIFCV.js");
986
986
  const client = await fastDbInit();
987
987
  const report = await runAudit(client, flags);
988
988
  console.log(formatReport(report, flags));
@@ -993,7 +993,7 @@ ${mode} Applying repairs...
993
993
  `);
994
994
  if (!flags.dryRun) {
995
995
  try {
996
- const { createBackup } = await import("./db-backup-EWS52P2W.js");
996
+ const { createBackup } = await import("./db-backup-7UMCTS44.js");
997
997
  const backupPath = await createBackup("pre-fix");
998
998
  if (backupPath) {
999
999
  console.log(` Backup created: ${backupPath.split("/").pop()}`);
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  fastDbInit
3
- } from "./chunk-HSWOCMNX.js";
3
+ } from "./chunk-RS7EAZ2R.js";
4
4
  import {
5
5
  sessionScopeFilter
6
- } from "./chunk-66AQSKG7.js";
6
+ } from "./chunk-UEYKJ7DB.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-CEJO7244.js";
17
+ } from "./chunk-5U7WB4YG.js";
18
18
  import {
19
19
  isMainModule
20
20
  } from "./chunk-6Y4B3QF6.js";
@@ -40,6 +40,26 @@ function rotateMcpHttpEventLogIfNeeded() {
40
40
  const tail = readTailText(MCP_HTTP_EVENTS_PATH, keepBytes);
41
41
  writeFileSync(MCP_HTTP_EVENTS_PATH, tail, "utf8");
42
42
  }
43
+ var MCP_SESSION_OPEN_MESSAGES = /* @__PURE__ */ new Set([
44
+ "session_initialized",
45
+ "session_recovered"
46
+ ]);
47
+ var MCP_SESSION_CLOSE_MESSAGES = /* @__PURE__ */ new Set([
48
+ "session_closed",
49
+ "session_expired",
50
+ "duplicate_session_eviction",
51
+ "session_cap_eviction",
52
+ "session_cap_eviction_forced",
53
+ "rss_pressure_evict",
54
+ "heap_pressure_evict",
55
+ "zombie_full_cleanup",
56
+ "recovery_failed",
57
+ // When a stale session begins recovery, the old stale session ID is no longer
58
+ // active — a new recovered session ID will be emitted as session_recovered.
59
+ // Without this, the stale ID stays in the open-session tracking set, causing
60
+ // activeSessionsByRuntime to overcount by 1 per recovered session.
61
+ "session_stale_recovering"
62
+ ]);
43
63
  function readPackageVersion() {
44
64
  let dir = path.dirname(fileURLToPath(import.meta.url));
45
65
  const { root } = path.parse(dir);
@@ -105,8 +125,8 @@ function summarizeMcpTransport(events = readMcpHttpEvents()) {
105
125
  privacy: "metadata_only",
106
126
  eventLogPath: MCP_HTTP_EVENTS_PATH,
107
127
  activeSessions: activeSessionEvent?.activeSessions ?? null,
108
- sessionsCreated: scopedEvents.filter((event) => event.message === "session_initialized").length,
109
- sessionsClosed: scopedEvents.filter((event) => event.message === "session_closed").length,
128
+ sessionsCreated: scopedEvents.filter((event) => event.message && MCP_SESSION_OPEN_MESSAGES.has(event.message)).length,
129
+ sessionsClosed: scopedEvents.filter((event) => event.message && MCP_SESSION_CLOSE_MESSAGES.has(event.message)).length,
110
130
  missingSessionErrors: scopedEvents.filter((event) => event.message?.includes("missing MCP session")).length,
111
131
  staleSessionErrors: scopedEvents.filter((event) => event.message?.includes("stale or unknown")).length,
112
132
  transportErrors: scopedEvents.filter((event) => event.level === "warn" || event.level === "error").length,
@@ -125,15 +145,29 @@ function summarizeMcpTransport(events = readMcpHttpEvents()) {
125
145
  };
126
146
  const createdBySession = /* @__PURE__ */ new Map();
127
147
  for (const event of scopedEvents) {
128
- if (event.message === "session_initialized" && event.sessionId) createdBySession.set(event.sessionId, event);
129
- if ((event.message === "session_closed" || event.message === "session_expired") && event.sessionId) {
148
+ if (event.message && MCP_SESSION_OPEN_MESSAGES.has(event.message) && event.sessionId) createdBySession.set(event.sessionId, event);
149
+ if (event.message && MCP_SESSION_CLOSE_MESSAGES.has(event.message) && event.sessionId) {
130
150
  createdBySession.delete(event.sessionId);
131
151
  }
132
152
  }
153
+ if (typeof summary.activeSessions === "number") {
154
+ while (createdBySession.size > summary.activeSessions) {
155
+ const oldestSessionId = createdBySession.keys().next().value;
156
+ if (!oldestSessionId) break;
157
+ createdBySession.delete(oldestSessionId);
158
+ }
159
+ }
133
160
  for (const event of createdBySession.values()) {
134
161
  const runtime = event.runtime ?? "Unknown";
135
162
  summary.activeSessionsByRuntime[runtime] = (summary.activeSessionsByRuntime[runtime] ?? 0) + 1;
136
163
  }
164
+ if (typeof summary.activeSessions === "number") {
165
+ const knownActiveSessions = Object.values(summary.activeSessionsByRuntime).reduce((sum, count) => sum + count, 0);
166
+ const missingActiveSessions = summary.activeSessions - knownActiveSessions;
167
+ if (missingActiveSessions > 0) {
168
+ summary.activeSessionsByRuntime.Unknown = (summary.activeSessionsByRuntime.Unknown ?? 0) + missingActiveSessions;
169
+ }
170
+ }
137
171
  for (const event of successfulToolCalls) {
138
172
  if (event.runtime) summary.lastSuccessfulToolCallByRuntime[event.runtime] = event.timestamp ?? "";
139
173
  if (event.agentId) summary.lastSuccessfulToolCallByAgent[event.agentId] = event.timestamp ?? "";