@askexenow/exe-os 0.9.322 → 0.9.324

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/deploy/compose/.env.customer.example +1 -1
  2. package/deploy/compose/.env.example +18 -1
  3. package/deploy/compose/PROTECTED_FILES.md +4 -1
  4. package/deploy/compose/add-routes.sh +22 -0
  5. package/deploy/compose/cloudflared/config.yml.example +6 -3
  6. package/deploy/compose/docker-compose.yml +36 -1
  7. package/deploy/compose/generate-env.ts +40 -2
  8. package/deploy/compose/sso-edge/default.conf.template +11 -0
  9. package/deploy/compose/sso-edge/sso-redirect.conf +90 -21
  10. package/deploy/stack-manifests/v0.9.json +110 -2
  11. package/dist/{active-agent-M5NJFEBM.js → active-agent-CVSB2EER.js} +3 -3
  12. package/dist/{active-agent-SHM4QSRJ.js → active-agent-IUVRZOSF.js} +3 -3
  13. package/dist/{agentic-ontology-HQKCU7LG.js → agentic-ontology-2QFPBIQP.js} +1 -1
  14. package/dist/backfill-gate-J7UXFNXU.js +19 -0
  15. package/dist/{backfill-metadata-CXWFCTBO.js → backfill-metadata-W3PRQPVV.js} +4 -4
  16. package/dist/{behaviors-J47D342W.js → behaviors-MQCADHAD.js} +5 -5
  17. package/dist/bin/agentic-ontology-backfill.js +5 -5
  18. package/dist/bin/agentic-reflection-backfill.js +6 -6
  19. package/dist/bin/agentic-semantic-label.js +5 -5
  20. package/dist/bin/backfill-conversations.js +11 -11
  21. package/dist/bin/backfill-responses.js +11 -11
  22. package/dist/bin/backfill-vectors.js +102 -22
  23. package/dist/bin/bulk-sync-postgres.js +14 -14
  24. package/dist/bin/cc-doctor.js +5 -5
  25. package/dist/bin/cleanup-stale-review-tasks.js +20 -13
  26. package/dist/bin/cli.js +28 -31
  27. package/dist/bin/customer-readiness.js +1 -0
  28. package/dist/bin/deferred-daemon-restart.js +80 -77
  29. package/dist/bin/exe-agent-config.js +3 -3
  30. package/dist/bin/exe-agent.js +5 -5
  31. package/dist/bin/exe-assign.js +10 -10
  32. package/dist/bin/exe-boot.js +32 -23
  33. package/dist/bin/exe-call.js +5 -5
  34. package/dist/bin/exe-cloud.js +120 -47
  35. package/dist/bin/exe-config-dump.js +3 -3
  36. package/dist/bin/exe-dispatch.js +48 -14
  37. package/dist/bin/exe-doctor.js +4 -4
  38. package/dist/bin/exe-export-behaviors.js +7 -7
  39. package/dist/bin/exe-forget.js +6 -6
  40. package/dist/bin/exe-gateway.js +8 -8
  41. package/dist/bin/exe-healthcheck.js +17 -8
  42. package/dist/bin/exe-heartbeat.js +20 -13
  43. package/dist/bin/exe-kill.js +23 -16
  44. package/dist/bin/exe-launch-agent.js +30 -27
  45. package/dist/bin/exe-new-employee.js +9 -9
  46. package/dist/bin/exe-pending-messages.js +21 -14
  47. package/dist/bin/exe-pending-notifications.js +20 -13
  48. package/dist/bin/exe-pending-reviews.js +20 -13
  49. package/dist/bin/exe-rename.js +5 -5
  50. package/dist/bin/exe-review.js +22 -15
  51. package/dist/bin/exe-search.js +8 -13
  52. package/dist/bin/exe-session-cleanup.js +39 -22
  53. package/dist/bin/exe-settings.js +15 -15
  54. package/dist/bin/exe-start-codex.js +51 -34
  55. package/dist/bin/exe-start-opencode.js +8 -8
  56. package/dist/bin/exe-status.js +21 -14
  57. package/dist/bin/exe-support.js +3 -3
  58. package/dist/bin/exe-team.js +3 -3
  59. package/dist/bin/exe-watchdog.js +278 -39
  60. package/dist/bin/git-sweep.js +21 -14
  61. package/dist/bin/graph-backfill.js +4 -4
  62. package/dist/bin/graph-export.js +5 -5
  63. package/dist/bin/import-history.js +7 -7
  64. package/dist/bin/install-launchd.js +2 -2
  65. package/dist/bin/install.js +121 -88
  66. package/dist/bin/intercom-check.js +4 -4
  67. package/dist/bin/mcp-sessions.js +2 -2
  68. package/dist/bin/orchestration-metrics.js +4 -4
  69. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  70. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  71. package/dist/bin/pre-publish.js +1 -1
  72. package/dist/bin/registry-proxy.js +1 -1
  73. package/dist/bin/scan-tasks.js +20 -13
  74. package/dist/bin/setup.js +1 -1
  75. package/dist/bin/shard-migrate.js +4 -4
  76. package/dist/bin/stack-update.js +4 -4
  77. package/dist/bin/vps-health-gate.js +1 -1
  78. package/dist/{capability-cards-H7H3MU74.js → capability-cards-STD3NMCR.js} +2 -2
  79. package/dist/{capacity-monitor-WAEHVBL7.js → capacity-monitor-6O3PWYNM.js} +21 -14
  80. package/dist/{catchup-brief-L42STIDR.js → catchup-brief-EDQ3VZCF.js} +23 -16
  81. package/dist/{chunk-HKSJSW2V.js → chunk-2E2NKFXK.js} +1 -1
  82. package/dist/{chunk-NYFPFOYM.js → chunk-2NY7LZT7.js} +1 -1
  83. package/dist/{chunk-DGFIXJ4S.js → chunk-2QD5M47V.js} +3 -3
  84. package/dist/{chunk-3M73L663.js → chunk-2YWUZPHE.js} +2 -2
  85. package/dist/{chunk-LB77CSLO.js → chunk-2ZW4AQ24.js} +3 -3
  86. package/dist/{chunk-E32KARET.js → chunk-376J36IW.js} +4 -4
  87. package/dist/{chunk-CWQAXO3O.js → chunk-5RACW3LX.js} +28 -3
  88. package/dist/{chunk-VSXGFHJY.js → chunk-5VT45EV6.js} +1 -1
  89. package/dist/{chunk-X62GD6QW.js → chunk-5YCOEPEX.js} +2 -2
  90. package/dist/{chunk-TKBWBHFV.js → chunk-6FWMLTF2.js} +1 -1
  91. package/dist/chunk-6IWLAQ7O.js +40 -0
  92. package/dist/{chunk-WFHYAKEU.js → chunk-6XAAJ5OV.js} +1 -1
  93. package/dist/{chunk-4Z47UMMM.js → chunk-7M6TXYRQ.js} +23 -23
  94. package/dist/{chunk-HWC5W34K.js → chunk-7PLMYXPG.js} +1 -1
  95. package/dist/{chunk-DDKDN4HV.js → chunk-A47MXY2I.js} +7 -0
  96. package/dist/{chunk-SQ5JWDJ2.js → chunk-AEFZEJKW.js} +1 -1
  97. package/dist/{chunk-657AQEPY.js → chunk-AVKZIG4A.js} +1 -1
  98. package/dist/{chunk-EPBB2OD3.js → chunk-BB5IKY7B.js} +2 -2
  99. package/dist/{chunk-3JW3ZXCP.js → chunk-BC7IIR3A.js} +65 -39
  100. package/dist/{chunk-WSYKLS2Y.js → chunk-BDJQWBWF.js} +3 -3
  101. package/dist/{chunk-VY7345RO.js → chunk-BMSAJ2IH.js} +1 -1
  102. package/dist/{chunk-OI63OVCR.js → chunk-C7B44DJI.js} +1 -1
  103. package/dist/{chunk-GA76RGSP.js → chunk-CS6MYGNB.js} +5 -5
  104. package/dist/{chunk-6N4LYEDI.js → chunk-CSPHV5DJ.js} +1 -1
  105. package/dist/{chunk-HGM6NZQH.js → chunk-DYUISOIT.js} +1 -1
  106. package/dist/{signal-paths-4GOIRLGH.js → chunk-EIKATSE4.js} +3 -4
  107. package/dist/{chunk-G5TP2D2U.js → chunk-EWDTTTZP.js} +3 -3
  108. package/dist/{chunk-TI6YX3L5.js → chunk-F2RK5YWB.js} +36 -27
  109. package/dist/{chunk-HV5CUDOE.js → chunk-F6TJIWN5.js} +1 -1
  110. package/dist/{chunk-WCCR5IFR.js → chunk-FPTBCPI3.js} +2 -2
  111. package/dist/{chunk-QVFJCFNM.js → chunk-FROUDYRT.js} +33 -2
  112. package/dist/{chunk-T6AUMO5X.js → chunk-GIFDGNIL.js} +1 -1
  113. package/dist/{chunk-OFR7KQ37.js → chunk-HAYDXMW6.js} +3 -3
  114. package/dist/{chunk-V2ESQU3S.js → chunk-HBKYKN3S.js} +3 -3
  115. package/dist/{chunk-LCZ55G5G.js → chunk-HZ5J2GFE.js} +136 -66
  116. package/dist/{chunk-EOPSIIEH.js → chunk-ID3V4BWS.js} +1 -1
  117. package/dist/{chunk-ABGDTMKC.js → chunk-JRD7ARQ6.js} +60 -2
  118. package/dist/{chunk-7FBPLVHM.js → chunk-KADUJ7PE.js} +3 -3
  119. package/dist/{chunk-KLG53B63.js → chunk-KJOQLNX2.js} +1 -1
  120. package/dist/{chunk-AZL3EUR3.js → chunk-KK67DSCO.js} +229 -29
  121. package/dist/{chunk-H2SD2EA7.js → chunk-KLDQFOFY.js} +23 -9
  122. package/dist/chunk-KPIN44GZ.js +67 -0
  123. package/dist/{chunk-PLBDXCYZ.js → chunk-KUJGADX6.js} +1491 -606
  124. package/dist/{chunk-GN3IWZDH.js → chunk-KWWHRJGG.js} +660 -539
  125. package/dist/{chunk-ERSFOJGC.js → chunk-LUOQCGBO.js} +20 -11
  126. package/dist/{chunk-CXXERHNC.js → chunk-LWAGAC3H.js} +1 -1
  127. package/dist/{chunk-7BZ6TOZN.js → chunk-MB2YT5VQ.js} +3 -3
  128. package/dist/{chunk-KXP3CUTL.js → chunk-MCEXBLLK.js} +3 -3
  129. package/dist/{chunk-A3KUGBDP.js → chunk-MIWPKWXQ.js} +1 -1
  130. package/dist/{chunk-7CUF27OT.js → chunk-MKIFYIXC.js} +1 -1
  131. package/dist/{chunk-ONKIWA3R.js → chunk-ML4S5SHZ.js} +3 -1
  132. package/dist/{chunk-BFHBHQFA.js → chunk-MWIX3YKA.js} +5 -5
  133. package/dist/{chunk-6UQRJCKK.js → chunk-NBDTQVWU.js} +2 -2
  134. package/dist/{chunk-KK4ZOYXJ.js → chunk-NGACCR2M.js} +80 -40
  135. package/dist/{chunk-CMDC5D7S.js → chunk-NLEW62VC.js} +6 -0
  136. package/dist/{chunk-QYLDCPNG.js → chunk-PGFYWVOB.js} +1 -1
  137. package/dist/{chunk-XEBN5CPD.js → chunk-PGUISLOT.js} +3 -3
  138. package/dist/{chunk-MYMA23KC.js → chunk-PJTEZLAM.js} +1 -1
  139. package/dist/{chunk-QNUHDEPI.js → chunk-POOMY3CS.js} +4 -4
  140. package/dist/{chunk-2GBGIXKH.js → chunk-PV7IG4V6.js} +1 -1
  141. package/dist/{chunk-SENJA7BZ.js → chunk-QDI77B3E.js} +54 -7
  142. package/dist/{chunk-XLNF3CIO.js → chunk-QGOMYIVT.js} +119 -24
  143. package/dist/{chunk-HIOO7DZ2.js → chunk-QQFZ32WS.js} +5 -5
  144. package/dist/{chunk-KL5WYWS3.js → chunk-SOXUF34Y.js} +2 -2
  145. package/dist/{chunk-6XM6PZXQ.js → chunk-SPO2RLOB.js} +1 -1
  146. package/dist/{chunk-ROMB2HH4.js → chunk-T3XHH5FE.js} +6 -6
  147. package/dist/{chunk-6SXJZHRJ.js → chunk-TA3A4UQL.js} +1 -1
  148. package/dist/{chunk-XP53WEXP.js → chunk-TGVKQ3QB.js} +3 -3
  149. package/dist/{chunk-XC7C3GQ2.js → chunk-TNS6U2K7.js} +30 -19
  150. package/dist/{chunk-JXEMAB4M.js → chunk-UAIMI7CK.js} +1 -1
  151. package/dist/{chunk-YIFZZYQD.js → chunk-UBYAKNRF.js} +2 -2
  152. package/dist/{chunk-6IBUQBMY.js → chunk-UXYQLOFW.js} +198 -39
  153. package/dist/{chunk-C4BIZXKB.js → chunk-UYOW7U24.js} +1 -1
  154. package/dist/{chunk-NFM6VHL7.js → chunk-V4VYIHSL.js} +1 -1
  155. package/dist/{chunk-QQOH3I4A.js → chunk-VDUHWQFA.js} +1 -1
  156. package/dist/{chunk-EVUXF2G4.js → chunk-W5GBB23I.js} +1 -1
  157. package/dist/{chunk-FANIBYUO.js → chunk-WF3J6GJZ.js} +2 -2
  158. package/dist/{chunk-NAHAOFTY.js → chunk-WGHTISNK.js} +3 -3
  159. package/dist/{chunk-F5FAD2YR.js → chunk-WGOAILWE.js} +2 -2
  160. package/dist/{chunk-LOE2N23P.js → chunk-WJICX53Z.js} +1 -1
  161. package/dist/{skill-refinement-YLIAY7V4.js → chunk-Y2KBHLEO.js} +3 -11
  162. package/dist/{chunk-PISGLNV7.js → chunk-Y34FDPOY.js} +5 -5
  163. package/dist/{chunk-ORC5AO7E.js → chunk-YBHOWK3L.js} +2 -2
  164. package/dist/{chunk-7SDS5VCL.js → chunk-ZDNJ3TSB.js} +7 -7
  165. package/dist/{chunk-CHSRSESS.js → chunk-ZRZ2Z6RZ.js} +1 -1
  166. package/dist/{cleanup-graph-garbage-MX5JDTJA.js → cleanup-graph-garbage-2YH52ADR.js} +4 -4
  167. package/dist/{co-activation-K44LGZ7A.js → co-activation-7F3J2GC7.js} +2 -2
  168. package/dist/{co-occurrence-N62HJTRP.js → co-occurrence-B36Q5GY3.js} +2 -2
  169. package/dist/{code-context-index-6YQ3DGCN.js → code-context-index-2PUBBQOE.js} +3 -3
  170. package/dist/{crdt-sync-BO76VVRX.js → crdt-sync-MXHPR6V6.js} +1 -1
  171. package/dist/{crm-bridge-BVTB6LZK.js → crm-bridge-CZLEW2LW.js} +1 -1
  172. package/dist/{crm-webhook-UZLTHXAS.js → crm-webhook-56MWGMRY.js} +2 -2
  173. package/dist/{cto-delegation-gate-NVMRONA2.js → cto-delegation-gate-26BD7NEE.js} +19 -12
  174. package/dist/{daemon-orchestration-JI3RD5EZ.js → daemon-orchestration-IBP6PWEG.js} +31 -16
  175. package/dist/{db-backup-ITRADB2J.js → db-backup-XLID57KW.js} +1 -1
  176. package/dist/{doc-graph-extractor-L7YESUSI.js → doc-graph-extractor-VBZ6XTTE.js} +2 -2
  177. package/dist/{documents-7BFXA6V3.js → documents-C5LYSJT3.js} +10 -10
  178. package/dist/{dreaming-NRTMPNPZ.js → dreaming-LMVDIC5C.js} +20 -13
  179. package/dist/{exe-drift-GLJIM7EI.js → exe-drift-T3K6WA47.js} +3 -3
  180. package/dist/{exe-export-THIAYHXK.js → exe-export-QCTASWXI.js} +7 -7
  181. package/dist/{exe-import-3Y4VOUYL.js → exe-import-WNP5A7VA.js} +7 -7
  182. package/dist/{exe-key-IPGY4RMU.js → exe-key-JM3JXE2E.js} +78 -75
  183. package/dist/{exe-snapshot-2ZEWCDYK.js → exe-snapshot-ODDJUEM5.js} +23 -16
  184. package/dist/{fast-db-init-TLYUWCDE.js → fast-db-init-O6A3TK3F.js} +1 -1
  185. package/dist/{founder-context-J362DNU4.js → founder-context-FYTF4IMD.js} +2 -2
  186. package/dist/gateway/index.js +9 -9
  187. package/dist/{git-staleness-BRDHTHNS.js → git-staleness-YA5J6VYJ.js} +2 -2
  188. package/dist/{global-procedures-FNUKY2LF.js → global-procedures-76NDWTYN.js} +4 -4
  189. package/dist/{graph-auto-extract-AJZUV3PO.js → graph-auto-extract-I7QL2TY5.js} +2 -2
  190. package/dist/hooks/bug-report-worker.js +22 -15
  191. package/dist/hooks/codex-stop-task-finalizer.js +22 -15
  192. package/dist/hooks/commit-complete.js +22 -15
  193. package/dist/hooks/error-recall.js +6 -6
  194. package/dist/hooks/exe-heartbeat-hook.js +3 -3
  195. package/dist/hooks/ingest-worker.js +6 -6
  196. package/dist/hooks/ingest.js +6 -6
  197. package/dist/hooks/instructions-loaded.js +4 -4
  198. package/dist/hooks/manifest.json +20 -20
  199. package/dist/hooks/notification.js +4 -4
  200. package/dist/hooks/post-compact.js +21 -14
  201. package/dist/hooks/post-tool-combined.js +8 -8
  202. package/dist/hooks/pre-compact.js +22 -21
  203. package/dist/hooks/pre-tool-use.js +29 -19
  204. package/dist/hooks/prompt-submit.js +89 -72
  205. package/dist/hooks/session-end.js +27 -26
  206. package/dist/hooks/session-start.js +13 -13
  207. package/dist/hooks/stop.js +28 -21
  208. package/dist/hooks/subagent-stop.js +24 -41
  209. package/dist/hooks/summary-worker.js +27 -25
  210. package/dist/index.js +30 -23
  211. package/dist/{installer-SC7CQBYY.js → installer-3EYHBKWB.js} +5 -5
  212. package/dist/{installer-UEF44TWQ.js → installer-3VZMDDMJ.js} +5 -5
  213. package/dist/{installer-2EKTDQZB.js → installer-GYABVCB7.js} +5 -5
  214. package/dist/intercom-queue-ZCNT4LYU.js +53 -0
  215. package/dist/lib/agent-config.js +7 -1
  216. package/dist/lib/cloud-sync.js +16 -14
  217. package/dist/lib/consolidation.js +5 -5
  218. package/dist/lib/database.js +10 -2
  219. package/dist/lib/db-daemon-client.js +3 -3
  220. package/dist/lib/db.js +10 -2
  221. package/dist/lib/device-registry.js +1 -1
  222. package/dist/lib/embed-worker.js +28 -0
  223. package/dist/lib/embedder.js +3 -3
  224. package/dist/lib/employee-templates.js +5 -5
  225. package/dist/lib/employees.js +2 -2
  226. package/dist/lib/exe-daemon-client.js +2 -2
  227. package/dist/lib/exe-daemon.js +393 -140
  228. package/dist/lib/hybrid-search.js +5 -5
  229. package/dist/lib/identity.js +2 -2
  230. package/dist/lib/license.js +2 -2
  231. package/dist/lib/messaging.js +20 -13
  232. package/dist/lib/registry-proxy.js +1 -1
  233. package/dist/lib/reminders.js +3 -3
  234. package/dist/lib/schedules.js +5 -5
  235. package/dist/lib/session-registry.js +6 -4
  236. package/dist/lib/skill-learning.js +6 -6
  237. package/dist/lib/store.js +4 -4
  238. package/dist/lib/task-router.js +3 -3
  239. package/dist/lib/tasks.js +21 -14
  240. package/dist/lib/tmux-routing.js +29 -12
  241. package/dist/lib/token-spend.js +3 -3
  242. package/dist/{license-gate-YUUSIPJ7.js → license-gate-73XGUIVP.js} +3 -3
  243. package/dist/{license-sync-LX73IEBH.js → license-sync-CG5YRUVH.js} +2 -2
  244. package/dist/mcp/register-tools.js +75 -72
  245. package/dist/mcp/server.js +96 -130
  246. package/dist/mcp/tools/complete-reminder.js +4 -4
  247. package/dist/mcp/tools/create-reminder.js +4 -4
  248. package/dist/mcp/tools/create-task.js +37 -18
  249. package/dist/mcp/tools/deactivate-behavior.js +7 -7
  250. package/dist/mcp/tools/list-reminders.js +4 -4
  251. package/dist/mcp/tools/list-tasks.js +23 -16
  252. package/dist/mcp/tools/send-message.js +22 -15
  253. package/dist/mcp/tools/update-task.js +22 -15
  254. package/dist/{mcp-http-config-MBG5AQNH.js → mcp-http-config-TT7PXZLX.js} +3 -3
  255. package/dist/{memory-cards-MGZ4P3AA.js → memory-cards-6NGUDUDN.js} +4 -4
  256. package/dist/{memory-graph-extractor-44P2ATID.js → memory-graph-extractor-FIMS3VQR.js} +3 -3
  257. package/dist/{memory-poisoning-defense-3CYFKNLA.js → memory-poisoning-defense-M3LOQ3XU.js} +2 -2
  258. package/dist/{memory-pressure-watchdog-6PFLEOUO.js → memory-pressure-watchdog-45GABDWH.js} +20 -13
  259. package/dist/{memory-queue-client-BZD6MXA5.js → memory-queue-client-BDYKFNB4.js} +3 -3
  260. package/dist/{memory-reflection-AYPJRPU7.js → memory-reflection-LANCFYK2.js} +7 -9
  261. package/dist/{notifications-BBQ23ORD.js → notifications-N5NKUYAU.js} +19 -12
  262. package/dist/{orchestration-events-O5P5NEKS.js → orchestration-events-KVNRNIPR.js} +3 -3
  263. package/dist/{orchestrator-SERM6FDY.js → orchestrator-VTF5BR26.js} +21 -14
  264. package/dist/{pipeline-router-T673WGL3.js → pipeline-router-KQAYWDPH.js} +3 -3
  265. package/dist/{plan-limits-QWBN2EKH.js → plan-limits-EUZI4X5W.js} +5 -5
  266. package/dist/{projection-worker-K6TILAZH.js → projection-worker-FG6G226D.js} +12 -2
  267. package/dist/{prospective-memory-XRNRMEDL.js → prospective-memory-FVDNUSIL.js} +2 -2
  268. package/dist/{reranker-3XC5UM4F.js → reranker-54Q3L32E.js} +1 -1
  269. package/dist/{retrieval-health-ULVVOIPL.js → retrieval-health-YJ7CXYVD.js} +1 -1
  270. package/dist/{review-polling-5YGDPJUX.js → review-polling-TKXYSXH6.js} +20 -13
  271. package/dist/runtime/index.js +23 -16
  272. package/dist/{session-events-D52HNUJK.js → session-events-WQHTP65R.js} +20 -13
  273. package/dist/{session-kill-telemetry-IBNCJSI7.js → session-kill-telemetry-2HSE7IGH.js} +20 -13
  274. package/dist/{session-scope-5FWZ4AYR.js → session-scope-RBKAC75W.js} +19 -12
  275. package/dist/{setup-wizard-KVTLSSRD.js → setup-wizard-AA6ZV57H.js} +1 -1
  276. package/dist/signal-paths-4G53QTII.js +11 -0
  277. package/dist/skill-refinement-QI35LMTZ.js +20 -0
  278. package/dist/{stack-update-OWWGTYRB.js → stack-update-BE6PX4AG.js} +9 -3
  279. package/dist/{steward-gate-3ZITRYVH.js → steward-gate-2XD5BXH6.js} +3 -3
  280. package/dist/{support-outbox-QPQQK7F7.js → support-outbox-MGUVVGHT.js} +96 -44
  281. package/dist/sweep-budget-WB2FKPYN.js +64 -0
  282. package/dist/{task-enforcement-L4YTDOOX.js → task-enforcement-DMOCBRLB.js} +191 -17
  283. package/dist/{task-scope-OIHLMQOQ.js → task-scope-ULBNFBFH.js} +25 -12
  284. package/dist/{tasks-crud-QUIIRWE3.js → tasks-crud-6SJOKES5.js} +25 -12
  285. package/dist/{tasks-notify-ANYLB5GU.js → tasks-notify-TESRABUM.js} +20 -13
  286. package/dist/{tasks-review-BWSCXFMB.js → tasks-review-INDAGLWJ.js} +27 -14
  287. package/dist/{telemetry-upload-XLDBCD7B.js → telemetry-upload-6XB3Q3IH.js} +7 -7
  288. package/dist/{token-budget-OQCLPV3A.js → token-budget-NOF27AZC.js} +3 -3
  289. package/dist/{tool-capability-index-3UWKZZED.js → tool-capability-index-EFBBPTBI.js} +1 -1
  290. package/dist/{tool-telemetry-AQTFWOWG.js → tool-telemetry-OEK6KQFF.js} +1 -1
  291. package/dist/tui/App.js +28 -21
  292. package/dist/{tui-data-3Y5L5LJB.js → tui-data-EG6LEZFF.js} +19 -12
  293. package/dist/{worker-gate-WJS2MFNA.js → worker-gate-YA35VMAN.js} +1 -1
  294. package/dist/{workflow-engine-EPPZ226V.js → workflow-engine-3AVKRE5I.js} +2 -2
  295. package/dist/{worktree-OYGDGJP7.js → worktree-72QYYL5L.js} +4 -4
  296. package/dist/{worktree-sweep-KV4H4766.js → worktree-sweep-GDISKGQ2.js} +5 -5
  297. package/package.json +1 -1
  298. package/release-notes.json +45 -45
  299. package/dist/chunk-4FVVJ7ME.js +0 -193
  300. package/dist/completion-nudge-dedup-DBZF24MM.js +0 -74
  301. package/dist/git-task-sweep-7GVUKDBW.js +0 -47
  302. package/dist/intercom-queue-6M5IRX3Y.js +0 -17
  303. /package/dist/{chunk-QTEHH4LG.js → chunk-24WPWCD6.js} +0 -0
  304. /package/dist/{chunk-IZY6V4FI.js → chunk-4O3N7I5Z.js} +0 -0
  305. /package/dist/{chunk-WXRVHXVP.js → chunk-7577GDDG.js} +0 -0
  306. /package/dist/{chunk-Q5YKWFVO.js → chunk-EWKZKO7F.js} +0 -0
  307. /package/dist/{chunk-DY3J6GQO.js → chunk-H43BPGIV.js} +0 -0
  308. /package/dist/{chunk-DQJ3WZRK.js → chunk-IHRXCNSC.js} +0 -0
  309. /package/dist/{chunk-RRQI5PSJ.js → chunk-NIB2N6L2.js} +0 -0
  310. /package/dist/{chunk-ZU6767WK.js → chunk-QMUSJESS.js} +0 -0
  311. /package/dist/{chunk-72LWCZTJ.js → chunk-RXS2LBKE.js} +0 -0
  312. /package/dist/{chunk-SJZT66LM.js → chunk-SNFYZFXY.js} +0 -0
  313. /package/dist/{chunk-SIJSFULW.js → chunk-TSYMWC53.js} +0 -0
  314. /package/dist/{core-memory-DARTILJG.js → core-memory-NKKP2XUB.js} +0 -0
  315. /package/dist/{entity-boost-VR5YOQCT.js → entity-boost-DRIUFTYB.js} +0 -0
  316. /package/dist/{message-queue-client-HVFR67QH.js → message-queue-client-4ERC7HLX.js} +0 -0
  317. /package/dist/{oauth-server-UQHCFVHT.js → oauth-server-PECJREY2.js} +0 -0
  318. /package/dist/{project-boot-22ZZL2GE.js → project-boot-SFKP2MFW.js} +0 -0
  319. /package/dist/{wiki-acl-EZMGL6KW.js → wiki-acl-QIBDNXSM.js} +0 -0
@@ -4,36 +4,36 @@ import {
4
4
  } from "./chunk-HMP5VT6A.js";
5
5
  import {
6
6
  createTask
7
- } from "./chunk-7SDS5VCL.js";
7
+ } from "./chunk-ZDNJ3TSB.js";
8
8
  import {
9
9
  getActiveAgent
10
- } from "./chunk-EOPSIIEH.js";
10
+ } from "./chunk-ID3V4BWS.js";
11
11
  import {
12
12
  ensureEmployee,
13
13
  isValidSessionScope,
14
14
  logTaskDispatch,
15
15
  resolveExeSession
16
- } from "./chunk-PLBDXCYZ.js";
16
+ } from "./chunk-KUJGADX6.js";
17
17
  import {
18
18
  recordOrchestrationEventBestEffort
19
- } from "./chunk-HV5CUDOE.js";
19
+ } from "./chunk-F6TJIWN5.js";
20
20
  import {
21
21
  getAgentRuntime,
22
22
  validateRuntimeModel
23
- } from "./chunk-QVFJCFNM.js";
23
+ } from "./chunk-FROUDYRT.js";
24
24
  import {
25
25
  getLicenseSync
26
- } from "./chunk-EPBB2OD3.js";
26
+ } from "./chunk-BB5IKY7B.js";
27
27
  import {
28
28
  getAgentContext
29
29
  } from "./chunk-GJV3WDWM.js";
30
30
  import {
31
31
  isCoordinatorName
32
- } from "./chunk-XLNF3CIO.js";
32
+ } from "./chunk-QGOMYIVT.js";
33
33
 
34
34
  // src/mcp/tools/create-task.ts
35
35
  import { z } from "zod";
36
- import { existsSync, readdirSync, statSync, writeFileSync, mkdirSync } from "fs";
36
+ import { existsSync, readdirSync, readFileSync, statSync, writeFileSync, mkdirSync, unlinkSync } from "fs";
37
37
  import { basename, join } from "path";
38
38
  import { homedir } from "os";
39
39
  function rootFromSessionName(sessionName) {
@@ -106,6 +106,69 @@ async function inferCoordinatorRootForProject(projectName) {
106
106
  return "";
107
107
  }
108
108
  }
109
+ var DISPATCH_JOURNAL_ORPHAN_AGE_MS = 6e4;
110
+ function dispatchJournalDir() {
111
+ const base = process.env.EXE_OS_DIR || process.env.EXE_MEM_DIR || join(homedir(), ".exe-os");
112
+ return join(base, "dispatch-journal");
113
+ }
114
+ function dispatchJournalSlug(title) {
115
+ const slug = title.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 40);
116
+ return slug || "task";
117
+ }
118
+ function journalDispatchIntent(title, payload, caller) {
119
+ const dir = dispatchJournalDir();
120
+ mkdirSync(dir, { recursive: true });
121
+ const file = join(dir, `${Date.now()}-${dispatchJournalSlug(title)}.json`);
122
+ const entry = {
123
+ version: 1,
124
+ journaledAt: (/* @__PURE__ */ new Date()).toISOString(),
125
+ status: "pending",
126
+ payload,
127
+ caller
128
+ };
129
+ writeFileSync(file, JSON.stringify(entry, null, 2), "utf-8");
130
+ return file;
131
+ }
132
+ function updateDispatchJournalEntry(file, patch) {
133
+ const entry = JSON.parse(readFileSync(file, "utf-8"));
134
+ writeFileSync(file, JSON.stringify({ ...entry, ...patch }, null, 2), "utf-8");
135
+ }
136
+ function clearDispatchJournalEntry(file) {
137
+ try {
138
+ unlinkSync(file);
139
+ } catch {
140
+ }
141
+ }
142
+ function findOrphanedDispatchIntents(sessionScope, olderThanMs = DISPATCH_JOURNAL_ORPHAN_AGE_MS) {
143
+ const dir = dispatchJournalDir();
144
+ if (!existsSync(dir)) return [];
145
+ let names;
146
+ try {
147
+ names = readdirSync(dir);
148
+ } catch {
149
+ return [];
150
+ }
151
+ const cutoff = Date.now() - olderThanMs;
152
+ const orphans = [];
153
+ for (const name of names) {
154
+ if (!name.endsWith(".json")) continue;
155
+ const file = join(dir, name);
156
+ try {
157
+ if (statSync(file).mtimeMs > cutoff) continue;
158
+ } catch {
159
+ continue;
160
+ }
161
+ let entry = null;
162
+ try {
163
+ entry = JSON.parse(readFileSync(file, "utf-8"));
164
+ } catch {
165
+ }
166
+ const entryScope = entry?.caller?.sessionScope ?? null;
167
+ if (sessionScope && entryScope && entryScope !== sessionScope) continue;
168
+ orphans.push({ file, entry });
169
+ }
170
+ return orphans;
171
+ }
109
172
  function resolveDispatchRuntime(agentId, override) {
110
173
  if (override) return override;
111
174
  try {
@@ -285,31 +348,104 @@ function registerCreateTask(server) {
285
348
  effectiveSpawnModel = validated.model;
286
349
  }
287
350
  const projectDir = await resolveProjectDir(project_name, callerRoot);
288
- const task = await createTask({
289
- title,
290
- assignedTo: assigned_to,
291
- assignedBy,
292
- projectName: project_name,
293
- priority,
294
- complexity,
295
- context,
296
- baseDir: projectDir,
297
- blockedBy: blocked_by,
298
- parentTaskId: parent_task_id,
299
- reviewer: reviewer ?? assignedBy,
300
- budgetTokens: budget_tokens,
301
- budgetFallbackModel: budget_fallback_model,
302
- spawnRuntime: spawn_runtime,
303
- spawnModel: effectiveSpawnModel,
304
- // Pass the pre-resolved caller session to tasks-crud so it doesn't
305
- // re-resolve independently (eliminates cross-session scope divergence).
306
- callerSession: callerTmux || callerRoot || void 0,
307
- // Skip internal dispatch — we handle it below with autoInstance
308
- // support. Without this, createTask fires dispatchTaskToEmployee
309
- // (no autoInstance) in parallel, racing with our ensureEmployee
310
- // (autoInstance: true) and spawning duplicate sessions.
311
- skipDispatch: true
312
- });
351
+ let journalWarning = "";
352
+ try {
353
+ const orphans = findOrphanedDispatchIntents(callerRoot || null);
354
+ if (orphans.length > 0) {
355
+ const detail = orphans.slice(0, 5).map(
356
+ (o) => `${basename(o.file)}${o.entry?.taskId ? ` (task ${o.entry.taskId} \u2014 DB write landed, verify dispatch)` : ""}`
357
+ ).join(", ");
358
+ journalWarning = `
359
+ \u26A0 ${orphans.length} unreplayed dispatch intent(s) found \u2014 from a previous failed dispatch: ${detail}. Journal dir: ${dispatchJournalDir()}. Verify those tasks exist (task action=list) and re-dispatch any that are missing, then delete the journal file(s).`;
360
+ }
361
+ } catch {
362
+ }
363
+ let journalPath = null;
364
+ try {
365
+ journalPath = journalDispatchIntent(
366
+ title,
367
+ {
368
+ title,
369
+ assigned_to,
370
+ project_name,
371
+ priority,
372
+ complexity,
373
+ context,
374
+ blocked_by: blocked_by ?? null,
375
+ parent_task_id: parent_task_id ?? null,
376
+ reviewer: reviewer ?? assignedBy,
377
+ budget_tokens: budget_tokens ?? null,
378
+ budget_fallback_model: budget_fallback_model ?? null,
379
+ spawn_runtime: spawn_runtime ?? null,
380
+ spawn_model: effectiveSpawnModel ?? null
381
+ },
382
+ {
383
+ assignedBy,
384
+ sessionScope: callerRoot || null,
385
+ callerSource,
386
+ projectDir
387
+ }
388
+ );
389
+ } catch (journalErr) {
390
+ process.stderr.write(
391
+ `[create_task] WARN: could not journal dispatch intent for "${title}": ${journalErr instanceof Error ? journalErr.message : String(journalErr)}
392
+ `
393
+ );
394
+ }
395
+ let task;
396
+ try {
397
+ task = await createTask({
398
+ title,
399
+ assignedTo: assigned_to,
400
+ assignedBy,
401
+ projectName: project_name,
402
+ priority,
403
+ complexity,
404
+ context,
405
+ baseDir: projectDir,
406
+ blockedBy: blocked_by,
407
+ parentTaskId: parent_task_id,
408
+ reviewer: reviewer ?? assignedBy,
409
+ budgetTokens: budget_tokens,
410
+ budgetFallbackModel: budget_fallback_model,
411
+ spawnRuntime: spawn_runtime,
412
+ spawnModel: effectiveSpawnModel,
413
+ // Pass the pre-resolved caller session to tasks-crud so it doesn't
414
+ // re-resolve independently (eliminates cross-session scope divergence).
415
+ callerSession: callerTmux || callerRoot || void 0,
416
+ // Skip internal dispatch — we handle it below with autoInstance
417
+ // support. Without this, createTask fires dispatchTaskToEmployee
418
+ // (no autoInstance) in parallel, racing with our ensureEmployee
419
+ // (autoInstance: true) and spawning duplicate sessions.
420
+ skipDispatch: true
421
+ });
422
+ } catch (dbErr) {
423
+ const msg = dbErr instanceof Error ? dbErr.message : String(dbErr);
424
+ if (journalPath) {
425
+ try {
426
+ updateDispatchJournalEntry(journalPath, { error: msg });
427
+ } catch {
428
+ }
429
+ }
430
+ recordOrchestrationEventBestEffort({
431
+ eventType: "dispatch.failed",
432
+ source: "create-task.mcp",
433
+ severity: "error",
434
+ agentId: assigned_to,
435
+ projectName: project_name,
436
+ errorCode: "db_write_failed",
437
+ payload: { priority, journalPath }
438
+ });
439
+ throw new Error(
440
+ `create_task DB write failed for "${title}": ${msg}. ` + (journalPath ? `The dispatch intent was journaled at ${journalPath} (full task payload preserved) \u2014 re-run create_task after recovery. The next create_task in this lane will also warn about this unreplayed intent.` : `The dispatch intent could NOT be journaled either \u2014 no durable record exists; re-issue this create_task manually.`)
441
+ );
442
+ }
443
+ if (journalPath) {
444
+ try {
445
+ updateDispatchJournalEntry(journalPath, { status: "db_committed", taskId: task.id });
446
+ } catch {
447
+ }
448
+ }
313
449
  try {
314
450
  const { existsSync: existsSync2, mkdirSync: mkdirSync2, writeFileSync: writeFileSync2 } = await import("fs");
315
451
  const { identityPath } = await import("./lib/identity.js");
@@ -332,8 +468,8 @@ function registerCreateTask(server) {
332
468
  }
333
469
  try {
334
470
  const sessionScope = task.sessionScope || callerRoot || "default";
335
- const { taskSignalPath: getSignalPath } = await import("./signal-paths-4GOIRLGH.js");
336
- const { taskSignalDir } = await import("./signal-paths-4GOIRLGH.js");
471
+ const { taskSignalPath: getSignalPath } = await import("./signal-paths-4G53QTII.js");
472
+ const { taskSignalDir } = await import("./signal-paths-4G53QTII.js");
337
473
  const signalDir = taskSignalDir(sessionScope);
338
474
  mkdirSync(signalDir, { recursive: true });
339
475
  const signalPath = getSignalPath(sessionScope, assigned_to, task.id);
@@ -345,7 +481,7 @@ function registerCreateTask(server) {
345
481
  session_scope: sessionScope,
346
482
  created_at: (/* @__PURE__ */ new Date()).toISOString()
347
483
  }), "utf-8");
348
- const { recordOrchestrationEventBestEffort: recordOE } = await import("./orchestration-events-O5P5NEKS.js");
484
+ const { recordOrchestrationEventBestEffort: recordOE } = await import("./orchestration-events-KVNRNIPR.js");
349
485
  recordOE({
350
486
  eventType: "signal.created",
351
487
  source: "create-task.mcp",
@@ -357,6 +493,7 @@ function registerCreateTask(server) {
357
493
  } catch {
358
494
  }
359
495
  let dispatchStatus = "";
496
+ let dispatchOutcome = "ok";
360
497
  if (task.status !== "blocked" && !process.env.VITEST) {
361
498
  try {
362
499
  const exeSession = task.sessionScope || callerRoot;
@@ -377,7 +514,7 @@ function registerCreateTask(server) {
377
514
  let projectConflictOpts = {};
378
515
  try {
379
516
  const { getClient } = await import("./lib/database.js");
380
- const { sessionScopeFilter } = await import("./task-scope-OIHLMQOQ.js");
517
+ const { sessionScopeFilter } = await import("./task-scope-ULBNFBFH.js");
381
518
  const client = getClient();
382
519
  const scope = sessionScopeFilter(task.sessionScope || callerRoot || exeSession || null);
383
520
  const existing = await client.execute({
@@ -424,6 +561,7 @@ Dispatched: spawned ${result.sessionName}`;
424
561
  Dispatch failed: ${result.error ?? "unknown"}`;
425
562
  break;
426
563
  }
564
+ if (result.status === "failed") dispatchOutcome = "failed";
427
565
  if (result.status === "failed") {
428
566
  try {
429
567
  writeDispatchFailed(task.id, assigned_to, result.error ?? "spawn failed", result.sessionName);
@@ -477,7 +615,7 @@ Dispatch failed: ${result.error ?? "unknown"}`;
477
615
  }
478
616
  try {
479
617
  const sessionScope = task.sessionScope || callerRoot || "default";
480
- const { taskSignalPath: getSignalPath } = await import("./signal-paths-4GOIRLGH.js");
618
+ const { taskSignalPath: getSignalPath } = await import("./signal-paths-4G53QTII.js");
481
619
  const signalPath = getSignalPath(sessionScope, assigned_to, task.id);
482
620
  writeFileSync(signalPath, JSON.stringify({
483
621
  task_id: task.id,
@@ -511,6 +649,7 @@ Dispatch failed: ${result.error ?? "unknown"}`;
511
649
  `);
512
650
  dispatchStatus = `
513
651
  Dispatch deferred: no coordinator session \u2014 auto-wake will spawn ${assigned_to} when a coordinator is active`;
652
+ dispatchOutcome = "deferred";
514
653
  recordOrchestrationEventBestEffort({
515
654
  eventType: "dispatch.failed",
516
655
  source: "create-task.mcp",
@@ -525,6 +664,7 @@ Dispatch deferred: no coordinator session \u2014 auto-wake will spawn ${assigned
525
664
  });
526
665
  }
527
666
  } catch (dispatchErr) {
667
+ dispatchOutcome = "failed";
528
668
  recordOrchestrationEventBestEffort({
529
669
  eventType: "dispatch.failed",
530
670
  source: "create-task.mcp",
@@ -555,9 +695,22 @@ ${dispatchErr instanceof Error ? dispatchErr.stack : ""}
555
695
  }
556
696
  } catch {
557
697
  }
698
+ if (journalPath) {
699
+ if (dispatchOutcome === "ok") {
700
+ clearDispatchJournalEntry(journalPath);
701
+ } else {
702
+ try {
703
+ updateDispatchJournalEntry(journalPath, {
704
+ status: dispatchOutcome === "deferred" ? "dispatch_deferred" : "dispatch_failed",
705
+ taskId: task.id
706
+ });
707
+ } catch {
708
+ }
709
+ }
710
+ }
558
711
  let text = `Task created: ${task.id}
559
712
  File: ${task.taskFile}
560
- Assigned to: ${task.assignedTo} [${task.priority.toUpperCase()}]${dispatchStatus}${dupWarning}`;
713
+ Assigned to: ${task.assignedTo} [${task.priority.toUpperCase()}]${dispatchStatus}${dupWarning}${journalWarning}`;
561
714
  if (task.status === "blocked") {
562
715
  text += `
563
716
  Status: blocked (waiting on ${blocked_by})`;
@@ -579,5 +732,11 @@ Warning: ${task.warning}`;
579
732
  }
580
733
 
581
734
  export {
735
+ DISPATCH_JOURNAL_ORPHAN_AGE_MS,
736
+ dispatchJournalDir,
737
+ journalDispatchIntent,
738
+ updateDispatchJournalEntry,
739
+ clearDispatchJournalEntry,
740
+ findOrphanedDispatchIntents,
582
741
  registerCreateTask
583
742
  };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getGitRoot,
3
3
  isWorktreeDirty
4
- } from "./chunk-KLG53B63.js";
4
+ } from "./chunk-KJOQLNX2.js";
5
5
 
6
6
  // src/lib/worktree-sweep.ts
7
7
  import { execFileSync } from "child_process";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  processCRMEvent
3
- } from "./chunk-IZY6V4FI.js";
3
+ } from "./chunk-4O3N7I5Z.js";
4
4
 
5
5
  // src/gateway/adapters/crm-webhook.ts
6
6
  function parseTwentyWebhook(payload) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isCoordinatorRole
3
- } from "./chunk-XLNF3CIO.js";
3
+ } from "./chunk-QGOMYIVT.js";
4
4
 
5
5
  // src/lib/task-router.ts
6
6
  import { randomUUID } from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-XLNF3CIO.js";
3
+ } from "./chunk-QGOMYIVT.js";
4
4
  import {
5
5
  loadConfig
6
6
  } from "./chunk-7Y5UDEVM.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  vectorToSqlLiteral
3
- } from "./chunk-H2SD2EA7.js";
3
+ } from "./chunk-KLDQFOFY.js";
4
4
  import {
5
5
  blobToVector
6
6
  } from "./chunk-OTVEIJUQ.js";
7
7
  import {
8
8
  getClient
9
- } from "./chunk-XLNF3CIO.js";
9
+ } from "./chunk-QGOMYIVT.js";
10
10
 
11
11
  // src/lib/behaviors.ts
12
12
  import crypto from "crypto";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  sessionScopeFilter
3
- } from "./chunk-PLBDXCYZ.js";
3
+ } from "./chunk-KUJGADX6.js";
4
4
  import {
5
5
  getClient,
6
6
  getIdentity
7
- } from "./chunk-XLNF3CIO.js";
7
+ } from "./chunk-QGOMYIVT.js";
8
8
  import {
9
9
  getEmotionalBaseline
10
10
  } from "./chunk-PNQDP3OA.js";
@@ -643,7 +643,7 @@ var DreamingEngine = class {
643
643
  }
644
644
  let overdueProspective = [];
645
645
  try {
646
- const { getOverdueProspective, completeProspective } = await import("./prospective-memory-XRNRMEDL.js");
646
+ const { getOverdueProspective, completeProspective } = await import("./prospective-memory-FVDNUSIL.js");
647
647
  const overdue = await getOverdueProspective(agentId);
648
648
  overdueProspective = overdue.map((o) => ({
649
649
  id: o.id,
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-7UMCQQWS.js";
7
7
  import {
8
8
  getClient
9
- } from "./chunk-XLNF3CIO.js";
9
+ } from "./chunk-QGOMYIVT.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-N62HJTRP.js");
291
+ const { createCoOccurrenceEdges } = await import("./co-occurrence-B36Q5GY3.js");
292
292
  await createCoOccurrenceEdges(result.entities, memoryId);
293
293
  } catch {
294
294
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getGlobalProceduresBlock
3
- } from "./chunk-ORC5AO7E.js";
3
+ } from "./chunk-YBHOWK3L.js";
4
4
 
5
5
  // src/lib/employee-templates.ts
6
6
  var BASE_OPERATING_PROCEDURES = `
@@ -1,15 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-XLNF3CIO.js";
4
- import "./chunk-2I23RPSI.js";
5
- import "./chunk-WXRVHXVP.js";
6
- import "./chunk-PNQDP3OA.js";
7
- import "./chunk-H73TUI4Y.js";
8
- import "./chunk-7HLWBYH7.js";
9
- import "./chunk-FXU7JOXK.js";
10
- import "./chunk-7Y5UDEVM.js";
11
- import "./chunk-SHIICYJW.js";
12
- import "./chunk-MLKGABMK.js";
3
+ } from "./chunk-QGOMYIVT.js";
13
4
 
14
5
  // src/lib/skill-refinement.ts
15
6
  import crypto from "crypto";
@@ -153,8 +144,9 @@ ${row.content}`;
153
144
  }
154
145
  return result;
155
146
  }
147
+
156
148
  export {
157
- incrementSkillSuccess,
158
149
  incrementSkillUsage,
150
+ incrementSkillSuccess,
159
151
  runSkillRefinement
160
152
  };
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  createTokenBudgetMiddleware
3
- } from "./chunk-ERSFOJGC.js";
3
+ } from "./chunk-LUOQCGBO.js";
4
4
  import {
5
5
  MultiAgentOrchestrator
6
- } from "./chunk-GA76RGSP.js";
6
+ } from "./chunk-CS6MYGNB.js";
7
7
  import {
8
8
  createQuietRenderer,
9
9
  createTerminalRenderer,
@@ -209,7 +209,7 @@ function createExeOSHooks(config) {
209
209
  );
210
210
  }
211
211
  try {
212
- const { listBehaviors } = await import("./behaviors-J47D342W.js");
212
+ const { listBehaviors } = await import("./behaviors-MQCADHAD.js");
213
213
  const behaviors = await listBehaviors(config.agentId, config.projectName, 12);
214
214
  if (behaviors.length > 0) {
215
215
  process.stderr.write(
@@ -330,7 +330,7 @@ function createExeOSHooks(config) {
330
330
  async onSubagentStop(_reason) {
331
331
  try {
332
332
  const { getClient } = await import("./lib/database.js");
333
- const { sessionScopeFilter } = await import("./task-scope-OIHLMQOQ.js");
333
+ const { sessionScopeFilter } = await import("./task-scope-ULBNFBFH.js");
334
334
  const client = getClient();
335
335
  const ehScope = sessionScopeFilter();
336
336
  const tasks = await client.execute({
@@ -422,7 +422,7 @@ function createExeOSHooks(config) {
422
422
  try {
423
423
  const { writeMemory, flushBatch } = await import("./lib/store.js");
424
424
  const { getClient } = await import("./lib/database.js");
425
- const { sessionScopeFilter: cpScopeFilter } = await import("./task-scope-OIHLMQOQ.js");
425
+ const { sessionScopeFilter: cpScopeFilter } = await import("./task-scope-ULBNFBFH.js");
426
426
  const client = getClient();
427
427
  const cpScope = cpScopeFilter();
428
428
  const tasks = await client.execute({
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  PLATFORM_PROCEDURES,
3
3
  PLATFORM_PROCEDURE_TITLES
4
- } from "./chunk-DDKDN4HV.js";
4
+ } from "./chunk-A47MXY2I.js";
5
5
  import {
6
6
  getClient
7
- } from "./chunk-XLNF3CIO.js";
7
+ } from "./chunk-QGOMYIVT.js";
8
8
 
9
9
  // src/lib/global-procedures.ts
10
10
  import { randomUUID } from "crypto";
@@ -2,7 +2,7 @@ import {
2
2
  dispatchTaskToEmployee,
3
3
  markTaskNotificationsRead,
4
4
  notifyTaskDone
5
- } from "./chunk-BFHBHQFA.js";
5
+ } from "./chunk-MWIX3YKA.js";
6
6
  import {
7
7
  cleanupReviewFile,
8
8
  createTaskCore,
@@ -11,7 +11,7 @@ import {
11
11
  sessionScopeFilter,
12
12
  updateTaskStatus,
13
13
  writeNotification
14
- } from "./chunk-PLBDXCYZ.js";
14
+ } from "./chunk-KUJGADX6.js";
15
15
  import {
16
16
  orgBus
17
17
  } from "./chunk-MP2AFCGL.js";
@@ -19,7 +19,7 @@ import {
19
19
  getClient,
20
20
  getCoordinatorName,
21
21
  isCoordinatorName
22
- } from "./chunk-XLNF3CIO.js";
22
+ } from "./chunk-QGOMYIVT.js";
23
23
  import {
24
24
  EXE_AI_DIR
25
25
  } from "./chunk-7Y5UDEVM.js";
@@ -61,7 +61,7 @@ async function cascadeUnblock(taskId, baseDir, now) {
61
61
  }
62
62
  if (unblockedRows.rows.length > 0 && !process.env.VITEST) {
63
63
  try {
64
- const { dispatchTaskToEmployee: dispatchTaskToEmployee2 } = await import("./tasks-notify-ANYLB5GU.js");
64
+ const { dispatchTaskToEmployee: dispatchTaskToEmployee2 } = await import("./tasks-notify-TESRABUM.js");
65
65
  const dispatched = /* @__PURE__ */ new Set();
66
66
  for (const ur of unblockedRows.rows) {
67
67
  const assignee = String(ur.assigned_to);
@@ -86,7 +86,7 @@ async function cascadeUnblock(taskId, baseDir, now) {
86
86
  }
87
87
  } catch {
88
88
  try {
89
- const { queueIntercom } = await import("./intercom-queue-6M5IRX3Y.js");
89
+ const { queueIntercom } = await import("./intercom-queue-ZCNT4LYU.js");
90
90
  const dispatched = /* @__PURE__ */ new Set();
91
91
  for (const ur of unblockedRows.rows) {
92
92
  const assignee = String(ur.assigned_to);
@@ -289,7 +289,7 @@ async function updateTask(input) {
289
289
  try {
290
290
  process.stderr.write(`[tasks] EVENT: tmux delivery failed for reviewer="${reviewer}". Queueing for daemon delivery.
291
291
  `);
292
- const { queueIntercom } = await import("./intercom-queue-6M5IRX3Y.js");
292
+ const { queueIntercom } = await import("./intercom-queue-ZCNT4LYU.js");
293
293
  const { resolveExeSession } = await import("./lib/tmux-routing.js");
294
294
  const exeSession = row.session_scope ? String(row.session_scope) : resolveExeSession();
295
295
  if (exeSession) {
@@ -333,7 +333,7 @@ async function updateTask(input) {
333
333
  await markTaskNotificationsRead(taskFile);
334
334
  if (isCompletionReviewTransition && !isCoordinator && row.reviewer) {
335
335
  try {
336
- const { writeNotification: writeNotification2 } = await import("./notifications-BBQ23ORD.js");
336
+ const { writeNotification: writeNotification2 } = await import("./notifications-N5NKUYAU.js");
337
337
  const reviewer = String(row.reviewer);
338
338
  await writeNotification2({
339
339
  agentId: reviewer,
@@ -2,7 +2,7 @@ import {
2
2
  connectEmbedDaemon,
3
3
  disconnectClient,
4
4
  embedViaClient
5
- } from "./chunk-3JW3ZXCP.js";
5
+ } from "./chunk-BC7IIR3A.js";
6
6
  import {
7
7
  EMBEDDING_DIM
8
8
  } from "./chunk-FXU7JOXK.js";
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import "./chunk-F5FAD2YR.js";
2
+ import "./chunk-WGOAILWE.js";
3
3
  import {
4
4
  isGarbageEntity
5
5
  } from "./chunk-7UMCQQWS.js";
@@ -7,12 +7,12 @@ import "./chunk-Z6BZQHP5.js";
7
7
  import "./chunk-GUMRIUI5.js";
8
8
  import {
9
9
  fastDbInit
10
- } from "./chunk-ZU6767WK.js";
10
+ } from "./chunk-QMUSJESS.js";
11
11
  import {
12
12
  getClient
13
- } from "./chunk-XLNF3CIO.js";
13
+ } from "./chunk-QGOMYIVT.js";
14
14
  import "./chunk-2I23RPSI.js";
15
- import "./chunk-WXRVHXVP.js";
15
+ import "./chunk-7577GDDG.js";
16
16
  import "./chunk-PNQDP3OA.js";
17
17
  import "./chunk-H73TUI4Y.js";
18
18
  import "./chunk-7HLWBYH7.js";
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-XLNF3CIO.js";
3
+ } from "./chunk-QGOMYIVT.js";
4
4
  import "./chunk-2I23RPSI.js";
5
- import "./chunk-WXRVHXVP.js";
5
+ import "./chunk-7577GDDG.js";
6
6
  import "./chunk-PNQDP3OA.js";
7
7
  import "./chunk-H73TUI4Y.js";
8
8
  import "./chunk-7HLWBYH7.js";
@@ -6,9 +6,9 @@ import "./chunk-Z6BZQHP5.js";
6
6
  import "./chunk-GUMRIUI5.js";
7
7
  import {
8
8
  getClient
9
- } from "./chunk-XLNF3CIO.js";
9
+ } from "./chunk-QGOMYIVT.js";
10
10
  import "./chunk-2I23RPSI.js";
11
- import "./chunk-WXRVHXVP.js";
11
+ import "./chunk-7577GDDG.js";
12
12
  import "./chunk-PNQDP3OA.js";
13
13
  import "./chunk-H73TUI4Y.js";
14
14
  import "./chunk-7HLWBYH7.js";
@@ -8,12 +8,12 @@ import {
8
8
  searchCodeContext,
9
9
  searchCodeContextSemantic,
10
10
  traceCodeSymbol
11
- } from "./chunk-OI63OVCR.js";
11
+ } from "./chunk-C7B44DJI.js";
12
12
  import "./chunk-Z6BZQHP5.js";
13
- import "./chunk-3JW3ZXCP.js";
13
+ import "./chunk-BC7IIR3A.js";
14
14
  import "./chunk-AFNRE2RV.js";
15
15
  import "./chunk-3NGZ4PL7.js";
16
- import "./chunk-CMDC5D7S.js";
16
+ import "./chunk-NLEW62VC.js";
17
17
  import "./chunk-7Y5UDEVM.js";
18
18
  import "./chunk-SHIICYJW.js";
19
19
  import "./chunk-MLKGABMK.js";