@askexenow/exe-os 0.9.319 → 0.9.322

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 (294) hide show
  1. package/deploy/compose/docker-compose.yml +1 -1
  2. package/deploy/stack-manifests/v0.9.json +110 -2
  3. package/dist/{active-agent-EA2Q3KYR.js → active-agent-M5NJFEBM.js} +3 -3
  4. package/dist/{active-agent-XIPGXSQA.js → active-agent-SHM4QSRJ.js} +3 -3
  5. package/dist/{agentic-ontology-7ZUMZC2O.js → agentic-ontology-HQKCU7LG.js} +1 -1
  6. package/dist/{backfill-metadata-7RO5PSMN.js → backfill-metadata-CXWFCTBO.js} +4 -4
  7. package/dist/{behaviors-OEGZD5DH.js → behaviors-J47D342W.js} +5 -5
  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 +6 -6
  12. package/dist/bin/backfill-responses.js +6 -6
  13. package/dist/bin/backfill-vectors.js +8 -8
  14. package/dist/bin/bulk-sync-postgres.js +12 -12
  15. package/dist/bin/cc-doctor.js +4 -4
  16. package/dist/bin/cleanup-stale-review-tasks.js +12 -12
  17. package/dist/bin/cli.js +56 -16
  18. package/dist/bin/deferred-daemon-restart.js +67 -67
  19. package/dist/bin/exe-agent-config.js +3 -3
  20. package/dist/bin/exe-agent.js +8 -8
  21. package/dist/bin/exe-assign.js +8 -8
  22. package/dist/bin/exe-boot.js +55 -30
  23. package/dist/bin/exe-call.js +4 -4
  24. package/dist/bin/exe-cloud.js +12 -12
  25. package/dist/bin/exe-config-dump.js +3 -3
  26. package/dist/bin/exe-dispatch.js +12 -12
  27. package/dist/bin/exe-doctor.js +4 -4
  28. package/dist/bin/exe-export-behaviors.js +7 -7
  29. package/dist/bin/exe-forget.js +6 -6
  30. package/dist/bin/exe-gateway.js +7 -7
  31. package/dist/bin/exe-healthcheck.js +4 -4
  32. package/dist/bin/exe-heartbeat.js +12 -12
  33. package/dist/bin/exe-kill.js +15 -15
  34. package/dist/bin/exe-launch-agent.js +33 -22
  35. package/dist/bin/exe-new-employee.js +8 -8
  36. package/dist/bin/exe-pending-messages.js +13 -13
  37. package/dist/bin/exe-pending-notifications.js +12 -12
  38. package/dist/bin/exe-pending-reviews.js +12 -12
  39. package/dist/bin/exe-rename.js +4 -4
  40. package/dist/bin/exe-review.js +14 -14
  41. package/dist/bin/exe-search.js +5 -5
  42. package/dist/bin/exe-session-cleanup.js +18 -18
  43. package/dist/bin/exe-settings.js +13 -13
  44. package/dist/bin/exe-start-codex.js +12 -12
  45. package/dist/bin/exe-start-opencode.js +8 -8
  46. package/dist/bin/exe-status.js +13 -13
  47. package/dist/bin/exe-support.js +3 -3
  48. package/dist/bin/exe-team.js +3 -3
  49. package/dist/bin/git-sweep.js +13 -13
  50. package/dist/bin/graph-backfill.js +4 -4
  51. package/dist/bin/graph-export.js +5 -5
  52. package/dist/bin/import-history.js +7 -7
  53. package/dist/bin/install-launchd.js +2 -2
  54. package/dist/bin/install.js +70 -70
  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/registry-proxy.js +7 -1
  61. package/dist/bin/scan-tasks.js +12 -12
  62. package/dist/bin/setup.js +1 -1
  63. package/dist/bin/shard-migrate.js +4 -4
  64. package/dist/bin/stack-update.js +4 -4
  65. package/dist/bin/vps-health-gate.js +1 -1
  66. package/dist/{capability-cards-4BONYCI4.js → capability-cards-H7H3MU74.js} +2 -2
  67. package/dist/{capacity-monitor-SV2Q7CMC.js → capacity-monitor-WAEHVBL7.js} +13 -13
  68. package/dist/{catchup-brief-5ULTVKSE.js → catchup-brief-L42STIDR.js} +15 -15
  69. package/dist/{chunk-LQWCIW4K.js → chunk-2GBGIXKH.js} +1 -1
  70. package/dist/{chunk-C7QYH2YN.js → chunk-3JW3ZXCP.js} +1 -1
  71. package/dist/{chunk-KF6NBYV4.js → chunk-3M73L663.js} +2 -2
  72. package/dist/{chunk-MRB2BXIB.js → chunk-4Z47UMMM.js} +10 -10
  73. package/dist/{chunk-VTHR4DPE.js → chunk-5ZNY7IZI.js} +5 -1
  74. package/dist/{chunk-UQOCHKPX.js → chunk-657AQEPY.js} +1 -1
  75. package/dist/{chunk-B2FUBD6Z.js → chunk-6IBUQBMY.js} +9 -9
  76. package/dist/{chunk-Q774HAGE.js → chunk-6N4LYEDI.js} +1 -1
  77. package/dist/{chunk-EPZWVXKI.js → chunk-6SXJZHRJ.js} +1 -1
  78. package/dist/{chunk-XLQH263A.js → chunk-6UQRJCKK.js} +2 -2
  79. package/dist/{chunk-3ZOWUUKR.js → chunk-6XM6PZXQ.js} +1 -1
  80. package/dist/{chunk-DZJZAHTB.js → chunk-7BZ6TOZN.js} +2 -2
  81. package/dist/{chunk-E3WZA2WU.js → chunk-7CUF27OT.js} +1 -1
  82. package/dist/{chunk-V4UKBUUA.js → chunk-7FBPLVHM.js} +1 -1
  83. package/dist/{chunk-OXGNFT3L.js → chunk-7SDS5VCL.js} +5 -5
  84. package/dist/{chunk-FJUQ5L5R.js → chunk-A3KUGBDP.js} +92 -1
  85. package/dist/{chunk-TWPYSILC.js → chunk-ABGDTMKC.js} +1 -1
  86. package/dist/{chunk-VUZRAEF3.js → chunk-AZL3EUR3.js} +64 -18
  87. package/dist/{chunk-TRXBT24O.js → chunk-BFHBHQFA.js} +5 -5
  88. package/dist/{chunk-F3P34OHU.js → chunk-C4BIZXKB.js} +1 -1
  89. package/dist/{chunk-DFSR3UUL.js → chunk-CHSRSESS.js} +1 -1
  90. package/dist/{chunk-7XGDTKHX.js → chunk-CMDC5D7S.js} +2 -2
  91. package/dist/{chunk-CNFUVZLM.js → chunk-CXXERHNC.js} +1 -1
  92. package/dist/{chunk-N3ZLLKBN.js → chunk-DGFIXJ4S.js} +3 -3
  93. package/dist/{chunk-JNUYJRQX.js → chunk-E32KARET.js} +4 -4
  94. package/dist/{chunk-RJHOFX72.js → chunk-EOPSIIEH.js} +1 -1
  95. package/dist/{chunk-CQ2T4A2D.js → chunk-EPBB2OD3.js} +2 -2
  96. package/dist/{chunk-YTHZTDXH.js → chunk-ERSFOJGC.js} +1 -1
  97. package/dist/{chunk-MM7EYJJ3.js → chunk-EVUXF2G4.js} +1 -1
  98. package/dist/{chunk-V2GI2MJJ.js → chunk-F5FAD2YR.js} +2 -2
  99. package/dist/{chunk-7S3SRDPQ.js → chunk-FANIBYUO.js} +2 -2
  100. package/dist/{chunk-LJTXVAG4.js → chunk-G5TP2D2U.js} +3 -3
  101. package/dist/{chunk-36CFV3ZF.js → chunk-GA76RGSP.js} +3 -3
  102. package/dist/{chunk-B3SFW4LY.js → chunk-GN3IWZDH.js} +612 -536
  103. package/dist/{chunk-PHUKD7VK.js → chunk-H2SD2EA7.js} +9 -9
  104. package/dist/{chunk-LRWB35MD.js → chunk-HGM6NZQH.js} +1 -1
  105. package/dist/{chunk-WXQVFMNV.js → chunk-HIOO7DZ2.js} +5 -5
  106. package/dist/{chunk-7I4HQYPL.js → chunk-HKSJSW2V.js} +1 -1
  107. package/dist/{chunk-RVF6JBHW.js → chunk-HV5CUDOE.js} +1 -1
  108. package/dist/{chunk-5L62XXNH.js → chunk-HWC5W34K.js} +1 -1
  109. package/dist/{chunk-JJ2FFUFV.js → chunk-JXEMAB4M.js} +1 -1
  110. package/dist/{chunk-2OOCPANV.js → chunk-KK4ZOYXJ.js} +1 -1
  111. package/dist/{chunk-K6GZMAIA.js → chunk-KL5WYWS3.js} +2 -2
  112. package/dist/{chunk-RREJ2QQ4.js → chunk-KLG53B63.js} +1 -1
  113. package/dist/{chunk-IPD5ZSOK.js → chunk-KXP3CUTL.js} +2 -2
  114. package/dist/{chunk-AKD6IKYS.js → chunk-LB77CSLO.js} +3 -3
  115. package/dist/{chunk-T5O2EBHU.js → chunk-LCZ55G5G.js} +7 -7
  116. package/dist/{chunk-TDV3XEGQ.js → chunk-LOE2N23P.js} +1 -1
  117. package/dist/{chunk-JPTBLJLS.js → chunk-MYMA23KC.js} +1 -1
  118. package/dist/{chunk-PJH7JUWD.js → chunk-NAHAOFTY.js} +3 -3
  119. package/dist/{chunk-HFDFQ7CB.js → chunk-NFM6VHL7.js} +1 -1
  120. package/dist/{chunk-PM6XSS6R.js → chunk-NYFPFOYM.js} +1 -1
  121. package/dist/{chunk-DRA2FYUQ.js → chunk-OFR7KQ37.js} +3 -3
  122. package/dist/{chunk-OC222BAQ.js → chunk-OI63OVCR.js} +1 -1
  123. package/dist/{chunk-ZOCW4TGA.js → chunk-ORC5AO7E.js} +1 -1
  124. package/dist/{chunk-WUF5MYA5.js → chunk-PISGLNV7.js} +9 -9
  125. package/dist/{chunk-LWBOSHSS.js → chunk-PLBDXCYZ.js} +95 -29
  126. package/dist/{chunk-RAKFEXCN.js → chunk-QNUHDEPI.js} +4 -4
  127. package/dist/{chunk-C54QKE4O.js → chunk-QQOH3I4A.js} +1 -1
  128. package/dist/{chunk-Q26VSIXA.js → chunk-QVFJCFNM.js} +24 -0
  129. package/dist/{chunk-C2DFOF7O.js → chunk-QYLDCPNG.js} +1 -1
  130. package/dist/{chunk-C5SALMKH.js → chunk-ROMB2HH4.js} +5 -5
  131. package/dist/{chunk-GRB44WRN.js → chunk-SENJA7BZ.js} +1 -1
  132. package/dist/{chunk-NODTWD7N.js → chunk-SQ5JWDJ2.js} +1 -1
  133. package/dist/{chunk-KHM3TKOM.js → chunk-T6AUMO5X.js} +1 -1
  134. package/dist/{chunk-YJYE6MMJ.js → chunk-TI6YX3L5.js} +2 -2
  135. package/dist/{chunk-WL5K3R7W.js → chunk-TKBWBHFV.js} +1 -1
  136. package/dist/{chunk-7PUNIH6G.js → chunk-V2ESQU3S.js} +1 -1
  137. package/dist/{chunk-YZTOGIV7.js → chunk-VSXGFHJY.js} +1 -1
  138. package/dist/{chunk-QLVMJGUQ.js → chunk-VY7345RO.js} +46 -7
  139. package/dist/{chunk-YSSJOTVN.js → chunk-WCCR5IFR.js} +2 -2
  140. package/dist/{chunk-4XAYC77M.js → chunk-WFHYAKEU.js} +1 -1
  141. package/dist/{chunk-IDMIGP53.js → chunk-WSYKLS2Y.js} +3 -3
  142. package/dist/{chunk-DTP4HXM3.js → chunk-X62GD6QW.js} +1 -1
  143. package/dist/{chunk-GBUFDCLX.js → chunk-XC7C3GQ2.js} +2 -2
  144. package/dist/{chunk-WG4PRZGT.js → chunk-XEBN5CPD.js} +5 -5
  145. package/dist/{chunk-36SS3TE7.js → chunk-XLNF3CIO.js} +3 -3
  146. package/dist/{chunk-MNUFLCHT.js → chunk-XP53WEXP.js} +3 -3
  147. package/dist/{cleanup-graph-garbage-IXYSUIUH.js → cleanup-graph-garbage-MX5JDTJA.js} +4 -4
  148. package/dist/{co-activation-BQRXOZN2.js → co-activation-K44LGZ7A.js} +2 -2
  149. package/dist/{co-occurrence-QPLSUQ4O.js → co-occurrence-N62HJTRP.js} +2 -2
  150. package/dist/{code-context-index-NQFP6ED5.js → code-context-index-6YQ3DGCN.js} +3 -3
  151. package/dist/completion-nudge-dedup-DBZF24MM.js +74 -0
  152. package/dist/{crdt-sync-VLSJH6LL.js → crdt-sync-BO76VVRX.js} +1 -1
  153. package/dist/{crm-webhook-IZYJXHSK.js → crm-webhook-UZLTHXAS.js} +2 -2
  154. package/dist/{cto-delegation-gate-FU4HGNSN.js → cto-delegation-gate-NVMRONA2.js} +11 -11
  155. package/dist/{daemon-orchestration-IXSMZXGO.js → daemon-orchestration-JI3RD5EZ.js} +15 -15
  156. package/dist/{db-backup-7GJYDSXA.js → db-backup-ITRADB2J.js} +1 -1
  157. package/dist/{doc-graph-extractor-U7XGZQ7T.js → doc-graph-extractor-L7YESUSI.js} +2 -2
  158. package/dist/{documents-U47VG24Q.js → documents-7BFXA6V3.js} +8 -8
  159. package/dist/{dreaming-VBI4BI6R.js → dreaming-NRTMPNPZ.js} +12 -12
  160. package/dist/{exe-drift-BMSRHAT6.js → exe-drift-GLJIM7EI.js} +3 -3
  161. package/dist/{exe-export-CIRE2HZA.js → exe-export-THIAYHXK.js} +6 -6
  162. package/dist/{exe-import-X6U6VG7Q.js → exe-import-3Y4VOUYL.js} +6 -6
  163. package/dist/{exe-key-7VXVXX4Q.js → exe-key-IPGY4RMU.js} +67 -67
  164. package/dist/{exe-snapshot-P5BLEXQJ.js → exe-snapshot-2ZEWCDYK.js} +15 -15
  165. package/dist/{fast-db-init-SMBGFVXM.js → fast-db-init-TLYUWCDE.js} +1 -1
  166. package/dist/{founder-context-AMMO53S7.js → founder-context-J362DNU4.js} +2 -2
  167. package/dist/gateway/index.js +11 -11
  168. package/dist/{git-staleness-AJDPXQJF.js → git-staleness-BRDHTHNS.js} +2 -2
  169. package/dist/{git-task-sweep-EJ3HEH4Y.js → git-task-sweep-7GVUKDBW.js} +12 -12
  170. package/dist/{global-procedures-KV2SVX43.js → global-procedures-FNUKY2LF.js} +3 -3
  171. package/dist/{graph-auto-extract-HFXDXJC3.js → graph-auto-extract-AJZUV3PO.js} +2 -2
  172. package/dist/hooks/bug-report-worker.js +14 -14
  173. package/dist/hooks/codex-stop-task-finalizer.js +14 -14
  174. package/dist/hooks/commit-complete.js +14 -14
  175. package/dist/hooks/error-recall.js +6 -6
  176. package/dist/hooks/exe-heartbeat-hook.js +3 -3
  177. package/dist/hooks/ingest-worker.js +3 -3
  178. package/dist/hooks/ingest.js +6 -6
  179. package/dist/hooks/instructions-loaded.js +4 -4
  180. package/dist/hooks/manifest.json +20 -20
  181. package/dist/hooks/notification.js +4 -4
  182. package/dist/hooks/post-compact.js +13 -13
  183. package/dist/hooks/post-tool-combined.js +8 -8
  184. package/dist/hooks/pre-compact.js +17 -17
  185. package/dist/hooks/pre-tool-use.js +24 -22
  186. package/dist/hooks/prompt-submit.js +26 -26
  187. package/dist/hooks/session-end.js +22 -22
  188. package/dist/hooks/session-start.js +12 -12
  189. package/dist/hooks/stop.js +37 -41
  190. package/dist/hooks/subagent-stop.js +13 -13
  191. package/dist/hooks/summary-worker.js +20 -20
  192. package/dist/index.js +22 -22
  193. package/dist/{installer-XLP5MIRG.js → installer-2EKTDQZB.js} +5 -5
  194. package/dist/{installer-MWRZB3RT.js → installer-SC7CQBYY.js} +5 -5
  195. package/dist/{installer-2SY3BEHJ.js → installer-UEF44TWQ.js} +5 -5
  196. package/dist/lib/agent-config.js +7 -1
  197. package/dist/lib/cloud-sync.js +12 -12
  198. package/dist/lib/consolidation.js +5 -5
  199. package/dist/lib/database.js +2 -2
  200. package/dist/lib/db-daemon-client.js +3 -3
  201. package/dist/lib/db.js +2 -2
  202. package/dist/lib/device-registry.js +1 -1
  203. package/dist/lib/embedder.js +3 -3
  204. package/dist/lib/employee-templates.js +4 -4
  205. package/dist/lib/employees.js +2 -2
  206. package/dist/lib/exe-daemon-client.js +2 -2
  207. package/dist/lib/exe-daemon.js +51 -51
  208. package/dist/lib/hybrid-search.js +5 -5
  209. package/dist/lib/identity.js +2 -2
  210. package/dist/lib/license.js +8 -2
  211. package/dist/lib/messaging.js +12 -12
  212. package/dist/lib/registry-proxy.js +1 -1
  213. package/dist/lib/reminders.js +3 -3
  214. package/dist/lib/schedules.js +5 -5
  215. package/dist/lib/session-registry.js +4 -4
  216. package/dist/lib/skill-learning.js +6 -6
  217. package/dist/lib/status-brief.js +1 -1
  218. package/dist/lib/store.js +4 -4
  219. package/dist/lib/task-router.js +3 -3
  220. package/dist/lib/tasks.js +13 -13
  221. package/dist/lib/tmux-routing.js +11 -11
  222. package/dist/lib/token-spend.js +3 -3
  223. package/dist/{license-gate-PHJLO2G6.js → license-gate-YUUSIPJ7.js} +3 -3
  224. package/dist/license-sync-LX73IEBH.js +238 -0
  225. package/dist/mcp/register-tools.js +66 -66
  226. package/dist/mcp/server.js +70 -70
  227. package/dist/mcp/tools/complete-reminder.js +4 -4
  228. package/dist/mcp/tools/create-reminder.js +4 -4
  229. package/dist/mcp/tools/create-task.js +15 -15
  230. package/dist/mcp/tools/deactivate-behavior.js +7 -7
  231. package/dist/mcp/tools/list-reminders.js +4 -4
  232. package/dist/mcp/tools/list-tasks.js +15 -15
  233. package/dist/mcp/tools/send-message.js +14 -14
  234. package/dist/mcp/tools/update-task.js +14 -14
  235. package/dist/{mcp-http-config-6Q7SYJFY.js → mcp-http-config-MBG5AQNH.js} +3 -3
  236. package/dist/{memory-cards-IG3K6T7M.js → memory-cards-MGZ4P3AA.js} +4 -4
  237. package/dist/{memory-graph-extractor-WZ77ITZ3.js → memory-graph-extractor-44P2ATID.js} +3 -3
  238. package/dist/{memory-poisoning-defense-YQW6WVPL.js → memory-poisoning-defense-3CYFKNLA.js} +2 -2
  239. package/dist/{memory-pressure-watchdog-JPCLJAXH.js → memory-pressure-watchdog-6PFLEOUO.js} +12 -12
  240. package/dist/{memory-queue-client-W24ZZ6ZF.js → memory-queue-client-BZD6MXA5.js} +3 -3
  241. package/dist/{memory-reflection-UGK2I2T7.js → memory-reflection-AYPJRPU7.js} +2 -2
  242. package/dist/{notifications-3MO6HVJM.js → notifications-BBQ23ORD.js} +11 -11
  243. package/dist/{orchestration-events-SKESCF4F.js → orchestration-events-O5P5NEKS.js} +3 -3
  244. package/dist/{orchestrator-SM65YFE2.js → orchestrator-SERM6FDY.js} +13 -13
  245. package/dist/{pipeline-router-UGCC5XSO.js → pipeline-router-T673WGL3.js} +3 -3
  246. package/dist/{plan-limits-RUCNKVRH.js → plan-limits-QWBN2EKH.js} +5 -5
  247. package/dist/{projection-worker-FBFQ232A.js → projection-worker-K6TILAZH.js} +2 -2
  248. package/dist/{prospective-memory-X4UQTUC2.js → prospective-memory-XRNRMEDL.js} +2 -2
  249. package/dist/{reranker-FIRW3XMW.js → reranker-3XC5UM4F.js} +1 -1
  250. package/dist/{retrieval-health-NWYJEIZS.js → retrieval-health-ULVVOIPL.js} +1 -1
  251. package/dist/{review-polling-HUJMBGUY.js → review-polling-5YGDPJUX.js} +12 -12
  252. package/dist/runtime/index.js +19 -19
  253. package/dist/{session-events-UNCFJIK7.js → session-events-D52HNUJK.js} +12 -12
  254. package/dist/{session-kill-telemetry-VQ4JWWTI.js → session-kill-telemetry-IBNCJSI7.js} +12 -12
  255. package/dist/{session-scope-OLSNZJ24.js → session-scope-5FWZ4AYR.js} +11 -11
  256. package/dist/{setup-wizard-X72EV5E2.js → setup-wizard-KVTLSSRD.js} +1 -1
  257. package/dist/{skill-refinement-OJRBB3LD.js → skill-refinement-YLIAY7V4.js} +2 -2
  258. package/dist/{stack-update-PK2OYYR3.js → stack-update-OWWGTYRB.js} +3 -3
  259. package/dist/{steward-gate-5ZWUVNGD.js → steward-gate-3ZITRYVH.js} +3 -3
  260. package/dist/{task-enforcement-VFFLCP3N.js → task-enforcement-L4YTDOOX.js} +11 -11
  261. package/dist/{task-scope-75JK27V5.js → task-scope-OIHLMQOQ.js} +11 -11
  262. package/dist/{tasks-crud-ADVXVR7D.js → tasks-crud-QUIIRWE3.js} +11 -11
  263. package/dist/{tasks-notify-NAA6IHHW.js → tasks-notify-ANYLB5GU.js} +12 -12
  264. package/dist/{tasks-review-5A3JJR6R.js → tasks-review-BWSCXFMB.js} +11 -11
  265. package/dist/{telemetry-upload-HSXQYSVJ.js → telemetry-upload-XLDBCD7B.js} +7 -7
  266. package/dist/{token-budget-GD2VU7N4.js → token-budget-OQCLPV3A.js} +3 -3
  267. package/dist/{tool-capability-index-KA2HQ7A4.js → tool-capability-index-3UWKZZED.js} +1 -1
  268. package/dist/{tool-telemetry-UQY7GDGE.js → tool-telemetry-AQTFWOWG.js} +1 -1
  269. package/dist/tui/App.js +19 -19
  270. package/dist/{tui-data-VYSH7F2K.js → tui-data-3Y5L5LJB.js} +11 -11
  271. package/dist/{worker-gate-DRSX2SOW.js → worker-gate-WJS2MFNA.js} +1 -1
  272. package/dist/{workflow-engine-WFDIVYWP.js → workflow-engine-EPPZ226V.js} +2 -2
  273. package/dist/{worktree-LWVPNZ4L.js → worktree-OYGDGJP7.js} +4 -4
  274. package/dist/{worktree-sweep-3IZLGYYH.js → worktree-sweep-KV4H4766.js} +5 -5
  275. package/package.json +1 -1
  276. package/release-notes.json +47 -44
  277. /package/dist/{chunk-3YKA5BKT.js → chunk-72LWCZTJ.js} +0 -0
  278. /package/dist/{chunk-7NG77I33.js → chunk-DQJ3WZRK.js} +0 -0
  279. /package/dist/{chunk-HJSMIHEY.js → chunk-DY3J6GQO.js} +0 -0
  280. /package/dist/{chunk-XRJ3EFEF.js → chunk-IZY6V4FI.js} +0 -0
  281. /package/dist/{chunk-S6N7DLKL.js → chunk-Q5YKWFVO.js} +0 -0
  282. /package/dist/{chunk-4AHV3QBI.js → chunk-QTEHH4LG.js} +0 -0
  283. /package/dist/{chunk-UWVAG35C.js → chunk-RRQI5PSJ.js} +0 -0
  284. /package/dist/{chunk-NOPDNOGQ.js → chunk-SIJSFULW.js} +0 -0
  285. /package/dist/{chunk-SOIHGU5I.js → chunk-SJZT66LM.js} +0 -0
  286. /package/dist/{chunk-3EZQSPTG.js → chunk-WXRVHXVP.js} +0 -0
  287. /package/dist/{chunk-6DTSAEDS.js → chunk-YIFZZYQD.js} +0 -0
  288. /package/dist/{chunk-53ARJV2L.js → chunk-ZU6767WK.js} +0 -0
  289. /package/dist/{core-memory-5HNI2YLS.js → core-memory-DARTILJG.js} +0 -0
  290. /package/dist/{entity-boost-AQBUEMJK.js → entity-boost-VR5YOQCT.js} +0 -0
  291. /package/dist/{message-queue-client-JGOK7POW.js → message-queue-client-HVFR67QH.js} +0 -0
  292. /package/dist/{oauth-server-NZTPAFQ7.js → oauth-server-UQHCFVHT.js} +0 -0
  293. /package/dist/{project-boot-3UP6ETJY.js → project-boot-22ZZL2GE.js} +0 -0
  294. /package/dist/{wiki-acl-4W4CSCFO.js → wiki-acl-EZMGL6KW.js} +0 -0
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  recordSessionKill
3
- } from "./chunk-LJTXVAG4.js";
3
+ } from "./chunk-G5TP2D2U.js";
4
4
  import {
5
5
  updateTask
6
- } from "./chunk-OXGNFT3L.js";
6
+ } from "./chunk-7SDS5VCL.js";
7
7
  import {
8
8
  ensureEmployeeAsync,
9
9
  extractRootExe,
@@ -14,7 +14,7 @@ import {
14
14
  sessionScopeFilter,
15
15
  strictSessionScopeFilter,
16
16
  writeNotification
17
- } from "./chunk-LWBOSHSS.js";
17
+ } from "./chunk-PLBDXCYZ.js";
18
18
  import {
19
19
  queueIntercom
20
20
  } from "./chunk-4FVVJ7ME.js";
@@ -23,7 +23,7 @@ import {
23
23
  } from "./chunk-E23LNUWJ.js";
24
24
  import {
25
25
  listSessions
26
- } from "./chunk-TWPYSILC.js";
26
+ } from "./chunk-ABGDTMKC.js";
27
27
  import {
28
28
  listTmuxSessions,
29
29
  parseContextPercentage
@@ -33,16 +33,16 @@ import {
33
33
  } from "./chunk-RMOBQ6A5.js";
34
34
  import {
35
35
  recordOrchestrationEventBestEffort
36
- } from "./chunk-RVF6JBHW.js";
36
+ } from "./chunk-HV5CUDOE.js";
37
37
  import {
38
38
  getAgentRuntime
39
- } from "./chunk-Q26VSIXA.js";
39
+ } from "./chunk-QVFJCFNM.js";
40
40
  import {
41
41
  baseAgentName,
42
42
  getCoordinatorName,
43
43
  isCoordinatorName,
44
44
  shouldAutoInstance
45
- } from "./chunk-36SS3TE7.js";
45
+ } from "./chunk-XLNF3CIO.js";
46
46
  import {
47
47
  loadConfigSync
48
48
  } from "./chunk-7Y5UDEVM.js";
@@ -709,6 +709,43 @@ function checkAutoWakeGates(key, nowMs) {
709
709
  }
710
710
  return null;
711
711
  }
712
+ async function routeUnrecoverableTask(deps, taskId, reviewReason, abandonReason) {
713
+ let hasDeliverable = false;
714
+ if (deps.getTaskDeliverable) {
715
+ try {
716
+ const d = await deps.getTaskDeliverable(taskId);
717
+ hasDeliverable = typeof d === "string" && d.trim().length > 0;
718
+ } catch {
719
+ }
720
+ }
721
+ if (hasDeliverable || !deps.markTaskAbandoned) {
722
+ await deps.markTaskNeedsReview(taskId, reviewReason);
723
+ return "needs_review";
724
+ }
725
+ await deps.markTaskAbandoned(taskId, abandonReason);
726
+ return "blocked";
727
+ }
728
+ async function readTaskDeliverable(getClient, taskId) {
729
+ try {
730
+ const client = getClient();
731
+ const r = await client.execute({ sql: `SELECT result FROM tasks WHERE id = ?`, args: [taskId] });
732
+ const v = r.rows[0]?.result;
733
+ return v != null ? String(v) : null;
734
+ } catch {
735
+ return null;
736
+ }
737
+ }
738
+ async function markTaskBlockedAbandoned(getClient, taskId, reason) {
739
+ try {
740
+ await updateTask({ taskId, status: "blocked", result: reason });
741
+ } catch {
742
+ const client = getClient();
743
+ await client.execute({
744
+ sql: `UPDATE tasks SET status = 'blocked', result = ?, updated_at = ? WHERE id = ?`,
745
+ args: [reason, (/* @__PURE__ */ new Date()).toISOString(), taskId]
746
+ });
747
+ }
748
+ }
712
749
  function shouldAutoWake(input) {
713
750
  if (isCoordinatorName(input.agentId)) return false;
714
751
  if (input.nowMs - input.lastSpawnMs < input.cooldownMs) return false;
@@ -834,25 +871,29 @@ async function pollOrphanedTasks(deps, nowMs = Date.now()) {
834
871
  const topTask = tasks[0];
835
872
  const retries = _autoWakeTaskRetries.get(topTask.taskId) ?? 0;
836
873
  if (retries >= AUTO_WAKE_MAX_RETRIES) {
874
+ let routed = "needs_review";
837
875
  try {
838
- await deps.markTaskNeedsReview(
876
+ routed = await routeUnrecoverableTask(
877
+ deps,
839
878
  topTask.taskId,
840
- `Auto-wake failed ${AUTO_WAKE_MAX_RETRIES} times \u2014 auto-closed: session ended without explicit completion. Needs manual review.`
879
+ `Auto-wake failed ${AUTO_WAKE_MAX_RETRIES} times \u2014 session ended after producing a deliverable. Needs manual review.`,
880
+ `Auto-wake failed ${AUTO_WAKE_MAX_RETRIES} times \u2014 session ended with NO deliverable. Blocked for manual re-dispatch (not a completed review).`
841
881
  );
842
882
  process.stderr.write(
843
- `[auto-wake] ${agentId} task ${topTask.taskId} exceeded ${AUTO_WAKE_MAX_RETRIES} retries \u2014 marked needs_review
883
+ `[auto-wake] ${agentId} task ${topTask.taskId} exceeded ${AUTO_WAKE_MAX_RETRIES} retries \u2014 marked ${routed}
844
884
  `
845
885
  );
846
886
  } catch (e) {
847
- process.stderr.write("[daemon-orch] mark task needs_review after retries: " + (e instanceof Error ? e.message : String(e)) + "\n");
887
+ process.stderr.write("[daemon-orch] route unrecoverable task after retries: " + (e instanceof Error ? e.message : String(e)) + "\n");
848
888
  }
849
889
  try {
890
+ const attention = routed === "blocked" ? "needs re-dispatch (no deliverable)" : "needs review";
850
891
  await writeNotification({
851
892
  agentId,
852
893
  agentRole: "employee",
853
894
  event: "orphan_task",
854
895
  project: String(topTask.sessionScope ?? ""),
855
- summary: `\u26A0\uFE0F Task ${topTask.taskId} for ${agentId} needs review \u2014 auto-wake failed ${AUTO_WAKE_MAX_RETRIES} times. Session could not be recovered.`,
896
+ summary: `\u26A0\uFE0F Task ${topTask.taskId} for ${agentId} ${attention} \u2014 auto-wake failed ${AUTO_WAKE_MAX_RETRIES} times. Session could not be recovered.`,
856
897
  sessionScope
857
898
  });
858
899
  } catch {
@@ -963,16 +1004,17 @@ async function releaseStuckTasks(deps, nowMs = Date.now()) {
963
1004
  if (!liveAgents.has(t.agentId)) {
964
1005
  const leaseExpired = isLeaseExpired(t.leaseExpiresAt, nowMs);
965
1006
  if (!leaseExpired && nowMs - updatedMs < STUCK_TASK_GRACE_MS) continue;
966
- const reason = leaseExpired ? `Auto-closed: agent "${t.agentId}" task lease expired (${t.leaseExpiresAt}) and no live local session exists. Needs manual review.` : `Auto-closed: agent "${t.agentId}" session ended without explicit completion (in_progress for ${ageMinutes}m, no live session). Needs manual review.`;
1007
+ const reviewReason = leaseExpired ? `Auto-closed: agent "${t.agentId}" task lease expired (${t.leaseExpiresAt}); deliverable present. Needs manual review.` : `Auto-closed: agent "${t.agentId}" session ended after producing a deliverable (in_progress for ${ageMinutes}m, no live session). Needs manual review.`;
1008
+ const abandonReason = leaseExpired ? `Abandoned: agent "${t.agentId}" task lease expired (${t.leaseExpiresAt}) with NO deliverable. Blocked for manual re-dispatch.` : `Abandoned: agent "${t.agentId}" session ended with NO deliverable (in_progress for ${ageMinutes}m, no live session). Blocked for manual re-dispatch.`;
967
1009
  try {
968
- await deps.markTaskNeedsReview(t.taskId, reason);
1010
+ const routed = await routeUnrecoverableTask(deps, t.taskId, reviewReason, abandonReason);
969
1011
  released.push(t.taskId);
970
1012
  process.stderr.write(
971
- `[stuck-release] Task ${t.taskId} (${t.agentId}) \u2014 in_progress for ${ageMinutes}m, agent dead \u2192 needs_review
1013
+ `[stuck-release] Task ${t.taskId} (${t.agentId}) \u2014 in_progress for ${ageMinutes}m, agent dead \u2192 ${routed}
972
1014
  `
973
1015
  );
974
1016
  } catch (err) {
975
- process.stderr.write(`[stuck-release] Failed to mark task ${t.taskId} needs_review: ${err instanceof Error ? err.message : String(err)}
1017
+ process.stderr.write(`[stuck-release] Failed to route stuck task ${t.taskId}: ${err instanceof Error ? err.message : String(err)}
976
1018
  `);
977
1019
  }
978
1020
  if (deps.unblockDependents) {
@@ -1050,6 +1092,8 @@ function createStuckTaskRealDeps(getClient) {
1050
1092
  });
1051
1093
  }
1052
1094
  },
1095
+ getTaskDeliverable: (taskId) => readTaskDeliverable(getClient, taskId),
1096
+ markTaskAbandoned: (taskId, reason) => markTaskBlockedAbandoned(getClient, taskId, reason),
1053
1097
  parseAgentFromSession: (sessionName) => {
1054
1098
  if (!sessionName.includes("-")) return null;
1055
1099
  const agentPart = sessionName.split("-")[0];
@@ -1236,6 +1280,8 @@ function createAutoWakeRealDeps(getClient, projectDir) {
1236
1280
  });
1237
1281
  }
1238
1282
  },
1283
+ getTaskDeliverable: (taskId) => readTaskDeliverable(getClient, taskId),
1284
+ markTaskAbandoned: (taskId, reason) => markTaskBlockedAbandoned(getClient, taskId, reason),
1239
1285
  parseAgentFromSession: (sessionName) => {
1240
1286
  if (!sessionName.includes("-")) return null;
1241
1287
  const agentPart = sessionName.split("-")[0];
@@ -1968,7 +2014,7 @@ async function reapOrphanedWorktrees(deps, nowMs = Date.now()) {
1968
2014
  }
1969
2015
  async function createWorktreeReaperRealDeps() {
1970
2016
  const { getPaneCwdAsync } = await import("./lib/tmux-status.js");
1971
- const { getGitRoot, isWorktreeDirty: isDirty } = await import("./worktree-LWVPNZ4L.js");
2017
+ const { getGitRoot, isWorktreeDirty: isDirty } = await import("./worktree-OYGDGJP7.js");
1972
2018
  const { statSync: statSync3 } = await import("fs");
1973
2019
  const { basename } = await import("path");
1974
2020
  const { promisify: promisify2 } = await import("util");
@@ -2152,7 +2198,7 @@ async function gcStaleCheckpoints() {
2152
2198
  }
2153
2199
  async function pollTaskGroupBarriers() {
2154
2200
  try {
2155
- const { checkAndFireBarriers } = await import("./tasks-crud-ADVXVR7D.js");
2201
+ const { checkAndFireBarriers } = await import("./tasks-crud-QUIIRWE3.js");
2156
2202
  const firedGroupIds = await checkAndFireBarriers();
2157
2203
  if (firedGroupIds.length === 0) return 0;
2158
2204
  const { getClient } = await import("./lib/database.js");
@@ -5,16 +5,16 @@ import {
5
5
  notifyParentExe,
6
6
  resolveExeSession,
7
7
  sendIntercom
8
- } from "./chunk-LWBOSHSS.js";
8
+ } from "./chunk-PLBDXCYZ.js";
9
9
  import {
10
10
  getTransport
11
11
  } from "./chunk-RMOBQ6A5.js";
12
12
  import {
13
13
  recordOrchestrationEventBestEffort
14
- } from "./chunk-RVF6JBHW.js";
14
+ } from "./chunk-HV5CUDOE.js";
15
15
  import {
16
16
  getAgentRuntime
17
- } from "./chunk-Q26VSIXA.js";
17
+ } from "./chunk-QVFJCFNM.js";
18
18
  import {
19
19
  getSessionKey
20
20
  } from "./chunk-CVYC6DUW.js";
@@ -22,7 +22,7 @@ import {
22
22
  isCoordinatorName,
23
23
  isMultiInstance,
24
24
  shouldAutoInstance
25
- } from "./chunk-36SS3TE7.js";
25
+ } from "./chunk-XLNF3CIO.js";
26
26
 
27
27
  // src/lib/tasks-notify.ts
28
28
  var VERIFY_DELAY_MS = 1e4;
@@ -68,7 +68,7 @@ async function dispatchTaskToEmployee(input) {
68
68
  let crossProject = false;
69
69
  if (input.projectName) {
70
70
  try {
71
- const { assertSessionScope } = await import("./session-scope-OLSNZJ24.js");
71
+ const { assertSessionScope } = await import("./session-scope-5FWZ4AYR.js");
72
72
  const check = assertSessionScope("dispatch_task", input.projectName);
73
73
  if (check.reason === "cross_session_denied") {
74
74
  crossProject = true;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getGitRoot,
3
3
  isWorktreeDirty
4
- } from "./chunk-RREJ2QQ4.js";
4
+ } from "./chunk-KLG53B63.js";
5
5
 
6
6
  // src/lib/worktree-sweep.ts
7
7
  import { execFileSync } from "child_process";
@@ -2,7 +2,7 @@ import {
2
2
  connectEmbedDaemon,
3
3
  disconnectClient,
4
4
  embedViaClient
5
- } from "./chunk-C7QYH2YN.js";
5
+ } from "./chunk-3JW3ZXCP.js";
6
6
  import {
7
7
  EMBEDDING_DIM
8
8
  } from "./chunk-FXU7JOXK.js";
@@ -3,10 +3,10 @@ function computeDaemonHeapCapMb(_totalGb) {
3
3
  return 4096;
4
4
  }
5
5
  var HEAP_FLAG_RE = /^--(max[-_]old[-_]space[-_]size|max[-_]semi[-_]space[-_]size|max[-_]heap[-_]size)(=|$)/i;
6
- var EMBED_WORKER_DEFAULT_HEAP_MB = 6144;
6
+ var EMBED_WORKER_DEFAULT_HEAP_MB = 3072;
7
7
  var EMBED_WORKER_MIN_HEAP_MB = 3072;
8
8
  var EMBED_WORKER_RSS_HEADROOM_MB = 2048;
9
- var EMBED_WORKER_RSS_KILL_FLOOR_MB = 8192;
9
+ var EMBED_WORKER_RSS_KILL_FLOOR_MB = 5120;
10
10
  function resolveEmbedWorkerRssKillMb(envValue, heapMb) {
11
11
  const heap = Number.isFinite(heapMb) && heapMb > 0 ? heapMb : EMBED_WORKER_DEFAULT_HEAP_MB;
12
12
  const safeDefault = Math.max(heap + EMBED_WORKER_RSS_HEADROOM_MB, EMBED_WORKER_RSS_KILL_FLOOR_MB);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  listBehaviors
3
- } from "./chunk-7S3SRDPQ.js";
3
+ } from "./chunk-FANIBYUO.js";
4
4
  import {
5
5
  loadConfigSync
6
6
  } from "./chunk-7Y5UDEVM.js";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  getActiveAgent
3
- } from "./chunk-RJHOFX72.js";
3
+ } from "./chunk-EOPSIIEH.js";
4
4
  import {
5
5
  listTasks
6
- } from "./chunk-LWBOSHSS.js";
6
+ } from "./chunk-PLBDXCYZ.js";
7
7
  import {
8
8
  getAgentContext
9
9
  } from "./chunk-GJV3WDWM.js";
10
10
  import {
11
11
  isCoordinatorName
12
- } from "./chunk-36SS3TE7.js";
12
+ } from "./chunk-XLNF3CIO.js";
13
13
 
14
14
  // src/mcp/tools/list-tasks.ts
15
15
  import { z } from "zod";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  deactivateBehavior
3
- } from "./chunk-7S3SRDPQ.js";
3
+ } from "./chunk-FANIBYUO.js";
4
4
  import {
5
5
  getActiveAgent
6
- } from "./chunk-RJHOFX72.js";
6
+ } from "./chunk-EOPSIIEH.js";
7
7
  import {
8
8
  canCoordinate,
9
9
  getClient
10
- } from "./chunk-36SS3TE7.js";
10
+ } from "./chunk-XLNF3CIO.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-5ZWUVNGD.js");
27
+ const { StewardGate } = await import("./steward-gate-3ZITRYVH.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) {
@@ -9,7 +9,7 @@ import {
9
9
  getCoordinatorEmployee,
10
10
  getEmployee,
11
11
  loadEmployeesSync
12
- } from "./chunk-36SS3TE7.js";
12
+ } from "./chunk-XLNF3CIO.js";
13
13
  import {
14
14
  EXE_AI_DIR
15
15
  } from "./chunk-7Y5UDEVM.js";
@@ -3,12 +3,12 @@ import {
3
3
  getClient,
4
4
  isInitialized,
5
5
  loadEmployees
6
- } from "./chunk-36SS3TE7.js";
6
+ } from "./chunk-XLNF3CIO.js";
7
7
  import {
8
8
  PLAN_LIMITS,
9
9
  checkLicense,
10
10
  isFeatureAllowed
11
- } from "./chunk-QLVMJGUQ.js";
11
+ } from "./chunk-VY7345RO.js";
12
12
  import {
13
13
  EXE_AI_DIR
14
14
  } from "./chunk-7Y5UDEVM.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-36SS3TE7.js";
3
+ } from "./chunk-XLNF3CIO.js";
4
4
 
5
5
  // src/lib/token-budget.ts
6
6
  var WARN_THRESHOLD = 0.8;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-36SS3TE7.js";
3
+ } from "./chunk-XLNF3CIO.js";
4
4
  import {
5
5
  loadConfig
6
6
  } from "./chunk-7Y5UDEVM.js";
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-7UMCQQWS.js";
7
7
  import {
8
8
  getClient
9
- } from "./chunk-36SS3TE7.js";
9
+ } from "./chunk-XLNF3CIO.js";
10
10
 
11
11
  // src/lib/memory-graph-extractor.ts
12
12
  function relationshipId(sourceId, targetId, relType) {
@@ -288,7 +288,7 @@ async function upsertMemoryGraph(result, memoryId) {
288
288
  });
289
289
  }
290
290
  try {
291
- const { createCoOccurrenceEdges } = await import("./co-occurrence-QPLSUQ4O.js");
291
+ const { createCoOccurrenceEdges } = await import("./co-occurrence-N62HJTRP.js");
292
292
  await createCoOccurrenceEdges(result.entities, memoryId);
293
293
  } catch {
294
294
  }
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  vectorToSqlLiteral
3
- } from "./chunk-PHUKD7VK.js";
3
+ } from "./chunk-H2SD2EA7.js";
4
4
  import {
5
5
  blobToVector
6
6
  } from "./chunk-OTVEIJUQ.js";
7
7
  import {
8
8
  getClient
9
- } from "./chunk-36SS3TE7.js";
9
+ } from "./chunk-XLNF3CIO.js";
10
10
 
11
11
  // src/lib/behaviors.ts
12
12
  import crypto from "crypto";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  isExeSession
3
- } from "./chunk-LWBOSHSS.js";
3
+ } from "./chunk-PLBDXCYZ.js";
4
4
  import {
5
5
  recordOrchestrationEventBestEffort
6
- } from "./chunk-RVF6JBHW.js";
6
+ } from "./chunk-HV5CUDOE.js";
7
7
  import {
8
8
  getClient,
9
9
  isCoordinatorName
10
- } from "./chunk-36SS3TE7.js";
10
+ } from "./chunk-XLNF3CIO.js";
11
11
  import {
12
12
  isDaemonAlive
13
13
  } from "./chunk-7HLWBYH7.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  routeTask
3
- } from "./chunk-C54QKE4O.js";
3
+ } from "./chunk-QQOH3I4A.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-LWBOSHSS.js";
12
+ } from "./chunk-PLBDXCYZ.js";
13
13
  import {
14
14
  DEFAULT_COORDINATOR_TEMPLATE_NAME,
15
15
  getCoordinatorName
16
- } from "./chunk-36SS3TE7.js";
16
+ } from "./chunk-XLNF3CIO.js";
17
17
 
18
18
  // src/runtime/orchestrator.ts
19
19
  var STALE_THRESHOLD_MS = 2 * 60 * 60 * 1e3;