@askexenow/exe-os 0.9.349 → 0.9.351

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 (299) hide show
  1. package/dist/{active-agent-PX6KAEEQ.js → active-agent-PMCD3LFW.js} +3 -3
  2. package/dist/{active-agent-QVLZKWR2.js → active-agent-WQYB3JQY.js} +3 -3
  3. package/dist/{agentic-ontology-6MEXY5L7.js → agentic-ontology-HTU5EMEQ.js} +1 -1
  4. package/dist/{backfill-metadata-TUUT3QII.js → backfill-metadata-QUUXE2TL.js} +5 -5
  5. package/dist/{backup-verify-RGB3KKD4.js → backup-verify-YJGUNZWJ.js} +1 -1
  6. package/dist/{behaviors-3DQM4PSA.js → behaviors-P5FORAYU.js} +6 -6
  7. package/dist/bin/agentic-ontology-backfill.js +6 -6
  8. package/dist/bin/agentic-reflection-backfill.js +7 -7
  9. package/dist/bin/agentic-semantic-label.js +6 -6
  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 +6 -6
  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 +12 -12
  16. package/dist/bin/cli.js +18 -18
  17. package/dist/bin/deferred-daemon-restart.js +67 -67
  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 +6 -6
  21. package/dist/bin/exe-boot.js +24 -24
  22. package/dist/bin/exe-call.js +4 -4
  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 +12 -12
  26. package/dist/bin/exe-doctor.js +4 -4
  27. package/dist/bin/exe-export-behaviors.js +8 -8
  28. package/dist/bin/exe-forget.js +7 -7
  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 +16 -16
  33. package/dist/bin/exe-launch-agent.js +22 -22
  34. package/dist/bin/exe-memory-reads.js +5 -5
  35. package/dist/bin/exe-new-employee.js +8 -8
  36. package/dist/bin/exe-os-mcp-proxy.js +3 -3
  37. package/dist/bin/exe-pending-messages.js +13 -13
  38. package/dist/bin/exe-pending-notifications.js +12 -12
  39. package/dist/bin/exe-pending-reviews.js +12 -12
  40. package/dist/bin/exe-rename.js +4 -4
  41. package/dist/bin/exe-review.js +15 -15
  42. package/dist/bin/exe-search.js +6 -6
  43. package/dist/bin/exe-session-cleanup.js +16 -16
  44. package/dist/bin/exe-settings.js +11 -11
  45. package/dist/bin/exe-start-codex.js +13 -13
  46. package/dist/bin/exe-start-opencode.js +9 -9
  47. package/dist/bin/exe-status.js +13 -13
  48. package/dist/bin/exe-support.js +3 -3
  49. package/dist/bin/exe-team.js +3 -3
  50. package/dist/bin/git-sweep.js +13 -13
  51. package/dist/bin/graph-backfill.js +6 -6
  52. package/dist/bin/graph-export.js +6 -6
  53. package/dist/bin/import-history.js +9 -9
  54. package/dist/bin/install.js +69 -69
  55. package/dist/bin/intercom-check.js +4 -4
  56. package/dist/bin/mcp-sessions.js +2 -2
  57. package/dist/bin/orchestration-metrics.js +4 -4
  58. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  59. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  60. package/dist/bin/reconcile-backlog.js +2 -2
  61. package/dist/bin/registry-proxy.js +1 -1
  62. package/dist/bin/scan-tasks.js +12 -12
  63. package/dist/bin/setup.js +1 -1
  64. package/dist/bin/shard-migrate.js +5 -5
  65. package/dist/bin/stack-update.js +4 -4
  66. package/dist/bin/vps-health-gate.js +1 -1
  67. package/dist/{boot-generation-FB2J53IG.js → boot-generation-XNR2CBMX.js} +3 -3
  68. package/dist/{boot-review-sections-UTOPAQQJ.js → boot-review-sections-ZWXRZ6YX.js} +11 -11
  69. package/dist/{capability-cards-YADEM2KN.js → capability-cards-IOGHQJ6Y.js} +2 -2
  70. package/dist/{capacity-monitor-IO6JHLXV.js → capacity-monitor-3YN75QXX.js} +13 -13
  71. package/dist/{catchup-brief-QCKB32YC.js → catchup-brief-7WCQGC2Z.js} +16 -16
  72. package/dist/{chunk-3QLWBLS3.js → chunk-4EEML23J.js} +5 -5
  73. package/dist/{chunk-7OPIIYF2.js → chunk-4Z74A4A6.js} +5 -5
  74. package/dist/{chunk-27REQ7KR.js → chunk-53HZ23T5.js} +1 -1
  75. package/dist/{chunk-IKYQ2HSH.js → chunk-55OFK4ZY.js} +1 -1
  76. package/dist/{chunk-4HMZQRQD.js → chunk-5J4GLPTU.js} +7 -7
  77. package/dist/{chunk-WUMWXU6B.js → chunk-5SJXJSAI.js} +1 -1
  78. package/dist/{chunk-MH5HWMVH.js → chunk-6ON3JHGE.js} +1 -1
  79. package/dist/{chunk-ZFR4A5W4.js → chunk-6QHQCY3N.js} +1 -1
  80. package/dist/{chunk-YTPCJLEL.js → chunk-AAVVHD4C.js} +1 -1
  81. package/dist/{chunk-SRK5AWVS.js → chunk-ABIZWPSK.js} +2 -2
  82. package/dist/{chunk-UUJZAOF3.js → chunk-AGCGXXIB.js} +1 -1
  83. package/dist/{chunk-NBTSUPTB.js → chunk-AUEMXOJT.js} +1 -1
  84. package/dist/{chunk-FENYNW52.js → chunk-BAWZEI77.js} +1 -1
  85. package/dist/{chunk-M7PBRIRH.js → chunk-CYBDUQDO.js} +1 -1
  86. package/dist/{chunk-ADRZXHUB.js → chunk-D2UZ35PQ.js} +2 -2
  87. package/dist/{chunk-KIMAQNSM.js → chunk-DKOWIBBM.js} +3 -3
  88. package/dist/{chunk-JORPYG4O.js → chunk-DXYHU5D6.js} +1 -1
  89. package/dist/{chunk-UXPMDQHP.js → chunk-ENIFHOMF.js} +3 -3
  90. package/dist/{chunk-EFHGK6JP.js → chunk-FGII4IO7.js} +1 -1
  91. package/dist/{chunk-RBRGSOK5.js → chunk-FHOLN7BD.js} +1 -1
  92. package/dist/{chunk-X6VEQ7MC.js → chunk-GIEIWDC2.js} +1 -1
  93. package/dist/{chunk-WUNXNNJL.js → chunk-GINAJJQR.js} +3 -3
  94. package/dist/{chunk-D3DCRA3H.js → chunk-GIZLVGOM.js} +2 -2
  95. package/dist/{chunk-VC2OE37S.js → chunk-GWO54VKD.js} +4 -4
  96. package/dist/{chunk-FE6WBI2M.js → chunk-GXMY5ERQ.js} +1 -1
  97. package/dist/{chunk-6NRY3CFI.js → chunk-H2BE7ZPC.js} +9 -9
  98. package/dist/{chunk-YFLHS7GV.js → chunk-HCRUMO4B.js} +1 -1
  99. package/dist/{chunk-5YDNNUZ6.js → chunk-HKXNF72F.js} +141 -129
  100. package/dist/{chunk-HYZE3MNS.js → chunk-HUCMSRIF.js} +1 -1
  101. package/dist/{chunk-23O6LHII.js → chunk-I6UOIBCG.js} +1 -1
  102. package/dist/{chunk-RFRUDXOI.js → chunk-IC4O376V.js} +2 -2
  103. package/dist/{chunk-O5RXPXDD.js → chunk-IXDSQ2VO.js} +3 -3
  104. package/dist/{chunk-GTZKETSS.js → chunk-IXJGEZBS.js} +4 -4
  105. package/dist/{chunk-SQ4WACH4.js → chunk-JFGX7LHH.js} +1 -1
  106. package/dist/{chunk-MMOONM6D.js → chunk-JO6RMHMW.js} +1 -1
  107. package/dist/{chunk-DAODOSH4.js → chunk-KBFHODXV.js} +1 -1
  108. package/dist/{chunk-OYEBUJ5W.js → chunk-KES3SNOH.js} +1 -1
  109. package/dist/{chunk-YF3B3NQF.js → chunk-KMWRDB5U.js} +2 -2
  110. package/dist/{chunk-6JQTSKDR.js → chunk-KZ7BANUM.js} +1 -1
  111. package/dist/{chunk-453QJHGW.js → chunk-L3DKZC4R.js} +2 -2
  112. package/dist/{chunk-NY6DU5RB.js → chunk-L4SGSV4M.js} +1 -1
  113. package/dist/{chunk-CIKFGNES.js → chunk-LFDW43MP.js} +2 -2
  114. package/dist/{chunk-IFSKL5QW.js → chunk-LOYK2BRY.js} +15 -15
  115. package/dist/{chunk-P3JQDXY6.js → chunk-LVG5ATTU.js} +10 -10
  116. package/dist/{chunk-FXE56MAI.js → chunk-LVYIM3V4.js} +4 -4
  117. package/dist/{chunk-5YXC7GF5.js → chunk-LYMEWCFD.js} +24 -8
  118. package/dist/{chunk-OBWIVRD6.js → chunk-MFRJRJ6U.js} +1 -1
  119. package/dist/{chunk-Y6IP4R5M.js → chunk-MFX2RWJZ.js} +3 -3
  120. package/dist/{chunk-AMC2OPYP.js → chunk-MGFG7V3M.js} +1 -1
  121. package/dist/{chunk-E76MXORZ.js → chunk-NXC3Z7VI.js} +3 -3
  122. package/dist/{chunk-SUJFXYMQ.js → chunk-OPDZ62TW.js} +3 -3
  123. package/dist/{chunk-TRIK7MXS.js → chunk-P5C7JCIZ.js} +139 -9
  124. package/dist/{chunk-5C46Y4AK.js → chunk-PBLFSNIA.js} +1 -1
  125. package/dist/{chunk-W3T76WFH.js → chunk-PELEK2IT.js} +1 -1
  126. package/dist/{chunk-TF5E6O5Q.js → chunk-QABQ7C4C.js} +1 -1
  127. package/dist/{chunk-UPZQLFRJ.js → chunk-QIALP626.js} +2 -2
  128. package/dist/{chunk-MVZLF27P.js → chunk-SDNIBE22.js} +2 -2
  129. package/dist/{chunk-VRQTOLRH.js → chunk-SLROFI6M.js} +1 -1
  130. package/dist/{chunk-2AD2GAPC.js → chunk-SUZOENOA.js} +1 -1
  131. package/dist/{chunk-O522M4YZ.js → chunk-T346KHGF.js} +1 -1
  132. package/dist/{chunk-NAHDJLLB.js → chunk-T4VUDUZF.js} +3 -3
  133. package/dist/{chunk-UG2R4LHI.js → chunk-TGGOWOLG.js} +1 -1
  134. package/dist/{chunk-E3BNUQHW.js → chunk-TGU2IB6P.js} +2 -2
  135. package/dist/{chunk-TIWFOWL6.js → chunk-THDM6HMQ.js} +3 -3
  136. package/dist/{chunk-RFKWETK3.js → chunk-TXGOFNXD.js} +4 -4
  137. package/dist/{chunk-UAKGNQWE.js → chunk-U7HUQPVS.js} +1 -1
  138. package/dist/{chunk-7HO5VMDR.js → chunk-UCO3XIL5.js} +2 -2
  139. package/dist/{chunk-NUWAB2ZB.js → chunk-UXOCABN4.js} +4 -4
  140. package/dist/{chunk-2T6NZLMO.js → chunk-UZ6AA52H.js} +6 -6
  141. package/dist/{chunk-4DZDXS5N.js → chunk-VDEBUOPB.js} +1 -1
  142. package/dist/{chunk-GKNWKQFY.js → chunk-VDKI6PIZ.js} +1 -1
  143. package/dist/{chunk-5TBGZK55.js → chunk-VF6HK2ID.js} +1 -1
  144. package/dist/{chunk-Z4UKLRML.js → chunk-VU2MZ7BP.js} +18 -6
  145. package/dist/{chunk-4FHBXWSA.js → chunk-WAVZDYXS.js} +4 -4
  146. package/dist/{chunk-QNKR7WEL.js → chunk-WOGK3FIE.js} +3 -3
  147. package/dist/{chunk-R6POL63K.js → chunk-XKA343SE.js} +1 -1
  148. package/dist/{chunk-2N5MLJLM.js → chunk-YJBBW6OT.js} +4 -4
  149. package/dist/{chunk-MOZY4IQO.js → chunk-Z4F6ZHDV.js} +1 -1
  150. package/dist/{chunk-XF2G47JS.js → chunk-ZMDTRDTD.js} +3 -3
  151. package/dist/{cleanup-graph-garbage-ON45J7RR.js → cleanup-graph-garbage-DQDJK6L7.js} +7 -7
  152. package/dist/{cloud-sync-shutdown-A2QB74YM.js → cloud-sync-shutdown-UHICWZ2B.js} +2 -2
  153. package/dist/{co-activation-S2FVGMQP.js → co-activation-PIRKOOPD.js} +2 -2
  154. package/dist/{co-occurrence-VQB6U5ME.js → co-occurrence-PO4EPN5C.js} +5 -5
  155. package/dist/{conversation-entity-extractor-YF3ZLTEJ.js → conversation-entity-extractor-3UUAYXS6.js} +3 -3
  156. package/dist/{crdt-sync-2SGCDWC3.js → crdt-sync-ZL3GKAQW.js} +1 -1
  157. package/dist/{crm-webhook-OJFVII6G.js → crm-webhook-BAF3VM34.js} +2 -2
  158. package/dist/{cto-delegation-gate-KNH5TRUS.js → cto-delegation-gate-AQE2M4HU.js} +11 -11
  159. package/dist/{daemon-orchestration-VFM2FKGY.js → daemon-orchestration-X7UPV6VU.js} +20 -16
  160. package/dist/{doc-graph-extractor-DCJMATVZ.js → doc-graph-extractor-IFLEVHUJ.js} +5 -5
  161. package/dist/{documents-253FGKPI.js → documents-2BXH6YE4.js} +6 -6
  162. package/dist/{dreaming-EFRFVQDZ.js → dreaming-AQI4F7J4.js} +15 -15
  163. package/dist/{exe-drift-ED7FBS2C.js → exe-drift-OBXBE3BJ.js} +3 -3
  164. package/dist/{exe-export-AVGUGDMJ.js → exe-export-VKRI6DK4.js} +7 -7
  165. package/dist/{exe-import-ALYVE4XT.js → exe-import-EH74J6HM.js} +7 -7
  166. package/dist/{exe-key-5MDOPRDS.js → exe-key-5R6XAPHS.js} +67 -67
  167. package/dist/{exe-snapshot-ZN523QP6.js → exe-snapshot-CWQBLHZN.js} +16 -16
  168. package/dist/{fast-db-init-GJGO22F5.js → fast-db-init-5HF3TLAF.js} +1 -1
  169. package/dist/{founder-context-JHHFM4GF.js → founder-context-PWEQQF43.js} +2 -2
  170. package/dist/gateway/index.js +8 -8
  171. package/dist/{git-staleness-YPHGWE3B.js → git-staleness-ZQEAOK6X.js} +2 -2
  172. package/dist/{global-procedures-HZFQ3WJB.js → global-procedures-LBAA7VLL.js} +3 -3
  173. package/dist/{graph-auto-extract-7OJYYV4G.js → graph-auto-extract-XOJSREN4.js} +5 -5
  174. package/dist/{graph-rag-YFITUAVO.js → graph-rag-P3PSYW7P.js} +3 -3
  175. package/dist/{hook-prefetch-ITWBE3XZ.js → hook-prefetch-HGHMON76.js} +12 -12
  176. package/dist/hooks/bug-report-worker.js +14 -14
  177. package/dist/hooks/codex-stop-task-finalizer.js +15 -15
  178. package/dist/hooks/commit-complete.js +14 -14
  179. package/dist/hooks/error-recall.js +7 -7
  180. package/dist/hooks/exe-heartbeat-hook.js +3 -3
  181. package/dist/hooks/ingest.js +6 -6
  182. package/dist/hooks/instructions-loaded.js +4 -4
  183. package/dist/hooks/manifest.json +19 -19
  184. package/dist/hooks/notification.js +4 -4
  185. package/dist/hooks/post-compact.js +13 -13
  186. package/dist/hooks/post-tool-combined.js +9 -9
  187. package/dist/hooks/pre-compact.js +14 -14
  188. package/dist/hooks/pre-tool-use.js +19 -19
  189. package/dist/hooks/prompt-submit.js +26 -26
  190. package/dist/hooks/session-end.js +18 -18
  191. package/dist/hooks/session-start.js +13 -13
  192. package/dist/hooks/stop.js +17 -17
  193. package/dist/hooks/subagent-stop.js +15 -15
  194. package/dist/hooks/summary-worker.js +18 -18
  195. package/dist/index.js +21 -21
  196. package/dist/{installer-CY5PN7TN.js → installer-DWOXEACJ.js} +5 -5
  197. package/dist/{installer-N4QXGINR.js → installer-LDICNL4N.js} +5 -5
  198. package/dist/{installer-3ONNP5JV.js → installer-WZLGX2W6.js} +5 -5
  199. package/dist/{intercom-queue-RLWMSZHB.js → intercom-queue-S3XGJ632.js} +11 -11
  200. package/dist/lib/cloud-sync.js +11 -11
  201. package/dist/lib/consolidation.js +7 -7
  202. package/dist/lib/database.js +2 -2
  203. package/dist/lib/db-backup.js +1 -1
  204. package/dist/lib/db-daemon-client.js +5 -1
  205. package/dist/lib/db-write-worker.js +2 -2
  206. package/dist/lib/db.js +2 -2
  207. package/dist/lib/device-registry.js +1 -1
  208. package/dist/lib/employee-templates.js +4 -4
  209. package/dist/lib/employees.js +2 -2
  210. package/dist/lib/exe-daemon.js +227 -62
  211. package/dist/lib/hybrid-search.js +6 -6
  212. package/dist/lib/identity.js +2 -2
  213. package/dist/lib/license.js +2 -2
  214. package/dist/lib/messaging.js +12 -12
  215. package/dist/lib/registry-proxy.js +1 -1
  216. package/dist/lib/reminders.js +3 -3
  217. package/dist/lib/schedules.js +6 -6
  218. package/dist/lib/session-registry.js +4 -4
  219. package/dist/lib/skill-learning.js +7 -7
  220. package/dist/lib/store.js +5 -5
  221. package/dist/lib/task-router.js +3 -3
  222. package/dist/lib/tasks.js +13 -13
  223. package/dist/lib/tmux-routing.js +11 -11
  224. package/dist/lib/token-spend.js +3 -3
  225. package/dist/{license-gate-ZRORTAQ2.js → license-gate-H3AEDCEX.js} +3 -3
  226. package/dist/{license-sync-CQHBDUQE.js → license-sync-FBYT75E3.js} +2 -2
  227. package/dist/mcp/register-tools.js +66 -66
  228. package/dist/mcp/server.js +67 -67
  229. package/dist/mcp/tools/complete-reminder.js +4 -4
  230. package/dist/mcp/tools/create-reminder.js +4 -4
  231. package/dist/mcp/tools/create-task.js +15 -15
  232. package/dist/mcp/tools/deactivate-behavior.js +8 -8
  233. package/dist/mcp/tools/list-reminders.js +4 -4
  234. package/dist/mcp/tools/list-tasks.js +15 -15
  235. package/dist/mcp/tools/send-message.js +14 -14
  236. package/dist/mcp/tools/update-task.js +14 -14
  237. package/dist/{mcp-http-config-2A6HKQP5.js → mcp-http-config-XE5KEKOR.js} +3 -3
  238. package/dist/{mcp-session-identity-YTXFSOWN.js → mcp-session-identity-QA4ZXYCY.js} +11 -11
  239. package/dist/{memory-cards-CJJJ2EP6.js → memory-cards-GHAU5A4O.js} +5 -5
  240. package/dist/{memory-graph-extractor-2Z72HN5P.js → memory-graph-extractor-P7B2V6CN.js} +6 -6
  241. package/dist/{memory-poisoning-defense-WZJ52KXT.js → memory-poisoning-defense-OY4EJES5.js} +2 -2
  242. package/dist/{memory-pressure-watchdog-VNKYRODT.js → memory-pressure-watchdog-ZGA5GAUE.js} +12 -12
  243. package/dist/{memory-reflection-LTRHDGUL.js → memory-reflection-5NAOS2OJ.js} +2 -2
  244. package/dist/{notification-ledger-OE4XNOAY.js → notification-ledger-LCG3TRSE.js} +12 -12
  245. package/dist/{notifications-DU4WVNET.js → notifications-YX43A36Z.js} +11 -11
  246. package/dist/{orchestration-events-HAFDPTLV.js → orchestration-events-EXQRGVEJ.js} +3 -3
  247. package/dist/{orchestrator-JRSVEKLB.js → orchestrator-3OO5FV6O.js} +13 -13
  248. package/dist/{pipeline-router-4RRX65W7.js → pipeline-router-U6U3M5DB.js} +3 -3
  249. package/dist/{plan-limits-5QYYPIPT.js → plan-limits-FNYZOE7J.js} +5 -5
  250. package/dist/{projection-worker-PXJZEKFK.js → projection-worker-HIXCZRPD.js} +2 -2
  251. package/dist/{prospective-memory-V7LFCPU4.js → prospective-memory-WQJJB2PS.js} +2 -2
  252. package/dist/{reranker-DWNE7KUB.js → reranker-N4QIAVEZ.js} +1 -1
  253. package/dist/{retrieval-health-4NCBHUUS.js → retrieval-health-IP74ZJ3D.js} +1 -1
  254. package/dist/{review-polling-K2V34KEA.js → review-polling-AXQWGH4M.js} +12 -12
  255. package/dist/runtime/index.js +15 -15
  256. package/dist/{session-events-R3WL7J7D.js → session-events-POBJERCM.js} +12 -12
  257. package/dist/{session-kill-telemetry-BQSJZ2A7.js → session-kill-telemetry-WRT5UFGM.js} +12 -12
  258. package/dist/{session-scope-SMYECIDA.js → session-scope-J4JJHTOC.js} +11 -11
  259. package/dist/{setup-wizard-BUFVAFWP.js → setup-wizard-TEBZRHIB.js} +1 -1
  260. package/dist/{skill-refinement-VG3UU7MU.js → skill-refinement-E2X3FHGX.js} +3 -3
  261. package/dist/{stack-promote-RARBN276.js → stack-promote-OQWEY3RN.js} +4 -4
  262. package/dist/{stack-release-OTVTLA6B.js → stack-release-NUITUMB4.js} +4 -4
  263. package/dist/{stack-update-WBDTJJEF.js → stack-update-5XFOBX3A.js} +3 -3
  264. package/dist/{steward-gate-CWPD4HEK.js → steward-gate-ODMUO6TD.js} +3 -3
  265. package/dist/{support-inbox-HRIHHKPU.js → support-inbox-HRU4TVLN.js} +3 -3
  266. package/dist/{task-enforcement-RNSASE3R.js → task-enforcement-DTQ5QMDD.js} +12 -12
  267. package/dist/{task-scope-TW3BWFVJ.js → task-scope-3F3MSGSX.js} +11 -11
  268. package/dist/{tasks-crud-VXCTTSB5.js → tasks-crud-DBQFOYOX.js} +11 -11
  269. package/dist/{tasks-notify-ETPCCUXG.js → tasks-notify-X7AJMSX6.js} +12 -12
  270. package/dist/{tasks-review-TY7OZBAT.js → tasks-review-QQXKYQ52.js} +11 -11
  271. package/dist/{telemetry-upload-ABCUA2WS.js → telemetry-upload-3KLDXO4Z.js} +7 -7
  272. package/dist/{token-budget-SK32GKFZ.js → token-budget-T3L6OHAN.js} +3 -3
  273. package/dist/{tool-telemetry-QJGJAHOC.js → tool-telemetry-TKENX37V.js} +1 -1
  274. package/dist/tui/App.js +19 -19
  275. package/dist/{tui-data-XZX7VSG4.js → tui-data-4ITCYY3G.js} +11 -11
  276. package/dist/{update-support-Q5HFD4IN.js → update-support-TT2ESH4G.js} +9 -9
  277. package/dist/{work-state-heartbeat-MQQOCU54.js → work-state-heartbeat-UAVYBQOK.js} +1 -1
  278. package/dist/{worker-gate-RKHQLE4F.js → worker-gate-GK46QYHU.js} +1 -1
  279. package/dist/{workflow-engine-CXUJIH3R.js → workflow-engine-YYRUTNCM.js} +2 -2
  280. package/dist/{worktree-FJZXHDCJ.js → worktree-5LHP677X.js} +4 -4
  281. package/dist/{worktree-sweep-SW4AG6JR.js → worktree-sweep-TVQVQTVD.js} +5 -5
  282. package/package.json +1 -1
  283. package/release-notes.json +34 -52
  284. /package/dist/{chunk-GFIWADEH.js → chunk-2BJYY4SK.js} +0 -0
  285. /package/dist/{chunk-GPZQZTJB.js → chunk-2XQZZAFI.js} +0 -0
  286. /package/dist/{chunk-E77V5MTE.js → chunk-AD42TL2C.js} +0 -0
  287. /package/dist/{chunk-4N3NTBGJ.js → chunk-AGV4GKNY.js} +0 -0
  288. /package/dist/{chunk-XF2D4CDA.js → chunk-IMGD6PW3.js} +0 -0
  289. /package/dist/{chunk-ELJSXKYA.js → chunk-JAF64HJT.js} +0 -0
  290. /package/dist/{chunk-QUOMJKVF.js → chunk-JGTJAA6B.js} +0 -0
  291. /package/dist/{chunk-H4JKOLXU.js → chunk-PENPH5AG.js} +0 -0
  292. /package/dist/{chunk-GI3O5MGF.js → chunk-PIBEPI5W.js} +0 -0
  293. /package/dist/{chunk-FXZRJT3H.js → chunk-S6APJBIZ.js} +0 -0
  294. /package/dist/{chunk-E42D2E5F.js → chunk-TEJOHJZQ.js} +0 -0
  295. /package/dist/{chunk-A4X7SCDG.js → chunk-TZMXGMSV.js} +0 -0
  296. /package/dist/{core-memory-PCKGCUZU.js → core-memory-F2TJ2VVZ.js} +0 -0
  297. /package/dist/{oauth-server-FSKABATB.js → oauth-server-DCZN5VOK.js} +0 -0
  298. /package/dist/{project-boot-FVSC4VQC.js → project-boot-GVT2NKGJ.js} +0 -0
  299. /package/dist/{wiki-acl-CW2UALTJ.js → wiki-acl-NCAPBNOZ.js} +0 -0
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  isPaneBusy
3
- } from "./chunk-4FHBXWSA.js";
3
+ } from "./chunk-WAVZDYXS.js";
4
4
  import {
5
5
  recordSessionKill
6
- } from "./chunk-Y6IP4R5M.js";
6
+ } from "./chunk-MFX2RWJZ.js";
7
7
  import {
8
8
  eventLoopBlockedMarkerPath
9
9
  } from "./chunk-APRVAUOR.js";
10
10
  import {
11
11
  updateTask
12
- } from "./chunk-4HMZQRQD.js";
12
+ } from "./chunk-5J4GLPTU.js";
13
13
  import {
14
14
  countPendingReviews,
15
15
  ensureEmployeeAsync,
@@ -25,14 +25,14 @@ import {
25
25
  sessionScopeFilter,
26
26
  strictSessionScopeFilter,
27
27
  writeNotification
28
- } from "./chunk-IFSKL5QW.js";
28
+ } from "./chunk-LOYK2BRY.js";
29
29
  import {
30
30
  LEASE_MINUTES,
31
31
  isLeaseExpired
32
32
  } from "./chunk-E23LNUWJ.js";
33
33
  import {
34
34
  listSessions
35
- } from "./chunk-HYZE3MNS.js";
35
+ } from "./chunk-HUCMSRIF.js";
36
36
  import {
37
37
  getTransport
38
38
  } from "./chunk-AD2VCHSS.js";
@@ -44,7 +44,7 @@ import {
44
44
  } from "./chunk-SKGMF2SO.js";
45
45
  import {
46
46
  recordOrchestrationEventBestEffort
47
- } from "./chunk-AMC2OPYP.js";
47
+ } from "./chunk-MGFG7V3M.js";
48
48
  import {
49
49
  checkDispatchStatus,
50
50
  readTerminalLauncherFailure,
@@ -62,7 +62,7 @@ import {
62
62
  getCoordinatorName,
63
63
  isCoordinatorName,
64
64
  shouldAutoInstance
65
- } from "./chunk-QNKR7WEL.js";
65
+ } from "./chunk-WOGK3FIE.js";
66
66
  import {
67
67
  loadConfigSync
68
68
  } from "./chunk-BCZF3AGJ.js";
@@ -1982,6 +1982,134 @@ function createStuckTaskRealDeps(getClient) {
1982
1982
  }
1983
1983
  };
1984
1984
  }
1985
+ async function releaseStaleClaims(deps, nowMs = Date.now()) {
1986
+ let liveSessions;
1987
+ try {
1988
+ liveSessions = deps.listTmuxSessionsAsync ? await deps.listTmuxSessionsAsync() : deps.listTmuxSessions();
1989
+ } catch (e) {
1990
+ process.stderr.write("[stale-claim] list tmux sessions: " + (e instanceof Error ? e.message : String(e)) + "\n");
1991
+ return [];
1992
+ }
1993
+ if (liveSessions.length === 0 && deps.tmuxSessionsVerified?.() === false) {
1994
+ process.stderr.write("[stale-claim] Skipping claim release: tmux session list was not verified (probe failed/timeout). Preserving claims.\n");
1995
+ return [];
1996
+ }
1997
+ const liveSessionSet = new Set(liveSessions);
1998
+ let tasks;
1999
+ try {
2000
+ tasks = await deps.queryClaimedOpenBlockedTasks();
2001
+ } catch (e) {
2002
+ process.stderr.write("[stale-claim] query claimed tasks: " + (e instanceof Error ? e.message : String(e)) + "\n");
2003
+ return [];
2004
+ }
2005
+ const released = [];
2006
+ for (const t of tasks) {
2007
+ if (!t.claimedSession || t.claimedSession === "unknown") continue;
2008
+ if (liveSessionSet.has(t.claimedSession)) continue;
2009
+ const updatedMs = new Date(t.updatedAt).getTime();
2010
+ if (!Number.isNaN(updatedMs) && nowMs - updatedMs < STUCK_TASK_GRACE_MS) continue;
2011
+ try {
2012
+ await deps.releaseClaim(t.taskId, t.claimedSession);
2013
+ released.push(t.taskId);
2014
+ process.stderr.write(
2015
+ `[stale-claim] Task ${t.taskId.slice(0, 8)} (${t.agentId}) \u2014 claim holder session ${t.claimedSession}` + (t.claimInstanceId ? ` (${t.claimInstanceId})` : "") + ` is gone; released claim so the owner can re-claim.
2016
+ `
2017
+ );
2018
+ } catch (err) {
2019
+ process.stderr.write(`[stale-claim] Failed to release claim on ${t.taskId}: ${err instanceof Error ? err.message : String(err)}
2020
+ `);
2021
+ }
2022
+ }
2023
+ return released;
2024
+ }
2025
+ function createStaleClaimRealDeps(getClient) {
2026
+ let lastTmuxListVerified = false;
2027
+ const listSync = () => {
2028
+ try {
2029
+ const socket = process.env.EXE_TMUX_SOCKET;
2030
+ const socketArgs = socket ? ["-L", socket] : [];
2031
+ const out = execFileSync("tmux", [...socketArgs, "list-sessions", "-F", "#{session_name}"], {
2032
+ encoding: "utf8",
2033
+ stdio: ["pipe", "pipe", "pipe"],
2034
+ timeout: 3e3
2035
+ });
2036
+ lastTmuxListVerified = true;
2037
+ return out.trim().split("\n").filter(Boolean);
2038
+ } catch {
2039
+ lastTmuxListVerified = false;
2040
+ return [];
2041
+ }
2042
+ };
2043
+ return {
2044
+ listTmuxSessions: listSync,
2045
+ listTmuxSessionsAsync: async () => {
2046
+ try {
2047
+ const socket = process.env.EXE_TMUX_SOCKET;
2048
+ const socketArgs = socket ? ["-L", socket] : [];
2049
+ const { stdout } = await execFileAsync("tmux", [...socketArgs, "list-sessions", "-F", "#{session_name}"], {
2050
+ encoding: "utf8",
2051
+ timeout: 3e3
2052
+ });
2053
+ lastTmuxListVerified = true;
2054
+ return (stdout ?? "").trim().split("\n").filter(Boolean);
2055
+ } catch {
2056
+ lastTmuxListVerified = false;
2057
+ return [];
2058
+ }
2059
+ },
2060
+ tmuxSessionsVerified: () => lastTmuxListVerified,
2061
+ queryClaimedOpenBlockedTasks: async () => {
2062
+ const { loadDeviceId } = await import("./lib/license.js");
2063
+ const deviceId = loadDeviceId();
2064
+ const client = getClient();
2065
+ const rows = await client.execute({
2066
+ sql: `SELECT id, assigned_to, assigned_tmux, claim_session_instance_id, updated_at
2067
+ FROM tasks
2068
+ WHERE status IN ('open', 'blocked')
2069
+ AND assigned_tmux IS NOT NULL
2070
+ AND assigned_tmux != 'unknown'
2071
+ AND (device_id = ? OR device_id IS NULL)
2072
+ ORDER BY updated_at ASC
2073
+ LIMIT 1000`,
2074
+ args: [deviceId]
2075
+ });
2076
+ return rows.rows.map((r) => ({
2077
+ taskId: String(r.id),
2078
+ agentId: String(r.assigned_to ?? "unknown"),
2079
+ claimedSession: r.assigned_tmux ? String(r.assigned_tmux) : "",
2080
+ claimInstanceId: r.claim_session_instance_id ? String(r.claim_session_instance_id) : null,
2081
+ updatedAt: String(r.updated_at)
2082
+ }));
2083
+ },
2084
+ releaseClaim: async (taskId, holderSession) => {
2085
+ const client = getClient();
2086
+ const nowIso = (/* @__PURE__ */ new Date()).toISOString();
2087
+ await client.execute({
2088
+ sql: `UPDATE tasks
2089
+ SET assigned_tmux = NULL,
2090
+ instance_id = NULL,
2091
+ claimed_by = NULL,
2092
+ claimed_at = NULL,
2093
+ last_heartbeat_at = NULL,
2094
+ claim_session_instance_id = NULL,
2095
+ lease_expires_at = NULL,
2096
+ updated_at = ?
2097
+ WHERE id = ?
2098
+ AND status IN ('open', 'blocked')
2099
+ AND assigned_tmux = ?`,
2100
+ args: [nowIso, taskId, holderSession]
2101
+ });
2102
+ recordOrchestrationEventBestEffort({
2103
+ eventType: "task.claim_released",
2104
+ source: "daemon-orchestration.releaseStaleClaims",
2105
+ severity: "warn",
2106
+ taskId,
2107
+ result: "dead_holder_session",
2108
+ payload: { holderSession }
2109
+ });
2110
+ }
2111
+ };
2112
+ }
1985
2113
  var DEFAULT_STALE_REVIEW_DAYS = 7;
1986
2114
  async function cleanupStaleReviews(deps) {
1987
2115
  const thresholdDays = deps.getStaleReviewThreshold();
@@ -3066,7 +3194,7 @@ async function reapOrphanedWorktrees(deps, nowMs = Date.now()) {
3066
3194
  }
3067
3195
  async function createWorktreeReaperRealDeps() {
3068
3196
  const { getPaneCwdAsync } = await import("./lib/tmux-status.js");
3069
- const { getGitRootAsync, isWorktreeDirtyAsync } = await import("./worktree-FJZXHDCJ.js");
3197
+ const { getGitRootAsync, isWorktreeDirtyAsync } = await import("./worktree-5LHP677X.js");
3070
3198
  const { statSync: statSync3 } = await import("fs");
3071
3199
  const { basename: basename2 } = await import("path");
3072
3200
  const { promisify: promisify2 } = await import("util");
@@ -3297,7 +3425,7 @@ async function gcStaleCheckpoints() {
3297
3425
  }
3298
3426
  async function pollTaskGroupBarriers() {
3299
3427
  try {
3300
- const { checkAndFireBarriers } = await import("./tasks-crud-VXCTTSB5.js");
3428
+ const { checkAndFireBarriers } = await import("./tasks-crud-DBQFOYOX.js");
3301
3429
  const firedGroupIds = await checkAndFireBarriers();
3302
3430
  if (firedGroupIds.length === 0) return 0;
3303
3431
  const { getClient } = await import("./lib/database.js");
@@ -3411,6 +3539,8 @@ export {
3411
3539
  releaseStuckTasks,
3412
3540
  paneShowsBackgroundSubagentWait,
3413
3541
  createStuckTaskRealDeps,
3542
+ releaseStaleClaims,
3543
+ createStaleClaimRealDeps,
3414
3544
  cleanupStaleReviews,
3415
3545
  createStaleReviewRealDeps,
3416
3546
  ESCALATE_AFTER_MS,
@@ -263,7 +263,7 @@ async function runRegistryProxy(options = registryProxyOptionsFromEnv()) {
263
263
  await new Promise((resolve) => server.listen(options.port, options.host, resolve));
264
264
  console.log(`exe-registry-proxy listening on ${options.host ?? "0.0.0.0"}:${options.port}`);
265
265
  console.log(`proxying /v2/${options.allowedNamespace ?? "askexe"}/* -> ${options.upstream ?? "https://ghcr.io"}`);
266
- const { licenseSyncConfigFromEnv, startLicenseSyncScheduler } = await import("./license-sync-CQHBDUQE.js");
266
+ const { licenseSyncConfigFromEnv, startLicenseSyncScheduler } = await import("./license-sync-FBYT75E3.js");
267
267
  const syncConfig = licenseSyncConfigFromEnv();
268
268
  if (syncConfig) {
269
269
  startLicenseSyncScheduler(syncConfig);
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  flushBatch,
6
6
  writeMemory
7
- } from "./chunk-P3JQDXY6.js";
7
+ } from "./chunk-LVG5ATTU.js";
8
8
  import {
9
9
  redactSecrets
10
10
  } from "./chunk-4QCFFW2H.js";
@@ -9,7 +9,7 @@ import {
9
9
  getCoordinatorEmployee,
10
10
  getEmployee,
11
11
  loadEmployeesSync
12
- } from "./chunk-QNKR7WEL.js";
12
+ } from "./chunk-WOGK3FIE.js";
13
13
  import {
14
14
  EXE_AI_DIR
15
15
  } from "./chunk-BCZF3AGJ.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  vectorToSqlLiteral
3
- } from "./chunk-P3JQDXY6.js";
3
+ } from "./chunk-LVG5ATTU.js";
4
4
  import {
5
5
  blobToVector
6
6
  } from "./chunk-OTVEIJUQ.js";
7
7
  import {
8
8
  getClient
9
- } from "./chunk-QNKR7WEL.js";
9
+ } from "./chunk-WOGK3FIE.js";
10
10
 
11
11
  // src/lib/behaviors.ts
12
12
  import crypto from "crypto";
@@ -7,10 +7,10 @@ import {
7
7
  } from "./chunk-GUMRIUI5.js";
8
8
  import {
9
9
  WORK_STATE_HEARTBEAT_TOOL
10
- } from "./chunk-H4JKOLXU.js";
10
+ } from "./chunk-PENPH5AG.js";
11
11
  import {
12
12
  hashMemoryContent
13
- } from "./chunk-GPZQZTJB.js";
13
+ } from "./chunk-2XQZZAFI.js";
14
14
 
15
15
  // src/lib/graph-rag.ts
16
16
  import crypto from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  processCRMEvent
3
- } from "./chunk-ELJSXKYA.js";
3
+ } from "./chunk-JAF64HJT.js";
4
4
 
5
5
  // src/gateway/adapters/crm-webhook.ts
6
6
  function parseTwentyWebhook(payload) {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getIdentity,
3
3
  loadEmployeesSync
4
- } from "./chunk-QNKR7WEL.js";
4
+ } from "./chunk-WOGK3FIE.js";
5
5
 
6
6
  // src/lib/drift-probes.ts
7
7
  var DRIFT_THRESHOLD = 80;
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  loadLicense,
10
10
  readCachedLicenseToken
11
- } from "./chunk-MMOONM6D.js";
11
+ } from "./chunk-JO6RMHMW.js";
12
12
  import {
13
13
  EXE_AI_DIR,
14
14
  loadConfig
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  fastDbInit
3
- } from "./chunk-A4X7SCDG.js";
3
+ } from "./chunk-TZMXGMSV.js";
4
4
  import {
5
5
  sessionScopeFilter
6
- } from "./chunk-IFSKL5QW.js";
6
+ } from "./chunk-LOYK2BRY.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-QNKR7WEL.js";
17
+ } from "./chunk-WOGK3FIE.js";
18
18
  import {
19
19
  isMainModule
20
20
  } from "./chunk-6Y4B3QF6.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  executeAction,
3
3
  substituteTemplate
4
- } from "./chunk-ELJSXKYA.js";
4
+ } from "./chunk-JAF64HJT.js";
5
5
 
6
6
  // src/automation/workflow-engine.ts
7
7
  import { randomUUID } from "crypto";
@@ -9,10 +9,10 @@ import {
9
9
  import {
10
10
  buildClaudeHttpMcpEntry,
11
11
  buildClaudeStdioProxyMcpEntry
12
- } from "./chunk-MH5HWMVH.js";
12
+ } from "./chunk-6ON3JHGE.js";
13
13
  import {
14
14
  ensureAllAgentSymlinks
15
- } from "./chunk-RBRGSOK5.js";
15
+ } from "./chunk-FHOLN7BD.js";
16
16
  import {
17
17
  MCP_LEGACY_KEY,
18
18
  MCP_PRIMARY_KEY
@@ -4,17 +4,17 @@ import {
4
4
  resolveExeSession,
5
5
  sendIntercom,
6
6
  strictSessionScopeFilter
7
- } from "./chunk-IFSKL5QW.js";
7
+ } from "./chunk-LOYK2BRY.js";
8
8
  import {
9
9
  parseMessage,
10
10
  serializeMessage
11
11
  } from "./chunk-4JERP7NT.js";
12
12
  import {
13
13
  recordOrchestrationEventBestEffort
14
- } from "./chunk-AMC2OPYP.js";
14
+ } from "./chunk-MGFG7V3M.js";
15
15
  import {
16
16
  getClient
17
- } from "./chunk-QNKR7WEL.js";
17
+ } from "./chunk-WOGK3FIE.js";
18
18
 
19
19
  // src/lib/messaging.ts
20
20
  import crypto from "crypto";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  deactivateBehavior
3
- } from "./chunk-UPZQLFRJ.js";
3
+ } from "./chunk-QIALP626.js";
4
4
  import {
5
5
  getActiveAgent
6
- } from "./chunk-TF5E6O5Q.js";
6
+ } from "./chunk-QABQ7C4C.js";
7
7
  import {
8
8
  canCoordinate,
9
9
  getClient
10
- } from "./chunk-QNKR7WEL.js";
10
+ } from "./chunk-WOGK3FIE.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-CWPD4HEK.js");
27
+ const { StewardGate } = await import("./steward-gate-ODMUO6TD.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-QNKR7WEL.js";
3
+ } from "./chunk-WOGK3FIE.js";
4
4
  import {
5
5
  loadConfig
6
6
  } from "./chunk-BCZF3AGJ.js";
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  createCRMWebhookHandler,
12
12
  parseTwentyWebhook
13
- } from "./chunk-VRQTOLRH.js";
13
+ } from "./chunk-SLROFI6M.js";
14
14
  import {
15
15
  WhatsAppAdapter
16
16
  } from "./chunk-WSOA3WMC.js";
@@ -42,7 +42,7 @@ import {
42
42
  retryWithBackoff,
43
43
  routeMessage,
44
44
  validateGatewayConfig
45
- } from "./chunk-YF3B3NQF.js";
45
+ } from "./chunk-KMWRDB5U.js";
46
46
  import {
47
47
  OllamaProvider
48
48
  } from "./chunk-FWFFZGSC.js";
@@ -6,13 +6,13 @@ import {
6
6
  queryTaskRows,
7
7
  resolveExeSession,
8
8
  sendIntercom
9
- } from "./chunk-IFSKL5QW.js";
9
+ } from "./chunk-LOYK2BRY.js";
10
10
  import {
11
11
  getTransport
12
12
  } from "./chunk-AD2VCHSS.js";
13
13
  import {
14
14
  recordOrchestrationEventBestEffort
15
- } from "./chunk-AMC2OPYP.js";
15
+ } from "./chunk-MGFG7V3M.js";
16
16
  import {
17
17
  releaseDispatchClaim,
18
18
  tryAcquireDispatchClaim
@@ -27,7 +27,7 @@ import {
27
27
  isCoordinatorName,
28
28
  isMultiInstance,
29
29
  shouldAutoInstance
30
- } from "./chunk-QNKR7WEL.js";
30
+ } from "./chunk-WOGK3FIE.js";
31
31
 
32
32
  // src/lib/tasks-notify.ts
33
33
  var VERIFY_DELAY_MS = 1e4;
@@ -89,7 +89,7 @@ async function dispatchTaskToEmployee(input) {
89
89
  let crossProject = false;
90
90
  if (input.projectName) {
91
91
  try {
92
- const { assertSessionScope } = await import("./session-scope-SMYECIDA.js");
92
+ const { assertSessionScope } = await import("./session-scope-J4JJHTOC.js");
93
93
  const check = assertSessionScope("dispatch_task", input.projectName);
94
94
  if (check.reason === "cross_session_denied") {
95
95
  crossProject = true;
@@ -6,14 +6,14 @@ import {
6
6
  } from "./chunk-UEXJYSJX.js";
7
7
  import {
8
8
  isCrdtSyncEnabled
9
- } from "./chunk-GFIWADEH.js";
9
+ } from "./chunk-2BJYY4SK.js";
10
10
  import {
11
11
  retryOnDaemonTransportError
12
- } from "./chunk-Z4UKLRML.js";
12
+ } from "./chunk-VU2MZ7BP.js";
13
13
  import {
14
14
  GHOST_BEHAVIOR_SQL,
15
15
  isGhostBehaviorRow
16
- } from "./chunk-UPZQLFRJ.js";
16
+ } from "./chunk-QIALP626.js";
17
17
  import {
18
18
  decryptSyncBlob,
19
19
  encryptSyncBlob,
@@ -26,10 +26,10 @@ import {
26
26
  loadEmployees,
27
27
  registerBinSymlinks,
28
28
  saveEmployees
29
- } from "./chunk-QNKR7WEL.js";
29
+ } from "./chunk-WOGK3FIE.js";
30
30
  import {
31
31
  loadDeviceId
32
- } from "./chunk-MMOONM6D.js";
32
+ } from "./chunk-JO6RMHMW.js";
33
33
  import {
34
34
  EXE_AI_DIR
35
35
  } from "./chunk-BCZF3AGJ.js";
@@ -947,7 +947,7 @@ async function cloudSync(config, options) {
947
947
  pullResult = await cloudPull(lastPullVersion, config);
948
948
  if (pullResult.records.length > 0) {
949
949
  if (shouldUseCrdtMergeForCloudSync()) {
950
- const { initCrdtDoc, importExistingMemories, readAllMemories } = await import("./crdt-sync-2SGCDWC3.js");
950
+ const { initCrdtDoc, importExistingMemories, readAllMemories } = await import("./crdt-sync-ZL3GKAQW.js");
951
951
  initCrdtDoc();
952
952
  importExistingMemories(
953
953
  pullResult.records.map((rec) => ({
@@ -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-TW3BWFVJ.js");
122
+ const { sessionScopeFilter } = await import("./task-scope-3F3MSGSX.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-UAKGNQWE.js";
3
+ } from "./chunk-U7HUQPVS.js";
4
4
 
5
5
  // src/mcp/tools/complete-reminder.ts
6
6
  import { z } from "zod";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getGlobalProceduresBlock
3
- } from "./chunk-UUJZAOF3.js";
3
+ } from "./chunk-AGCGXXIB.js";
4
4
 
5
5
  // src/lib/employee-templates.ts
6
6
  var BASE_OPERATING_PROCEDURES = `
@@ -59,6 +59,21 @@ async function retryOnDaemonTransportError(fn, opts = {}) {
59
59
  }
60
60
  throw lastErr;
61
61
  }
62
+ function isDaemonRequestTimeout(err) {
63
+ const msg = err instanceof Error ? err.message : String(err ?? "");
64
+ return msg.includes("Request timeout");
65
+ }
66
+ function daemonMcpOpError(errMsg) {
67
+ if (errMsg && isDaemonRequestTimeout(errMsg)) {
68
+ return new Error(
69
+ "Daemon operation timed out (Request timeout) \u2014 the daemon is reachable but the operation exceeded the transport timeout. This is NOT a daemon outage (small writes in the same session still succeed); it usually means a long consolidation/dreaming read on a large or busy DB. Retry, or allow more time for the long step to complete."
70
+ );
71
+ }
72
+ const suffix = errMsg ? ` Last transport error: ${errMsg}.` : "";
73
+ return new Error(
74
+ "Daemon unavailable for MCP DB operation. Refusing direct SQLite fallback from MCP process to preserve the single-writer gate and prevent FTS5 corruption." + suffix
75
+ );
76
+ }
62
77
  function createDaemonDbClient(fallbackClient) {
63
78
  let _useDaemon = false;
64
79
  const isMcpProcess = () => process.env.EXE_MCP_MODE === "1";
@@ -76,12 +91,7 @@ function createDaemonDbClient(fallbackClient) {
76
91
  }
77
92
  return false;
78
93
  }
79
- function unavailableForMcp(errMsg) {
80
- const suffix = errMsg ? ` Last transport error: ${errMsg}.` : "";
81
- return new Error(
82
- "Daemon unavailable for MCP DB operation. Refusing direct SQLite fallback from MCP process to preserve the single-writer gate and prevent FTS5 corruption." + suffix
83
- );
84
- }
94
+ const unavailableForMcp = (errMsg) => daemonMcpOpError(errMsg);
85
95
  const client = {
86
96
  // Daemon-routed clients cannot span a transaction across requests —
87
97
  // BEGIN/COMMIT via execute() is rejected by the daemon SQL guard.
@@ -236,6 +246,8 @@ async function initDaemonDbClient(fallbackClient) {
236
246
  export {
237
247
  isTransientDaemonTransportError,
238
248
  retryOnDaemonTransportError,
249
+ isDaemonRequestTimeout,
250
+ daemonMcpOpError,
239
251
  createDaemonDbClient,
240
252
  initDaemonDbClient
241
253
  };
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  sendIntercom,
3
3
  updateTaskStatus
4
- } from "./chunk-IFSKL5QW.js";
4
+ } from "./chunk-LOYK2BRY.js";
5
5
  import {
6
6
  recordOrchestrationEventBestEffort
7
- } from "./chunk-AMC2OPYP.js";
7
+ } from "./chunk-MGFG7V3M.js";
8
8
  import {
9
9
  BUSY_PATTERN
10
10
  } from "./chunk-OSKWCKUC.js";
@@ -12,7 +12,7 @@ import {
12
12
  baseAgentName,
13
13
  getCoordinatorName,
14
14
  isCoordinatorName
15
- } from "./chunk-QNKR7WEL.js";
15
+ } from "./chunk-WOGK3FIE.js";
16
16
 
17
17
  // src/lib/play-mode.ts
18
18
  import { readFileSync, writeFileSync, mkdirSync, existsSync } from "fs";
@@ -305,7 +305,7 @@ async function surfaceStaleDispatchPendingSignals(scopeList, now, thresholdMs =
305
305
  const sessionScope = signalScope ?? (scopeList.length === 1 ? scopeList[0] : null);
306
306
  if (allowedScopes.size > 0 && sessionScope && !allowedScopes.has(sessionScope)) continue;
307
307
  try {
308
- const { writeNotification } = await import("./notifications-DU4WVNET.js");
308
+ const { writeNotification } = await import("./notifications-YX43A36Z.js");
309
309
  await writeNotification({
310
310
  agentId: getCoordinatorName(),
311
311
  agentRole: "COO",
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-2I23RPSI.js";
4
4
  import {
5
5
  listBackups
6
- } from "./chunk-FE6WBI2M.js";
6
+ } from "./chunk-GXMY5ERQ.js";
7
7
  import {
8
8
  getEmotionalBaseline,
9
9
  renderEmotionalBaselineSection
@@ -1329,7 +1329,7 @@ async function migrateReflectionDedup(client) {
1329
1329
  "ALTER TABLE memory_reflections ADD COLUMN dedup_key TEXT",
1330
1330
  "migration add memory_reflections.dedup_key"
1331
1331
  );
1332
- const { reflectionDedupKey } = await import("./memory-reflection-LTRHDGUL.js");
1332
+ const { reflectionDedupKey } = await import("./memory-reflection-5NAOS2OJ.js");
1333
1333
  const keyForRow = (row) => {
1334
1334
  let sources = [];
1335
1335
  try {
@@ -2109,7 +2109,7 @@ async function sweepExpiredSoftDeletedMemories(client, options = {}) {
2109
2109
  const purgeArchived = archDays !== void 0;
2110
2110
  const BATCH_SIZE = 2e3;
2111
2111
  const MAX_BATCHES = 500;
2112
- const { cleanupCardsForMemories, cleanupGraphLinksForMemories } = await import("./graph-rag-YFITUAVO.js");
2112
+ const { cleanupCardsForMemories, cleanupGraphLinksForMemories } = await import("./graph-rag-P3PSYW7P.js");
2113
2113
  const softCutoff = `-${softDays} days`;
2114
2114
  const selectArgsBase = [softCutoff];
2115
2115
  let predicate = `status = 'deleted' AND COALESCE(deleted_at, timestamp) < datetime('now', ?)`;
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-WCGNCH3Q.js";
4
4
  import {
5
5
  registerAllTools
6
- } from "./chunk-5YDNNUZ6.js";
6
+ } from "./chunk-HKXNF72F.js";
7
7
 
8
8
  // src/mcp/mcp-surface-hash.ts
9
9
  function computeMcpSurfaceHash() {
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  buildSystemStateMemoryTypeExclusion
3
- } from "./chunk-P3JQDXY6.js";
3
+ } from "./chunk-LVG5ATTU.js";
4
4
  import {
5
5
  sessionScopeFilter
6
- } from "./chunk-IFSKL5QW.js";
6
+ } from "./chunk-LOYK2BRY.js";
7
7
  import {
8
8
  getClient,
9
9
  getIdentity
10
- } from "./chunk-QNKR7WEL.js";
10
+ } from "./chunk-WOGK3FIE.js";
11
11
  import {
12
12
  getEmotionalBaseline
13
13
  } from "./chunk-OMXJMOBD.js";
@@ -646,7 +646,7 @@ var DreamingEngine = class {
646
646
  }
647
647
  let overdueProspective = [];
648
648
  try {
649
- const { getOverdueProspective, completeProspective } = await import("./prospective-memory-V7LFCPU4.js");
649
+ const { getOverdueProspective, completeProspective } = await import("./prospective-memory-WQJJB2PS.js");
650
650
  const overdue = await getOverdueProspective(agentId);
651
651
  overdueProspective = overdue.map((o) => ({
652
652
  id: o.id,