@askexenow/exe-os 0.9.372 → 0.9.374

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 (470) hide show
  1. package/deploy/compose/.env.customer.example +45 -10
  2. package/deploy/compose/.env.example +46 -9
  3. package/deploy/compose/docker-compose.yml +136 -18
  4. package/deploy/compose/generate-env.ts +142 -34
  5. package/deploy/compose/sso-edge/default.conf.template +78 -7
  6. package/deploy/compose/sso-edge/sso-redirect.conf +109 -13
  7. package/deploy/stack-manifests/v0.9.30-apps.json +1 -1
  8. package/deploy/stack-manifests/v0.9.json +4 -4
  9. package/dist/.dist-verified.json +3 -3
  10. package/dist/{active-agent-GRT5MKD5.js → active-agent-ONPPEWQV.js} +7 -6
  11. package/dist/{active-agent-L2ZSSXDK.js → active-agent-UJKMG7LJ.js} +7 -6
  12. package/dist/{agent-defs-generator-M4ZNYIVX.js → agent-defs-generator-ZWI6DXOE.js} +6 -5
  13. package/dist/{agent-loop-FOK2IRZQ.js → agent-loop-OYHJKNYH.js} +1 -1
  14. package/dist/{agentic-ontology-DMPRDEUX.js → agentic-ontology-WHFJ3QFS.js} +1 -1
  15. package/dist/{artifact-backup-767STHSW.js → artifact-backup-WXZNB7KE.js} +2 -1
  16. package/dist/{backfill-gate-VX2RZTQV.js → backfill-gate-KWJQ35YX.js} +3 -2
  17. package/dist/{backfill-metadata-ZMEHJQ5M.js → backfill-metadata-3OUSQD5V.js} +8 -7
  18. package/dist/{background-jobs-LTPWCMA3.js → background-jobs-6VMD55PK.js} +3 -2
  19. package/dist/{backup-verify-EX2K732J.js → backup-verify-ZKTUYLTA.js} +4 -3
  20. package/dist/{behavior-injection-22AGMS25.js → behavior-injection-M6UYZCMW.js} +17 -15
  21. package/dist/{behaviors-DVFXAWF5.js → behaviors-ZJ45TFBJ.js} +21 -13
  22. package/dist/bin/age-ontology-load.js +3 -2
  23. package/dist/bin/agentic-ontology-backfill.js +10 -9
  24. package/dist/bin/agentic-reflection-backfill.js +11 -10
  25. package/dist/bin/agentic-semantic-label.js +10 -9
  26. package/dist/bin/backfill-conversations.js +13 -11
  27. package/dist/bin/backfill-responses.js +13 -11
  28. package/dist/bin/backfill-vectors.js +17 -15
  29. package/dist/bin/bulk-sync-postgres.js +22 -20
  30. package/dist/bin/cc-doctor.js +10 -9
  31. package/dist/bin/cleanup-stale-review-tasks.js +29 -26
  32. package/dist/bin/cli.js +36 -26
  33. package/dist/bin/deferred-daemon-restart.js +114 -110
  34. package/dist/bin/exe-agent-config.js +6 -5
  35. package/dist/bin/exe-agent.js +127 -33
  36. package/dist/bin/exe-assign.js +15 -13
  37. package/dist/bin/exe-boot.js +57 -54
  38. package/dist/bin/exe-call.js +8 -7
  39. package/dist/bin/exe-cloud.js +24 -22
  40. package/dist/bin/exe-config-dump.js +6 -5
  41. package/dist/bin/exe-dispatch.js +30 -27
  42. package/dist/bin/exe-doctor.js +14 -10
  43. package/dist/bin/exe-export-behaviors.js +19 -17
  44. package/dist/bin/exe-forget.js +10 -9
  45. package/dist/bin/exe-gateway.js +199 -19
  46. package/dist/bin/exe-grant.js +5 -5
  47. package/dist/bin/exe-healthcheck.js +10 -9
  48. package/dist/bin/exe-heartbeat.js +35 -32
  49. package/dist/bin/exe-kill.js +34 -31
  50. package/dist/bin/exe-launch-agent.js +126 -54
  51. package/dist/bin/exe-mcp.js +6 -5
  52. package/dist/bin/exe-memory-reads.js +8 -7
  53. package/dist/bin/exe-new-employee.js +12 -11
  54. package/dist/bin/exe-os-mcp-proxy.js +6 -5
  55. package/dist/bin/exe-pending-messages.js +30 -27
  56. package/dist/bin/exe-pending-notifications.js +29 -26
  57. package/dist/bin/exe-pending-reviews.js +30 -27
  58. package/dist/bin/exe-rename.js +8 -7
  59. package/dist/bin/exe-repo-truth.js +1 -1
  60. package/dist/bin/exe-review.js +33 -30
  61. package/dist/bin/exe-search.js +9 -8
  62. package/dist/bin/exe-session-cleanup.js +35 -32
  63. package/dist/bin/exe-settings.js +24 -22
  64. package/dist/bin/exe-start-codex.js +137 -55
  65. package/dist/bin/exe-start-opencode.js +121 -23
  66. package/dist/bin/exe-status.js +31 -28
  67. package/dist/bin/exe-support.js +5 -4
  68. package/dist/bin/exe-team.js +7 -6
  69. package/dist/bin/exe-watchdog.js +31 -11
  70. package/dist/bin/generate-hook-manifest.js +44 -7
  71. package/dist/bin/git-sweep.js +31 -28
  72. package/dist/bin/graph-backfill.js +89 -35
  73. package/dist/bin/graph-export.js +9 -8
  74. package/dist/bin/import-history.js +14 -13
  75. package/dist/bin/install.js +137 -113
  76. package/dist/bin/intercom-check.js +5 -5
  77. package/dist/bin/mcp-sessions.js +2 -2
  78. package/dist/bin/orchestration-metrics.js +7 -6
  79. package/dist/bin/postgres-agentic-reflection-backfill.js +5 -4
  80. package/dist/bin/postgres-agentic-semantic-backfill.js +4 -3
  81. package/dist/bin/pre-publish.js +1 -1
  82. package/dist/bin/reconcile-backlog.js +2 -2
  83. package/dist/bin/registry-proxy.js +1 -1
  84. package/dist/bin/scan-tasks.js +29 -26
  85. package/dist/bin/setup.js +5 -4
  86. package/dist/bin/shard-migrate.js +9 -8
  87. package/dist/bin/stack-update.js +40 -9
  88. package/dist/bin/verify-stack.js +2 -2
  89. package/dist/bin/vps-health-gate.js +1 -1
  90. package/dist/{boot-generation-OHXH4YC5.js → boot-generation-JKVZ4ZAT.js} +6 -5
  91. package/dist/{boot-review-sections-N5IXIGSS.js → boot-review-sections-2M6BTG73.js} +28 -25
  92. package/dist/{branch-hygiene-KCGXRAWP.js → branch-hygiene-U5GFRSTP.js} +31 -7
  93. package/dist/{branding-GH43W3PU.js → branding-I6KIMB7F.js} +3 -2
  94. package/dist/budget-fallback-XJRPMP2D.js +11 -0
  95. package/dist/build-manifest.json +1318 -1233
  96. package/dist/{capability-cards-4PXVLIVS.js → capability-cards-5IMJT6J7.js} +5 -4
  97. package/dist/{capacity-monitor-FKMQXORX.js → capacity-monitor-SAXCQK7O.js} +30 -27
  98. package/dist/{catchup-brief-SN5EKO4N.js → catchup-brief-U2TXBLHD.js} +34 -31
  99. package/dist/{chunk-CNC57JCS.js → chunk-23MVDXLY.js} +4 -4
  100. package/dist/{chunk-V4XAKXXF.js → chunk-2AJGV5UL.js} +1 -1
  101. package/dist/{chunk-FBYAXTDM.js → chunk-2ZOEC4KC.js} +10 -2
  102. package/dist/{chunk-ELXFSIIM.js → chunk-32YV32VA.js} +2 -2
  103. package/dist/{chunk-44C7QNZS.js → chunk-3KDCORDO.js} +1 -1
  104. package/dist/{chunk-JTB5V6BV.js → chunk-3SXHEQ7X.js} +1 -1
  105. package/dist/{chunk-HDW4XPDV.js → chunk-3UUX5OY4.js} +1 -1
  106. package/dist/{chunk-7PSLK36P.js → chunk-44TLJZJ5.js} +1 -1
  107. package/dist/{chunk-JTWTBX2M.js → chunk-4EN3IZ3Q.js} +2 -1
  108. package/dist/{chunk-KPMC7PY7.js → chunk-4HKTO2SV.js} +1 -1
  109. package/dist/{chunk-CDUB5Q6J.js → chunk-4IK2K3B3.js} +1 -1
  110. package/dist/{chunk-GH6YJOOC.js → chunk-4SJ4LK4V.js} +6 -6
  111. package/dist/{chunk-PVEM537A.js → chunk-4YLBKEL5.js} +2 -2
  112. package/dist/chunk-4YNA3CM6.js +872 -0
  113. package/dist/{chunk-KYFFVTGO.js → chunk-55BEFF4V.js} +3 -3
  114. package/dist/{chunk-SEP5ITFQ.js → chunk-636LKCKE.js} +2 -2
  115. package/dist/{chunk-QTI4QAWA.js → chunk-6EZQUNE6.js} +338 -5
  116. package/dist/{chunk-WAEKYKTK.js → chunk-6RKKVPYF.js} +1 -1
  117. package/dist/{chunk-VX2F4ZUY.js → chunk-6SCGLHJ7.js} +3 -3
  118. package/dist/{chunk-MEGRQ53A.js → chunk-6VHOQ3IM.js} +51 -6
  119. package/dist/{chunk-HIIXCAEE.js → chunk-6YVUR3OU.js} +3 -3
  120. package/dist/{chunk-L6ZNURWN.js → chunk-7GE2EQ23.js} +1 -1
  121. package/dist/{chunk-2CWS374F.js → chunk-7RI2CNXJ.js} +1 -1
  122. package/dist/{chunk-OL3QP3AU.js → chunk-7TSBV3SD.js} +1 -1
  123. package/dist/{chunk-DSOQUQTV.js → chunk-A27Q27CT.js} +27 -0
  124. package/dist/{chunk-5AHRZI3R.js → chunk-AETLDRZB.js} +1 -1
  125. package/dist/{chunk-RNLF3CBB.js → chunk-AKLJ4JH3.js} +1 -1
  126. package/dist/{chunk-XHYHX6F7.js → chunk-AKLQSC6W.js} +329 -164
  127. package/dist/chunk-ANLFH23R.js +261 -0
  128. package/dist/{chunk-QLA3RTH4.js → chunk-AWWKRZMB.js} +5 -5
  129. package/dist/{chunk-ERVQTR7P.js → chunk-BBSIEYF5.js} +17 -3
  130. package/dist/{chunk-IPMUWYRQ.js → chunk-BJ7AVSY6.js} +2 -2
  131. package/dist/{chunk-HV6Y6F4X.js → chunk-C2L622QJ.js} +89 -3
  132. package/dist/{chunk-TX3Q2GIL.js → chunk-C5HUMAA7.js} +24 -1
  133. package/dist/{chunk-QTYJPWJN.js → chunk-CBCGDEJA.js} +7 -7
  134. package/dist/{chunk-XXSNLM6R.js → chunk-DB55JZHU.js} +1 -1
  135. package/dist/{chunk-LAZKEJMS.js → chunk-DIXXEE3S.js} +840 -607
  136. package/dist/{chunk-FB343XQX.js → chunk-DJ7YXOTU.js} +2 -2
  137. package/dist/{chunk-YFCNWQAM.js → chunk-DJOIMFKV.js} +2 -2
  138. package/dist/{chunk-UTDMTQNH.js → chunk-DSJI76XL.js} +92 -14
  139. package/dist/{chunk-EEXX4UMQ.js → chunk-DZKPOSFD.js} +1 -1
  140. package/dist/{chunk-WSOA3WMC.js → chunk-E426DOSY.js} +161 -4
  141. package/dist/{chunk-ZISQOOER.js → chunk-EKE37MO4.js} +3 -3
  142. package/dist/{chunk-RIECV7SR.js → chunk-EKYYMIVT.js} +1 -1
  143. package/dist/{chunk-HIVZ53YB.js → chunk-EXTZSNWL.js} +2 -2
  144. package/dist/{chunk-YYA5LXCT.js → chunk-FNEZ4BWT.js} +1 -1
  145. package/dist/chunk-FTZET5YX.js +313 -0
  146. package/dist/chunk-GHR4ZPJ7.js +70 -0
  147. package/dist/{chunk-MINXPXAB.js → chunk-GJI77VDO.js} +3 -3
  148. package/dist/{chunk-AAMGHW5W.js → chunk-GLQEJOXE.js} +1 -0
  149. package/dist/{chunk-ADNBOKYZ.js → chunk-GM7TLYOK.js} +60 -18
  150. package/dist/{chunk-RUWWES2K.js → chunk-GNUAL43X.js} +2 -2
  151. package/dist/{chunk-QZL6E4UB.js → chunk-GOMQ7PVQ.js} +2 -2
  152. package/dist/{chunk-GB3AHV5F.js → chunk-GQOEWNVM.js} +1 -1
  153. package/dist/{chunk-NQZUSEAR.js → chunk-GS7LIT34.js} +246 -17
  154. package/dist/{chunk-XTWHNLGD.js → chunk-GZOG2MAX.js} +1 -1
  155. package/dist/{chunk-E5HAY3DQ.js → chunk-HDLAB7W3.js} +1 -1
  156. package/dist/{chunk-E5QQZDQN.js → chunk-HNWS7YHN.js} +358 -136
  157. package/dist/{chunk-VV5EZZNT.js → chunk-HTBEVCO2.js} +1 -1
  158. package/dist/{chunk-OZBII5E3.js → chunk-I4DNJFDR.js} +4 -4
  159. package/dist/{chunk-SI5SZAJA.js → chunk-IBS2FAI4.js} +21 -4
  160. package/dist/{chunk-J5EYOBFF.js → chunk-IHXW4VUI.js} +1 -1
  161. package/dist/{chunk-RUVO3NJC.js → chunk-IN6CAM4F.js} +9 -3
  162. package/dist/{chunk-53PYNYTW.js → chunk-IRVOXUSK.js} +5 -5
  163. package/dist/{chunk-THM7J6UI.js → chunk-JHI5WMK5.js} +5 -5
  164. package/dist/{chunk-3KTQWMHI.js → chunk-JSMDRKPJ.js} +12 -4
  165. package/dist/chunk-JTVIANUB.js +131 -0
  166. package/dist/{chunk-2ADYTOHQ.js → chunk-K4ESASPL.js} +1 -1
  167. package/dist/{chunk-YWUQVHDL.js → chunk-KTCXJWJG.js} +1 -1
  168. package/dist/{chunk-RGUDGC6A.js → chunk-KTU3EAWK.js} +5 -5
  169. package/dist/{chunk-DKBPCOU4.js → chunk-L6RXG36J.js} +2 -2
  170. package/dist/{chunk-T4EK56WI.js → chunk-LDNYSMPZ.js} +1 -1
  171. package/dist/{chunk-RIK5GRWI.js → chunk-LGS2V2XD.js} +3 -3
  172. package/dist/{chunk-JKXZGRWR.js → chunk-LP4GB656.js} +2 -2
  173. package/dist/{chunk-H74466TM.js → chunk-M7O7TGGU.js} +1 -1
  174. package/dist/chunk-MJCSEIFI.js +54 -0
  175. package/dist/{chunk-IDZPQG2D.js → chunk-MOGA4Q7F.js} +2 -2
  176. package/dist/{chunk-OYQNNKNS.js → chunk-MXPNVSXI.js} +37 -14
  177. package/dist/{chunk-UVW7YFAF.js → chunk-N7VEP5B3.js} +4 -4
  178. package/dist/{chunk-HHE2HV3V.js → chunk-NBXDXKLC.js} +1 -1
  179. package/dist/{chunk-LDL3S7AC.js → chunk-NKETJCB5.js} +7 -3
  180. package/dist/{chunk-ECHLVLA7.js → chunk-NMH5ZQPU.js} +1 -1
  181. package/dist/{chunk-U3XLRMJD.js → chunk-NT7W4RXD.js} +1 -1
  182. package/dist/{chunk-UQUUNGTP.js → chunk-NUK7EEN5.js} +11 -9
  183. package/dist/{chunk-GBNB4EWD.js → chunk-ORM7ZFKC.js} +16 -0
  184. package/dist/{chunk-O4ZFRK6W.js → chunk-OVEQE6YS.js} +244 -49
  185. package/dist/{chunk-4ZJ5BPY6.js → chunk-PB5S7YOF.js} +2 -2
  186. package/dist/{chunk-JR23BL74.js → chunk-PDVXWXTL.js} +4 -4
  187. package/dist/{chunk-3CIMDFXG.js → chunk-PFQ3VEEM.js} +1 -1
  188. package/dist/{chunk-SBJV2PCU.js → chunk-PHBU4LGO.js} +1 -1
  189. package/dist/{chunk-W25RLOQ2.js → chunk-PLZSZOZN.js} +3 -3
  190. package/dist/{chunk-THIJIOE2.js → chunk-PY3FOMRN.js} +18 -6
  191. package/dist/{chunk-AAUWFXOX.js → chunk-Q3AXXKDF.js} +3 -3
  192. package/dist/{chunk-VKXS2YGN.js → chunk-QHJR7IMX.js} +2 -2
  193. package/dist/chunk-QLZ46RCK.js +45 -0
  194. package/dist/{chunk-UHPMK6QZ.js → chunk-R3CZWFFC.js} +10 -2
  195. package/dist/{chunk-6XEYELCA.js → chunk-R4CBHKZ2.js} +1 -1
  196. package/dist/{chunk-5APCDDJZ.js → chunk-R522MWAR.js} +9 -9
  197. package/dist/chunk-RH4AH3YB.js +80 -0
  198. package/dist/{chunk-AMKSDKMK.js → chunk-S2WBS6BG.js} +22 -35
  199. package/dist/{chunk-WUKQVNLP.js → chunk-SEQIPGLU.js} +1 -1
  200. package/dist/{chunk-7WQRFSZI.js → chunk-SL6KQYDU.js} +26 -6
  201. package/dist/chunk-SLLLOOEI.js +103 -0
  202. package/dist/{chunk-5N4SG5NB.js → chunk-T35RCQFE.js} +3 -3
  203. package/dist/{chunk-7V6M3QUS.js → chunk-T3QUKNLI.js} +1 -1
  204. package/dist/{chunk-CW2UCKHS.js → chunk-TADAO3HV.js} +2 -2
  205. package/dist/{chunk-5DCCKHDY.js → chunk-TAMDAOCU.js} +109 -13
  206. package/dist/{chunk-ZXB56YR2.js → chunk-TFKCERAK.js} +101 -23
  207. package/dist/{chunk-RBYHJDAT.js → chunk-TQAZTRQ3.js} +3 -3
  208. package/dist/{chunk-OKGIOWOB.js → chunk-U6SUKSZR.js} +2 -2
  209. package/dist/{chunk-23QKEUF6.js → chunk-U73AC5AN.js} +34 -12
  210. package/dist/{chunk-PM6WSWVU.js → chunk-UBK7HK3J.js} +3 -3
  211. package/dist/{chunk-H37FSTF2.js → chunk-UBMZ3YQU.js} +1 -1
  212. package/dist/{chunk-JJUGI2YL.js → chunk-UCFC2AEI.js} +1 -1
  213. package/dist/{chunk-6IWLAQ7O.js → chunk-UCUOGVDX.js} +4 -0
  214. package/dist/{chunk-E7UCDSUE.js → chunk-UKLN57Q5.js} +2 -2
  215. package/dist/{chunk-ZYCLSEZT.js → chunk-ULIBLJ6W.js} +33 -11
  216. package/dist/{chunk-RLR6VVKV.js → chunk-UM3N6VND.js} +4 -4
  217. package/dist/{chunk-ZNUJFX7L.js → chunk-UQGSBM3U.js} +1 -1
  218. package/dist/{chunk-ZZXMB5F2.js → chunk-UZDF6FLJ.js} +1 -1
  219. package/dist/{chunk-LNOS24GV.js → chunk-V3WLC5TJ.js} +2 -95
  220. package/dist/{chunk-UXLO7VHX.js → chunk-VI4ATC6I.js} +1 -1
  221. package/dist/{chunk-77JP3LK4.js → chunk-VKJGHAZT.js} +92 -21
  222. package/dist/{chunk-7R73IAHU.js → chunk-VMTZ4RUW.js} +67 -150
  223. package/dist/{chunk-TGPQMMQP.js → chunk-VYQ7B7DI.js} +30 -17
  224. package/dist/{chunk-E2WEFZOR.js → chunk-W75GTHR3.js} +1 -1
  225. package/dist/{chunk-UKLF7F3Z.js → chunk-WJG344NC.js} +9 -9
  226. package/dist/{chunk-MBNIJXKI.js → chunk-WMEYJT4R.js} +18 -4
  227. package/dist/{chunk-R6FLELV6.js → chunk-XFTEX77S.js} +3 -3
  228. package/dist/{chunk-MDGYXUOV.js → chunk-XH7YL7JM.js} +1 -1
  229. package/dist/{chunk-JOO35RHR.js → chunk-XL5MFGMR.js} +3 -3
  230. package/dist/{chunk-OW5RZIDW.js → chunk-XNNECNDL.js} +95 -33
  231. package/dist/{chunk-5AHDQCTB.js → chunk-XXFKSJYA.js} +6 -6
  232. package/dist/{chunk-TGEPLJ66.js → chunk-XXOPG4BW.js} +3 -3
  233. package/dist/{chunk-PGLPUP37.js → chunk-XZ65ST2I.js} +1 -1
  234. package/dist/{chunk-3TTKAT6V.js → chunk-YKC7QDZH.js} +9 -4
  235. package/dist/{chunk-KXYFBBZR.js → chunk-YMP2QSOP.js} +20 -3
  236. package/dist/{chunk-TK4MI6F6.js → chunk-YSLGFPWX.js} +6 -6
  237. package/dist/{chunk-X2P43TB2.js → chunk-YTSXPJUQ.js} +1 -1
  238. package/dist/{chunk-HECXZGGZ.js → chunk-ZCERWHY2.js} +33 -35
  239. package/dist/{chunk-IVU3WN7S.js → chunk-ZG62LIK3.js} +74 -4
  240. package/dist/{chunk-GU62SNDH.js → chunk-ZGYNKA3O.js} +744 -111
  241. package/dist/{chunk-QMSEL5YS.js → chunk-ZIG7VPJV.js} +28 -76
  242. package/dist/{chunk-WZJVGA5I.js → chunk-ZL4AGWAH.js} +258 -13
  243. package/dist/{chunk-QR624DER.js → chunk-ZSODLMFV.js} +2 -2
  244. package/dist/{cleanup-graph-garbage-IPYDS5OX.js → cleanup-graph-garbage-DPJGO52H.js} +11 -10
  245. package/dist/{cloud-sync-command-JLNVG7H4.js → cloud-sync-command-JPNTT4OQ.js} +2 -2
  246. package/dist/{cloud-sync-db-init-JXUF6GI3.js → cloud-sync-db-init-V2LWIUQU.js} +1 -1
  247. package/dist/{cloud-sync-shutdown-Z4SBP6PL.js → cloud-sync-shutdown-BNALPWGX.js} +5 -4
  248. package/dist/{co-activation-74RDFTKS.js → co-activation-CMNSWS6B.js} +5 -4
  249. package/dist/{co-occurrence-CN3TBYVR.js → co-occurrence-WRI2NAN6.js} +9 -8
  250. package/dist/{code-context-index-D4MJ4VFX.js → code-context-index-NOJSHLPN.js} +12 -6
  251. package/dist/code-context-watcher-VZNZU3BO.js +118 -0
  252. package/dist/{codex-consolidation-PPXNBXCV.js → codex-consolidation-SH4UKFBQ.js} +2 -1
  253. package/dist/{conversation-entity-extractor-QGTLH4BP.js → conversation-entity-extractor-74252CAO.js} +4 -4
  254. package/dist/{conversation-wiki-populator-EBUZXYEU.js → conversation-wiki-populator-OS4C6W54.js} +1 -1
  255. package/dist/conversations-retention-C4BLKFEL.js +54 -0
  256. package/dist/coordinator-notice-MHUY7AQB.js +55 -0
  257. package/dist/{crdt-sync-7T4WCOKD.js → crdt-sync-B3JN6AIV.js} +1 -1
  258. package/dist/{crm-webhook-FTW3XZTO.js → crm-webhook-GYWQRFET.js} +2 -2
  259. package/dist/{cto-delegation-gate-SZCE34LB.js → cto-delegation-gate-LQHVLEMW.js} +29 -26
  260. package/dist/{daemon-auth-SSPY5ODS.js → daemon-auth-QZHEO7IQ.js} +3 -2
  261. package/dist/{daemon-orchestration-IGPHVNFR.js → daemon-orchestration-5HIQALZH.js} +36 -34
  262. package/dist/{daemon-ready-OT2VQLS7.js → daemon-ready-P2BR2XP5.js} +1 -1
  263. package/dist/{db-integrity-events-5DTASXJF.js → db-integrity-events-2DTFO37N.js} +3 -2
  264. package/dist/{db-restore-events-2FI4ZMKA.js → db-restore-events-G6NOQOVE.js} +2 -1
  265. package/dist/{destructive-data-guard-6I5MDFVD.js → destructive-data-guard-BVFWPPIS.js} +1 -1
  266. package/dist/doc-graph-extractor-PQHDHQPQ.js +367 -0
  267. package/dist/{documents-URULIXGM.js → documents-C4SSPJMC.js} +15 -13
  268. package/dist/{dreaming-VIZO3QDO.js → dreaming-XAO3FCBV.js} +33 -30
  269. package/dist/{employee-boot-brief-XLOG4ULP.js → employee-boot-brief-W4OHUMRQ.js} +37 -34
  270. package/dist/{exe-drift-TLQM3IHD.js → exe-drift-AG2KMKD5.js} +6 -5
  271. package/dist/{exe-export-7YWYWJHY.js → exe-export-IC5BT335.js} +17 -15
  272. package/dist/{exe-import-DW6VAUKW.js → exe-import-A35ZLDPG.js} +17 -15
  273. package/dist/{exe-key-TLJP2B4Y.js → exe-key-TCMJNYLA.js} +116 -112
  274. package/dist/{exe-org-LU46N36E.js → exe-org-JXCR3JYZ.js} +24 -23
  275. package/dist/{exe-snapshot-QHUZRS62.js → exe-snapshot-SV6SRIG6.js} +36 -33
  276. package/dist/{fast-db-init-SCTOOIUT.js → fast-db-init-L2RGKJWH.js} +1 -1
  277. package/dist/{founder-context-ZFZC4UHO.js → founder-context-D4HFIESJ.js} +4 -3
  278. package/dist/{founder-monitor-envelope-5KTKNL5G.js → founder-monitor-envelope-TFKRGCFE.js} +5 -4
  279. package/dist/{fts-integrity-LKAZEZJE.js → fts-integrity-4YB34KWX.js} +3 -2
  280. package/dist/gateway/index.js +19 -17
  281. package/dist/{git-main-guard-TN27QBAI.js → git-main-guard-VTW4N3CM.js} +7 -1
  282. package/dist/{git-staleness-GSGP344N.js → git-staleness-TN7CYGFG.js} +5 -4
  283. package/dist/{global-procedures-YAR7G4C6.js → global-procedures-YFDEIOG7.js} +7 -6
  284. package/dist/{graph-auto-extract-GNQS64F5.js → graph-auto-extract-3YR3TYRW.js} +9 -8
  285. package/dist/{graph-rag-RMSFLUOB.js → graph-rag-Z2KCJTPK.js} +6 -4
  286. package/dist/{hook-integrity-CF567MVN.js → hook-integrity-KGAV6ZC2.js} +14 -4
  287. package/dist/{hook-prefetch-36BK4F7U.js → hook-prefetch-K5DN3TOQ.js} +29 -26
  288. package/dist/hooks/bug-report-worker.js +34 -30
  289. package/dist/hooks/codex-stop-task-finalizer.js +36 -32
  290. package/dist/hooks/commit-complete.js +33 -30
  291. package/dist/hooks/error-recall.js +12 -11
  292. package/dist/hooks/exe-heartbeat-hook.js +8 -7
  293. package/dist/hooks/ingest-worker.js +23 -11
  294. package/dist/hooks/ingest.js +18 -17
  295. package/dist/hooks/instructions-loaded.js +10 -9
  296. package/dist/hooks/manifest.json +20 -20
  297. package/dist/hooks/notification.js +9 -8
  298. package/dist/hooks/post-compact.js +8 -7
  299. package/dist/hooks/post-tool-combined.js +26 -15
  300. package/dist/hooks/pre-compact.js +33 -30
  301. package/dist/hooks/pre-tool-use.js +404 -46
  302. package/dist/hooks/prompt-submit.js +57 -47
  303. package/dist/hooks/session-end.js +40 -41
  304. package/dist/hooks/session-start.js +21 -20
  305. package/dist/hooks/stop.js +40 -37
  306. package/dist/hooks/subagent-stop.js +38 -35
  307. package/dist/hooks/summary-worker.js +39 -36
  308. package/dist/hyde-MP4QNMU5.js +80 -0
  309. package/dist/index.js +44 -39
  310. package/dist/{installer-LUN4HQIC.js → installer-54HTN5RE.js} +8 -7
  311. package/dist/{installer-OC5VXNC7.js → installer-LK35OX6R.js} +8 -7
  312. package/dist/{installer-MPRFUQJE.js → installer-LLWKZI2S.js} +8 -7
  313. package/dist/intercom-ack-VCW755TN.js +13 -0
  314. package/dist/{intercom-queue-6DZ7BANV.js → intercom-queue-5NOT2RKI.js} +28 -25
  315. package/dist/{key-backup-status-6L2ARCXW.js → key-backup-status-LQPINQ3W.js} +2 -1
  316. package/dist/lib/agent-config.js +3 -2
  317. package/dist/lib/cloud-sync.js +26 -20
  318. package/dist/lib/config.js +2 -1
  319. package/dist/lib/consolidation.js +17 -10
  320. package/dist/lib/database.js +7 -4
  321. package/dist/lib/db-backup.js +17 -2
  322. package/dist/lib/db-daemon-client.js +8 -6
  323. package/dist/lib/db-write-worker-client.js +3 -1
  324. package/dist/lib/db-write-worker.js +20 -3
  325. package/dist/lib/db.js +7 -4
  326. package/dist/lib/device-registry.js +3 -2
  327. package/dist/lib/embed-worker.js +2 -1
  328. package/dist/lib/embedder.js +8 -6
  329. package/dist/lib/employee-templates.js +8 -7
  330. package/dist/lib/employees.js +5 -4
  331. package/dist/lib/exe-daemon-client.js +7 -5
  332. package/dist/lib/exe-daemon.js +467 -221
  333. package/dist/lib/hybrid-search.js +11 -8
  334. package/dist/lib/identity.js +5 -4
  335. package/dist/lib/license.js +4 -3
  336. package/dist/lib/messaging.js +29 -26
  337. package/dist/lib/post-tool-memory.js +16 -2
  338. package/dist/lib/registry-proxy.js +3 -1
  339. package/dist/lib/reminders.js +6 -5
  340. package/dist/lib/schedules.js +9 -8
  341. package/dist/lib/session-registry.js +7 -6
  342. package/dist/lib/skill-learning.js +16 -14
  343. package/dist/lib/stack-invariants.js +17 -1
  344. package/dist/lib/status-brief.js +5 -4
  345. package/dist/lib/store.js +10 -7
  346. package/dist/lib/task-router.js +6 -5
  347. package/dist/lib/tasks.js +31 -27
  348. package/dist/lib/tmux-routing.js +40 -25
  349. package/dist/lib/tmux-status.js +3 -1
  350. package/dist/lib/tmux-transport.js +2 -1
  351. package/dist/lib/token-spend.js +6 -5
  352. package/dist/lib/transport.js +3 -2
  353. package/dist/{license-gate-ESER24PJ.js → license-gate-JVMB6OFD.js} +5 -4
  354. package/dist/{license-sync-JVG5KNIY.js → license-sync-5VYS2F2W.js} +4 -3
  355. package/dist/mcp/register-tools.js +113 -109
  356. package/dist/mcp/server.js +118 -114
  357. package/dist/mcp/tools/complete-reminder.js +7 -6
  358. package/dist/mcp/tools/create-reminder.js +7 -6
  359. package/dist/mcp/tools/create-task.js +34 -30
  360. package/dist/mcp/tools/deactivate-behavior.js +18 -16
  361. package/dist/mcp/tools/list-reminders.js +7 -6
  362. package/dist/mcp/tools/list-tasks.js +34 -30
  363. package/dist/mcp/tools/send-message.js +32 -29
  364. package/dist/mcp/tools/update-task.js +32 -28
  365. package/dist/mcp-child-registry-OTG4MWO7.js +25 -0
  366. package/dist/{mcp-http-config-6K6IKH5F.js → mcp-http-config-DQWL7U2Z.js} +6 -5
  367. package/dist/{mcp-session-identity-LRC6WJSD.js → mcp-session-identity-277GASTQ.js} +28 -25
  368. package/dist/{memory-cards-V3OZHIYP.js → memory-cards-3S2ZQPR7.js} +17 -8
  369. package/dist/{memory-graph-extractor-JC2Z64L4.js → memory-graph-extractor-A6DFEFIN.js} +10 -9
  370. package/dist/{memory-poisoning-defense-YM4QJHCX.js → memory-poisoning-defense-ZVP4H6DY.js} +5 -4
  371. package/dist/{memory-pressure-watchdog-6F6KEQHN.js → memory-pressure-watchdog-6W5F6R7H.js} +29 -26
  372. package/dist/{memory-queue-QJNWKWKG.js → memory-queue-YF7IDSFY.js} +3 -2
  373. package/dist/{memory-queue-client-COA4ABEV.js → memory-queue-client-ADSDP6OX.js} +9 -7
  374. package/dist/{memory-reflection-QXHJPYPC.js → memory-reflection-BKB2YOE6.js} +52 -6
  375. package/dist/{monitor-grants-BW2WL4IU.js → monitor-grants-EV747HMW.js} +4 -3
  376. package/dist/{notification-ledger-6QRLQW4Q.js → notification-ledger-CLGM7ODF.js} +30 -27
  377. package/dist/{notifications-7B6D7Y5C.js → notifications-MACUZPYP.js} +28 -25
  378. package/dist/{oauth-server-TZFNQAFS.js → oauth-server-AYM37SQ4.js} +25 -4
  379. package/dist/{orchestration-events-GY5VP5LU.js → orchestration-events-N7LYMUGA.js} +6 -5
  380. package/dist/{orchestration-phase-UDS24CVQ.js → orchestration-phase-T2WD45UA.js} +3 -2
  381. package/dist/{orchestrator-JVPVOYWA.js → orchestrator-4X24EWHV.js} +30 -27
  382. package/dist/{org-brief-session-GRV5R5E3.js → org-brief-session-FZOFMO5U.js} +13 -12
  383. package/dist/{org-consent-policy-3FHHSYXV.js → org-consent-policy-O5E6HXBL.js} +1 -1
  384. package/dist/{org-join-BY4PV6UO.js → org-join-POWUG25F.js} +8 -7
  385. package/dist/{org-key-admin-WSCPT2CZ.js → org-key-admin-E7EMDOZZ.js} +9 -8
  386. package/dist/{org-key-pin-5WUSPGVN.js → org-key-pin-WHWHVWUO.js} +4 -3
  387. package/dist/{org-membership-ESALTLLN.js → org-membership-WRT2IHJK.js} +5 -4
  388. package/dist/{org-partner-config-YKHPDPZR.js → org-partner-config-B7T4CL2T.js} +7 -6
  389. package/dist/{org-partner-runtime-UJDGECZ4.js → org-partner-runtime-FODONVTM.js} +13 -12
  390. package/dist/{org-row-visibility-V5DXIHTE.js → org-row-visibility-VX4AVV5Q.js} +1 -1
  391. package/dist/{pipeline-router-YY5FQKTY.js → pipeline-router-6GGT2ZW3.js} +6 -5
  392. package/dist/{plan-limits-OVX6SN6B.js → plan-limits-FUN76LYY.js} +8 -7
  393. package/dist/{platform-procedures-I57ITMDC.js → platform-procedures-7YSCLF4Z.js} +1 -1
  394. package/dist/{postinstall-failure-B2JHNFPM.js → postinstall-failure-O6TSSNJB.js} +3 -2
  395. package/dist/{project-boot-LXLU2J32.js → project-boot-3Q65LCIP.js} +2 -1
  396. package/dist/project-name-LJVFMYTQ.js +30 -0
  397. package/dist/{projection-worker-D2472IOD.js → projection-worker-4OANGP5K.js} +5 -4
  398. package/dist/{prospective-memory-JXO2A6PL.js → prospective-memory-KR3P4T6N.js} +5 -4
  399. package/dist/{push-notifications-HR3FZRDI.js → push-notifications-NCZLH6DI.js} +29 -26
  400. package/dist/ref-provenance-gate-M4AQO4OT.js +269 -0
  401. package/dist/{reproject-worktree-memories-OSS3PGRF.js → reproject-worktree-memories-PWYKPB2U.js} +106 -23
  402. package/dist/{reranker-IMZRPYJ2.js → reranker-6V3C2AO4.js} +3 -2
  403. package/dist/resolve-image-labels-ZI6UBW5W.js +15 -0
  404. package/dist/{retrieval-health-W7OD44FE.js → retrieval-health-5D7O6VH6.js} +4 -3
  405. package/dist/{review-polling-2INP7H6M.js → review-polling-QW3LJ4KN.js} +29 -26
  406. package/dist/runtime/index.js +38 -34
  407. package/dist/{session-events-G4XUPVWV.js → session-events-T45SSTMF.js} +31 -26
  408. package/dist/{session-kill-telemetry-W7MHWJTQ.js → session-kill-telemetry-QSPVJGBF.js} +29 -26
  409. package/dist/{session-mcp-config-F7KATWOF.js → session-mcp-config-SC5BLWZG.js} +3 -2
  410. package/dist/{session-scope-LG2J4EMQ.js → session-scope-KRWE54C4.js} +28 -25
  411. package/dist/{setup-wizard-YQJI3SVM.js → setup-wizard-GP3TBTPF.js} +5 -4
  412. package/dist/{shard-manager-UROHZE46.js → shard-manager-OE36A4MY.js} +3 -2
  413. package/dist/{skill-refinement-RA37U756.js → skill-refinement-C7JTMLJG.js} +6 -5
  414. package/dist/stack-generate-manifest-MFMDWRUP.js +810 -0
  415. package/dist/{stack-promote-IYBRXHTA.js → stack-promote-EKSCYY63.js} +8 -6
  416. package/dist/{stack-release-OXWLVVG6.js → stack-release-2GZAAFO4.js} +8 -6
  417. package/dist/{stack-update-2CZEROPK.js → stack-update-J6JXSTAZ.js} +51 -5
  418. package/dist/{steward-gate-LTNFB3FY.js → steward-gate-BFCCMCSW.js} +6 -5
  419. package/dist/{subagent-brief-injection-OHLWLECQ.js → subagent-brief-injection-ED36PLYY.js} +44 -36
  420. package/dist/{subagent-spawn-ledger-USYZXU3M.js → subagent-spawn-ledger-E6U3OY6Z.js} +3 -2
  421. package/dist/{supervisor-handoff-CSJQMI53.js → supervisor-handoff-SGLEPOCY.js} +12 -3
  422. package/dist/{support-inbox-4KCEPAZQ.js → support-inbox-YW47SYJF.js} +20 -5
  423. package/dist/{task-enforcement-LGXWXGVZ.js → task-enforcement-CECTQX4U.js} +29 -26
  424. package/dist/{task-request-inbox-WHCOSUCP.js → task-request-inbox-Q5T4N5K7.js} +1 -1
  425. package/dist/{task-scope-KXF7Y6KA.js → task-scope-ERVEUEYU.js} +28 -25
  426. package/dist/{tasks-crud-5EM55WRZ.js → tasks-crud-ZRQNJXQ2.js} +28 -25
  427. package/dist/{tasks-notify-VFMAURTN.js → tasks-notify-MIZH4C2O.js} +29 -26
  428. package/dist/{tasks-review-MHGMBHUZ.js → tasks-review-Z7J2P6DG.js} +28 -25
  429. package/dist/{telemetry-upload-6NRTN7QJ.js → telemetry-upload-LVQUQYFP.js} +10 -9
  430. package/dist/{token-budget-LZPOYTRP.js → token-budget-BU4NOVZF.js} +6 -5
  431. package/dist/{tool-capability-index-ED5OAPMW.js → tool-capability-index-7F42MOJT.js} +1 -1
  432. package/dist/{tool-gates-7PLIOLAL.js → tool-gates-JWVSAYTW.js} +1 -1
  433. package/dist/{tool-gates-2OZY3GZM.js → tool-gates-VXITVRFQ.js} +1 -1
  434. package/dist/{tool-telemetry-ZX7VSAXK.js → tool-telemetry-O27EVMBR.js} +1 -1
  435. package/dist/tui/App.js +43 -40
  436. package/dist/{tui-data-CC5POSUV.js → tui-data-TPWWBIUQ.js} +28 -25
  437. package/dist/{update-support-KH6NSQON.js → update-support-F2F5537B.js} +22 -20
  438. package/dist/{whatsapp-QW3X7OCN.js → whatsapp-YM4A2CSK.js} +3 -1
  439. package/dist/{work-claims-MNK7PEPW.js → work-claims-B73X5NE7.js} +6 -5
  440. package/dist/{work-state-heartbeat-YEWT5NMZ.js → work-state-heartbeat-P4YX6E2R.js} +1 -1
  441. package/dist/{worker-gate-BOQSIU2Z.js → worker-gate-BEEIIVWA.js} +3 -2
  442. package/dist/{workflow-engine-MUUD7ZEX.js → workflow-engine-5X46PFCW.js} +4 -2
  443. package/dist/{worktree-GOGT2LZP.js → worktree-W47CIMJ6.js} +9 -6
  444. package/dist/worktree-ownership-guard-OUWJROW2.js +88 -0
  445. package/dist/{worktree-sweep-46VWPVQT.js → worktree-sweep-BNBD4RFX.js} +8 -7
  446. package/package.json +14 -5
  447. package/release-notes.json +5 -5
  448. package/src/commands/exe/call.md +1 -1
  449. package/stack.release.json +6 -0
  450. package/dist/chunk-KZXMP6JG.js +0 -319
  451. package/dist/chunk-TCTED52S.js +0 -120
  452. package/dist/chunk-W2IRQJ6R.js +0 -67
  453. package/dist/doc-graph-extractor-VPTRIEKN.js +0 -149
  454. package/dist/project-name-ILJTETUE.js +0 -14
  455. /package/dist/{chunk-3Y5THOU6.js → chunk-6WIFPD2P.js} +0 -0
  456. /package/dist/{chunk-7XGXRD22.js → chunk-AISULNGL.js} +0 -0
  457. /package/dist/{chunk-3F2UB4IQ.js → chunk-DN4YVV4Z.js} +0 -0
  458. /package/dist/{chunk-WV3TOOL7.js → chunk-KQ6RJWRW.js} +0 -0
  459. /package/dist/{chunk-HR2R2QER.js → chunk-M4IRPXSZ.js} +0 -0
  460. /package/dist/{chunk-ORA5BWCV.js → chunk-NRG7KZIP.js} +0 -0
  461. /package/dist/{chunk-7UTJA6HF.js → chunk-VZAFWPAY.js} +0 -0
  462. /package/dist/{chunk-VJSDGDNS.js → chunk-WSQASFLP.js} +0 -0
  463. /package/dist/{chunk-FZQWVQJG.js → chunk-YO4BO2CL.js} +0 -0
  464. /package/dist/{core-memory-6WBNT2HL.js → core-memory-7I7RE2SJ.js} +0 -0
  465. /package/dist/{entity-boost-MT336PI3.js → entity-boost-3UWGXG5O.js} +0 -0
  466. /package/dist/{memory-isolation-EJ45IXBH.js → memory-isolation-2TUZ7Z4K.js} +0 -0
  467. /package/dist/{message-queue-client-MVBTYCSV.js → message-queue-client-XQN7QABL.js} +0 -0
  468. /package/dist/{webhook-pipe-UQSEHFPO.js → webhook-pipe-W2FVXY7M.js} +0 -0
  469. /package/dist/{wiki-acl-WXRJGZ5Q.js → wiki-acl-IBQLLBTS.js} +0 -0
  470. /package/dist/{wiki-client-AXNM5FWY.js → wiki-client-W65IOSWF.js} +0 -0
@@ -1,36 +1,37 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  exportBehaviorsForAgent
4
- } from "../chunk-PM6WSWVU.js";
5
- import "../chunk-ELXFSIIM.js";
6
- import "../chunk-MBNIJXKI.js";
7
- import "../chunk-PGLPUP37.js";
4
+ } from "../chunk-UBK7HK3J.js";
5
+ import "../chunk-32YV32VA.js";
6
+ import "../chunk-WMEYJT4R.js";
7
+ import "../chunk-XZ65ST2I.js";
8
8
  import "../chunk-QGGH7LOU.js";
9
9
  import {
10
10
  disposeStore
11
- } from "../chunk-OYQNNKNS.js";
12
- import "../chunk-7UTJA6HF.js";
11
+ } from "../chunk-MXPNVSXI.js";
12
+ import "../chunk-VZAFWPAY.js";
13
13
  import "../chunk-CHCA3ZM2.js";
14
14
  import "../chunk-OTVEIJUQ.js";
15
- import "../chunk-3F2UB4IQ.js";
15
+ import "../chunk-DN4YVV4Z.js";
16
16
  import {
17
17
  fastDbInit
18
- } from "../chunk-HR2R2QER.js";
18
+ } from "../chunk-M4IRPXSZ.js";
19
19
  import "../chunk-5MOYSU5A.js";
20
20
  import "../chunk-4QCFFW2H.js";
21
21
  import "../chunk-76CJBM36.js";
22
- import "../chunk-L6ZNURWN.js";
23
- import "../chunk-UQUUNGTP.js";
24
- import "../chunk-IVU3WN7S.js";
25
- import "../chunk-RIECV7SR.js";
26
- import "../chunk-LNOS24GV.js";
22
+ import "../chunk-7GE2EQ23.js";
23
+ import "../chunk-NUK7EEN5.js";
24
+ import "../chunk-ZG62LIK3.js";
25
+ import "../chunk-EKYYMIVT.js";
27
26
  import "../chunk-NLEW62VC.js";
27
+ import "../chunk-SLLLOOEI.js";
28
+ import "../chunk-V3WLC5TJ.js";
28
29
  import "../chunk-MP2AFCGL.js";
29
- import "../chunk-5DCCKHDY.js";
30
- import "../chunk-TKDITWDN.js";
30
+ import "../chunk-TAMDAOCU.js";
31
31
  import "../chunk-BBMTVAE3.js";
32
+ import "../chunk-TKDITWDN.js";
32
33
  import "../chunk-5YEUPUV4.js";
33
- import "../chunk-UTDMTQNH.js";
34
+ import "../chunk-DSJI76XL.js";
34
35
  import "../chunk-YYB5PMTK.js";
35
36
  import "../chunk-NJFJWQNN.js";
36
37
  import "../chunk-V3W3SATA.js";
@@ -39,8 +40,9 @@ import "../chunk-FXU7JOXK.js";
39
40
  import "../chunk-HPXFKUGU.js";
40
41
  import "../chunk-A7JYF4RG.js";
41
42
  import "../chunk-ARX6TAGN.js";
42
- import "../chunk-QMSEL5YS.js";
43
+ import "../chunk-ZIG7VPJV.js";
43
44
  import "../chunk-HSGBZSCA.js";
45
+ import "../chunk-RH4AH3YB.js";
44
46
  import "../chunk-JKKZGDLP.js";
45
47
  import "../chunk-MLKGABMK.js";
46
48
 
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  lightweightSearch
4
- } from "../chunk-ZXB56YR2.js";
4
+ } from "../chunk-TFKCERAK.js";
5
5
  import "../chunk-VMHZSZQJ.js";
6
- import "../chunk-OYQNNKNS.js";
7
- import "../chunk-7UTJA6HF.js";
6
+ import "../chunk-MXPNVSXI.js";
7
+ import "../chunk-VZAFWPAY.js";
8
8
  import "../chunk-CHCA3ZM2.js";
9
9
  import "../chunk-OTVEIJUQ.js";
10
- import "../chunk-3F2UB4IQ.js";
10
+ import "../chunk-DN4YVV4Z.js";
11
11
  import {
12
12
  fastDbInit
13
- } from "../chunk-HR2R2QER.js";
13
+ } from "../chunk-M4IRPXSZ.js";
14
14
  import "../chunk-5MOYSU5A.js";
15
15
  import "../chunk-4QCFFW2H.js";
16
16
  import "../chunk-76CJBM36.js";
@@ -18,19 +18,20 @@ import "../chunk-GJV3WDWM.js";
18
18
  import "../chunk-MP2AFCGL.js";
19
19
  import {
20
20
  getClient
21
- } from "../chunk-5DCCKHDY.js";
22
- import "../chunk-TKDITWDN.js";
21
+ } from "../chunk-TAMDAOCU.js";
23
22
  import "../chunk-BBMTVAE3.js";
23
+ import "../chunk-TKDITWDN.js";
24
24
  import "../chunk-5YEUPUV4.js";
25
- import "../chunk-UTDMTQNH.js";
25
+ import "../chunk-DSJI76XL.js";
26
26
  import "../chunk-YYB5PMTK.js";
27
27
  import "../chunk-NJFJWQNN.js";
28
28
  import "../chunk-V3W3SATA.js";
29
29
  import "../chunk-JY5GAZYC.js";
30
30
  import "../chunk-FXU7JOXK.js";
31
31
  import "../chunk-HPXFKUGU.js";
32
- import "../chunk-QMSEL5YS.js";
32
+ import "../chunk-ZIG7VPJV.js";
33
33
  import "../chunk-HSGBZSCA.js";
34
+ import "../chunk-RH4AH3YB.js";
34
35
  import {
35
36
  isMainModule
36
37
  } from "../chunk-6Y4B3QF6.js";
@@ -5,28 +5,29 @@ import {
5
5
  import {
6
6
  BotRegistry,
7
7
  Gateway
8
- } from "../chunk-E7UCDSUE.js";
9
- import "../chunk-KXYFBBZR.js";
10
- import "../chunk-TK4MI6F6.js";
11
- import "../chunk-ADNBOKYZ.js";
8
+ } from "../chunk-UKLN57Q5.js";
9
+ import "../chunk-YMP2QSOP.js";
10
+ import "../chunk-YSLGFPWX.js";
11
+ import "../chunk-GM7TLYOK.js";
12
12
  import "../chunk-ML4S5SHZ.js";
13
13
  import "../chunk-MP2AFCGL.js";
14
14
  import {
15
15
  getCoordinatorName
16
- } from "../chunk-5DCCKHDY.js";
17
- import "../chunk-TKDITWDN.js";
16
+ } from "../chunk-TAMDAOCU.js";
18
17
  import "../chunk-BBMTVAE3.js";
18
+ import "../chunk-TKDITWDN.js";
19
19
  import "../chunk-5YEUPUV4.js";
20
- import "../chunk-UTDMTQNH.js";
20
+ import "../chunk-DSJI76XL.js";
21
21
  import "../chunk-YYB5PMTK.js";
22
22
  import "../chunk-NJFJWQNN.js";
23
23
  import "../chunk-V3W3SATA.js";
24
24
  import "../chunk-JY5GAZYC.js";
25
25
  import "../chunk-FXU7JOXK.js";
26
- import "../chunk-QMSEL5YS.js";
26
+ import "../chunk-ZIG7VPJV.js";
27
27
  import {
28
28
  enforcePrivateFileSync
29
29
  } from "../chunk-HSGBZSCA.js";
30
+ import "../chunk-RH4AH3YB.js";
30
31
  import "../chunk-JKKZGDLP.js";
31
32
  import "../chunk-MLKGABMK.js";
32
33
 
@@ -37,7 +38,7 @@ import os2 from "os";
37
38
  import { fileURLToPath } from "url";
38
39
 
39
40
  // src/gateway/webhook-server.ts
40
- import crypto from "crypto";
41
+ import crypto2 from "crypto";
41
42
  import {
42
43
  createServer
43
44
  } from "http";
@@ -555,6 +556,139 @@ function clampRows(value) {
555
556
  return Math.min(Math.floor(value), HARD_MAX_ROWS);
556
557
  }
557
558
 
559
+ // src/gateway/platform-signatures.ts
560
+ import crypto from "crypto";
561
+ var REPLAY_TOLERANCE_SEC = 300;
562
+ var SIGNED_PLATFORMS = /* @__PURE__ */ new Set(["slack", "discord", "telegram"]);
563
+ function isSignedPlatform(platform) {
564
+ return SIGNED_PLATFORMS.has(platform);
565
+ }
566
+ function firstHeaderValue(value) {
567
+ if (Array.isArray(value)) return value[0];
568
+ return value;
569
+ }
570
+ function normalizeStringArray(values) {
571
+ if (!values) return [];
572
+ const unique = /* @__PURE__ */ new Set();
573
+ for (const value of values) {
574
+ const normalized = value?.trim();
575
+ if (normalized) unique.add(normalized);
576
+ }
577
+ return [...unique];
578
+ }
579
+ function normalizeWebhookSignatures(config) {
580
+ return {
581
+ slackSigningSecrets: normalizeStringArray(config?.slackSigningSecrets),
582
+ discordPublicKeys: normalizeStringArray(config?.discordPublicKeys),
583
+ telegramSecretTokens: normalizeStringArray(config?.telegramSecretTokens)
584
+ };
585
+ }
586
+ function verifySlackWebhook(req, rawBody, signingSecrets) {
587
+ if (signingSecrets.length === 0) {
588
+ return { ok: false, status: 503, error: "Slack webhook signing secret not configured" };
589
+ }
590
+ const timestamp = firstHeaderValue(req.headers["x-slack-request-timestamp"]);
591
+ const signature = firstHeaderValue(req.headers["x-slack-signature"]);
592
+ if (!timestamp || !signature?.startsWith("v0=")) {
593
+ return { ok: false, status: 401, error: "Missing Slack webhook signature" };
594
+ }
595
+ const seconds = Number(timestamp);
596
+ if (!Number.isFinite(seconds)) {
597
+ return { ok: false, status: 401, error: "Invalid Slack webhook timestamp" };
598
+ }
599
+ if (Math.abs(Date.now() / 1e3 - seconds) > REPLAY_TOLERANCE_SEC) {
600
+ return { ok: false, status: 401, error: "Stale Slack webhook signature" };
601
+ }
602
+ const providedHex = signature.slice("v0=".length);
603
+ if (!/^[0-9a-fA-F]{64}$/.test(providedHex)) {
604
+ return { ok: false, status: 401, error: "Invalid Slack webhook signature" };
605
+ }
606
+ const base = Buffer.concat([Buffer.from(`v0:${timestamp}:`, "utf-8"), rawBody]);
607
+ const provided = Buffer.from(providedHex, "hex");
608
+ for (const secret of signingSecrets) {
609
+ const expected = crypto.createHmac("sha256", secret).update(base).digest();
610
+ if (provided.length === expected.length && crypto.timingSafeEqual(provided, expected)) {
611
+ return { ok: true };
612
+ }
613
+ }
614
+ return { ok: false, status: 401, error: "Invalid Slack webhook signature" };
615
+ }
616
+ function verifyDiscordWebhook(req, rawBody, publicKeys) {
617
+ if (publicKeys.length === 0) {
618
+ return { ok: false, status: 503, error: "Discord webhook public key not configured" };
619
+ }
620
+ const signatureHex = firstHeaderValue(req.headers["x-signature-ed25519"]);
621
+ const timestamp = firstHeaderValue(req.headers["x-signature-timestamp"]);
622
+ if (!signatureHex || !timestamp) {
623
+ return { ok: false, status: 401, error: "Missing Discord webhook signature" };
624
+ }
625
+ if (!/^[0-9a-fA-F]+$/.test(signatureHex) || signatureHex.length % 2 !== 0) {
626
+ return { ok: false, status: 401, error: "Invalid Discord webhook signature" };
627
+ }
628
+ const seconds = Number(timestamp);
629
+ if (!Number.isFinite(seconds)) {
630
+ return { ok: false, status: 401, error: "Invalid Discord webhook timestamp" };
631
+ }
632
+ if (Math.abs(Date.now() / 1e3 - seconds) > REPLAY_TOLERANCE_SEC) {
633
+ return { ok: false, status: 401, error: "Stale Discord webhook signature" };
634
+ }
635
+ const signature = Buffer.from(signatureHex, "hex");
636
+ const payload = Buffer.concat([Buffer.from(timestamp, "utf-8"), rawBody]);
637
+ for (const publicKey of publicKeys) {
638
+ try {
639
+ if (crypto.verify(null, payload, createDiscordPublicKey(publicKey), signature)) {
640
+ return { ok: true };
641
+ }
642
+ } catch {
643
+ }
644
+ }
645
+ return { ok: false, status: 401, error: "Invalid Discord webhook signature" };
646
+ }
647
+ function createDiscordPublicKey(publicKey) {
648
+ if (publicKey.includes("BEGIN PUBLIC KEY")) {
649
+ return crypto.createPublicKey(publicKey);
650
+ }
651
+ const rawKey = Buffer.from(publicKey.trim(), "hex");
652
+ if (rawKey.length !== 32) {
653
+ throw new Error("Discord public key must be a 32-byte Ed25519 key");
654
+ }
655
+ const spkiPrefix = Buffer.from("302a300506032b6570032100", "hex");
656
+ return crypto.createPublicKey({
657
+ key: Buffer.concat([spkiPrefix, rawKey]),
658
+ format: "der",
659
+ type: "spki"
660
+ });
661
+ }
662
+ function verifyTelegramWebhook(req, secretTokens) {
663
+ if (secretTokens.length === 0) {
664
+ return { ok: false, status: 503, error: "Telegram webhook secret_token not configured" };
665
+ }
666
+ const provided = firstHeaderValue(req.headers["x-telegram-bot-api-secret-token"]);
667
+ if (!provided) {
668
+ return { ok: false, status: 401, error: "Missing Telegram webhook secret token" };
669
+ }
670
+ const providedBuffer = Buffer.from(provided);
671
+ for (const secret of secretTokens) {
672
+ const expectedBuffer = Buffer.from(secret);
673
+ if (providedBuffer.length === expectedBuffer.length && crypto.timingSafeEqual(providedBuffer, expectedBuffer)) {
674
+ return { ok: true };
675
+ }
676
+ }
677
+ return { ok: false, status: 401, error: "Invalid Telegram webhook secret token" };
678
+ }
679
+ function verifyPlatformWebhook(platform, req, rawBody, signatures) {
680
+ switch (platform) {
681
+ case "slack":
682
+ return verifySlackWebhook(req, rawBody, signatures.slackSigningSecrets);
683
+ case "discord":
684
+ return verifyDiscordWebhook(req, rawBody, signatures.discordPublicKeys);
685
+ case "telegram":
686
+ return verifyTelegramWebhook(req, signatures.telegramSecretTokens);
687
+ default:
688
+ return { ok: true };
689
+ }
690
+ }
691
+
558
692
  // src/gateway/webhook-server.ts
559
693
  var DEFAULT_HOST = process.env.EXE_WEBHOOK_HOST || "127.0.0.1";
560
694
  var BODY_SIZE_LIMIT = 1048576;
@@ -567,9 +701,10 @@ function verifyWebhookSignature(rawBody, signature, secret, toleranceSec = 300)
567
701
  const timestamp = parseInt(timestampStr, 10);
568
702
  if (isNaN(timestamp)) return false;
569
703
  if (Math.abs(Date.now() / 1e3 - timestamp) > toleranceSec) return false;
570
- const expected = crypto.createHmac("sha256", secret).update(`${timestamp}.${rawBody}`).digest("hex");
704
+ if (!/^[0-9a-f]{64}$/i.test(hash)) return false;
705
+ const expected = crypto2.createHmac("sha256", secret).update(`${timestamp}.${rawBody}`).digest("hex");
571
706
  if (hash.length !== expected.length) return false;
572
- return crypto.timingSafeEqual(
707
+ return crypto2.timingSafeEqual(
573
708
  Buffer.from(hash, "hex"),
574
709
  Buffer.from(expected, "hex")
575
710
  );
@@ -617,6 +752,7 @@ var WebhookServer = class {
617
752
  constructor(config, queryHandler = new QueryHandler()) {
618
753
  this.config = config;
619
754
  this.queryHandler = queryHandler;
755
+ this.webhookSignatures = normalizeWebhookSignatures(config.webhookSignatures);
620
756
  if (process.env.NODE_ENV === "production" && !config.authToken && !config.webhookSigningSecret) {
621
757
  throw new Error(
622
758
  "[webhook-server] authToken or webhookSigningSecret is required in production. Set it in ~/.exe-os/gateway.json or pass it in WebhookServerConfig."
@@ -629,6 +765,7 @@ var WebhookServer = class {
629
765
  handlers = /* @__PURE__ */ new Map();
630
766
  startedAt = 0;
631
767
  readOnlySqlRunner = new ReadOnlySqlRunner();
768
+ webhookSignatures;
632
769
  /** Register a handler for a platform: POST /webhook/:platform */
633
770
  onPlatform(platform, handler) {
634
771
  this.handlers.set(platform, handler);
@@ -784,7 +921,19 @@ var WebhookServer = class {
784
921
  } catch (err) {
785
922
  parseError = err instanceof Error ? err : new Error(String(err));
786
923
  }
787
- if (this.config.webhookSigningSecret) {
924
+ const platform = extractPlatform(url);
925
+ if (platform && isSignedPlatform(platform)) {
926
+ const verification = verifyPlatformWebhook(
927
+ platform,
928
+ req,
929
+ Buffer.from(rawBody, "utf-8"),
930
+ this.webhookSignatures
931
+ );
932
+ if (!verification.ok && !this.allowsUnverifiedLocalInjection()) {
933
+ sendJson(res, verification.status, { error: verification.error });
934
+ return;
935
+ }
936
+ } else if (this.config.webhookSigningSecret) {
788
937
  const sig = req.headers["x-webhook-signature"];
789
938
  if (!verifyWebhookSignature(
790
939
  rawBody,
@@ -801,7 +950,6 @@ var WebhookServer = class {
801
950
  sendJson(res, 401, { error: "Webhook authentication is not configured" });
802
951
  return;
803
952
  }
804
- const platform = extractPlatform(url);
805
953
  if (!platform) {
806
954
  sendJson(res, 200, { received: false, accepted: false, error: "No platform specified" });
807
955
  return;
@@ -829,6 +977,13 @@ var WebhookServer = class {
829
977
  );
830
978
  }
831
979
  }
980
+ /**
981
+ * Internal/test injection escape hatch for platform-signed webhooks.
982
+ * Explicit opt-in only, and never available in production.
983
+ */
984
+ allowsUnverifiedLocalInjection() {
985
+ return this.config.allowUnauthenticatedWebhooks === true && process.env.NODE_ENV !== "production";
986
+ }
832
987
  verifyAuth(req) {
833
988
  return this.verifyToken(req, this.config.authToken);
834
989
  }
@@ -844,7 +999,7 @@ var WebhookServer = class {
844
999
  if (authHeader.startsWith(bearerPrefix)) {
845
1000
  const provided = Buffer.from(authHeader.slice(bearerPrefix.length));
846
1001
  const expected = Buffer.from(expectedToken);
847
- if (provided.length === expected.length && crypto.timingSafeEqual(provided, expected)) return true;
1002
+ if (provided.length === expected.length && crypto2.timingSafeEqual(provided, expected)) return true;
848
1003
  }
849
1004
  if (process.env.NODE_ENV === "production") return false;
850
1005
  const url = new URL(req.url ?? "/", `http://${req.headers.host ?? "localhost"}`);
@@ -949,6 +1104,21 @@ function validateApiRouterProductionEnv(env = process.env, logger = console) {
949
1104
  );
950
1105
  }
951
1106
  }
1107
+ function parseListEnv(value) {
1108
+ if (value == null || value === "") return void 0;
1109
+ const parts = value.split(",").map((v) => v.trim()).filter(Boolean);
1110
+ return parts.length > 0 ? parts : void 0;
1111
+ }
1112
+ function pickSecrets(fileValue, envValue) {
1113
+ return fileValue && fileValue.length > 0 ? fileValue : envValue;
1114
+ }
1115
+ function mergeWebhookSignatures(fileConfig, envConfig) {
1116
+ return {
1117
+ slackSigningSecrets: pickSecrets(fileConfig?.slackSigningSecrets, envConfig?.slackSigningSecrets),
1118
+ discordPublicKeys: pickSecrets(fileConfig?.discordPublicKeys, envConfig?.discordPublicKeys),
1119
+ telegramSecretTokens: pickSecrets(fileConfig?.telegramSecretTokens, envConfig?.telegramSecretTokens)
1120
+ };
1121
+ }
952
1122
  function parseBooleanEnv(value) {
953
1123
  if (value == null || value === "") return void 0;
954
1124
  return /^(1|true|yes|on)$/i.test(value);
@@ -962,7 +1132,12 @@ function loadConfig(configPath = CONFIG_PATH) {
962
1132
  queryAuthToken: process.env.EXE_GATEWAY_QUERY_AUTH_TOKEN,
963
1133
  whatsappVerifyToken: process.env.EXE_GATEWAY_WHATSAPP_VERIFY_TOKEN,
964
1134
  webhookSigningSecret: process.env.EXE_GATEWAY_WEBHOOK_SIGNING_SECRET,
965
- allowUnauthenticatedWebhooks: parseBooleanEnv(process.env.EXE_GATEWAY_ALLOW_UNAUTHENTICATED_WEBHOOKS)
1135
+ allowUnauthenticatedWebhooks: parseBooleanEnv(process.env.EXE_GATEWAY_ALLOW_UNAUTHENTICATED_WEBHOOKS),
1136
+ webhookSignatures: {
1137
+ slackSigningSecrets: parseListEnv(process.env.EXE_GATEWAY_SLACK_SIGNING_SECRET),
1138
+ discordPublicKeys: parseListEnv(process.env.EXE_GATEWAY_DISCORD_PUBLIC_KEY),
1139
+ telegramSecretTokens: parseListEnv(process.env.EXE_GATEWAY_TELEGRAM_SECRET_TOKEN)
1140
+ }
966
1141
  };
967
1142
  if (!existsSync(configPath)) {
968
1143
  console.log(
@@ -982,7 +1157,11 @@ function loadConfig(configPath = CONFIG_PATH) {
982
1157
  queryAuthToken: parsed.queryAuthToken ?? envDefaults.queryAuthToken,
983
1158
  whatsappVerifyToken: parsed.whatsappVerifyToken ?? envDefaults.whatsappVerifyToken,
984
1159
  webhookSigningSecret: parsed.webhookSigningSecret ?? envDefaults.webhookSigningSecret,
985
- allowUnauthenticatedWebhooks: parsed.allowUnauthenticatedWebhooks ?? envDefaults.allowUnauthenticatedWebhooks
1160
+ allowUnauthenticatedWebhooks: parsed.allowUnauthenticatedWebhooks ?? envDefaults.allowUnauthenticatedWebhooks,
1161
+ webhookSignatures: mergeWebhookSignatures(
1162
+ parsed.webhookSignatures,
1163
+ envDefaults.webhookSignatures
1164
+ )
986
1165
  };
987
1166
  } catch (err) {
988
1167
  console.error(
@@ -1038,7 +1217,8 @@ async function main() {
1038
1217
  queryAuthToken: config.queryAuthToken,
1039
1218
  whatsappVerifyToken: config.whatsappVerifyToken,
1040
1219
  webhookSigningSecret: config.webhookSigningSecret,
1041
- allowUnauthenticatedWebhooks: config.allowUnauthenticatedWebhooks
1220
+ allowUnauthenticatedWebhooks: config.allowUnauthenticatedWebhooks,
1221
+ webhookSignatures: config.webhookSignatures
1042
1222
  });
1043
1223
  const platformConfigs = /* @__PURE__ */ new Map();
1044
1224
  const botRegistry = new BotRegistry();
@@ -1054,7 +1234,7 @@ async function main() {
1054
1234
  });
1055
1235
  const adapters = config.adapters ?? {};
1056
1236
  if (adapters.whatsapp?.enabled) {
1057
- const { WhatsAppAdapter } = await import("../whatsapp-QW3X7OCN.js");
1237
+ const { WhatsAppAdapter } = await import("../whatsapp-YM4A2CSK.js");
1058
1238
  const wa = new WhatsAppAdapter();
1059
1239
  server.onPlatform("whatsapp", (body) => wa.injectMessage(body));
1060
1240
  gateway.registerAdapter(wa);
@@ -1158,7 +1338,7 @@ async function main() {
1158
1338
  console.log("[exe-gateway] Generic webhook adapter registered");
1159
1339
  }
1160
1340
  {
1161
- const { createCRMWebhookHandler } = await import("../crm-webhook-FTW3XZTO.js");
1341
+ const { createCRMWebhookHandler } = await import("../crm-webhook-GYWQRFET.js");
1162
1342
  const handler = createCRMWebhookHandler();
1163
1343
  server.onPlatform("crm", handler);
1164
1344
  console.log("[exe-gateway] CRM webhook adapter registered");
@@ -7,7 +7,7 @@ import "../chunk-MLKGABMK.js";
7
7
  // src/bin/exe-grant.ts
8
8
  async function primeGrants() {
9
9
  const { getMasterKey } = await import("../lib/keychain.js");
10
- const { primeGrantsMacKey } = await import("../monitor-grants-BW2WL4IU.js");
10
+ const { primeGrantsMacKey } = await import("../monitor-grants-EV747HMW.js");
11
11
  const master = await getMasterKey();
12
12
  if (!master) return false;
13
13
  primeGrantsMacKey(master);
@@ -34,7 +34,7 @@ async function runAdd(ownerPubB64, label) {
34
34
  console.error("Usage: exe-os grant add <ownerPubB64> [label]");
35
35
  return 1;
36
36
  }
37
- const { orgModeActive } = await import("../org-membership-ESALTLLN.js");
37
+ const { orgModeActive } = await import("../org-membership-WRT2IHJK.js");
38
38
  if (orgModeActive()) {
39
39
  console.error("Refusing to add a monitoring grant: this install belongs to an organization.");
40
40
  console.error("");
@@ -51,7 +51,7 @@ async function runAdd(ownerPubB64, label) {
51
51
  requireKeyMessage();
52
52
  return 1;
53
53
  }
54
- const { addGrant } = await import("../monitor-grants-BW2WL4IU.js");
54
+ const { addGrant } = await import("../monitor-grants-EV747HMW.js");
55
55
  try {
56
56
  const { grant_id, created } = addGrant(ownerPubB64, label);
57
57
  if (created) {
@@ -72,7 +72,7 @@ async function runList() {
72
72
  requireKeyMessage();
73
73
  return 1;
74
74
  }
75
- const { listGrants } = await import("../monitor-grants-BW2WL4IU.js");
75
+ const { listGrants } = await import("../monitor-grants-EV747HMW.js");
76
76
  const grants = listGrants();
77
77
  if (grants.length === 0) {
78
78
  console.log("No monitoring grants. Monitoring is OFF (blobs are v=1).");
@@ -97,7 +97,7 @@ async function runRevoke(idOrPub) {
97
97
  requireKeyMessage();
98
98
  return 1;
99
99
  }
100
- const { revokeGrant } = await import("../monitor-grants-BW2WL4IU.js");
100
+ const { revokeGrant } = await import("../monitor-grants-EV747HMW.js");
101
101
  const revoked = revokeGrant(idOrPub);
102
102
  if (revoked === 0) {
103
103
  console.error(`No active grant matched: ${idOrPub}`);
@@ -15,30 +15,31 @@ import {
15
15
  healthcheckTimeoutMs,
16
16
  runHealthCheck,
17
17
  runHealthCheckWithDeadline
18
- } from "../chunk-QLA3RTH4.js";
18
+ } from "../chunk-AWWKRZMB.js";
19
19
  import "../chunk-SSC7EKY2.js";
20
- import "../chunk-E5HAY3DQ.js";
20
+ import "../chunk-HDLAB7W3.js";
21
21
  import "../chunk-75H4R62K.js";
22
- import "../chunk-YYA5LXCT.js";
23
- import "../chunk-LDL3S7AC.js";
22
+ import "../chunk-FNEZ4BWT.js";
23
+ import "../chunk-NKETJCB5.js";
24
24
  import "../chunk-B6TI3TZT.js";
25
25
  import "../chunk-4QCFFW2H.js";
26
- import "../chunk-5DCCKHDY.js";
27
- import "../chunk-TKDITWDN.js";
26
+ import "../chunk-TAMDAOCU.js";
28
27
  import "../chunk-BBMTVAE3.js";
28
+ import "../chunk-TKDITWDN.js";
29
29
  import "../chunk-5YEUPUV4.js";
30
- import "../chunk-UTDMTQNH.js";
30
+ import "../chunk-DSJI76XL.js";
31
31
  import "../chunk-YYB5PMTK.js";
32
32
  import "../chunk-NJFJWQNN.js";
33
33
  import "../chunk-V3W3SATA.js";
34
34
  import "../chunk-JY5GAZYC.js";
35
35
  import "../chunk-FXU7JOXK.js";
36
36
  import "../chunk-HPXFKUGU.js";
37
- import "../chunk-TCTED52S.js";
37
+ import "../chunk-FTZET5YX.js";
38
38
  import "../chunk-A7JYF4RG.js";
39
39
  import "../chunk-ARX6TAGN.js";
40
- import "../chunk-QMSEL5YS.js";
40
+ import "../chunk-ZIG7VPJV.js";
41
41
  import "../chunk-HSGBZSCA.js";
42
+ import "../chunk-RH4AH3YB.js";
42
43
  import "../chunk-JKKZGDLP.js";
43
44
  import "../chunk-MLKGABMK.js";
44
45
  export {
@@ -1,75 +1,78 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  countTieredReviewReceipts
4
- } from "../chunk-5AHDQCTB.js";
4
+ } from "../chunk-XXFKSJYA.js";
5
5
  import {
6
6
  querySubagentCheckpointCounts
7
- } from "../chunk-JKXZGRWR.js";
7
+ } from "../chunk-LP4GB656.js";
8
8
  import {
9
9
  shutdownCli
10
- } from "../chunk-ORA5BWCV.js";
10
+ } from "../chunk-NRG7KZIP.js";
11
11
  import {
12
12
  fastDbInit
13
- } from "../chunk-HR2R2QER.js";
13
+ } from "../chunk-M4IRPXSZ.js";
14
14
  import {
15
15
  isExeSession,
16
16
  listPendingReviews,
17
17
  strictSessionScopeFilter
18
- } from "../chunk-XHYHX6F7.js";
18
+ } from "../chunk-AKLQSC6W.js";
19
19
  import "../chunk-BTSWFMEH.js";
20
- import "../chunk-WAEKYKTK.js";
21
- import "../chunk-44C7QNZS.js";
22
- import "../chunk-JTWTBX2M.js";
20
+ import "../chunk-6RKKVPYF.js";
21
+ import "../chunk-4EN3IZ3Q.js";
23
22
  import "../chunk-KI5PFRG6.js";
23
+ import "../chunk-3KDCORDO.js";
24
24
  import "../chunk-WT4RI36X.js";
25
25
  import "../chunk-E23LNUWJ.js";
26
26
  import "../chunk-QAEWWYHL.js";
27
27
  import "../chunk-EIKATSE4.js";
28
- import "../chunk-MDGYXUOV.js";
29
- import "../chunk-GBNB4EWD.js";
30
- import "../chunk-UXLO7VHX.js";
31
- import "../chunk-DSOQUQTV.js";
32
- import "../chunk-E2WEFZOR.js";
28
+ import "../chunk-MJCSEIFI.js";
29
+ import "../chunk-XH7YL7JM.js";
30
+ import "../chunk-ORM7ZFKC.js";
31
+ import "../chunk-VI4ATC6I.js";
32
+ import "../chunk-A27Q27CT.js";
33
+ import "../chunk-W75GTHR3.js";
33
34
  import "../chunk-AJIXH5JF.js";
34
- import "../chunk-L6ZNURWN.js";
35
- import "../chunk-XTWHNLGD.js";
35
+ import "../chunk-7GE2EQ23.js";
36
+ import "../chunk-GZOG2MAX.js";
36
37
  import "../chunk-AM7S2TY6.js";
37
- import "../chunk-HIIXCAEE.js";
38
+ import "../chunk-6YVUR3OU.js";
38
39
  import "../chunk-CVYC6DUW.js";
39
- import "../chunk-QZL6E4UB.js";
40
- import "../chunk-CDUB5Q6J.js";
41
- import "../chunk-UQUUNGTP.js";
42
- import "../chunk-IVU3WN7S.js";
43
- import "../chunk-RIECV7SR.js";
44
- import "../chunk-LNOS24GV.js";
40
+ import "../chunk-GOMQ7PVQ.js";
41
+ import "../chunk-4IK2K3B3.js";
42
+ import "../chunk-NUK7EEN5.js";
43
+ import "../chunk-ZG62LIK3.js";
44
+ import "../chunk-EKYYMIVT.js";
45
45
  import "../chunk-NLEW62VC.js";
46
- import "../chunk-W2IRQJ6R.js";
46
+ import "../chunk-SLLLOOEI.js";
47
+ import "../chunk-V3WLC5TJ.js";
48
+ import "../chunk-JTVIANUB.js";
47
49
  import "../chunk-HYZV25LY.js";
48
50
  import "../chunk-GJV3WDWM.js";
49
51
  import "../chunk-MP2AFCGL.js";
50
52
  import {
51
53
  getClient,
52
54
  getCoordinatorName
53
- } from "../chunk-5DCCKHDY.js";
54
- import "../chunk-TKDITWDN.js";
55
+ } from "../chunk-TAMDAOCU.js";
55
56
  import "../chunk-BBMTVAE3.js";
57
+ import "../chunk-TKDITWDN.js";
56
58
  import "../chunk-5YEUPUV4.js";
57
- import "../chunk-UTDMTQNH.js";
59
+ import "../chunk-DSJI76XL.js";
58
60
  import "../chunk-YYB5PMTK.js";
59
61
  import "../chunk-NJFJWQNN.js";
60
62
  import "../chunk-V3W3SATA.js";
61
63
  import "../chunk-JY5GAZYC.js";
62
64
  import "../chunk-FXU7JOXK.js";
63
65
  import "../chunk-WNBZJSQT.js";
64
- import "../chunk-DKBPCOU4.js";
66
+ import "../chunk-L6RXG36J.js";
65
67
  import "../chunk-A7XLR3K7.js";
66
- import "../chunk-GB3AHV5F.js";
68
+ import "../chunk-GQOEWNVM.js";
67
69
  import "../chunk-A7JYF4RG.js";
68
70
  import "../chunk-ARX6TAGN.js";
69
71
  import {
70
72
  loadConfigSync
71
- } from "../chunk-QMSEL5YS.js";
73
+ } from "../chunk-ZIG7VPJV.js";
72
74
  import "../chunk-HSGBZSCA.js";
75
+ import "../chunk-RH4AH3YB.js";
73
76
  import {
74
77
  isMainModule
75
78
  } from "../chunk-6Y4B3QF6.js";
@@ -132,7 +135,7 @@ async function queryPendingReviews() {
132
135
  }
133
136
  let projectName;
134
137
  try {
135
- const { getProjectName } = await import("../project-name-ILJTETUE.js");
138
+ const { getProjectName } = await import("../project-name-LJVFMYTQ.js");
136
139
  projectName = getProjectName() || void 0;
137
140
  } catch {
138
141
  }
@@ -217,7 +220,7 @@ async function querySubagentProgress() {
217
220
  const client = getClient();
218
221
  let projectName;
219
222
  try {
220
- const { getProjectName } = await import("../project-name-ILJTETUE.js");
223
+ const { getProjectName } = await import("../project-name-LJVFMYTQ.js");
221
224
  projectName = getProjectName() || void 0;
222
225
  } catch {
223
226
  return "";
@@ -244,7 +247,7 @@ async function queryTieredReviewReceiptSummary() {
244
247
  }
245
248
  let projectName = null;
246
249
  try {
247
- const { getProjectName } = await import("../project-name-ILJTETUE.js");
250
+ const { getProjectName } = await import("../project-name-LJVFMYTQ.js");
248
251
  projectName = getProjectName() || null;
249
252
  } catch {
250
253
  }