@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
@@ -2,10 +2,15 @@ import {
2
2
  exportOrchestration,
3
3
  importOrchestration,
4
4
  validatePackage
5
- } from "./chunk-HRYWB4TO.js";
5
+ } from "./chunk-JJZZXEAN.js";
6
6
  import {
7
7
  runDriftProbes
8
- } from "./chunk-IPANAGA3.js";
8
+ } from "./chunk-HDV2V25K.js";
9
+ import {
10
+ BugCensusError,
11
+ fetchBugCensus,
12
+ formatBugCensus
13
+ } from "./chunk-L6DCLZG7.js";
9
14
  import {
10
15
  candidateAdminOrgIds,
11
16
  departOrgToPersonalFreeTier,
@@ -13,7 +18,7 @@ import {
13
18
  orgAdminScopePresent,
14
19
  recordOrgAdminship,
15
20
  resolveTargetOrgId
16
- } from "./chunk-JJYAETCO.js";
21
+ } from "./chunk-6DMURUBY.js";
17
22
  import {
18
23
  registerAddBugReportComment,
19
24
  registerGetBugReport,
@@ -29,7 +34,7 @@ import {
29
34
  registerUpdateBugReport,
30
35
  resolveAttribution,
31
36
  verificationArtifactInputSchema
32
- } from "./chunk-4M24XCTI.js";
37
+ } from "./chunk-GATAYYAF.js";
33
38
  import {
34
39
  persistSupportArtifact,
35
40
  supportClusterClearableSchema,
@@ -39,12 +44,7 @@ import {
39
44
  supportProductSchema,
40
45
  supportTaskIdSchema,
41
46
  supportVersionSchema
42
- } from "./chunk-HK7HIDXP.js";
43
- import {
44
- BugCensusError,
45
- fetchBugCensus,
46
- formatBugCensus
47
- } from "./chunk-L6DCLZG7.js";
47
+ } from "./chunk-O3BLL6MY.js";
48
48
  import {
49
49
  queueSupportStatusUpdateSync
50
50
  } from "./chunk-L4ISXVC5.js";
@@ -58,13 +58,13 @@ import {
58
58
  normalizeTarget,
59
59
  releaseClaim,
60
60
  resolveHolderSession
61
- } from "./chunk-B3ISLIKE.js";
61
+ } from "./chunk-BLTXAUP6.js";
62
62
  import {
63
63
  StewardGate
64
- } from "./chunk-FZT4VQP7.js";
64
+ } from "./chunk-D6NZNUVH.js";
65
65
  import {
66
66
  promotedRulesDropped
67
- } from "./chunk-6EY6OFBC.js";
67
+ } from "./chunk-353XF4LU.js";
68
68
  import {
69
69
  DEFAULT_LIST_LIMIT,
70
70
  MAX_IMPORTANCE,
@@ -73,29 +73,29 @@ import {
73
73
  ingestDocument,
74
74
  listDocumentsByWorkspace,
75
75
  updateChunksImportance
76
- } from "./chunk-ZYOIH5NY.js";
76
+ } from "./chunk-3DXAJVXE.js";
77
77
  import {
78
78
  DreamingEngine
79
- } from "./chunk-LMF2YC5C.js";
79
+ } from "./chunk-2YFMBXUU.js";
80
80
  import {
81
81
  isRerankerAvailable,
82
82
  rerankWithScores
83
- } from "./chunk-FLO24BNN.js";
83
+ } from "./chunk-EULAP6L6.js";
84
84
  import {
85
85
  listRecentSessionEvents
86
- } from "./chunk-GRAMRMWS.js";
86
+ } from "./chunk-M6AX64J2.js";
87
87
  import {
88
88
  AUTO_WAKE_MAX_RETRIES
89
- } from "./chunk-G3ZYXXO7.js";
89
+ } from "./chunk-N7POJZJT.js";
90
90
  import {
91
91
  DEFAULT_EXPLORE_DURATION_MS,
92
92
  getPlayMode,
93
93
  listExploreSessions,
94
94
  setPlayMode
95
- } from "./chunk-KPLMY2GT.js";
95
+ } from "./chunk-HUHR5CKJ.js";
96
96
  import {
97
97
  getToolUsageStats
98
- } from "./chunk-YBB43SXC.js";
98
+ } from "./chunk-J635FA7T.js";
99
99
  import {
100
100
  getToolCapabilityIndex
101
101
  } from "./chunk-KDTM7TD6.js";
@@ -116,11 +116,11 @@ import {
116
116
  import {
117
117
  getCachedLicenseGate,
118
118
  refreshLicenseGate
119
- } from "./chunk-7P2TDFZL.js";
119
+ } from "./chunk-Z3LGAFMG.js";
120
120
  import {
121
121
  assertOrgPartnerRuntimeReady,
122
122
  orgPartnerRuntimeStatus
123
- } from "./chunk-7I6KVKFF.js";
123
+ } from "./chunk-JAIZCE6W.js";
124
124
  import {
125
125
  createMailboxInboxPoller,
126
126
  getMailboxInboxState
@@ -131,26 +131,26 @@ import {
131
131
  listSentBriefs,
132
132
  reviewOpenDraft,
133
133
  sendOpenDraft
134
- } from "./chunk-YLWKWEJJ.js";
134
+ } from "./chunk-O6KQAJCC.js";
135
135
  import {
136
136
  OrgAdminError,
137
137
  createOrg,
138
138
  issueSeatInvite
139
- } from "./chunk-NK4JHJNP.js";
139
+ } from "./chunk-TCBWHLKH.js";
140
140
  import {
141
141
  deriveOrgKeyIdentities
142
- } from "./chunk-6RRPVE5O.js";
142
+ } from "./chunk-A5I2GYVQ.js";
143
143
  import {
144
144
  MemberKeyAlreadyBoundError,
145
145
  MemberKeyError,
146
146
  bindMemberKey,
147
147
  getMemberKeyStatus
148
- } from "./chunk-IZ24HRDC.js";
148
+ } from "./chunk-JNULO6I5.js";
149
149
  import {
150
150
  InviteError,
151
151
  completeOrgJoin,
152
152
  fetchInviteOffer
153
- } from "./chunk-M4N7I2H5.js";
153
+ } from "./chunk-HA6BIZ6L.js";
154
154
  import {
155
155
  loadOrchestrationPhase,
156
156
  setOrchestrationPhase
@@ -164,12 +164,17 @@ import {
164
164
  requireOrgPartnerBinding,
165
165
  resolveOrgPartnerBindings,
166
166
  resolvePartnerIdentities
167
- } from "./chunk-WYNIWJRN.js";
167
+ } from "./chunk-CJ6CS2IH.js";
168
168
  import {
169
169
  ORG_KEY_FP_DISPLAY_LEN,
170
170
  orgKeyPinConfirmation,
171
171
  readOrgKeyPin
172
- } from "./chunk-XFGS22VE.js";
172
+ } from "./chunk-6PXFF6IV.js";
173
+ import {
174
+ formatIdentityContradictionWarning,
175
+ generateAgentDefs,
176
+ lintIdentityContradictions
177
+ } from "./chunk-XDOCXKHW.js";
173
178
  import {
174
179
  getEntityByName,
175
180
  getEntityNeighbors,
@@ -177,10 +182,10 @@ import {
177
182
  getHotEntities,
178
183
  getRelationships,
179
184
  searchEntities
180
- } from "./chunk-YG4DZZ6J.js";
185
+ } from "./chunk-SKSXROKP.js";
181
186
  import {
182
187
  createOrRefreshResumeTask
183
- } from "./chunk-QK3Z4TKQ.js";
188
+ } from "./chunk-Q6KUBP6R.js";
184
189
  import {
185
190
  PAYLOAD_CAPS,
186
191
  STRUCTURED_BRIEF_TYPES,
@@ -203,10 +208,10 @@ import {
203
208
  setAutoAcceptPolicy,
204
209
  setAutoSendPolicy,
205
210
  withExclusiveLock
206
- } from "./chunk-DACRR362.js";
211
+ } from "./chunk-XQ7BIVLI.js";
207
212
  import {
208
213
  displayFingerprint
209
- } from "./chunk-GPWXUU3L.js";
214
+ } from "./chunk-MZNLQC6W.js";
210
215
  import {
211
216
  flushMailboxOutbox,
212
217
  getMailboxOutboxStatus,
@@ -214,67 +219,67 @@ import {
214
219
  listFailureNotices,
215
220
  queueMailboxDeposit
216
221
  } from "./chunk-3FGBBJYM.js";
222
+ import {
223
+ registerCompleteReminder
224
+ } from "./chunk-EWDBWOCX.js";
217
225
  import {
218
226
  registerDeactivateBehavior
219
- } from "./chunk-IURGBN5B.js";
227
+ } from "./chunk-ZZR2WRNW.js";
220
228
  import {
221
229
  registerSendMessage,
222
230
  resolveMessageTarget
223
- } from "./chunk-HUMNRJZE.js";
231
+ } from "./chunk-RJIH7JXM.js";
224
232
  import {
225
- isTmuxDispatchAllowed,
226
233
  registerCreateTask,
227
- resolveProjectDir,
228
- tmuxDispatchRefusal
229
- } from "./chunk-BIV4IHED.js";
234
+ resolveProjectDir
235
+ } from "./chunk-JW5NUXPN.js";
230
236
  import {
231
237
  registerListTasks
232
- } from "./chunk-C426MZMD.js";
238
+ } from "./chunk-2YGBJHC2.js";
233
239
  import {
234
240
  registerUpdateTask
235
- } from "./chunk-DM4VTXM6.js";
241
+ } from "./chunk-2EYVXUGA.js";
236
242
  import {
237
243
  registerCreateReminder
238
- } from "./chunk-SYUJCVJG.js";
244
+ } from "./chunk-7PDZBPGW.js";
239
245
  import {
240
246
  registerListReminders
241
- } from "./chunk-E2Z3F26R.js";
242
- import {
243
- registerCompleteReminder
244
- } from "./chunk-4W7Y67B5.js";
247
+ } from "./chunk-FUDXITKX.js";
245
248
  import {
246
249
  completeReminder,
247
250
  createReminder,
248
251
  formatAmbiguousReminder,
249
252
  listReminders
250
- } from "./chunk-W2VDJKTB.js";
253
+ } from "./chunk-RYYFFCJG.js";
251
254
  import {
252
255
  registerImportConversations
253
- } from "./chunk-HNGAM3U4.js";
256
+ } from "./chunk-657I6PUF.js";
254
257
  import {
255
258
  TOKENS_PER_IDLE_MINUTE,
256
259
  countKillsSince,
257
260
  sumTokensSavedSince
258
- } from "./chunk-HFSFWMID.js";
261
+ } from "./chunk-3GGMHSY2.js";
259
262
  import {
260
263
  createSchedule,
261
264
  parseHumanCron
262
- } from "./chunk-UXJAW4IQ.js";
265
+ } from "./chunk-J6U4ZR77.js";
263
266
  import {
264
267
  status
265
- } from "./chunk-RZ23QQCI.js";
268
+ } from "./chunk-7HLAYQRG.js";
266
269
  import {
267
270
  evaluateGlobalSpendCap,
268
271
  getAgentSpend
269
- } from "./chunk-7LTAA55U.js";
272
+ } from "./chunk-CRW63CDI.js";
270
273
  import {
271
274
  exportGraphHTML,
272
275
  generateGraphReport
273
276
  } from "./chunk-3OEVDGIY.js";
274
277
  import {
278
+ captureDaemonStall,
279
+ probeDaemonServing,
275
280
  readSupervisionState,
276
281
  runHealthCheck
277
- } from "./chunk-23XUZHB7.js";
282
+ } from "./chunk-IHAXXDBH.js";
278
283
  import {
279
284
  checkCpuStealSync
280
285
  } from "./chunk-SSC7EKY2.js";
@@ -286,16 +291,16 @@ import {
286
291
  formatReport,
287
292
  runAudit,
288
293
  shouldFixShards
289
- } from "./chunk-T2PAFWRK.js";
294
+ } from "./chunk-X4FHT6ST.js";
290
295
  import {
291
296
  formatDegradations,
292
297
  getRetrievalHealth
293
- } from "./chunk-ME733Y2F.js";
298
+ } from "./chunk-QOFQY7BJ.js";
294
299
  import {
295
300
  hasFailures,
296
301
  runHealth,
297
302
  runTest
298
- } from "./chunk-QUK3UDZV.js";
303
+ } from "./chunk-OHHZNNUD.js";
299
304
  import {
300
305
  isSupportReportSentStatus,
301
306
  markSupportReportSent
@@ -307,25 +312,25 @@ import {
307
312
  } from "./chunk-6QBBJJK2.js";
308
313
  import {
309
314
  renderClientCOOTemplate
310
- } from "./chunk-R6CKQLEA.js";
315
+ } from "./chunk-TS4LSNRI.js";
311
316
  import {
312
317
  deactivateGlobalProcedure,
313
318
  loadGlobalProcedures,
314
319
  storeGlobalProcedure
315
- } from "./chunk-KCRSJ3VU.js";
320
+ } from "./chunk-HDQAVAV6.js";
316
321
  import {
317
322
  PLATFORM_PROCEDURES
318
- } from "./chunk-NVM3SKJ4.js";
323
+ } from "./chunk-4CN3EE6U.js";
319
324
  import {
320
325
  countUnconsolidated,
321
326
  groupMemories,
322
327
  runConsolidation,
323
328
  selectUnconsolidated
324
- } from "./chunk-Q4GS5VW7.js";
329
+ } from "./chunk-5BWDUUMH.js";
325
330
  import {
326
331
  entityId,
327
332
  mergeEntities
328
- } from "./chunk-XGPBHKU3.js";
333
+ } from "./chunk-HTFM7ZDD.js";
329
334
  import {
330
335
  beginCloudReupload,
331
336
  clearCloudReuploadRequired,
@@ -334,18 +339,18 @@ import {
334
339
  getCloudReuploadInProgress,
335
340
  getCloudReuploadRequired,
336
341
  markCloudReuploadIncomplete
337
- } from "./chunk-4O7OUBEX.js";
342
+ } from "./chunk-GZVFHFO3.js";
338
343
  import {
339
344
  orgMembershipPresent,
340
345
  readActiveOrgMemberships
341
- } from "./chunk-K7DAE2HO.js";
346
+ } from "./chunk-LLZUL7M2.js";
342
347
  import {
343
348
  createARecord
344
349
  } from "./chunk-X2Z5GT3V.js";
345
350
  import {
346
351
  findSimilarTrajectories,
347
352
  hashSignature
348
- } from "./chunk-DE2V7547.js";
353
+ } from "./chunk-NCNT2C2P.js";
349
354
  import {
350
355
  BEHAVIOR_CONTENT_MAX_LENGTH,
351
356
  GHOST_BEHAVIOR_SQL,
@@ -357,7 +362,7 @@ import {
357
362
  reactivateBehavior,
358
363
  storeBehavior,
359
364
  storeReflexBehavior
360
- } from "./chunk-F5ZRHLG5.js";
365
+ } from "./chunk-KEDZRQI3.js";
361
366
  import {
362
367
  embed
363
368
  } from "./chunk-Q3GMM6I7.js";
@@ -376,20 +381,20 @@ import {
376
381
  hybridSearch,
377
382
  isCapturedSearchCall,
378
383
  recentRecords
379
- } from "./chunk-NFNM64A7.js";
384
+ } from "./chunk-K2HIXAIF.js";
380
385
  import {
381
386
  buildFtsMatch,
382
387
  tokenizeForFts
383
- } from "./chunk-VMHZSZQJ.js";
388
+ } from "./chunk-3ARSKDHC.js";
384
389
  import {
385
390
  filterWikiRecallResults
386
- } from "./chunk-33PG3KNY.js";
391
+ } from "./chunk-6NRZLVK3.js";
387
392
  import {
388
393
  attachDocumentMetadata,
389
394
  buildWikiScopeFilter,
390
395
  commitMemoryRecord,
391
396
  initStore
392
- } from "./chunk-APVU4Q5B.js";
397
+ } from "./chunk-LSHUX7P4.js";
393
398
  import {
394
399
  UPSTREAM_ATTACHMENT_MAX_CHARS,
395
400
  describeUpstreamFailure,
@@ -404,16 +409,19 @@ import {
404
409
  } from "./chunk-BYP3DOUU.js";
405
410
  import {
406
411
  updateTask
407
- } from "./chunk-IPBNHPTE.js";
412
+ } from "./chunk-IC2AONBH.js";
408
413
  import {
409
414
  fastDbInit
410
- } from "./chunk-EZQ4W3WW.js";
415
+ } from "./chunk-N45FAI6D.js";
416
+ import {
417
+ mcpHttpPort
418
+ } from "./chunk-27NG2NTG.js";
411
419
  import {
412
420
  MAX_CONCURRENT_WORKERS
413
421
  } from "./chunk-RJ67XAJU.js";
414
422
  import {
415
423
  getActiveAgent
416
- } from "./chunk-OISOA6NX.js";
424
+ } from "./chunk-GL5ZG72X.js";
417
425
  import {
418
426
  getMySession,
419
427
  isAmbiguousMultiCoordinatorContext,
@@ -421,15 +429,16 @@ import {
421
429
  resolveTask,
422
430
  sessionScopeFilter,
423
431
  strictSessionScopeFilter,
432
+ tmuxDispatchRefusal,
424
433
  updateTaskStatus,
425
434
  writeCheckpoint
426
- } from "./chunk-XAGIZVYI.js";
435
+ } from "./chunk-GM4UEZDE.js";
427
436
  import {
428
437
  listSessions
429
- } from "./chunk-HFXBL7XE.js";
438
+ } from "./chunk-QSW5DHMZ.js";
430
439
  import {
431
440
  recordOrchestrationEventBestEffort
432
- } from "./chunk-SA66WRBT.js";
441
+ } from "./chunk-JGBYZTWH.js";
433
442
  import {
434
443
  DEFAULT_MODELS,
435
444
  KNOWN_RUNTIMES,
@@ -443,7 +452,7 @@ import {
443
452
  assertEmployeeLimit,
444
453
  assertFeature,
445
454
  assertMemoryLimit
446
- } from "./chunk-EIM7OGTD.js";
455
+ } from "./chunk-2BOLFLAU.js";
447
456
  import {
448
457
  readDaemonToken
449
458
  } from "./chunk-PCV52RYM.js";
@@ -453,7 +462,7 @@ import {
453
462
  } from "./chunk-BTSWFMEH.js";
454
463
  import {
455
464
  getProjectName
456
- } from "./chunk-4Q7H3TO7.js";
465
+ } from "./chunk-TVWYMOZ4.js";
457
466
  import {
458
467
  getAgentContext
459
468
  } from "./chunk-GJV3WDWM.js";
@@ -468,12 +477,13 @@ import {
468
477
  isScheduledTrigger,
469
478
  loadTriggers,
470
479
  sanitizeParam
471
- } from "./chunk-CLV7ALXV.js";
480
+ } from "./chunk-CFO47VW4.js";
472
481
  import {
473
482
  pushConversationToCRM
474
483
  } from "./chunk-ML4S5SHZ.js";
475
484
  import {
476
485
  EMPLOYEES_PATH,
486
+ IDENTITY_DIR,
477
487
  IdentityWriteError,
478
488
  addEmployee,
479
489
  baseAgentName,
@@ -492,7 +502,7 @@ import {
492
502
  mutateIdentity,
493
503
  repairFtsTable,
494
504
  saveEmployees
495
- } from "./chunk-3MDUKF3N.js";
505
+ } from "./chunk-L5JFVK5T.js";
496
506
  import {
497
507
  getEventLoopLagMs,
498
508
  getLastStall,
@@ -505,7 +515,7 @@ import {
505
515
  } from "./chunk-UWGQNJIE.js";
506
516
  import {
507
517
  getMasterKey
508
- } from "./chunk-KIJRAZWR.js";
518
+ } from "./chunk-4J77TCTX.js";
509
519
  import {
510
520
  checkForUpdate
511
521
  } from "./chunk-F55P3H4S.js";
@@ -517,7 +527,7 @@ import {
517
527
  loadLicense,
518
528
  readCachedLicenseToken,
519
529
  refreshLicense
520
- } from "./chunk-DIKLSAJE.js";
530
+ } from "./chunk-EOWJXCYC.js";
521
531
  import {
522
532
  PLAN_LIMITS
523
533
  } from "./chunk-3R7UDPVR.js";
@@ -785,7 +795,7 @@ function registerRecallMyMemory(server) {
785
795
  throw new Error("Recall session_scope must match the current caller's session.");
786
796
  }
787
797
  {
788
- const { ensureReadDbReady } = await import("./fast-db-init-SD7JZSEC.js");
798
+ const { ensureReadDbReady } = await import("./fast-db-init-TFRTK6EH.js");
789
799
  if (!await ensureReadDbReady()) {
790
800
  return {
791
801
  content: [{ type: "text", text: "Memory is unavailable; retrieval did not run. Please retry." }],
@@ -1016,7 +1026,7 @@ function registerAskTeamMemory(server) {
1016
1026
  }, safeMode);
1017
1027
  if (!effectiveIncludeRaw) searchOptions.includeRaw = false;
1018
1028
  {
1019
- const { ensureReadDbReady } = await import("./fast-db-init-SD7JZSEC.js");
1029
+ const { ensureReadDbReady } = await import("./fast-db-init-TFRTK6EH.js");
1020
1030
  if (!await ensureReadDbReady()) {
1021
1031
  return {
1022
1032
  content: [
@@ -1112,7 +1122,7 @@ function registerStoreMemory(server) {
1112
1122
  const context = resolved.context;
1113
1123
  const { agentId, agentRole } = context;
1114
1124
  if (kind === "prospective") {
1115
- const { createProspectiveMemory } = await import("./prospective-memory-5INB7NUL.js");
1125
+ const { createProspectiveMemory } = await import("./prospective-memory-GEN7CN7H.js");
1116
1126
  const sessionScope = context.sessionScope;
1117
1127
  const record = await createProspectiveMemory({
1118
1128
  agentId,
@@ -1457,7 +1467,7 @@ function registerSearchEverything(server) {
1457
1467
  },
1458
1468
  async (params) => {
1459
1469
  try {
1460
- const { ensureReadDbReady } = await import("./fast-db-init-SD7JZSEC.js");
1470
+ const { ensureReadDbReady } = await import("./fast-db-init-TFRTK6EH.js");
1461
1471
  if (!await ensureReadDbReady()) {
1462
1472
  return {
1463
1473
  content: [
@@ -2131,7 +2141,7 @@ async function handleSupersede(input) {
2131
2141
  }
2132
2142
  async function handleResonanceQuery(input) {
2133
2143
  try {
2134
- const { getHotPairs, getCoActivationNeighbors } = await import("./co-activation-2ZRANV3Q.js");
2144
+ const { getHotPairs, getCoActivationNeighbors } = await import("./co-activation-SRE6DIRX.js");
2135
2145
  const subAction = input.resonance_action ?? "hot_pairs";
2136
2146
  const limit = input.limit ?? 20;
2137
2147
  if (subAction === "hot_pairs") {
@@ -2237,7 +2247,7 @@ function registerMemory(server) {
2237
2247
  return handleResonanceQuery(input);
2238
2248
  }
2239
2249
  if (action === "update_working_memory" || action === "get_working_memory") {
2240
- const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-5AKPW2N7.js");
2250
+ const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-3YCLS7GB.js");
2241
2251
  const { agentId } = getActiveAgent2();
2242
2252
  const { readWorkingMemoryWithMeta, writeWorkingMemory, WORKING_MEMORY_MAX_BYTES } = await import("./working-memory-DPFRSKH3.js");
2243
2253
  if (action === "get_working_memory") {
@@ -2263,9 +2273,9 @@ function registerMemory(server) {
2263
2273
  }
2264
2274
  }
2265
2275
  if (action === "core_get" || action === "core_set" || action === "core_delete") {
2266
- const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-5AKPW2N7.js");
2276
+ const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-3YCLS7GB.js");
2267
2277
  const { agentId } = getActiveAgent2();
2268
- const { getCoreMemory, setCoreMemory, deleteCoreMemory, formatCoreMemoryBlock } = await import("./core-memory-WR7I7DIP.js");
2278
+ const { getCoreMemory, setCoreMemory, deleteCoreMemory, formatCoreMemoryBlock } = await import("./core-memory-PZEO3OWH.js");
2269
2279
  if (action === "core_get") {
2270
2280
  const entries = await getCoreMemory(agentId);
2271
2281
  const block = formatCoreMemoryBlock(entries);
@@ -2303,7 +2313,7 @@ function registerMemory(server) {
2303
2313
  if (!storeTrigger || !storeTriggerAction) {
2304
2314
  return errorResult('memory action "store" with kind="reflex" requires trigger and trigger_action fields');
2305
2315
  }
2306
- const { formatReflexContent } = await import("./behaviors-7AOK44QK.js");
2316
+ const { formatReflexContent } = await import("./behaviors-SKVKPCRW.js");
2307
2317
  const reflexText = formatReflexContent(storeTrigger, storeTriggerAction);
2308
2318
  legacyArgs.text ??= reflexText;
2309
2319
  legacyArgs.query ??= reflexText;
@@ -2322,9 +2332,9 @@ function registerMemory(server) {
2322
2332
  const result3 = await legacyTool.handler(args, extra);
2323
2333
  if (action === "store" && legacyArgs.kind === "reflex" && !result3.isError) {
2324
2334
  try {
2325
- const { storeReflexBehavior: storeReflexBehavior2 } = await import("./behaviors-7AOK44QK.js");
2326
- const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-5AKPW2N7.js");
2327
- const { getProjectName: getProjectName2 } = await import("./project-name-337ERIAX.js");
2335
+ const { storeReflexBehavior: storeReflexBehavior2 } = await import("./behaviors-SKVKPCRW.js");
2336
+ const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-3YCLS7GB.js");
2337
+ const { getProjectName: getProjectName2 } = await import("./project-name-PGJGUEJY.js");
2328
2338
  const agent = getActiveAgent2();
2329
2339
  const behaviorId = await storeReflexBehavior2({
2330
2340
  agentId: agent.agentId,
@@ -2761,8 +2771,8 @@ async function respawnAssigneeAfterClose(input) {
2761
2771
  } catch {
2762
2772
  }
2763
2773
  try {
2764
- const { cleanupAgentWorktree } = await import("./worktree-sweep-6VEHGH7U.js");
2765
- const { getGitRoot } = await import("./worktree-XWVNDBRD.js");
2774
+ const { cleanupAgentWorktree } = await import("./worktree-sweep-34MXJ7S6.js");
2775
+ const { getGitRoot } = await import("./worktree-7V4ZMF3D.js");
2766
2776
  const root = getGitRoot(projectDir);
2767
2777
  if (root) {
2768
2778
  const notes = await cleanupAgentWorktree(root, input.assignee);
@@ -2881,7 +2891,7 @@ function registerCloseTask(server) {
2881
2891
  const callerIsAssignedReviewer = Boolean(agent.agentId) && taskReviewer !== null && agent.agentId === taskReviewer;
2882
2892
  const canClose = canCoordinate(agent.agentId, agent.agentRole) || CLOSE_TASK_ALLOWED_ROLES.has(agent.agentRole ?? "") || callerIsAssignedReviewer;
2883
2893
  try {
2884
- const { StewardGate: StewardGate2 } = await import("./steward-gate-QFPXQBUZ.js");
2894
+ const { StewardGate: StewardGate2 } = await import("./steward-gate-EWG2BHYQ.js");
2885
2895
  const steward = new StewardGate2();
2886
2896
  const gateDecision = await steward.checkAuthority(agent.agentId || "unknown", "close_task", task_id);
2887
2897
  if (!gateDecision.allowed && !callerIsAssignedReviewer) {
@@ -3087,7 +3097,7 @@ ${prAmbiguityNote.trim()}` : result3,
3087
3097
  skipReviewCreation: true
3088
3098
  });
3089
3099
  if (isLegacyExecution) try {
3090
- const { releaseClaim: releaseClaim2 } = await import("./work-claims-OAICQBWO.js");
3100
+ const { releaseClaim: releaseClaim2 } = await import("./work-claims-5CFMZTML.js");
3091
3101
  const holderSession = sanitizeSessionScope(mySession ?? "") || "";
3092
3102
  if (holderSession) {
3093
3103
  await releaseClaim2({ holderSession, taskId: task.id });
@@ -3109,8 +3119,8 @@ ${preflightWarnings.join("\n")}`;
3109
3119
  if (mergeNote) text5 += mergeNote;
3110
3120
  if (status2 === "closed" && assignee && isLegacyExecution) {
3111
3121
  try {
3112
- const { cleanupAgentWorktree } = await import("./worktree-sweep-6VEHGH7U.js");
3113
- const { getGitRoot } = await import("./worktree-XWVNDBRD.js");
3122
+ const { cleanupAgentWorktree } = await import("./worktree-sweep-34MXJ7S6.js");
3123
+ const { getGitRoot } = await import("./worktree-7V4ZMF3D.js");
3114
3124
  const repoRoot = getGitRoot(baseDir);
3115
3125
  if (repoRoot) {
3116
3126
  const cleanupNotes = await cleanupAgentWorktree(repoRoot, assignee);
@@ -3254,7 +3264,7 @@ function registerResumeEmployee(server) {
3254
3264
  async ({ agent_id, project_name }) => {
3255
3265
  let client;
3256
3266
  if (!isInitialized()) {
3257
- const { fastDbInit: fastDbInit2 } = await import("./fast-db-init-SD7JZSEC.js");
3267
+ const { fastDbInit: fastDbInit2 } = await import("./fast-db-init-TFRTK6EH.js");
3258
3268
  client = await fastDbInit2();
3259
3269
  } else {
3260
3270
  client = getClient();
@@ -3284,7 +3294,7 @@ function registerResumeEmployee(server) {
3284
3294
  };
3285
3295
  }
3286
3296
  try {
3287
- const { isTmuxSessionAlive } = await import("./tasks-crud-2GHKIZOM.js");
3297
+ const { isTmuxSessionAlive } = await import("./tasks-crud-NQDPLHNZ.js");
3288
3298
  const now = (/* @__PURE__ */ new Date()).toISOString();
3289
3299
  for (const row of openTasks.rows) {
3290
3300
  const status2 = String(row.status);
@@ -3312,7 +3322,7 @@ function registerResumeEmployee(server) {
3312
3322
  }
3313
3323
  let checkpointInfo = "";
3314
3324
  try {
3315
- const { readLatestCheckpoint } = await import("./tasks-crud-2GHKIZOM.js");
3325
+ const { readLatestCheckpoint } = await import("./tasks-crud-NQDPLHNZ.js");
3316
3326
  const checkpointSessionScope = openTasks.rows[0]?.session_scope != null ? String(openTasks.rows[0].session_scope) : reScope.args[0] != null ? String(reScope.args[0]) : "";
3317
3327
  const checkpoint = checkpointSessionScope ? await readLatestCheckpoint(agent_id, { sessionScope: checkpointSessionScope }) : null;
3318
3328
  if (checkpoint) {
@@ -3372,6 +3382,7 @@ function registerResumeEmployee(server) {
3372
3382
  }
3373
3383
  }
3374
3384
  let dispatchStatus = "";
3385
+ let dispatchFailed = false;
3375
3386
  try {
3376
3387
  const { ensureEmployeeAsync, resolveExeSession: resolveExeSession2 } = await import("./lib/tmux-routing.js");
3377
3388
  let taskScope = null;
@@ -3400,7 +3411,7 @@ function registerResumeEmployee(server) {
3400
3411
  );
3401
3412
  const { shouldAutoInstance } = await import("./lib/employees.js");
3402
3413
  if (taskId) {
3403
- const { liveSessionHoldingTask } = await import("./tasks-crud-2GHKIZOM.js");
3414
+ const { liveSessionHoldingTask } = await import("./tasks-crud-NQDPLHNZ.js");
3404
3415
  const holder = await liveSessionHoldingTask(taskId, taskScope);
3405
3416
  if (holder) {
3406
3417
  dispatchStatus = `
@@ -3461,6 +3472,7 @@ Dispatched: spawned ${result3.sessionName}`;
3461
3472
  case "failed":
3462
3473
  dispatchStatus = `
3463
3474
  Dispatch failed: ${result3.error ?? "unknown"}`;
3475
+ dispatchFailed = true;
3464
3476
  break;
3465
3477
  }
3466
3478
  } catch (err) {
@@ -3468,13 +3480,16 @@ Dispatch failed: ${result3.error ?? "unknown"}`;
3468
3480
  const message = err instanceof Error ? err.message : String(err);
3469
3481
  dispatchStatus = `
3470
3482
  Dispatch failed: ${message || "unknown"}`;
3483
+ dispatchFailed = true;
3471
3484
  }
3472
3485
  }
3473
3486
  const verb = created ? "Created" : "Refreshed existing";
3474
3487
  const text5 = `${verb} RESUME task for ${agent_id} in ${effectiveProjectName ?? "unknown"}.
3475
3488
  Task ID: ${taskId}
3476
- Open tasks surfaced: ${openTasks.rows.length}${dispatchStatus}`;
3489
+ Open tasks surfaced: ${openTasks.rows.length}${dispatchStatus}` + (dispatchFailed ? `
3490
+ NO ONE WAS DISPATCHED \u2014 the RESUME task row exists but requires a manual nudge.` : "");
3477
3491
  return {
3492
+ isError: dispatchFailed,
3478
3493
  content: [
3479
3494
  {
3480
3495
  type: "text",
@@ -3858,13 +3873,13 @@ function registerTask(server) {
3858
3873
  const args = input;
3859
3874
  const missing2 = missingRequiredFields2(args, REQUIRED_FIELDS2.create_group);
3860
3875
  if (missing2.length > 0) return errorResult2(`task action "create_group" missing required field(s): ${missing2.join(", ")}`);
3861
- if (args.execution_mode === "durable_tmux" && !isTmuxDispatchAllowed()) {
3876
+ if (args.execution_mode === "durable_tmux") {
3862
3877
  return errorResult2(tmuxDispatchRefusal("task(action='create_group')"));
3863
3878
  }
3864
3879
  try {
3865
3880
  const requestScope = resolveTaskRequestScope(args.session_scope);
3866
3881
  if (!requestScope) return errorResult2("create_group requires a concrete session_scope from X-Exe-Session, the launch environment, or session_scope");
3867
- const { createTaskGroup } = await import("./tasks-crud-2GHKIZOM.js");
3882
+ const { createTaskGroup } = await import("./tasks-crud-NQDPLHNZ.js");
3868
3883
  const group = await createTaskGroup({
3869
3884
  title: args.title,
3870
3885
  coordinator: args.coordinator,
@@ -3886,7 +3901,7 @@ function registerTask(server) {
3886
3901
  try {
3887
3902
  const requestScope = resolveTaskRequestScope(args.session_scope);
3888
3903
  if (!requestScope) return errorResult2("group_status requires a concrete caller session_scope");
3889
- const { getGroupStatus } = await import("./tasks-crud-2GHKIZOM.js");
3904
+ const { getGroupStatus } = await import("./tasks-crud-NQDPLHNZ.js");
3890
3905
  const status2 = await getGroupStatus(args.group_id, requestScope.scope);
3891
3906
  return { content: [{ type: "text", text: JSON.stringify(status2, null, 2) }] };
3892
3907
  } catch (err) {
@@ -3900,7 +3915,7 @@ function registerTask(server) {
3900
3915
  try {
3901
3916
  const requestScope = resolveTaskRequestScope(args.session_scope);
3902
3917
  if (!requestScope) return errorResult2("group_results requires a concrete caller session_scope");
3903
- const { getGroupResults } = await import("./tasks-crud-2GHKIZOM.js");
3918
+ const { getGroupResults } = await import("./tasks-crud-NQDPLHNZ.js");
3904
3919
  const results = await getGroupResults(args.group_id, requestScope.scope);
3905
3920
  return { content: [{ type: "text", text: JSON.stringify(results, null, 2) }] };
3906
3921
  } catch (err) {
@@ -4294,8 +4309,8 @@ function registerStoreBehavior(server) {
4294
4309
  });
4295
4310
  let responseText = `Behavior stored for ${resolvedAgent}. ID: ${id}`;
4296
4311
  try {
4297
- const { countActiveBehaviors } = await import("./behaviors-7AOK44QK.js");
4298
- const { formatOverCapWarning } = await import("./behavior-injection-NRXTNROW.js");
4312
+ const { countActiveBehaviors } = await import("./behaviors-SKVKPCRW.js");
4313
+ const { formatOverCapWarning } = await import("./behavior-injection-G7GAUHGO.js");
4299
4314
  const counts = await countActiveBehaviors(resolvedAgent, resolvedProject);
4300
4315
  const warning = formatOverCapWarning(resolvedAgent, counts);
4301
4316
  if (warning) responseText += `
@@ -4421,7 +4436,7 @@ function registerMessage(server) {
4421
4436
  if (msgType && msgPayload) {
4422
4437
  try {
4423
4438
  const { buildTypedMessage, serializeMessage } = await import("./typed-messages-P2HLLA62.js");
4424
- const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-5AKPW2N7.js");
4439
+ const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-3YCLS7GB.js");
4425
4440
  const { sendMessage } = await import("./lib/messaging.js");
4426
4441
  const { agentId } = getActiveAgent2();
4427
4442
  const envelope = buildTypedMessage({
@@ -4456,7 +4471,7 @@ ID: ${msg.id}`
4456
4471
  if (action === "read") {
4457
4472
  try {
4458
4473
  const { getPendingMessages } = await import("./lib/messaging.js");
4459
- const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-5AKPW2N7.js");
4474
+ const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-3YCLS7GB.js");
4460
4475
  const { resolveExeSession: resolveExeSession2 } = await import("./lib/tmux-routing.js");
4461
4476
  const { agentId } = getActiveAgent2();
4462
4477
  const callerScope = resolveExeSession2() ?? void 0;
@@ -4717,45 +4732,40 @@ ${identity.body}`
4717
4732
 
4718
4733
  // src/mcp/tools/update-identity.ts
4719
4734
  import { z as z25 } from "zod";
4720
-
4721
- // src/lib/identity-contradiction-lint.ts
4722
- var DELEGATION_VERB = /\b(route|routing|assign|assigning|delegat\w*|dispatch\w*|hand\s*off|handing\s*off)\b/i;
4723
- var LEGACY_MECHANISM = /\b(create_task|tmux)\b/i;
4724
- var CAVEAT = /\b(subagent|rung|legacy|Agent\(subagent_type)\b/i;
4725
- var CONTEXT_WINDOW = 220;
4726
- function lintIdentityContradictions(content) {
4727
- const findings = [];
4728
- const lines = content.split("\n");
4729
- let offset = 0;
4730
- const lineOffsets = [];
4731
- for (const line of lines) {
4732
- lineOffsets.push(offset);
4733
- offset += line.length + 1;
4734
- }
4735
- for (let i = 0; i < lines.length; i++) {
4736
- const line = lines[i];
4737
- if (!DELEGATION_VERB.test(line) || !LEGACY_MECHANISM.test(line)) continue;
4738
- const start = Math.max(0, lineOffsets[i] - CONTEXT_WINDOW);
4739
- const end = Math.min(content.length, lineOffsets[i] + line.length + CONTEXT_WINDOW);
4740
- const context = content.slice(start, end);
4741
- if (CAVEAT.test(context)) continue;
4742
- findings.push({
4743
- rule: "create_task-as-default-delegation",
4744
- reason: "Reads as if create_task/tmux is the default way to route/assign/delegate work, with no nearby mention of subagent, rung, legacy, or Agent(subagent_type. Per the platform Dispatch Ladder, subagents are the default for delegation and create_task/tmux is a legacy rung-3 exception (work that must outlive the session or cross sessions/projects). Uncaveated wording like this caused a real mis-dispatch incident.",
4745
- excerpt: line.trim()
4746
- });
4735
+ function regenerateAgentDef(agentId) {
4736
+ const name = agentId.toLowerCase();
4737
+ const employee = loadEmployeesSync().find(
4738
+ (emp) => String(emp.name ?? "").toLowerCase() === name
4739
+ );
4740
+ if (!employee) {
4741
+ return `No roster entry for "${agentId}" \u2014 no agent definition to regenerate.`;
4742
+ }
4743
+ const [result3] = generateAgentDefs({
4744
+ employees: [employee],
4745
+ // The identity we just wrote lives under EXE_AI_DIR (which follows
4746
+ // EXE_OS_DIR/EXE_MEM_DIR), NOT necessarily <homeDir>/.exe-os. Read it back
4747
+ // from the exact directory mutateIdentity wrote to — otherwise the
4748
+ // regeneration errors out or silently bakes a stale, unrelated identity
4749
+ // into the definition while reporting success (codex-review P1 on the
4750
+ // original d8798016 fix).
4751
+ identityDir: IDENTITY_DIR
4752
+ });
4753
+ if (!result3) {
4754
+ return `No agent definition result for "${agentId}" \u2014 regeneration produced nothing.`;
4755
+ }
4756
+ switch (result3.action) {
4757
+ case "created":
4758
+ case "updated":
4759
+ return `Agent definition ${result3.action} at ~/.claude/agents/${name}.md \u2014 dispatched subagents now load the updated identity.`;
4760
+ case "unchanged":
4761
+ return `Agent definition at ~/.claude/agents/${name}.md already up to date.`;
4762
+ case "skipped":
4763
+ if (result3.reason === "user_file" || result3.reason === "foreign_symlink") {
4764
+ return `Agent definition NOT regenerated (${result3.reason === "user_file" ? "user-authored file without the generated-by marker" : "symlink not owned by exe-os"}): ${result3.path} left untouched.`;
4765
+ }
4766
+ return null;
4747
4767
  }
4748
- return findings;
4749
- }
4750
- function formatIdentityContradictionWarning(agentId, findings) {
4751
- if (findings.length === 0) return null;
4752
- const lines = findings.map((f) => ` - "${f.excerpt}"`).join("\n");
4753
- return `\u26A0\uFE0F Possible policy contradiction in ${agentId}'s new identity content (${findings.length} line${findings.length === 1 ? "" : "s"} flagged, write still applied):
4754
- ${lines}
4755
- ${findings[0].reason} This is a lint, not a block \u2014 review the flagged line(s) and caveat them (mention subagent/rung/legacy) if the concern applies.`;
4756
4768
  }
4757
-
4758
- // src/mcp/tools/update-identity.ts
4759
4769
  function registerUpdateIdentity(server) {
4760
4770
  server.registerTool(
4761
4771
  "update_identity",
@@ -4841,6 +4851,33 @@ If this substantial shrink is intentional, re-send with confirmShrink: true. (Bl
4841
4851
  }
4842
4852
  const action = existed ? "Updated" : "Created";
4843
4853
  let responseText = `${action} identity for "${agent_id}". File: ~/.exe-os/identity/${agent_id}.md`;
4854
+ let defOutcome;
4855
+ try {
4856
+ defOutcome = regenerateAgentDef(agent_id);
4857
+ } catch (err) {
4858
+ defOutcome = null;
4859
+ responseText += `
4860
+
4861
+ Agent definition regeneration FAILED: ${err instanceof Error ? err.message : String(err)}
4862
+ The identity write above succeeded, but dispatched subagents will keep loading the OLD instructions from ~/.claude/agents/${agent_id.toLowerCase()}.md until it is regenerated (re-run the install or this update).`;
4863
+ return {
4864
+ content: [{ type: "text", text: responseText }],
4865
+ isError: true
4866
+ };
4867
+ }
4868
+ if (defOutcome === null) {
4869
+ responseText += `
4870
+
4871
+ Agent definition regeneration FAILED (skipped) for ~/.claude/agents/${agent_id.toLowerCase()}.md.
4872
+ The identity write above succeeded, but dispatched subagents will keep loading the OLD instructions until the definition is regenerated. Re-run the install or this update after fixing the cause.`;
4873
+ return {
4874
+ content: [{ type: "text", text: responseText }],
4875
+ isError: true
4876
+ };
4877
+ }
4878
+ responseText += `
4879
+
4880
+ ${defOutcome}`;
4844
4881
  const findings = lintIdentityContradictions(content);
4845
4882
  const warning = formatIdentityContradictionWarning(agent_id, findings);
4846
4883
  if (warning) responseText += `
@@ -4982,8 +5019,8 @@ function registerIngestDocument(server) {
4982
5019
  },
4983
5020
  async (input) => {
4984
5021
  try {
4985
- const { assertFeature: assertFeature2 } = await import("./plan-limits-4GXK5PFT.js");
4986
- const { assertMemoryLimit: assertMemoryLimit2 } = await import("./plan-limits-4GXK5PFT.js");
5022
+ const { assertFeature: assertFeature2 } = await import("./plan-limits-3BGHIHX6.js");
5023
+ const { assertMemoryLimit: assertMemoryLimit2 } = await import("./plan-limits-3BGHIHX6.js");
4987
5024
  await assertFeature2("wiki");
4988
5025
  await assertMemoryLimit2();
4989
5026
  const result3 = await ingestDocument(input);
@@ -5054,8 +5091,8 @@ function registerPurgeDocument(server) {
5054
5091
  },
5055
5092
  async ({ document_id }) => {
5056
5093
  try {
5057
- const { StewardGate: StewardGate2 } = await import("./steward-gate-QFPXQBUZ.js");
5058
- const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-5AKPW2N7.js");
5094
+ const { StewardGate: StewardGate2 } = await import("./steward-gate-EWG2BHYQ.js");
5095
+ const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-3YCLS7GB.js");
5059
5096
  const steward = new StewardGate2();
5060
5097
  const agent = getActiveAgent2();
5061
5098
  const gateDecision = await steward.checkAuthority(agent.agentId || "unknown", "purge_document", document_id);
@@ -5225,7 +5262,7 @@ function registerDocument(server) {
5225
5262
  const { action: _action, ...legacyArgs } = input;
5226
5263
  if (action === "list" && (legacyArgs.workspace_id === void 0 || legacyArgs.workspace_id === null || legacyArgs.workspace_id === "")) {
5227
5264
  try {
5228
- const { resolveDefaultWorkspaceId, listWorkspaces } = await import("./documents-O7WYZFFE.js");
5265
+ const { resolveDefaultWorkspaceId, listWorkspaces } = await import("./documents-MDZ4VB5X.js");
5229
5266
  const defaultId = await resolveDefaultWorkspaceId();
5230
5267
  if (defaultId) {
5231
5268
  legacyArgs.workspace_id = defaultId;
@@ -6233,7 +6270,7 @@ async function handleStatus() {
6233
6270
  detail: wikiUrl ? `API at ${wikiUrl}` : "EXE_WIKI_API_URL not set"
6234
6271
  };
6235
6272
  try {
6236
- await import("./graph-rag-GBA5E3QC.js");
6273
+ await import("./graph-rag-UWOTK4AQ.js");
6237
6274
  sinks.entity_extraction = { configured: true, detail: "GraphRAG available" };
6238
6275
  } catch {
6239
6276
  sinks.entity_extraction = { configured: false, detail: "graph-rag module unavailable" };
@@ -6260,7 +6297,7 @@ async function handleTrigger(limit) {
6260
6297
  if (rows.rows.length === 0) {
6261
6298
  return text3("No conversations found to re-process.");
6262
6299
  }
6263
- const { ingest } = await import("./pipeline-router-2IELBSVJ.js");
6300
+ const { ingest } = await import("./pipeline-router-EKQ6D7ZA.js");
6264
6301
  const results = [];
6265
6302
  for (const row of rows.rows) {
6266
6303
  const r = row;
@@ -6934,8 +6971,8 @@ function registerMergeEntities(server) {
6934
6971
  };
6935
6972
  }
6936
6973
  try {
6937
- const { StewardGate: StewardGate2 } = await import("./steward-gate-QFPXQBUZ.js");
6938
- const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-5AKPW2N7.js");
6974
+ const { StewardGate: StewardGate2 } = await import("./steward-gate-EWG2BHYQ.js");
6975
+ const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-3YCLS7GB.js");
6939
6976
  const steward = new StewardGate2();
6940
6977
  const agent = getActiveAgent2();
6941
6978
  const sourceLabel2 = source_name ?? source_id;
@@ -7149,7 +7186,7 @@ async function handleExtractFromDocument(args) {
7149
7186
  return errorResult8('graph action "extract_from_document" requires document_id');
7150
7187
  }
7151
7188
  try {
7152
- const { extractGraphFromExistingDocument } = await import("./doc-graph-extractor-NJ7ZZC2C.js");
7189
+ const { extractGraphFromExistingDocument } = await import("./doc-graph-extractor-TVK2NGAR.js");
7153
7190
  const result3 = await extractGraphFromExistingDocument(documentId);
7154
7191
  const lines = [
7155
7192
  `## Graph Extraction for Document ${documentId}`,
@@ -7176,7 +7213,7 @@ async function handleCleanupGarbage(args) {
7176
7213
  const doMerge = !garbageOnly;
7177
7214
  let mod;
7178
7215
  try {
7179
- mod = await import("./cleanup-graph-garbage-NKAJSCWZ.js");
7216
+ mod = await import("./cleanup-graph-garbage-SYGPMPUM.js");
7180
7217
  } catch (err) {
7181
7218
  return errorResult8(`cleanup_garbage: failed to load cleanup module \u2014 ${err instanceof Error ? err.message : String(err)}`);
7182
7219
  }
@@ -7767,6 +7804,15 @@ function registerGetDaemonHealth(server) {
7767
7804
  health = await pingDaemon();
7768
7805
  } catch {
7769
7806
  }
7807
+ let serving = null;
7808
+ if (!health) {
7809
+ const portNum = /^\d+$/.test(mcpHttpPort()) ? Number(mcpHttpPort()) : void 0;
7810
+ serving = await probeDaemonServing(portNum !== void 0 ? { port: portNum } : {});
7811
+ if (serving.state === "stalled") {
7812
+ await captureDaemonStall(serving).catch(() => {
7813
+ });
7814
+ }
7815
+ }
7770
7816
  const supervision = readSupervisionState();
7771
7817
  const lines = [];
7772
7818
  lines.push("## Daemon Health\n");
@@ -7776,9 +7822,20 @@ function registerGetDaemonHealth(server) {
7776
7822
  lines.push(`> ${supervision.detail}`);
7777
7823
  lines.push("");
7778
7824
  }
7825
+ if (serving?.state === "stalled") {
7826
+ lines.push(`> \u{1F534} **${serving.detail}**`);
7827
+ lines.push(">");
7828
+ lines.push("> Detection only \u2014 nothing was restarted. The daemon process is alive and the");
7829
+ lines.push("> port is accepting connections, but the event loop is not answering requests.");
7830
+ lines.push("> A bounded stall record was appended to logs/daemon-stalls.log for post-mortem.");
7831
+ lines.push("");
7832
+ }
7779
7833
  lines.push("| Metric | Value |");
7780
7834
  lines.push("|--------|-------|");
7781
- lines.push(`| Status | ${health ? health.status : "running (no health response)"} |`);
7835
+ lines.push(`| Status | ${health ? health.status : serving?.state === "stalled" ? "STALLED (not serving)" : serving?.state === "down" ? "running (HTTP port not listening)" : "running (no health response)"} |`);
7836
+ if (serving && !health) {
7837
+ lines.push(`| Serving probe | ${serving.state} \u2014 ${serving.detail} |`);
7838
+ }
7782
7839
  lines.push(`| PID | ${pid} |`);
7783
7840
  lines.push(`| Supervision | ${supervision.degraded ? "\u{1F534}" : "\u{1F7E2}"} ${supervision.state} |`);
7784
7841
  if (health) {
@@ -7911,7 +7968,13 @@ function registerMcpPing(server) {
7911
7968
  };
7912
7969
  } catch {
7913
7970
  }
7914
- const status2 = !daemon.alive ? "degraded" : eventLoopDegraded ? "degraded" : "ok";
7971
+ const portNum = /^\d+$/.test(mcpHttpPort()) ? Number(mcpHttpPort()) : void 0;
7972
+ const servingProbe = await probeDaemonServing(portNum !== void 0 ? { port: portNum } : {});
7973
+ if (servingProbe.state === "stalled") {
7974
+ await captureDaemonStall(servingProbe).catch(() => {
7975
+ });
7976
+ }
7977
+ const status2 = servingProbe.state === "stalled" ? "stalled" : !daemon.alive || servingProbe.state === "down" || eventLoopDegraded ? "degraded" : "ok";
7915
7978
  return {
7916
7979
  content: [
7917
7980
  {
@@ -7922,6 +7985,7 @@ function registerMcpPing(server) {
7922
7985
  ...daemon,
7923
7986
  eventLoopLagMs,
7924
7987
  lastStall,
7988
+ serving: { state: servingProbe.state, detail: servingProbe.detail, portOpen: servingProbe.portOpen },
7925
7989
  ...eventLoopDegraded && { eventLoopWarning: `Event loop lag ${eventLoopLagMs}ms exceeds 5000ms \u2014 daemon is alive but unresponsive to real-time requests` }
7926
7990
  },
7927
7991
  ...retrieval && { retrieval },
@@ -7932,7 +7996,7 @@ function registerMcpPing(server) {
7932
7996
  },
7933
7997
  toolUsage: getToolUsageStats(),
7934
7998
  mcpTransport: summary,
7935
- remediation: !daemon.alive ? "Daemon is offline. Restart exe-os/exed; do not bypass MCP or access the DB directly." : eventLoopDegraded ? stallAdvice ?? `Daemon process is alive but event loop is blocked (${eventLoopLagMs}ms lag). This typically happens during model loading or heavy DB operations. Wait for the operation to complete, or restart the daemon if it persists.` : gate.hasKey ? "MCP transport probe reached the server. If tools still fail, reconnect the MCP client." : "No license key found. Run: echo 'exe_sk_YOUR_KEY' > ~/.exe-os/license.key then reconnect MCP."
7999
+ remediation: servingProbe.state === "stalled" ? `${servingProbe.detail} The daemon process/port is up but not serving requests; restarting a starved daemon often makes it worse \u2014 check host load first. A stall record was appended to logs/daemon-stalls.log.` : !daemon.alive ? "Daemon is offline. Restart exe-os/exed; do not bypass MCP or access the DB directly." : servingProbe.state === "down" ? `${servingProbe.detail} Liveness checks pass (pid/socket present) but the MCP HTTP transport is unavailable. Restart exe-os/exed; do not bypass MCP or access the DB directly.` : eventLoopDegraded ? stallAdvice ?? `Daemon process is alive but event loop is blocked (${eventLoopLagMs}ms lag). This typically happens during model loading or heavy DB operations. Wait for the operation to complete, or restart the daemon if it persists.` : gate.hasKey ? "MCP transport probe reached the server. If tools still fail, reconnect the MCP client." : "No license key found. Run: echo 'exe_sk_YOUR_KEY' > ~/.exe-os/license.key then reconnect MCP."
7936
8000
  }, null, 2)
7937
8001
  }
7938
8002
  ]
@@ -8078,7 +8142,7 @@ async function getAgentSessionLoad() {
8078
8142
  return { sessions: [], totalLive: 0, busySessions: 0, idleSessions: 0 };
8079
8143
  }
8080
8144
  const { getClient: getClient2 } = await import("./lib/database.js");
8081
- const { sessionScopeFilter: sessionScopeFilter2 } = await import("./task-scope-AMR3Z3DJ.js");
8145
+ const { sessionScopeFilter: sessionScopeFilter2 } = await import("./task-scope-NLKUVCP5.js");
8082
8146
  const client = getClient2();
8083
8147
  const scope = sessionScopeFilter2();
8084
8148
  for (const s of liveAgentSessions) {
@@ -8393,14 +8457,17 @@ function shortKeyFingerprint(key) {
8393
8457
  if (!key) return "missing";
8394
8458
  return `${key.toString("hex").slice(0, 8)}...`;
8395
8459
  }
8460
+ function formatMemoryCursor(local, pushed, pulled) {
8461
+ return `local=${local ?? "unknown"} last pushed=${pushed ?? "unknown"} last pulled=${pulled ?? "unknown"}`;
8462
+ }
8396
8463
  async function cloudStatusText() {
8397
8464
  const config = await loadConfig();
8398
8465
  const key = await getMasterKey();
8399
8466
  const cloud = config.cloud;
8400
8467
  let reuploadRequired = false;
8401
- let localMemoryVersion = 0;
8402
- let lastPushedMemoryVersion = 0;
8403
- let lastPullVersion = 0;
8468
+ let localMemoryVersion = null;
8469
+ let lastPushedMemoryVersion = null;
8470
+ let lastPullVersion = null;
8404
8471
  let pendingMemoryCount = 0;
8405
8472
  let lastReuploadedAt = null;
8406
8473
  try {
@@ -8419,7 +8486,7 @@ async function cloudStatusText() {
8419
8486
  }
8420
8487
  const pending = await client.execute({
8421
8488
  sql: "SELECT COUNT(*) as cnt FROM memories WHERE (scope IS NULL OR scope != 'personal') AND version > ?",
8422
- args: [lastPushedMemoryVersion]
8489
+ args: [lastPushedMemoryVersion ?? 0]
8423
8490
  });
8424
8491
  pendingMemoryCount = Number(pending.rows[0]?.cnt ?? 0);
8425
8492
  } catch (_err) {
@@ -8482,7 +8549,7 @@ async function cloudStatusText() {
8482
8549
  lines.push("**Sync status:** SYNC ENABLED \u2014 no obvious memory backlog");
8483
8550
  }
8484
8551
  lines.push("");
8485
- lines.push(`- Memory cursor: local=${localMemoryVersion} last pushed=${lastPushedMemoryVersion} last pulled=${lastPullVersion}`);
8552
+ lines.push(`- Memory cursor: ${formatMemoryCursor(localMemoryVersion, lastPushedMemoryVersion, lastPullVersion)}`);
8486
8553
  lines.push(`- Last successful background sync: ${backgroundStatus.lastSuccessAt ?? "never"}`);
8487
8554
  if (backgroundStatus.consecutiveFailures !== void 0) {
8488
8555
  lines.push(`- Consecutive background failures: ${backgroundStatus.consecutiveFailures.toLocaleString()}`);
@@ -8490,7 +8557,7 @@ async function cloudStatusText() {
8490
8557
  if (lastReuploadedAt) lines.push(`- Last re-upload: ${lastReuploadedAt}`);
8491
8558
  lines.push("");
8492
8559
  try {
8493
- const { getRetrievalHealth: getRetrievalHealth2, formatDegradations: formatDegradations2 } = await import("./retrieval-health-R6MGXLTP.js");
8560
+ const { getRetrievalHealth: getRetrievalHealth2, formatDegradations: formatDegradations2 } = await import("./retrieval-health-XDFYFEOP.js");
8494
8561
  const h = await getRetrievalHealth2();
8495
8562
  lines.push(formatDegradations2(h.degradations, "Health / Degradations"));
8496
8563
  lines.push("");
@@ -10122,7 +10189,7 @@ function registerCreateTrigger(server) {
10122
10189
  };
10123
10190
  }
10124
10191
  const normalizedConditions = conditions == null ? [] : conditions;
10125
- const { assertFeature: assertFeature2 } = await import("./plan-limits-4GXK5PFT.js");
10192
+ const { assertFeature: assertFeature2 } = await import("./plan-limits-3BGHIHX6.js");
10126
10193
  const gatedActions = {
10127
10194
  send_whatsapp: "external_agents",
10128
10195
  update_wiki: "wiki"
@@ -11194,8 +11261,8 @@ function buildHandlers5() {
11194
11261
  }
11195
11262
  async function handleDreaming(action, args) {
11196
11263
  try {
11197
- const { DreamingEngine: DreamingEngine2 } = await import("./dreaming-TUESPDT3.js");
11198
- const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-5AKPW2N7.js");
11264
+ const { DreamingEngine: DreamingEngine2 } = await import("./dreaming-L24PSS35.js");
11265
+ const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-3YCLS7GB.js");
11199
11266
  const { getClient: getClient2 } = await import("./lib/database.js");
11200
11267
  const agentId = args.agent_id ?? getActiveAgent2().agentId;
11201
11268
  if (action === "dreaming_run") {
@@ -11403,11 +11470,11 @@ function registerConfig(server) {
11403
11470
  }
11404
11471
  if (action === "closeout") {
11405
11472
  try {
11406
- const { DreamingEngine: DreamingEngine2 } = await import("./dreaming-TUESPDT3.js");
11407
- const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-5AKPW2N7.js");
11473
+ const { DreamingEngine: DreamingEngine2 } = await import("./dreaming-L24PSS35.js");
11474
+ const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-3YCLS7GB.js");
11408
11475
  const { writeMemory, flushBatch } = await import("./lib/store.js");
11409
11476
  const { randomUUID: randomUUID4 } = await import("crypto");
11410
- const { getProjectName: getProjectName2 } = await import("./project-name-337ERIAX.js");
11477
+ const { getProjectName: getProjectName2 } = await import("./project-name-PGJGUEJY.js");
11411
11478
  const { retryOnDaemonTransportError } = await import("./lib/db-daemon-client.js");
11412
11479
  const agentId = args.agent_id ?? getActiveAgent2().agentId;
11413
11480
  const hours = args.hours ?? 24;
@@ -11485,7 +11552,7 @@ function registerConfig(server) {
11485
11552
  }
11486
11553
  if (action === "capability_cards") {
11487
11554
  try {
11488
- const { getAllCapabilityCards, findAgentForTask } = await import("./capability-cards-C3SMHB2E.js");
11555
+ const { getAllCapabilityCards, findAgentForTask } = await import("./capability-cards-YQWBEG7A.js");
11489
11556
  const cards = getAllCapabilityCards();
11490
11557
  const taskQuery = args.query;
11491
11558
  if (taskQuery) {
@@ -11536,7 +11603,7 @@ function registerConfig(server) {
11536
11603
  const existing = loadEmployeesSync2();
11537
11604
  if (existing.some((e) => e.name === employeeName)) return errorResult9(`Employee "${employeeName}" already exists.`);
11538
11605
  try {
11539
- const { assertEmployeeLimit: assertEmployeeLimit2 } = await import("./plan-limits-4GXK5PFT.js");
11606
+ const { assertEmployeeLimit: assertEmployeeLimit2 } = await import("./plan-limits-3BGHIHX6.js");
11540
11607
  await assertEmployeeLimit2();
11541
11608
  } catch (e) {
11542
11609
  return errorResult9(e instanceof Error ? e.message : "Employee limit reached.");
@@ -11577,7 +11644,7 @@ You are ${employeeName}. Role: ${role}.`, "utf-8");
11577
11644
  }
11578
11645
  try {
11579
11646
  const { generateSessionWrappers } = await import("./lib/session-wrappers.js");
11580
- const { resolvePackageRoot } = await import("./installer-MPVQ5L22.js");
11647
+ const { resolvePackageRoot } = await import("./installer-356RMQ2K.js");
11581
11648
  generateSessionWrappers(resolvePackageRoot());
11582
11649
  } catch {
11583
11650
  }
@@ -11674,7 +11741,7 @@ function registerListWikiPages(server) {
11674
11741
  }
11675
11742
  },
11676
11743
  async ({ workspace, folder }) => {
11677
- const { assertFeature: assertFeature2 } = await import("./plan-limits-4GXK5PFT.js");
11744
+ const { assertFeature: assertFeature2 } = await import("./plan-limits-3BGHIHX6.js");
11678
11745
  await assertFeature2("wiki");
11679
11746
  const apiUrl = process.env.EXE_WIKI_API_URL;
11680
11747
  const apiKey = process.env.EXE_WIKI_API_KEY;
@@ -11774,7 +11841,7 @@ function registerGetWikiPage(server) {
11774
11841
  }
11775
11842
  },
11776
11843
  async ({ workspace, document_id, title }) => {
11777
- const { assertFeature: assertFeature2 } = await import("./plan-limits-4GXK5PFT.js");
11844
+ const { assertFeature: assertFeature2 } = await import("./plan-limits-3BGHIHX6.js");
11778
11845
  await assertFeature2("wiki");
11779
11846
  const apiUrl = process.env.EXE_WIKI_API_URL;
11780
11847
  const apiKey = process.env.EXE_WIKI_API_KEY;
@@ -11968,10 +12035,10 @@ async function handleWikiSearch(input) {
11968
12035
  const userId = input.user_id;
11969
12036
  if (!workspace) return errorResult10('wiki action "search" requires workspace');
11970
12037
  if (!query) return errorResult10('wiki action "search" requires query');
11971
- const { assertFeature: assertFeature2 } = await import("./plan-limits-4GXK5PFT.js");
12038
+ const { assertFeature: assertFeature2 } = await import("./plan-limits-3BGHIHX6.js");
11972
12039
  await assertFeature2("wiki");
11973
12040
  if (userId) {
11974
- const { checkWikiAccess } = await import("./wiki-acl-N754BC2W.js");
12041
+ const { checkWikiAccess } = await import("./wiki-acl-M7BTQJBZ.js");
11975
12042
  const { allowed } = await checkWikiAccess(String(userId), String(workspace), "read");
11976
12043
  if (!allowed) {
11977
12044
  return errorResult10(`Access denied: user "${userId}" does not have read access to workspace "${workspace}"`);
@@ -12074,7 +12141,7 @@ function registerWiki(server) {
12074
12141
  return errorResult10('wiki action "document_rerank" requires at least one candidate');
12075
12142
  }
12076
12143
  if (user_id && legacyArgs.workspace) {
12077
- const { checkWikiAccess } = await import("./wiki-acl-N754BC2W.js");
12144
+ const { checkWikiAccess } = await import("./wiki-acl-M7BTQJBZ.js");
12078
12145
  const { allowed } = await checkWikiAccess(
12079
12146
  String(user_id),
12080
12147
  String(legacyArgs.workspace),
@@ -12268,7 +12335,7 @@ ${lines.join("\n")}`
12268
12335
  const targetAgent = agent_id ?? getActiveAgent().agentId;
12269
12336
  const resolvedAgent = baseAgentName(targetAgent, loadEmployeesSync());
12270
12337
  const proj = project_name === "global" ? void 0 : project_name || getProjectName();
12271
- const { retrieveSkills } = await import("./skill-retrieval-OWY6MTCX.js");
12338
+ const { retrieveSkills } = await import("./skill-retrieval-F6PAJ3I5.js");
12272
12339
  const results = await retrieveSkills({
12273
12340
  agentId: resolvedAgent,
12274
12341
  projectName: proj,
@@ -12310,7 +12377,7 @@ ${lines.join("\n")}`
12310
12377
  isError: true
12311
12378
  };
12312
12379
  }
12313
- const { recordBehaviorApplied } = await import("./skill-usage-GNV737U5.js");
12380
+ const { recordBehaviorApplied } = await import("./skill-usage-2MBTF7Y4.js");
12314
12381
  const updated = await recordBehaviorApplied(behavior_id);
12315
12382
  if (!updated) {
12316
12383
  return {
@@ -12415,8 +12482,8 @@ Trigger: ${trigger}
12415
12482
  Action: ${trigger_action}
12416
12483
  Priority: p0 (always injected). The agent decides whether to act.` : `Behavior stored for ${resolvedAgent}. ID: ${id}`;
12417
12484
  try {
12418
- const { countActiveBehaviors } = await import("./behaviors-7AOK44QK.js");
12419
- const { formatOverCapWarning } = await import("./behavior-injection-NRXTNROW.js");
12485
+ const { countActiveBehaviors } = await import("./behaviors-SKVKPCRW.js");
12486
+ const { formatOverCapWarning } = await import("./behavior-injection-G7GAUHGO.js");
12420
12487
  const counts = await countActiveBehaviors(resolvedAgent, resolvedProject);
12421
12488
  const warning = formatOverCapWarning(resolvedAgent, counts);
12422
12489
  if (warning) responseText += `
@@ -12511,7 +12578,7 @@ Use /exe-forget to remove any that this supersedes.`;
12511
12578
  }]
12512
12579
  };
12513
12580
  }
12514
- const { bulkPurgeGhostBehaviors } = await import("./behaviors-7AOK44QK.js");
12581
+ const { bulkPurgeGhostBehaviors } = await import("./behaviors-SKVKPCRW.js");
12515
12582
  const res = await bulkPurgeGhostBehaviors({ batchSize: 5e3, vacuum: true });
12516
12583
  return {
12517
12584
  content: [{
@@ -12611,7 +12678,7 @@ Use /exe-forget to remove any that this supersedes.`;
12611
12678
  }
12612
12679
  if (action === "promotable") {
12613
12680
  const targetAgent = agent_id ?? getActiveAgent().agentId;
12614
- const { listPromotionCandidates, DEFAULT_MIN_STABLE_DAYS } = await import("./behavior-promotion-MW7OQ72V.js");
12681
+ const { listPromotionCandidates, DEFAULT_MIN_STABLE_DAYS } = await import("./behavior-promotion-I2DIUFUR.js");
12615
12682
  const candidates = await listPromotionCandidates(targetAgent, {
12616
12683
  projectName: project_name,
12617
12684
  minStableDays: min_stable_days,
@@ -12644,7 +12711,7 @@ Promotion moves a rule into the identity file, which is injected on a SEPARATE p
12644
12711
  return { content: [{ type: "text", text: "Missing required field: behavior_id is required for promote action." }], isError: true };
12645
12712
  }
12646
12713
  const targetAgent = agent_id ?? caller2.agentId;
12647
- const { promoteBehaviorToIdentity } = await import("./behavior-promotion-MW7OQ72V.js");
12714
+ const { promoteBehaviorToIdentity } = await import("./behavior-promotion-I2DIUFUR.js");
12648
12715
  const result4 = await promoteBehaviorToIdentity({
12649
12716
  behaviorId: behavior_id,
12650
12717
  agentId: targetAgent,
@@ -12680,7 +12747,7 @@ Stable for ${r.stableDays} days; promoted by ${r.promotedBy}.
12680
12747
  return { content: [{ type: "text", text: `Behavior not found: ${behavior_id}` }], isError: true };
12681
12748
  }
12682
12749
  const row2 = result4.rows[0];
12683
- const { reactivateBehavior: reactivateBehavior2 } = await import("./behaviors-7AOK44QK.js");
12750
+ const { reactivateBehavior: reactivateBehavior2 } = await import("./behaviors-SKVKPCRW.js");
12684
12751
  const wasReactivated = await reactivateBehavior2(behavior_id);
12685
12752
  if (!wasReactivated) {
12686
12753
  return { content: [{ type: "text", text: `Behavior ${behavior_id} is already active.` }] };
@@ -13223,7 +13290,7 @@ function registerWorkflowTool(server) {
13223
13290
  getWorkflowInstance,
13224
13291
  listWorkflowInstances,
13225
13292
  approveWorkflowStep
13226
- } = await import("./workflow-engine-RID3QL2U.js");
13293
+ } = await import("./workflow-engine-S5JOE2YR.js");
13227
13294
  try {
13228
13295
  switch (input.action) {
13229
13296
  case "create_workflow": {
@@ -13734,7 +13801,7 @@ If this is genuinely a new issue, retry with not_duplicate_of: [${unacknowledged
13734
13801
  const version = package_version === void 0 ? readPackageVersion() : sanitizeVersionField(package_version) ?? "unknown";
13735
13802
  let metricsSnapshot = "";
13736
13803
  try {
13737
- const { getOrchestrationMetrics, formatOrchestrationMetrics } = await import("./orchestration-events-73VEJT7Q.js");
13804
+ const { getOrchestrationMetrics, formatOrchestrationMetrics } = await import("./orchestration-events-2Z2BMMA5.js");
13738
13805
  const sinceIso = new Date(Date.now() - 60 * 60 * 1e3).toISOString();
13739
13806
  const metrics = await getOrchestrationMetrics({ sinceIso });
13740
13807
  if (metrics.totalEvents > 0) {
@@ -14937,7 +15004,7 @@ function registerCliParityTools(server) {
14937
15004
  const out = await runCommand("exe-os", ["cloud", "status"], 45e3);
14938
15005
  let healthSection = "";
14939
15006
  try {
14940
- const { getRetrievalHealth: getRetrievalHealth2, formatDegradations: formatDegradations2 } = await import("./retrieval-health-R6MGXLTP.js");
15007
+ const { getRetrievalHealth: getRetrievalHealth2, formatDegradations: formatDegradations2 } = await import("./retrieval-health-XDFYFEOP.js");
14941
15008
  const h = await getRetrievalHealth2();
14942
15009
  const lines = [
14943
15010
  "",
@@ -15012,7 +15079,7 @@ function registerCodeContext(server) {
15012
15079
  const index = await buildCodeContextIndexAsync(opts);
15013
15080
  let graphExtract;
15014
15081
  try {
15015
- const { autoExtractGraphEntities } = await import("./graph-auto-extract-V75GSTNX.js");
15082
+ const { autoExtractGraphEntities } = await import("./graph-auto-extract-PGUMEEQB.js");
15016
15083
  graphExtract = await autoExtractGraphEntities(index.projectRoot);
15017
15084
  } catch {
15018
15085
  }
@@ -15980,7 +16047,7 @@ function registerDiagnostics(server) {
15980
16047
  }
15981
16048
  }
15982
16049
  if (job === "tier3_archival") {
15983
- const { runTier3Archival } = await import("./memory-maintenance-WDLL3ZX3.js");
16050
+ const { runTier3Archival } = await import("./memory-maintenance-RR5UPRW3.js");
15984
16051
  const result3 = await runTier3Archival();
15985
16052
  return {
15986
16053
  content: [{
@@ -15994,7 +16061,7 @@ function registerDiagnostics(server) {
15994
16061
  if (typeof memoryId !== "string" || !memoryId) {
15995
16062
  return { content: [{ type: "text", text: "supersession_hygiene requires memory_id." }], isError: true };
15996
16063
  }
15997
- const { runSupersessionHygieneSerialized } = await import("./memory-maintenance-WDLL3ZX3.js");
16064
+ const { runSupersessionHygieneSerialized } = await import("./memory-maintenance-RR5UPRW3.js");
15998
16065
  await runSupersessionHygieneSerialized(memoryId);
15999
16066
  return {
16000
16067
  content: [{
@@ -16169,7 +16236,7 @@ async function handleReprojectWorktreeMemories(input) {
16169
16236
  const sessionScope = rawScope;
16170
16237
  try {
16171
16238
  const { getClient: getClient2 } = await import("./lib/database.js");
16172
- const { runReprojectWorktreeMemories, formatReprojectReport } = await import("./reproject-worktree-memories-OGBR3CMO.js");
16239
+ const { runReprojectWorktreeMemories, formatReprojectReport } = await import("./reproject-worktree-memories-DIULBEBD.js");
16173
16240
  const client = await getClient2();
16174
16241
  const result3 = await runReprojectWorktreeMemories(
16175
16242
  client,
@@ -16188,7 +16255,7 @@ async function handleReprojectWorktreeMemories(input) {
16188
16255
  }
16189
16256
  async function handleMemoryIsolation(input) {
16190
16257
  try {
16191
- const { queryMemoryIsolation, formatMemoryIsolationReport } = await import("./memory-isolation-4RQJ5RCK.js");
16258
+ const { queryMemoryIsolation, formatMemoryIsolationReport } = await import("./memory-isolation-MFNT2ITE.js");
16192
16259
  const agentId = typeof input.agent_id === "string" ? input.agent_id : void 0;
16193
16260
  const allScopes = input.all_scopes === true;
16194
16261
  const sessionScope = typeof input.session_scope === "string" ? input.session_scope : void 0;
@@ -16218,7 +16285,7 @@ ${report.lastOutcomes.map((o) => ` [${new Date(o.settledAt).toISOString()}] ${o
16218
16285
  }
16219
16286
  async function handleSpawnFailures() {
16220
16287
  try {
16221
- const { getOrchestrationMetrics } = await import("./orchestration-events-73VEJT7Q.js");
16288
+ const { getOrchestrationMetrics } = await import("./orchestration-events-2Z2BMMA5.js");
16222
16289
  const metrics = await getOrchestrationMetrics();
16223
16290
  const c = metrics.counts;
16224
16291
  const attempted = c.tmuxSpawnAttempted;
@@ -16320,7 +16387,7 @@ async function handleOrchestrationHealth() {
16320
16387
  async function handleWorkMap() {
16321
16388
  try {
16322
16389
  const { getAgentLivenessReport } = await import("./agent-heartbeat-GUVUUQVM.js");
16323
- const { classifyRole } = await import("./session-kill-telemetry-RWRWOW4C.js");
16390
+ const { classifyRole } = await import("./session-kill-telemetry-RUTEARJ3.js");
16324
16391
  const { buildSessionDeathSummary } = await import("./orchestration-health-read-EJWVUARG.js");
16325
16392
  const { getPaneCwd } = await import("./lib/tmux-status.js");
16326
16393
  const live = getAgentLivenessReport();
@@ -16390,7 +16457,7 @@ async function handleWorkMap() {
16390
16457
  async function handleWorkState(input) {
16391
16458
  try {
16392
16459
  const { getClient: getClient2 } = await import("./lib/database.js");
16393
- const { readWorkState, listWorkStates } = await import("./work-state-heartbeat-MTTUGMPU.js");
16460
+ const { readWorkState, listWorkStates } = await import("./work-state-heartbeat-7IA2DZ2E.js");
16394
16461
  const client = await getClient2();
16395
16462
  const sessionScope = typeof input.session_scope === "string" ? input.session_scope.trim() : "";
16396
16463
  if (sessionScope) {
@@ -16492,7 +16559,7 @@ async function handleDrift(input) {
16492
16559
  }
16493
16560
  async function handleSteward(action, input) {
16494
16561
  const gate = new StewardGate();
16495
- const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-5AKPW2N7.js");
16562
+ const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-3YCLS7GB.js");
16496
16563
  const inputAgent = input.agent_id;
16497
16564
  const operation = input.operation;
16498
16565
  const target = input.target;
@@ -16790,7 +16857,7 @@ function registerResonance(server) {
16790
16857
  }
16791
16858
  }, async ({ action, memory_id, entity_id, limit }) => {
16792
16859
  try {
16793
- const { getHotPairs, getCoActivationNeighbors } = await import("./co-activation-2ZRANV3Q.js");
16860
+ const { getHotPairs, getCoActivationNeighbors } = await import("./co-activation-SRE6DIRX.js");
16794
16861
  if (action === "hot_pairs") {
16795
16862
  const pairs = await getHotPairs(limit ?? 20);
16796
16863
  if (pairs.length === 0) return text4("No co-activation data yet. Pairs are recorded as memories are accessed together in searches.");
@@ -17854,7 +17921,7 @@ var OrgAssignmentEpochError = class extends OrgAssignmentError {
17854
17921
  };
17855
17922
  async function heldOrgKeyEpoch(orgId) {
17856
17923
  try {
17857
- const mod = await import("./org-key-pin-HUSXGINB.js");
17924
+ const mod = await import("./org-key-pin-FE6YHEZ3.js");
17858
17925
  const fn = mod.pinnedOrgKeyEpochs;
17859
17926
  if (typeof fn === "function") {
17860
17927
  const epochs = fn(orgId);