@askexenow/exe-os 0.9.374 → 0.9.376

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 (455) hide show
  1. package/deploy/compose/.env.customer.example +16 -1
  2. package/deploy/compose/.env.example +16 -1
  3. package/deploy/compose/docker-compose.yml +80 -18
  4. package/deploy/compose/gateway-watchdog.sh +17 -0
  5. package/deploy/compose/generate-env.ts +41 -1
  6. package/deploy/compose/sso-edge/default.conf.template +59 -63
  7. package/deploy/compose/sso-edge/error-pages/404.html +129 -0
  8. package/deploy/compose/sso-edge/error-pages/500.html +129 -0
  9. package/deploy/compose/sso-edge/error-pages/503.html +118 -0
  10. package/deploy/compose/sso-edge/sso-redirect.conf +115 -92
  11. package/dist/.dist-verified.json +3 -3
  12. package/dist/{active-agent-ONPPEWQV.js → active-agent-BOBBUJ74.js} +6 -6
  13. package/dist/{active-agent-UJKMG7LJ.js → active-agent-GFGEGK2U.js} +6 -6
  14. package/dist/{agent-defs-generator-ZWI6DXOE.js → agent-defs-generator-OX6UFPRX.js} +5 -5
  15. package/dist/{agent-loop-OYHJKNYH.js → agent-loop-7ZRH56EX.js} +1 -1
  16. package/dist/{agentic-ontology-WHFJ3QFS.js → agentic-ontology-DT3VOXBT.js} +1 -1
  17. package/dist/{backfill-metadata-3OUSQD5V.js → backfill-metadata-VRP6PTPP.js} +9 -9
  18. package/dist/{backup-verify-ZKTUYLTA.js → backup-verify-LWHKGOOV.js} +1 -1
  19. package/dist/behavior-injection-GMZKZ3BT.js +83 -0
  20. package/dist/behavior-promotion-QPC4AQ24.js +62 -0
  21. package/dist/{behaviors-ZJ45TFBJ.js → behaviors-GPI4BLTC.js} +16 -14
  22. package/dist/bin/agentic-ontology-backfill.js +10 -10
  23. package/dist/bin/agentic-reflection-backfill.js +11 -11
  24. package/dist/bin/agentic-semantic-label.js +10 -10
  25. package/dist/bin/backfill-conversations.js +14 -12
  26. package/dist/bin/backfill-responses.js +14 -12
  27. package/dist/bin/backfill-vectors.js +16 -14
  28. package/dist/bin/bulk-sync-postgres.js +21 -19
  29. package/dist/bin/cc-doctor.js +19 -11
  30. package/dist/bin/cleanup-stale-review-tasks.js +27 -26
  31. package/dist/bin/cli.js +83 -109
  32. package/dist/bin/daemon-restart-handoff.js +2 -1
  33. package/dist/bin/deferred-daemon-restart.js +118 -110
  34. package/dist/bin/exe-actions.js +176 -0
  35. package/dist/bin/exe-agent-config.js +5 -5
  36. package/dist/bin/exe-agent.js +23 -23
  37. package/dist/bin/exe-assign.js +16 -14
  38. package/dist/bin/exe-boot.js +91 -71
  39. package/dist/bin/exe-call.js +8 -8
  40. package/dist/bin/exe-cicd.js +1210 -0
  41. package/dist/bin/exe-cloud.js +70 -37
  42. package/dist/bin/exe-config-dump.js +5 -5
  43. package/dist/bin/exe-dispatch.js +28 -27
  44. package/dist/bin/exe-doctor.js +12 -11
  45. package/dist/bin/exe-export-behaviors.js +20 -18
  46. package/dist/bin/exe-forget.js +11 -11
  47. package/dist/bin/exe-gateway.js +10 -10
  48. package/dist/bin/exe-healthcheck.js +22 -10
  49. package/dist/bin/exe-heartbeat.js +33 -32
  50. package/dist/bin/exe-kill.js +32 -31
  51. package/dist/bin/exe-launch-agent.js +76 -54
  52. package/dist/bin/exe-mcp.js +10 -6
  53. package/dist/bin/exe-memory-reads.js +9 -9
  54. package/dist/bin/exe-model-supervisor.js +138 -0
  55. package/dist/bin/exe-new-employee.js +14 -14
  56. package/dist/bin/exe-os-mcp-proxy.js +10 -6
  57. package/dist/bin/exe-pending-messages.js +28 -27
  58. package/dist/bin/exe-pending-notifications.js +27 -26
  59. package/dist/bin/exe-pending-reviews.js +28 -27
  60. package/dist/bin/exe-rename.js +9 -9
  61. package/dist/bin/exe-repo-truth.js +1 -1
  62. package/dist/bin/exe-review.js +31 -30
  63. package/dist/bin/exe-search.js +10 -10
  64. package/dist/bin/exe-session-cleanup.js +32 -31
  65. package/dist/bin/exe-settings.js +21 -19
  66. package/dist/bin/exe-start-codex.js +31 -25
  67. package/dist/bin/exe-start-opencode.js +24 -22
  68. package/dist/bin/exe-start.sh +11 -2
  69. package/dist/bin/exe-status.js +29 -28
  70. package/dist/bin/exe-support.js +3 -3
  71. package/dist/bin/exe-team.js +7 -7
  72. package/dist/bin/exe-timers.js +2 -1
  73. package/dist/bin/exe-watchdog.js +170 -16
  74. package/dist/bin/generate-hook-manifest.js +8 -41
  75. package/dist/bin/git-sweep.js +28 -27
  76. package/dist/bin/graph-backfill.js +11 -11
  77. package/dist/bin/graph-export.js +10 -10
  78. package/dist/bin/hooks-cli.js +289 -0
  79. package/dist/bin/import-history.js +14 -14
  80. package/dist/bin/install.js +130 -116
  81. package/dist/bin/intercom-check.js +5 -5
  82. package/dist/bin/mcp-sessions.js +2 -2
  83. package/dist/bin/orchestration-metrics.js +7 -7
  84. package/dist/bin/postgres-agentic-reflection-backfill.js +4 -4
  85. package/dist/bin/postgres-agentic-semantic-backfill.js +4 -4
  86. package/dist/bin/pre-publish.js +1 -1
  87. package/dist/bin/reconcile-backlog.js +2 -2
  88. package/dist/bin/registry-proxy.js +2 -2
  89. package/dist/bin/scan-tasks.js +52 -38
  90. package/dist/bin/setup.js +1 -1
  91. package/dist/bin/shard-migrate.js +9 -9
  92. package/dist/bin/stack-update.js +10 -5
  93. package/dist/bin/verify-stack.js +3 -1
  94. package/dist/bin/vps-health-gate.js +1 -1
  95. package/dist/{boot-generation-JKVZ4ZAT.js → boot-generation-BN6GKASY.js} +6 -6
  96. package/dist/{boot-review-sections-2M6BTG73.js → boot-review-sections-OQ5JGSOD.js} +26 -25
  97. package/dist/{branch-hygiene-U5GFRSTP.js → branch-hygiene-QLD77IMJ.js} +1 -1
  98. package/dist/build-manifest.json +1186 -1106
  99. package/dist/{capability-cards-5IMJT6J7.js → capability-cards-EDZ62HKG.js} +5 -5
  100. package/dist/{capacity-monitor-SAXCQK7O.js → capacity-monitor-6GMTVILS.js} +28 -27
  101. package/dist/{catchup-brief-U2TXBLHD.js → catchup-brief-SGGBMDUP.js} +32 -31
  102. package/dist/{cc-binary-detect-6TNIY5JX.js → cc-binary-detect-ZR6WNOUU.js} +1 -3
  103. package/dist/{chunk-NKETJCB5.js → chunk-2ODXCCMR.js} +18 -3
  104. package/dist/{hook-integrity-KGAV6ZC2.js → chunk-3L72UBUH.js} +28 -15
  105. package/dist/chunk-3OX5S7KZ.js +273 -0
  106. package/dist/{chunk-W75GTHR3.js → chunk-3SRZNJKD.js} +1 -1
  107. package/dist/{chunk-I4DNJFDR.js → chunk-42IFYZUN.js} +4 -4
  108. package/dist/{chunk-JHI5WMK5.js → chunk-473JUDCT.js} +5 -5
  109. package/dist/{chunk-ANLFH23R.js → chunk-4F5CNI65.js} +1 -1
  110. package/dist/{chunk-AWWKRZMB.js → chunk-4KVSCQND.js} +87 -14
  111. package/dist/{chunk-ZCERWHY2.js → chunk-4M6RXJEY.js} +33 -23
  112. package/dist/{chunk-YTSXPJUQ.js → chunk-4YJEEOYT.js} +3 -3
  113. package/dist/{chunk-6RKKVPYF.js → chunk-4YUGB637.js} +1 -1
  114. package/dist/{chunk-XXOPG4BW.js → chunk-4ZSOKEDY.js} +3 -3
  115. package/dist/{chunk-55BEFF4V.js → chunk-5DF4Y6EC.js} +1 -1
  116. package/dist/{chunk-4QCFFW2H.js → chunk-5QCIWWFA.js} +46 -0
  117. package/dist/{chunk-3UUX5OY4.js → chunk-5QKLWJ4Z.js} +1 -1
  118. package/dist/{chunk-YSLGFPWX.js → chunk-5UBWBXLF.js} +3 -3
  119. package/dist/chunk-5WA4DG2A.js +117 -0
  120. package/dist/{chunk-4EN3IZ3Q.js → chunk-64ODONK2.js} +67 -1
  121. package/dist/{chunk-TAMDAOCU.js → chunk-66CGXQUA.js} +239 -39
  122. package/dist/{chunk-QHJR7IMX.js → chunk-6F3FQCAQ.js} +3 -3
  123. package/dist/{chunk-WMEYJT4R.js → chunk-6FG34V6D.js} +15 -14
  124. package/dist/{chunk-NMH5ZQPU.js → chunk-6KQ6WMTI.js} +1 -1
  125. package/dist/{chunk-IRVOXUSK.js → chunk-6WKBTZVL.js} +10 -4
  126. package/dist/{chunk-NOKJCF27.js → chunk-7INEFMVU.js} +9 -3
  127. package/dist/{chunk-GSJLB6JI.js → chunk-7THUQU44.js} +34 -8
  128. package/dist/{chunk-HDLAB7W3.js → chunk-7UH2JWBF.js} +1 -1
  129. package/dist/{chunk-KTCXJWJG.js → chunk-7UNMSF5O.js} +1 -1
  130. package/dist/{chunk-JTVIANUB.js → chunk-AEUGIJDO.js} +3 -1
  131. package/dist/{chunk-DSJI76XL.js → chunk-AHNVFBVB.js} +113 -16
  132. package/dist/{chunk-IBS2FAI4.js → chunk-AUKRBHHZ.js} +4 -1
  133. package/dist/{chunk-AKLJ4JH3.js → chunk-BBK2TSK3.js} +1 -1
  134. package/dist/{chunk-ZL4AGWAH.js → chunk-BNWWVYRN.js} +6 -5
  135. package/dist/{chunk-PY3FOMRN.js → chunk-BQEZPRUC.js} +4 -4
  136. package/dist/{chunk-DIXXEE3S.js → chunk-BQXYXJYC.js} +721 -309
  137. package/dist/{chunk-ORM7ZFKC.js → chunk-BZ546I4Q.js} +32 -0
  138. package/dist/{chunk-3KDCORDO.js → chunk-C2UN464N.js} +1 -1
  139. package/dist/{chunk-75H4R62K.js → chunk-CBPNZFSU.js} +0 -2
  140. package/dist/{chunk-YLXTKI6M.js → chunk-CHO5SNWR.js} +1 -1
  141. package/dist/{chunk-MXPNVSXI.js → chunk-CIEVY5TD.js} +11 -11
  142. package/dist/{chunk-UBK7HK3J.js → chunk-CKLJT2DH.js} +2 -2
  143. package/dist/{chunk-MOGA4Q7F.js → chunk-CKOJP7JI.js} +1 -1
  144. package/dist/{chunk-V3W3SATA.js → chunk-CL4J4757.js} +1 -1
  145. package/dist/{chunk-XNNECNDL.js → chunk-CQFWTWC6.js} +13 -13
  146. package/dist/{chunk-PDVXWXTL.js → chunk-CROVXJ4S.js} +3 -3
  147. package/dist/{chunk-WJG344NC.js → chunk-CWSLTSL6.js} +8 -8
  148. package/dist/{chunk-VMTZ4RUW.js → chunk-DDMGQ5Q3.js} +60 -26
  149. package/dist/{chunk-YKC7QDZH.js → chunk-DN24VTS5.js} +31 -6
  150. package/dist/{chunk-IN6CAM4F.js → chunk-EHAN752X.js} +7 -7
  151. package/dist/{chunk-EXTZSNWL.js → chunk-EPHSISMT.js} +2 -2
  152. package/dist/{chunk-6EZQUNE6.js → chunk-FCMQVEVL.js} +36 -3
  153. package/dist/{chunk-3L2QU5ZF.js → chunk-FS7XF7SE.js} +1 -1
  154. package/dist/{chunk-LGS2V2XD.js → chunk-FUKVP54K.js} +66 -19
  155. package/dist/{chunk-44TLJZJ5.js → chunk-FX2QRSRT.js} +1 -1
  156. package/dist/{chunk-PWRC5XZO.js → chunk-FXZ6VGFW.js} +16 -8
  157. package/dist/{chunk-NT7W4RXD.js → chunk-GKDAQL45.js} +1 -1
  158. package/dist/{chunk-EKE37MO4.js → chunk-GOT5ZHPX.js} +3 -3
  159. package/dist/{chunk-SLLLOOEI.js → chunk-GPJIBLP4.js} +1 -0
  160. package/dist/{chunk-EKYYMIVT.js → chunk-GPUOUUHA.js} +10 -1
  161. package/dist/{chunk-PB5S7YOF.js → chunk-GXNBPTPJ.js} +1 -1
  162. package/dist/{chunk-4SJ4LK4V.js → chunk-HE34XVD5.js} +5 -5
  163. package/dist/{chunk-6VHOQ3IM.js → chunk-HHAKXIKX.js} +12 -9
  164. package/dist/{chunk-TFKCERAK.js → chunk-HHT527PV.js} +38 -41
  165. package/dist/{chunk-ZSODLMFV.js → chunk-HIVOLPLD.js} +1 -40
  166. package/dist/{chunk-UCFC2AEI.js → chunk-I3LDTSWU.js} +1 -1
  167. package/dist/{chunk-Q3AXXKDF.js → chunk-IKXH4BFC.js} +5 -5
  168. package/dist/chunk-IMYGYIAI.js +23 -0
  169. package/dist/{chunk-GS7LIT34.js → chunk-IPHLUZ37.js} +1 -1
  170. package/dist/{chunk-M4IRPXSZ.js → chunk-IZA7XW2Q.js} +3 -3
  171. package/dist/{chunk-SEQIPGLU.js → chunk-IZLML47J.js} +1 -1
  172. package/dist/{chunk-4HKTO2SV.js → chunk-JRMHGO5B.js} +1 -1
  173. package/dist/{chunk-U73AC5AN.js → chunk-JSTTPYL3.js} +16 -16
  174. package/dist/{chunk-6SCGLHJ7.js → chunk-JVWLHBAV.js} +4 -4
  175. package/dist/{chunk-OVEQE6YS.js → chunk-K7UNIEB4.js} +254 -48
  176. package/dist/{chunk-HNWS7YHN.js → chunk-KBR5LIWD.js} +1 -1
  177. package/dist/{chunk-AKLQSC6W.js → chunk-KI7O64XV.js} +328 -98
  178. package/dist/{chunk-XXFKSJYA.js → chunk-KK3MIY5C.js} +5 -5
  179. package/dist/{chunk-U6SUKSZR.js → chunk-KO3OHI6V.js} +3 -3
  180. package/dist/{chunk-NJFJWQNN.js → chunk-L5CGXEZC.js} +27 -22
  181. package/dist/{chunk-NBXDXKLC.js → chunk-LK3XQDBP.js} +1 -1
  182. package/dist/{chunk-T3QUKNLI.js → chunk-LM443ORV.js} +1 -1
  183. package/dist/{chunk-BBSIEYF5.js → chunk-LNAFLXL7.js} +12 -4
  184. package/dist/{chunk-32YV32VA.js → chunk-LTUA5EYI.js} +122 -11
  185. package/dist/{chunk-23MVDXLY.js → chunk-MAXD5JQL.js} +11 -10
  186. package/dist/{chunk-GNUAL43X.js → chunk-MFASHRJ6.js} +5 -5
  187. package/dist/chunk-MFYMDGE7.js +37 -0
  188. package/dist/{chunk-VKJGHAZT.js → chunk-MGVILAYU.js} +57 -13
  189. package/dist/{chunk-DB55JZHU.js → chunk-MSLWRWTI.js} +1 -1
  190. package/dist/{chunk-C2L622QJ.js → chunk-NB5IRTC4.js} +52 -44
  191. package/dist/{chunk-2ZOEC4KC.js → chunk-ND75TGPR.js} +2 -2
  192. package/dist/{chunk-VRTCVZND.js → chunk-NE34MWVL.js} +142 -16
  193. package/dist/{chunk-S2WBS6BG.js → chunk-NMOFLWDY.js} +1 -1
  194. package/dist/{chunk-CRCB5S7I.js → chunk-NPXKGBVZ.js} +140 -23
  195. package/dist/{chunk-JSMDRKPJ.js → chunk-NRBGUIPE.js} +1 -1
  196. package/dist/{chunk-4LWBC7CM.js → chunk-NY6SBR4O.js} +1 -1
  197. package/dist/{chunk-UCUOGVDX.js → chunk-O3K2C22L.js} +13 -1
  198. package/dist/{chunk-R522MWAR.js → chunk-OATET4BV.js} +2 -2
  199. package/dist/chunk-OOZU5H3T.js +86 -0
  200. package/dist/{chunk-XFTEX77S.js → chunk-OQ4FNDRG.js} +28 -6
  201. package/dist/{chunk-VYQ7B7DI.js → chunk-OWVX52XF.js} +4 -4
  202. package/dist/{chunk-AETLDRZB.js → chunk-PEAAX6UA.js} +1 -1
  203. package/dist/{chunk-UM3N6VND.js → chunk-PFAVHC5N.js} +5 -5
  204. package/dist/chunk-PMVVUIHH.js +85 -0
  205. package/dist/chunk-PPMGQFLJ.js +2317 -0
  206. package/dist/{chunk-7TSBV3SD.js → chunk-PTY2N23C.js} +310 -2
  207. package/dist/{chunk-UKLN57Q5.js → chunk-PZ5SKYK6.js} +4 -4
  208. package/dist/{chunk-636LKCKE.js → chunk-Q6ZLQMP2.js} +1 -1
  209. package/dist/{chunk-N7VEP5B3.js → chunk-QFR5EKZG.js} +29 -7
  210. package/dist/{chunk-YMP2QSOP.js → chunk-QN56VQ6Z.js} +1 -1
  211. package/dist/{chunk-6YVUR3OU.js → chunk-QR3BUMOS.js} +2 -2
  212. package/dist/{chunk-XZ65ST2I.js → chunk-QV5CQLQH.js} +2 -2
  213. package/dist/{chunk-DJOIMFKV.js → chunk-REZIGNA6.js} +2 -2
  214. package/dist/{chunk-UQGSBM3U.js → chunk-RFPMXR6B.js} +11 -0
  215. package/dist/{chunk-DN4YVV4Z.js → chunk-RSABKW6B.js} +1 -1
  216. package/dist/{chunk-LP4GB656.js → chunk-RZNP35SI.js} +2 -2
  217. package/dist/{chunk-NUTZJZKW.js → chunk-SKTAZGFI.js} +10 -42
  218. package/dist/{chunk-TQAZTRQ3.js → chunk-SVXUT2DN.js} +4 -4
  219. package/dist/{chunk-DJ7YXOTU.js → chunk-T7EF5CQO.js} +3 -3
  220. package/dist/{chunk-QAEWWYHL.js → chunk-TDF2XKLK.js} +5 -1
  221. package/dist/{chunk-ZGYNKA3O.js → chunk-TT5BBVLX.js} +29 -31
  222. package/dist/{chunk-5H47VHB7.js → chunk-UWX6MMCX.js} +1 -1
  223. package/dist/{chunk-XL5MFGMR.js → chunk-V4YNN7PA.js} +10 -3
  224. package/dist/{chunk-SL6KQYDU.js → chunk-V5DDXXMP.js} +7 -7
  225. package/dist/{chunk-DZKPOSFD.js → chunk-VH6SPPNA.js} +1 -1
  226. package/dist/{chunk-LDNYSMPZ.js → chunk-VJUUI2VT.js} +1 -1
  227. package/dist/{chunk-CBCGDEJA.js → chunk-VN5WOOAQ.js} +42 -6
  228. package/dist/{chunk-EXDW3E2R.js → chunk-VPHJ2LUI.js} +165 -15
  229. package/dist/{chunk-GOMQ7PVQ.js → chunk-WJC6AAJN.js} +1 -1
  230. package/dist/{chunk-GJI77VDO.js → chunk-WVBVUVZB.js} +6 -5
  231. package/dist/{chunk-A6PDF4BO.js → chunk-XTQ7R2PA.js} +2 -2
  232. package/dist/{chunk-L6RXG36J.js → chunk-Y2HD2YB7.js} +1 -1
  233. package/dist/{chunk-KTU3EAWK.js → chunk-YAACLBZ7.js} +5 -5
  234. package/dist/{chunk-7GE2EQ23.js → chunk-YGVAKKGJ.js} +11 -6
  235. package/dist/chunk-YLHACCCB.js +166 -0
  236. package/dist/{chunk-PLZSZOZN.js → chunk-YP6UGVEY.js} +3 -3
  237. package/dist/{chunk-ULIBLJ6W.js → chunk-YYC553FO.js} +5 -5
  238. package/dist/{chunk-T35RCQFE.js → chunk-YZPEQW7H.js} +9 -8
  239. package/dist/{chunk-KI5PFRG6.js → chunk-ZKGWHT56.js} +60 -2
  240. package/dist/{chunk-NUK7EEN5.js → chunk-ZKJ5S23O.js} +33 -13
  241. package/dist/chunk-ZLPS3GR7.js +146 -0
  242. package/dist/{chunk-XH7YL7JM.js → chunk-ZMX22HSS.js} +50 -6
  243. package/dist/{chunk-JY5GAZYC.js → chunk-ZQEJ4IX2.js} +4 -0
  244. package/dist/{chunk-R4CBHKZ2.js → chunk-ZS5JO6QV.js} +7 -6
  245. package/dist/{cleanup-graph-garbage-DPJGO52H.js → cleanup-graph-garbage-LAPIZGFX.js} +12 -12
  246. package/dist/{cloud-sync-command-JPNTT4OQ.js → cloud-sync-command-QAZ2NWRA.js} +11 -2
  247. package/dist/{cloud-sync-db-init-V2LWIUQU.js → cloud-sync-db-init-HAGVF32Y.js} +1 -1
  248. package/dist/{cloud-sync-shutdown-BNALPWGX.js → cloud-sync-shutdown-DAEPCFVK.js} +5 -5
  249. package/dist/{co-activation-CMNSWS6B.js → co-activation-523TKQPZ.js} +5 -5
  250. package/dist/{co-occurrence-WRI2NAN6.js → co-occurrence-PQUCTENN.js} +36 -17
  251. package/dist/{code-context-index-NOJSHLPN.js → code-context-index-LIDOFKOR.js} +6 -4
  252. package/dist/{code-context-watcher-VZNZU3BO.js → code-context-watcher-4F7K2N3U.js} +6 -4
  253. package/dist/{content-extractor-NXYNEF5K.js → content-extractor-DJM5EUDA.js} +2 -2
  254. package/dist/{conversation-entity-extractor-74252CAO.js → conversation-entity-extractor-THGKQ5RD.js} +5 -5
  255. package/dist/{crdt-sync-B3JN6AIV.js → crdt-sync-32B55NOJ.js} +1 -1
  256. package/dist/{crm-webhook-GYWQRFET.js → crm-webhook-FHRISFYQ.js} +2 -2
  257. package/dist/{cto-delegation-gate-LQHVLEMW.js → cto-delegation-gate-O6XPGECP.js} +27 -26
  258. package/dist/{daemon-auth-QZHEO7IQ.js → daemon-auth-PNKHERLV.js} +6 -1
  259. package/dist/daemon-drift-N2GKUBAO.js +15 -0
  260. package/dist/{daemon-orchestration-5HIQALZH.js → daemon-orchestration-BWLSJG2X.js} +33 -30
  261. package/dist/{daemon-ready-P2BR2XP5.js → daemon-ready-BN6EZLTQ.js} +1 -1
  262. package/dist/{daemon-ready-signal-CKXPUMJ2.js → daemon-ready-signal-PNDMVKPJ.js} +3 -1
  263. package/dist/{daemon-restart-circuit-breaker-SMTWFX27.js → daemon-restart-circuit-breaker-CD4VMCU7.js} +1 -1
  264. package/dist/daemon-restart-report-FIO5HZTJ.js +15 -0
  265. package/dist/{daemon-timer-report-TNJH5SFY.js → daemon-timer-report-6UK5PSDP.js} +2 -1
  266. package/dist/{db-integrity-events-2DTFO37N.js → db-integrity-events-GYGANKZV.js} +1 -1
  267. package/dist/{destructive-data-guard-BVFWPPIS.js → destructive-data-guard-HHWUBIGS.js} +1 -1
  268. package/dist/{doc-graph-extractor-PQHDHQPQ.js → doc-graph-extractor-HOKOV7BE.js} +10 -10
  269. package/dist/{documents-C4SSPJMC.js → documents-HWEJMONR.js} +16 -14
  270. package/dist/{dreaming-XAO3FCBV.js → dreaming-FMNDODG2.js} +31 -30
  271. package/dist/{employee-boot-brief-W4OHUMRQ.js → employee-boot-brief-DBFROOQJ.js} +35 -34
  272. package/dist/{entity-boost-3UWGXG5O.js → entity-boost-5V4W6NFA.js} +1 -1
  273. package/dist/{exe-drift-AG2KMKD5.js → exe-drift-V55UAYRT.js} +6 -6
  274. package/dist/{exe-export-IC5BT335.js → exe-export-LHN42ZUS.js} +18 -16
  275. package/dist/{exe-import-A35ZLDPG.js → exe-import-M536BEZC.js} +18 -16
  276. package/dist/{exe-key-TCMJNYLA.js → exe-key-37XIR22X.js} +111 -107
  277. package/dist/{exe-org-JXCR3JYZ.js → exe-org-7TDIRNTE.js} +14 -14
  278. package/dist/{exe-snapshot-SV6SRIG6.js → exe-snapshot-EOUBCIQK.js} +34 -33
  279. package/dist/{fast-db-init-L2RGKJWH.js → fast-db-init-GWUZ746B.js} +1 -1
  280. package/dist/{founder-context-D4HFIESJ.js → founder-context-6LQKET4A.js} +2 -2
  281. package/dist/{fts-integrity-4YB34KWX.js → fts-integrity-PLAL6NMG.js} +1 -1
  282. package/dist/gateway/index.js +17 -17
  283. package/dist/{git-main-guard-VTW4N3CM.js → git-main-guard-BGICS25C.js} +1 -1
  284. package/dist/{git-staleness-TN7CYGFG.js → git-staleness-QNNXJK3W.js} +5 -5
  285. package/dist/{global-procedures-YFDEIOG7.js → global-procedures-NMQGF54V.js} +7 -7
  286. package/dist/{gotrue-session-ODZ2ERJX.js → gotrue-session-U4H3UGHL.js} +1 -3
  287. package/dist/{graph-auto-extract-3YR3TYRW.js → graph-auto-extract-7POGAKHM.js} +10 -10
  288. package/dist/{graph-query-AP5R6ZHO.js → graph-query-ZEDO4BDF.js} +1 -1
  289. package/dist/{graph-rag-Z2KCJTPK.js → graph-rag-JA7XN7NO.js} +5 -5
  290. package/dist/hook-integrity-6NLSNTXD.js +15 -0
  291. package/dist/{hook-prefetch-K5DN3TOQ.js → hook-prefetch-4KH3D4YU.js} +28 -26
  292. package/dist/hook-tamper-log-Z4PWC7N4.js +90 -0
  293. package/dist/hooks/bug-report-worker.js +31 -30
  294. package/dist/hooks/codex-stop-task-finalizer.js +33 -32
  295. package/dist/hooks/commit-complete.js +30 -29
  296. package/dist/hooks/error-recall.js +12 -12
  297. package/dist/hooks/exe-heartbeat-hook.js +7 -7
  298. package/dist/hooks/ingest-worker.js +17 -15
  299. package/dist/hooks/ingest.js +20 -20
  300. package/dist/hooks/instructions-loaded.js +9 -9
  301. package/dist/hooks/manifest.json +20 -20
  302. package/dist/hooks/notification.js +8 -8
  303. package/dist/hooks/post-compact.js +7 -7
  304. package/dist/hooks/post-tool-combined.js +14 -14
  305. package/dist/hooks/pre-compact.js +30 -29
  306. package/dist/hooks/pre-tool-use.js +303 -489
  307. package/dist/hooks/prompt-submit.js +61 -54
  308. package/dist/hooks/session-end.js +35 -34
  309. package/dist/hooks/session-start.js +18 -18
  310. package/dist/hooks/stop.js +36 -35
  311. package/dist/hooks/subagent-stop.js +32 -31
  312. package/dist/hooks/summary-worker.js +36 -35
  313. package/dist/index.js +39 -38
  314. package/dist/{installer-LK35OX6R.js → installer-M34Q7LAS.js} +25 -10
  315. package/dist/{installer-54HTN5RE.js → installer-POV6TDQ5.js} +12 -8
  316. package/dist/{installer-LLWKZI2S.js → installer-S624ZOMB.js} +12 -8
  317. package/dist/{intercom-queue-5NOT2RKI.js → intercom-queue-MKDWAEUV.js} +26 -25
  318. package/dist/lib/cloud-sync.js +27 -19
  319. package/dist/lib/consolidation.js +12 -12
  320. package/dist/lib/database.js +5 -5
  321. package/dist/lib/db-backup.js +7 -1
  322. package/dist/lib/db-daemon-client.js +8 -6
  323. package/dist/lib/db-write-worker.js +4 -4
  324. package/dist/lib/db.js +5 -5
  325. package/dist/lib/device-registry.js +1 -1
  326. package/dist/lib/embedder.js +6 -4
  327. package/dist/lib/employee-templates.js +8 -8
  328. package/dist/lib/employees.js +5 -5
  329. package/dist/lib/exe-daemon-client.js +5 -3
  330. package/dist/lib/exe-daemon.js +333 -262
  331. package/dist/lib/hybrid-search.js +10 -10
  332. package/dist/lib/identity-templates.js +1 -1
  333. package/dist/lib/identity.js +17 -7
  334. package/dist/lib/license.js +2 -2
  335. package/dist/lib/messaging.js +27 -26
  336. package/dist/lib/post-tool-memory.js +9 -9
  337. package/dist/lib/registry-proxy.js +3 -1
  338. package/dist/lib/reminders.js +6 -6
  339. package/dist/lib/schedules.js +11 -11
  340. package/dist/lib/session-registry.js +11 -7
  341. package/dist/lib/session-wrappers.js +1 -1
  342. package/dist/lib/skill-learning.js +17 -15
  343. package/dist/lib/status-brief.js +2 -1
  344. package/dist/lib/store.js +9 -9
  345. package/dist/lib/task-router.js +6 -6
  346. package/dist/lib/tasks.js +28 -27
  347. package/dist/lib/tmux-routing.js +26 -25
  348. package/dist/lib/tmux-status.js +5 -1
  349. package/dist/lib/token-spend.js +6 -6
  350. package/dist/{license-gate-JVMB6OFD.js → license-gate-2QNMBAZU.js} +3 -3
  351. package/dist/{license-sync-5VYS2F2W.js → license-sync-FEDKH5MD.js} +2 -2
  352. package/dist/{mailbox-inbox-4MEUOL3J.js → mailbox-inbox-XE72D3AX.js} +2 -2
  353. package/dist/{mailbox-outbox-J6WIF3UY.js → mailbox-outbox-DNDDP2HW.js} +1 -1
  354. package/dist/mcp/register-tools.js +110 -106
  355. package/dist/mcp/server.js +113 -109
  356. package/dist/mcp/tools/complete-reminder.js +7 -7
  357. package/dist/mcp/tools/create-reminder.js +7 -7
  358. package/dist/mcp/tools/create-task.js +30 -29
  359. package/dist/mcp/tools/deactivate-behavior.js +18 -16
  360. package/dist/mcp/tools/list-reminders.js +7 -7
  361. package/dist/mcp/tools/list-tasks.js +30 -29
  362. package/dist/mcp/tools/send-message.js +33 -30
  363. package/dist/mcp/tools/update-task.js +29 -28
  364. package/dist/{mcp-child-registry-OTG4MWO7.js → mcp-child-registry-DVHYAHPW.js} +2 -2
  365. package/dist/{mcp-health-HNVSWKFA.js → mcp-health-B5EKRCZG.js} +2 -2
  366. package/dist/{mcp-http-config-DQWL7U2Z.js → mcp-http-config-ZJ7XHWT7.js} +10 -6
  367. package/dist/{mcp-session-identity-277GASTQ.js → mcp-session-identity-PEVM7VIP.js} +26 -25
  368. package/dist/{memory-cards-3S2ZQPR7.js → memory-cards-VN5DEWPD.js} +9 -9
  369. package/dist/{memory-graph-extractor-A6DFEFIN.js → memory-graph-extractor-TMEB6WLA.js} +11 -11
  370. package/dist/{memory-poisoning-defense-ZVP4H6DY.js → memory-poisoning-defense-DYHARQ2G.js} +5 -5
  371. package/dist/{memory-pressure-watchdog-6W5F6R7H.js → memory-pressure-watchdog-J6Q3SIBL.js} +27 -26
  372. package/dist/{memory-queue-client-ADSDP6OX.js → memory-queue-client-QC2OTMJB.js} +6 -4
  373. package/dist/{memory-reflection-BKB2YOE6.js → memory-reflection-ZYJUOSFX.js} +9 -9
  374. package/dist/{message-queue-client-XQN7QABL.js → message-queue-client-OEQCGSWC.js} +1 -25
  375. package/dist/{notification-ledger-CLGM7ODF.js → notification-ledger-TG6EFYBP.js} +29 -28
  376. package/dist/{notifications-MACUZPYP.js → notifications-LGYY22W5.js} +26 -25
  377. package/dist/{orchestration-events-N7LYMUGA.js → orchestration-events-JPHB6NPY.js} +6 -6
  378. package/dist/{orchestrator-4X24EWHV.js → orchestrator-IC4WGP6L.js} +28 -27
  379. package/dist/{org-brief-session-FZOFMO5U.js → org-brief-session-DEPHWCQR.js} +9 -9
  380. package/dist/{org-consent-policy-O5E6HXBL.js → org-consent-policy-T27AO5OJ.js} +2 -2
  381. package/dist/{org-join-POWUG25F.js → org-join-A3YXC5RB.js} +2 -2
  382. package/dist/{org-key-admin-E7EMDOZZ.js → org-key-admin-SQFHCVP2.js} +3 -3
  383. package/dist/{org-partner-runtime-FODONVTM.js → org-partner-runtime-L7L2WWGN.js} +10 -10
  384. package/dist/{org-row-visibility-VX4AVV5Q.js → org-row-visibility-M54Z6ZH3.js} +1 -1
  385. package/dist/{pipeline-router-6GGT2ZW3.js → pipeline-router-NKYAUR3Y.js} +6 -6
  386. package/dist/{plan-limits-FUN76LYY.js → plan-limits-ISRRGF23.js} +8 -8
  387. package/dist/{platform-procedures-7YSCLF4Z.js → platform-procedures-Z7ZGBJWN.js} +1 -1
  388. package/dist/{project-boot-3Q65LCIP.js → project-boot-BLYGVUJH.js} +4 -1
  389. package/dist/{project-name-LJVFMYTQ.js → project-name-WKSNNKXK.js} +6 -6
  390. package/dist/{projection-worker-4OANGP5K.js → projection-worker-RNYPE46G.js} +2 -2
  391. package/dist/{prospective-memory-KR3P4T6N.js → prospective-memory-GEO6E3UL.js} +5 -5
  392. package/dist/{push-notifications-NCZLH6DI.js → push-notifications-EY6BXZUY.js} +27 -26
  393. package/dist/{reproject-worktree-memories-PWYKPB2U.js → reproject-worktree-memories-DAA5GWMH.js} +28 -27
  394. package/dist/{reranker-6V3C2AO4.js → reranker-7OADQPMG.js} +1 -1
  395. package/dist/{retrieval-health-5D7O6VH6.js → retrieval-health-FCEDWN2P.js} +2 -2
  396. package/dist/{review-polling-QW3LJ4KN.js → review-polling-G52BR4MC.js} +27 -26
  397. package/dist/runtime/index.js +39 -38
  398. package/dist/{session-events-T45SSTMF.js → session-events-P6E2373E.js} +27 -26
  399. package/dist/{session-kill-telemetry-QSPVJGBF.js → session-kill-telemetry-OHNJMIVT.js} +27 -26
  400. package/dist/{session-mcp-config-SC5BLWZG.js → session-mcp-config-WFZAH6R5.js} +2 -1
  401. package/dist/{session-scope-KRWE54C4.js → session-scope-DKOHPQPJ.js} +26 -25
  402. package/dist/{setup-wizard-GP3TBTPF.js → setup-wizard-RNU3RFBE.js} +1 -1
  403. package/dist/{skill-refinement-C7JTMLJG.js → skill-refinement-AKJTHFXC.js} +6 -6
  404. package/dist/{stack-generate-manifest-MFMDWRUP.js → stack-generate-manifest-7WJZWSPK.js} +163 -15
  405. package/dist/{stack-promote-EKSCYY63.js → stack-promote-OP2URGFF.js} +4 -4
  406. package/dist/{stack-release-2GZAAFO4.js → stack-release-MY6U2QIO.js} +31 -8
  407. package/dist/{stack-update-J6JXSTAZ.js → stack-update-QSHSLUTZ.js} +3 -3
  408. package/dist/{steward-gate-BFCCMCSW.js → steward-gate-KMLS5ECC.js} +6 -6
  409. package/dist/{subagent-brief-injection-ED36PLYY.js → subagent-brief-injection-HCKZQZBF.js} +37 -36
  410. package/dist/{support-inbox-YW47SYJF.js → support-inbox-UBXU5RKV.js} +11 -11
  411. package/dist/{support-outbox-HFJWG52M.js → support-outbox-G2NG2U5K.js} +2 -2
  412. package/dist/{sweep-budget-KMPJ7O5Z.js → sweep-budget-YGLCNXZZ.js} +9 -3
  413. package/dist/{task-enforcement-CECTQX4U.js → task-enforcement-2GR7HU6V.js} +27 -26
  414. package/dist/{task-request-inbox-Q5T4N5K7.js → task-request-inbox-ANCVK2VG.js} +2 -2
  415. package/dist/{task-scope-ERVEUEYU.js → task-scope-QANJJXXB.js} +30 -29
  416. package/dist/{tasks-crud-ZRQNJXQ2.js → tasks-crud-45WOIMIM.js} +44 -25
  417. package/dist/{tasks-notify-MIZH4C2O.js → tasks-notify-ZJS4MA3S.js} +29 -26
  418. package/dist/{tasks-review-Z7J2P6DG.js → tasks-review-ZVPKY47Z.js} +26 -25
  419. package/dist/{telemetry-upload-LVQUQYFP.js → telemetry-upload-VY3UWAEL.js} +10 -10
  420. package/dist/{token-budget-BU4NOVZF.js → token-budget-XHX6XFEC.js} +6 -6
  421. package/dist/{tool-capability-index-7F42MOJT.js → tool-capability-index-6HLZU437.js} +1 -1
  422. package/dist/{tool-telemetry-O27EVMBR.js → tool-telemetry-GBDI4AXR.js} +1 -1
  423. package/dist/tui/App.js +36 -35
  424. package/dist/{tui-data-TPWWBIUQ.js → tui-data-IQFE3UW3.js} +30 -29
  425. package/dist/{typed-messages-RCMPEKJN.js → typed-messages-P2HLLA62.js} +1 -1
  426. package/dist/{update-support-F2F5537B.js → update-support-BDN5AK4R.js} +25 -22
  427. package/dist/{work-claims-B73X5NE7.js → work-claims-PDQNLE5K.js} +7 -7
  428. package/dist/{work-state-heartbeat-P4YX6E2R.js → work-state-heartbeat-CH6BLQKV.js} +1 -1
  429. package/dist/{worker-gate-BEEIIVWA.js → worker-gate-NUUSQMBT.js} +1 -3
  430. package/dist/{workflow-engine-5X46PFCW.js → workflow-engine-RZ7QEI3Z.js} +2 -2
  431. package/dist/{worktree-W47CIMJ6.js → worktree-Q25PZST6.js} +11 -7
  432. package/dist/worktree-ownership-guard-4LKMW6PW.js +421 -0
  433. package/dist/{worktree-sweep-BNBD4RFX.js → worktree-sweep-EV5YQ2OB.js} +8 -8
  434. package/package.json +15 -3
  435. package/release-notes.json +5 -5
  436. package/src/commands/exe.md +16 -16
  437. package/stack.release.json +9 -8
  438. package/dist/behavior-injection-M6UYZCMW.js +0 -63
  439. package/dist/chunk-BJ7AVSY6.js +0 -50
  440. package/dist/daemon-restart-report-EIVD6WDJ.js +0 -10
  441. package/dist/worktree-ownership-guard-OUWJROW2.js +0 -88
  442. /package/dist/{chunk-GQOEWNVM.js → chunk-4EG4DT4F.js} +0 -0
  443. /package/dist/{chunk-AISULNGL.js → chunk-BRAIWGMF.js} +0 -0
  444. /package/dist/{chunk-NRG7KZIP.js → chunk-HQEAZDAC.js} +0 -0
  445. /package/dist/{chunk-VZAFWPAY.js → chunk-IK4344V5.js} +0 -0
  446. /package/dist/{chunk-GM7TLYOK.js → chunk-K3VDF6II.js} +0 -0
  447. /package/dist/{chunk-2AJGV5UL.js → chunk-KM7DAG5J.js} +0 -0
  448. /package/dist/{chunk-YO4BO2CL.js → chunk-QIEYJ4KZ.js} +0 -0
  449. /package/dist/{chunk-WSQASFLP.js → chunk-VCTK5HRA.js} +0 -0
  450. /package/dist/{chunk-KQ6RJWRW.js → chunk-VPT6VMBG.js} +0 -0
  451. /package/dist/{chunk-6WIFPD2P.js → chunk-YZ4AEMR7.js} +0 -0
  452. /package/dist/{core-memory-7I7RE2SJ.js → core-memory-UIZKCY4L.js} +0 -0
  453. /package/dist/{memory-isolation-2TUZ7Z4K.js → memory-isolation-3GJ6WLYX.js} +0 -0
  454. /package/dist/{oauth-server-AYM37SQ4.js → oauth-server-ZRHXIRXQ.js} +0 -0
  455. /package/dist/{wiki-acl-IBQLLBTS.js → wiki-acl-MFOYK5F4.js} +0 -0
@@ -1,23 +1,31 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  checkClaudeCodeInstall
4
- } from "../chunk-AWWKRZMB.js";
4
+ } from "../chunk-4KVSCQND.js";
5
5
  import "../chunk-SSC7EKY2.js";
6
- import "../chunk-HDLAB7W3.js";
7
- import "../chunk-75H4R62K.js";
6
+ import "../chunk-7UH2JWBF.js";
7
+ import "../chunk-OQ4FNDRG.js";
8
+ import "../chunk-RFPMXR6B.js";
9
+ import "../chunk-CBPNZFSU.js";
10
+ import "../chunk-PMVVUIHH.js";
11
+ import "../chunk-VGMACSEV.js";
8
12
  import "../chunk-FNEZ4BWT.js";
9
- import "../chunk-NKETJCB5.js";
13
+ import "../chunk-2ODXCCMR.js";
10
14
  import "../chunk-B6TI3TZT.js";
11
- import "../chunk-4QCFFW2H.js";
12
- import "../chunk-TAMDAOCU.js";
15
+ import "../chunk-5DF4Y6EC.js";
16
+ import "../chunk-K4ESASPL.js";
17
+ import "../chunk-5QCIWWFA.js";
18
+ import "../chunk-CVYC6DUW.js";
19
+ import "../chunk-GJV3WDWM.js";
20
+ import "../chunk-66CGXQUA.js";
13
21
  import "../chunk-BBMTVAE3.js";
14
22
  import "../chunk-TKDITWDN.js";
15
23
  import "../chunk-5YEUPUV4.js";
16
- import "../chunk-DSJI76XL.js";
24
+ import "../chunk-AHNVFBVB.js";
17
25
  import "../chunk-YYB5PMTK.js";
18
- import "../chunk-NJFJWQNN.js";
19
- import "../chunk-V3W3SATA.js";
20
- import "../chunk-JY5GAZYC.js";
26
+ import "../chunk-L5CGXEZC.js";
27
+ import "../chunk-CL4J4757.js";
28
+ import "../chunk-ZQEJ4IX2.js";
21
29
  import "../chunk-FXU7JOXK.js";
22
30
  import "../chunk-HPXFKUGU.js";
23
31
  import "../chunk-FTZET5YX.js";
@@ -64,7 +72,7 @@ if (isMainModule(import.meta.url) && (process.argv[1] ?? "").includes("cc-doctor
64
72
  } else {
65
73
  console.log(`
66
74
  \x1B[31mStatus: ${failed} ISSUE${failed > 1 ? "S" : ""} FOUND\x1B[0m \u2014 ${passed} passed, ${failed} failed`);
67
- console.log(" Fix: npm install -g @anthropic-ai/claude-code@2.1.98\n");
75
+ console.log(" Fix: disable the auto-updater \u2014 export DISABLE_AUTOUPDATER=1 and CLAUDE_CODE_AUTOUPDATER_DISABLED=1 in your shell profile\n");
68
76
  }
69
77
  process.exit(failed > 0 ? 1 : 0);
70
78
  }
@@ -1,59 +1,60 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  fastDbInit
4
- } from "../chunk-M4IRPXSZ.js";
4
+ } from "../chunk-IZA7XW2Q.js";
5
5
  import {
6
6
  sessionScopeFilter
7
- } from "../chunk-AKLQSC6W.js";
8
- import "../chunk-BTSWFMEH.js";
9
- import "../chunk-6RKKVPYF.js";
10
- import "../chunk-4EN3IZ3Q.js";
11
- import "../chunk-KI5PFRG6.js";
12
- import "../chunk-3KDCORDO.js";
7
+ } from "../chunk-KI7O64XV.js";
8
+ import "../chunk-4YUGB637.js";
9
+ import "../chunk-64ODONK2.js";
10
+ import "../chunk-C2UN464N.js";
11
+ import "../chunk-ZKGWHT56.js";
13
12
  import "../chunk-WT4RI36X.js";
14
- import "../chunk-E23LNUWJ.js";
15
- import "../chunk-QAEWWYHL.js";
13
+ import "../chunk-TDF2XKLK.js";
16
14
  import "../chunk-EIKATSE4.js";
17
15
  import "../chunk-MJCSEIFI.js";
18
- import "../chunk-XH7YL7JM.js";
19
- import "../chunk-ORM7ZFKC.js";
16
+ import "../chunk-E23LNUWJ.js";
17
+ import "../chunk-ZMX22HSS.js";
20
18
  import "../chunk-VI4ATC6I.js";
21
19
  import "../chunk-A27Q27CT.js";
22
- import "../chunk-W75GTHR3.js";
20
+ import "../chunk-BZ546I4Q.js";
21
+ import "../chunk-3SRZNJKD.js";
23
22
  import "../chunk-AJIXH5JF.js";
24
- import "../chunk-7GE2EQ23.js";
23
+ import "../chunk-YGVAKKGJ.js";
25
24
  import "../chunk-GZOG2MAX.js";
26
25
  import "../chunk-AM7S2TY6.js";
27
- import "../chunk-6YVUR3OU.js";
26
+ import "../chunk-QR3BUMOS.js";
28
27
  import "../chunk-CVYC6DUW.js";
29
- import "../chunk-GOMQ7PVQ.js";
28
+ import "../chunk-WJC6AAJN.js";
30
29
  import "../chunk-4IK2K3B3.js";
31
- import "../chunk-NUK7EEN5.js";
30
+ import "../chunk-ZKJ5S23O.js";
31
+ import "../chunk-GPUOUUHA.js";
32
+ import "../chunk-BTSWFMEH.js";
32
33
  import "../chunk-ZG62LIK3.js";
33
- import "../chunk-EKYYMIVT.js";
34
+ import "../chunk-IMYGYIAI.js";
34
35
  import "../chunk-NLEW62VC.js";
35
- import "../chunk-SLLLOOEI.js";
36
+ import "../chunk-GPJIBLP4.js";
36
37
  import "../chunk-V3WLC5TJ.js";
37
- import "../chunk-JTVIANUB.js";
38
+ import "../chunk-AEUGIJDO.js";
38
39
  import "../chunk-HYZV25LY.js";
39
40
  import "../chunk-GJV3WDWM.js";
40
41
  import "../chunk-MP2AFCGL.js";
41
42
  import {
42
43
  getClient
43
- } from "../chunk-TAMDAOCU.js";
44
+ } from "../chunk-66CGXQUA.js";
44
45
  import "../chunk-BBMTVAE3.js";
45
46
  import "../chunk-TKDITWDN.js";
46
47
  import "../chunk-5YEUPUV4.js";
47
- import "../chunk-DSJI76XL.js";
48
+ import "../chunk-AHNVFBVB.js";
48
49
  import "../chunk-YYB5PMTK.js";
49
- import "../chunk-NJFJWQNN.js";
50
- import "../chunk-V3W3SATA.js";
51
- import "../chunk-JY5GAZYC.js";
50
+ import "../chunk-L5CGXEZC.js";
51
+ import "../chunk-CL4J4757.js";
52
+ import "../chunk-ZQEJ4IX2.js";
52
53
  import "../chunk-FXU7JOXK.js";
53
54
  import "../chunk-WNBZJSQT.js";
54
- import "../chunk-L6RXG36J.js";
55
+ import "../chunk-Y2HD2YB7.js";
55
56
  import "../chunk-A7XLR3K7.js";
56
- import "../chunk-GQOEWNVM.js";
57
+ import "../chunk-4EG4DT4F.js";
57
58
  import "../chunk-A7JYF4RG.js";
58
59
  import "../chunk-ARX6TAGN.js";
59
60
  import "../chunk-ZIG7VPJV.js";
package/dist/bin/cli.js CHANGED
@@ -24,6 +24,17 @@ Install: https://nodejs.org/
24
24
  process.exit(1);
25
25
  }
26
26
  var args = process.argv.slice(2);
27
+ async function launchTui() {
28
+ if (!process.stdout.isTTY) {
29
+ process.stderr.write(
30
+ "exe-os: Refusing to start interactive TUI: stdout is not a TTY.\nRun exe-os --help for non-interactive commands.\n"
31
+ );
32
+ process.exit(1);
33
+ }
34
+ checkForUpdateOnBoot().catch(() => {
35
+ });
36
+ await import("../tui/App.js");
37
+ }
27
38
  if (process.platform === "win32") {
28
39
  const { windowsRefusalText, WINDOWS_UNSUPPORTED_EXIT } = await import("../lib/platform-support.js");
29
40
  process.stderr.write(windowsRefusalText());
@@ -75,7 +86,7 @@ exe-os v${version} \u2014 AI employee operating system
75
86
  Usage: exe-os <command>
76
87
 
77
88
  Commands:
78
- login Authenticate with GoTrue (email/password or --token)
89
+ login Store a support-issued JWT (--token); not an email/password sign-in
79
90
  logout Clear stored authentication session
80
91
  whoami Show current auth state (email, plan, expiry)
81
92
  setup First-time setup (encryption, license, team)
@@ -93,6 +104,7 @@ Commands:
93
104
  org phase View/change orchestration phase
94
105
  healthcheck Check daemon and service health
95
106
  codex-reviewd Manage codex-reviewd PR review daemon (start/stop/status)
107
+ hooks Inspect/re-baseline hook-integrity manifest (status|rebaseline)
96
108
 
97
109
  Session commands (run from a project folder):
98
110
  exe1 Launch COO session #1
@@ -112,7 +124,7 @@ if (args.includes("--global")) {
112
124
  );
113
125
  await runClaudeInstall();
114
126
  } else if (args.includes("--commands-only")) {
115
- const { copySlashCommands, resolvePackageRoot } = await import("../installer-LLWKZI2S.js");
127
+ const { copySlashCommands, resolvePackageRoot } = await import("../installer-S624ZOMB.js");
116
128
  try {
117
129
  const packageRoot = resolvePackageRoot();
118
130
  const result = await copySlashCommands(packageRoot);
@@ -174,8 +186,11 @@ if (args.includes("--global")) {
174
186
  await runOpenCodeInstall();
175
187
  break;
176
188
  }
189
+ } else if (args[0] === "hooks") {
190
+ const { runHooksCli } = await import("./hooks-cli.js");
191
+ process.exitCode = await runHooksCli(args.slice(1));
177
192
  } else if (args[0] === "org") {
178
- const { main: runOrg } = await import("../exe-org-JXCR3JYZ.js");
193
+ const { main: runOrg } = await import("../exe-org-7TDIRNTE.js");
179
194
  await runOrg(args.slice(1));
180
195
  } else if (args[0] === "mcp") {
181
196
  const { main: runMcp } = await import("./exe-mcp.js");
@@ -204,7 +219,7 @@ if (args.includes("--global")) {
204
219
  process.exit(1);
205
220
  }
206
221
  } else if (args[0] === "key") {
207
- const { main: runKey } = await import("../exe-key-TCMJNYLA.js");
222
+ const { main: runKey } = await import("../exe-key-37XIR22X.js");
208
223
  await runKey(args.slice(1));
209
224
  } else if (args[0] === "grant") {
210
225
  const { main: runGrant } = await import("./exe-grant.js");
@@ -262,7 +277,7 @@ if (args.includes("--global")) {
262
277
  process.exit(1);
263
278
  }
264
279
  } else if (args[0] === "backfill-metadata") {
265
- const { backfillMetadata } = await import("../backfill-metadata-3OUSQD5V.js");
280
+ const { backfillMetadata } = await import("../backfill-metadata-VRP6PTPP.js");
266
281
  let batchSize = 50;
267
282
  let limit = 0;
268
283
  let dryRun = false;
@@ -293,10 +308,10 @@ if (args.includes("--global")) {
293
308
  process.exit(1);
294
309
  }
295
310
  } else if (args[0] === "export") {
296
- const { runExeExport } = await import("../exe-export-IC5BT335.js");
311
+ const { runExeExport } = await import("../exe-export-LHN42ZUS.js");
297
312
  await runExeExport(args.slice(1));
298
313
  } else if (args[0] === "import") {
299
- const { runExeImport } = await import("../exe-import-A35ZLDPG.js");
314
+ const { runExeImport } = await import("../exe-import-M536BEZC.js");
300
315
  await runExeImport(args.slice(1));
301
316
  } else if (args[0] === "import-history") {
302
317
  const { runImportHistory } = await import("./import-history.js");
@@ -321,7 +336,7 @@ if (args.includes("--global")) {
321
336
  const { initStore } = await import("../lib/store.js");
322
337
  await initStore();
323
338
  const { sendMessage } = await import("../lib/messaging.js");
324
- const { getActiveAgent } = await import("../active-agent-ONPPEWQV.js");
339
+ const { getActiveAgent } = await import("../active-agent-BOBBUJ74.js");
325
340
  const { agentId } = getActiveAgent();
326
341
  const result = await sendMessage({
327
342
  fromAgent: agentId,
@@ -345,7 +360,7 @@ ID: ${result.id}`);
345
360
  process.exit(code);
346
361
  } else if (args[0] === "doctor") {
347
362
  if (args.includes("--drift")) {
348
- const { runDrift } = await import("../exe-drift-AG2KMKD5.js");
363
+ const { runDrift } = await import("../exe-drift-V55UAYRT.js");
349
364
  await runDrift(args.slice(1));
350
365
  } else {
351
366
  const { runCcDoctor } = await import("./cc-doctor.js");
@@ -355,7 +370,7 @@ ID: ${result.id}`);
355
370
  const icon = r.pass ? "\x1B[32m\u2713\x1B[0m" : "\x1B[31m\u2717\x1B[0m";
356
371
  console.log(` ${icon} ${r.name}: ${r.detail}`);
357
372
  }
358
- const { readBreakerAlert, readSelfHealStormAlert } = await import("../daemon-restart-circuit-breaker-SMTWFX27.js");
373
+ const { readBreakerAlert, readSelfHealStormAlert } = await import("../daemon-restart-circuit-breaker-CD4VMCU7.js");
359
374
  const alert = readBreakerAlert();
360
375
  let breakerFailed = 0;
361
376
  if (alert) {
@@ -405,7 +420,7 @@ ID: ${result.id}`);
405
420
  daemonLastExitPath,
406
421
  readSelfHealStormAlert,
407
422
  selfHealStormAlertPath
408
- } = await import("../daemon-restart-circuit-breaker-SMTWFX27.js");
423
+ } = await import("../daemon-restart-circuit-breaker-CD4VMCU7.js");
409
424
  const { existsSync: existsSync2, readFileSync: readFileSync2 } = await import("fs");
410
425
  if (sub === "install") {
411
426
  const mode = args[2];
@@ -544,7 +559,7 @@ ${JSON.stringify(stormAlert, null, 2)}`);
544
559
  const reason = args[2] || "manual";
545
560
  let encryptionKey;
546
561
  try {
547
- const { fastDbInit } = await import("../fast-db-init-L2RGKJWH.js");
562
+ const { fastDbInit } = await import("../fast-db-init-GWUZ746B.js");
548
563
  await fastDbInit({ caller: "cli" });
549
564
  } catch {
550
565
  }
@@ -592,7 +607,7 @@ ${JSON.stringify(stormAlert, null, 2)}`);
592
607
  process.exit(1);
593
608
  }
594
609
  } else if (sub === "verify") {
595
- const { verifyBackup } = await import("../backup-verify-ZKTUYLTA.js");
610
+ const { verifyBackup } = await import("../backup-verify-LWHKGOOV.js");
596
611
  let target;
597
612
  const pathIdx = args.indexOf("--path");
598
613
  if (pathIdx >= 0 && args[pathIdx + 1]) {
@@ -674,7 +689,7 @@ ${JSON.stringify(stormAlert, null, 2)}`);
674
689
  process.exit(1);
675
690
  }
676
691
  } else if (args[0] === "setup" || args[0] === "-setup" || args[0] === "--setup") {
677
- const { runSetupWizard } = await import("../setup-wizard-GP3TBTPF.js");
692
+ const { runSetupWizard } = await import("../setup-wizard-RNU3RFBE.js");
678
693
  await runSetupWizard({
679
694
  skipModel: args.includes("--skip-model"),
680
695
  nonInteractive: args.includes("--non-interactive") || args.includes("-y") || args.includes("--yes"),
@@ -694,14 +709,14 @@ ${JSON.stringify(stormAlert, null, 2)}`);
694
709
  const { runStackUpdateCli } = await import("./stack-update.js");
695
710
  await runStackUpdateCli(args.slice(1));
696
711
  } else if (args[0] === "release") {
697
- const { parseReleaseArgs, runStackRelease } = await import("../stack-release-2GZAAFO4.js");
712
+ const { parseReleaseArgs, runStackRelease } = await import("../stack-release-MY6U2QIO.js");
698
713
  const releaseFlags = parseReleaseArgs(args.slice(1));
699
714
  await runStackRelease(releaseFlags);
700
715
  } else if (args[0] === "stack-promote") {
701
- const { runStackPromoteCli } = await import("../stack-promote-EKSCYY63.js");
716
+ const { runStackPromoteCli } = await import("../stack-promote-OP2URGFF.js");
702
717
  await runStackPromoteCli(args.slice(1));
703
718
  } else if (args[0] === "stack-generate-manifest") {
704
- const { runStackGenerateManifestCli } = await import("../stack-generate-manifest-MFMDWRUP.js");
719
+ const { runStackGenerateManifestCli } = await import("../stack-generate-manifest-7WJZWSPK.js");
705
720
  process.exit(await runStackGenerateManifestCli(args.slice(1)));
706
721
  } else if (args[0] === "repo-truth") {
707
722
  const { runRepoTruthCli } = await import("./exe-repo-truth.js");
@@ -736,10 +751,10 @@ Post-deploy verification \u2014 8 runtime checks after stack-update.
736
751
  `);
737
752
  process.exit(report.failed > 0 ? 1 : 0);
738
753
  } else if (args[0] === "snapshot") {
739
- const { main: runSnapshot } = await import("../exe-snapshot-SV6SRIG6.js");
754
+ const { main: runSnapshot } = await import("../exe-snapshot-EOUBCIQK.js");
740
755
  await runSnapshot(args.slice(1));
741
756
  } else if (args[0] === "boot") {
742
- const { projectBoot, parseBootArgs } = await import("../project-boot-3Q65LCIP.js");
757
+ const { projectBoot, parseBootArgs } = await import("../project-boot-BLYGVUJH.js");
743
758
  const bootOpts = parseBootArgs(args.slice(1));
744
759
  console.log(await projectBoot(bootOpts));
745
760
  } else if (args[0] === "brand") {
@@ -789,9 +804,12 @@ ${result.errors.map((e) => ` - ${e}`).join("\n")}
789
804
  const { main: runRegistryProxy } = await import("./registry-proxy.js");
790
805
  await runRegistryProxy(args.slice(1));
791
806
  } else if (args.includes("--tui") || args.includes("--demo") || args[0] === "tui") {
792
- checkForUpdateOnBoot().catch(() => {
793
- });
794
- await import("../tui/App.js");
807
+ await launchTui();
808
+ } else if (args[0]) {
809
+ process.stderr.write(`exe-os: Unknown command: ${args[0]}
810
+ Run exe-os --help for usage.
811
+ `);
812
+ process.exit(1);
795
813
  } else {
796
814
  const claudeDir = path.join(os.homedir(), ".claude");
797
815
  const settingsPath = path.join(claudeDir, "settings.json");
@@ -823,7 +841,7 @@ cd into a project folder and run \x1B[1m${cooName}1\x1B[0m to boot your COO.
823
841
 
824
842
  \x1B[2mCommands:\x1B[0m
825
843
  ${cooName}1 Launch COO in project folder
826
- exe-os login Authenticate with GoTrue
844
+ exe-os login --token Store a support-issued JWT (rarely needed)
827
845
  exe-os logout Clear stored auth session
828
846
  exe-os whoami Show current auth state
829
847
  exe-os update Check for and install updates
@@ -848,13 +866,11 @@ cd into a project folder and run \x1B[1m${cooName}1\x1B[0m to boot your COO.
848
866
  exe-os --help Show all commands
849
867
  `);
850
868
  } else {
851
- checkForUpdateOnBoot().catch(() => {
852
- });
853
- await import("../tui/App.js");
869
+ await launchTui();
854
870
  }
855
871
  }
856
872
  async function runCodeContext(ccArgs) {
857
- const { buildCodeContextIndex, getCodeContextStats, searchCodeContext } = await import("../code-context-index-NOJSHLPN.js");
873
+ const { buildCodeContextIndex, getCodeContextStats, searchCodeContext } = await import("../code-context-index-LIDOFKOR.js");
858
874
  const sub = ccArgs[0] ?? "status";
859
875
  const projectRoot = valueAfter(ccArgs, "--project-root");
860
876
  if (sub === "init" || sub === "index") {
@@ -935,7 +951,7 @@ function numberAfter(args2, flag) {
935
951
  return Number.isFinite(parsed) ? parsed : void 0;
936
952
  }
937
953
  async function runClaudeInstall() {
938
- const { runInstaller } = await import("../installer-LLWKZI2S.js");
954
+ const { runInstaller } = await import("../installer-S624ZOMB.js");
939
955
  try {
940
956
  await runInstaller();
941
957
  } catch (err) {
@@ -947,7 +963,7 @@ async function runClaudeInstall() {
947
963
  }
948
964
  }
949
965
  async function runOpenCodeInstall() {
950
- const { runOpenCodeInstaller } = await import("../installer-54HTN5RE.js");
966
+ const { runOpenCodeInstaller } = await import("../installer-POV6TDQ5.js");
951
967
  try {
952
968
  await runOpenCodeInstaller();
953
969
  } catch (err) {
@@ -959,7 +975,7 @@ async function runOpenCodeInstall() {
959
975
  }
960
976
  }
961
977
  async function runCodexInstall() {
962
- const { runCodexInstaller } = await import("../installer-LK35OX6R.js");
978
+ const { runCodexInstaller } = await import("../installer-M34Q7LAS.js");
963
979
  try {
964
980
  await runCodexInstaller();
965
981
  } catch (err) {
@@ -971,7 +987,7 @@ async function runCodexInstall() {
971
987
  }
972
988
  }
973
989
  async function runClaudeCheck() {
974
- const { detectMcpNameCollisions } = await import("../installer-LLWKZI2S.js");
990
+ const { detectMcpNameCollisions } = await import("../installer-S624ZOMB.js");
975
991
  const claudeDir = path.join(os.homedir(), ".claude");
976
992
  const settingsPath = path.join(claudeDir, "settings.json");
977
993
  const claudeJsonPath = path.join(os.homedir(), ".claude.json");
@@ -1263,7 +1279,7 @@ async function runClaudeUninstall(flags = []) {
1263
1279
  const coordinatorName = roster.find((e) => isCoordinatorRole(e.role))?.name ?? DEFAULT_COORDINATOR_TEMPLATE_NAME;
1264
1280
  for (const emp of roster) {
1265
1281
  if (emp.name === coordinatorName) continue;
1266
- for (const suffix of ["", "-opencode"]) {
1282
+ for (const suffix of ["", "-opencode", "-glm"]) {
1267
1283
  const linkPath = path.join(binDir, `${emp.name}${suffix}`);
1268
1284
  if (existsSync(linkPath)) {
1269
1285
  if (!dryRun) rmSync(linkPath, { force: true });
@@ -1466,95 +1482,51 @@ async function runLicense(subArgs) {
1466
1482
  process.exit(1);
1467
1483
  }
1468
1484
  async function runCloudSync() {
1469
- const { runCloudSyncCli } = await import("../cloud-sync-command-JPNTT4OQ.js");
1485
+ const { runCloudSyncCli } = await import("../cloud-sync-command-QAZ2NWRA.js");
1470
1486
  await runCloudSyncCli();
1471
1487
  }
1472
1488
  async function runLogin(loginArgs) {
1473
- const { login, storeToken, getSessionInfo } = await import("../gotrue-session-ODZ2ERJX.js");
1489
+ const { storeToken, getSessionInfo } = await import("../gotrue-session-U4H3UGHL.js");
1474
1490
  const tokenIdx = loginArgs.indexOf("--token");
1475
- if (tokenIdx >= 0) {
1476
- const jwt = loginArgs[tokenIdx + 1];
1477
- if (!jwt) {
1478
- console.error("Usage: exe-os login --token <jwt> [--refresh-token <rt>]");
1479
- process.exit(1);
1480
- }
1481
- const rtIdx = loginArgs.indexOf("--refresh-token");
1482
- const refreshToken = rtIdx >= 0 ? loginArgs[rtIdx + 1] : void 0;
1483
- const urlIdx2 = loginArgs.indexOf("--gotrue-url");
1484
- const gotrueUrl2 = urlIdx2 >= 0 ? loginArgs[urlIdx2 + 1] : void 0;
1485
- const ok = storeToken(jwt, refreshToken, gotrueUrl2);
1486
- if (!ok) {
1487
- console.error("Invalid JWT \u2014 could not decode exp claim.");
1488
- process.exit(1);
1489
- }
1490
- const info2 = getSessionInfo();
1491
- console.log(`
1492
- Authenticated as: ${info2.email ?? info2.userId ?? "unknown"}`);
1493
- console.log(` Expires: ${info2.expiresAt}
1494
- `);
1495
- return;
1491
+ if (tokenIdx < 0) {
1492
+ console.error("\n exe-os does not use an email/password sign-in.");
1493
+ console.error(" Your license key is your authentication \u2014 run \x1B[36mexe-os license\x1B[0m to check it,");
1494
+ console.error(" or \x1B[36mexe-os setup\x1B[0m to enter one.\n");
1495
+ console.error(" Usage: exe-os login --token <jwt> --gotrue-url <url> [--refresh-token <rt>]");
1496
+ console.error(" (support-issued tokens only)\n");
1497
+ process.exit(1);
1496
1498
  }
1497
- const urlIdx = loginArgs.indexOf("--gotrue-url");
1498
- const gotrueUrl = urlIdx >= 0 ? loginArgs[urlIdx + 1] : void 0;
1499
- const { createInterface } = await import("readline");
1500
- const rl = createInterface({ input: process.stdin, output: process.stderr });
1501
- const ask = (prompt) => new Promise((resolve) => rl.question(prompt, (a) => resolve(a.trim())));
1502
- const email = await ask("Email: ");
1503
- if (!email) {
1504
- rl.close();
1505
- console.error("Email is required.");
1499
+ const jwt = loginArgs[tokenIdx + 1];
1500
+ if (!jwt) {
1501
+ console.error("Usage: exe-os login --token <jwt> --gotrue-url <url> [--refresh-token <rt>]");
1506
1502
  process.exit(1);
1507
1503
  }
1508
- const password = await new Promise((resolve) => {
1509
- process.stderr.write("Password: ");
1510
- const stdin = process.stdin;
1511
- const wasRaw = stdin.isRaw;
1512
- if (stdin.isTTY) stdin.setRawMode(true);
1513
- let buf = "";
1514
- const onData = (chunk) => {
1515
- const ch = chunk.toString("utf-8");
1516
- for (const c of ch) {
1517
- if (c === "\n" || c === "\r") {
1518
- stdin.removeListener("data", onData);
1519
- if (stdin.isTTY) stdin.setRawMode(wasRaw ?? false);
1520
- process.stderr.write("\n");
1521
- resolve(buf);
1522
- return;
1523
- } else if (c === "") {
1524
- if (stdin.isTTY) stdin.setRawMode(wasRaw ?? false);
1525
- process.exit(130);
1526
- } else if (c === "\x7F" || c === "\b") {
1527
- buf = buf.slice(0, -1);
1528
- } else {
1529
- buf += c;
1530
- }
1531
- }
1532
- };
1533
- stdin.on("data", onData);
1534
- });
1535
- rl.close();
1536
- if (!password) {
1537
- console.error("Password is required.");
1504
+ const rtIdx = loginArgs.indexOf("--refresh-token");
1505
+ const refreshToken = rtIdx >= 0 ? loginArgs[rtIdx + 1] : void 0;
1506
+ const urlIdx = loginArgs.indexOf("--gotrue-url");
1507
+ const gotrueUrl = urlIdx >= 0 ? loginArgs[urlIdx + 1] : void 0;
1508
+ if (!gotrueUrl) {
1509
+ console.error(
1510
+ "\n --gotrue-url is required with --token.",
1511
+ "\n Pass the GoTrue URL that issued the JWT, so token refreshes go to the right endpoint.",
1512
+ "\n Usage: exe-os login --token <jwt> --gotrue-url <url> [--refresh-token <rt>]\n"
1513
+ );
1538
1514
  process.exit(1);
1539
1515
  }
1540
- process.stderr.write("Authenticating...\n");
1541
- const result = await login(email, password, gotrueUrl);
1542
- if (!result.ok) {
1543
- console.error(`
1544
- Login failed: ${result.error}
1545
- `);
1516
+ const ok = storeToken(jwt, refreshToken, gotrueUrl);
1517
+ if (!ok) {
1518
+ console.error("Invalid JWT \u2014 could not decode exp claim.");
1546
1519
  process.exit(1);
1547
1520
  }
1548
1521
  const info = getSessionInfo();
1549
1522
  console.log(`
1550
- Authenticated as: ${info.email}`);
1551
- if (info.plan) console.log(` Plan: ${info.plan}`);
1523
+ Authenticated as: ${info.email ?? info.userId ?? "unknown"}`);
1552
1524
  console.log(` Expires: ${info.expiresAt}`);
1553
1525
  console.log(` Session stored: ~/.exe-os/gotrue-session.json
1554
1526
  `);
1555
1527
  }
1556
1528
  async function runLogout() {
1557
- const { clearSession, getSession } = await import("../gotrue-session-ODZ2ERJX.js");
1529
+ const { clearSession, getSession } = await import("../gotrue-session-U4H3UGHL.js");
1558
1530
  const had = getSession() !== null;
1559
1531
  clearSession();
1560
1532
  if (had) {
@@ -1564,7 +1536,7 @@ async function runLogout() {
1564
1536
  }
1565
1537
  }
1566
1538
  async function runWhoami() {
1567
- const { getSessionInfo } = await import("../gotrue-session-ODZ2ERJX.js");
1539
+ const { getSessionInfo } = await import("../gotrue-session-U4H3UGHL.js");
1568
1540
  const info = getSessionInfo();
1569
1541
  if (!info.authenticated) {
1570
1542
  const configPath = path.join(os.homedir(), ".exe-os", "config.json");
@@ -1575,11 +1547,13 @@ async function runWhoami() {
1575
1547
  } catch {
1576
1548
  }
1577
1549
  if (hasLegacyKey) {
1578
- console.log("\n Auth: legacy license key (no GoTrue session)");
1579
- console.log(" Run \x1B[36mexe-os login\x1B[0m to authenticate with GoTrue.\n");
1550
+ console.log("\n Auth: license key (no GoTrue session)");
1551
+ console.log(" That is the normal state \u2014 the license key is how exe-os authenticates.");
1552
+ console.log(" Run \x1B[36mexe-os license\x1B[0m to see plan and limits.\n");
1580
1553
  } else {
1581
- console.log("\n Not authenticated.");
1582
- console.log(" Run \x1B[36mexe-os login\x1B[0m to sign in.\n");
1554
+ console.log("\n Not authenticated \u2014 no license key found.");
1555
+ console.log(" Run \x1B[36mexe-os setup\x1B[0m to enter your license key.");
1556
+ console.log(" \x1B[2m(exe-os login --token <jwt> exists only for support-issued tokens.)\x1B[0m\n");
1583
1557
  }
1584
1558
  return;
1585
1559
  }
@@ -1589,7 +1563,7 @@ async function runWhoami() {
1589
1563
  if (info.plan) console.log(` Plan: ${info.plan}`);
1590
1564
  console.log(` Expires: ${info.expiresAt}`);
1591
1565
  console.log(` Status: ${info.expired ? "\x1B[33mexpired (will auto-refresh)\x1B[0m" : "\x1B[32mactive\x1B[0m"}`);
1592
- console.log(` GoTrue URL: ${info.gotrueUrl}
1566
+ console.log(` GoTrue URL: ${info.gotrueUrl ?? "none configured"}
1593
1567
  `);
1594
1568
  }
1595
1569
  function parseBackfillArgs(argv) {
@@ -2,7 +2,8 @@
2
2
  import {
3
3
  parseHandoffConfig,
4
4
  runDaemonRestartHandoff
5
- } from "../chunk-PWRC5XZO.js";
5
+ } from "../chunk-FXZ6VGFW.js";
6
+ import "../chunk-IMYGYIAI.js";
6
7
  import {
7
8
  isMainModule
8
9
  } from "../chunk-6Y4B3QF6.js";