@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
@@ -0,0 +1,129 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <!-- Build provenance: stamped by stamp.mjs at delivery-build time so a served page reveals the exact source commit. Unstamped (literal __EXE_BUILD_*__) => served straight from git without a provenance step. -->
7
+ <meta name="exe-build-rev" content="__EXE_BUILD_REV__">
8
+ <meta name="exe-build-ref" content="__EXE_BUILD_REF__">
9
+ <meta name="exe-build-time" content="__EXE_BUILD_TIME__">
10
+ <title>500 — Something Went Wrong | Exe</title>
11
+ <style>
12
+ @import url('https://fonts.googleapis.com/css2?family=Epilogue:wght@400;700&family=Manrope:wght@400;500;600&display=swap');
13
+
14
+ *, *::before, *::after {
15
+ margin: 0;
16
+ padding: 0;
17
+ box-sizing: border-box;
18
+ }
19
+
20
+ body {
21
+ background: #0F0E1A;
22
+ color: #FFFFFF;
23
+ font-family: 'Manrope', sans-serif;
24
+ min-height: 100vh;
25
+ display: flex;
26
+ flex-direction: column;
27
+ align-items: center;
28
+ justify-content: center;
29
+ -webkit-font-smoothing: antialiased;
30
+ -moz-osx-font-smoothing: grayscale;
31
+ }
32
+
33
+ .container {
34
+ text-align: center;
35
+ padding: 2rem;
36
+ max-width: 480px;
37
+ }
38
+
39
+ .logo {
40
+ font-family: 'Epilogue', sans-serif;
41
+ font-weight: 700;
42
+ font-size: 30px;
43
+ color: #F5D76E;
44
+ letter-spacing: 0.08em;
45
+ margin-bottom: 3rem;
46
+ }
47
+
48
+ .error-code {
49
+ font-family: 'Epilogue', sans-serif;
50
+ font-weight: 700;
51
+ font-size: 120px;
52
+ line-height: 1;
53
+ color: #FFFFFF;
54
+ margin-bottom: 1rem;
55
+ }
56
+
57
+ .description {
58
+ font-family: 'Manrope', sans-serif;
59
+ font-size: 16px;
60
+ font-weight: 400;
61
+ color: #A09CAF;
62
+ line-height: 1.6;
63
+ margin-bottom: 2.5rem;
64
+ }
65
+
66
+ .btn {
67
+ display: inline-block;
68
+ font-family: 'Manrope', sans-serif;
69
+ font-weight: 600;
70
+ font-size: 14px;
71
+ letter-spacing: 0.04em;
72
+ text-transform: uppercase;
73
+ color: #0F0E1A;
74
+ background: #F5D76E;
75
+ border: none;
76
+ border-radius: 8px;
77
+ padding: 14px 36px;
78
+ cursor: pointer;
79
+ text-decoration: none;
80
+ transition: background 0.2s ease, transform 0.1s ease;
81
+ }
82
+
83
+ .btn:hover {
84
+ background: #f7e08a;
85
+ transform: translateY(-1px);
86
+ }
87
+
88
+ .btn:active {
89
+ transform: translateY(0);
90
+ }
91
+
92
+ .services {
93
+ margin-top: 4rem;
94
+ font-family: 'Manrope', sans-serif;
95
+ font-size: 13px;
96
+ color: #5A5669;
97
+ }
98
+
99
+ .services a {
100
+ color: #5A5669;
101
+ text-decoration: none;
102
+ transition: color 0.2s ease;
103
+ }
104
+
105
+ .services a:hover {
106
+ color: #A09CAF;
107
+ }
108
+
109
+ .services .sep {
110
+ margin: 0 0.6em;
111
+ }
112
+ </style>
113
+ </head>
114
+ <body>
115
+ <div class="container">
116
+ <div class="logo">EXE</div>
117
+ <div class="error-code">500</div>
118
+ <p class="description">Something went wrong. We're working on it.</p>
119
+ <a href="javascript:location.reload()" class="btn">Try Again</a>
120
+ <div class="services">
121
+ <a href="https://crm.askexe.com">CRM</a>
122
+ <span class="sep">&middot;</span>
123
+ <a href="https://wiki.askexe.com">Wiki</a>
124
+ <span class="sep">&middot;</span>
125
+ <a href="https://erp.askexe.com">ERP</a>
126
+ </div>
127
+ </div>
128
+ </body>
129
+ </html>
@@ -0,0 +1,118 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <!-- Build provenance: stamped by stamp.mjs at delivery-build time so a served page reveals the exact source commit. Unstamped (literal __EXE_BUILD_*__) => served straight from git without a provenance step. -->
7
+ <meta name="exe-build-rev" content="__EXE_BUILD_REV__">
8
+ <meta name="exe-build-ref" content="__EXE_BUILD_REF__">
9
+ <meta name="exe-build-time" content="__EXE_BUILD_TIME__">
10
+ <title>Maintenance | Exe</title>
11
+ <style>
12
+ @import url('https://fonts.googleapis.com/css2?family=Epilogue:wght@400;700&family=Manrope:wght@400;500;600&display=swap');
13
+
14
+ *, *::before, *::after {
15
+ margin: 0;
16
+ padding: 0;
17
+ box-sizing: border-box;
18
+ }
19
+
20
+ body {
21
+ background: #0F0E1A;
22
+ color: #FFFFFF;
23
+ font-family: 'Manrope', sans-serif;
24
+ min-height: 100vh;
25
+ display: flex;
26
+ flex-direction: column;
27
+ align-items: center;
28
+ justify-content: center;
29
+ -webkit-font-smoothing: antialiased;
30
+ -moz-osx-font-smoothing: grayscale;
31
+ }
32
+
33
+ .container {
34
+ text-align: center;
35
+ padding: 2rem;
36
+ max-width: 480px;
37
+ }
38
+
39
+ .logo {
40
+ font-family: 'Epilogue', sans-serif;
41
+ font-weight: 700;
42
+ font-size: 30px;
43
+ color: #F5D76E;
44
+ letter-spacing: 0.08em;
45
+ margin-bottom: 3rem;
46
+ }
47
+
48
+ .error-code {
49
+ font-family: 'Epilogue', sans-serif;
50
+ font-weight: 700;
51
+ font-size: 120px;
52
+ line-height: 1;
53
+ color: #FFFFFF;
54
+ margin-bottom: 1rem;
55
+ }
56
+
57
+ .description {
58
+ font-family: 'Manrope', sans-serif;
59
+ font-size: 16px;
60
+ font-weight: 400;
61
+ color: #A09CAF;
62
+ line-height: 1.6;
63
+ margin-bottom: 2.5rem;
64
+ }
65
+
66
+ .spinner {
67
+ display: inline-block;
68
+ width: 24px;
69
+ height: 24px;
70
+ border: 3px solid #2A2838;
71
+ border-top-color: #F5D76E;
72
+ border-radius: 50%;
73
+ animation: spin 0.8s linear infinite;
74
+ margin-bottom: 2rem;
75
+ }
76
+
77
+ @keyframes spin {
78
+ to { transform: rotate(360deg); }
79
+ }
80
+
81
+ .services {
82
+ margin-top: 4rem;
83
+ font-family: 'Manrope', sans-serif;
84
+ font-size: 13px;
85
+ color: #5A5669;
86
+ }
87
+
88
+ .services a {
89
+ color: #5A5669;
90
+ text-decoration: none;
91
+ transition: color 0.2s ease;
92
+ }
93
+
94
+ .services a:hover {
95
+ color: #A09CAF;
96
+ }
97
+
98
+ .services .sep {
99
+ margin: 0 0.6em;
100
+ }
101
+ </style>
102
+ </head>
103
+ <body>
104
+ <div class="container">
105
+ <div class="logo">EXE</div>
106
+ <div class="error-code">Maintenance</div>
107
+ <p class="description">We're upgrading. Back shortly.</p>
108
+ <div class="spinner"></div>
109
+ <div class="services">
110
+ <a href="https://crm.askexe.com">CRM</a>
111
+ <span class="sep">&middot;</span>
112
+ <a href="https://wiki.askexe.com">Wiki</a>
113
+ <span class="sep">&middot;</span>
114
+ <a href="https://erp.askexe.com">ERP</a>
115
+ </div>
116
+ </div>
117
+ </body>
118
+ </html>
@@ -7,10 +7,9 @@
7
7
  # advertised "single front door" does not exist.
8
8
  #
9
9
  # ── How it works ────────────────────────────────────────────────────────────
10
- # 0. Static assets (JS/CSS/images/fonts, via the $sso_is_static map) are
11
- # exempted from the gate and answered 204 — see step 0 inside /_sso_gate
12
- # for why gating them deadlocks first page load.
13
- # 1. Every other request runs the edge auth gate (auth_request → /_sso_gate).
10
+ # 1. EVERY request runs the edge auth gate (auth_request → /_sso_gate). There
11
+ # is deliberately NO static-asset exemption — see the note at the end of
12
+ # this header (bug 419e1231).
14
13
  # 2. If the app session cookie is present the request passes (the app validates
15
14
  # its own session server-side — the cookie name differs per app; set it via
16
15
  # $sso_session_cookie below). Cross-app logout: the edge also checks for the
@@ -18,12 +17,14 @@
18
17
  # njs handlers — a NON-CREDENTIAL presence sentinel whose value is literally
19
18
  # "1"); if the app cookie is present but that sentinel is gone, the session
20
19
  # was revoked on another app and the edge forces re-auth.
21
- # 3. If the request carries ?access_token= (the SSO callback), the edge
22
- # VALIDATES the token against the shared GoTrue (`GET /user` with
23
- # `Authorization: Bearer <token>`) before letting it through. P0 bug
20
+ # 3. Otherwise the edge looks for a bearer credential — the apex SSO session
21
+ # cookie `exe_sess` (normal case), or a legacy `?access_token=` callback
22
+ # param (compat) — and VALIDATES it against the shared GoTrue (`GET /user`
23
+ # with `Authorization: Bearer <token>`) before letting it through. P0 bug
24
24
  # 462d3273: the edge previously trusted the mere PRESENCE of the query
25
25
  # param, so `?access_token=anything` bypassed the gate. Presence is never
26
- # trusted — only a token GoTrue accepts passes.
26
+ # trusted — only a token GoTrue accepts passes. Bug 83ba9546: requiring the
27
+ # URL param specifically is what caused the post-login redirect livelock.
27
28
  # 4. Anything else 401s inside the gate and is 302-redirected to:
28
29
  # https://auth.<domain>/?product=<App>&redirect=https://<app>.<domain><uri>
29
30
  # A 403 from the GoTrue /user validation subrequest is mapped to the same
@@ -37,7 +38,7 @@
37
38
  # These are templated values — replace before installing, or render with envsubst
38
39
  # (DOMAIN, APP_NAME, APP_SUBDOMAIN, APP_SESSION_COOKIE):
39
40
  #
40
- # # FOUR http-context declarations MUST exist once per nginx config (the
41
+ # # THREE http-context declarations MUST exist once per nginx config (the
41
42
  # # compose edge ships them in sso-edge/default.conf.template; host-nginx
42
43
  # # installs add them next to their `include`s — see sso-redirect.README.md):
43
44
  # #
@@ -59,26 +60,6 @@
59
60
  # default "";
60
61
  # "~(?:^|;\s*)exe_access_token=([^\s;]+)" $1;
61
62
  # }
62
- # # 4. The static-asset exemption (see step 0 inside /_sso_gate). Like #2
63
- # # this MUST map over $request_uri: inside the auth_request subrequest
64
- # # $uri is `/_sso_gate`, so a map over $uri never matches and the
65
- # # exemption is silently inert (bug 06a3daae). $request_uri includes the
66
- # # query string, hence the `[?#]` anchor instead of a bare `$`.
67
- # # It must ALSO be anchored to the build-output PATH PREFIXES: a bare
68
- # # extension test exempts any URL shaped like an asset, and since the app
69
- # # location is a catch-all proxy that hands `/uploads/customer.png` and
70
- # # `/api/export.js` straight past the gate. Deny arms come first because
71
- # # nginx takes the FIRST matching regex in a map:
72
- # map $request_uri $sso_is_static {
73
- # default "";
74
- # "~*^/(?:api|uploads?|files|private|attachments|media|desk|app|method|admin)(?:[/?#]|$)" "";
75
- # "~\.\." "";
76
- # "~*%2e" "";
77
- # "~*%2f" "";
78
- # "~*%5c" "";
79
- # "~*^/(?:_next/static|_nuxt|assets|static|build/assets)/[^?#]*\.(?:js|mjs|css|map|png|jpe?g|gif|svg|ico|webp|woff2?|ttf)(?:[?#]|$)" "static";
80
- # "~*^/(?:favicon\.(?:ico|svg|png)|apple-touch-icon(?:-precomposed)?\.png)(?:[?#]|$)" "static";
81
- # }
82
63
  #
83
64
  # server {
84
65
  # server_name crm.${DOMAIN};
@@ -90,61 +71,69 @@
90
71
  # location / { proxy_pass http://exe-crm:3000; }
91
72
  # }
92
73
  #
93
- # For Wiki: set $sso_product "Wiki"; set $sso_session_cookie $cookie_exe_access_token; # bug f1bb40d8: canonical SSO cookie
94
- # proxy_pass http://exe-wiki:3001;
95
74
  # For ERP: set $sso_product "ERP"; set $sso_session_cookie $cookie_sid;
96
75
  # proxy_pass http://exe-erp:8000;
97
76
  #
77
+ # Apps with NO app-native session cookie (wiki, dashboard) MUST declare the
78
+ # variable empty so step 1 cannot match and every visit is authenticated by
79
+ # the apex `exe_sess` + GoTrue check in steps 2-3:
80
+ # set $sso_session_cookie ""; # bug 4a6650f5 — see below
81
+ # proxy_pass http://exe-wiki:3001;
82
+ #
83
+ # NEVER point $sso_session_cookie at $cookie_exe_access_token. That is the
84
+ # apex presence SENTINEL, not a credential: its value is the literal "1" and
85
+ # it is deliberately JS-readable, so any visitor can set it. Wiki and
86
+ # dashboard both did (bug 4a6650f5), which made a single forged header
87
+ # `Cookie: exe_access_token=1` satisfy step 1's app-cookie arm AND its
88
+ # sentinel arm at once — the gate returned 204 with zero real credential, and
89
+ # cross-app logout could be undone by re-setting that one cookie.
90
+ #
98
91
  # NOTE: This is an EDGE-level gate (host nginx in front of the app). If you front
99
92
  # the stack with Cloudflare Tunnel instead of host nginx, implement the same gate
100
93
  # with Cloudflare Access (see sso-redirect.README.md) — cloudflared ingress alone
101
94
  # cannot express a cookie-conditional redirect.
102
95
  #
103
- # NOTE: cookie PRESENCE is still trusted at the edge (the CRM/ERP session cookies
104
- # are app-native sessions the edge cannot verify against GoTrue); each app fully
105
- # validates its own session server-side. The edge gate's job is the login funnel
106
- # plus never letting an unvalidated bearer token skip it (bug 462d3273).
96
+ # NOTE: cookie PRESENCE is still trusted at the edge for apps that HAVE an
97
+ # app-native session cookie (CRM's $cookie_tokenPair, ERP's $cookie_sid — real
98
+ # server-side sessions the edge cannot itself verify against GoTrue); each app
99
+ # fully validates its own session server-side. The edge gate's job is the login
100
+ # funnel plus never letting an unvalidated bearer token skip it (bug 462d3273).
101
+ # That presence trust is ONLY ever extended to a real app-native credential —
102
+ # never to the apex `exe_access_token` sentinel (bug 4a6650f5).
107
103
  # Cross-app logout adds a sentinel-cookie check: if the app-native cookie is
108
104
  # present but the shared apex `exe_access_token` sentinel is absent, the edge
109
105
  # 401s — the session was revoked on another app and the app-native cookie is
110
106
  # stale. This is ALWAYS ON; it is the mechanism that makes "log out once, out
111
- # everywhere" real across crm/wiki/erp/dashboard.
112
- #
113
- # ── SCOPE OF THE STATIC-ASSET EXEMPTION ──────────────────────────────────────
114
- # Step 0 exempts a request from the gate BEFORE any cookie check, matching on
115
- # $request_uri (bug 06a3daae — $uri is `/_sso_gate` inside the subrequest).
107
+ # everywhere" real across crm/erp. Wiki and dashboard have no app-native cookie
108
+ # at all, so they never reach step 1 — every one of their requests is proven by
109
+ # the apex `exe_sess` + GoTrue validation in steps 2-3, which is strictly
110
+ # stronger, and their cross-app logout falls out of `exe_sess` being cleared.
116
111
  #
117
- # The exemption is scoped by PATH PREFIX **and** extension, never by extension
118
- # alone. An extension-only test is a pure URL-shape test, and because each app
119
- # location is a catch-all `proxy_pass`, it would hand `/uploads/customer.png`
120
- # or `/api/export.js` a 204 from the gate and proxy them to the app with no SSO
121
- # at all. Only these prefixes can ever be exempt:
112
+ # ── NO static-asset exemption (bug 419e1231) ─────────────────────────────────
113
+ # This gate has no file-extension bypass, and must not grow one.
122
114
  #
123
- # /_next/static/ /_nuxt/ /assets/ /static/ /build/assets/
124
- # /favicon.{ico,svg,png} /apple-touch-icon[-precomposed].png
115
+ # A step-0 `if ($sso_is_static) { return 204; }` used to sit at the top of
116
+ # /_sso_gate, and this header used to document it as an accepted security
117
+ # tradeoff. Both are gone, because the code never actually ran: inside an
118
+ # nginx auth_request subrequest $uri is the SUBREQUEST's own URI — literally
119
+ # "/_sso_gate" — not the parent request's path, so a map built over $uri never
120
+ # matched an asset extension. The documented tradeoff described a bypass that
121
+ # did not exist, which is worse than either having it or not.
125
122
  #
126
- # and only when the PATH (not the query string) also ends in a known asset
127
- # extension. Deny arms listed FIRST in the map — nginx takes the first matching
128
- # regex — make it explicit that /api/, /uploads/, /files/, /private/, /media/,
129
- # /attachments/, /desk, /app, /method and /admin can NEVER be exempt whatever
130
- # their extension or query string, and reject traversal forms (`..`, %2e, %2f,
131
- # %5c) so a raw `/assets/../api/secret.js` cannot prefix-match here and then
132
- # normalize into the API before it reaches the app.
123
+ # It is also no longer needed. The exemption existed to stop first-page-load
124
+ # deadlock: an SPA sets its session cookie only after its JS runs, so gating
125
+ # app.js on an app-native cookie would hand the script tag auth HTML. Since bug
126
+ # 83ba9546 the gate authenticates off the apex `exe_sess` cookie, which the
127
+ # browser already carries on the very first request, so an authenticated user
128
+ # passes for assets and documents alike with no exemption. Verified live: an
129
+ # authenticated GET of a .js asset returns 200; an unauthenticated one 302s.
133
130
  #
134
- # What is still true of anything that IS exempt: it is a URL test, not a
135
- # content test. If an app serves user content out of one of those build-output
136
- # prefixes, that content is reachable unauthenticated at the edge. Two reasons
137
- # that is acceptable:
138
- # 1. Every app validates its own session server-side. The edge gate is the
139
- # LOGIN FUNNEL, not the authorization boundary — an exempted request still
140
- # reaches an app that will refuse to serve it to an unauthenticated user.
141
- # 2. Without the exemption the stack does not work at all: the SPA only sets
142
- # its session cookie after its JS runs, so gating app.js returns auth HTML
143
- # in place of the script and the app never boots (blank page).
144
- #
145
- # The limit of that reasoning: never serve private content from one of the
146
- # prefixes above, and do not rely on the edge gate for an app that does no
147
- # authorization of its own.
131
+ # DO NOT "repair" this by rebuilding the map over $request_uri (which would
132
+ # make it fire). That is not a typo fix — it would newly open a real bypass for
133
+ # every path whose URI ends in an asset extension, including user-uploaded CRM
134
+ # attachments and wiki images. If a future app genuinely needs an ungated path,
135
+ # give it an explicit `location = /path { auth_request off; }` (as the /health
136
+ # and /auth/logout routes already do), never an extension-shaped wildcard.
148
137
  # ─────────────────────────────────────────────────────────────────────────────
149
138
 
150
139
  # Run the gate for every request on this vhost. The gate is a zero-cost local
@@ -170,21 +159,6 @@ location = /_sso_gate {
170
159
  # which auth_request rejects ("auth request unexpected status: 302").
171
160
  error_page 401 = @sso_gate_deny;
172
161
 
173
- # 0. Static assets (JS/CSS/images/fonts via the $sso_is_static http-context
174
- # map) pass BEFORE any cookie check. Assets are non-sensitive — all SPA
175
- # data flows only via the authenticated APIs, which stay fully gated —
176
- # and gating them deadlocks first page load: the SPA sets its session
177
- # cookie only AFTER it boots, so answering app.js with the auth HTML
178
- # leaves a session-bearing document that can never boot (blank page).
179
- # See the SCOPE note in the header: the map is path-prefix scoped, so
180
- # only build-output directories can reach this 204 — /api/* and
181
- # /uploads/* stay gated no matter what extension they carry.
182
- # The map MUST be over $request_uri, not $uri: in here $uri is
183
- # `/_sso_gate`, so a $uri-based map never matches (bug 06a3daae).
184
- if ($sso_is_static) {
185
- return 204;
186
- }
187
-
188
162
  # 1. App session cookie present → check for cross-app logout.
189
163
  # The shared apex cookie is `exe_access_token` (domain .${DOMAIN}), set
190
164
  # by exe-auth's njs login handler and expired by its logout handler. It
@@ -195,6 +169,15 @@ location = /_sso_gate {
195
169
  # the stale app cookie.
196
170
  # Bug 21ae2388: this arm matched a cookie named `exe-auth` that nothing
197
171
  # has ever minted, so it fired unconditionally and 401'd every request.
172
+ #
173
+ # Bug 4a6650f5: $sso_session_cookie MUST be a real app-native credential
174
+ # (CRM $cookie_tokenPair, ERP $cookie_sid) — never $cookie_exe_access_token.
175
+ # Pointing it at the sentinel collapses both arms of this check onto one
176
+ # forgeable cookie: `exe_access_token=1` then reads as "app cookie present"
177
+ # AND "sentinel present", so this arm returned 204 for any visitor and
178
+ # cross-app logout could be undone by re-setting it. A vhost with no
179
+ # app-native cookie sets $sso_session_cookie "" and is authenticated by
180
+ # steps 2-3 instead.
198
181
  set $sso_auth_check "";
199
182
  if ($sso_session_cookie) {
200
183
  set $sso_auth_check "app";
@@ -209,24 +192,64 @@ location = /_sso_gate {
209
192
  return 204;
210
193
  }
211
194
 
212
- # 2. No cookie and no token → unauthenticated → login redirect.
213
- # $sso_uri_access_token comes from the REQUIRED http-context map (see
214
- # header comment): the auth_request subrequest does not inherit the
215
- # query string (so $arg_access_token is empty here) and server-level
216
- # `set` re-runs empty in the subrequest — but $request_uri IS inherited,
217
- # so a map over it yields the callback token reliably.
218
- if ($sso_uri_access_token = "") {
195
+ # 2. No app session cookie yet. Pick the bearer credential to validate.
196
+ #
197
+ # Bug 83ba9546: this step used to accept ONLY $sso_uri_access_token, the
198
+ # `?access_token=` callback param. exe-auth deliberately stopped putting
199
+ # tokens in URLs (they leak via browser history, access.log and Referer),
200
+ # so that param is never sent any more. The gate therefore waited forever
201
+ # for a handoff that will never come: a user who had just authenticated
202
+ # held a valid apex session but no app-native cookie, so this arm 401'd,
203
+ # @sso_login bounced them to auth.<domain>, auth saw a live session and
204
+ # bounced them straight back — an infinite redirect livelock (crm and erp;
205
+ # wiki/dashboard escaped it only because their app cookie name happens to
206
+ # equal the apex sentinel name).
207
+ #
208
+ # The fix is NOT to put the token back in the URL. The apex session
209
+ # cookie `exe_sess` (HttpOnly Secure SameSite=Lax, scoped to .${DOMAIN}
210
+ # by AUTH_COOKIE_DOMAIN) is ALREADY presented by the browser on every
211
+ # product subdomain, and HttpOnly restricts page JavaScript only — it has
212
+ # never restricted the server, so nginx can read it here as
213
+ # $cookie_exe_sess. We validate it with the exact same GoTrue /user call
214
+ # step 3 already performs, so this is strictly a NEW SOURCE for the same
215
+ # proven check, not a new trust assumption.
216
+ #
217
+ # Note we validate the real credential, NOT the `exe_access_token=1`
218
+ # presence sentinel. The sentinel is trivially forgeable (any visitor can
219
+ # set it), so gating on its presence would let anyone walk through the
220
+ # edge; $sso_gotrue_cookie stays what it has always been — a cross-app
221
+ # logout signal only (step 1), never an authentication signal.
222
+ #
223
+ # setSessionCookies() writes the token percent-encoded, but a JWT is
224
+ # base64url + dots, so encodeURIComponent() is a no-op on it and the raw
225
+ # cookie value is already the bearer token.
226
+ #
227
+ # Precedence keeps the callback param first purely for backward
228
+ # compatibility with any older auth build still mid-rollout; it is still
229
+ # validated, never trusted on presence (bug 462d3273 stays fixed).
230
+ set $sso_bearer $sso_uri_access_token;
231
+ if ($sso_bearer = "") {
232
+ set $sso_bearer $cookie_exe_sess;
233
+ }
234
+
235
+ # Neither source produced a credential → unauthenticated → login redirect.
236
+ if ($sso_bearer = "") {
219
237
  return 401;
220
238
  }
221
239
 
222
- # 3. SSO callback: VALIDATE the token against the shared GoTrue.
240
+ # 3. VALIDATE the bearer against the shared GoTrue before letting it past.
223
241
  # GET /user returns 200 only for a currently-valid access token; any
224
242
  # 401/403 propagates and triggers the login redirect. If GoTrue is
225
243
  # unreachable the subrequest 5xx fails the gate (fail closed).
244
+ #
245
+ # A 204 here only clears the EDGE gate. Each app still performs its own
246
+ # server-side exchange of the apex `exe_sess` cookie for its own session
247
+ # (exe-wiki / exe-erp / exe-crm, bug d0652644 and related) — the edge is
248
+ # the login funnel, not the authorization boundary, exactly as before.
226
249
  proxy_pass http://sso_gotrue/user;
227
250
  proxy_pass_request_body off;
228
251
  proxy_set_header Content-Length "";
229
- proxy_set_header Authorization "Bearer $sso_uri_access_token";
252
+ proxy_set_header Authorization "Bearer $sso_bearer";
230
253
  proxy_set_header Cookie "";
231
254
  proxy_connect_timeout 5s;
232
255
  proxy_send_timeout 5s;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 1,
3
- "verified_at": "2026-08-20T18:51:08.214Z",
4
- "manifest_sha256": "185d088d5d3a1b4d1f2d293248438af3df4498155f42a6f9cfc35521103d5b70",
5
- "package_version": "0.9.374"
3
+ "verified_at": "2026-09-02T09:40:41.834Z",
4
+ "manifest_sha256": "924d73f2e3e72e239a43abb555ac8a9f7f9ae48f93dc26a8d786f82af3bd0c29",
5
+ "package_version": "0.9.376"
6
6
  }
@@ -7,19 +7,19 @@ import {
7
7
  resolveAgentAttribution,
8
8
  resolveAgentForPayload,
9
9
  writeActiveAgent
10
- } from "./chunk-55BEFF4V.js";
10
+ } from "./chunk-5DF4Y6EC.js";
11
11
  import "./chunk-K4ESASPL.js";
12
12
  import "./chunk-CVYC6DUW.js";
13
13
  import "./chunk-GJV3WDWM.js";
14
- import "./chunk-TAMDAOCU.js";
14
+ import "./chunk-66CGXQUA.js";
15
15
  import "./chunk-BBMTVAE3.js";
16
16
  import "./chunk-TKDITWDN.js";
17
17
  import "./chunk-5YEUPUV4.js";
18
- import "./chunk-DSJI76XL.js";
18
+ import "./chunk-AHNVFBVB.js";
19
19
  import "./chunk-YYB5PMTK.js";
20
- import "./chunk-NJFJWQNN.js";
21
- import "./chunk-V3W3SATA.js";
22
- import "./chunk-JY5GAZYC.js";
20
+ import "./chunk-L5CGXEZC.js";
21
+ import "./chunk-CL4J4757.js";
22
+ import "./chunk-ZQEJ4IX2.js";
23
23
  import "./chunk-FXU7JOXK.js";
24
24
  import "./chunk-ZIG7VPJV.js";
25
25
  import "./chunk-HSGBZSCA.js";
@@ -8,19 +8,19 @@ import {
8
8
  resolveAgentAttribution,
9
9
  resolveAgentForPayload,
10
10
  writeActiveAgent
11
- } from "./chunk-55BEFF4V.js";
11
+ } from "./chunk-5DF4Y6EC.js";
12
12
  import "./chunk-K4ESASPL.js";
13
13
  import "./chunk-CVYC6DUW.js";
14
14
  import "./chunk-GJV3WDWM.js";
15
- import "./chunk-TAMDAOCU.js";
15
+ import "./chunk-66CGXQUA.js";
16
16
  import "./chunk-BBMTVAE3.js";
17
17
  import "./chunk-TKDITWDN.js";
18
18
  import "./chunk-5YEUPUV4.js";
19
- import "./chunk-DSJI76XL.js";
19
+ import "./chunk-AHNVFBVB.js";
20
20
  import "./chunk-YYB5PMTK.js";
21
- import "./chunk-NJFJWQNN.js";
22
- import "./chunk-V3W3SATA.js";
23
- import "./chunk-JY5GAZYC.js";
21
+ import "./chunk-L5CGXEZC.js";
22
+ import "./chunk-CL4J4757.js";
23
+ import "./chunk-ZQEJ4IX2.js";
24
24
  import "./chunk-FXU7JOXK.js";
25
25
  import "./chunk-ZIG7VPJV.js";
26
26
  import "./chunk-HSGBZSCA.js";
@@ -5,15 +5,15 @@ import "./chunk-AM7S2TY6.js";
5
5
  import {
6
6
  loadEmployeesSync,
7
7
  validateEmployeeName
8
- } from "./chunk-TAMDAOCU.js";
8
+ } from "./chunk-66CGXQUA.js";
9
9
  import "./chunk-BBMTVAE3.js";
10
10
  import "./chunk-TKDITWDN.js";
11
11
  import "./chunk-5YEUPUV4.js";
12
- import "./chunk-DSJI76XL.js";
12
+ import "./chunk-AHNVFBVB.js";
13
13
  import "./chunk-YYB5PMTK.js";
14
- import "./chunk-NJFJWQNN.js";
15
- import "./chunk-V3W3SATA.js";
16
- import "./chunk-JY5GAZYC.js";
14
+ import "./chunk-L5CGXEZC.js";
15
+ import "./chunk-CL4J4757.js";
16
+ import "./chunk-ZQEJ4IX2.js";
17
17
  import "./chunk-FXU7JOXK.js";
18
18
  import "./chunk-WNBZJSQT.js";
19
19
  import "./chunk-ZIG7VPJV.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  agentLoop
3
- } from "./chunk-HNWS7YHN.js";
3
+ } from "./chunk-KBR5LIWD.js";
4
4
  import "./chunk-JRLNE3T2.js";
5
5
  import "./chunk-2O2UKMUE.js";
6
6
  import "./chunk-HF25XPZE.js";
@@ -10,7 +10,7 @@ import {
10
10
  insertOntologyForMemory,
11
11
  ontologyPayload,
12
12
  stableId
13
- } from "./chunk-WSQASFLP.js";
13
+ } from "./chunk-VCTK5HRA.js";
14
14
  import "./chunk-MLKGABMK.js";
15
15
  export {
16
16
  ONTOLOGY_YIELD_EVERY,