@askexenow/exe-os 0.9.409 → 0.9.411

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 (409) hide show
  1. package/deploy/stack-manifests/v0.9.json +408 -1
  2. package/dist/.dist-verified.json +3 -3
  3. package/dist/{active-agent-5AKPW2N7.js → active-agent-3YCLS7GB.js} +4 -4
  4. package/dist/{active-agent-2AMJC3SC.js → active-agent-MHWQDMML.js} +4 -4
  5. package/dist/agent-defs-generator-DNXMO34I.js +32 -0
  6. package/dist/{agentic-ontology-6RS7A7KP.js → agentic-ontology-RA6CMND6.js} +1 -1
  7. package/dist/{artifact-backup-6O4FNYPS.js → artifact-backup-EETHNFFP.js} +3 -3
  8. package/dist/{backfill-metadata-6YX6LGPJ.js → backfill-metadata-WYT257VG.js} +7 -7
  9. package/dist/backup-verify-AG54CYGR.js +62 -0
  10. package/dist/{behavior-injection-NRXTNROW.js → behavior-injection-G7GAUHGO.js} +10 -10
  11. package/dist/{behavior-promotion-MW7OQ72V.js → behavior-promotion-I2DIUFUR.js} +9 -9
  12. package/dist/{behaviors-7AOK44QK.js → behaviors-SKVKPCRW.js} +8 -8
  13. package/dist/bin/agentic-ontology-backfill.js +8 -8
  14. package/dist/bin/agentic-reflection-backfill.js +9 -9
  15. package/dist/bin/agentic-semantic-label.js +8 -8
  16. package/dist/bin/backfill-conversations.js +7 -7
  17. package/dist/bin/backfill-responses.js +7 -7
  18. package/dist/bin/backfill-vectors.js +7 -7
  19. package/dist/bin/bulk-sync-postgres.js +16 -16
  20. package/dist/bin/cc-doctor.js +8 -8
  21. package/dist/bin/cleanup-stale-review-tasks.js +13 -16
  22. package/dist/bin/cli.js +24 -24
  23. package/dist/bin/deferred-daemon-restart.js +97 -97
  24. package/dist/bin/exe-actions.js +1 -1
  25. package/dist/bin/exe-agent-config.js +3 -3
  26. package/dist/bin/exe-agent.js +12 -12
  27. package/dist/bin/exe-assign.js +8 -8
  28. package/dist/bin/exe-boot.js +35 -38
  29. package/dist/bin/exe-call.js +9 -9
  30. package/dist/bin/exe-cloud.js +26 -22
  31. package/dist/bin/exe-config-dump.js +3 -3
  32. package/dist/bin/exe-dispatch.js +14 -17
  33. package/dist/bin/exe-doctor.js +5 -5
  34. package/dist/bin/exe-export-behaviors.js +12 -12
  35. package/dist/bin/exe-forget.js +12 -12
  36. package/dist/bin/exe-gateway.js +9 -9
  37. package/dist/bin/exe-grant.js +6 -6
  38. package/dist/bin/exe-healthcheck.js +8 -8
  39. package/dist/bin/exe-heartbeat.js +19 -22
  40. package/dist/bin/exe-kill.js +18 -21
  41. package/dist/bin/exe-launch-agent.js +264 -110
  42. package/dist/bin/exe-mcp.js +5 -5
  43. package/dist/bin/exe-memory-reads.js +7 -7
  44. package/dist/bin/exe-new-employee.js +11 -11
  45. package/dist/bin/exe-os-mcp-proxy.js +5 -5
  46. package/dist/bin/exe-pending-messages.js +14 -17
  47. package/dist/bin/exe-pending-notifications.js +13 -16
  48. package/dist/bin/exe-pending-reviews.js +14 -17
  49. package/dist/bin/exe-rename.js +7 -7
  50. package/dist/bin/exe-review.js +17 -20
  51. package/dist/bin/exe-search.js +11 -11
  52. package/dist/bin/exe-session-cleanup.js +18 -21
  53. package/dist/bin/exe-settings.js +16 -16
  54. package/dist/bin/exe-start-codex.js +37 -19
  55. package/dist/bin/exe-start-opencode.js +35 -17
  56. package/dist/bin/exe-status.js +15 -18
  57. package/dist/bin/exe-support.js +3 -3
  58. package/dist/bin/exe-team.js +5 -5
  59. package/dist/bin/git-sweep.js +15 -17
  60. package/dist/bin/graph-backfill.js +8 -8
  61. package/dist/bin/graph-export.js +8 -8
  62. package/dist/bin/hooks-cli.js +1 -1
  63. package/dist/bin/import-history.js +11 -11
  64. package/dist/bin/install.js +99 -99
  65. package/dist/bin/intercom-check.js +5 -5
  66. package/dist/bin/mcp-sessions.js +2 -2
  67. package/dist/bin/orchestration-metrics.js +5 -5
  68. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  69. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  70. package/dist/bin/pre-publish.js +1 -1
  71. package/dist/bin/reconcile-backlog.js +2 -2
  72. package/dist/bin/registry-proxy.js +1 -1
  73. package/dist/bin/repair-document-chunks.js +7 -7
  74. package/dist/bin/scan-tasks.js +14 -17
  75. package/dist/bin/setup.js +2 -2
  76. package/dist/bin/shard-migrate.js +8 -8
  77. package/dist/bin/stack-update.js +4 -4
  78. package/dist/bin/vps-health-gate.js +1 -1
  79. package/dist/{boot-generation-HG6LLZLY.js → boot-generation-RPJVFAQJ.js} +4 -4
  80. package/dist/{boot-review-sections-STZ5EAIL.js → boot-review-sections-FOPPZTJI.js} +12 -15
  81. package/dist/{bug-landed-reconciler-EO72HUI2.js → bug-landed-reconciler-FN5KPBRK.js} +6 -6
  82. package/dist/build-info.json +3 -3
  83. package/dist/build-manifest.json +997 -987
  84. package/dist/{capability-cards-C3SMHB2E.js → capability-cards-YQWBEG7A.js} +3 -3
  85. package/dist/{capacity-monitor-UI553HRL.js → capacity-monitor-7SMEJHYG.js} +14 -17
  86. package/dist/{catchup-brief-VE2X4HML.js → catchup-brief-IBQ26LEB.js} +21 -23
  87. package/dist/{chunk-6ZW6BRI4.js → chunk-27NG2NTG.js} +2 -2
  88. package/dist/{chunk-EIM7OGTD.js → chunk-2BOLFLAU.js} +4 -2
  89. package/dist/{chunk-DM4VTXM6.js → chunk-2EYVXUGA.js} +4 -4
  90. package/dist/{chunk-LMF2YC5C.js → chunk-2YFMBXUU.js} +4 -4
  91. package/dist/{chunk-C426MZMD.js → chunk-2YGBJHC2.js} +3 -3
  92. package/dist/{chunk-6EY6OFBC.js → chunk-353XF4LU.js} +2 -2
  93. package/dist/{chunk-VMHZSZQJ.js → chunk-3ARSKDHC.js} +52 -0
  94. package/dist/{chunk-ZYOIH5NY.js → chunk-3DXAJVXE.js} +6 -6
  95. package/dist/{chunk-HFSFWMID.js → chunk-3GGMHSY2.js} +3 -3
  96. package/dist/{chunk-BM467PZN.js → chunk-3N24FV22.js} +1 -1
  97. package/dist/{chunk-SY53PYLU.js → chunk-47YGEM4N.js} +1 -1
  98. package/dist/{chunk-NVM3SKJ4.js → chunk-4CN3EE6U.js} +27 -21
  99. package/dist/{chunk-KIJRAZWR.js → chunk-4J77TCTX.js} +1 -1
  100. package/dist/{chunk-NHQWPKX7.js → chunk-54STF27U.js} +2 -2
  101. package/dist/{chunk-Q4GS5VW7.js → chunk-5BWDUUMH.js} +3 -3
  102. package/dist/{chunk-VYKXRSHU.js → chunk-5ZMNFSHV.js} +1 -1
  103. package/dist/{chunk-HNGAM3U4.js → chunk-657I6PUF.js} +3 -3
  104. package/dist/{chunk-OE7TAEOG.js → chunk-6777GNWI.js} +1 -1
  105. package/dist/{chunk-HYZV25LY.js → chunk-67IVG6CB.js} +1 -11
  106. package/dist/{chunk-5N34MMKS.js → chunk-6APOLYIZ.js} +43 -3
  107. package/dist/{chunk-TBYWOHTE.js → chunk-6BD6JYR2.js} +1 -1
  108. package/dist/{chunk-JJYAETCO.js → chunk-6DMURUBY.js} +4 -4
  109. package/dist/{chunk-W5XAB2SW.js → chunk-6HJF7IA3.js} +273 -206
  110. package/dist/{chunk-HRKN3DQE.js → chunk-6J2J3VJS.js} +11 -11
  111. package/dist/{chunk-XFGS22VE.js → chunk-6PXFF6IV.js} +1 -1
  112. package/dist/{chunk-RZ23QQCI.js → chunk-7HLAYQRG.js} +4 -4
  113. package/dist/{chunk-IUBCS6TA.js → chunk-7KPZQ65I.js} +3 -3
  114. package/dist/{chunk-SYUJCVJG.js → chunk-7PDZBPGW.js} +1 -1
  115. package/dist/{chunk-VLAENYCN.js → chunk-7SHU5MOD.js} +1 -1
  116. package/dist/{chunk-6RRPVE5O.js → chunk-A5I2GYVQ.js} +3 -3
  117. package/dist/{chunk-X4V5ZLNX.js → chunk-A75TAU2I.js} +628 -4
  118. package/dist/{chunk-SGR4ZQAV.js → chunk-BE3UETW6.js} +3 -3
  119. package/dist/{chunk-GG73NHZD.js → chunk-BG6RAOCJ.js} +63 -9
  120. package/dist/{chunk-DMYJVGQM.js → chunk-BIPTWAEO.js} +1 -1
  121. package/dist/{chunk-B3ISLIKE.js → chunk-BLTXAUP6.js} +2 -2
  122. package/dist/{chunk-G2M7WQ2M.js → chunk-CBC3JCIF.js} +1 -1
  123. package/dist/{chunk-FJKUFMNF.js → chunk-CFFSHBQF.js} +1 -1
  124. package/dist/{chunk-WYNIWJRN.js → chunk-CJ6CS2IH.js} +5 -5
  125. package/dist/{chunk-7LTAA55U.js → chunk-CRW63CDI.js} +1 -1
  126. package/dist/{chunk-BHDDDNC6.js → chunk-CWHTUNJX.js} +2 -2
  127. package/dist/{chunk-FZT4VQP7.js → chunk-D6NZNUVH.js} +1 -1
  128. package/dist/{chunk-GKPPLIMJ.js → chunk-DHLJZDWI.js} +4 -4
  129. package/dist/{chunk-JR3GTBV3.js → chunk-DRHTRVDT.js} +1 -1
  130. package/dist/{chunk-GTRB6DGI.js → chunk-DWRULKB3.js} +2 -2
  131. package/dist/{chunk-DIKLSAJE.js → chunk-EOWJXCYC.js} +25 -7
  132. package/dist/{chunk-4W7Y67B5.js → chunk-EWDBWOCX.js} +1 -1
  133. package/dist/{chunk-EHILXBVT.js → chunk-FPF2PJFK.js} +3 -3
  134. package/dist/{chunk-BPBEJD7U.js → chunk-FSXMKIDO.js} +1 -1
  135. package/dist/{chunk-E2Z3F26R.js → chunk-FUDXITKX.js} +1 -1
  136. package/dist/{chunk-SFGFNJBR.js → chunk-FYV2CTKP.js} +1 -1
  137. package/dist/{chunk-4M24XCTI.js → chunk-GATAYYAF.js} +53 -7
  138. package/dist/{chunk-L5CPS34O.js → chunk-GHYHNHDL.js} +1 -1
  139. package/dist/{chunk-OISOA6NX.js → chunk-GL5ZG72X.js} +1 -1
  140. package/dist/{chunk-XAGIZVYI.js → chunk-GM4UEZDE.js} +181 -1625
  141. package/dist/{chunk-4O7OUBEX.js → chunk-GZVFHFO3.js} +27 -140
  142. package/dist/{chunk-M4N7I2H5.js → chunk-HA6BIZ6L.js} +5 -5
  143. package/dist/chunk-HDQAVAV6.js +248 -0
  144. package/dist/{chunk-IPANAGA3.js → chunk-HDV2V25K.js} +1 -1
  145. package/dist/{chunk-XGPBHKU3.js → chunk-HTFM7ZDD.js} +2 -2
  146. package/dist/{chunk-KPLMY2GT.js → chunk-HUHR5CKJ.js} +4 -4
  147. package/dist/{chunk-IPBNHPTE.js → chunk-IC2AONBH.js} +9 -9
  148. package/dist/{chunk-23XUZHB7.js → chunk-IHAXXDBH.js} +245 -36
  149. package/dist/{chunk-4S6H2NWS.js → chunk-IPUDXR67.js} +1 -1
  150. package/dist/{chunk-UXJAW4IQ.js → chunk-J6U4ZR77.js} +2 -2
  151. package/dist/{chunk-7I6KVKFF.js → chunk-JAIZCE6W.js} +3 -3
  152. package/dist/{chunk-SA66WRBT.js → chunk-JGBYZTWH.js} +1 -1
  153. package/dist/{chunk-HRYWB4TO.js → chunk-JJZZXEAN.js} +3 -3
  154. package/dist/{chunk-IZ24HRDC.js → chunk-JNULO6I5.js} +3 -3
  155. package/dist/{chunk-YVS77JPW.js → chunk-JTJP4JK7.js} +3 -3
  156. package/dist/{chunk-BIV4IHED.js → chunk-JW5NUXPN.js} +15 -28
  157. package/dist/{chunk-NFNM64A7.js → chunk-K2HIXAIF.js} +22 -18
  158. package/dist/{chunk-F5ZRHLG5.js → chunk-KEDZRQI3.js} +2 -2
  159. package/dist/{chunk-QPMKVSHU.js → chunk-KN5GAVCG.js} +2 -2
  160. package/dist/{chunk-3MDUKF3N.js → chunk-L5JFVK5T.js} +5 -4
  161. package/dist/{chunk-FBZ32BD4.js → chunk-LBSCOP25.js} +1 -1
  162. package/dist/{chunk-K7DAE2HO.js → chunk-LLZUL7M2.js} +19 -6
  163. package/dist/{chunk-PCFYNK7V.js → chunk-LQGLGSBY.js} +2 -2
  164. package/dist/{chunk-APVU4Q5B.js → chunk-LSHUX7P4.js} +16 -16
  165. package/dist/{chunk-GRAMRMWS.js → chunk-M6AX64J2.js} +2 -2
  166. package/dist/{chunk-52Z435PH.js → chunk-M6SUJLNP.js} +15 -10
  167. package/dist/{chunk-GPWXUU3L.js → chunk-MZNLQC6W.js} +1 -1
  168. package/dist/{chunk-G3ZYXXO7.js → chunk-N7POJZJT.js} +10 -10
  169. package/dist/{chunk-DE2V7547.js → chunk-NCNT2C2P.js} +2 -2
  170. package/dist/{chunk-HK7HIDXP.js → chunk-O3BLL6MY.js} +1 -1
  171. package/dist/{chunk-YLWKWEJJ.js → chunk-O6KQAJCC.js} +3 -3
  172. package/dist/{chunk-QUK3UDZV.js → chunk-OHHZNNUD.js} +1 -1
  173. package/dist/{chunk-6JLVCMKH.js → chunk-PDQGR5LZ.js} +1 -1
  174. package/dist/{chunk-LE3DIA25.js → chunk-PTF5TB6O.js} +3 -3
  175. package/dist/{chunk-KBHK2WNO.js → chunk-PYXXL7N7.js} +1 -1
  176. package/dist/{chunk-QK3Z4TKQ.js → chunk-Q6KUBP6R.js} +5 -5
  177. package/dist/{chunk-NDCW4G55.js → chunk-QJWLQXR7.js} +1 -1
  178. package/dist/{chunk-ME733Y2F.js → chunk-QOFQY7BJ.js} +37 -9
  179. package/dist/{chunk-HFXBL7XE.js → chunk-QSW5DHMZ.js} +1 -1
  180. package/dist/{chunk-OFT5KSBM.js → chunk-QV26G2BF.js} +1 -1
  181. package/dist/{chunk-LVEMYNYH.js → chunk-RHHEYC6H.js} +3 -3
  182. package/dist/{chunk-QYIR64RR.js → chunk-RHJOTGEU.js} +1 -1
  183. package/dist/{chunk-HUMNRJZE.js → chunk-RJIH7JXM.js} +4 -4
  184. package/dist/{chunk-6TB7UXCA.js → chunk-RMC2A6EE.js} +1 -1
  185. package/dist/{chunk-XCPD7NGP.js → chunk-RYMXD2NT.js} +1 -1
  186. package/dist/{chunk-W2VDJKTB.js → chunk-RYYFFCJG.js} +1 -1
  187. package/dist/{chunk-YUAOQJVV.js → chunk-SINIRUYZ.js} +101 -9
  188. package/dist/{chunk-R7QZXQPU.js → chunk-SXUABANK.js} +216 -147
  189. package/dist/{backup-verify-QIAQ63VC.js → chunk-T3AM52YT.js} +411 -90
  190. package/dist/{chunk-NK4JHJNP.js → chunk-TCBWHLKH.js} +4 -4
  191. package/dist/{chunk-R6CKQLEA.js → chunk-TS4LSNRI.js} +2 -2
  192. package/dist/{chunk-4Q7H3TO7.js → chunk-TVWYMOZ4.js} +1 -1
  193. package/dist/{chunk-TCV3WA5I.js → chunk-VAHQOIQY.js} +1 -1
  194. package/dist/{chunk-ZEHBSA25.js → chunk-VQQPYI4X.js} +1 -1
  195. package/dist/{chunk-PZDAPIQL.js → chunk-VS7V5HNO.js} +1 -1
  196. package/dist/{chunk-7R7KDRKV.js → chunk-W7VKGB42.js} +1 -1
  197. package/dist/{chunk-M7774YLB.js → chunk-WC44PNZU.js} +1 -1
  198. package/dist/{chunk-3AL2LO3L.js → chunk-WHUQ44F2.js} +1 -1
  199. package/dist/{chunk-4RQ62XXK.js → chunk-X2ZHCNNB.js} +5 -5
  200. package/dist/{chunk-T2PAFWRK.js → chunk-X4FHT6ST.js} +5 -5
  201. package/dist/{chunk-N3JEYUDV.js → chunk-XC5OASHV.js} +1 -1
  202. package/dist/{agent-defs-generator-QN3J6FVJ.js → chunk-XDOCXKHW.js} +61 -21
  203. package/dist/{chunk-OEHZ46WQ.js → chunk-XEAZJXMZ.js} +2 -2
  204. package/dist/{chunk-DACRR362.js → chunk-XQ7BIVLI.js} +6 -6
  205. package/dist/{chunk-7P2TDFZL.js → chunk-Z3LGAFMG.js} +1 -1
  206. package/dist/{chunk-GEQQGN3J.js → chunk-ZJ6AMC4Y.js} +7 -7
  207. package/dist/{chunk-IURGBN5B.js → chunk-ZZR2WRNW.js} +4 -4
  208. package/dist/{cleanup-graph-garbage-NKAJSCWZ.js → cleanup-graph-garbage-SYGPMPUM.js} +8 -8
  209. package/dist/{cli-shutdown-F3DFDCB5.js → cli-shutdown-JI7CASE4.js} +1 -1
  210. package/dist/{cloud-sync-command-3YBLSMAL.js → cloud-sync-command-ZV3P5FP6.js} +2 -2
  211. package/dist/{cloud-sync-db-init-JWSPAFKY.js → cloud-sync-db-init-RQIHWKV4.js} +1 -1
  212. package/dist/{cloud-sync-shutdown-4R6RIO67.js → cloud-sync-shutdown-V2N7VLD3.js} +3 -3
  213. package/dist/{co-activation-2ZRANV3Q.js → co-activation-SRE6DIRX.js} +3 -3
  214. package/dist/{co-occurrence-6EELW2L2.js → co-occurrence-F5TMSEQZ.js} +6 -6
  215. package/dist/{consent-passphrase-TDR263MC.js → consent-passphrase-MWZRHJRC.js} +2 -2
  216. package/dist/content-extractor-GWF2T7FK.js +13 -0
  217. package/dist/{conversation-entity-extractor-KUJN3MOH.js → conversation-entity-extractor-XMOUHGMT.js} +3 -3
  218. package/dist/{crdt-sync-IX43KVQ3.js → crdt-sync-FXEKABM7.js} +4 -4
  219. package/dist/{crm-webhook-GSCIW6CE.js → crm-webhook-D6IJOPRQ.js} +2 -2
  220. package/dist/{cto-delegation-gate-ZWD4EFRR.js → cto-delegation-gate-BU3JRCYN.js} +12 -15
  221. package/dist/{daemon-orchestration-WL6V4QL4.js → daemon-orchestration-K4NKFYXO.js} +19 -21
  222. package/dist/{destructive-data-guard-JDUJ2ULM.js → destructive-data-guard-3TGAAE7K.js} +77 -23
  223. package/dist/{doc-graph-extractor-NJ7ZZC2C.js → doc-graph-extractor-TVK2NGAR.js} +6 -6
  224. package/dist/{documents-O7WYZFFE.js → documents-MDZ4VB5X.js} +8 -8
  225. package/dist/{dreaming-TUESPDT3.js → dreaming-L24PSS35.js} +17 -20
  226. package/dist/{employee-boot-brief-UCP6QLN4.js → employee-boot-brief-GQVL3FQC.js} +23 -25
  227. package/dist/{entity-boost-TK43XT24.js → entity-boost-OMFA5QCG.js} +2 -2
  228. package/dist/{exe-drift-QD6LUZT2.js → exe-drift-JDDG3OPT.js} +4 -4
  229. package/dist/{exe-export-QIUNHFSS.js → exe-export-EEGIE3JP.js} +10 -10
  230. package/dist/{exe-import-3UFOLHEW.js → exe-import-UJNC5Q2L.js} +10 -10
  231. package/dist/{exe-key-D5NDKGHT.js → exe-key-TYEY4W4E.js} +97 -97
  232. package/dist/{exe-org-UWDJBOCV.js → exe-org-B3ICTTEV.js} +32 -32
  233. package/dist/{exe-snapshot-P6SFODEN.js → exe-snapshot-VBFBONYN.js} +20 -23
  234. package/dist/{fast-db-init-SD7JZSEC.js → fast-db-init-TFRTK6EH.js} +1 -1
  235. package/dist/{founder-context-QIXDZIJX.js → founder-context-3X4QUWKD.js} +2 -2
  236. package/dist/{founder-monitor-envelope-TLOC4UYG.js → founder-monitor-envelope-54UNZNY4.js} +4 -4
  237. package/dist/gateway/index.js +11 -11
  238. package/dist/{gateway-client-CQTSYJLP.js → gateway-client-OUDO5GGV.js} +1 -1
  239. package/dist/{git-staleness-JSQTHB4Z.js → git-staleness-73YZ5PGU.js} +3 -3
  240. package/dist/{global-procedures-T3RKI4QX.js → global-procedures-PYNE2BQG.js} +20 -6
  241. package/dist/{graph-auto-extract-V75GSTNX.js → graph-auto-extract-PGUMEEQB.js} +6 -6
  242. package/dist/{graph-query-VAQN2RK3.js → graph-query-7YA3YNKL.js} +1 -1
  243. package/dist/{graph-rag-GBA5E3QC.js → graph-rag-UWOTK4AQ.js} +3 -3
  244. package/dist/{hook-integrity-II6QK6Y4.js → hook-integrity-6MNEPT6W.js} +1 -1
  245. package/dist/{hook-prefetch-5EHPOYY3.js → hook-prefetch-JOF6YZSR.js} +13 -16
  246. package/dist/hooks/bug-report-worker.js +17 -20
  247. package/dist/hooks/codex-stop-task-finalizer.js +19 -22
  248. package/dist/hooks/commit-complete.js +16 -19
  249. package/dist/hooks/error-recall.js +14 -14
  250. package/dist/hooks/exe-heartbeat-hook.js +5 -5
  251. package/dist/hooks/ingest-worker.js +18 -20
  252. package/dist/hooks/ingest.js +16 -16
  253. package/dist/hooks/instructions-loaded.js +7 -7
  254. package/dist/hooks/manifest.json +20 -20
  255. package/dist/hooks/notification.js +6 -6
  256. package/dist/hooks/post-compact.js +5 -5
  257. package/dist/hooks/post-tool-combined.js +13 -13
  258. package/dist/hooks/pre-compact.js +16 -19
  259. package/dist/hooks/pre-tool-use.js +2 -2
  260. package/dist/hooks/prompt-submit.js +40 -39
  261. package/dist/hooks/session-end.js +21 -24
  262. package/dist/hooks/session-start.js +18 -18
  263. package/dist/hooks/stop.js +19 -22
  264. package/dist/hooks/subagent-stop.js +18 -21
  265. package/dist/hooks/summary-worker.js +20 -23
  266. package/dist/index.js +25 -28
  267. package/dist/{installer-XEEZSF3V.js → installer-34XZ7JMW.js} +7 -8
  268. package/dist/{installer-MPVQ5L22.js → installer-356RMQ2K.js} +7 -8
  269. package/dist/{installer-ILYC4LI5.js → installer-7TN36Z7T.js} +113 -30
  270. package/dist/{intercom-queue-QGHAW2KO.js → intercom-queue-ZJ3MNULM.js} +12 -15
  271. package/dist/lib/backup-verify-worker.js +157 -0
  272. package/dist/lib/cloud-sync.js +16 -20
  273. package/dist/lib/consolidation.js +9 -9
  274. package/dist/lib/crypto.js +3 -3
  275. package/dist/lib/database.js +3 -3
  276. package/dist/lib/db-backup.js +7 -3
  277. package/dist/lib/db-write-worker.js +3 -3
  278. package/dist/lib/db.js +3 -3
  279. package/dist/lib/device-registry.js +1 -1
  280. package/dist/lib/employee-templates.js +7 -7
  281. package/dist/lib/employees.js +3 -3
  282. package/dist/lib/error-detector.js +2 -2
  283. package/dist/lib/exe-daemon.js +89 -87
  284. package/dist/lib/hybrid-search.js +11 -11
  285. package/dist/lib/identity.js +5 -3
  286. package/dist/lib/keychain.js +1 -1
  287. package/dist/lib/license.js +2 -2
  288. package/dist/lib/messaging.js +13 -16
  289. package/dist/lib/post-tool-memory.js +16 -18
  290. package/dist/lib/registry-proxy.js +1 -1
  291. package/dist/lib/reminders.js +4 -4
  292. package/dist/lib/schedules.js +8 -8
  293. package/dist/lib/session-registry.js +5 -5
  294. package/dist/lib/skill-learning.js +9 -9
  295. package/dist/lib/store.js +7 -7
  296. package/dist/lib/task-router.js +4 -4
  297. package/dist/lib/tasks.js +14 -17
  298. package/dist/lib/tmux-routing.js +14 -41
  299. package/dist/lib/token-spend.js +4 -4
  300. package/dist/lib/ws-client.js +1 -1
  301. package/dist/{license-gate-CARN6AB6.js → license-gate-4BXUTHLB.js} +3 -3
  302. package/dist/{license-recheck-7Z3LS6YS.js → license-recheck-QFPUKISQ.js} +1 -1
  303. package/dist/{license-sync-PUQV3HSZ.js → license-sync-FDEDT4AC.js} +2 -2
  304. package/dist/mcp/register-tools.js +96 -96
  305. package/dist/mcp/server.js +96 -96
  306. package/dist/mcp/tools/complete-reminder.js +5 -5
  307. package/dist/mcp/tools/create-reminder.js +5 -5
  308. package/dist/mcp/tools/create-task.js +16 -19
  309. package/dist/mcp/tools/deactivate-behavior.js +10 -10
  310. package/dist/mcp/tools/list-reminders.js +5 -5
  311. package/dist/mcp/tools/list-tasks.js +16 -19
  312. package/dist/mcp/tools/send-message.js +15 -18
  313. package/dist/mcp/tools/update-task.js +15 -18
  314. package/dist/{mcp-http-config-RJKTZPHZ.js → mcp-http-config-GKP5QGAO.js} +5 -5
  315. package/dist/{mcp-session-identity-HN444A3G.js → mcp-session-identity-JHAGRB7B.js} +12 -15
  316. package/dist/{memory-cards-AT3QCCWU.js → memory-cards-O377ETAM.js} +8 -8
  317. package/dist/{memory-graph-extractor-B43UWGV5.js → memory-graph-extractor-4KJCCUOP.js} +7 -7
  318. package/dist/{memory-maintenance-WDLL3ZX3.js → memory-maintenance-RR5UPRW3.js} +1 -1
  319. package/dist/{memory-poisoning-defense-TS4WNW4S.js → memory-poisoning-defense-Y5TTKGOP.js} +3 -3
  320. package/dist/{memory-pressure-watchdog-6YH7S6W7.js → memory-pressure-watchdog-NGXTI4HR.js} +13 -16
  321. package/dist/{memory-reflection-N6NSYW6S.js → memory-reflection-EXNHRZL7.js} +8 -8
  322. package/dist/{memory-write-repository-D35RDO62.js → memory-write-repository-S4TX7WQB.js} +1 -1
  323. package/dist/{monitor-grants-FH4PNYN5.js → monitor-grants-57Q4NL25.js} +3 -3
  324. package/dist/{monitor-identity-LK5ZCCND.js → monitor-identity-3FQ52SYU.js} +2 -2
  325. package/dist/{notification-ledger-3WJYJGGS.js → notification-ledger-O6KQYYGK.js} +13 -16
  326. package/dist/{notifications-T5C2CVB3.js → notifications-6FCQCJ4P.js} +12 -15
  327. package/dist/{orchestration-events-73VEJT7Q.js → orchestration-events-2Z2BMMA5.js} +4 -4
  328. package/dist/{orchestrator-3O657734.js → orchestrator-AGOSKPHD.js} +14 -17
  329. package/dist/{org-brief-session-EGB35QLM.js → org-brief-session-WJHZVXXJ.js} +15 -15
  330. package/dist/{org-consent-policy-MSVSRI53.js → org-consent-policy-X43UGTHI.js} +5 -5
  331. package/dist/{org-join-4BK2XJJI.js → org-join-M3UTBMHC.js} +9 -9
  332. package/dist/{org-key-admin-EUSSGXQ3.js → org-key-admin-AA2DRHB2.js} +11 -11
  333. package/dist/{org-key-epoch-NMEWDT5L.js → org-key-epoch-Z5UIVUHT.js} +5 -5
  334. package/dist/{org-key-pin-HUSXGINB.js → org-key-pin-FE6YHEZ3.js} +3 -3
  335. package/dist/{org-membership-B74IWEM5.js → org-membership-3J2MIGE4.js} +4 -4
  336. package/dist/{org-partner-config-5FJTJABN.js → org-partner-config-5HATZYG4.js} +8 -8
  337. package/dist/{org-partner-runtime-GN4GFWI2.js → org-partner-runtime-UI35IHUC.js} +15 -15
  338. package/dist/{org-row-visibility-PBZ2TSCR.js → org-row-visibility-TRJERVYP.js} +1 -1
  339. package/dist/{pipeline-router-2IELBSVJ.js → pipeline-router-EKQ6D7ZA.js} +4 -4
  340. package/dist/{plan-limits-4GXK5PFT.js → plan-limits-3BGHIHX6.js} +6 -6
  341. package/dist/{platform-procedures-QP3W2NLH.js → platform-procedures-RXW46WNY.js} +1 -1
  342. package/dist/{pre-tool-use-impl-CY73PRJP.js → pre-tool-use-impl-7BT5TJVM.js} +35 -33
  343. package/dist/{project-name-337ERIAX.js → project-name-PGJGUEJY.js} +4 -4
  344. package/dist/{projection-worker-W476IG6V.js → projection-worker-3GEVFPAI.js} +2 -2
  345. package/dist/{prospective-memory-5INB7NUL.js → prospective-memory-GEN7CN7H.js} +3 -3
  346. package/dist/{push-notifications-YVOP4KGN.js → push-notifications-QW4BWRC7.js} +13 -16
  347. package/dist/{reproject-worktree-memories-OGBR3CMO.js → reproject-worktree-memories-DIULBEBD.js} +12 -15
  348. package/dist/{reranker-W7WCJH6Y.js → reranker-LQ6OPJOI.js} +1 -1
  349. package/dist/{retrieval-health-R6MGXLTP.js → retrieval-health-XDFYFEOP.js} +1 -1
  350. package/dist/{review-polling-TKAWVY6G.js → review-polling-ED33YLFT.js} +13 -16
  351. package/dist/runtime/index.js +20 -23
  352. package/dist/{session-events-HUCZ7TOR.js → session-events-7IJGTBVH.js} +13 -16
  353. package/dist/{session-kill-telemetry-RWRWOW4C.js → session-kill-telemetry-RUTEARJ3.js} +13 -16
  354. package/dist/{session-scope-5CDRHV75.js → session-scope-SSYA64L3.js} +12 -15
  355. package/dist/{setup-wizard-RBTJAZOP.js → setup-wizard-XD7FZVLJ.js} +2 -2
  356. package/dist/{shard-manager-LRPAAQA4.js → shard-manager-FH5JZRSE.js} +2 -2
  357. package/dist/{skill-refinement-MDXKDCY6.js → skill-refinement-UHD4E6GV.js} +4 -4
  358. package/dist/{skill-retrieval-OWY6MTCX.js → skill-retrieval-F6PAJ3I5.js} +11 -11
  359. package/dist/{skill-usage-GNV737U5.js → skill-usage-2MBTF7Y4.js} +4 -4
  360. package/dist/{stack-generate-manifest-S4SBLKBY.js → stack-generate-manifest-SU6OFFY7.js} +4 -4
  361. package/dist/{stack-promote-U4EZNLOV.js → stack-promote-MJF436JD.js} +4 -4
  362. package/dist/{stack-release-4VBGOYGK.js → stack-release-S37R57XC.js} +5 -5
  363. package/dist/{stack-update-C5YKHE7A.js → stack-update-XXDRKGGR.js} +3 -3
  364. package/dist/{steward-gate-QFPXQBUZ.js → steward-gate-EWG2BHYQ.js} +4 -4
  365. package/dist/{subagent-brief-injection-GDXO5WNS.js → subagent-brief-injection-YZGSWUEY.js} +25 -27
  366. package/dist/{support-bug-actions-4XEKXIIO.js → support-bug-actions-RU6WZ3UV.js} +3 -3
  367. package/dist/{support-inbox-Y7AFCOGM.js → support-inbox-A3S52SPS.js} +12 -12
  368. package/dist/{task-enforcement-CN3Q4PEH.js → task-enforcement-LVAS55AR.js} +13 -16
  369. package/dist/{task-request-inbox-AY3C6DND.js → task-request-inbox-2TN4ZUH2.js} +5 -5
  370. package/dist/{task-scope-AMR3Z3DJ.js → task-scope-NLKUVCP5.js} +12 -15
  371. package/dist/{tasks-crud-2GHKIZOM.js → tasks-crud-NQDPLHNZ.js} +14 -15
  372. package/dist/{tasks-notify-Z53446KM.js → tasks-notify-BDM2NEHP.js} +13 -16
  373. package/dist/{tasks-review-APRNSHMQ.js → tasks-review-3G7CAW2O.js} +12 -15
  374. package/dist/{telemetry-upload-5XR42SQN.js → telemetry-upload-6DR6AL3V.js} +8 -8
  375. package/dist/{token-budget-TTNJXI7W.js → token-budget-KNC2WGR7.js} +4 -4
  376. package/dist/{tool-telemetry-36ST422N.js → tool-telemetry-I3SEU5M5.js} +1 -1
  377. package/dist/tui/App.js +23 -26
  378. package/dist/{tui-data-AP5TPUOQ.js → tui-data-KJDWP4CB.js} +16 -19
  379. package/dist/{update-support-SFTI2PUD.js → update-support-UYDYMHVR.js} +11 -11
  380. package/dist/{whatsapp-5CXE3JHG.js → whatsapp-5EMPZHF5.js} +2 -2
  381. package/dist/{wiki-acl-N754BC2W.js → wiki-acl-M7BTQJBZ.js} +1 -1
  382. package/dist/{work-claims-OAICQBWO.js → work-claims-5CFMZTML.js} +4 -4
  383. package/dist/{work-state-heartbeat-MTTUGMPU.js → work-state-heartbeat-7IA2DZ2E.js} +1 -1
  384. package/dist/{workflow-engine-RID3QL2U.js → workflow-engine-S5JOE2YR.js} +2 -2
  385. package/dist/{worktree-XWVNDBRD.js → worktree-7V4ZMF3D.js} +5 -5
  386. package/dist/{worktree-sweep-6VEHGH7U.js → worktree-sweep-34MXJ7S6.js} +6 -6
  387. package/package.json +2 -1
  388. package/release-notes.json +25 -7
  389. package/stack.release.json +3 -3
  390. package/dist/chunk-ESO5JDOT.js +0 -70
  391. package/dist/chunk-KCRSJ3VU.js +0 -113
  392. package/dist/content-extractor-OVD7PTSN.js +0 -9
  393. /package/dist/{chunk-OLMLA377.js → chunk-542FBM5U.js} +0 -0
  394. /package/dist/{chunk-LDHJX4TZ.js → chunk-6D2O5SAH.js} +0 -0
  395. /package/dist/{chunk-33PG3KNY.js → chunk-6NRZLVK3.js} +0 -0
  396. /package/dist/{chunk-CLV7ALXV.js → chunk-CFO47VW4.js} +0 -0
  397. /package/dist/{chunk-FLO24BNN.js → chunk-EULAP6L6.js} +0 -0
  398. /package/dist/{chunk-PKM456D2.js → chunk-FYSKQPTE.js} +0 -0
  399. /package/dist/{chunk-WIDOLS7T.js → chunk-J4B4M5PH.js} +0 -0
  400. /package/dist/{chunk-YBB43SXC.js → chunk-J635FA7T.js} +0 -0
  401. /package/dist/{chunk-64UAHPXA.js → chunk-MOBZTIJQ.js} +0 -0
  402. /package/dist/{chunk-EZQ4W3WW.js → chunk-N45FAI6D.js} +0 -0
  403. /package/dist/{chunk-OEEHLATI.js → chunk-QDSNEGJE.js} +0 -0
  404. /package/dist/{chunk-YG4DZZ6J.js → chunk-SKSXROKP.js} +0 -0
  405. /package/dist/{chunk-FUZHMV7K.js → chunk-YVWXI2HM.js} +0 -0
  406. /package/dist/{core-memory-WR7I7DIP.js → core-memory-PZEO3OWH.js} +0 -0
  407. /package/dist/{memory-isolation-4RQJ5RCK.js → memory-isolation-MFNT2ITE.js} +0 -0
  408. /package/dist/{oauth-server-VBDMZIEV.js → oauth-server-CBGEWD6H.js} +0 -0
  409. /package/dist/{project-boot-G7T5WHO6.js → project-boot-VESAYDIH.js} +0 -0
@@ -1,51 +1,42 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  exportBehaviorsForAgent
4
- } from "../chunk-GG73NHZD.js";
5
- import "../chunk-YVS77JPW.js";
4
+ } from "../chunk-BG6RAOCJ.js";
5
+ import "../chunk-JTJP4JK7.js";
6
6
  import {
7
7
  resolveClaudeBinaryPath
8
8
  } from "../chunk-CBPNZFSU.js";
9
9
  import {
10
10
  getSessionPrompt
11
- } from "../chunk-R6CKQLEA.js";
12
- import "../chunk-KCRSJ3VU.js";
13
- import "../chunk-NVM3SKJ4.js";
14
- import "../chunk-F5ZRHLG5.js";
11
+ } from "../chunk-TS4LSNRI.js";
12
+ import "../chunk-HDQAVAV6.js";
13
+ import "../chunk-4CN3EE6U.js";
14
+ import "../chunk-KEDZRQI3.js";
15
15
  import {
16
16
  retryOnDaemonTransportError
17
17
  } from "../chunk-ZD5TZZXU.js";
18
18
  import "../chunk-QGGH7LOU.js";
19
19
  import {
20
20
  disposeStore
21
- } from "../chunk-APVU4Q5B.js";
22
- import "../chunk-64UAHPXA.js";
21
+ } from "../chunk-LSHUX7P4.js";
22
+ import "../chunk-MOBZTIJQ.js";
23
23
  import "../chunk-CHCA3ZM2.js";
24
24
  import "../chunk-OTVEIJUQ.js";
25
- import "../chunk-PKM456D2.js";
25
+ import "../chunk-FYSKQPTE.js";
26
26
  import "../chunk-5MOYSU5A.js";
27
27
  import "../chunk-BYP3DOUU.js";
28
28
  import {
29
29
  fastDbInit
30
- } from "../chunk-EZQ4W3WW.js";
30
+ } from "../chunk-N45FAI6D.js";
31
31
  import {
32
32
  resolveCurrentTask
33
33
  } from "../chunk-76CJBM36.js";
34
34
  import {
35
35
  getBudgetFallback
36
36
  } from "../chunk-QLZ46RCK.js";
37
- import {
38
- DEFAULT_PROVIDER,
39
- PROVIDER_TABLE,
40
- _resetCcAgentSupportCache,
41
- _resetCcHelpCache,
42
- claudeSupportsAgentFlag,
43
- getCcHelpOutputCached
44
- } from "../chunk-XAGIZVYI.js";
45
- import "../chunk-ESO5JDOT.js";
46
- import "../chunk-VYKXRSHU.js";
37
+ import "../chunk-GM4UEZDE.js";
38
+ import "../chunk-PYXXL7N7.js";
47
39
  import "../chunk-ZKGWHT56.js";
48
- import "../chunk-KBHK2WNO.js";
49
40
  import "../chunk-WT4RI36X.js";
50
41
  import "../chunk-E23LNUWJ.js";
51
42
  import "../chunk-TDF2XKLK.js";
@@ -53,13 +44,13 @@ import "../chunk-EIKATSE4.js";
53
44
  import "../chunk-MJCSEIFI.js";
54
45
  import "../chunk-QDMZ5DX2.js";
55
46
  import "../chunk-HME6ITKV.js";
56
- import "../chunk-HFXBL7XE.js";
47
+ import "../chunk-QSW5DHMZ.js";
57
48
  import "../chunk-VI4ATC6I.js";
58
49
  import "../chunk-A27Q27CT.js";
59
50
  import "../chunk-6L4VIYLZ.js";
60
- import "../chunk-SA66WRBT.js";
51
+ import "../chunk-JGBYZTWH.js";
61
52
  import "../chunk-T5SM4RXY.js";
62
- import "../chunk-FJKUFMNF.js";
53
+ import "../chunk-CFFSHBQF.js";
63
54
  import {
64
55
  DEFAULT_MODELS,
65
56
  getAgentRuntime,
@@ -68,7 +59,7 @@ import {
68
59
  validateRuntimeModel
69
60
  } from "../chunk-IVXELUEQ.js";
70
61
  import "../chunk-AM7S2TY6.js";
71
- import "../chunk-EIM7OGTD.js";
62
+ import "../chunk-2BOLFLAU.js";
72
63
  import "../chunk-WJWRQQMS.js";
73
64
  import "../chunk-PCV52RYM.js";
74
65
  import "../chunk-BTSWFMEH.js";
@@ -77,8 +68,7 @@ import "../chunk-IMYGYIAI.js";
77
68
  import "../chunk-NLEW62VC.js";
78
69
  import "../chunk-3DAEZILW.js";
79
70
  import "../chunk-DRTJCG6B.js";
80
- import "../chunk-4Q7H3TO7.js";
81
- import "../chunk-HYZV25LY.js";
71
+ import "../chunk-TVWYMOZ4.js";
82
72
  import "../chunk-CVYC6DUW.js";
83
73
  import "../chunk-GJV3WDWM.js";
84
74
  import "../chunk-YRUZK2QA.js";
@@ -89,11 +79,11 @@ import {
89
79
  loadEmployees,
90
80
  loadEmployeesSync,
91
81
  normalizeRole
92
- } from "../chunk-3MDUKF3N.js";
82
+ } from "../chunk-L5JFVK5T.js";
93
83
  import "../chunk-BBMTVAE3.js";
94
84
  import "../chunk-TKDITWDN.js";
95
- import "../chunk-YUAOQJVV.js";
96
- import "../chunk-OE7TAEOG.js";
85
+ import "../chunk-SINIRUYZ.js";
86
+ import "../chunk-6777GNWI.js";
97
87
  import "../chunk-7FE43JRU.js";
98
88
  import "../chunk-5YEUPUV4.js";
99
89
  import "../chunk-YYB5PMTK.js";
@@ -104,10 +94,10 @@ import "../chunk-QH5ZQ5SJ.js";
104
94
  import "../chunk-ZQEJ4IX2.js";
105
95
  import "../chunk-C7GHNJPW.js";
106
96
  import "../chunk-UWGQNJIE.js";
107
- import "../chunk-KIJRAZWR.js";
108
- import "../chunk-DIKLSAJE.js";
97
+ import "../chunk-4J77TCTX.js";
98
+ import "../chunk-EOWJXCYC.js";
109
99
  import "../chunk-3R7UDPVR.js";
110
- import "../chunk-LDHJX4TZ.js";
100
+ import "../chunk-6D2O5SAH.js";
111
101
  import "../chunk-A7JYF4RG.js";
112
102
  import "../chunk-ARX6TAGN.js";
113
103
  import "../chunk-MMS2HBRT.js";
@@ -120,13 +110,138 @@ import "../chunk-JKKZGDLP.js";
120
110
  import "../chunk-MLKGABMK.js";
121
111
 
122
112
  // src/bin/exe-launch-agent.ts
123
- import os from "os";
124
- import path from "path";
113
+ import os2 from "os";
114
+ import path2 from "path";
125
115
  import { createHash } from "crypto";
126
- import { existsSync, readFileSync, mkdirSync, readdirSync, statSync } from "fs";
116
+ import { existsSync as existsSync2, readFileSync as readFileSync2, mkdirSync as mkdirSync2, readdirSync, statSync } from "fs";
127
117
  import { fileURLToPath } from "url";
128
118
  import { spawn as spawnAsync } from "child_process";
119
+
120
+ // src/lib/cc-help-cache.ts
129
121
  import { execSync } from "child_process";
122
+ import { readFileSync, writeFileSync, existsSync, mkdirSync } from "fs";
123
+ import path from "path";
124
+ import os from "os";
125
+ var CACHE_DIR = path.join(os.homedir(), ".exe-os", "cache");
126
+ var _cached = null;
127
+ function getCcVersion() {
128
+ try {
129
+ const out = execSync("claude --version 2>/dev/null || echo unknown", {
130
+ encoding: "utf8",
131
+ timeout: 5e3
132
+ }).trim();
133
+ const m = out.match(/(\d+\.\d+\.\d+)/);
134
+ return m ? m[1] : "unknown";
135
+ } catch {
136
+ return "unknown";
137
+ }
138
+ }
139
+ function getCcHelpOutputCached() {
140
+ if (_cached !== null) return _cached;
141
+ const version = getCcVersion();
142
+ const cacheFile = path.join(CACHE_DIR, `cc-help-${version}.txt`);
143
+ if (existsSync(cacheFile)) {
144
+ try {
145
+ _cached = readFileSync(cacheFile, "utf8");
146
+ return _cached;
147
+ } catch {
148
+ }
149
+ }
150
+ let helpText = "";
151
+ try {
152
+ const result = execSync("claude --help 2>&1", {
153
+ encoding: "utf8",
154
+ timeout: 5e3
155
+ });
156
+ helpText = typeof result === "string" ? result : "";
157
+ } catch {
158
+ helpText = "";
159
+ }
160
+ try {
161
+ mkdirSync(CACHE_DIR, { recursive: true });
162
+ writeFileSync(cacheFile, helpText, "utf8");
163
+ } catch {
164
+ }
165
+ _cached = helpText;
166
+ return _cached;
167
+ }
168
+ function _resetCcHelpCache() {
169
+ _cached = null;
170
+ }
171
+
172
+ // src/lib/cc-agent-support.ts
173
+ function _resetCcAgentSupportCache() {
174
+ _resetCcHelpCache();
175
+ }
176
+ function claudeSupportsAgentFlag() {
177
+ return /(^|\s)--agent(\b|=)/.test(getCcHelpOutputCached());
178
+ }
179
+
180
+ // src/bin/exe-launch-agent.ts
181
+ import { execSync as execSync2 } from "child_process";
182
+
183
+ // src/lib/provider-table.ts
184
+ var PROVIDER_TABLE = {
185
+ opencode: {
186
+ baseUrl: "https://opencode.ai/zen/go",
187
+ apiKeyEnv: "OPENCODE_API_KEY",
188
+ defaultModel: "kimi-k2.7-code"
189
+ },
190
+ glm: {
191
+ baseUrl: "https://api.z.ai/api/anthropic",
192
+ apiKeyEnv: "ZAI_API_KEY",
193
+ defaultModel: "glm-5.3",
194
+ authVar: "ANTHROPIC_AUTH_TOKEN",
195
+ apiKeyFallbackFile: ".glm-mcp/config.json",
196
+ contextByModel: {
197
+ // glm-5.3 released 2026-08-14 (confirmed real via
198
+ // api.z.ai/api/paas/v4/models — Z.ai's endpoint validates model ids and
199
+ // this one isn't rejected). Z.ai's model-list/model-detail endpoints
200
+ // don't expose context length via API, so this 1M figure is founder-
201
+ // confirmed (2026-08-24), not independently API-verified — if that
202
+ // ever turns out wrong, don't silently "fix" it back down, ask first.
203
+ "glm-5.3": 1e6,
204
+ "glm-5.2": 1e6,
205
+ "glm-5": 2e5,
206
+ "glm-5-turbo": 2e5,
207
+ "glm-4.7": 2e5,
208
+ "glm-4.7-flash": 2e5
209
+ }
210
+ },
211
+ kimi: {
212
+ // Kimi subscription via kimi-proxy (~/.kimi-code/kimi-proxy.mjs, launchd
213
+ // com.exeai.kimi-proxy, port 8791). The subscription API
214
+ // https://api.kimi.ai/coding/v1/messages speaks NATIVE Anthropic protocol
215
+ // but authenticates with the Kimi CLI's OAuth token (15-min expiry,
216
+ // refresh via auth.kimi.ai/v1/oauth/token — client_id 17e5f671-…,
217
+ // anthropic-beta oauth-2025-04-20; extracted from @moonshot-ai/kimi-code
218
+ // 2.0.2 dist/main.mjs). The proxy handles refresh + Cloudflare UA
219
+ // fingerprinting (upstream 403s any non-kimi UA) and is a pure byte
220
+ // passthrough, so Claude Code just points at 127.0.0.1:8791 and CC's
221
+ // /v1/messages lands on /coding/v1/messages. Verified E2E 2026-09-22.
222
+ //
223
+ // Model ids are the Kimi Code registry's wire ids (NOT display names):
224
+ // kimi-for-coding = "K2.8 Preview" (1M context, default per founder
225
+ // 2026-09-22), kimi-for-coding-highspeed = "K2.7 Code Highspeed" (256k),
226
+ // k3-256k. K3's 1M variant (wire id "k3") is deliberately NOT declared —
227
+ // founder policy 2026-09-22: never use K3 1M, it burns 2x tokens; K3
228
+ // work goes through k3-256k. The fallback api-key.json exists only to
229
+ // satisfy the launcher's key check — the proxy owns real credentials.
230
+ baseUrl: "http://127.0.0.1:8791",
231
+ apiKeyEnv: "KIMI_API_KEY",
232
+ defaultModel: "kimi-for-coding",
233
+ authVar: "ANTHROPIC_AUTH_TOKEN",
234
+ apiKeyFallbackFile: ".kimi-code/api-key.json",
235
+ contextByModel: {
236
+ "kimi-for-coding": 1e6,
237
+ "kimi-for-coding-highspeed": 262144,
238
+ "k3-256k": 262144
239
+ }
240
+ }
241
+ };
242
+ var DEFAULT_PROVIDER = "default";
243
+
244
+ // src/bin/exe-launch-agent.ts
130
245
  function getKnownAgents() {
131
246
  try {
132
247
  return loadEmployeesSync().map((e) => e.name);
@@ -144,7 +259,7 @@ function parseBasename(basename) {
144
259
  return { agent, provider };
145
260
  }
146
261
  function resolveAgent(argv) {
147
- const invokedAs = path.basename(argv[1] ?? "");
262
+ const invokedAs = path2.basename(argv[1] ?? "");
148
263
  if (invokedAs && invokedAs !== "exe-launch-agent" && !invokedAs.endsWith(".js")) {
149
264
  const { agent: agent2, provider } = parseBasename(invokedAs.toLowerCase());
150
265
  return { agent: agent2, provider, passthrough: argv.slice(2) };
@@ -175,23 +290,23 @@ async function isKnownAgent(agent) {
175
290
  }
176
291
  }
177
292
  function identityPathFor(agent) {
178
- const dir = path.join(os.homedir(), ".exe-os", "identity");
179
- const exactPath = path.join(dir, `${agent}.md`);
180
- if (existsSync(exactPath)) return exactPath;
293
+ const dir = path2.join(os2.homedir(), ".exe-os", "identity");
294
+ const exactPath = path2.join(dir, `${agent}.md`);
295
+ if (existsSync2(exactPath)) return exactPath;
181
296
  try {
182
297
  const files = readdirSync(dir);
183
298
  const match = files.find((f) => f.toLowerCase() === `${agent.toLowerCase()}.md`);
184
- if (match) return path.join(dir, match);
299
+ if (match) return path2.join(dir, match);
185
300
  } catch {
186
301
  }
187
302
  const baseName = agent.replace(/\d+$/, "");
188
303
  if (baseName !== agent) {
189
- const basePath = path.join(dir, `${baseName}.md`);
190
- if (existsSync(basePath)) return basePath;
304
+ const basePath = path2.join(dir, `${baseName}.md`);
305
+ if (existsSync2(basePath)) return basePath;
191
306
  try {
192
307
  const files = readdirSync(dir);
193
308
  const match = files.find((f) => f.toLowerCase() === `${baseName.toLowerCase()}.md`);
194
- if (match) return path.join(dir, match);
309
+ if (match) return path2.join(dir, match);
195
310
  } catch {
196
311
  }
197
312
  }
@@ -252,13 +367,13 @@ function collectAllMcpServers() {
252
367
  if (_mcpServerCache) return _mcpServerCache;
253
368
  const servers = {};
254
369
  const sources = [
255
- path.join(os.homedir(), ".claude.json"),
256
- path.join(os.homedir(), ".claude", "settings.json")
370
+ path2.join(os2.homedir(), ".claude.json"),
371
+ path2.join(os2.homedir(), ".claude", "settings.json")
257
372
  ];
258
373
  for (const src of sources) {
259
374
  try {
260
- if (!existsSync(src)) continue;
261
- const data = JSON.parse(readFileSync(src, "utf-8"));
375
+ if (!existsSync2(src)) continue;
376
+ const data = JSON.parse(readFileSync2(src, "utf-8"));
262
377
  const block = data.mcpServers;
263
378
  if (!block) continue;
264
379
  for (const [name, cfg] of Object.entries(block)) {
@@ -309,24 +424,24 @@ function generateLeanMcpConfig(agent, role) {
309
424
  const leanServers = selectScopedMcpServers(allServers, agent, role);
310
425
  if (!leanServers) return null;
311
426
  if (!leanServers["exe-mem"]) {
312
- const packageRoot = path.resolve(path.dirname(new URL(import.meta.url).pathname), "..", "..");
427
+ const packageRoot = path2.resolve(path2.dirname(new URL(import.meta.url).pathname), "..", "..");
313
428
  leanServers["exe-mem"] = {
314
429
  type: "stdio",
315
430
  command: "node",
316
- args: [path.join(packageRoot, "dist", "mcp", "server.js")],
431
+ args: [path2.join(packageRoot, "dist", "mcp", "server.js")],
317
432
  env: {}
318
433
  };
319
434
  }
320
- const configDir = path.join(os.homedir(), ".exe-os", "mcp-configs");
321
- mkdirSync(configDir, { recursive: true });
322
- const configPath = path.join(configDir, `${agent}-lean.json`);
435
+ const configDir = path2.join(os2.homedir(), ".exe-os", "mcp-configs");
436
+ mkdirSync2(configDir, { recursive: true });
437
+ const configPath = path2.join(configDir, `${agent}-lean.json`);
323
438
  const hashPath = configPath + ".generated-hash";
324
439
  const newContent = JSON.stringify({ mcpServers: leanServers }, null, 2);
325
440
  const newHash = createHash("sha256").update(newContent).digest("hex").slice(0, 16);
326
- if (existsSync(configPath)) {
441
+ if (existsSync2(configPath)) {
327
442
  try {
328
- const currentContent = readFileSync(configPath, "utf-8");
329
- const lastGeneratedHash = existsSync(hashPath) ? readFileSync(hashPath, "utf-8").trim() : "";
443
+ const currentContent = readFileSync2(configPath, "utf-8");
444
+ const lastGeneratedHash = existsSync2(hashPath) ? readFileSync2(hashPath, "utf-8").trim() : "";
330
445
  const currentHash = createHash("sha256").update(currentContent).digest("hex").slice(0, 16);
331
446
  if (lastGeneratedHash && currentHash !== lastGeneratedHash) {
332
447
  process.stderr.write(
@@ -367,8 +482,8 @@ function leanMcpConfigFor(agent) {
367
482
  } catch {
368
483
  }
369
484
  if (!leanMcpEnabled() && !hasPerAgentMcps) return null;
370
- const p = path.join(os.homedir(), ".exe-os", "mcp-configs", `${agent}-lean.json`);
371
- return existsSync(p) ? p : null;
485
+ const p = path2.join(os2.homedir(), ".exe-os", "mcp-configs", `${agent}-lean.json`);
486
+ return existsSync2(p) ? p : null;
372
487
  }
373
488
  function ccSupportsFlag(flag) {
374
489
  return getCcHelpOutputCached().includes(flag);
@@ -476,39 +591,39 @@ function buildLaunchPlan(agent, behaviorsPath, passthrough, _hasAgentFlag, _prov
476
591
  if (configuredEffort) args.push("--effort", configuredEffort);
477
592
  }
478
593
  const idPath = identityPathFor(agent);
479
- const ccAgentPath = path.join(os.homedir(), ".claude", "agents", `${agent}.md`);
594
+ const ccAgentPath = path2.join(os2.homedir(), ".claude", "agents", `${agent}.md`);
480
595
  let effectiveCcPath = null;
481
- if (existsSync(ccAgentPath)) {
596
+ if (existsSync2(ccAgentPath)) {
482
597
  effectiveCcPath = ccAgentPath;
483
598
  } else {
484
599
  try {
485
- const ccAgentDir = path.join(os.homedir(), ".claude", "agents");
600
+ const ccAgentDir = path2.join(os2.homedir(), ".claude", "agents");
486
601
  const ccFiles = readdirSync(ccAgentDir);
487
602
  const ccMatch = ccFiles.find((f) => f.toLowerCase() === `${agent.toLowerCase()}.md`);
488
- if (ccMatch) effectiveCcPath = path.join(ccAgentDir, ccMatch);
603
+ if (ccMatch) effectiveCcPath = path2.join(ccAgentDir, ccMatch);
489
604
  } catch {
490
605
  }
491
606
  }
492
- const effectiveIdPath = existsSync(idPath) ? idPath : effectiveCcPath;
607
+ const effectiveIdPath = existsSync2(idPath) ? idPath : effectiveCcPath;
493
608
  let identityContent = null;
494
- if (effectiveIdPath && existsSync(effectiveIdPath)) {
609
+ if (effectiveIdPath && existsSync2(effectiveIdPath)) {
495
610
  try {
496
- const content = readFileSync(effectiveIdPath, "utf-8");
611
+ const content = readFileSync2(effectiveIdPath, "utf-8");
497
612
  if (content.trim().length > 0) identityContent = content;
498
613
  } catch {
499
614
  }
500
615
  }
501
616
  if (!identityContent) {
502
617
  try {
503
- const rosterPath = path.join(os.homedir(), ".exe-os", "exe-employees.json");
504
- if (existsSync(rosterPath)) {
505
- const roster = JSON.parse(readFileSync(rosterPath, "utf8"));
618
+ const rosterPath = path2.join(os2.homedir(), ".exe-os", "exe-employees.json");
619
+ if (existsSync2(rosterPath)) {
620
+ const roster = JSON.parse(readFileSync2(rosterPath, "utf8"));
506
621
  const emp = roster.find((e) => e.name.toLowerCase() === agent.toLowerCase());
507
622
  if (emp?.systemPrompt && emp.systemPrompt.trim().length > 20) {
508
623
  identityContent = emp.systemPrompt;
509
624
  try {
510
- const dir = path.dirname(idPath);
511
- if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
625
+ const dir = path2.dirname(idPath);
626
+ if (!existsSync2(dir)) mkdirSync2(dir, { recursive: true });
512
627
  const hasFrontmatter = identityContent.trimStart().startsWith("---");
513
628
  const baseContent = hasFrontmatter ? identityContent : `---
514
629
  role: ${normalizeRole(emp.role ?? "employee")}
@@ -555,15 +670,15 @@ ${renderedPrompt}` : renderedPrompt
555
670
  );
556
671
  } else {
557
672
  try {
558
- const tmpPath = path.join(os.homedir(), ".exe-os", "session-cache", `${agent}-identity.md`);
559
- mkdirSync(path.dirname(tmpPath), { recursive: true });
673
+ const tmpPath = path2.join(os2.homedir(), ".exe-os", "session-cache", `${agent}-identity.md`);
674
+ mkdirSync2(path2.dirname(tmpPath), { recursive: true });
560
675
  atomicWriteSync(tmpPath, identityContent);
561
676
  args.push("--append-system-prompt-file", tmpPath);
562
677
  } catch {
563
678
  }
564
679
  }
565
680
  }
566
- if (behaviorsPath && existsSync(behaviorsPath)) {
681
+ if (behaviorsPath && existsSync2(behaviorsPath)) {
567
682
  args.push("--append-system-prompt-file", behaviorsPath);
568
683
  }
569
684
  const leanMcp = leanMcpConfigFor(agent);
@@ -588,7 +703,7 @@ ${renderedPrompt}` : renderedPrompt
588
703
  if (!hasUserPrompt) {
589
704
  try {
590
705
  const employees = JSON.parse(
591
- readFileSync(path.join(os.homedir(), ".exe-os", "exe-employees.json"), "utf-8")
706
+ readFileSync2(path2.join(os2.homedir(), ".exe-os", "exe-employees.json"), "utf-8")
592
707
  );
593
708
  const emp = employees.find(
594
709
  (e) => e.name.toLowerCase() === baseAgentName(agent).toLowerCase()
@@ -602,16 +717,16 @@ ${renderedPrompt}` : renderedPrompt
602
717
  return { command: "claude", args };
603
718
  }
604
719
  function behaviorsExportDir() {
605
- return path.join(os.homedir(), ".exe-os", "behaviors-export");
720
+ return path2.join(os2.homedir(), ".exe-os", "behaviors-export");
606
721
  }
607
722
  function behaviorsExportPathFor(agent) {
608
- return path.join(behaviorsExportDir(), `${agent}.md`);
723
+ return path2.join(behaviorsExportDir(), `${agent}.md`);
609
724
  }
610
725
  function spawnBehaviorsRefresh(agent) {
611
726
  if (process.env.EXE_SKIP_BEHAVIORS_REFRESH === "1") return;
612
727
  try {
613
728
  const sibling = fileURLToPath(new URL("./exe-export-behaviors.js", import.meta.url));
614
- const hasSibling = existsSync(sibling);
729
+ const hasSibling = existsSync2(sibling);
615
730
  const child = spawnAsync(
616
731
  hasSibling ? process.execPath : "exe-export-behaviors",
617
732
  hasSibling ? [sibling, agent, ""] : [agent, ""],
@@ -625,14 +740,14 @@ async function resolveBehaviorsPath(agent) {
625
740
  const stable = behaviorsExportPathFor(agent);
626
741
  let cached = null;
627
742
  try {
628
- if (existsSync(stable) && statSync(stable).size > 0) cached = stable;
743
+ if (existsSync2(stable) && statSync(stable).size > 0) cached = stable;
629
744
  } catch {
630
745
  }
631
746
  if (cached) {
632
747
  let spawnPath = cached;
633
748
  try {
634
- const snapshot = path.join(behaviorsExportDir(), `${agent}-boot.md`);
635
- atomicWriteSync(snapshot, readFileSync(cached, "utf-8"));
749
+ const snapshot = path2.join(behaviorsExportDir(), `${agent}-boot.md`);
750
+ atomicWriteSync(snapshot, readFileSync2(cached, "utf-8"));
636
751
  spawnPath = snapshot;
637
752
  } catch {
638
753
  }
@@ -699,10 +814,10 @@ async function buildTaskBootPrompt(agentId, role) {
699
814
  }
700
815
  function loadApiKeyFallback(cfg) {
701
816
  if (!cfg.apiKeyFallbackFile) return null;
702
- const filePath = path.join(os.homedir(), cfg.apiKeyFallbackFile);
703
- if (!existsSync(filePath)) return null;
817
+ const filePath = path2.join(os2.homedir(), cfg.apiKeyFallbackFile);
818
+ if (!existsSync2(filePath)) return null;
704
819
  try {
705
- const parsed = JSON.parse(readFileSync(filePath, "utf8"));
820
+ const parsed = JSON.parse(readFileSync2(filePath, "utf8"));
706
821
  const key = parsed?.apiKey;
707
822
  return typeof key === "string" && key.trim() ? key.trim() : null;
708
823
  } catch {
@@ -747,23 +862,62 @@ function _getCompanyProceduresLoadFailedForTests() {
747
862
  }
748
863
  var COMPANY_PROCEDURES_NOT_LOADED_LINE = "\u26A0 Company procedures NOT loaded; run config company_procedure list";
749
864
  async function warmCompanyProceduresCache() {
865
+ let reason;
750
866
  try {
751
- const { fastDbInit: fastDbInit2, isNoopFastDbClient } = await import("../fast-db-init-SD7JZSEC.js");
867
+ const { fastDbInit: fastDbInit2, isNoopFastDbClient } = await import("../fast-db-init-TFRTK6EH.js");
752
868
  const client = await fastDbInit2({ daemonOnly: true, caller: "cli" });
753
869
  if (isNoopFastDbClient(client)) {
754
- companyProceduresLoadFailed = true;
755
- process.stderr.write(
756
- `[exe-launch-agent] WARN: daemon unavailable \u2014 skipping company-procedures load (no direct DB open). ${COMPANY_PROCEDURES_NOT_LOADED_LINE}
870
+ reason = "daemon unavailable \u2014 fastDbInit degraded to its no-op client (no direct DB open)";
871
+ } else {
872
+ const { loadGlobalProcedures } = await import("../global-procedures-PYNE2BQG.js");
873
+ reason = await loadWithOneRetry(loadGlobalProcedures);
874
+ }
875
+ } catch (err) {
876
+ reason = await describeLoadFailure(err);
877
+ }
878
+ if (reason === null) return;
879
+ let snap = null;
880
+ try {
881
+ const { loadCompanyProceduresSnapshot } = await import("../global-procedures-PYNE2BQG.js");
882
+ snap = loadCompanyProceduresSnapshot();
883
+ } catch {
884
+ }
885
+ if (snap) {
886
+ process.stderr.write(
887
+ `[exe-launch-agent] WARN: company-procedures live load failed (${reason}); using last-known-good snapshot from ${snap.loadedAt} (${snap.count} procedures)
757
888
  `
758
- );
759
- return;
889
+ );
890
+ return;
891
+ }
892
+ companyProceduresLoadFailed = true;
893
+ process.stderr.write(
894
+ `[exe-launch-agent] WARN: ${reason}. No company-procedures snapshot available. ${COMPANY_PROCEDURES_NOT_LOADED_LINE}
895
+ `
896
+ );
897
+ }
898
+ var PROCEDURES_RETRY_DELAY_MS = 300;
899
+ async function loadWithOneRetry(load) {
900
+ try {
901
+ await load();
902
+ return null;
903
+ } catch (first) {
904
+ const { classifyProceduresLoadError } = await import("../global-procedures-PYNE2BQG.js");
905
+ if (classifyProceduresLoadError(first) !== "no-client") return describeLoadFailure(first);
906
+ await new Promise((resolve) => setTimeout(resolve, PROCEDURES_RETRY_DELAY_MS));
907
+ try {
908
+ await load();
909
+ return null;
910
+ } catch (second) {
911
+ return `${await describeLoadFailure(second)} (after 1 retry)`;
760
912
  }
761
- const { loadGlobalProcedures } = await import("../global-procedures-T3RKI4QX.js");
762
- await loadGlobalProcedures();
913
+ }
914
+ }
915
+ async function describeLoadFailure(err) {
916
+ try {
917
+ const { classifyProceduresLoadError, describeError } = await import("../global-procedures-PYNE2BQG.js");
918
+ return `company-procedures load ${classifyProceduresLoadError(err)}: ${describeError(err)}`;
763
919
  } catch {
764
- companyProceduresLoadFailed = true;
765
- process.stderr.write(`[exe-launch-agent] WARN: ${COMPANY_PROCEDURES_NOT_LOADED_LINE}
766
- `);
920
+ return `company-procedures load failed: ${err instanceof Error ? `${err.name}: ${err.message}` : String(err)}`;
767
921
  }
768
922
  }
769
923
  function resolveAnthropicModelPin(agentId, env) {
@@ -809,7 +963,7 @@ async function main() {
809
963
  }
810
964
  if (inTmux && (!process.env.EXE_SESSION_NAME || !process.env.EXE_SESSION)) {
811
965
  try {
812
- const tmuxSession = execSync("tmux display-message -p '#{session_name}'", {
966
+ const tmuxSession = execSync2("tmux display-message -p '#{session_name}'", {
813
967
  encoding: "utf8",
814
968
  stdio: ["pipe", "pipe", "pipe"],
815
969
  timeout: 3e3
@@ -838,26 +992,26 @@ async function main() {
838
992
  _resetCcAgentSupportCache();
839
993
  const hasAgentFlag = claudeSupportsAgentFlag();
840
994
  if (hasAgentFlag) {
841
- const ccAgentDir = path.join(os.homedir(), ".claude", "agents");
842
- const ccAgentFile = path.join(ccAgentDir, `${agent}.md`);
843
- if (!existsSync(ccAgentFile)) {
995
+ const ccAgentDir = path2.join(os2.homedir(), ".claude", "agents");
996
+ const ccAgentFile = path2.join(ccAgentDir, `${agent}.md`);
997
+ if (!existsSync2(ccAgentFile)) {
844
998
  const exeIdentity = identityPathFor(agent);
845
999
  let sourceFile = null;
846
- if (existsSync(exeIdentity)) {
1000
+ if (existsSync2(exeIdentity)) {
847
1001
  sourceFile = exeIdentity;
848
1002
  } else {
849
1003
  try {
850
- const identityDir = path.dirname(exeIdentity);
1004
+ const identityDir = path2.dirname(exeIdentity);
851
1005
  const files = readdirSync(identityDir);
852
1006
  const match = files.find((f) => f.toLowerCase() === `${agent.toLowerCase()}.md`);
853
- if (match) sourceFile = path.join(identityDir, match);
1007
+ if (match) sourceFile = path2.join(identityDir, match);
854
1008
  } catch {
855
1009
  }
856
1010
  }
857
1011
  if (sourceFile) {
858
1012
  try {
859
- mkdirSync(ccAgentDir, { recursive: true });
860
- let content = readFileSync(sourceFile, "utf-8");
1013
+ mkdirSync2(ccAgentDir, { recursive: true });
1014
+ let content = readFileSync2(sourceFile, "utf-8");
861
1015
  content = content.replace(/\$\{agent_id\}/g, baseAgentName(agent));
862
1016
  content = ensureAgentFrontmatter(content, baseAgentName(agent));
863
1017
  atomicWriteSync(ccAgentFile, content);
@@ -873,8 +1027,8 @@ async function main() {
873
1027
  const memoryAgent = baseAgentName(agent);
874
1028
  const empRole = (() => {
875
1029
  try {
876
- const emps = readFileSync(
877
- path.join(os.homedir(), ".exe-os", "exe-employees.json"),
1030
+ const emps = readFileSync2(
1031
+ path2.join(os2.homedir(), ".exe-os", "exe-employees.json"),
878
1032
  "utf-8"
879
1033
  );
880
1034
  const found = JSON.parse(emps).find(
@@ -902,7 +1056,7 @@ async function main() {
902
1056
  try {
903
1057
  const unscopedServers = collectAllMcpServers();
904
1058
  const allServers = leanMcpEnabled() || hasPerAgentMcps ? selectScopedMcpServers(unscopedServers, memoryAgent, empRole) ?? unscopedServers : unscopedServers;
905
- const { readOrCreateDaemonToken, mcpHttpUrl } = await import("../mcp-http-config-RJKTZPHZ.js");
1059
+ const { readOrCreateDaemonToken, mcpHttpUrl } = await import("../mcp-http-config-GKP5QGAO.js");
906
1060
  let currentDaemonToken = null;
907
1061
  try {
908
1062
  currentDaemonToken = readOrCreateDaemonToken();
@@ -929,9 +1083,9 @@ async function main() {
929
1083
  `
930
1084
  );
931
1085
  }
932
- const configDir = path.join(os.homedir(), ".exe-os", "mcp-configs");
933
- mkdirSync(configDir, { recursive: true });
934
- sessionMcpConfig = path.join(configDir, sessionMcpConfigFilename(sessionName));
1086
+ const configDir = path2.join(os2.homedir(), ".exe-os", "mcp-configs");
1087
+ mkdirSync2(configDir, { recursive: true });
1088
+ sessionMcpConfig = path2.join(configDir, sessionMcpConfigFilename(sessionName));
935
1089
  atomicWriteJsonSync(sessionMcpConfig, { mcpServers: built.servers });
936
1090
  process.stderr.write(
937
1091
  `[exe-launch-agent] session MCP config: ${sessionMcpConfig} (${Object.keys(built.servers).length} servers, session=${sessionName}, coordinator=${coordinatorSession})
@@ -980,7 +1134,7 @@ async function main() {
980
1134
  process.env.EXE_RUNTIME = "claude";
981
1135
  process.env.AGENT_ROLE = empRole;
982
1136
  try {
983
- const { writeActiveAgent } = await import("../active-agent-5AKPW2N7.js");
1137
+ const { writeActiveAgent } = await import("../active-agent-3YCLS7GB.js");
984
1138
  writeActiveAgent(memoryAgent, empRole);
985
1139
  } catch {
986
1140
  }