@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
@@ -7,24 +7,26 @@ import {
7
7
  } from "./chunk-S2YTU74T.js";
8
8
  import {
9
9
  createTask
10
- } from "./chunk-IPBNHPTE.js";
10
+ } from "./chunk-IC2AONBH.js";
11
11
  import {
12
12
  getActiveAgent
13
- } from "./chunk-OISOA6NX.js";
13
+ } from "./chunk-GL5ZG72X.js";
14
14
  import {
15
15
  deriveTaskIdempotencyKey,
16
16
  ensureEmployeeAsync,
17
17
  isEmployeeAlive,
18
18
  isExeSession,
19
19
  logTaskDispatch,
20
- resolveExeSession
21
- } from "./chunk-XAGIZVYI.js";
20
+ resolveExeSession,
21
+ spawnOverrideNoopNotice,
22
+ tmuxDispatchRefusal
23
+ } from "./chunk-GM4UEZDE.js";
22
24
  import {
23
25
  getPaneCwdAsync
24
26
  } from "./chunk-6L4VIYLZ.js";
25
27
  import {
26
28
  recordOrchestrationEventBestEffort
27
- } from "./chunk-SA66WRBT.js";
29
+ } from "./chunk-JGBYZTWH.js";
28
30
  import {
29
31
  releaseDispatchClaim,
30
32
  tryAcquireDispatchClaim,
@@ -37,7 +39,7 @@ import {
37
39
  } from "./chunk-IVXELUEQ.js";
38
40
  import {
39
41
  getLicenseSync
40
- } from "./chunk-EIM7OGTD.js";
42
+ } from "./chunk-2BOLFLAU.js";
41
43
  import {
42
44
  isValidSessionScope
43
45
  } from "./chunk-BTSWFMEH.js";
@@ -46,7 +48,7 @@ import {
46
48
  } from "./chunk-GJV3WDWM.js";
47
49
  import {
48
50
  isCoordinatorName
49
- } from "./chunk-3MDUKF3N.js";
51
+ } from "./chunk-L5JFVK5T.js";
50
52
  import {
51
53
  EXE_AI_DIR
52
54
  } from "./chunk-MMS2HBRT.js";
@@ -173,19 +175,6 @@ async function sessionIncarnationId(sessionName) {
173
175
  return null;
174
176
  }
175
177
 
176
- // src/lib/tmux-dispatch-gate.ts
177
- var TMUX_DISPATCH_RETIRED_MESSAGE = "tmux dispatch is retired; dispatch a named subagent: Agent(subagent_type='<name>') \u2014 worktree isolation for code, brief it with a file fence and the guardrails, and persist its result into the task checklist row + memory before you finish. task(action='create') stays a durable checklist row for tracking and never launches compute.";
178
- var TMUX_DISPATCH_ESCAPE_HATCH = "EXE_ALLOW_TMUX_DISPATCH";
179
- function isTmuxDispatchAllowed(env = process.env) {
180
- return env[TMUX_DISPATCH_ESCAPE_HATCH] === "1";
181
- }
182
- function tmuxDispatchRefusal(toolName) {
183
- return `${toolName}: ${TMUX_DISPATCH_RETIRED_MESSAGE} Nothing was created or dispatched.`;
184
- }
185
- function spawnOverrideNoopNotice(fields) {
186
- return `Ignored ${fields.join(", ")} \u2014 ${TMUX_DISPATCH_RETIRED_MESSAGE} Set a subagent's model per employee with set_agent_config, or per dispatch with the Agent tool's own model argument.`;
187
- }
188
-
189
178
  // src/mcp/tools/create-task.ts
190
179
  var ProjectScopeCheckFailedError = class extends Error {
191
180
  constructor(message, options) {
@@ -704,7 +693,7 @@ function registerCreateTask(server, deps = {}) {
704
693
  async ({ execution_mode, title, assigned_to, project_name, priority, complexity, context, blocked_by, parent_task_id, reviewer, budget_tokens, budget_fallback_model, spawn_runtime, spawn_model, spawn_worktree, idempotency_key, idempotency_window, session_scope, work_ref, group_id, override_claim_reason }) => {
705
694
  const executionMode = execution_mode ?? "checklist";
706
695
  const isDurableTmuxDispatch = executionMode === "durable_tmux";
707
- if (isDurableTmuxDispatch && !isTmuxDispatchAllowed()) {
696
+ if (isDurableTmuxDispatch) {
708
697
  return {
709
698
  isError: true,
710
699
  content: [{ type: "text", text: tmuxDispatchRefusal("create_task") }]
@@ -891,7 +880,7 @@ Idempotent no-op (existing task unchanged; no execution side effects)`
891
880
  let claimWarning = "";
892
881
  const claimRefRaw = (work_ref ?? "").trim();
893
882
  try {
894
- const { findConflicts, findConflictsInText, describeConflict, normalizeTarget } = await import("./work-claims-OAICQBWO.js");
883
+ const { findConflicts, findConflictsInText, describeConflict, normalizeTarget } = await import("./work-claims-5CFMZTML.js");
895
884
  const conflicts = claimRefRaw ? await findConflicts(
896
885
  [normalizeTarget({ kind: "work_ref", value: claimRefRaw })],
897
886
  callerRoot
@@ -958,7 +947,7 @@ Nothing was created or dispatched. Either pick different work, or \u2014 if that
958
947
  });
959
948
  if (claimRefRaw) {
960
949
  try {
961
- const { acquireClaim } = await import("./work-claims-OAICQBWO.js");
950
+ const { acquireClaim } = await import("./work-claims-5CFMZTML.js");
962
951
  const acquired = await acquireClaim({
963
952
  targets: [{ kind: "work_ref", value: claimRefRaw }],
964
953
  holderSession: callerRoot,
@@ -1154,7 +1143,7 @@ Note: ${spawnOverrideNoopNotice(ignoredSpawnOverrides)}`;
1154
1143
  }
1155
1144
  if (claimRefRaw) {
1156
1145
  try {
1157
- const { acquireClaim } = await import("./work-claims-OAICQBWO.js");
1146
+ const { acquireClaim } = await import("./work-claims-5CFMZTML.js");
1158
1147
  const acquired = await acquireClaim({
1159
1148
  targets: [{ kind: "work_ref", value: claimRefRaw }],
1160
1149
  holderSession: callerRoot,
@@ -1207,7 +1196,7 @@ Claimed ${claimRefRaw} for session ${callerRoot} (claim_group ${acquired.claimGr
1207
1196
  session_scope: sessionScope,
1208
1197
  created_at: (/* @__PURE__ */ new Date()).toISOString()
1209
1198
  }), "utf-8");
1210
- const { recordOrchestrationEventBestEffort: recordOE } = await import("./orchestration-events-73VEJT7Q.js");
1199
+ const { recordOrchestrationEventBestEffort: recordOE } = await import("./orchestration-events-2Z2BMMA5.js");
1211
1200
  recordOE({
1212
1201
  eventType: "signal.created",
1213
1202
  source: "create-task.mcp",
@@ -1240,7 +1229,7 @@ Claimed ${claimRefRaw} for session ${callerRoot} (claim_group ${acquired.claimGr
1240
1229
  let projectConflictOpts = {};
1241
1230
  try {
1242
1231
  const { getClient } = await import("./lib/database.js");
1243
- const { sessionScopeFilter } = await import("./task-scope-AMR3Z3DJ.js");
1232
+ const { sessionScopeFilter } = await import("./task-scope-NLKUVCP5.js");
1244
1233
  const client = getClient();
1245
1234
  const scope = sessionScopeFilter(task.sessionScope || callerRoot || exeSession || null);
1246
1235
  const existing = await client.execute({
@@ -1536,8 +1525,6 @@ Do NOT call create_task again \u2014 that duplicates the row. Re-dispatch the EX
1536
1525
  }
1537
1526
 
1538
1527
  export {
1539
- isTmuxDispatchAllowed,
1540
- tmuxDispatchRefusal,
1541
1528
  ProjectScopeCheckFailedError,
1542
1529
  isSafeProjectName,
1543
1530
  findProjectChildDir,
@@ -2,11 +2,13 @@ import {
2
2
  buildFtsMatch,
3
3
  buildFtsMatchWithModifiers,
4
4
  extractFtsModifiers,
5
- tokenizeForFts
6
- } from "./chunk-VMHZSZQJ.js";
5
+ ftsQueryTokenInRecord,
6
+ tokenizeForFts,
7
+ tokenizeForFtsTokenMatch
8
+ } from "./chunk-3ARSKDHC.js";
7
9
  import {
8
10
  filterWikiRecallResults
9
- } from "./chunk-33PG3KNY.js";
11
+ } from "./chunk-6NRZLVK3.js";
10
12
  import {
11
13
  attachDocumentMetadata,
12
14
  buildRawVisibilityFilter,
@@ -16,7 +18,7 @@ import {
16
18
  buildVisibilityTierFilter,
17
19
  buildWikiScopeFilter,
18
20
  searchMemories
19
- } from "./chunk-APVU4Q5B.js";
21
+ } from "./chunk-LSHUX7P4.js";
20
22
  import {
21
23
  blobToVector
22
24
  } from "./chunk-OTVEIJUQ.js";
@@ -27,7 +29,7 @@ import {
27
29
  import {
28
30
  isExeMcpTool,
29
31
  stripExeMcpPrefix
30
- } from "./chunk-HYZV25LY.js";
32
+ } from "./chunk-67IVG6CB.js";
31
33
  import {
32
34
  getAgentContext
33
35
  } from "./chunk-GJV3WDWM.js";
@@ -35,7 +37,7 @@ import {
35
37
  getClient,
36
38
  isFtsShadowCorruptionMessage,
37
39
  repairFtsTable
38
- } from "./chunk-3MDUKF3N.js";
40
+ } from "./chunk-L5JFVK5T.js";
39
41
 
40
42
  // src/lib/memory-reads.ts
41
43
  import crypto from "crypto";
@@ -597,7 +599,7 @@ async function hybridSearch(queryText, agentId, options) {
597
599
  let rerankerAvailable = false;
598
600
  if (process.env.EXE_IS_DAEMON === "1") {
599
601
  try {
600
- const { isRerankerAvailable } = await import("./reranker-W7WCJH6Y.js");
602
+ const { isRerankerAvailable } = await import("./reranker-LQ6OPJOI.js");
601
603
  rerankerAvailable = isRerankerAvailable();
602
604
  } catch {
603
605
  }
@@ -637,7 +639,7 @@ ${hydeDoc}`;
637
639
  if (config.fileGrepEnabled === true && !process.env.VITEST && !onFailOpenHotPath) {
638
640
  try {
639
641
  if (process.env.EXE_IS_DAEMON !== "1") {
640
- const { getProjectName } = await import("./project-name-337ERIAX.js");
642
+ const { getProjectName } = await import("./project-name-PGJGUEJY.js");
641
643
  const projectRoot = process.cwd();
642
644
  const projectName = getProjectName(projectRoot);
643
645
  if (projectName && projectName !== "tmp") {
@@ -680,7 +682,7 @@ ${hydeDoc}`;
680
682
  runGraphArm(graphSearch(effectiveQuery, agentId, fetchOptions, Math.min(fetchLimit, 20))),
681
683
  includeStructuredCards ? (async () => {
682
684
  try {
683
- const { searchMemoryCards } = await import("./memory-cards-AT3QCCWU.js");
685
+ const { searchMemoryCards } = await import("./memory-cards-O377ETAM.js");
684
686
  return await searchMemoryCards(effectiveQuery, agentId, fetchOptions);
685
687
  } catch {
686
688
  return [];
@@ -689,7 +691,7 @@ ${hydeDoc}`;
689
691
  // Reflection insights: patterns, contradictions, summaries across sessions
690
692
  includeStructuredCards ? (async () => {
691
693
  try {
692
- const { searchReflections } = await import("./memory-reflection-N6NSYW6S.js");
694
+ const { searchReflections } = await import("./memory-reflection-EXNHRZL7.js");
693
695
  const insights = await searchReflections(effectiveQuery, agentId, 5, fetchOptions);
694
696
  return insights.map((ins) => ({
695
697
  id: ins.id,
@@ -801,7 +803,7 @@ ${hydeDoc}`;
801
803
  let entityBoostRan = false;
802
804
  if (merged.length > 0) {
803
805
  try {
804
- const { applyEntityBoost } = await import("./entity-boost-TK43XT24.js");
806
+ const { applyEntityBoost } = await import("./entity-boost-OMFA5QCG.js");
805
807
  const boosted = await applyEntityBoost(merged, effectiveQuery, getClient());
806
808
  merged = boosted.results;
807
809
  graphContextMap = boosted.graphContext;
@@ -828,7 +830,7 @@ ${hydeDoc}`;
828
830
  try {
829
831
  let rerankedRecords;
830
832
  if (graphContextMap.size > 0) {
831
- const { rerankWithContext } = await import("./reranker-W7WCJH6Y.js");
833
+ const { rerankWithContext } = await import("./reranker-LQ6OPJOI.js");
832
834
  const candidates = merged.map((m) => ({
833
835
  text: m.raw_text,
834
836
  context: graphContextMap.get(m.id)
@@ -836,7 +838,7 @@ ${hydeDoc}`;
836
838
  const scored = await rerankWithContext(effectiveQuery, candidates, rerankReturnLimit);
837
839
  rerankedRecords = scored.map((s) => merged[s.index]);
838
840
  } else {
839
- const { rerank } = await import("./reranker-W7WCJH6Y.js");
841
+ const { rerank } = await import("./reranker-LQ6OPJOI.js");
840
842
  rerankedRecords = await rerank(effectiveQuery, merged, rerankReturnLimit);
841
843
  }
842
844
  if (rerankedRecords.length > 0) {
@@ -1080,11 +1082,13 @@ function isCapturedSearchCall(record) {
1080
1082
  }
1081
1083
  function demoteOffTopicResults(results, queryText) {
1082
1084
  if (results.length < 2) return results;
1083
- const tokens = tokenizeForFts(queryText, { minLen: 2, maxTerms: 16 });
1085
+ const tokens = Array.from(new Set(
1086
+ tokenizeForFts(queryText, { minLen: 2, maxTerms: 16 }).flatMap((t) => tokenizeForFtsTokenMatch(t)).filter((t) => t.length >= 2)
1087
+ ));
1084
1088
  if (tokens.length === 0) return results;
1085
1089
  const hasQueryToken = (text) => {
1086
- const lower = text.toLowerCase();
1087
- return tokens.some((t) => lower.includes(t));
1090
+ const recordTokens = tokenizeForFtsTokenMatch(text);
1091
+ return tokens.some((t) => ftsQueryTokenInRecord(recordTokens, t));
1088
1092
  };
1089
1093
  const SEARCH_CALL_CAPTURE_RE = /memory\s*\(\s*action\s*[:=]?\s*["']?(recall|search)\b/i;
1090
1094
  const bandOf = (record) => {
@@ -1293,7 +1297,7 @@ async function lightweightSearch(queryText, agentId, options) {
1293
1297
  }
1294
1298
  if (results.length >= 2) {
1295
1299
  try {
1296
- const { recordCoActivations } = await import("./co-activation-2ZRANV3Q.js");
1300
+ const { recordCoActivations } = await import("./co-activation-SRE6DIRX.js");
1297
1301
  const ids = results.slice(0, 10).map((r) => r.id);
1298
1302
  void recordCoActivations(ids).catch((e) => {
1299
1303
  try {
@@ -1309,7 +1313,7 @@ async function lightweightSearch(queryText, agentId, options) {
1309
1313
  }
1310
1314
  if (options?.includeStructuredCards !== true) return results;
1311
1315
  try {
1312
- const { searchMemoryCards } = await import("./memory-cards-AT3QCCWU.js");
1316
+ const { searchMemoryCards } = await import("./memory-cards-O377ETAM.js");
1313
1317
  const cardResults = await searchMemoryCards(queryText, agentId, options);
1314
1318
  if (cardResults.length > 0) {
1315
1319
  return rrfMergeMulti([results, cardResults], limit, RRF_K, [1, 0.85]);
@@ -4,14 +4,14 @@ import {
4
4
  } from "./chunk-ZD5TZZXU.js";
5
5
  import {
6
6
  vectorToSqlLiteral
7
- } from "./chunk-APVU4Q5B.js";
7
+ } from "./chunk-LSHUX7P4.js";
8
8
  import {
9
9
  blobToVector
10
10
  } from "./chunk-OTVEIJUQ.js";
11
11
  import {
12
12
  getClient,
13
13
  sanitizeBehaviorContent
14
- } from "./chunk-3MDUKF3N.js";
14
+ } from "./chunk-L5JFVK5T.js";
15
15
 
16
16
  // src/lib/behaviors.ts
17
17
  import crypto from "crypto";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  registerScopedQueryChokepoint,
3
3
  scopedQueryChokepointStatus
4
- } from "./chunk-DACRR362.js";
4
+ } from "./chunk-XQ7BIVLI.js";
5
5
  import {
6
6
  getClient
7
- } from "./chunk-3MDUKF3N.js";
7
+ } from "./chunk-L5JFVK5T.js";
8
8
 
9
9
  // src/lib/org-scoped-rows.ts
10
10
  var SCOPED_QUERY_MAX_LIMIT = 200;
@@ -7,14 +7,14 @@ import {
7
7
  import {
8
8
  listBackups,
9
9
  preBackupCheckpoint
10
- } from "./chunk-YUAOQJVV.js";
10
+ } from "./chunk-SINIRUYZ.js";
11
11
  import {
12
12
  MEMORY_PROJECTION_OUTBOX_INDEX_SQL,
13
13
  MEMORY_PROJECTION_OUTBOX_TABLE_SQL,
14
14
  MEMORY_PROJECTION_OUTBOX_UNIQUE_INDEX_SQL,
15
15
  PROJECTION_CHECKPOINT_TABLE_SQL,
16
16
  ensureMemoryWriteIndex
17
- } from "./chunk-OE7TAEOG.js";
17
+ } from "./chunk-6777GNWI.js";
18
18
  import {
19
19
  recordDbOpen
20
20
  } from "./chunk-5YEUPUV4.js";
@@ -1515,7 +1515,7 @@ async function migrateReflectionDedup(client) {
1515
1515
  "ALTER TABLE memory_reflections ADD COLUMN dedup_key TEXT",
1516
1516
  "migration add memory_reflections.dedup_key"
1517
1517
  );
1518
- const { reflectionDedupKey } = await import("./memory-reflection-N6NSYW6S.js");
1518
+ const { reflectionDedupKey } = await import("./memory-reflection-EXNHRZL7.js");
1519
1519
  const keyForRow = (row) => {
1520
1520
  let sources = [];
1521
1521
  try {
@@ -2573,7 +2573,7 @@ async function sweepExpiredSoftDeletedMemories(client, options = {}) {
2573
2573
  const purgeArchived = archDays !== void 0;
2574
2574
  const BATCH_SIZE = 2e3;
2575
2575
  const MAX_BATCHES = 500;
2576
- const { cleanupCardsForMemories, cleanupGraphLinksForMemories } = await import("./graph-rag-GBA5E3QC.js");
2576
+ const { cleanupCardsForMemories, cleanupGraphLinksForMemories } = await import("./graph-rag-UWOTK4AQ.js");
2577
2577
  const softCutoff = `-${softDays} days`;
2578
2578
  const selectArgsBase = [softCutoff];
2579
2579
  let predicate = `status = 'deleted' AND COALESCE(deleted_at, timestamp) < datetime('now', ?)`;
@@ -5014,6 +5014,7 @@ export {
5014
5014
  recordTriggerFire,
5015
5015
  disposeTurso,
5016
5016
  disposeDatabase,
5017
+ IDENTITY_DIR,
5017
5018
  IdentityWriteError,
5018
5019
  identityPath,
5019
5020
  getIdentity,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-3MDUKF3N.js";
3
+ } from "./chunk-L5JFVK5T.js";
4
4
 
5
5
  // src/lib/skill-usage.ts
6
6
  async function recordBehaviorsConsulted(behaviorIds) {
@@ -2,7 +2,7 @@ import {
2
2
  grantsRegistryStatus,
3
3
  listGrants,
4
4
  revokeGrant
5
- } from "./chunk-TCV3WA5I.js";
5
+ } from "./chunk-VAHQOIQY.js";
6
6
  import {
7
7
  resolveExeDataDir
8
8
  } from "./chunk-NPXIS2RY.js";
@@ -169,9 +169,6 @@ function orgModeAnchorState() {
169
169
  }
170
170
  return kc === "unknown" ? "unknown" : "absent";
171
171
  }
172
- function orgModeAnchorPresent() {
173
- return orgModeAnchorState() === "present";
174
- }
175
172
  function writeOrgModeAnchor() {
176
173
  _anchorSeen = true;
177
174
  const setResult = keychainSet();
@@ -458,12 +455,21 @@ function stickyLatchPresent() {
458
455
  return true;
459
456
  }
460
457
  }
458
+ var _warnedAnchorUnreadable = false;
459
+ function warnAnchorUnreadableOnce() {
460
+ if (_warnedAnchorUnreadable) return;
461
+ _warnedAnchorUnreadable = true;
462
+ process.stderr.write(
463
+ "[exe-os] \u26A0 the out-of-data-dir org-mode anchor could not be read \u2014 treating this install as org-mode until it can be (fail closed: the founder-monitor writer stays unusable). No latch was written; this clears itself once the anchor is readable again.\n"
464
+ );
465
+ }
461
466
  function orgModeActive() {
462
467
  if (_latchedOrgMode) {
463
468
  if (_quarantinePending) ensureGrantsQuarantined();
464
469
  return true;
465
470
  }
466
- if (orgModeAnchorPresent()) {
471
+ const anchor = orgModeAnchorState();
472
+ if (anchor === "present") {
467
473
  _latchedOrgMode = true;
468
474
  ensureGrantsQuarantined();
469
475
  return true;
@@ -475,7 +481,13 @@ function orgModeActive() {
475
481
  return true;
476
482
  }
477
483
  const membershipsPresence = classifyPathPresence(orgMembershipsPath());
478
- if (membershipsPresence === "absent") return false;
484
+ if (membershipsPresence === "absent") {
485
+ if (anchor === "unknown") {
486
+ warnAnchorUnreadableOnce();
487
+ return true;
488
+ }
489
+ return false;
490
+ }
479
491
  if (membershipsPresence === "inconclusive") {
480
492
  process.stderr.write(
481
493
  `[exe-os] \u26A0 org-memberships file at ${orgMembershipsPath()} could not be checked (permission or I/O error) \u2014 treating install as org-mode (fail closed: ambiguity resolves toward org mode)
@@ -539,6 +551,7 @@ function warnQuarantineDeferredOnce(msg) {
539
551
  function _resetOrgModeLatchForTest() {
540
552
  _quarantinePending = false;
541
553
  _warnedQuarantineDeferred = false;
554
+ _warnedAnchorUnreadable = false;
542
555
  _latchedOrgMode = false;
543
556
  }
544
557
 
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-4MK6LOD6.js";
6
6
  import {
7
7
  sessionScopeFilter
8
- } from "./chunk-XAGIZVYI.js";
8
+ } from "./chunk-GM4UEZDE.js";
9
9
  import {
10
10
  isWithin
11
11
  } from "./chunk-YRUZK2QA.js";
@@ -297,7 +297,7 @@ async function sweepTasks(projectName, options = {}) {
297
297
  }
298
298
  if (!dryRun) {
299
299
  try {
300
- const { updateTaskStatus } = await import("./tasks-crud-2GHKIZOM.js");
300
+ const { updateTaskStatus } = await import("./tasks-crud-NQDPLHNZ.js");
301
301
  await updateTaskStatus({
302
302
  taskId: task.id,
303
303
  status: "needs_review",
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  WORK_STATE_HEARTBEAT_TOOL
3
- } from "./chunk-64UAHPXA.js";
3
+ } from "./chunk-MOBZTIJQ.js";
4
4
  import {
5
5
  extractKeywords,
6
6
  keywordsToString
@@ -11,7 +11,7 @@ import {
11
11
  import {
12
12
  findScopedDuplicate,
13
13
  governMemoryRecord
14
- } from "./chunk-PKM456D2.js";
14
+ } from "./chunk-FYSKQPTE.js";
15
15
  import {
16
16
  orgBus
17
17
  } from "./chunk-MP2AFCGL.js";
@@ -22,12 +22,12 @@ import {
22
22
  initPostgresOnlyDatabase,
23
23
  initTurso,
24
24
  isDaemonRoutingActive
25
- } from "./chunk-3MDUKF3N.js";
25
+ } from "./chunk-L5JFVK5T.js";
26
26
  import {
27
27
  buildMemoryInsert,
28
28
  persistMemoryBatch,
29
29
  readMemoryWriteOutcome
30
- } from "./chunk-OE7TAEOG.js";
30
+ } from "./chunk-6777GNWI.js";
31
31
  import {
32
32
  memoryWriteScope,
33
33
  sameMemoryWriteScope
@@ -43,7 +43,7 @@ import {
43
43
  } from "./chunk-C7GHNJPW.js";
44
44
  import {
45
45
  getMasterKey
46
- } from "./chunk-KIJRAZWR.js";
46
+ } from "./chunk-4J77TCTX.js";
47
47
  import {
48
48
  loadConfig
49
49
  } from "./chunk-MMS2HBRT.js";
@@ -93,7 +93,7 @@ function recordShardFailure(project, error) {
93
93
  `[store] Shard circuit OPEN for "${project}" after ${state.failures} consecutive failures. Will retry in ${SHARD_CB_COOLDOWN_MS / 6e4}min. Last error: ${error}
94
94
  `
95
95
  );
96
- void import("./orchestration-events-73VEJT7Q.js").then(({ recordOrchestrationEventBestEffort }) => {
96
+ void import("./orchestration-events-2Z2BMMA5.js").then(({ recordOrchestrationEventBestEffort }) => {
97
97
  recordOrchestrationEventBestEffort({
98
98
  eventType: "shard.circuit_open",
99
99
  source: "store.recordShardFailure",
@@ -185,7 +185,7 @@ async function initStore(options) {
185
185
  if (!options?.lightweight) {
186
186
  try {
187
187
  if (process.env.EXE_DISABLE_SHARDING !== "1") {
188
- const { initShardManager } = await import("./shard-manager-LRPAAQA4.js");
188
+ const { initShardManager } = await import("./shard-manager-FH5JZRSE.js");
189
189
  initShardManager(hexKey);
190
190
  }
191
191
  } catch (e) {
@@ -198,7 +198,7 @@ async function initStore(options) {
198
198
  );
199
199
  _nextVersion = (Number(vResult.rows[0]?.max_v) || 0) + 1;
200
200
  try {
201
- const { loadGlobalProcedures } = await import("./global-procedures-T3RKI4QX.js");
201
+ const { loadGlobalProcedures } = await import("./global-procedures-PYNE2BQG.js");
202
202
  await loadGlobalProcedures();
203
203
  } catch (e) {
204
204
  logStoreWarn("catch", e);
@@ -319,7 +319,7 @@ async function writeMemory(record) {
319
319
  founder_id: record.founder_id ?? null
320
320
  };
321
321
  try {
322
- const { checkMemoryPoisoning } = await import("./memory-poisoning-defense-TS4WNW4S.js");
322
+ const { checkMemoryPoisoning } = await import("./memory-poisoning-defense-Y5TTKGOP.js");
323
323
  const poisonResult = await checkMemoryPoisoning({
324
324
  memoryId: dbRow.id,
325
325
  vector: Array.isArray(dbRow.vector) ? dbRow.vector : void 0,
@@ -378,19 +378,19 @@ async function flushPendingBatch() {
378
378
  }
379
379
  if (eligibleBatch.length > 0) {
380
380
  try {
381
- const { insertMemoryCardsForBatch } = await import("./memory-cards-AT3QCCWU.js");
381
+ const { insertMemoryCardsForBatch } = await import("./memory-cards-O377ETAM.js");
382
382
  await insertMemoryCardsForBatch(eligibleBatch);
383
383
  } catch (e) {
384
384
  logStoreWarn("catch", e);
385
385
  }
386
386
  try {
387
- const { insertOntologyForBatch } = await import("./agentic-ontology-6RS7A7KP.js");
387
+ const { insertOntologyForBatch } = await import("./agentic-ontology-RA6CMND6.js");
388
388
  await insertOntologyForBatch(eligibleBatch);
389
389
  } catch (e) {
390
390
  logStoreWarn("catch", e);
391
391
  }
392
392
  try {
393
- const { extractGraphForBatch } = await import("./memory-graph-extractor-B43UWGV5.js");
393
+ const { extractGraphForBatch } = await import("./memory-graph-extractor-4KJCCUOP.js");
394
394
  await extractGraphForBatch(eligibleBatch);
395
395
  } catch (e) {
396
396
  logStoreWarn("catch", e);
@@ -398,7 +398,7 @@ async function flushPendingBatch() {
398
398
  }
399
399
  _lastFlushShardFailures = [];
400
400
  try {
401
- const { isShardingEnabled, getReadyShardClient } = await import("./shard-manager-LRPAAQA4.js");
401
+ const { isShardingEnabled, getReadyShardClient } = await import("./shard-manager-FH5JZRSE.js");
402
402
  if (process.env.EXE_DISABLE_SHARDING !== "1" && isShardingEnabled()) {
403
403
  const byProject = /* @__PURE__ */ new Map();
404
404
  let skippedUnknown = 0;
@@ -577,7 +577,7 @@ async function searchMemories(queryVector, agentId, options) {
577
577
  let client;
578
578
  let isMainDb = true;
579
579
  try {
580
- const { isShardingEnabled, shardExists, getReadyShardClient } = await import("./shard-manager-LRPAAQA4.js");
580
+ const { isShardingEnabled, shardExists, getReadyShardClient } = await import("./shard-manager-FH5JZRSE.js");
581
581
  if (!options?.strictSessionScope && isShardingEnabled() && options?.projectName && shardExists(options.projectName)) {
582
582
  client = await getReadyShardClient(options.projectName);
583
583
  isMainDb = false;
@@ -616,7 +616,7 @@ async function searchMemories(queryVector, agentId, options) {
616
616
  args.push(activeEmbeddingModel);
617
617
  }
618
618
  try {
619
- const { founderScopeFilter } = await import("./founder-context-QIXDZIJX.js");
619
+ const { founderScopeFilter } = await import("./founder-context-3X4QUWKD.js");
620
620
  const founderFilter = founderScopeFilter(options?.founderId);
621
621
  sql += founderFilter.sql;
622
622
  args.push(...founderFilter.args.filter((a) => a !== null));
@@ -700,7 +700,7 @@ async function searchMemories(queryVector, agentId, options) {
700
700
  source_type: row.source_type ?? null,
701
701
  strength: row.strength ?? 1
702
702
  }));
703
- const { filterWikiRecallResults } = await import("./wiki-acl-N754BC2W.js");
703
+ const { filterWikiRecallResults } = await import("./wiki-acl-M7BTQJBZ.js");
704
704
  return filterWikiRecallResults(mapped, agentId);
705
705
  }
706
706
  async function attachDocumentMetadata(records) {
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  getCurrentSessionScope,
3
3
  strictSessionScopeFilter
4
- } from "./chunk-XAGIZVYI.js";
4
+ } from "./chunk-GM4UEZDE.js";
5
5
  import {
6
6
  getProjectName
7
- } from "./chunk-4Q7H3TO7.js";
7
+ } from "./chunk-TVWYMOZ4.js";
8
8
 
9
9
  // src/lib/session-events.ts
10
10
  import { randomUUID } from "crypto";
@@ -1,9 +1,11 @@
1
1
  import {
2
- extractSemanticText
3
- } from "./chunk-5N34MMKS.js";
2
+ extractSemanticText,
3
+ isSecretRedactedCapture,
4
+ redactCommandLineSecrets
5
+ } from "./chunk-6APOLYIZ.js";
4
6
  import {
5
7
  detectError
6
- } from "./chunk-G2M7WQ2M.js";
8
+ } from "./chunk-CBC3JCIF.js";
7
9
  import {
8
10
  contextualizeCapture
9
11
  } from "./chunk-5MOYSU5A.js";
@@ -12,10 +14,10 @@ import {
12
14
  } from "./chunk-BYP3DOUU.js";
13
15
  import {
14
16
  resolveExeSession
15
- } from "./chunk-XAGIZVYI.js";
17
+ } from "./chunk-GM4UEZDE.js";
16
18
  import {
17
19
  getProjectName
18
- } from "./chunk-4Q7H3TO7.js";
20
+ } from "./chunk-TVWYMOZ4.js";
19
21
 
20
22
  // src/lib/post-tool-memory.ts
21
23
  var NON_INGESTIBLE_TOOLS = /* @__PURE__ */ new Set([
@@ -44,16 +46,16 @@ function buildPostToolMemoryEntry(data, agent, meta) {
44
46
  if (!shouldIngestToolResult(data)) return null;
45
47
  let rawText = extractSemanticText(data.tool_name, data.tool_input, data.tool_response);
46
48
  if (rawText.trim().length < 10) {
47
- const inputPreview = redactSecrets(JSON.stringify(data.tool_input ?? "").slice(0, 500)).text;
48
- const outputPreview = redactSecrets(JSON.stringify(data.tool_response ?? "").slice(0, 500)).text;
49
+ const inputPreview = redactSecrets(redactCommandLineSecrets(JSON.stringify(data.tool_input ?? "")).text).text.slice(0, 500);
50
+ const outputPreview = redactSecrets(redactCommandLineSecrets(JSON.stringify(data.tool_response ?? "")).text).text.slice(0, 500);
49
51
  rawText = `Tool call: ${data.tool_name}
50
52
  Input: ${inputPreview}
51
53
  Output: ${outputPreview}`;
52
54
  }
53
55
  if (rawText.trim().length < 10) return null;
54
56
  const hasError = detectError(data);
55
- const toolInputStr = redactSecrets(JSON.stringify(data.tool_input ?? "").slice(0, 200)).text;
56
- const toolOutputStr = redactSecrets(JSON.stringify(data.tool_response ?? "").slice(0, 200)).text;
57
+ const toolInputStr = redactSecrets(redactCommandLineSecrets(JSON.stringify(data.tool_input ?? "")).text).text.slice(0, 200);
58
+ const toolOutputStr = redactSecrets(redactCommandLineSecrets(JSON.stringify(data.tool_response ?? "")).text).text.slice(0, 200);
57
59
  const projectName = getProjectName(data.cwd ?? process.cwd());
58
60
  const timestamp = (/* @__PURE__ */ new Date()).toISOString();
59
61
  const contextualizedRawText = contextualizeCapture(rawText, {
@@ -63,6 +65,7 @@ Output: ${outputPreview}`;
63
65
  toolName: data.tool_name
64
66
  });
65
67
  const sessionScope = resolveExeSession() ?? void 0;
68
+ const secretRedactionApplied = isSecretRedactedCapture(contextualizedRawText) || isSecretRedactedCapture(toolInputStr) || isSecretRedactedCapture(toolOutputStr);
66
69
  return {
67
70
  raw_text: contextualizedRawText,
68
71
  agent_id: agent.agentId,
@@ -74,13 +77,15 @@ Output: ${outputPreview}`;
74
77
  timestamp,
75
78
  ...sessionScope ? { session_scope: sessionScope } : {},
76
79
  ...meta?.subagentAgentType ? { subagent_agent_type: meta.subagentAgentType } : {},
80
+ ...secretRedactionApplied ? { secret_redaction_applied: true } : {},
77
81
  trajectory: JSON.stringify({
78
82
  input: toolInputStr,
79
83
  tool: data.tool_name,
80
84
  output: toolOutputStr,
81
85
  result_type: hasError ? "error" : "success",
82
86
  // Untrusted subagent name (metadata only — never the owner).
83
- ...meta?.subagentAgentType ? { subagent_agent_type: meta.subagentAgentType } : {}
87
+ ...meta?.subagentAgentType ? { subagent_agent_type: meta.subagentAgentType } : {},
88
+ ...secretRedactionApplied ? { secret_redaction_applied: true } : {}
84
89
  })
85
90
  };
86
91
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getMasterKey
3
- } from "./chunk-KIJRAZWR.js";
3
+ } from "./chunk-4J77TCTX.js";
4
4
 
5
5
  // src/lib/partner-sign-identity.ts
6
6
  import crypto from "crypto";