@askexenow/exe-os 0.9.347 → 0.9.348

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 (311) hide show
  1. package/deploy/compose/cloudflared/config.yml.example +9 -6
  2. package/deploy/compose/docker-compose.yml +16 -9
  3. package/deploy/compose/sso-edge/default.conf.template +26 -0
  4. package/deploy/stack-manifests/v0.9.json +1 -1
  5. package/dist/{active-agent-CMY7WTJL.js → active-agent-PX6KAEEQ.js} +4 -3
  6. package/dist/{active-agent-US4KO4LV.js → active-agent-QVLZKWR2.js} +4 -3
  7. package/dist/{agentic-ontology-3Y37SQYR.js → agentic-ontology-6MEXY5L7.js} +1 -1
  8. package/dist/{backfill-metadata-GK66TYQE.js → backfill-metadata-MCFBGWKX.js} +6 -5
  9. package/dist/{backup-verify-72XBKKHL.js → backup-verify-RGB3KKD4.js} +2 -1
  10. package/dist/{behaviors-G7TR6LBM.js → behaviors-6GI6VND2.js} +7 -6
  11. package/dist/bin/agentic-ontology-backfill.js +7 -6
  12. package/dist/bin/agentic-reflection-backfill.js +8 -7
  13. package/dist/bin/agentic-semantic-label.js +7 -6
  14. package/dist/bin/backfill-conversations.js +6 -5
  15. package/dist/bin/backfill-responses.js +6 -5
  16. package/dist/bin/backfill-vectors.js +7 -6
  17. package/dist/bin/bulk-sync-postgres.js +11 -10
  18. package/dist/bin/cc-doctor.js +5 -4
  19. package/dist/bin/cleanup-stale-review-tasks.js +14 -13
  20. package/dist/bin/cli.js +16 -16
  21. package/dist/bin/deferred-daemon-restart.js +105 -91
  22. package/dist/bin/exe-agent-config.js +4 -3
  23. package/dist/bin/exe-agent.js +6 -5
  24. package/dist/bin/exe-assign.js +7 -6
  25. package/dist/bin/exe-boot.js +29 -28
  26. package/dist/bin/exe-call.js +6 -5
  27. package/dist/bin/exe-cloud.js +26 -15
  28. package/dist/bin/exe-config-dump.js +4 -3
  29. package/dist/bin/exe-dispatch.js +14 -13
  30. package/dist/bin/exe-doctor.js +5 -4
  31. package/dist/bin/exe-export-behaviors.js +9 -8
  32. package/dist/bin/exe-forget.js +8 -7
  33. package/dist/bin/exe-gateway.js +8 -7
  34. package/dist/bin/exe-healthcheck.js +5 -4
  35. package/dist/bin/exe-heartbeat.js +16 -15
  36. package/dist/bin/exe-kill.js +18 -17
  37. package/dist/bin/exe-launch-agent.js +24 -23
  38. package/dist/bin/exe-memory-reads.js +6 -5
  39. package/dist/bin/exe-new-employee.js +10 -9
  40. package/dist/bin/exe-os-mcp-proxy.js +4 -3
  41. package/dist/bin/exe-pending-messages.js +15 -14
  42. package/dist/bin/exe-pending-notifications.js +14 -13
  43. package/dist/bin/exe-pending-reviews.js +14 -13
  44. package/dist/bin/exe-rename.js +6 -5
  45. package/dist/bin/exe-review.js +17 -16
  46. package/dist/bin/exe-search.js +7 -6
  47. package/dist/bin/exe-session-cleanup.js +18 -17
  48. package/dist/bin/exe-settings.js +12 -11
  49. package/dist/bin/exe-start-codex.js +97 -15
  50. package/dist/bin/exe-start-opencode.js +10 -9
  51. package/dist/bin/exe-status.js +15 -14
  52. package/dist/bin/exe-support.js +3 -3
  53. package/dist/bin/exe-team.js +4 -3
  54. package/dist/bin/git-sweep.js +15 -14
  55. package/dist/bin/graph-backfill.js +7 -6
  56. package/dist/bin/graph-export.js +7 -6
  57. package/dist/bin/import-history.js +10 -9
  58. package/dist/bin/install.js +71 -70
  59. package/dist/bin/intercom-check.js +4 -4
  60. package/dist/bin/mcp-sessions.js +2 -2
  61. package/dist/bin/orchestration-metrics.js +5 -4
  62. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  63. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  64. package/dist/bin/pre-publish.js +1 -1
  65. package/dist/bin/reconcile-backlog.js +2 -2
  66. package/dist/bin/registry-proxy.js +1 -1
  67. package/dist/bin/scan-tasks.js +14 -13
  68. package/dist/bin/setup.js +1 -1
  69. package/dist/bin/shard-migrate.js +6 -5
  70. package/dist/bin/stack-update.js +7 -6
  71. package/dist/bin/vps-health-gate.js +1 -1
  72. package/dist/{boot-generation-KG43UYL4.js → boot-generation-FB2J53IG.js} +4 -3
  73. package/dist/{boot-review-sections-56BRURLM.js → boot-review-sections-QF5MZGJI.js} +13 -12
  74. package/dist/{capability-cards-4MN3IVJO.js → capability-cards-YADEM2KN.js} +3 -2
  75. package/dist/{capacity-monitor-4NJTN5QQ.js → capacity-monitor-CG2IGONS.js} +15 -14
  76. package/dist/{catchup-brief-AMBXLHXU.js → catchup-brief-QFVNMTU5.js} +18 -17
  77. package/dist/{chunk-PYNWGP72.js → chunk-23O6LHII.js} +1 -1
  78. package/dist/{chunk-VDJUATQJ.js → chunk-27REQ7KR.js} +1 -1
  79. package/dist/{chunk-G4HOMQY7.js → chunk-2AD2GAPC.js} +1 -1
  80. package/dist/{chunk-QZA5NG6Z.js → chunk-2WJYLXPF.js} +1 -1
  81. package/dist/{chunk-G6IANQKD.js → chunk-43RTUMUT.js} +1 -1
  82. package/dist/{chunk-WOKPKILI.js → chunk-5C46Y4AK.js} +1 -1
  83. package/dist/{chunk-IMHERTUL.js → chunk-5KCC26FB.js} +2 -2
  84. package/dist/{chunk-XRX7F7XW.js → chunk-5RPCWLXE.js} +1 -1
  85. package/dist/{chunk-DZJL775P.js → chunk-6GSYN262.js} +1 -1
  86. package/dist/{chunk-UMK7TNCF.js → chunk-6JQTSKDR.js} +157 -65
  87. package/dist/{chunk-2BOEUPL6.js → chunk-6QRS3IZF.js} +1 -1
  88. package/dist/{chunk-M722B4DA.js → chunk-6WFXNQDJ.js} +1 -1
  89. package/dist/{chunk-LUQ57SRM.js → chunk-7QRMFYOV.js} +23 -9
  90. package/dist/{chunk-I3XN3G3H.js → chunk-7WQ3WHPW.js} +113 -113
  91. package/dist/{chunk-3EMAJBBN.js → chunk-A3YHWWE6.js} +1 -1
  92. package/dist/{chunk-JLYQD2XF.js → chunk-A42356G7.js} +1 -1
  93. package/dist/{chunk-EYWB6526.js → chunk-A43SIGAO.js} +3 -3
  94. package/dist/{chunk-Z7DWUHDP.js → chunk-AFY4V4N3.js} +1 -1
  95. package/dist/{chunk-MT6YGWJ6.js → chunk-AMC2OPYP.js} +1 -1
  96. package/dist/{chunk-SUG5P42S.js → chunk-AQ24P2O7.js} +4 -4
  97. package/dist/{chunk-T7ZLJZAO.js → chunk-AUILJKSM.js} +2 -2
  98. package/dist/{chunk-PRUZNNEF.js → chunk-AXNUMBLO.js} +3 -3
  99. package/dist/{chunk-PEVOVM3W.js → chunk-BOQUXG7N.js} +3 -3
  100. package/dist/{chunk-ILLBFFY6.js → chunk-BUUGFQHL.js} +2 -2
  101. package/dist/{chunk-VMTKHDFM.js → chunk-CCOKYSJA.js} +3 -3
  102. package/dist/{chunk-YSTIPPZK.js → chunk-DAODOSH4.js} +1 -1
  103. package/dist/{chunk-LJGHAZYU.js → chunk-DJYJDK53.js} +7 -7
  104. package/dist/{chunk-K3ZHVW26.js → chunk-DXMTJJP3.js} +4 -4
  105. package/dist/{chunk-IRMJHC23.js → chunk-E3BNUQHW.js} +2 -2
  106. package/dist/{chunk-CNIAEIWV.js → chunk-EFHGK6JP.js} +1 -1
  107. package/dist/{chunk-FM4ZI5ZP.js → chunk-FE6WBI2M.js} +5 -1
  108. package/dist/{chunk-DBDMZTU5.js → chunk-FENYNW52.js} +1 -1
  109. package/dist/{chunk-FJPZ7KHN.js → chunk-FFCPSPNK.js} +1 -1
  110. package/dist/{chunk-FAH7JUNS.js → chunk-FPK753IZ.js} +10 -10
  111. package/dist/{chunk-F6NABQJ4.js → chunk-GA655CUD.js} +2 -2
  112. package/dist/{chunk-BRVDGE7N.js → chunk-GJ6KIHOM.js} +4 -4
  113. package/dist/{chunk-2ESYTX6F.js → chunk-GKNWKQFY.js} +1 -1
  114. package/dist/{chunk-3HGAAWNZ.js → chunk-GLOWJP5H.js} +2 -2
  115. package/dist/{chunk-DNN27P35.js → chunk-H3TA23PH.js} +4 -4
  116. package/dist/{chunk-TQSAPNFW.js → chunk-H5QNVWU4.js} +18 -10
  117. package/dist/{chunk-PO64LWTM.js → chunk-HL24OHHS.js} +9 -9
  118. package/dist/{chunk-FDOURKUO.js → chunk-HYZE3MNS.js} +1 -1
  119. package/dist/{chunk-3T4BRBSH.js → chunk-JORPYG4O.js} +1 -1
  120. package/dist/{chunk-2LZMDOC6.js → chunk-JW5XS35A.js} +5 -5
  121. package/dist/{chunk-3LQMUO5D.js → chunk-KIMAQNSM.js} +3 -3
  122. package/dist/{chunk-AHR3F7HW.js → chunk-KZUU6MNF.js} +1 -1
  123. package/dist/{chunk-VALVWYAK.js → chunk-L36RX54F.js} +5 -5
  124. package/dist/{chunk-UO56K55W.js → chunk-M7PBRIRH.js} +1 -1
  125. package/dist/{chunk-4VLRGKNY.js → chunk-MGMXYI7Y.js} +2 -2
  126. package/dist/{chunk-MESFJRIT.js → chunk-MH5HWMVH.js} +1 -1
  127. package/dist/{chunk-ZK53K7OR.js → chunk-MMOONM6D.js} +1 -1
  128. package/dist/{chunk-CQN4IKRB.js → chunk-MMXIE6HV.js} +1 -1
  129. package/dist/{chunk-VA3ZUIWG.js → chunk-MOZY4IQO.js} +1 -1
  130. package/dist/{chunk-VTMSGELG.js → chunk-MVZLF27P.js} +2 -2
  131. package/dist/{chunk-H44V3Y6D.js → chunk-NY6DU5RB.js} +1 -1
  132. package/dist/{chunk-F4ZW76IX.js → chunk-O522M4YZ.js} +1 -1
  133. package/dist/{chunk-7667KFAG.js → chunk-OBWIVRD6.js} +1 -1
  134. package/dist/{chunk-VDKDW5IA.js → chunk-PAXAF2UY.js} +29 -9
  135. package/dist/{chunk-QFGUAJ6T.js → chunk-PBLDPW4U.js} +2 -2
  136. package/dist/{chunk-D74XYSA3.js → chunk-QCQT5RXR.js} +5 -1
  137. package/dist/{chunk-ZY2ABBVR.js → chunk-QNKR7WEL.js} +20 -6
  138. package/dist/{chunk-XOVHWGPV.js → chunk-RBRGSOK5.js} +1 -1
  139. package/dist/{chunk-Y7637VDZ.js → chunk-RFRUDXOI.js} +2 -2
  140. package/dist/{chunk-7AD4GSRT.js → chunk-SLH2743O.js} +3 -3
  141. package/dist/{chunk-OE6D2IJI.js → chunk-SMQ642D3.js} +4 -4
  142. package/dist/{chunk-4K2PLZKF.js → chunk-SQ4WACH4.js} +1 -1
  143. package/dist/{chunk-HWK5GKE6.js → chunk-TF5E6O5Q.js} +1 -1
  144. package/dist/{chunk-KWRO4RMT.js → chunk-TLWYOMSS.js} +3 -3
  145. package/dist/{chunk-XDVLCS64.js → chunk-UAKGNQWE.js} +1 -1
  146. package/dist/{chunk-JYFBQH5O.js → chunk-UTQWVRU6.js} +5 -5
  147. package/dist/{chunk-FBSAXAXQ.js → chunk-WL3IQJKN.js} +3 -3
  148. package/dist/{chunk-BMTUSSHV.js → chunk-WUMWXU6B.js} +1 -1
  149. package/dist/{chunk-W7HKGDJO.js → chunk-WWT3E7DO.js} +3 -3
  150. package/dist/{chunk-YJK4JZ35.js → chunk-WZJ3VYRJ.js} +3 -3
  151. package/dist/{chunk-QIALRZZG.js → chunk-X6VEQ7MC.js} +1 -1
  152. package/dist/{chunk-W666YWFU.js → chunk-Y3JXLIZV.js} +3 -3
  153. package/dist/{chunk-M3NSYVE3.js → chunk-YAIFZXOM.js} +5 -5
  154. package/dist/{chunk-ZYNQXN73.js → chunk-YM6GJM2F.js} +4 -4
  155. package/dist/chunk-YMUZWC33.js +8 -0
  156. package/dist/{chunk-7DAJHBFH.js → chunk-YTPCJLEL.js} +1 -1
  157. package/dist/{chunk-53VXPGZ2.js → chunk-Z52QQB4Z.js} +2 -2
  158. package/dist/{chunk-EWWCMMES.js → chunk-ZXSFUR77.js} +16 -16
  159. package/dist/{cleanup-graph-garbage-5HKGGUS3.js → cleanup-graph-garbage-XTSBQXD6.js} +8 -7
  160. package/dist/{cloud-sync-shutdown-2JAEIAW6.js → cloud-sync-shutdown-A2QB74YM.js} +3 -2
  161. package/dist/{co-activation-SYSIFY66.js → co-activation-S2FVGMQP.js} +3 -2
  162. package/dist/{co-occurrence-QZFT5ORJ.js → co-occurrence-VQB6U5ME.js} +6 -5
  163. package/dist/{conversation-entity-extractor-YC3A2ODD.js → conversation-entity-extractor-YF3ZLTEJ.js} +3 -3
  164. package/dist/{crdt-sync-W45AKWCU.js → crdt-sync-2SGCDWC3.js} +1 -1
  165. package/dist/{crm-webhook-ZAGDYWB3.js → crm-webhook-P64SXEHD.js} +2 -2
  166. package/dist/{cto-delegation-gate-PLSICYEK.js → cto-delegation-gate-6KLGT2LB.js} +13 -12
  167. package/dist/{daemon-orchestration-QX3FS4L2.js → daemon-orchestration-JQGKEWPD.js} +18 -17
  168. package/dist/{doc-graph-extractor-NK6CP4LE.js → doc-graph-extractor-DCJMATVZ.js} +6 -5
  169. package/dist/{documents-FGXV6BDL.js → documents-7EPH3VPE.js} +7 -6
  170. package/dist/{dreaming-YIESEME7.js → dreaming-O4P2W5E5.js} +17 -16
  171. package/dist/{exe-drift-TLY7MCXW.js → exe-drift-ED7FBS2C.js} +4 -3
  172. package/dist/{exe-export-32J4WPS6.js → exe-export-YJI4USGZ.js} +9 -8
  173. package/dist/{exe-import-MDEWE325.js → exe-import-SUTAYKUW.js} +9 -8
  174. package/dist/{exe-key-NW42YUA3.js → exe-key-CRSDAOZD.js} +69 -68
  175. package/dist/{exe-snapshot-NNEEAGYI.js → exe-snapshot-KB4YYDCA.js} +18 -17
  176. package/dist/{fast-db-init-O7AECNTB.js → fast-db-init-3K2PV6GJ.js} +1 -1
  177. package/dist/{founder-context-3WDZ6LIS.js → founder-context-JHHFM4GF.js} +2 -2
  178. package/dist/gateway/index.js +9 -8
  179. package/dist/{git-main-guard-UZP3KXYI.js → git-main-guard-TGK3RQY3.js} +1 -1
  180. package/dist/{git-staleness-GEJ7U4MW.js → git-staleness-YPHGWE3B.js} +3 -2
  181. package/dist/{global-procedures-HY3BJXY4.js → global-procedures-PEWDBSPJ.js} +5 -4
  182. package/dist/{graph-auto-extract-DBAIFNDK.js → graph-auto-extract-7OJYYV4G.js} +6 -5
  183. package/dist/{graph-rag-LWKKHY72.js → graph-rag-YFITUAVO.js} +3 -3
  184. package/dist/{hook-prefetch-KNHZNI4L.js → hook-prefetch-O6ZCZCTX.js} +14 -13
  185. package/dist/hooks/bug-report-worker.js +16 -15
  186. package/dist/hooks/codex-stop-task-finalizer.js +17 -16
  187. package/dist/hooks/commit-complete.js +16 -15
  188. package/dist/hooks/error-recall.js +8 -7
  189. package/dist/hooks/exe-heartbeat-hook.js +4 -3
  190. package/dist/hooks/ingest.js +7 -6
  191. package/dist/hooks/instructions-loaded.js +5 -4
  192. package/dist/hooks/manifest.json +19 -19
  193. package/dist/hooks/notification.js +5 -4
  194. package/dist/hooks/post-compact.js +15 -14
  195. package/dist/hooks/post-tool-combined.js +9 -9
  196. package/dist/hooks/pre-compact.js +16 -15
  197. package/dist/hooks/pre-tool-use.js +36 -38
  198. package/dist/hooks/prompt-submit.js +28 -27
  199. package/dist/hooks/session-end.js +20 -19
  200. package/dist/hooks/session-start.js +13 -13
  201. package/dist/hooks/stop.js +19 -18
  202. package/dist/hooks/subagent-stop.js +17 -16
  203. package/dist/hooks/summary-worker.js +20 -19
  204. package/dist/index.js +23 -22
  205. package/dist/{installer-R2S64Q6T.js → installer-3ONNP5JV.js} +6 -5
  206. package/dist/{installer-AWALPCAX.js → installer-CY5PN7TN.js} +6 -5
  207. package/dist/{installer-SQF5I6YS.js → installer-N4QXGINR.js} +6 -5
  208. package/dist/{intercom-queue-SJL4G3J5.js → intercom-queue-A52WQOCD.js} +13 -12
  209. package/dist/lib/agent-config.js +1 -1
  210. package/dist/lib/cloud-sync.js +11 -10
  211. package/dist/lib/consolidation.js +8 -7
  212. package/dist/lib/database.js +5 -2
  213. package/dist/lib/db-backup.js +2 -1
  214. package/dist/lib/db-checkpoint-worker.js +9 -0
  215. package/dist/lib/db-read-worker-client.js +21 -8
  216. package/dist/lib/db-read-worker.js +15 -0
  217. package/dist/lib/db-write-worker-client.js +4 -1
  218. package/dist/lib/db-write-worker.js +21 -6
  219. package/dist/lib/db.js +5 -2
  220. package/dist/lib/device-registry.js +1 -1
  221. package/dist/lib/employee-templates.js +6 -5
  222. package/dist/lib/employees.js +3 -2
  223. package/dist/lib/exe-daemon.js +211 -71
  224. package/dist/lib/hybrid-search.js +7 -6
  225. package/dist/lib/identity.js +3 -2
  226. package/dist/lib/license.js +2 -2
  227. package/dist/lib/messaging.js +14 -13
  228. package/dist/lib/registry-proxy.js +1 -1
  229. package/dist/lib/reminders.js +4 -3
  230. package/dist/lib/schedules.js +7 -6
  231. package/dist/lib/session-registry.js +5 -4
  232. package/dist/lib/skill-learning.js +8 -7
  233. package/dist/lib/store.js +6 -5
  234. package/dist/lib/task-router.js +4 -3
  235. package/dist/lib/tasks.js +15 -14
  236. package/dist/lib/tmux-routing.js +13 -12
  237. package/dist/lib/token-spend.js +4 -3
  238. package/dist/{license-gate-ZYZQGPKW.js → license-gate-ZRORTAQ2.js} +3 -3
  239. package/dist/{license-sync-GU3L66JR.js → license-sync-CQHBDUQE.js} +2 -2
  240. package/dist/mcp/register-tools.js +68 -67
  241. package/dist/mcp/server.js +69 -68
  242. package/dist/mcp/tools/complete-reminder.js +5 -4
  243. package/dist/mcp/tools/create-reminder.js +5 -4
  244. package/dist/mcp/tools/create-task.js +17 -16
  245. package/dist/mcp/tools/deactivate-behavior.js +9 -8
  246. package/dist/mcp/tools/list-reminders.js +5 -4
  247. package/dist/mcp/tools/list-tasks.js +17 -16
  248. package/dist/mcp/tools/send-message.js +16 -15
  249. package/dist/mcp/tools/update-task.js +16 -15
  250. package/dist/{mcp-http-config-BV2GO7P4.js → mcp-http-config-2A6HKQP5.js} +4 -3
  251. package/dist/{mcp-session-identity-3QQPOGNI.js → mcp-session-identity-OPRX32H5.js} +13 -12
  252. package/dist/{memory-cards-NISTO4EP.js → memory-cards-GFO2CSPV.js} +6 -5
  253. package/dist/{memory-graph-extractor-CO3R5K7L.js → memory-graph-extractor-2Z72HN5P.js} +7 -6
  254. package/dist/{memory-poisoning-defense-QZCG3BMC.js → memory-poisoning-defense-WZJ52KXT.js} +3 -2
  255. package/dist/{memory-pressure-watchdog-VWQM3GXR.js → memory-pressure-watchdog-IG7VRFIX.js} +14 -13
  256. package/dist/{memory-reflection-G32OQ3X3.js → memory-reflection-LTRHDGUL.js} +3 -2
  257. package/dist/{notification-ledger-C3J4HFMM.js → notification-ledger-KSCPGLQG.js} +14 -13
  258. package/dist/{notifications-JIARMDZ5.js → notifications-YKHZPCXU.js} +13 -12
  259. package/dist/{orchestration-events-AL7AWHBX.js → orchestration-events-HAFDPTLV.js} +4 -3
  260. package/dist/{orchestrator-LWVALDUO.js → orchestrator-4MZEQULR.js} +15 -14
  261. package/dist/{pipeline-router-HK5BI3LQ.js → pipeline-router-RSRJPZNI.js} +4 -3
  262. package/dist/{plan-limits-4LMRHOUW.js → plan-limits-5QYYPIPT.js} +6 -5
  263. package/dist/{platform-procedures-G44IYUM2.js → platform-procedures-DZ6YABEK.js} +1 -1
  264. package/dist/{projection-worker-Z5U6UWCE.js → projection-worker-SKAMSZJF.js} +2 -2
  265. package/dist/{prospective-memory-UDQWFP5Y.js → prospective-memory-V7LFCPU4.js} +3 -2
  266. package/dist/{reranker-FX4QOK2G.js → reranker-HXMJ7SKW.js} +1 -1
  267. package/dist/{retrieval-health-2LIKKDMW.js → retrieval-health-4NCBHUUS.js} +1 -1
  268. package/dist/{review-polling-B2EP4KGE.js → review-polling-KQUALBEU.js} +14 -13
  269. package/dist/runtime/index.js +17 -16
  270. package/dist/{session-events-HVYX42HD.js → session-events-3KL735DZ.js} +14 -13
  271. package/dist/{session-kill-telemetry-BHKUHSK2.js → session-kill-telemetry-KVRGLYVI.js} +14 -13
  272. package/dist/{session-scope-TXCBVOSN.js → session-scope-LBG6DT5O.js} +13 -12
  273. package/dist/{setup-wizard-QMKBAK6B.js → setup-wizard-UL3AKI6E.js} +1 -1
  274. package/dist/{skill-refinement-G6BPD6QK.js → skill-refinement-6HPISXQC.js} +4 -3
  275. package/dist/{stack-update-CBP5S5BG.js → stack-update-WBDTJJEF.js} +7 -3
  276. package/dist/{steward-gate-CGP6U7KC.js → steward-gate-CWPD4HEK.js} +4 -3
  277. package/dist/{support-inbox-3ATAP7KN.js → support-inbox-HRIHHKPU.js} +3 -3
  278. package/dist/{task-enforcement-YINAK3T6.js → task-enforcement-OAOL7XFL.js} +14 -13
  279. package/dist/{task-scope-5OSP2MUP.js → task-scope-PSVAE3EM.js} +13 -12
  280. package/dist/{tasks-crud-PTN36B5F.js → tasks-crud-TLELWWUL.js} +13 -12
  281. package/dist/{tasks-notify-QCJXVZCJ.js → tasks-notify-7Q2XTDZ7.js} +14 -13
  282. package/dist/{tasks-review-ZY3S65OV.js → tasks-review-S6QB5KGS.js} +13 -12
  283. package/dist/{telemetry-upload-Z47OEELW.js → telemetry-upload-LTL5SW24.js} +8 -7
  284. package/dist/{token-budget-B3OKOYDA.js → token-budget-SK32GKFZ.js} +4 -3
  285. package/dist/{tool-telemetry-KIHAHUPT.js → tool-telemetry-QJGJAHOC.js} +1 -1
  286. package/dist/tui/App.js +22 -21
  287. package/dist/{tui-data-YIFXHE2D.js → tui-data-3JSV56ME.js} +13 -12
  288. package/dist/{update-support-IZUWVU2U.js → update-support-LMPGWJVG.js} +10 -9
  289. package/dist/{work-state-heartbeat-WIURKX3N.js → work-state-heartbeat-MQQOCU54.js} +1 -1
  290. package/dist/{worker-gate-NZRA426F.js → worker-gate-P2O64XMH.js} +1 -1
  291. package/dist/{workflow-engine-LAB6TGBZ.js → workflow-engine-BLLQKA3O.js} +2 -2
  292. package/dist/{worktree-TBUUZJHY.js → worktree-FJZXHDCJ.js} +5 -4
  293. package/dist/{worktree-sweep-LXDNIZPM.js → worktree-sweep-SW4AG6JR.js} +6 -5
  294. package/package.json +1 -1
  295. package/release-notes.json +26 -37
  296. /package/dist/{chunk-QPNXYGWG.js → chunk-AQ6ECPUP.js} +0 -0
  297. /package/dist/{chunk-UVPLZ6AK.js → chunk-BTP7BORU.js} +0 -0
  298. /package/dist/{chunk-4P7NUL4D.js → chunk-DRHXISWL.js} +0 -0
  299. /package/dist/{chunk-G4JZ22KK.js → chunk-E42D2E5F.js} +0 -0
  300. /package/dist/{chunk-MA22RV3T.js → chunk-FXZRJT3H.js} +0 -0
  301. /package/dist/{chunk-D4UCBR4O.js → chunk-GFIWADEH.js} +0 -0
  302. /package/dist/{chunk-VBHLE3TR.js → chunk-GPZQZTJB.js} +0 -0
  303. /package/dist/{chunk-FFUEDKYK.js → chunk-H4JKOLXU.js} +0 -0
  304. /package/dist/{chunk-OG2RT4IY.js → chunk-HTJKAAHD.js} +0 -0
  305. /package/dist/{chunk-MDK7E653.js → chunk-PIUDQ7P2.js} +0 -0
  306. /package/dist/{chunk-CYI2YR56.js → chunk-QUOMJKVF.js} +0 -0
  307. /package/dist/{chunk-SJLZ53ZR.js → chunk-XF2D4CDA.js} +0 -0
  308. /package/dist/{core-memory-FOW4BCPN.js → core-memory-Z7LPR3RX.js} +0 -0
  309. /package/dist/{oauth-server-OR4RAQYM.js → oauth-server-FSKABATB.js} +0 -0
  310. /package/dist/{project-boot-WP54EOAG.js → project-boot-FVSC4VQC.js} +0 -0
  311. /package/dist/{wiki-acl-4DQQCP4V.js → wiki-acl-CW2UALTJ.js} +0 -0
@@ -9,7 +9,7 @@ import {
9
9
  buildSystemStateExclusionFilter,
10
10
  buildWikiScopeFilter,
11
11
  searchMemories
12
- } from "./chunk-TQSAPNFW.js";
12
+ } from "./chunk-H5QNVWU4.js";
13
13
  import {
14
14
  blobToVector
15
15
  } from "./chunk-OTVEIJUQ.js";
@@ -22,7 +22,7 @@ import {
22
22
  } from "./chunk-GJV3WDWM.js";
23
23
  import {
24
24
  getClient
25
- } from "./chunk-ZY2ABBVR.js";
25
+ } from "./chunk-QNKR7WEL.js";
26
26
 
27
27
  // src/lib/memory-reads.ts
28
28
  import crypto from "crypto";
@@ -564,7 +564,7 @@ async function hybridSearch(queryText, agentId, options) {
564
564
  let rerankerAvailable = false;
565
565
  if (process.env.EXE_IS_DAEMON === "1") {
566
566
  try {
567
- const { isRerankerAvailable } = await import("./reranker-FX4QOK2G.js");
567
+ const { isRerankerAvailable } = await import("./reranker-HXMJ7SKW.js");
568
568
  rerankerAvailable = isRerankerAvailable();
569
569
  } catch {
570
570
  }
@@ -633,7 +633,7 @@ async function hybridSearch(queryText, agentId, options) {
633
633
  ]).catch(() => []),
634
634
  includeStructuredCards ? (async () => {
635
635
  try {
636
- const { searchMemoryCards } = await import("./memory-cards-NISTO4EP.js");
636
+ const { searchMemoryCards } = await import("./memory-cards-GFO2CSPV.js");
637
637
  return await searchMemoryCards(effectiveQuery, agentId, fetchOptions);
638
638
  } catch {
639
639
  return [];
@@ -642,7 +642,7 @@ async function hybridSearch(queryText, agentId, options) {
642
642
  // Reflection insights: patterns, contradictions, summaries across sessions
643
643
  includeStructuredCards ? (async () => {
644
644
  try {
645
- const { searchReflections } = await import("./memory-reflection-G32OQ3X3.js");
645
+ const { searchReflections } = await import("./memory-reflection-LTRHDGUL.js");
646
646
  const insights = await searchReflections(effectiveQuery, agentId, 5, {
647
647
  includeArchived: options?.includeArchived
648
648
  });
@@ -767,7 +767,7 @@ async function hybridSearch(queryText, agentId, options) {
767
767
  try {
768
768
  let rerankedRecords;
769
769
  if (graphContextMap.size > 0) {
770
- const { rerankWithContext } = await import("./reranker-FX4QOK2G.js");
770
+ const { rerankWithContext } = await import("./reranker-HXMJ7SKW.js");
771
771
  const candidates = merged.map((m) => ({
772
772
  text: m.raw_text,
773
773
  context: graphContextMap.get(m.id)
@@ -775,7 +775,7 @@ async function hybridSearch(queryText, agentId, options) {
775
775
  const scored = await rerankWithContext(effectiveQuery, candidates, rerankReturnLimit);
776
776
  rerankedRecords = scored.map((s) => merged[s.index]);
777
777
  } else {
778
- const { rerank } = await import("./reranker-FX4QOK2G.js");
778
+ const { rerank } = await import("./reranker-HXMJ7SKW.js");
779
779
  rerankedRecords = await rerank(effectiveQuery, merged, rerankReturnLimit);
780
780
  }
781
781
  if (rerankedRecords.length > 0) {
@@ -1169,7 +1169,7 @@ async function lightweightSearch(queryText, agentId, options) {
1169
1169
  }
1170
1170
  if (results.length >= 2) {
1171
1171
  try {
1172
- const { recordCoActivations } = await import("./co-activation-SYSIFY66.js");
1172
+ const { recordCoActivations } = await import("./co-activation-S2FVGMQP.js");
1173
1173
  const ids = results.slice(0, 10).map((r) => r.id);
1174
1174
  void recordCoActivations(ids).catch((e) => {
1175
1175
  try {
@@ -1185,7 +1185,7 @@ async function lightweightSearch(queryText, agentId, options) {
1185
1185
  }
1186
1186
  if (options?.includeStructuredCards !== true) return results;
1187
1187
  try {
1188
- const { searchMemoryCards } = await import("./memory-cards-NISTO4EP.js");
1188
+ const { searchMemoryCards } = await import("./memory-cards-GFO2CSPV.js");
1189
1189
  const cardResults = await searchMemoryCards(queryText, agentId, options);
1190
1190
  if (cardResults.length > 0) {
1191
1191
  return rrfMergeMulti([results, cardResults], limit, RRF_K, [1, 0.85]);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  recordOrchestrationEventBestEffort
3
- } from "./chunk-MT6YGWJ6.js";
3
+ } from "./chunk-AMC2OPYP.js";
4
4
  import {
5
5
  atomicWriteJsonSync
6
6
  } from "./chunk-HSGBZSCA.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-ZY2ABBVR.js";
3
+ } from "./chunk-QNKR7WEL.js";
4
4
  import {
5
5
  loadConfigSync
6
6
  } from "./chunk-BCZF3AGJ.js";
@@ -6,20 +6,20 @@ import {
6
6
  queryTaskRows,
7
7
  resolveExeSession,
8
8
  sendIntercom
9
- } from "./chunk-EWWCMMES.js";
9
+ } from "./chunk-ZXSFUR77.js";
10
10
  import {
11
11
  getTransport
12
12
  } from "./chunk-AD2VCHSS.js";
13
13
  import {
14
14
  recordOrchestrationEventBestEffort
15
- } from "./chunk-MT6YGWJ6.js";
15
+ } from "./chunk-AMC2OPYP.js";
16
16
  import {
17
17
  releaseDispatchClaim,
18
18
  tryAcquireDispatchClaim
19
19
  } from "./chunk-AJIXH5JF.js";
20
20
  import {
21
21
  getAgentRuntime
22
- } from "./chunk-3EMAJBBN.js";
22
+ } from "./chunk-A3YHWWE6.js";
23
23
  import {
24
24
  getSessionKey
25
25
  } from "./chunk-CVYC6DUW.js";
@@ -27,7 +27,7 @@ import {
27
27
  isCoordinatorName,
28
28
  isMultiInstance,
29
29
  shouldAutoInstance
30
- } from "./chunk-ZY2ABBVR.js";
30
+ } from "./chunk-QNKR7WEL.js";
31
31
 
32
32
  // src/lib/tasks-notify.ts
33
33
  var VERIFY_DELAY_MS = 1e4;
@@ -89,7 +89,7 @@ async function dispatchTaskToEmployee(input) {
89
89
  let crossProject = false;
90
90
  if (input.projectName) {
91
91
  try {
92
- const { assertSessionScope } = await import("./session-scope-TXCBVOSN.js");
92
+ const { assertSessionScope } = await import("./session-scope-LBG6DT5O.js");
93
93
  const check = assertSessionScope("dispatch_task", input.projectName);
94
94
  if (check.reason === "cross_session_denied") {
95
95
  crossProject = true;
@@ -4,10 +4,10 @@ import {
4
4
  extractIdentifiers,
5
5
  isGarbageEntity,
6
6
  normalizeEntityName
7
- } from "./chunk-VTMSGELG.js";
7
+ } from "./chunk-MVZLF27P.js";
8
8
  import {
9
9
  getClient
10
- } from "./chunk-ZY2ABBVR.js";
10
+ } from "./chunk-QNKR7WEL.js";
11
11
 
12
12
  // src/lib/memory-graph-extractor.ts
13
13
  function relationshipId(sourceId, targetId, relType) {
@@ -404,7 +404,7 @@ async function upsertMemoryGraph(result, memoryId) {
404
404
  });
405
405
  }
406
406
  try {
407
- const { createCoOccurrenceEdges } = await import("./co-occurrence-QZFT5ORJ.js");
407
+ const { createCoOccurrenceEdges } = await import("./co-occurrence-VQB6U5ME.js");
408
408
  await createCoOccurrenceEdges(result.entities, memoryId);
409
409
  } catch {
410
410
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionScopeFilter
3
- } from "./chunk-EWWCMMES.js";
3
+ } from "./chunk-ZXSFUR77.js";
4
4
  import {
5
5
  leaseExpiryIso
6
6
  } from "./chunk-E23LNUWJ.js";
@@ -6,14 +6,14 @@ import {
6
6
  } from "./chunk-UEXJYSJX.js";
7
7
  import {
8
8
  isCrdtSyncEnabled
9
- } from "./chunk-D4UCBR4O.js";
9
+ } from "./chunk-GFIWADEH.js";
10
10
  import {
11
11
  retryOnDaemonTransportError
12
12
  } from "./chunk-Z4UKLRML.js";
13
13
  import {
14
14
  GHOST_BEHAVIOR_SQL,
15
15
  isGhostBehaviorRow
16
- } from "./chunk-4VLRGKNY.js";
16
+ } from "./chunk-MGMXYI7Y.js";
17
17
  import {
18
18
  decryptSyncBlob,
19
19
  encryptSyncBlob,
@@ -26,10 +26,10 @@ import {
26
26
  loadEmployees,
27
27
  registerBinSymlinks,
28
28
  saveEmployees
29
- } from "./chunk-ZY2ABBVR.js";
29
+ } from "./chunk-QNKR7WEL.js";
30
30
  import {
31
31
  loadDeviceId
32
- } from "./chunk-ZK53K7OR.js";
32
+ } from "./chunk-MMOONM6D.js";
33
33
  import {
34
34
  EXE_AI_DIR
35
35
  } from "./chunk-BCZF3AGJ.js";
@@ -947,7 +947,7 @@ async function cloudSync(config, options) {
947
947
  pullResult = await cloudPull(lastPullVersion, config);
948
948
  if (pullResult.records.length > 0) {
949
949
  if (shouldUseCrdtMergeForCloudSync()) {
950
- const { initCrdtDoc, importExistingMemories, readAllMemories } = await import("./crdt-sync-W45AKWCU.js");
950
+ const { initCrdtDoc, importExistingMemories, readAllMemories } = await import("./crdt-sync-2SGCDWC3.js");
951
951
  initCrdtDoc();
952
952
  importExistingMemories(
953
953
  pullResult.records.map((rec) => ({
@@ -14,7 +14,7 @@ import {
14
14
  import {
15
15
  loadLicense,
16
16
  readCachedLicenseToken
17
- } from "./chunk-ZK53K7OR.js";
17
+ } from "./chunk-MMOONM6D.js";
18
18
 
19
19
  // src/mcp/tools/support-inbox.ts
20
20
  import { z } from "zod";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  vectorToSqlLiteral
3
- } from "./chunk-TQSAPNFW.js";
3
+ } from "./chunk-H5QNVWU4.js";
4
4
  import {
5
5
  blobToVector
6
6
  } from "./chunk-OTVEIJUQ.js";
7
7
  import {
8
8
  getClient
9
- } from "./chunk-ZY2ABBVR.js";
9
+ } from "./chunk-QNKR7WEL.js";
10
10
 
11
11
  // src/lib/behaviors.ts
12
12
  import crypto from "crypto";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-B6TI3TZT.js";
4
4
  import {
5
5
  loadEmployeesSync
6
- } from "./chunk-ZY2ABBVR.js";
6
+ } from "./chunk-QNKR7WEL.js";
7
7
 
8
8
  // src/adapters/mcp-http-config.ts
9
9
  import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getDeviceInfo
3
- } from "./chunk-SJLZ53ZR.js";
3
+ } from "./chunk-XF2D4CDA.js";
4
4
  import {
5
5
  EXE_AI_DIR
6
6
  } from "./chunk-BCZF3AGJ.js";
@@ -23,7 +23,7 @@ var PLATFORM_PROCEDURES = [
23
23
  title: "Runtime settings \u2014 COO can view and change tools per agent",
24
24
  domain: "workflow",
25
25
  priority: "p1",
26
- content: "exe-os supports three tools: Claude Code (Anthropic), Codex (OpenAI), OpenCode (open source, 75+ providers). Each agent can use a different tool and model. COO uses set_agent_config MCP tool to view/change settings. No args = show all agents. agent_id + runtime + model = change. Claude models: claude-sonnet-4.6, claude-opus-4.6, claude-sonnet-4.8, claude-opus-4.8, claude-opus-4.8-1m, fable (claude-fable-5). Interactive selection: `exe-os settings` from terminal."
26
+ content: "exe-os supports three tools: Claude Code (Anthropic), Codex (OpenAI), OpenCode (open source, 75+ providers). Each agent can use a different tool and model. COO uses set_agent_config MCP tool to view/change settings. No args = show all agents. agent_id + runtime + model = change. Claude models: claude-sonnet-4.6, claude-opus-4.6, claude-sonnet-4.8, claude-opus-4.8, fable (claude-fable-5). Interactive selection: `exe-os settings` from terminal."
27
27
  },
28
28
  // --- Reference pointer (boot-perf audit 2026-07-06 §P1) ---
29
29
  // The heavy reference sections (update lifecycle, first-install wizard, full
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createReminder
3
- } from "./chunk-XDVLCS64.js";
3
+ } from "./chunk-UAKGNQWE.js";
4
4
 
5
5
  // src/mcp/tools/create-reminder.ts
6
6
  import { z } from "zod";
@@ -7,10 +7,10 @@ import {
7
7
  } from "./chunk-GUMRIUI5.js";
8
8
  import {
9
9
  WORK_STATE_HEARTBEAT_TOOL
10
- } from "./chunk-FFUEDKYK.js";
10
+ } from "./chunk-H4JKOLXU.js";
11
11
  import {
12
12
  hashMemoryContent
13
- } from "./chunk-VBHLE3TR.js";
13
+ } from "./chunk-GPZQZTJB.js";
14
14
 
15
15
  // src/lib/graph-rag.ts
16
16
  import crypto from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isCoordinatorRole
3
- } from "./chunk-ZY2ABBVR.js";
3
+ } from "./chunk-QNKR7WEL.js";
4
4
 
5
5
  // src/lib/task-router.ts
6
6
  import { randomUUID } from "crypto";
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  loadLicense,
10
10
  readCachedLicenseToken
11
- } from "./chunk-ZK53K7OR.js";
11
+ } from "./chunk-MMOONM6D.js";
12
12
  import {
13
13
  EXE_AI_DIR,
14
14
  loadConfig
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  recordOrchestrationEventBestEffort
3
- } from "./chunk-MT6YGWJ6.js";
3
+ } from "./chunk-AMC2OPYP.js";
4
4
 
5
5
  // src/lib/worktree.ts
6
6
  import { execFile, execFileSync, execSync } from "child_process";
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  createTask
3
- } from "./chunk-LJGHAZYU.js";
3
+ } from "./chunk-DJYJDK53.js";
4
4
  import {
5
5
  getActiveAgent
6
- } from "./chunk-HWK5GKE6.js";
6
+ } from "./chunk-TF5E6O5Q.js";
7
7
  import {
8
8
  ensureEmployeeAsync,
9
9
  isValidSessionScope,
10
10
  logTaskDispatch,
11
11
  resolveExeSession
12
- } from "./chunk-EWWCMMES.js";
12
+ } from "./chunk-ZXSFUR77.js";
13
13
  import {
14
14
  recordOrchestrationEventBestEffort
15
- } from "./chunk-MT6YGWJ6.js";
15
+ } from "./chunk-AMC2OPYP.js";
16
16
  import {
17
17
  releaseDispatchClaim,
18
18
  tryAcquireDispatchClaim,
@@ -22,16 +22,16 @@ import {
22
22
  import {
23
23
  getAgentRuntime,
24
24
  validateRuntimeModel
25
- } from "./chunk-3EMAJBBN.js";
25
+ } from "./chunk-A3YHWWE6.js";
26
26
  import {
27
27
  getLicenseSync
28
- } from "./chunk-Y7637VDZ.js";
28
+ } from "./chunk-RFRUDXOI.js";
29
29
  import {
30
30
  getAgentContext
31
31
  } from "./chunk-GJV3WDWM.js";
32
32
  import {
33
33
  isCoordinatorName
34
- } from "./chunk-ZY2ABBVR.js";
34
+ } from "./chunk-QNKR7WEL.js";
35
35
 
36
36
  // src/mcp/tools/create-task.ts
37
37
  import { z } from "zod";
@@ -206,6 +206,9 @@ async function inferCoordinatorRootForProject(projectName) {
206
206
  return "";
207
207
  }
208
208
  }
209
+ function sessionBelongsToCoordinator(session, coordName, callerSession) {
210
+ return session.windowName === coordName || session.windowName === callerSession || session.parentExe === coordName || rootFromSessionName(session.windowName) === coordName;
211
+ }
209
212
  var DISPATCH_JOURNAL_ORPHAN_AGE_MS = 6e4;
210
213
  function dispatchJournalDir() {
211
214
  const base = process.env.EXE_OS_DIR || process.env.EXE_MEM_DIR || join(homedir(), ".exe-os");
@@ -296,6 +299,23 @@ async function resolveProjectDir(projectName, callerSession) {
296
299
  if (projectDirMatches(coordDir, projectName)) {
297
300
  return coordDir;
298
301
  }
302
+ const sameScopeCandidates = /* @__PURE__ */ new Set();
303
+ for (const session of sessions) {
304
+ if (!sessionBelongsToCoordinator(session, coordName, callerSession)) continue;
305
+ if (!session.projectDir || !existsSync(session.projectDir)) continue;
306
+ if (registeredProjectDirMatches(session.projectDir, projectName)) {
307
+ sameScopeCandidates.add(session.projectDir);
308
+ }
309
+ }
310
+ const sortedSameScope = [...sameScopeCandidates].sort();
311
+ if (sortedSameScope.length === 1) return sortedSameScope[0];
312
+ if (sortedSameScope.length > 1) {
313
+ process.stderr.write(
314
+ `[create-task] ambiguous same-session project resolution for "${projectName}" in caller scope "${callerSession}": ${sortedSameScope.join(", ")}. Returning null.
315
+ `
316
+ );
317
+ return null;
318
+ }
299
319
  const childUnderCoord = findProjectChildDir(coordDir, projectName);
300
320
  if (childUnderCoord) return childUnderCoord;
301
321
  const workspaceRoot = dirname(coordDir);
@@ -682,7 +702,7 @@ function registerCreateTask(server) {
682
702
  session_scope: sessionScope,
683
703
  created_at: (/* @__PURE__ */ new Date()).toISOString()
684
704
  }), "utf-8");
685
- const { recordOrchestrationEventBestEffort: recordOE } = await import("./orchestration-events-AL7AWHBX.js");
705
+ const { recordOrchestrationEventBestEffort: recordOE } = await import("./orchestration-events-HAFDPTLV.js");
686
706
  recordOE({
687
707
  eventType: "signal.created",
688
708
  source: "create-task.mcp",
@@ -714,7 +734,7 @@ function registerCreateTask(server) {
714
734
  let projectConflictOpts = {};
715
735
  try {
716
736
  const { getClient } = await import("./lib/database.js");
717
- const { sessionScopeFilter } = await import("./task-scope-5OSP2MUP.js");
737
+ const { sessionScopeFilter } = await import("./task-scope-PSVAE3EM.js");
718
738
  const client = getClient();
719
739
  const scope = sessionScopeFilter(task.sessionScope || callerRoot || exeSession || null);
720
740
  const existing = await client.execute({
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  sendMessage
3
- } from "./chunk-YJK4JZ35.js";
3
+ } from "./chunk-WZJ3VYRJ.js";
4
4
  import {
5
5
  getActiveAgent
6
- } from "./chunk-HWK5GKE6.js";
6
+ } from "./chunk-TF5E6O5Q.js";
7
7
 
8
8
  // src/mcp/tools/send-message.ts
9
9
  import { z } from "zod";
@@ -186,7 +186,11 @@ function hasDestructiveVerbTokens(tokens) {
186
186
  if (has("branch") && tokensFromVerb(tokens, "branch").some(
187
187
  (t) => t === "-f" || t === "--force" || t === "-D" || t === "-M" || t === "--move" || t === "--copy" || t === "--delete" || t === "-C" || t === "-m" || t === "-c" || t === "-d"
188
188
  )) return true;
189
- if (has("worktree") && has("add") && tokens.some((t) => /^-B/.test(t))) return true;
189
+ if (has("worktree") && has("add")) {
190
+ const worktreeArgs = tokensFromVerb(tokens, "worktree");
191
+ const addIdx = worktreeArgs.indexOf("add");
192
+ if (addIdx !== -1 && worktreeArgs.slice(addIdx + 1).some((t) => /^-B/.test(t))) return true;
193
+ }
190
194
  if (has("update-ref")) return true;
191
195
  if (has("rebase")) return true;
192
196
  if (has("filter-branch") || has("filter-repo")) return true;
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-2I23RPSI.js";
4
4
  import {
5
5
  listBackups
6
- } from "./chunk-FM4ZI5ZP.js";
6
+ } from "./chunk-FE6WBI2M.js";
7
7
  import {
8
8
  getEmotionalBaseline,
9
9
  renderEmotionalBaselineSection
@@ -14,6 +14,9 @@ import {
14
14
  import {
15
15
  logDaemonHealth
16
16
  } from "./chunk-BBMTVAE3.js";
17
+ import {
18
+ isPostgresBackendEnabled
19
+ } from "./chunk-YMUZWC33.js";
17
20
  import {
18
21
  EMBEDDING_DIM
19
22
  } from "./chunk-FXU7JOXK.js";
@@ -771,6 +774,9 @@ function rewriteSql(sql) {
771
774
  let out = sql;
772
775
  out = out.replace(/\bdatetime\(\s*['"]now['"]\s*\)/giu, "CURRENT_TIMESTAMP");
773
776
  out = out.replace(/\bvector32\s*\(\s*\?\s*\)/giu, "?");
777
+ out = out.replace(/\+\s*agent_id\b/giu, "agent_id");
778
+ out = out.replace(/\bMAX\s*\(\s*COALESCE\(([^()]+),\s*([^)]+)\)\s*,\s*([^)]+)\)/giu, "GREATEST(COALESCE($1, $2), $3)");
779
+ out = out.replace(/\bMAX\s*\(\s*([A-Za-z_][A-Za-z0-9_.]*)\s*,\s*([^)]+)\)/giu, "GREATEST($1, $2)");
774
780
  out = rewriteBooleanLiterals(out);
775
781
  out = rewriteInsertOrReplace(out);
776
782
  out = rewriteInsertOrIgnore(out);
@@ -1323,7 +1329,7 @@ async function migrateReflectionDedup(client) {
1323
1329
  "ALTER TABLE memory_reflections ADD COLUMN dedup_key TEXT",
1324
1330
  "migration add memory_reflections.dedup_key"
1325
1331
  );
1326
- const { reflectionDedupKey } = await import("./memory-reflection-G32OQ3X3.js");
1332
+ const { reflectionDedupKey } = await import("./memory-reflection-LTRHDGUL.js");
1327
1333
  const keyForRow = (row) => {
1328
1334
  let sources = [];
1329
1335
  try {
@@ -2036,7 +2042,7 @@ async function initDatabase(config) {
2036
2042
  } else {
2037
2043
  _walCheckpointTimer = null;
2038
2044
  }
2039
- if (process.env.DATABASE_URL && process.env.EXE_USE_POSTGRES === "1") {
2045
+ if (isPostgresBackendEnabled()) {
2040
2046
  _adapterClient = await createPrismaDbAdapter(_resilientClient);
2041
2047
  }
2042
2048
  try {
@@ -2061,6 +2067,13 @@ function isInitialized() {
2061
2067
  function setExternalClient(client) {
2062
2068
  _adapterClient = client;
2063
2069
  }
2070
+ async function initPostgresOnlyDatabase() {
2071
+ if (!isPostgresBackendEnabled()) {
2072
+ throw new Error("PostgreSQL backend is not enabled. Set DATABASE_URL and EXE_USE_POSTGRES=1.");
2073
+ }
2074
+ if (_adapterClient) return;
2075
+ _adapterClient = await createPrismaDbAdapter(null);
2076
+ }
2064
2077
  async function offloadReadQuery(sql, args = []) {
2065
2078
  if (process.env.EXE_IS_DAEMON === "1") {
2066
2079
  try {
@@ -2096,7 +2109,7 @@ async function sweepExpiredSoftDeletedMemories(client, options = {}) {
2096
2109
  const purgeArchived = archDays !== void 0;
2097
2110
  const BATCH_SIZE = 2e3;
2098
2111
  const MAX_BATCHES = 500;
2099
- const { cleanupCardsForMemories, cleanupGraphLinksForMemories } = await import("./graph-rag-LWKKHY72.js");
2112
+ const { cleanupCardsForMemories, cleanupGraphLinksForMemories } = await import("./graph-rag-YFITUAVO.js");
2100
2113
  const softCutoff = `-${softDays} days`;
2101
2114
  const selectArgsBase = [softCutoff];
2102
2115
  let predicate = `status = 'deleted' AND COALESCE(deleted_at, timestamp) < datetime('now', ?)`;
@@ -2143,7 +2156,7 @@ function getClient() {
2143
2156
  if (!_adapterClient) {
2144
2157
  throw new Error("Database client not initialized. Call initDatabase() first.");
2145
2158
  }
2146
- if (process.env.DATABASE_URL && process.env.EXE_USE_POSTGRES === "1") {
2159
+ if (isPostgresBackendEnabled()) {
2147
2160
  return _adapterClient;
2148
2161
  }
2149
2162
  if (process.env.EXE_IS_DAEMON === "1") {
@@ -2195,7 +2208,7 @@ function getCurrentDatabaseConfig() {
2195
2208
  return _currentConfig ? { ..._currentConfig } : null;
2196
2209
  }
2197
2210
  async function initDaemonClient() {
2198
- if (process.env.DATABASE_URL && process.env.EXE_USE_POSTGRES === "1") return;
2211
+ if (isPostgresBackendEnabled()) return;
2199
2212
  if (process.env.EXE_IS_DAEMON === "1") return;
2200
2213
  if (process.env.EXE_DB_READONLY === "1" || process.env.EXE_DB_DIRECT === "1" || process.env.EXE_SKIP_DAEMON === "1") return;
2201
2214
  if (process.env.VITEST) return;
@@ -4248,6 +4261,7 @@ export {
4248
4261
  initDatabase,
4249
4262
  isInitialized,
4250
4263
  setExternalClient,
4264
+ initPostgresOnlyDatabase,
4251
4265
  offloadReadQuery,
4252
4266
  offloadReadIfMain,
4253
4267
  SOFT_DELETE_RETENTION_DAYS,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  loadEmployees
3
- } from "./chunk-ZY2ABBVR.js";
3
+ } from "./chunk-QNKR7WEL.js";
4
4
 
5
5
  // src/lib/agent-symlinks.ts
6
6
  import os from "os";
@@ -3,12 +3,12 @@ import {
3
3
  getClient,
4
4
  isInitialized,
5
5
  loadEmployees
6
- } from "./chunk-ZY2ABBVR.js";
6
+ } from "./chunk-QNKR7WEL.js";
7
7
  import {
8
8
  PLAN_LIMITS,
9
9
  checkLicense,
10
10
  isFeatureAllowed
11
- } from "./chunk-ZK53K7OR.js";
11
+ } from "./chunk-MMOONM6D.js";
12
12
  import {
13
13
  EXE_AI_DIR
14
14
  } from "./chunk-BCZF3AGJ.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-ZY2ABBVR.js";
3
+ } from "./chunk-QNKR7WEL.js";
4
4
 
5
5
  // src/lib/pipeline-router.ts
6
6
  import crypto from "crypto";
@@ -140,8 +140,8 @@ Agent response: ${agentResponse}` : ""
140
140
  }
141
141
  async function sinkEntityExtraction(msg, agentResponse, agentName) {
142
142
  try {
143
- const { extractFromConversation } = await import("./conversation-entity-extractor-YC3A2ODD.js");
144
- const { storeExtraction } = await import("./graph-rag-LWKKHY72.js");
143
+ const { extractFromConversation } = await import("./conversation-entity-extractor-YF3ZLTEJ.js");
144
+ const { storeExtraction } = await import("./graph-rag-YFITUAVO.js");
145
145
  if ((msg.text?.length ?? 0) < 20) return false;
146
146
  if (msg.isHistorical) return false;
147
147
  const extraction = await extractFromConversation(msg, agentResponse, agentName);
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  sendIntercom,
3
3
  updateTaskStatus
4
- } from "./chunk-EWWCMMES.js";
4
+ } from "./chunk-ZXSFUR77.js";
5
5
  import {
6
6
  recordOrchestrationEventBestEffort
7
- } from "./chunk-MT6YGWJ6.js";
7
+ } from "./chunk-AMC2OPYP.js";
8
8
  import {
9
9
  BUSY_PATTERN
10
10
  } from "./chunk-OSKWCKUC.js";
@@ -12,7 +12,7 @@ import {
12
12
  baseAgentName,
13
13
  getCoordinatorName,
14
14
  isCoordinatorName
15
- } from "./chunk-ZY2ABBVR.js";
15
+ } from "./chunk-QNKR7WEL.js";
16
16
 
17
17
  // src/lib/play-mode.ts
18
18
  import { readFileSync, writeFileSync, mkdirSync, existsSync } from "fs";
@@ -305,7 +305,7 @@ async function surfaceStaleDispatchPendingSignals(scopeList, now, thresholdMs =
305
305
  const sessionScope = signalScope ?? (scopeList.length === 1 ? scopeList[0] : null);
306
306
  if (allowedScopes.size > 0 && sessionScope && !allowedScopes.has(sessionScope)) continue;
307
307
  try {
308
- const { writeNotification } = await import("./notifications-JIARMDZ5.js");
308
+ const { writeNotification } = await import("./notifications-YKHZPCXU.js");
309
309
  await writeNotification({
310
310
  agentId: getCoordinatorName(),
311
311
  agentRole: "COO",
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-ZY2ABBVR.js";
3
+ } from "./chunk-QNKR7WEL.js";
4
4
 
5
5
  // src/lib/boot-generation.ts
6
6
  var SYNC_META_KEY = "daemon_boot_generation";
@@ -9,7 +9,7 @@ import {
9
9
  getCoordinatorEmployee,
10
10
  getEmployee,
11
11
  loadEmployeesSync
12
- } from "./chunk-ZY2ABBVR.js";
12
+ } from "./chunk-QNKR7WEL.js";
13
13
  import {
14
14
  EXE_AI_DIR
15
15
  } from "./chunk-BCZF3AGJ.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  fastDbInit
3
- } from "./chunk-QPNXYGWG.js";
3
+ } from "./chunk-AQ6ECPUP.js";
4
4
  import {
5
5
  sessionScopeFilter
6
- } from "./chunk-EWWCMMES.js";
6
+ } from "./chunk-ZXSFUR77.js";
7
7
  import {
8
8
  formatStatusAll,
9
9
  formatStatusDeep,
@@ -14,7 +14,7 @@ import {
14
14
  getClient,
15
15
  isCoordinatorRole,
16
16
  loadEmployees
17
- } from "./chunk-ZY2ABBVR.js";
17
+ } from "./chunk-QNKR7WEL.js";
18
18
  import {
19
19
  isMainModule
20
20
  } from "./chunk-6Y4B3QF6.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-ZY2ABBVR.js";
3
+ } from "./chunk-QNKR7WEL.js";
4
4
  import {
5
5
  loadConfig
6
6
  } from "./chunk-BCZF3AGJ.js";