@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
@@ -1,37 +1,44 @@
1
1
  import "../chunk-SH45SJQW.js";
2
2
  import {
3
3
  getActiveAgent
4
- } from "../chunk-EOPSIIEH.js";
4
+ } from "../chunk-ID3V4BWS.js";
5
5
  import {
6
6
  sessionScopeFilter
7
- } from "../chunk-PLBDXCYZ.js";
8
- import "../chunk-HWC5W34K.js";
9
- import "../chunk-KLG53B63.js";
10
- import "../chunk-4FVVJ7ME.js";
7
+ } from "../chunk-KUJGADX6.js";
8
+ import "../chunk-7PLMYXPG.js";
9
+ import "../chunk-KJOQLNX2.js";
10
+ import "../chunk-Y2KBHLEO.js";
11
+ import "../chunk-EIKATSE4.js";
11
12
  import "../chunk-E23LNUWJ.js";
12
13
  import "../chunk-4JERP7NT.js";
13
- import "../chunk-ABGDTMKC.js";
14
+ import "../chunk-JRD7ARQ6.js";
14
15
  import "../chunk-SSTLTIF3.js";
15
16
  import "../chunk-RMOBQ6A5.js";
16
17
  import "../chunk-54QCG45Y.js";
17
- import "../chunk-HV5CUDOE.js";
18
- import "../chunk-QVFJCFNM.js";
18
+ import "../chunk-F6TJIWN5.js";
19
+ import "../chunk-FROUDYRT.js";
19
20
  import "../chunk-NGP6LSV2.js";
20
- import "../chunk-EPBB2OD3.js";
21
+ import "../chunk-BB5IKY7B.js";
21
22
  import "../chunk-CVYC6DUW.js";
23
+ import "../chunk-GIFDGNIL.js";
24
+ import "../chunk-HCJCW7X4.js";
22
25
  import "../chunk-OPU3NYOO.js";
26
+ import "../chunk-BC7IIR3A.js";
27
+ import "../chunk-AFNRE2RV.js";
28
+ import "../chunk-3NGZ4PL7.js";
29
+ import "../chunk-NLEW62VC.js";
23
30
  import "../chunk-HYZV25LY.js";
24
31
  import "../chunk-GJV3WDWM.js";
25
32
  import "../chunk-MP2AFCGL.js";
26
- import "../chunk-XLNF3CIO.js";
33
+ import "../chunk-QGOMYIVT.js";
27
34
  import "../chunk-2I23RPSI.js";
28
- import "../chunk-WXRVHXVP.js";
35
+ import "../chunk-7577GDDG.js";
29
36
  import "../chunk-PNQDP3OA.js";
30
37
  import "../chunk-H73TUI4Y.js";
31
38
  import "../chunk-7HLWBYH7.js";
32
39
  import "../chunk-FXU7JOXK.js";
33
- import "../chunk-VY7345RO.js";
34
- import "../chunk-DQJ3WZRK.js";
40
+ import "../chunk-BMSAJ2IH.js";
41
+ import "../chunk-IHRXCNSC.js";
35
42
  import "../chunk-7Y5UDEVM.js";
36
43
  import "../chunk-SHIICYJW.js";
37
44
  import "../chunk-MLKGABMK.js";
@@ -95,7 +102,7 @@ ${identity}`);
95
102
  }
96
103
  }
97
104
  try {
98
- const { fastDbInit } = await import("../fast-db-init-TLYUWCDE.js");
105
+ const { fastDbInit } = await import("../fast-db-init-O6A3TK3F.js");
99
106
  await fastDbInit({ socketOnly: true });
100
107
  const { getClient } = await import("../lib/database.js");
101
108
  const client = getClient();
@@ -72,7 +72,7 @@ ${context}`
72
72
  try {
73
73
  const payload = JSON.parse(input);
74
74
  const toolName = String(payload.tool_name ?? "");
75
- const { getActiveAgent } = await import("../active-agent-M5NJFEBM.js");
75
+ const { getActiveAgent } = await import("../active-agent-CVSB2EER.js");
76
76
  const driftAgent = getActiveAgent();
77
77
  if (driftAgent.agentId !== "default" && toolName) {
78
78
  const { existsSync: driftExists, readFileSync: driftRead, writeFileSync: driftWrite, mkdirSync: driftMkdir } = await import("fs");
@@ -128,7 +128,7 @@ You are **${driftAgent.agentId}**. You've used ${mismatches.length} tools outsid
128
128
  }
129
129
  try {
130
130
  const payload = JSON.parse(input);
131
- const { getActiveAgent: getInvAgent } = await import("../active-agent-M5NJFEBM.js");
131
+ const { getActiveAgent: getInvAgent } = await import("../active-agent-CVSB2EER.js");
132
132
  const invAgent = getInvAgent();
133
133
  const { trackToolResult } = await import("../investigation-tracker-WSCY4XBP.js");
134
134
  trackToolResult({
@@ -145,7 +145,7 @@ You are **${driftAgent.agentId}**. You've used ${mismatches.length} tools outsid
145
145
  }
146
146
  try {
147
147
  const budgetData = JSON.parse(input);
148
- const { getActiveAgent: getBudgetAgent } = await import("../active-agent-M5NJFEBM.js");
148
+ const { getActiveAgent: getBudgetAgent } = await import("../active-agent-CVSB2EER.js");
149
149
  const budgetAgent = getBudgetAgent();
150
150
  if (budgetAgent.agentId !== "default") {
151
151
  const budgetPath = await import("path");
@@ -168,7 +168,7 @@ You are **${driftAgent.agentId}**. You've used ${mismatches.length} tools outsid
168
168
  const toolOutputStr = JSON.stringify(budgetData.tool_response ?? budgetData.tool_result ?? {});
169
169
  const estimatedInputTokens = Math.ceil(toolInputStr.length / 4);
170
170
  const estimatedOutputTokens = Math.ceil(toolOutputStr.length / 4);
171
- const { createTokenBudgetMiddleware } = await import("../token-budget-OQCLPV3A.js");
171
+ const { createTokenBudgetMiddleware } = await import("../token-budget-NOF27AZC.js");
172
172
  const middleware = createTokenBudgetMiddleware(cached.taskId);
173
173
  const budgetResult = await middleware.onTokenUsed(estimatedInputTokens, estimatedOutputTokens);
174
174
  if (budgetResult.warned) {
@@ -197,12 +197,12 @@ Your task token budget has been reached (${budgetResult.percentUsed}% used). Wra
197
197
  }
198
198
  try {
199
199
  const data = JSON.parse(input);
200
- const { getActiveAgent } = await import("../active-agent-M5NJFEBM.js");
200
+ const { getActiveAgent } = await import("../active-agent-CVSB2EER.js");
201
201
  const { detectError } = await import("../lib/error-detector.js");
202
202
  const agent = getActiveAgent();
203
203
  try {
204
- const { fastDbInit } = await import("../fast-db-init-TLYUWCDE.js");
205
- const { recordSessionEvent } = await import("../session-events-D52HNUJK.js");
204
+ const { fastDbInit } = await import("../fast-db-init-O6A3TK3F.js");
205
+ const { recordSessionEvent } = await import("../session-events-WQHTP65R.js");
206
206
  const client = await fastDbInit({ daemonOnly: true });
207
207
  const toolName = String(data.tool_name ?? "unknown");
208
208
  const toolInput = JSON.stringify(data.tool_input ?? {});
@@ -226,7 +226,7 @@ result: ${toolResponse.slice(0, 8e3)}`,
226
226
  }
227
227
  const { loadConfigSync } = await import("../lib/config.js");
228
228
  if (loadConfigSync().autoIngestion) {
229
- const { writeMemoryViaDaemon } = await import("../memory-queue-client-BZD6MXA5.js");
229
+ const { writeMemoryViaDaemon } = await import("../memory-queue-client-BDYKFNB4.js");
230
230
  const { buildPostToolMemoryEntry } = await import("../lib/post-tool-memory.js");
231
231
  const entry = buildPostToolMemoryEntry(data, agent);
232
232
  if (entry) await writeMemoryViaDaemon(entry);
@@ -1,47 +1,48 @@
1
1
  import {
2
2
  checkpointActiveTask,
3
3
  writeContinuityCheckpoint
4
- } from "../chunk-QYLDCPNG.js";
5
- import "../chunk-T6AUMO5X.js";
6
- import "../chunk-HCJCW7X4.js";
4
+ } from "../chunk-PGFYWVOB.js";
7
5
  import "../chunk-SH45SJQW.js";
8
- import "../chunk-3JW3ZXCP.js";
9
- import "../chunk-AFNRE2RV.js";
10
- import "../chunk-3NGZ4PL7.js";
11
- import "../chunk-CMDC5D7S.js";
12
6
  import {
13
7
  getActiveAgent
14
- } from "../chunk-EOPSIIEH.js";
8
+ } from "../chunk-ID3V4BWS.js";
15
9
  import {
16
10
  sessionScopeFilter
17
- } from "../chunk-PLBDXCYZ.js";
18
- import "../chunk-HWC5W34K.js";
19
- import "../chunk-KLG53B63.js";
20
- import "../chunk-4FVVJ7ME.js";
11
+ } from "../chunk-KUJGADX6.js";
12
+ import "../chunk-7PLMYXPG.js";
13
+ import "../chunk-KJOQLNX2.js";
14
+ import "../chunk-Y2KBHLEO.js";
15
+ import "../chunk-EIKATSE4.js";
21
16
  import "../chunk-E23LNUWJ.js";
22
17
  import "../chunk-4JERP7NT.js";
23
- import "../chunk-ABGDTMKC.js";
18
+ import "../chunk-JRD7ARQ6.js";
24
19
  import "../chunk-SSTLTIF3.js";
25
20
  import "../chunk-RMOBQ6A5.js";
26
21
  import "../chunk-54QCG45Y.js";
27
- import "../chunk-HV5CUDOE.js";
28
- import "../chunk-QVFJCFNM.js";
22
+ import "../chunk-F6TJIWN5.js";
23
+ import "../chunk-FROUDYRT.js";
29
24
  import "../chunk-NGP6LSV2.js";
30
- import "../chunk-EPBB2OD3.js";
25
+ import "../chunk-BB5IKY7B.js";
31
26
  import "../chunk-CVYC6DUW.js";
27
+ import "../chunk-GIFDGNIL.js";
28
+ import "../chunk-HCJCW7X4.js";
32
29
  import "../chunk-OPU3NYOO.js";
30
+ import "../chunk-BC7IIR3A.js";
31
+ import "../chunk-AFNRE2RV.js";
32
+ import "../chunk-3NGZ4PL7.js";
33
+ import "../chunk-NLEW62VC.js";
33
34
  import "../chunk-HYZV25LY.js";
34
35
  import "../chunk-GJV3WDWM.js";
35
36
  import "../chunk-MP2AFCGL.js";
36
- import "../chunk-XLNF3CIO.js";
37
+ import "../chunk-QGOMYIVT.js";
37
38
  import "../chunk-2I23RPSI.js";
38
- import "../chunk-WXRVHXVP.js";
39
+ import "../chunk-7577GDDG.js";
39
40
  import "../chunk-PNQDP3OA.js";
40
41
  import "../chunk-H73TUI4Y.js";
41
42
  import "../chunk-7HLWBYH7.js";
42
43
  import "../chunk-FXU7JOXK.js";
43
- import "../chunk-VY7345RO.js";
44
- import "../chunk-DQJ3WZRK.js";
44
+ import "../chunk-BMSAJ2IH.js";
45
+ import "../chunk-IHRXCNSC.js";
45
46
  import "../chunk-7Y5UDEVM.js";
46
47
  import "../chunk-SHIICYJW.js";
47
48
  import "../chunk-MLKGABMK.js";
@@ -89,7 +90,7 @@ process.stdin.on("end", async () => {
89
90
  const agent = getActiveAgent();
90
91
  const sections = [];
91
92
  try {
92
- const { fastDbInit } = await import("../fast-db-init-TLYUWCDE.js");
93
+ const { fastDbInit } = await import("../fast-db-init-O6A3TK3F.js");
93
94
  const client = await fastDbInit({ socketOnly: true });
94
95
  const projectName = process.cwd().split("/").pop() ?? "unknown";
95
96
  const pcScope = sessionScopeFilter();
@@ -1,43 +1,53 @@
1
+ import {
2
+ resolveSidechainAgentIdentity
3
+ } from "../chunk-6IWLAQ7O.js";
1
4
  import "../chunk-YSU7JB7H.js";
2
5
  import "../chunk-SH45SJQW.js";
3
6
  import {
4
7
  getActiveAgent
5
- } from "../chunk-EOPSIIEH.js";
8
+ } from "../chunk-ID3V4BWS.js";
6
9
  import {
7
10
  sessionScopeFilter
8
- } from "../chunk-PLBDXCYZ.js";
9
- import "../chunk-HWC5W34K.js";
10
- import "../chunk-KLG53B63.js";
11
- import "../chunk-4FVVJ7ME.js";
11
+ } from "../chunk-KUJGADX6.js";
12
+ import "../chunk-7PLMYXPG.js";
13
+ import "../chunk-KJOQLNX2.js";
14
+ import "../chunk-Y2KBHLEO.js";
15
+ import "../chunk-EIKATSE4.js";
12
16
  import "../chunk-E23LNUWJ.js";
13
17
  import "../chunk-4JERP7NT.js";
14
- import "../chunk-ABGDTMKC.js";
18
+ import "../chunk-JRD7ARQ6.js";
15
19
  import "../chunk-SSTLTIF3.js";
16
20
  import "../chunk-RMOBQ6A5.js";
17
21
  import "../chunk-54QCG45Y.js";
18
- import "../chunk-HV5CUDOE.js";
19
- import "../chunk-QVFJCFNM.js";
22
+ import "../chunk-F6TJIWN5.js";
23
+ import "../chunk-FROUDYRT.js";
20
24
  import "../chunk-NGP6LSV2.js";
21
- import "../chunk-EPBB2OD3.js";
25
+ import "../chunk-BB5IKY7B.js";
22
26
  import {
23
27
  getSessionKey
24
28
  } from "../chunk-CVYC6DUW.js";
29
+ import "../chunk-GIFDGNIL.js";
30
+ import "../chunk-HCJCW7X4.js";
25
31
  import "../chunk-OPU3NYOO.js";
32
+ import "../chunk-BC7IIR3A.js";
33
+ import "../chunk-AFNRE2RV.js";
34
+ import "../chunk-3NGZ4PL7.js";
35
+ import "../chunk-NLEW62VC.js";
26
36
  import "../chunk-HYZV25LY.js";
27
37
  import "../chunk-GJV3WDWM.js";
28
38
  import "../chunk-MP2AFCGL.js";
29
39
  import {
30
40
  canCoordinate,
31
41
  loadEmployeesSync
32
- } from "../chunk-XLNF3CIO.js";
42
+ } from "../chunk-QGOMYIVT.js";
33
43
  import "../chunk-2I23RPSI.js";
34
- import "../chunk-WXRVHXVP.js";
44
+ import "../chunk-7577GDDG.js";
35
45
  import "../chunk-PNQDP3OA.js";
36
46
  import "../chunk-H73TUI4Y.js";
37
47
  import "../chunk-7HLWBYH7.js";
38
48
  import "../chunk-FXU7JOXK.js";
39
- import "../chunk-VY7345RO.js";
40
- import "../chunk-DQJ3WZRK.js";
49
+ import "../chunk-BMSAJ2IH.js";
50
+ import "../chunk-IHRXCNSC.js";
41
51
  import {
42
52
  EXE_AI_DIR
43
53
  } from "../chunk-7Y5UDEVM.js";
@@ -147,7 +157,7 @@ process.stdin.on("end", async () => {
147
157
  process.exit(0);
148
158
  }
149
159
  const data = JSON.parse(input);
150
- const agent = getActiveAgent();
160
+ const agent = resolveSidechainAgentIdentity(getActiveAgent(), data.transcript_path);
151
161
  if (data.tool_name === "Bash") {
152
162
  const command = data.tool_input?.command ?? "";
153
163
  const isCoordinator = canCoordinate(agent.agentId, agent.agentRole);
@@ -370,15 +380,15 @@ Do NOT report this as successful. No file was changed. If you are a sub-agent, r
370
380
  process.exit(0);
371
381
  }
372
382
  }
373
- const { getGatedAgent } = await import("../cto-delegation-gate-NVMRONA2.js");
383
+ const { getGatedAgent } = await import("../cto-delegation-gate-26BD7NEE.js");
374
384
  const gatedAgent = getGatedAgent();
375
385
  if (agent.agentId === gatedAgent && /^(Write|Edit)$/.test(data.tool_name)) {
376
386
  const filePath = data.tool_input?.file_path ?? "";
377
387
  if (filePath) {
378
388
  try {
379
- const { fastDbInit } = await import("../fast-db-init-TLYUWCDE.js");
389
+ const { fastDbInit } = await import("../fast-db-init-O6A3TK3F.js");
380
390
  await fastDbInit();
381
- const { evaluateDelegationGate, GATE_BLOCK_MESSAGE } = await import("../cto-delegation-gate-NVMRONA2.js");
391
+ const { evaluateDelegationGate, GATE_BLOCK_MESSAGE } = await import("../cto-delegation-gate-26BD7NEE.js");
382
392
  const decision = await evaluateDelegationGate({
383
393
  agentId: agent.agentId,
384
394
  toolName: data.tool_name,
@@ -431,7 +441,7 @@ Reason: ${decision.reason ?? "engineer-delegatable edit"}`;
431
441
  const isUpdateTaskDone = (data.tool_name === "mcp__exe-os__update_task" || data.tool_name === "mcp__exe-mem__update_task") && toolInput.status === "done" && CTO_ROLES.includes(agent.agentRole);
432
442
  if (isUpdateTaskDone) {
433
443
  try {
434
- const { fastDbInit } = await import("../fast-db-init-TLYUWCDE.js");
444
+ const { fastDbInit } = await import("../fast-db-init-O6A3TK3F.js");
435
445
  const client = await fastDbInit();
436
446
  const taskId = String(toolInput.task_id ?? "");
437
447
  const ptScope = sessionScopeFilter();
@@ -489,7 +499,7 @@ Reason: ${decision.reason ?? "engineer-delegatable edit"}`;
489
499
  }
490
500
  if (CTO_ROLES.includes(agent.agentRole) && !hasDelegationFired()) {
491
501
  try {
492
- const { fastDbInit } = await import("../fast-db-init-TLYUWCDE.js");
502
+ const { fastDbInit } = await import("../fast-db-init-O6A3TK3F.js");
493
503
  const client = await fastDbInit();
494
504
  const dlScope = sessionScopeFilter();
495
505
  const result = await client.execute({
@@ -6,57 +6,65 @@ import "../chunk-SH45SJQW.js";
6
6
  import {
7
7
  hybridSearch,
8
8
  lightweightSearch
9
- } from "../chunk-4Z47UMMM.js";
9
+ } from "../chunk-7M6TXYRQ.js";
10
10
  import "../chunk-AB4PAQYK.js";
11
11
  import {
12
12
  resolveHookSearchEnabled
13
13
  } from "../chunk-KWOAM7TA.js";
14
- import "../chunk-H2SD2EA7.js";
14
+ import "../chunk-KLDQFOFY.js";
15
15
  import "../chunk-CHCA3ZM2.js";
16
16
  import "../chunk-OTVEIJUQ.js";
17
- import "../chunk-SIJSFULW.js";
17
+ import "../chunk-TSYMWC53.js";
18
18
  import {
19
19
  getActiveAgent
20
- } from "../chunk-EOPSIIEH.js";
20
+ } from "../chunk-ID3V4BWS.js";
21
21
  import "../chunk-Y25OJWOQ.js";
22
22
  import {
23
- formatIntercomPrompt,
23
+ countScopedPendingReviews,
24
+ decideQueuedNudgeDrain,
24
25
  isExeSession
25
- } from "../chunk-PLBDXCYZ.js";
26
- import "../chunk-HWC5W34K.js";
27
- import "../chunk-KLG53B63.js";
28
- import "../chunk-4FVVJ7ME.js";
26
+ } from "../chunk-KUJGADX6.js";
27
+ import "../chunk-7PLMYXPG.js";
28
+ import "../chunk-KJOQLNX2.js";
29
+ import "../chunk-Y2KBHLEO.js";
30
+ import "../chunk-EIKATSE4.js";
29
31
  import "../chunk-E23LNUWJ.js";
30
32
  import "../chunk-4JERP7NT.js";
31
- import "../chunk-ABGDTMKC.js";
33
+ import "../chunk-JRD7ARQ6.js";
32
34
  import "../chunk-SSTLTIF3.js";
33
35
  import "../chunk-RMOBQ6A5.js";
34
36
  import "../chunk-54QCG45Y.js";
35
- import "../chunk-HV5CUDOE.js";
36
- import "../chunk-QVFJCFNM.js";
37
+ import "../chunk-F6TJIWN5.js";
38
+ import "../chunk-FROUDYRT.js";
37
39
  import "../chunk-NGP6LSV2.js";
38
- import "../chunk-EPBB2OD3.js";
40
+ import "../chunk-BB5IKY7B.js";
39
41
  import {
40
42
  getSessionKey
41
43
  } from "../chunk-CVYC6DUW.js";
44
+ import "../chunk-GIFDGNIL.js";
45
+ import "../chunk-HCJCW7X4.js";
42
46
  import {
43
47
  getProjectName
44
48
  } from "../chunk-OPU3NYOO.js";
49
+ import "../chunk-BC7IIR3A.js";
50
+ import "../chunk-AFNRE2RV.js";
51
+ import "../chunk-3NGZ4PL7.js";
52
+ import "../chunk-NLEW62VC.js";
45
53
  import "../chunk-HYZV25LY.js";
46
54
  import "../chunk-GJV3WDWM.js";
47
55
  import "../chunk-MP2AFCGL.js";
48
56
  import {
49
57
  canCoordinate
50
- } from "../chunk-XLNF3CIO.js";
58
+ } from "../chunk-QGOMYIVT.js";
51
59
  import "../chunk-2I23RPSI.js";
52
- import "../chunk-WXRVHXVP.js";
60
+ import "../chunk-7577GDDG.js";
53
61
  import "../chunk-PNQDP3OA.js";
54
62
  import "../chunk-H73TUI4Y.js";
55
63
  import "../chunk-7HLWBYH7.js";
56
64
  import "../chunk-FXU7JOXK.js";
57
65
  import "../chunk-Z42MXYWW.js";
58
- import "../chunk-VY7345RO.js";
59
- import "../chunk-DQJ3WZRK.js";
66
+ import "../chunk-BMSAJ2IH.js";
67
+ import "../chunk-IHRXCNSC.js";
60
68
  import {
61
69
  EXE_AI_DIR,
62
70
  loadConfig,
@@ -170,7 +178,7 @@ process.stdin.on("end", async () => {
170
178
  process.exit(0);
171
179
  }
172
180
  try {
173
- const { fastDbInit } = await import("../fast-db-init-TLYUWCDE.js");
181
+ const { fastDbInit } = await import("../fast-db-init-O6A3TK3F.js");
174
182
  await fastDbInit();
175
183
  } catch {
176
184
  }
@@ -184,58 +192,67 @@ process.stdin.on("end", async () => {
184
192
  } catch {
185
193
  }
186
194
  }
195
+ let drainedNudgeContext = "";
187
196
  if (inTmux) try {
188
197
  const currentSession = getTmuxSession();
189
198
  if (currentSession) {
190
- const { drainForSession } = await import("../intercom-queue-6M5IRX3Y.js");
191
- const transport = (await import("../lib/transport.js")).getTransport();
192
- const { getAgentRuntime } = await import("../lib/agent-config.js");
199
+ const { drainForSession, readQueue } = await import("../intercom-queue-ZCNT4LYU.js");
193
200
  const { baseAgentName } = await import("../lib/employees.js");
194
- const { isSessionBusy } = await import("../lib/tmux-routing.js");
195
- const MARKER_STALE_MS = 4 * 60 * 60 * 1e3;
196
- const hasInProgressTask = (agentName) => {
197
- try {
198
- const markerPath = path.join(os.homedir(), ".exe-os", "session-cache", `current-task-${agentName}.json`);
199
- if (!existsSync(markerPath)) return false;
200
- const stat = statSync(markerPath);
201
- if (Date.now() - stat.mtimeMs > MARKER_STALE_MS) {
202
- try {
203
- unlinkSync(markerPath);
204
- } catch {
201
+ const queuedForMe = readQueue().filter((q) => q.targetSession === currentSession);
202
+ if (queuedForMe.length > 0) {
203
+ const MARKER_STALE_MS = 4 * 60 * 60 * 1e3;
204
+ const hasInProgressTask = (agentName) => {
205
+ try {
206
+ const markerPath = path.join(os.homedir(), ".exe-os", "session-cache", `current-task-${agentName}.json`);
207
+ if (!existsSync(markerPath)) return false;
208
+ const stat = statSync(markerPath);
209
+ if (Date.now() - stat.mtimeMs > MARKER_STALE_MS) {
210
+ try {
211
+ unlinkSync(markerPath);
212
+ } catch {
213
+ }
214
+ return false;
205
215
  }
216
+ return true;
217
+ } catch {
206
218
  return false;
207
219
  }
208
- return true;
209
- } catch {
210
- return false;
220
+ };
221
+ let hasUnreadMessages = false;
222
+ if (queuedForMe.some((q) => q.intercomReason === "message")) {
223
+ try {
224
+ const { countUnreadMessages } = await import("../lib/messaging.js");
225
+ const count = await countUnreadMessages(agent.agentId);
226
+ hasUnreadMessages = count > 0;
227
+ } catch {
228
+ }
211
229
  }
212
- };
213
- let hasUnreadMessages = false;
214
- try {
215
- const { countUnreadMessages } = await import("../lib/messaging.js");
216
- const count = await countUnreadMessages(agent.agentId);
217
- hasUnreadMessages = count > 0;
218
- } catch {
219
- }
220
- drainForSession(currentSession, (session, item) => {
221
- try {
222
- const agentName = baseAgentName(session.split("-")[0] ?? session);
223
- if (isSessionBusy(session) || hasInProgressTask(agentName)) return true;
224
- if (item.intercomReason === "message" && !hasUnreadMessages) return true;
225
- const rtConfig = getAgentRuntime(agentName);
226
- const nudgeMsg = formatIntercomPrompt(item.intercomReason ?? "nudge");
227
- transport.sendKeysLiteral(session, nudgeMsg);
228
- if (rtConfig.runtime === "codex" || rtConfig.runtime === "opencode") {
229
- try {
230
- execFileSync("tmux", ["send-keys", "-t", session, "Tab"], { encoding: "utf8", timeout: 2e3 });
231
- } catch {
230
+ let pendingReviewCount = null;
231
+ if (queuedForMe.some((q) => q.intercomReason === "completion" || q.intercomReason === "notification")) {
232
+ pendingReviewCount = await countScopedPendingReviews(currentSession, agent.agentId);
233
+ }
234
+ drainForSession(currentSession, (session, item) => {
235
+ try {
236
+ const agentName = baseAgentName(session.split("-")[0] ?? session);
237
+ const decision = decideQueuedNudgeDrain(item.intercomReason, {
238
+ hasUnreadMessages,
239
+ pendingReviewCount,
240
+ hasInProgressTask: hasInProgressTask(agentName)
241
+ });
242
+ if (decision.action === "drop") {
243
+ console.error(
244
+ `[exe-os:hook:prompt-submit] dropped stale ${item.intercomReason ?? "nudge"} intercom for ${session} (${decision.reason})`
245
+ );
246
+ return true;
232
247
  }
248
+ drainedNudgeContext = `
249
+ [\u{1F514} QUEUED NUDGE] ${decision.context}`;
250
+ return true;
251
+ } catch {
252
+ return false;
233
253
  }
234
- return true;
235
- } catch {
236
- return false;
237
- }
238
- });
254
+ });
255
+ }
239
256
  }
240
257
  } catch {
241
258
  }
@@ -368,7 +385,7 @@ ${fresh.map(
368
385
  atomicWriteSync(counterPath, String(count));
369
386
  const BEHAVIOR_REINJECT_INTERVAL = 50;
370
387
  if (count === 1 || count % BEHAVIOR_REINJECT_INTERVAL === 0) {
371
- const { listBehaviors } = await import("../behaviors-J47D342W.js");
388
+ const { listBehaviors } = await import("../behaviors-MQCADHAD.js");
372
389
  const behaviors = await listBehaviors(agent.agentId);
373
390
  const active = behaviors.filter((b) => b.active !== 0).sort((a, b) => (a.priority === "p0" ? -1 : 1) - (b.priority === "p0" ? -1 : 1)).slice(0, 15);
374
391
  if (active.length > 0) {
@@ -408,7 +425,7 @@ ${parts.join("\n\n")}`;
408
425
  if (!lastCheckedAt) {
409
426
  lastCheckedAt = "1970-01-01T00:00:00.000Z";
410
427
  }
411
- const { listBehaviorsSince } = await import("../behaviors-J47D342W.js");
428
+ const { listBehaviorsSince } = await import("../behaviors-MQCADHAD.js");
412
429
  const newBehaviors = await listBehaviorsSince(agent.agentId, lastCheckedAt);
413
430
  if (newBehaviors.length > 0) {
414
431
  const newReflex = newBehaviors.filter((b) => b.domain === "reflex");
@@ -476,7 +493,7 @@ ${body}`;
476
493
  let reviewContext = "";
477
494
  if (canCoordinate(agent.agentId, agent.agentRole)) {
478
495
  try {
479
- const { countPendingReviews, countNewPendingReviewsSince } = await import("../tasks-review-BWSCXFMB.js");
496
+ const { countPendingReviews, countNewPendingReviewsSince } = await import("../tasks-review-INDAGLWJ.js");
480
497
  const sessionKey = getSessionKey();
481
498
  const lastCheckPath = path.join(CACHE_DIR, `review-lastcheck-${sessionKey}.json`);
482
499
  let sessionScope;
@@ -533,7 +550,7 @@ IMPORTANT: After completing your current task, you MUST address the pending revi
533
550
  let coreMemoryContext = "";
534
551
  if (!IS_CODEX_RUNTIME && agent.agentId !== "default") {
535
552
  try {
536
- const { getCoreMemory, formatCoreMemoryBlock } = await import("../core-memory-DARTILJG.js");
553
+ const { getCoreMemory, formatCoreMemoryBlock } = await import("../core-memory-NKKP2XUB.js");
537
554
  const entries = await getCoreMemory(agent.agentId);
538
555
  const block = formatCoreMemoryBlock(entries);
539
556
  if (block) coreMemoryContext = block;
@@ -606,7 +623,7 @@ IMPORTANT: After completing your current task, you MUST address the new task abo
606
623
  } catch {
607
624
  }
608
625
  try {
609
- const { recordOrchestrationEventBestEffort: recordOE } = await import("../orchestration-events-O5P5NEKS.js");
626
+ const { recordOrchestrationEventBestEffort: recordOE } = await import("../orchestration-events-KVNRNIPR.js");
610
627
  recordOE({
611
628
  eventType: "signal.consumed",
612
629
  source: "prompt-submit.hook",
@@ -675,7 +692,7 @@ IMPORTANT: After completing your current task, you MUST address the new task abo
675
692
  let idleTaskContext = "";
676
693
  if (!taskSignalContext && agent.agentId !== "default" && !IS_CODEX_RUNTIME) {
677
694
  try {
678
- const { fastDbInit } = await import("../fast-db-init-TLYUWCDE.js");
695
+ const { fastDbInit } = await import("../fast-db-init-O6A3TK3F.js");
679
696
  const client = await fastDbInit();
680
697
  let taskSessionScope = null;
681
698
  if (inTmux) {
@@ -744,7 +761,7 @@ IMPORTANT: After completing your current task, you MUST address the new task abo
744
761
  }
745
762
  if (hints.length === 0) {
746
763
  try {
747
- const { fastDbInit } = await import("../fast-db-init-TLYUWCDE.js");
764
+ const { fastDbInit } = await import("../fast-db-init-O6A3TK3F.js");
748
765
  const client = await fastDbInit();
749
766
  const reminderResult = await client.execute({
750
767
  sql: `SELECT COUNT(*) as cnt FROM reminders WHERE completed_at IS NULL AND due_date IS NOT NULL AND due_date <= date('now', '+1 day')`,
@@ -784,7 +801,7 @@ ${typedSummaries.join("\n---\n")}`;
784
801
  } catch {
785
802
  }
786
803
  }
787
- const combined = [cacheContext, coreMemoryContext, memoryContext, identityContext, behaviorContext, reviewContext, taskSignalContext, reviewSignalContext, idleTaskContext, discoveryHintsContext, typedMessageContext, mcpStaleNotice].filter(Boolean).join("\n\n");
804
+ const combined = [cacheContext, coreMemoryContext, memoryContext, identityContext, behaviorContext, reviewContext, taskSignalContext, reviewSignalContext, drainedNudgeContext, idleTaskContext, discoveryHintsContext, typedMessageContext, mcpStaleNotice].filter(Boolean).join("\n\n");
788
805
  if (combined.length > 0) {
789
806
  const output = JSON.stringify({
790
807
  hookSpecificOutput: {
@@ -803,7 +820,7 @@ ${typedSummaries.join("\n---\n")}`;
803
820
  failed = true;
804
821
  }
805
822
  try {
806
- const { flushSupportOutbox } = await import("../support-outbox-QPQQK7F7.js");
823
+ const { flushSupportOutbox } = await import("../support-outbox-MGUVVGHT.js");
807
824
  void flushSupportOutbox();
808
825
  } catch {
809
826
  }
@@ -823,8 +840,8 @@ async function writePromptMemory(prompt, sessionId, agent) {
823
840
  return;
824
841
  }
825
842
  try {
826
- const { fastDbInit } = await import("../fast-db-init-TLYUWCDE.js");
827
- const { recordSessionEvent } = await import("../session-events-D52HNUJK.js");
843
+ const { fastDbInit } = await import("../fast-db-init-O6A3TK3F.js");
844
+ const { recordSessionEvent } = await import("../session-events-WQHTP65R.js");
828
845
  const client = await fastDbInit();
829
846
  await recordSessionEvent(client, {
830
847
  agentId: agent.agentId,
@@ -839,7 +856,7 @@ async function writePromptMemory(prompt, sessionId, agent) {
839
856
  }
840
857
  if (!loadConfigSync().autoIngestion) return;
841
858
  try {
842
- const { writeMemoryViaDaemon } = await import("../memory-queue-client-BZD6MXA5.js");
859
+ const { writeMemoryViaDaemon } = await import("../memory-queue-client-BDYKFNB4.js");
843
860
  const trimmed = prompt.trim();
844
861
  const isSlashCommand = trimmed.startsWith("/");
845
862
  const isDirective = /\b(from now on|never|always|rule:|decision:|policy:)\b/i.test(trimmed);