@askexenow/exe-os 0.9.359 → 0.9.362

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 (451) hide show
  1. package/deploy/compose/docker-compose.yml +7 -1
  2. package/deploy/compose/generate-env.ts +23 -4
  3. package/deploy/compose/sso-edge/default.conf.template +35 -0
  4. package/deploy/compose/sso-edge/sso-redirect.conf +23 -2
  5. package/deploy/stack-manifests/v0.9.json +228 -2
  6. package/dist/.dist-verified.json +3 -3
  7. package/dist/{active-agent-DMKNHGSG.js → active-agent-3FV5V7SS.js} +9 -8
  8. package/dist/{active-agent-Y3DCBD7J.js → active-agent-BPNEBKHI.js} +9 -8
  9. package/dist/{agentic-ontology-3233PNKV.js → agentic-ontology-RCVCJ6WB.js} +1 -1
  10. package/dist/{backfill-gate-DA7UT6UD.js → backfill-gate-LRX77SUD.js} +3 -2
  11. package/dist/{backfill-metadata-4DS4A5U3.js → backfill-metadata-Y3DGVCK5.js} +12 -11
  12. package/dist/{background-jobs-XGTLESKM.js → background-jobs-Z6KHCWES.js} +3 -2
  13. package/dist/{backup-verify-JNYKXIU2.js → backup-verify-TZPPUCLU.js} +5 -4
  14. package/dist/{behavior-injection-CGAMI552.js → behavior-injection-JMGGWCWG.js} +21 -13
  15. package/dist/{behaviors-57AMN5IP.js → behaviors-TT6CMEKC.js} +20 -12
  16. package/dist/bin/age-ontology-load.js +3 -2
  17. package/dist/bin/agentic-ontology-backfill.js +14 -13
  18. package/dist/bin/agentic-reflection-backfill.js +15 -14
  19. package/dist/bin/agentic-semantic-label.js +14 -13
  20. package/dist/bin/backfill-conversations.js +16 -14
  21. package/dist/bin/backfill-responses.js +16 -14
  22. package/dist/bin/backfill-vectors.js +20 -18
  23. package/dist/bin/bulk-sync-postgres.js +27 -24
  24. package/dist/bin/cc-doctor.js +13 -11
  25. package/dist/bin/cleanup-stale-review-tasks.js +31 -28
  26. package/dist/bin/cli.js +157 -47
  27. package/dist/bin/customer-readiness.js +10 -1
  28. package/dist/bin/deferred-daemon-restart.js +127 -104
  29. package/dist/bin/exe-agent-config.js +9 -8
  30. package/dist/bin/exe-agent.js +17 -16
  31. package/dist/bin/exe-assign.js +18 -16
  32. package/dist/bin/exe-boot.js +62 -49
  33. package/dist/bin/exe-call.js +10 -9
  34. package/dist/bin/exe-cloud.js +29 -26
  35. package/dist/bin/exe-config-dump.js +9 -8
  36. package/dist/bin/exe-dispatch.js +31 -28
  37. package/dist/bin/exe-doctor.js +14 -10
  38. package/dist/bin/exe-export-behaviors.js +22 -14
  39. package/dist/bin/exe-forget.js +14 -13
  40. package/dist/bin/exe-gateway.js +13 -12
  41. package/dist/bin/exe-grant.js +6 -6
  42. package/dist/bin/exe-healthcheck.js +13 -11
  43. package/dist/bin/exe-heartbeat.js +33 -30
  44. package/dist/bin/exe-kill.js +36 -33
  45. package/dist/bin/exe-launch-agent.js +126 -44
  46. package/dist/bin/exe-mcp.js +165 -1
  47. package/dist/bin/exe-memory-reads.js +12 -11
  48. package/dist/bin/exe-new-employee.js +20 -17
  49. package/dist/bin/exe-os-mcp-proxy.js +9 -8
  50. package/dist/bin/exe-pending-messages.js +32 -29
  51. package/dist/bin/exe-pending-notifications.js +31 -28
  52. package/dist/bin/exe-pending-reviews.js +31 -28
  53. package/dist/bin/exe-preflight.js +1 -1
  54. package/dist/bin/exe-rename.js +10 -9
  55. package/dist/bin/exe-review.js +35 -32
  56. package/dist/bin/exe-search.js +13 -12
  57. package/dist/bin/exe-session-cleanup.js +36 -33
  58. package/dist/bin/exe-settings.js +28 -25
  59. package/dist/bin/exe-start-codex.js +27 -19
  60. package/dist/bin/exe-start-opencode.js +23 -15
  61. package/dist/bin/exe-start.sh +11 -7
  62. package/dist/bin/exe-status.js +32 -29
  63. package/dist/bin/exe-support.js +5 -4
  64. package/dist/bin/exe-team.js +9 -8
  65. package/dist/bin/exe-watchdog.js +115 -30
  66. package/dist/bin/git-sweep.js +32 -29
  67. package/dist/bin/graph-backfill.js +14 -13
  68. package/dist/bin/graph-export.js +13 -12
  69. package/dist/bin/import-history.js +16 -15
  70. package/dist/bin/install.js +392 -201
  71. package/dist/bin/intercom-check.js +4 -4
  72. package/dist/bin/mcp-sessions.js +2 -2
  73. package/dist/bin/orchestration-metrics.js +10 -9
  74. package/dist/bin/postgres-agentic-reflection-backfill.js +5 -4
  75. package/dist/bin/postgres-agentic-semantic-backfill.js +4 -3
  76. package/dist/bin/reconcile-backlog.js +2 -2
  77. package/dist/bin/registry-proxy.js +1 -1
  78. package/dist/bin/scan-tasks.js +31 -28
  79. package/dist/bin/setup.js +7 -4
  80. package/dist/bin/shard-migrate.js +13 -12
  81. package/dist/bin/stack-update.js +45 -14
  82. package/dist/bin/update.js +4 -3
  83. package/dist/bin/vps-health-gate.js +1 -1
  84. package/dist/{boot-generation-4D3CTT7X.js → boot-generation-XABYKF5P.js} +9 -8
  85. package/dist/{boot-review-sections-NDFE5443.js → boot-review-sections-2X5TFIGU.js} +30 -27
  86. package/dist/{branch-hygiene-HNSOUDJE.js → branch-hygiene-Z4IBWAOX.js} +2 -1
  87. package/dist/{branding-6FHWZQYQ.js → branding-7MZDHTKN.js} +3 -2
  88. package/dist/build-manifest.json +1249 -1069
  89. package/dist/{capability-cards-OBB7BMMX.js → capability-cards-O5UXDOOA.js} +8 -7
  90. package/dist/{capacity-monitor-QLPEL6S5.js → capacity-monitor-IPXM726A.js} +32 -29
  91. package/dist/{catchup-brief-EN7QR6MP.js → catchup-brief-EBIGDXOK.js} +36 -33
  92. package/dist/{chunk-WRP5AG4D.js → chunk-23KWUA7Z.js} +2 -2
  93. package/dist/{chunk-PDRIIEFV.js → chunk-2FA4PYYX.js} +1 -1
  94. package/dist/chunk-2PRAXZWM.js +261 -0
  95. package/dist/{chunk-R6LNQAUG.js → chunk-327Q53AS.js} +34 -1
  96. package/dist/{chunk-MBULOZJF.js → chunk-32FEF5BW.js} +2 -2
  97. package/dist/{chunk-2YGAKBRG.js → chunk-35FD67ZB.js} +3 -3
  98. package/dist/{chunk-R62ITJDQ.js → chunk-3C7NE4JE.js} +1 -1
  99. package/dist/{chunk-YBX3G5OP.js → chunk-3ICF4IAZ.js} +1 -1
  100. package/dist/{chunk-CVTWQZOR.js → chunk-3L2QU5ZF.js} +14 -2
  101. package/dist/{chunk-I5AVZOL2.js → chunk-3YBJ36UX.js} +2 -2
  102. package/dist/{chunk-NKDKB2RT.js → chunk-465RCKVI.js} +6 -6
  103. package/dist/{chunk-QROIFRKI.js → chunk-4AFD4R35.js} +5 -5
  104. package/dist/{chunk-OSID72CN.js → chunk-4L33OFU4.js} +25 -1
  105. package/dist/{chunk-A6VIK3SS.js → chunk-4P2BFNSB.js} +2 -2
  106. package/dist/{chunk-SIGAQQHW.js → chunk-4R2WD6T3.js} +2 -2
  107. package/dist/{chunk-HPHF5VTT.js → chunk-4U56FZ7B.js} +4 -4
  108. package/dist/{chunk-2KLVTRY2.js → chunk-54USDN5Q.js} +1 -1
  109. package/dist/{chunk-CAEWPEBA.js → chunk-5C6ZIJ7J.js} +1 -1
  110. package/dist/{chunk-46RPEWTH.js → chunk-5H3RHWRE.js} +1 -1
  111. package/dist/chunk-5OPAUFLP.js +126 -0
  112. package/dist/{chunk-EHM4E62N.js → chunk-6DTALXOA.js} +1 -1
  113. package/dist/chunk-6EM6USV7.js +1332 -0
  114. package/dist/{chunk-JE34CB5H.js → chunk-6N3HUOV3.js} +2 -2
  115. package/dist/{chunk-6KREY2Q7.js → chunk-6QJXFLNN.js} +5 -5
  116. package/dist/{chunk-G37RG543.js → chunk-6UZDGEGQ.js} +1 -1
  117. package/dist/{chunk-APR556TY.js → chunk-6Y3KUO7Q.js} +190 -29
  118. package/dist/{chunk-2EAYZ3BK.js → chunk-7H3AZNQ7.js} +9 -9
  119. package/dist/{chunk-C5YZMYQH.js → chunk-7SY2NOMQ.js} +1 -1
  120. package/dist/{chunk-OAYTQ4RY.js → chunk-AL4HXKDJ.js} +55 -12
  121. package/dist/{chunk-VY5VU7SX.js → chunk-AOMFYUPT.js} +2 -2
  122. package/dist/{chunk-EX2SSLNU.js → chunk-AQO3BT3I.js} +12 -12
  123. package/dist/chunk-ARX6TAGN.js +102 -0
  124. package/dist/chunk-B6PFGUYJ.js +159 -0
  125. package/dist/{chunk-FASR2WLT.js → chunk-BDLRTLXY.js} +1 -1
  126. package/dist/chunk-BJEQBKGH.js +218 -0
  127. package/dist/{chunk-BCZF3AGJ.js → chunk-BRIZ6OZ3.js} +34 -44
  128. package/dist/{chunk-OMXJMOBD.js → chunk-BRZR76TS.js} +66 -0
  129. package/dist/{chunk-XV42EAVK.js → chunk-BT2PUK3S.js} +1 -1
  130. package/dist/{chunk-6EOLGE7T.js → chunk-CVYDJ2TW.js} +1 -1
  131. package/dist/{chunk-WCP4OQUL.js → chunk-CXQ724WH.js} +2 -2
  132. package/dist/{chunk-F3QTF4T7.js → chunk-CY5NVDTH.js} +3 -3
  133. package/dist/{chunk-3ODATKWH.js → chunk-D5CY4E7I.js} +1 -1
  134. package/dist/{chunk-W5YV2PZE.js → chunk-DKRDU2AX.js} +16 -16
  135. package/dist/{chunk-SNWV44E5.js → chunk-DSKEYEL2.js} +12 -5
  136. package/dist/{chunk-VXL7PJ56.js → chunk-E3YI6FVJ.js} +5 -24
  137. package/dist/{chunk-6SK4MM5B.js → chunk-E7PL3T2U.js} +1 -1
  138. package/dist/{chunk-IOEUAQWP.js → chunk-EEZOBN6X.js} +1 -1
  139. package/dist/{chunk-AHMUF6RO.js → chunk-G2M7WQ2M.js} +0 -2
  140. package/dist/{chunk-SKGMF2SO.js → chunk-GBNB4EWD.js} +22 -1
  141. package/dist/{chunk-UZ5RJYL3.js → chunk-HAXCUCJC.js} +1 -1
  142. package/dist/{chunk-VMR6M6GN.js → chunk-HISFWAAK.js} +1 -1
  143. package/dist/{chunk-DKRSKC5R.js → chunk-HKQ7UTSE.js} +1 -1
  144. package/dist/chunk-HLQ4MS42.js +257 -0
  145. package/dist/{chunk-EA5FVACM.js → chunk-HLU52KTO.js} +29 -18
  146. package/dist/{chunk-QWVXN224.js → chunk-HPXFKUGU.js} +350 -65
  147. package/dist/{chunk-2OVTGZYH.js → chunk-HSKABJE6.js} +46 -3
  148. package/dist/{chunk-NE57GONM.js → chunk-I3SF6QGV.js} +1 -1
  149. package/dist/chunk-J6KMGEJW.js +238 -0
  150. package/dist/chunk-JKKZGDLP.js +182 -0
  151. package/dist/{chunk-3ZEVMZ4G.js → chunk-JYKZVAS6.js} +1 -1
  152. package/dist/{chunk-4DYJ6NOK.js → chunk-KA4WVDLX.js} +2 -2
  153. package/dist/{chunk-QH2XAUZ5.js → chunk-KBI4FVBZ.js} +1 -1
  154. package/dist/{chunk-VAY6IXWY.js → chunk-KDMVVHZH.js} +1 -1
  155. package/dist/{chunk-4FQIWAXA.js → chunk-KID6T2A4.js} +10 -10
  156. package/dist/{chunk-HNPHPGGF.js → chunk-KIKB6FY3.js} +2 -2
  157. package/dist/{chunk-STFR72YH.js → chunk-LCDW2HUL.js} +1 -1
  158. package/dist/{chunk-RFUTLZ2U.js → chunk-LG37UBBE.js} +4 -4
  159. package/dist/{chunk-3QWOO74G.js → chunk-LLZNPOGB.js} +97 -3
  160. package/dist/chunk-M67ARGXY.js +175 -0
  161. package/dist/chunk-MPVXHYD5.js +85 -0
  162. package/dist/{chunk-RXL7A7JH.js → chunk-MZYNW5OY.js} +1 -1
  163. package/dist/{chunk-DQ75MEPU.js → chunk-MZZN5GFC.js} +1 -1
  164. package/dist/{chunk-X2F6Q7TW.js → chunk-NAHCSQWT.js} +1 -1
  165. package/dist/{chunk-AL7JMA54.js → chunk-NE4QI2GX.js} +2 -2
  166. package/dist/chunk-NGDXBN3M.js +254 -0
  167. package/dist/{chunk-HDSDXGLV.js → chunk-NO5KHKKB.js} +1 -1
  168. package/dist/chunk-NOKJCF27.js +437 -0
  169. package/dist/{chunk-PLOEFBFW.js → chunk-O32HTNRX.js} +3 -3
  170. package/dist/{chunk-UPM5JP6G.js → chunk-OZNCAMS3.js} +47 -4
  171. package/dist/{chunk-XLEYCOHX.js → chunk-P7CV4SHQ.js} +398 -58
  172. package/dist/{chunk-G2KK64UB.js → chunk-PDJWHL63.js} +101 -19
  173. package/dist/{chunk-W3XUU36X.js → chunk-PF7EQSE5.js} +5 -5
  174. package/dist/{chunk-QX7RWICL.js → chunk-PU7UYQRC.js} +1 -1
  175. package/dist/{chunk-A5WEEND7.js → chunk-PUMH7JSB.js} +3 -3
  176. package/dist/{chunk-POZGQQEZ.js → chunk-PV5BIXT6.js} +1 -1
  177. package/dist/{chunk-TG7JYSEA.js → chunk-Q2VQNAPU.js} +5 -2
  178. package/dist/{chunk-Z2PAVJJ4.js → chunk-Q7J2SQJ6.js} +127 -29
  179. package/dist/{chunk-4JERP7NT.js → chunk-QAEWWYHL.js} +29 -1
  180. package/dist/{chunk-6JTKIXLU.js → chunk-QCJT265O.js} +1 -1
  181. package/dist/{chunk-OY2PWHYR.js → chunk-QI25QRUP.js} +2 -2
  182. package/dist/chunk-QILQ5FCG.js +198 -0
  183. package/dist/{chunk-LRETL4I3.js → chunk-QJBX3MBV.js} +3 -3
  184. package/dist/{chunk-57GRYGDU.js → chunk-QP53XLC5.js} +1 -1
  185. package/dist/{chunk-JBAMYKBL.js → chunk-QQMYD4M7.js} +1 -1
  186. package/dist/{chunk-SHEWTDPC.js → chunk-QY3TM2T3.js} +4 -4
  187. package/dist/{chunk-WA2MJGPT.js → chunk-QYRI25IP.js} +3 -3
  188. package/dist/{chunk-QLFN3MUW.js → chunk-RCOIKTHM.js} +1 -1
  189. package/dist/{chunk-ITRKRKS7.js → chunk-RFKRCVGW.js} +1 -1
  190. package/dist/{chunk-HK7SQDKJ.js → chunk-RNSAVQEU.js} +2 -2
  191. package/dist/{chunk-44WFVMZ5.js → chunk-RUUX2ZST.js} +1 -1
  192. package/dist/{chunk-DWKH2H7W.js → chunk-RWKX2TK5.js} +1 -1
  193. package/dist/{chunk-MCNDZU5W.js → chunk-RYRNY6IF.js} +2 -2
  194. package/dist/{chunk-5I3YC7ER.js → chunk-SC6WDF3Q.js} +2 -2
  195. package/dist/chunk-SLBOKYYQ.js +197 -0
  196. package/dist/{chunk-74R44E4S.js → chunk-SQM4ZTL2.js} +246 -96
  197. package/dist/{chunk-KIXNMTGC.js → chunk-SRFRUN66.js} +5 -5
  198. package/dist/chunk-SXKIGBNF.js +61 -0
  199. package/dist/chunk-T2RZU7JA.js +2607 -0
  200. package/dist/{chunk-2I23RPSI.js → chunk-TKDITWDN.js} +9 -0
  201. package/dist/{chunk-5UAMBMNR.js → chunk-TN2E6ZCM.js} +44 -34
  202. package/dist/{chunk-SQBNN44X.js → chunk-TP7RXGMP.js} +49 -15
  203. package/dist/{chunk-GSVQBBE5.js → chunk-TY4JLBFO.js} +2 -2
  204. package/dist/{chunk-7QRMFYOV.js → chunk-UHPMK6QZ.js} +17 -3
  205. package/dist/{chunk-LPKTGK7L.js → chunk-UO5QJ2RX.js} +4 -4
  206. package/dist/{chunk-VCCZQDCU.js → chunk-URNVIZXU.js} +3 -3
  207. package/dist/{chunk-OIS5VIAH.js → chunk-UWEFIIEG.js} +6 -2
  208. package/dist/{chunk-IQWAYXVF.js → chunk-V5I5N7NC.js} +3 -3
  209. package/dist/{chunk-GD7VXXW6.js → chunk-V6YLIDLK.js} +801 -180
  210. package/dist/chunk-VAOUB2TK.js +23 -0
  211. package/dist/{chunk-XVTKJEI2.js → chunk-VDMFVUSY.js} +3 -3
  212. package/dist/{chunk-RJ67HG2P.js → chunk-VWTUKKUF.js} +4 -4
  213. package/dist/{chunk-4WSUP4CC.js → chunk-W3LKIQJ2.js} +43 -17
  214. package/dist/{chunk-EUQF3JOH.js → chunk-WBG7XYVR.js} +1 -1
  215. package/dist/{chunk-YKRNH5LU.js → chunk-WH2VVEGD.js} +1 -1
  216. package/dist/{chunk-NP2Y7P3I.js → chunk-WP2TGH5R.js} +1 -1
  217. package/dist/chunk-WT4RI36X.js +23 -0
  218. package/dist/{chunk-LXG37RB2.js → chunk-XJIRUTGJ.js} +1 -1
  219. package/dist/chunk-XRCX6R5S.js +57 -0
  220. package/dist/{chunk-XWWNRFRF.js → chunk-XSYQ5EPE.js} +11 -11
  221. package/dist/{chunk-HKK7LLS5.js → chunk-XTGR3LMF.js} +34 -3
  222. package/dist/{chunk-HLEZ5O5P.js → chunk-XUB4GFPN.js} +17 -15
  223. package/dist/chunk-YZUHSV24.js +277 -0
  224. package/dist/{chunk-6WHYSLGF.js → chunk-Z67DIJKT.js} +1 -1
  225. package/dist/{chunk-6LY3QSJA.js → chunk-ZI3HA3XW.js} +11 -6
  226. package/dist/{chunk-YEOIPUFO.js → chunk-ZR4CQBAP.js} +1 -1
  227. package/dist/{chunk-VNK3MNZE.js → chunk-ZZEKOI2M.js} +1 -1
  228. package/dist/{cleanup-graph-garbage-XFGY4EEE.js → cleanup-graph-garbage-6F22Y5SD.js} +13 -12
  229. package/dist/{cloud-sync-shutdown-XCOATIJW.js → cloud-sync-shutdown-FWERMZB5.js} +8 -7
  230. package/dist/{co-activation-XNBLOGK3.js → co-activation-UEEDCM5U.js} +8 -7
  231. package/dist/{co-occurrence-HO4PGQC4.js → co-occurrence-W6OPFRSY.js} +11 -10
  232. package/dist/{code-context-index-5RY66SWZ.js → code-context-index-DWR6HS35.js} +7 -5
  233. package/dist/consent-passphrase-Z64GFJXK.js +23 -0
  234. package/dist/{conversation-entity-extractor-5G5DGRJU.js → conversation-entity-extractor-LWUIH3UB.js} +3 -3
  235. package/dist/{conversation-wiki-populator-RZKG6PK4.js → conversation-wiki-populator-5EGRW2UZ.js} +1 -1
  236. package/dist/{crdt-sync-6TD7LSZW.js → crdt-sync-NHJX3ZJD.js} +5 -4
  237. package/dist/{crm-webhook-WZAV5776.js → crm-webhook-OY467ATC.js} +2 -2
  238. package/dist/{cto-delegation-gate-UHMYFM4D.js → cto-delegation-gate-XH4YSQVC.js} +30 -27
  239. package/dist/{daemon-auth-SXZHLUYS.js → daemon-auth-OCHW2U6B.js} +3 -2
  240. package/dist/{daemon-orchestration-DT5M2ZAR.js → daemon-orchestration-7425ZVNH.js} +35 -32
  241. package/dist/{daemon-ready-56VAPZU6.js → daemon-ready-VGPSRI3Z.js} +1 -1
  242. package/dist/{daemon-restart-circuit-breaker-5V6B6NLS.js → daemon-restart-circuit-breaker-SMTWFX27.js} +25 -3
  243. package/dist/db-backend-ODVJ3Q3D.js +7 -0
  244. package/dist/{db-restore-events-ZLD2HRQV.js → db-restore-events-TFCZ4CPM.js} +2 -1
  245. package/dist/{doc-graph-extractor-FNCYPFKY.js → doc-graph-extractor-RR2VSO4W.js} +11 -10
  246. package/dist/{documents-GKDZDUED.js → documents-TRZ4R2ZW.js} +18 -16
  247. package/dist/dreaming-MAMZAPYW.js +63 -0
  248. package/dist/{exe-drift-QTKD2FHT.js → exe-drift-VBWB5E6S.js} +9 -8
  249. package/dist/{exe-export-ESJ6KP6J.js → exe-export-XJJTVVT7.js} +21 -13
  250. package/dist/{exe-import-N4X3GEQB.js → exe-import-G6O7JFNZ.js} +21 -13
  251. package/dist/{exe-key-KZCCHX3W.js → exe-key-A2WJLLTM.js} +116 -99
  252. package/dist/exe-org-HXF4XBB3.js +672 -0
  253. package/dist/{exe-snapshot-SCRPHCPZ.js → exe-snapshot-TL3TLKLR.js} +38 -33
  254. package/dist/{fast-db-init-6H67K76Q.js → fast-db-init-SO2XUQ7T.js} +1 -1
  255. package/dist/{founder-context-C7X7IRDA.js → founder-context-IOCADC66.js} +4 -3
  256. package/dist/{founder-monitor-envelope-DHSUMBWU.js → founder-monitor-envelope-SMILO4BT.js} +7 -5
  257. package/dist/gateway/index.js +23 -22
  258. package/dist/{gateway-client-7LMZKHTH.js → gateway-client-JA2BH7QO.js} +1 -1
  259. package/dist/{git-staleness-JCKVMWPO.js → git-staleness-I6WT7EXV.js} +8 -7
  260. package/dist/{global-procedures-BR7WGSE7.js → global-procedures-3RMO6C3C.js} +9 -8
  261. package/dist/{graph-auto-extract-EOXWQRBZ.js → graph-auto-extract-NKTYPD2I.js} +11 -10
  262. package/dist/{graph-rag-5FVC5JXH.js → graph-rag-EOGPZOYI.js} +3 -3
  263. package/dist/{hook-integrity-TYGDD7OE.js → hook-integrity-RTBF2BL2.js} +1 -1
  264. package/dist/{hook-prefetch-2CN3MK4H.js → hook-prefetch-V5KCGW2N.js} +31 -28
  265. package/dist/hooks/bug-report-worker.js +35 -32
  266. package/dist/hooks/codex-stop-task-finalizer.js +36 -33
  267. package/dist/hooks/commit-complete.js +34 -31
  268. package/dist/hooks/error-recall.js +16 -15
  269. package/dist/hooks/exe-heartbeat-hook.js +10 -9
  270. package/dist/hooks/ingest-worker.js +12 -10
  271. package/dist/hooks/ingest.js +19 -18
  272. package/dist/hooks/instructions-loaded.js +11 -10
  273. package/dist/hooks/manifest.json +20 -20
  274. package/dist/hooks/notification.js +11 -10
  275. package/dist/hooks/post-compact.js +11 -115
  276. package/dist/hooks/post-tool-combined.js +11 -11
  277. package/dist/hooks/pre-compact.js +38 -64
  278. package/dist/hooks/pre-tool-use.js +95 -36
  279. package/dist/hooks/prompt-submit.js +50 -47
  280. package/dist/hooks/session-end.js +39 -36
  281. package/dist/hooks/session-start.js +64 -18
  282. package/dist/hooks/stop.js +40 -37
  283. package/dist/hooks/subagent-stop.js +35 -32
  284. package/dist/hooks/summary-worker.js +41 -38
  285. package/dist/index.js +45 -42
  286. package/dist/inrun-inbox-DRKVDPLY.js +29 -0
  287. package/dist/{installer-VPNTM3X6.js → installer-G67M3DME.js} +11 -10
  288. package/dist/{installer-YDLSXGD2.js → installer-L3ZKMOPU.js} +11 -10
  289. package/dist/{installer-7UV3CNWZ.js → installer-QBWZSYDG.js} +11 -10
  290. package/dist/{intercom-queue-KHKJJYCQ.js → intercom-queue-R5LSXD3V.js} +30 -27
  291. package/dist/{key-backup-status-YMS7YGWO.js → key-backup-status-3RC6XTUX.js} +2 -1
  292. package/dist/lib/agent-config.js +3 -2
  293. package/dist/lib/cloud-sync.js +27 -24
  294. package/dist/lib/config.js +6 -1
  295. package/dist/lib/consolidation.js +14 -13
  296. package/dist/lib/crypto.js +4 -3
  297. package/dist/lib/database.js +8 -7
  298. package/dist/lib/db-backup.js +4 -3
  299. package/dist/lib/db-checkpoint-worker.js +1 -1
  300. package/dist/lib/db-daemon-client.js +7 -5
  301. package/dist/lib/db-read-worker-client.js +1 -1
  302. package/dist/lib/db-read-worker.js +1 -1
  303. package/dist/lib/db-write-worker-client.js +4 -2
  304. package/dist/lib/db-write-worker.js +21 -3
  305. package/dist/lib/db.js +8 -7
  306. package/dist/lib/device-registry.js +3 -2
  307. package/dist/lib/embed-worker.js +2 -1
  308. package/dist/lib/embedder.js +7 -5
  309. package/dist/lib/employee-templates.js +10 -9
  310. package/dist/lib/employees.js +8 -7
  311. package/dist/lib/error-detector.js +1 -1
  312. package/dist/lib/exe-daemon-client.js +16 -6
  313. package/dist/lib/exe-daemon.js +342 -168
  314. package/dist/lib/hybrid-search.js +13 -12
  315. package/dist/lib/identity-templates.js +3 -1
  316. package/dist/lib/identity.js +8 -7
  317. package/dist/lib/keychain.js +41 -3
  318. package/dist/lib/license.js +12 -3
  319. package/dist/lib/messaging.js +31 -28
  320. package/dist/lib/platform-support.js +25 -0
  321. package/dist/lib/post-tool-memory.js +6 -4
  322. package/dist/lib/preflight.js +29 -0
  323. package/dist/lib/registry-proxy.js +1 -1
  324. package/dist/lib/reminders.js +9 -8
  325. package/dist/lib/schedules.js +13 -12
  326. package/dist/lib/session-registry.js +10 -9
  327. package/dist/lib/session-wrappers.js +7 -3
  328. package/dist/lib/skill-learning.js +21 -13
  329. package/dist/lib/status-brief.js +8 -3
  330. package/dist/lib/store.js +12 -11
  331. package/dist/lib/task-router.js +9 -8
  332. package/dist/lib/tasks.js +32 -29
  333. package/dist/lib/tmux-routing.js +45 -29
  334. package/dist/lib/tmux-status.js +7 -3
  335. package/dist/lib/token-spend.js +9 -8
  336. package/dist/lib/ws-client.js +1 -1
  337. package/dist/{license-gate-YXUSNA2I.js → license-gate-6R3F3NQR.js} +5 -4
  338. package/dist/{license-sync-XFDOXL3Z.js → license-sync-VBJCXBAP.js} +4 -3
  339. package/dist/linux-systemd-LRW3BYSS.js +38 -0
  340. package/dist/mailbox-inbox-CP2VRBXZ.js +10 -0
  341. package/dist/mailbox-outbox-HXI7DYNC.js +19 -0
  342. package/dist/mcp/register-tools.js +110 -94
  343. package/dist/mcp/server.js +113 -97
  344. package/dist/mcp/tools/complete-reminder.js +10 -9
  345. package/dist/mcp/tools/create-reminder.js +10 -9
  346. package/dist/mcp/tools/create-task.js +38 -31
  347. package/dist/mcp/tools/deactivate-behavior.js +22 -14
  348. package/dist/mcp/tools/list-reminders.js +10 -9
  349. package/dist/mcp/tools/list-tasks.js +34 -31
  350. package/dist/mcp/tools/send-message.js +33 -30
  351. package/dist/mcp/tools/update-task.js +33 -30
  352. package/dist/{mcp-http-config-HIP5CEDV.js → mcp-http-config-BWX7AMAZ.js} +9 -8
  353. package/dist/{mcp-session-identity-RTNZ2ZLW.js → mcp-session-identity-GOBGICLI.js} +30 -27
  354. package/dist/{memory-cards-KG4TPNKK.js → memory-cards-4EXX3BQS.js} +12 -11
  355. package/dist/{memory-graph-extractor-6HTBLO2N.js → memory-graph-extractor-OYVZIJ3R.js} +12 -11
  356. package/dist/{memory-poisoning-defense-3ZT57RSJ.js → memory-poisoning-defense-AHOD2EBX.js} +8 -7
  357. package/dist/{memory-pressure-watchdog-ZOZBIMKC.js → memory-pressure-watchdog-COJC3OYS.js} +31 -28
  358. package/dist/{memory-queue-W54BYW7V.js → memory-queue-4VN3DTOE.js} +3 -2
  359. package/dist/memory-queue-client-OI4LDT4W.js +18 -0
  360. package/dist/{memory-reflection-EQC4FXSW.js → memory-reflection-V2SNAUIB.js} +8 -7
  361. package/dist/{monitor-grants-BDLVFVDR.js → monitor-grants-W3ISOLMC.js} +6 -4
  362. package/dist/{monitor-identity-GLFZSEAH.js → monitor-identity-AN3B5QIN.js} +3 -2
  363. package/dist/{notification-ledger-NZ4HO3M5.js → notification-ledger-J6Q2GAYU.js} +117 -53
  364. package/dist/{notifications-74YECZ4V.js → notifications-56TP36IK.js} +30 -27
  365. package/dist/{orchestration-events-KRQI4ED5.js → orchestration-events-CKQ756NA.js} +9 -8
  366. package/dist/{orchestration-phase-KVF42ZKU.js → orchestration-phase-ZJ4XVNFO.js} +3 -2
  367. package/dist/orchestrator-ERSQ3KNT.js +55 -0
  368. package/dist/org-brief-session-FSZ3QJDN.js +45 -0
  369. package/dist/org-consent-policy-BN7MKCZ2.js +68 -0
  370. package/dist/org-join-HTQ57JYH.js +35 -0
  371. package/dist/org-key-admin-4W6LZ5KZ.js +242 -0
  372. package/dist/org-key-pin-OTOKAELD.js +37 -0
  373. package/dist/{org-membership-B32NS5NI.js → org-membership-SML6GCHP.js} +11 -7
  374. package/dist/org-partner-config-XQGOB7EJ.js +25 -0
  375. package/dist/org-partner-runtime-RNNUL5IN.js +44 -0
  376. package/dist/org-row-visibility-JZFJ3YRJ.js +18 -0
  377. package/dist/{pipeline-router-6ZZV7JMA.js → pipeline-router-IUENNTAY.js} +9 -8
  378. package/dist/{plan-limits-B7AZKZ6U.js → plan-limits-ZUII366B.js} +11 -10
  379. package/dist/postinstall-failure-A7WTAXD6.js +20 -0
  380. package/dist/{project-boot-WEQSKDD7.js → project-boot-3DFY5F35.js} +7 -2
  381. package/dist/{projection-worker-LRFFQ6JB.js → projection-worker-MBWUPB5O.js} +5 -4
  382. package/dist/{prospective-memory-A4GDTIWG.js → prospective-memory-GHE5ORN4.js} +8 -7
  383. package/dist/push-notifications-PTQ5DHCD.js +60 -0
  384. package/dist/{reranker-YVTLJCFC.js → reranker-NUIGAPA3.js} +3 -2
  385. package/dist/{retrieval-health-PK2ODTXM.js → retrieval-health-XHCERQPG.js} +1 -1
  386. package/dist/{review-polling-JFWRNQF6.js → review-polling-CYBCBHZA.js} +31 -28
  387. package/dist/runtime/index.js +41 -38
  388. package/dist/{session-events-VMQBCUH3.js → session-events-X33W4JNA.js} +31 -28
  389. package/dist/{session-kill-telemetry-Z3W256T5.js → session-kill-telemetry-I2F5PUIW.js} +31 -28
  390. package/dist/session-lineage-AGOHSXIS.js +66 -0
  391. package/dist/{session-scope-2ADEVY3C.js → session-scope-WXP4F7OF.js} +30 -27
  392. package/dist/setup-wizard-2CTVITIX.js +35 -0
  393. package/dist/{shard-manager-DFLCDZT5.js → shard-manager-YEOHEOHL.js} +4 -3
  394. package/dist/{skill-refinement-APBYOSGX.js → skill-refinement-VDR5OT4V.js} +9 -8
  395. package/dist/{stack-promote-SZYIPTFT.js → stack-promote-XVC7FRJW.js} +6 -5
  396. package/dist/{stack-release-EYRDEGPD.js → stack-release-6PWAACRM.js} +101 -80
  397. package/dist/{stack-update-YWK2YXP6.js → stack-update-24VRBQ3U.js} +9 -4
  398. package/dist/{steward-gate-CIOBPNX6.js → steward-gate-2ZNYDVFO.js} +9 -8
  399. package/dist/{support-inbox-OAWGFRKW.js → support-inbox-ZHKLDETT.js} +5 -4
  400. package/dist/{task-enforcement-YAU6ZGDC.js → task-enforcement-GQDUTIFY.js} +37 -28
  401. package/dist/task-request-inbox-BFXNUU44.js +64 -0
  402. package/dist/{task-scope-44N7XP5N.js → task-scope-ERHPHLUM.js} +30 -27
  403. package/dist/{tasks-crud-IWVDREXG.js → tasks-crud-NVNF3NRA.js} +30 -27
  404. package/dist/tasks-notify-DXLU5VCT.js +60 -0
  405. package/dist/{tasks-review-VDFWFETP.js → tasks-review-BST6N34P.js} +30 -27
  406. package/dist/{telemetry-upload-3X5ESEKM.js → telemetry-upload-NY3EKOGY.js} +13 -12
  407. package/dist/{token-budget-WZGO22ME.js → token-budget-CLB3GUIX.js} +9 -8
  408. package/dist/{tool-capability-index-IFNZ6QUS.js → tool-capability-index-WZWVBI2R.js} +1 -1
  409. package/dist/{tool-telemetry-F7RWUNVK.js → tool-telemetry-PALAZUXT.js} +1 -1
  410. package/dist/tui/App.js +44 -41
  411. package/dist/{tui-data-KT7YGVQS.js → tui-data-CNFSRZP7.js} +30 -27
  412. package/dist/{typed-messages-TKDGVPHS.js → typed-messages-RCMPEKJN.js} +1 -1
  413. package/dist/{update-support-ZVRMECNQ.js → update-support-ZVB3CNGY.js} +24 -22
  414. package/dist/{work-state-heartbeat-CA4CN7DQ.js → work-state-heartbeat-O7UMB6SE.js} +1 -1
  415. package/dist/{worker-gate-52MVKYGZ.js → worker-gate-6DQQWDNB.js} +3 -2
  416. package/dist/{workflow-engine-ZAFBPVUP.js → workflow-engine-5ZULFH7O.js} +2 -2
  417. package/dist/{worktree-NNVXVV6A.js → worktree-ZWA35PKW.js} +10 -9
  418. package/dist/{worktree-sweep-IM2ZQG6Z.js → worktree-sweep-5LCVT46V.js} +11 -10
  419. package/package.json +8 -20
  420. package/postinstall.mjs +124 -0
  421. package/release-notes.json +18 -16
  422. package/stack.release.schema.json +4 -0
  423. package/dist/chunk-AFNRE2RV.js +0 -408
  424. package/dist/chunk-OSKWCKUC.js +0 -6
  425. package/dist/chunk-S3FIQCSM.js +0 -232
  426. package/dist/chunk-W6UB2AWP.js +0 -656
  427. package/dist/dreaming-WPMQJAXW.js +0 -60
  428. package/dist/exe-org-UK77DUU4.js +0 -73
  429. package/dist/memory-queue-client-RRNW2IFZ.js +0 -16
  430. package/dist/orchestrator-WV2YCHTK.js +0 -52
  431. package/dist/push-notifications-GOFTDDWW.js +0 -15
  432. package/dist/setup-wizard-26B36FMC.js +0 -14
  433. package/dist/tasks-notify-WK5HA77D.js +0 -57
  434. /package/dist/{chunk-YL2JH3XV.js → chunk-6C4UAKMS.js} +0 -0
  435. /package/dist/{chunk-YMCIZCNK.js → chunk-BN26LSME.js} +0 -0
  436. /package/dist/{chunk-WTH4CSAP.js → chunk-DFQEUZSI.js} +0 -0
  437. /package/dist/{chunk-FVWI2AR4.js → chunk-FIPUVCKC.js} +0 -0
  438. /package/dist/{chunk-ZMYXQU4L.js → chunk-L4LPJMPV.js} +0 -0
  439. /package/dist/{chunk-COHHVCFA.js → chunk-UELGUVNL.js} +0 -0
  440. /package/dist/{chunk-U7RZIY74.js → chunk-X7LY3IOB.js} +0 -0
  441. /package/dist/{chunk-BGYCUZYK.js → chunk-YAZ5ECEG.js} +0 -0
  442. /package/dist/{chunk-DSGFX3RT.js → chunk-YWN3XMPU.js} +0 -0
  443. /package/dist/{chunk-YMUZWC33.js → chunk-YYB5PMTK.js} +0 -0
  444. /package/dist/{core-memory-AATZRQEY.js → core-memory-BZFPVS43.js} +0 -0
  445. /package/dist/{entity-boost-HLFG2CH3.js → entity-boost-VXXED26D.js} +0 -0
  446. /package/dist/{memory-isolation-CF6FYSXD.js → memory-isolation-3PIOWLYP.js} +0 -0
  447. /package/dist/{message-queue-client-AX6KQK7T.js → message-queue-client-5XW7ZOK2.js} +0 -0
  448. /package/dist/{oauth-server-VE5ELXTF.js → oauth-server-KW5M437C.js} +0 -0
  449. /package/dist/{webhook-pipe-A4X4SCMW.js → webhook-pipe-QJRFZVKA.js} +0 -0
  450. /package/dist/{wiki-acl-GNIXYWHJ.js → wiki-acl-RXFV5OEU.js} +0 -0
  451. /package/dist/{wiki-client-7RRYRSPS.js → wiki-client-57QWZIHQ.js} +0 -0
@@ -0,0 +1,242 @@
1
+ import {
2
+ InviteError,
3
+ resolveAuth,
4
+ resolveEndpoint
5
+ } from "./chunk-2PRAXZWM.js";
6
+ import {
7
+ resolvePartnerIdentities
8
+ } from "./chunk-B6PFGUYJ.js";
9
+ import {
10
+ orgKeyFingerprintDisplay
11
+ } from "./chunk-M67ARGXY.js";
12
+ import {
13
+ ed25519PrivateKeyFromSeed
14
+ } from "./chunk-MPVXHYD5.js";
15
+ import "./chunk-XTGR3LMF.js";
16
+ import "./chunk-E3YI6FVJ.js";
17
+ import "./chunk-VAOUB2TK.js";
18
+ import "./chunk-EEZOBN6X.js";
19
+ import "./chunk-HPXFKUGU.js";
20
+ import "./chunk-BRIZ6OZ3.js";
21
+ import "./chunk-HSGBZSCA.js";
22
+ import "./chunk-JKKZGDLP.js";
23
+ import "./chunk-MLKGABMK.js";
24
+
25
+ // src/lib/org-key-admin.ts
26
+ import { sign } from "crypto";
27
+ var SEAT_REF_RE = /^[a-z0-9._-]{1,64}$/;
28
+ function buildOrgKeyTranscript(orgId, mailboxId, x25519Pub) {
29
+ const label = Buffer.from("exe-os/org-key-v1", "utf8");
30
+ const parts = [label, Buffer.from([0])];
31
+ for (const field of [orgId, mailboxId, x25519Pub]) {
32
+ const bytes = Buffer.from(field, "utf8");
33
+ if (bytes.length > 65535) {
34
+ throw new InviteError("Org Key transcript field exceeds its uint16 length prefix");
35
+ }
36
+ const len = Buffer.alloc(2);
37
+ len.writeUInt16BE(bytes.length);
38
+ parts.push(len, bytes);
39
+ }
40
+ return Buffer.concat(parts);
41
+ }
42
+ var OrgAdminError = class extends Error {
43
+ constructor(message) {
44
+ super(message);
45
+ this.name = "OrgAdminError";
46
+ }
47
+ };
48
+ function refusal(what, extra) {
49
+ return new OrgAdminError(
50
+ `${what}: the server refused (HTTP 404). It answers the same way to every one of these, on purpose, so that an outsider cannot learn which one is true:
51
+ - you are not an admin of this org
52
+ - this org does not exist
53
+ - you are signed in as a different account than you think (\`exe-os whoami\`)` + (extra ? `
54
+ ${extra}` : "")
55
+ );
56
+ }
57
+ async function readAdminJson(resp, what, notFoundExtra) {
58
+ if (resp.status === 404) throw refusal(what, notFoundExtra);
59
+ if (resp.status === 401 || resp.status === 403) {
60
+ throw new OrgAdminError(
61
+ `${what}: not signed in, or the session expired (HTTP ${resp.status}). Run \`exe-os login\`.`
62
+ );
63
+ }
64
+ if (resp.status === 400) {
65
+ let detail = "";
66
+ try {
67
+ const body = await resp.json();
68
+ detail = body.error?.message ?? "";
69
+ } catch {
70
+ }
71
+ throw new OrgAdminError(`${what}: the server rejected the request${detail ? ` \u2014 ${detail}` : ""}.`);
72
+ }
73
+ if (!resp.ok) throw new OrgAdminError(`${what}: HTTP ${resp.status}.`);
74
+ try {
75
+ return await resp.json();
76
+ } catch {
77
+ throw new OrgAdminError(`${what}: the server's response was not JSON.`);
78
+ }
79
+ }
80
+ function requireField(body, key, what) {
81
+ const v = body[key];
82
+ if (typeof v !== "string" || v.trim().length === 0) {
83
+ throw new OrgAdminError(`${what}: the server's response is missing "${key}".`);
84
+ }
85
+ return v.trim();
86
+ }
87
+ async function readMyPinnedOrgKey(input) {
88
+ const fetchImpl = input.fetchImpl ?? fetch;
89
+ const resp = await fetchImpl(
90
+ `${resolveEndpoint(input)}/v1/org/${encodeURIComponent(input.orgId)}/me`,
91
+ {
92
+ method: "GET",
93
+ headers: { ...await resolveAuth(input) },
94
+ signal: AbortSignal.timeout(input.timeoutMs ?? 1e4)
95
+ }
96
+ );
97
+ if (resp.status === 404) return null;
98
+ if (!resp.ok) return null;
99
+ let body;
100
+ try {
101
+ body = await resp.json();
102
+ } catch {
103
+ return null;
104
+ }
105
+ const membership = body.membership;
106
+ if (typeof membership !== "object" || membership === null) return null;
107
+ const row = membership;
108
+ const fp = row.org_key_sign_fp;
109
+ const mbx = row.org_key_mailbox_id;
110
+ if (typeof fp !== "string" || fp.length === 0 || typeof mbx !== "string") return null;
111
+ return { fingerprint: orgKeyFingerprintDisplay(fp), signFp: fp.toLowerCase(), mailboxId: mbx };
112
+ }
113
+ async function publishOrgKey(input) {
114
+ const orgId = input.orgId.trim();
115
+ if (!orgId) throw new OrgAdminError("An org id is required.");
116
+ const mailboxId = input.mailboxId.trim();
117
+ if (!mailboxId) {
118
+ throw new OrgAdminError("A mailbox id is required \u2014 it is inside the signed transcript.");
119
+ }
120
+ const identities = await resolvePartnerIdentities(orgId);
121
+ const signPub = identities.sign.publicKey.toString("base64");
122
+ const signFp = identities.sign.fingerprint.toString("hex");
123
+ const x25519Pub = identities.x25519.publicKey.toString("base64");
124
+ const previous = await readMyPinnedOrgKey({ ...input, orgId });
125
+ const identitySig = sign(
126
+ null,
127
+ buildOrgKeyTranscript(orgId, mailboxId, x25519Pub),
128
+ ed25519PrivateKeyFromSeed(identities.sign.privateSeed)
129
+ ).toString("base64");
130
+ const fetchImpl = input.fetchImpl ?? fetch;
131
+ const resp = await fetchImpl(
132
+ `${resolveEndpoint(input)}/v1/org/${encodeURIComponent(orgId)}/org-key`,
133
+ {
134
+ method: "POST",
135
+ headers: { "content-type": "application/json", ...await resolveAuth(input) },
136
+ body: JSON.stringify({
137
+ // Wire names stay `org_key_*` — see the naming note in org-key-pin.ts. This
138
+ // is the plumbing layer; the operator never reads these strings.
139
+ org_key_mailbox_id: mailboxId,
140
+ org_key_sign_pub: signPub,
141
+ org_key_sign_fp: signFp,
142
+ org_key_x25519_pub: x25519Pub,
143
+ org_key_sig: identitySig
144
+ }),
145
+ signal: AbortSignal.timeout(input.timeoutMs ?? 1e4)
146
+ }
147
+ );
148
+ const body = await readAdminJson(resp, "Publishing the Org Key");
149
+ const storedFp = requireField(body, "org_key_sign_fp", "Publishing the Org Key").toLowerCase();
150
+ if (storedFp !== signFp) {
151
+ throw new OrgAdminError(
152
+ "The relay stored a different Org Key than the one this machine published. Nothing further was done. Every invite issued from here would carry a key no member could verify against."
153
+ );
154
+ }
155
+ const rotated = previous !== null && previous.signFp !== signFp;
156
+ return {
157
+ orgId,
158
+ mailboxId: requireField(body, "org_key_mailbox_id", "Publishing the Org Key"),
159
+ signPub: requireField(body, "org_key_sign_pub", "Publishing the Org Key"),
160
+ signFp: storedFp,
161
+ fingerprint: orgKeyFingerprintDisplay(storedFp),
162
+ x25519Pub: requireField(body, "org_key_x25519_pub", "Publishing the Org Key"),
163
+ publishedAt: typeof body.published_at === "string" ? body.published_at : (/* @__PURE__ */ new Date()).toISOString(),
164
+ rotated,
165
+ ...rotated && previous ? { previousFingerprint: previous.fingerprint } : {}
166
+ };
167
+ }
168
+ function describeRotation(orgId, previousFingerprint, newFingerprint) {
169
+ return [
170
+ `Rotating the Org Key for ${orgId}: ${previousFingerprint} \u2192 ${newFingerprint}.`,
171
+ "",
172
+ "WHAT THIS DOES:",
173
+ ` Invites you issue from now on carry ${newFingerprint}. Nothing else changes on the server.`,
174
+ "",
175
+ "WHAT THIS DOES **NOT** DO \u2014 and this is the part that catches people out:",
176
+ " It does NOT re-point anyone who has already joined. A pinned key is pinned; the org",
177
+ " cannot reach into a member's machine and replace it. That is the entire point of pinning,",
178
+ " and it is working as designed.",
179
+ "",
180
+ "WHAT YOUR EXISTING MEMBERS WILL SEE:",
181
+ ` Their install pinned ${previousFingerprint}. Once you rotate, every envelope you send is`,
182
+ " signed by a key they have not agreed to, so their membership resolves as UNUSABLE \u2014 not",
183
+ " degraded, not a warning. Briefs stop flowing in both directions.",
184
+ "",
185
+ " Each of them must, individually:",
186
+ ` 1. confirm the new fingerprint ${newFingerprint} with you over a channel the relay does`,
187
+ " not control (a call, in person \u2014 not the relay, and not email if you can help it),",
188
+ ` 2. run: exe-os org unpin ${orgId} --confirm "..." (the command prints the exact phrase),`,
189
+ " 3. redeem a NEW invite from you.",
190
+ "",
191
+ " A rotation is therefore a re-onboarding of everyone who has joined. Budget for that."
192
+ ].join("\n");
193
+ }
194
+ async function issueSeatInvite(input) {
195
+ const orgId = input.orgId.trim();
196
+ if (!orgId) throw new OrgAdminError("An org id is required.");
197
+ const seatRef = input.seatRef.trim();
198
+ if (!SEAT_REF_RE.test(seatRef)) {
199
+ throw new OrgAdminError(
200
+ `"${seatRef}" is not a usable seat label. A seat is 1-64 characters of [a-z0-9._-] \u2014 it is a LABEL, not a person. Email addresses, spaces and capitals are not merely discouraged here, they are unstorable: this invite table has no column that could hold an address or a name, so an invite can never become a directory entry. Try something like \`engineer.03\`.`
201
+ );
202
+ }
203
+ const fetchImpl = input.fetchImpl ?? fetch;
204
+ const resp = await fetchImpl(
205
+ `${resolveEndpoint(input)}/v1/org/${encodeURIComponent(orgId)}/join-invites`,
206
+ {
207
+ method: "POST",
208
+ headers: { "content-type": "application/json", ...await resolveAuth(input) },
209
+ body: JSON.stringify({ seat_ref: seatRef, is_admin: input.isAdmin === true }),
210
+ signal: AbortSignal.timeout(input.timeoutMs ?? 1e4)
211
+ }
212
+ );
213
+ const body = await readAdminJson(
214
+ resp,
215
+ "Issuing the invite",
216
+ // The refusal this endpoint adds beyond the shared three — and by far the
217
+ // most likely one, because it is the state EVERY org starts in.
218
+ ` - this org has not published an Org Key yet, which is the most likely cause on a new org.
219
+ Fix: exe-os org publish-key --org ${orgId} --mailbox <org-mailbox-id>`
220
+ );
221
+ const what = "Issuing the invite";
222
+ const signFp = requireField(body, "org_key_sign_fp", what).toLowerCase();
223
+ return {
224
+ inviteId: requireField(body, "invite_id", what),
225
+ orgId: requireField(body, "org_id", what),
226
+ seatRef: requireField(body, "seat_ref", what),
227
+ isAdmin: body.is_admin === true,
228
+ inviteToken: requireField(body, "invite_token", what),
229
+ expiresAt: requireField(body, "expires_at", what),
230
+ fingerprint: orgKeyFingerprintDisplay(signFp),
231
+ signFp
232
+ };
233
+ }
234
+ export {
235
+ OrgAdminError,
236
+ SEAT_REF_RE,
237
+ buildOrgKeyTranscript,
238
+ describeRotation,
239
+ issueSeatInvite,
240
+ publishOrgKey,
241
+ readMyPinnedOrgKey
242
+ };
@@ -0,0 +1,37 @@
1
+ import {
2
+ ORG_KEY_FP_DISPLAY_LEN,
3
+ ORG_PINS_DIRNAME,
4
+ OrgKeyPinConflictError,
5
+ OrgKeyPinUnreadableError,
6
+ orgKeyFingerprintDisplay,
7
+ orgKeyPinConfirmation,
8
+ orgKeyPinPath,
9
+ orgKeyUnpinConfirmation,
10
+ pinMismatchReason,
11
+ pinOrgKey,
12
+ pinnedOrgIds,
13
+ readOrgKeyPin,
14
+ unpinOrgKey
15
+ } from "./chunk-M67ARGXY.js";
16
+ import "./chunk-MPVXHYD5.js";
17
+ import "./chunk-VAOUB2TK.js";
18
+ import "./chunk-HPXFKUGU.js";
19
+ import "./chunk-BRIZ6OZ3.js";
20
+ import "./chunk-HSGBZSCA.js";
21
+ import "./chunk-JKKZGDLP.js";
22
+ import "./chunk-MLKGABMK.js";
23
+ export {
24
+ ORG_KEY_FP_DISPLAY_LEN,
25
+ ORG_PINS_DIRNAME,
26
+ OrgKeyPinConflictError,
27
+ OrgKeyPinUnreadableError,
28
+ orgKeyFingerprintDisplay,
29
+ orgKeyPinConfirmation,
30
+ orgKeyPinPath,
31
+ orgKeyUnpinConfirmation,
32
+ pinMismatchReason,
33
+ pinOrgKey,
34
+ pinnedOrgIds,
35
+ readOrgKeyPin,
36
+ unpinOrgKey
37
+ };
@@ -10,13 +10,16 @@ import {
10
10
  orgMembershipPresent,
11
11
  orgMembershipsPath,
12
12
  orgModeActive,
13
- readActiveOrgMemberships
14
- } from "./chunk-HKK7LLS5.js";
15
- import "./chunk-VXL7PJ56.js";
16
- import "./chunk-IOEUAQWP.js";
17
- import "./chunk-QWVXN224.js";
18
- import "./chunk-BCZF3AGJ.js";
13
+ readActiveOrgMemberships,
14
+ upsertOrgMembership
15
+ } from "./chunk-XTGR3LMF.js";
16
+ import "./chunk-E3YI6FVJ.js";
17
+ import "./chunk-VAOUB2TK.js";
18
+ import "./chunk-EEZOBN6X.js";
19
+ import "./chunk-HPXFKUGU.js";
20
+ import "./chunk-BRIZ6OZ3.js";
19
21
  import "./chunk-HSGBZSCA.js";
22
+ import "./chunk-JKKZGDLP.js";
20
23
  import "./chunk-MLKGABMK.js";
21
24
  export {
22
25
  CONFIG_FILENAME,
@@ -30,5 +33,6 @@ export {
30
33
  orgMembershipPresent,
31
34
  orgMembershipsPath,
32
35
  orgModeActive,
33
- readActiveOrgMemberships
36
+ readActiveOrgMemberships,
37
+ upsertOrgMembership
34
38
  };
@@ -0,0 +1,25 @@
1
+ import {
2
+ orgPartnerModeActive,
3
+ requireOrgPartnerBinding,
4
+ resolveOrgPartnerBindings,
5
+ resolvePartnerIdentities,
6
+ rosterKeyLookupFor
7
+ } from "./chunk-B6PFGUYJ.js";
8
+ import "./chunk-M67ARGXY.js";
9
+ import "./chunk-MPVXHYD5.js";
10
+ import "./chunk-XTGR3LMF.js";
11
+ import "./chunk-E3YI6FVJ.js";
12
+ import "./chunk-VAOUB2TK.js";
13
+ import "./chunk-EEZOBN6X.js";
14
+ import "./chunk-HPXFKUGU.js";
15
+ import "./chunk-BRIZ6OZ3.js";
16
+ import "./chunk-HSGBZSCA.js";
17
+ import "./chunk-JKKZGDLP.js";
18
+ import "./chunk-MLKGABMK.js";
19
+ export {
20
+ orgPartnerModeActive,
21
+ requireOrgPartnerBinding,
22
+ resolveOrgPartnerBindings,
23
+ resolvePartnerIdentities,
24
+ rosterKeyLookupFor
25
+ };
@@ -0,0 +1,44 @@
1
+ import {
2
+ OUTBOX_FLUSH_INTERVAL_MS,
3
+ _resetOrgPartnerRuntimeForTests,
4
+ assertOrgPartnerRuntimeReady,
5
+ initOrgPartnerRuntime,
6
+ orgPartnerRuntimeStatus,
7
+ stopOrgPartnerRuntime
8
+ } from "./chunk-BJEQBKGH.js";
9
+ import "./chunk-NGDXBN3M.js";
10
+ import "./chunk-SLBOKYYQ.js";
11
+ import "./chunk-B6PFGUYJ.js";
12
+ import "./chunk-M67ARGXY.js";
13
+ import "./chunk-T2RZU7JA.js";
14
+ import "./chunk-MPVXHYD5.js";
15
+ import "./chunk-5OPAUFLP.js";
16
+ import "./chunk-YZUHSV24.js";
17
+ import "./chunk-XTGR3LMF.js";
18
+ import "./chunk-E3YI6FVJ.js";
19
+ import "./chunk-VAOUB2TK.js";
20
+ import "./chunk-EEZOBN6X.js";
21
+ import "./chunk-WT4RI36X.js";
22
+ import "./chunk-HLU52KTO.js";
23
+ import "./chunk-TKDITWDN.js";
24
+ import "./chunk-BBMTVAE3.js";
25
+ import "./chunk-5YEUPUV4.js";
26
+ import "./chunk-Q7J2SQJ6.js";
27
+ import "./chunk-YYB5PMTK.js";
28
+ import "./chunk-BRZR76TS.js";
29
+ import "./chunk-V3W3SATA.js";
30
+ import "./chunk-JY5GAZYC.js";
31
+ import "./chunk-FXU7JOXK.js";
32
+ import "./chunk-HPXFKUGU.js";
33
+ import "./chunk-BRIZ6OZ3.js";
34
+ import "./chunk-HSGBZSCA.js";
35
+ import "./chunk-JKKZGDLP.js";
36
+ import "./chunk-MLKGABMK.js";
37
+ export {
38
+ OUTBOX_FLUSH_INTERVAL_MS,
39
+ _resetOrgPartnerRuntimeForTests,
40
+ assertOrgPartnerRuntimeReady,
41
+ initOrgPartnerRuntime,
42
+ orgPartnerRuntimeStatus,
43
+ stopOrgPartnerRuntime
44
+ };
@@ -0,0 +1,18 @@
1
+ import {
2
+ DEFAULT_ROW_VISIBILITY,
3
+ OrgOriginProvenanceError,
4
+ UnmintedOrgOriginStampError,
5
+ mintOrgOriginStamp,
6
+ orgOriginOf,
7
+ resolveRowVisibility
8
+ } from "./chunk-SXKIGBNF.js";
9
+ import "./chunk-WT4RI36X.js";
10
+ import "./chunk-MLKGABMK.js";
11
+ export {
12
+ DEFAULT_ROW_VISIBILITY,
13
+ OrgOriginProvenanceError,
14
+ UnmintedOrgOriginStampError,
15
+ mintOrgOriginStamp,
16
+ orgOriginOf,
17
+ resolveRowVisibility
18
+ };
@@ -1,18 +1,19 @@
1
1
  import {
2
2
  ingest
3
- } from "./chunk-NKDKB2RT.js";
4
- import "./chunk-EA5FVACM.js";
5
- import "./chunk-2I23RPSI.js";
6
- import "./chunk-5YEUPUV4.js";
7
- import "./chunk-Z2PAVJJ4.js";
8
- import "./chunk-OMXJMOBD.js";
3
+ } from "./chunk-465RCKVI.js";
4
+ import "./chunk-HLU52KTO.js";
5
+ import "./chunk-TKDITWDN.js";
9
6
  import "./chunk-BBMTVAE3.js";
10
- import "./chunk-YMUZWC33.js";
7
+ import "./chunk-5YEUPUV4.js";
8
+ import "./chunk-Q7J2SQJ6.js";
9
+ import "./chunk-YYB5PMTK.js";
10
+ import "./chunk-BRZR76TS.js";
11
11
  import "./chunk-V3W3SATA.js";
12
12
  import "./chunk-JY5GAZYC.js";
13
13
  import "./chunk-FXU7JOXK.js";
14
- import "./chunk-BCZF3AGJ.js";
14
+ import "./chunk-BRIZ6OZ3.js";
15
15
  import "./chunk-HSGBZSCA.js";
16
+ import "./chunk-JKKZGDLP.js";
16
17
  import "./chunk-MLKGABMK.js";
17
18
  export {
18
19
  ingest
@@ -6,21 +6,22 @@ import {
6
6
  assertMemoryLimit,
7
7
  countActiveMemories,
8
8
  getLicenseSync
9
- } from "./chunk-F3QTF4T7.js";
10
- import "./chunk-EA5FVACM.js";
11
- import "./chunk-2I23RPSI.js";
12
- import "./chunk-5YEUPUV4.js";
13
- import "./chunk-Z2PAVJJ4.js";
14
- import "./chunk-OMXJMOBD.js";
9
+ } from "./chunk-CY5NVDTH.js";
10
+ import "./chunk-HLU52KTO.js";
11
+ import "./chunk-TKDITWDN.js";
15
12
  import "./chunk-BBMTVAE3.js";
16
- import "./chunk-YMUZWC33.js";
13
+ import "./chunk-5YEUPUV4.js";
14
+ import "./chunk-Q7J2SQJ6.js";
15
+ import "./chunk-YYB5PMTK.js";
16
+ import "./chunk-BRZR76TS.js";
17
17
  import "./chunk-V3W3SATA.js";
18
18
  import "./chunk-JY5GAZYC.js";
19
19
  import "./chunk-FXU7JOXK.js";
20
- import "./chunk-2OVTGZYH.js";
21
- import "./chunk-YBX3G5OP.js";
22
- import "./chunk-BCZF3AGJ.js";
20
+ import "./chunk-HSKABJE6.js";
21
+ import "./chunk-3ICF4IAZ.js";
22
+ import "./chunk-BRIZ6OZ3.js";
23
23
  import "./chunk-HSGBZSCA.js";
24
+ import "./chunk-JKKZGDLP.js";
24
25
  import "./chunk-MLKGABMK.js";
25
26
  export {
26
27
  PlanLimitError,
@@ -0,0 +1,20 @@
1
+ import {
2
+ POSTINSTALL_ACTION_REQUIRED_PREFIX,
3
+ POSTINSTALL_FAILURE_MARKER_FILE,
4
+ clearPostinstallFailureMarker,
5
+ postinstallFailureMarkerPath,
6
+ readPostinstallFailureMarker,
7
+ recordPostinstallFailure
8
+ } from "./chunk-XRCX6R5S.js";
9
+ import "./chunk-BRIZ6OZ3.js";
10
+ import "./chunk-HSGBZSCA.js";
11
+ import "./chunk-JKKZGDLP.js";
12
+ import "./chunk-MLKGABMK.js";
13
+ export {
14
+ POSTINSTALL_ACTION_REQUIRED_PREFIX,
15
+ POSTINSTALL_FAILURE_MARKER_FILE,
16
+ clearPostinstallFailureMarker,
17
+ postinstallFailureMarkerPath,
18
+ readPostinstallFailureMarker,
19
+ recordPostinstallFailure
20
+ };
@@ -1,7 +1,8 @@
1
1
  import {
2
2
  EXE_AI_DIR
3
- } from "./chunk-BCZF3AGJ.js";
3
+ } from "./chunk-BRIZ6OZ3.js";
4
4
  import "./chunk-HSGBZSCA.js";
5
+ import "./chunk-JKKZGDLP.js";
5
6
  import "./chunk-MLKGABMK.js";
6
7
 
7
8
  // src/bin/project-boot.ts
@@ -197,7 +198,11 @@ async function projectBoot(options) {
197
198
  // Total active memories — match memory(action='cardinality') so the boot
198
199
  // brief cannot inflate counts by including deleted/archived rows.
199
200
  daemonQuery("SELECT COUNT(*) as cnt FROM memories WHERE COALESCE(status, 'active') = 'active'", []).then((r) => Number(r.rows[0]?.cnt) || 0).catch(() => 0),
200
- // Open tasks
201
+ // Open tasks — intentionally unscoped by session: the boot brief counts
202
+ // ALL of this agent's open work in the project (a whole-project summary),
203
+ // not one tmux session. Bound by assigned_to + project_name; COUNT-only.
204
+ // (Bug 6f1eaef4: this replaces a placebo task-scope import that only
205
+ // existed to satisfy the customer-readiness substring gate.)
201
206
  daemonQuery(
202
207
  "SELECT COUNT(*) as cnt FROM tasks WHERE assigned_to = ? AND status IN ('open', 'in_progress') AND project_name = ?",
203
208
  [agentId, project]
@@ -5,14 +5,15 @@ import {
5
5
  inferOutcome,
6
6
  inferSemanticLabel,
7
7
  ontologyPayload
8
- } from "./chunk-BGYCUZYK.js";
8
+ } from "./chunk-YAZ5ECEG.js";
9
9
  import {
10
10
  processCRMEvent
11
- } from "./chunk-COHHVCFA.js";
11
+ } from "./chunk-UELGUVNL.js";
12
12
  import {
13
13
  loadConfig
14
- } from "./chunk-BCZF3AGJ.js";
14
+ } from "./chunk-BRIZ6OZ3.js";
15
15
  import "./chunk-HSGBZSCA.js";
16
+ import "./chunk-JKKZGDLP.js";
16
17
  import "./chunk-MLKGABMK.js";
17
18
 
18
19
  // src/lib/projection-worker.ts
@@ -612,7 +613,7 @@ async function pushToWikiApi(payload, _timestamp) {
612
613
  return false;
613
614
  }
614
615
  try {
615
- const { createWikiClient, uploadDocumentToWiki } = await import("./wiki-client-7RRYRSPS.js");
616
+ const { createWikiClient, uploadDocumentToWiki } = await import("./wiki-client-57QWZIHQ.js");
616
617
  const client = await createWikiClient();
617
618
  if (!client) return false;
618
619
  const rawText = String(payload.raw_text ?? "");
@@ -1,17 +1,18 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-EA5FVACM.js";
4
- import "./chunk-2I23RPSI.js";
5
- import "./chunk-5YEUPUV4.js";
6
- import "./chunk-Z2PAVJJ4.js";
7
- import "./chunk-OMXJMOBD.js";
3
+ } from "./chunk-HLU52KTO.js";
4
+ import "./chunk-TKDITWDN.js";
8
5
  import "./chunk-BBMTVAE3.js";
9
- import "./chunk-YMUZWC33.js";
6
+ import "./chunk-5YEUPUV4.js";
7
+ import "./chunk-Q7J2SQJ6.js";
8
+ import "./chunk-YYB5PMTK.js";
9
+ import "./chunk-BRZR76TS.js";
10
10
  import "./chunk-V3W3SATA.js";
11
11
  import "./chunk-JY5GAZYC.js";
12
12
  import "./chunk-FXU7JOXK.js";
13
- import "./chunk-BCZF3AGJ.js";
13
+ import "./chunk-BRIZ6OZ3.js";
14
14
  import "./chunk-HSGBZSCA.js";
15
+ import "./chunk-JKKZGDLP.js";
15
16
  import "./chunk-MLKGABMK.js";
16
17
 
17
18
  // src/lib/prospective-memory.ts
@@ -0,0 +1,60 @@
1
+ import {
2
+ _resetPushConfig,
3
+ loadPushConfig,
4
+ pushNotify,
5
+ pushNotifyAsync
6
+ } from "./chunk-Q2VQNAPU.js";
7
+ import "./chunk-SQM4ZTL2.js";
8
+ import "./chunk-5C6ZIJ7J.js";
9
+ import "./chunk-SXKIGBNF.js";
10
+ import "./chunk-BT2PUK3S.js";
11
+ import "./chunk-KI5PFRG6.js";
12
+ import "./chunk-WT4RI36X.js";
13
+ import "./chunk-Z67DIJKT.js";
14
+ import "./chunk-E23LNUWJ.js";
15
+ import "./chunk-QAEWWYHL.js";
16
+ import "./chunk-EIKATSE4.js";
17
+ import "./chunk-D5CY4E7I.js";
18
+ import "./chunk-UXLO7VHX.js";
19
+ import "./chunk-DSOQUQTV.js";
20
+ import "./chunk-GBNB4EWD.js";
21
+ import "./chunk-PV5BIXT6.js";
22
+ import "./chunk-AJIXH5JF.js";
23
+ import "./chunk-KDMVVHZH.js";
24
+ import "./chunk-AM7S2TY6.js";
25
+ import "./chunk-CY5NVDTH.js";
26
+ import "./chunk-CVYC6DUW.js";
27
+ import "./chunk-4P2BFNSB.js";
28
+ import "./chunk-MZYNW5OY.js";
29
+ import "./chunk-OPU3NYOO.js";
30
+ import "./chunk-6EM6USV7.js";
31
+ import "./chunk-HISFWAAK.js";
32
+ import "./chunk-NLEW62VC.js";
33
+ import "./chunk-HYZV25LY.js";
34
+ import "./chunk-GJV3WDWM.js";
35
+ import "./chunk-MP2AFCGL.js";
36
+ import "./chunk-HLU52KTO.js";
37
+ import "./chunk-TKDITWDN.js";
38
+ import "./chunk-BBMTVAE3.js";
39
+ import "./chunk-5YEUPUV4.js";
40
+ import "./chunk-Q7J2SQJ6.js";
41
+ import "./chunk-YYB5PMTK.js";
42
+ import "./chunk-BRZR76TS.js";
43
+ import "./chunk-V3W3SATA.js";
44
+ import "./chunk-JY5GAZYC.js";
45
+ import "./chunk-FXU7JOXK.js";
46
+ import "./chunk-WNBZJSQT.js";
47
+ import "./chunk-HSKABJE6.js";
48
+ import "./chunk-3ICF4IAZ.js";
49
+ import "./chunk-QILQ5FCG.js";
50
+ import "./chunk-ARX6TAGN.js";
51
+ import "./chunk-BRIZ6OZ3.js";
52
+ import "./chunk-HSGBZSCA.js";
53
+ import "./chunk-JKKZGDLP.js";
54
+ import "./chunk-MLKGABMK.js";
55
+ export {
56
+ _resetPushConfig,
57
+ loadPushConfig,
58
+ pushNotify,
59
+ pushNotifyAsync
60
+ };
@@ -5,9 +5,10 @@ import {
5
5
  rerank,
6
6
  rerankWithContext,
7
7
  rerankWithScores
8
- } from "./chunk-R62ITJDQ.js";
9
- import "./chunk-BCZF3AGJ.js";
8
+ } from "./chunk-3C7NE4JE.js";
9
+ import "./chunk-BRIZ6OZ3.js";
10
10
  import "./chunk-HSGBZSCA.js";
11
+ import "./chunk-JKKZGDLP.js";
11
12
  import "./chunk-MLKGABMK.js";
12
13
  export {
13
14
  disposeReranker,
@@ -2,7 +2,7 @@ import {
2
2
  computeDegradations,
3
3
  formatDegradations,
4
4
  getRetrievalHealth
5
- } from "./chunk-YKRNH5LU.js";
5
+ } from "./chunk-WH2VVEGD.js";
6
6
  import "./chunk-VGMACSEV.js";
7
7
  import "./chunk-MLKGABMK.js";
8
8
  export {