@askexenow/exe-os 0.9.289 → 0.9.290

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 (244) hide show
  1. package/dist/active-agent-L22OENGJ.js +26 -0
  2. package/dist/active-agent-SVG6F6HY.js +27 -0
  3. package/dist/agentic-ontology-3GHJHLDY.js +25 -0
  4. package/dist/backfill-metadata-HJNVBORD.js +599 -0
  5. package/dist/behaviors-ROOZS234.js +39 -0
  6. package/dist/bin/agentic-ontology-backfill.js +5 -5
  7. package/dist/bin/agentic-reflection-backfill.js +6 -6
  8. package/dist/bin/agentic-semantic-label.js +5 -5
  9. package/dist/bin/backfill-conversations.js +4 -4
  10. package/dist/bin/backfill-responses.js +4 -4
  11. package/dist/bin/backfill-vectors.js +98 -13
  12. package/dist/bin/bulk-sync-postgres.js +6 -6
  13. package/dist/bin/cc-doctor.js +4 -4
  14. package/dist/bin/cleanup-stale-review-tasks.js +9 -9
  15. package/dist/bin/cli.js +51 -15
  16. package/dist/bin/exe-agent-config.js +2 -2
  17. package/dist/bin/exe-agent.js +4 -4
  18. package/dist/bin/exe-assign.js +5 -5
  19. package/dist/bin/exe-boot.js +16 -16
  20. package/dist/bin/exe-call.js +4 -4
  21. package/dist/bin/exe-cloud.js +23 -5
  22. package/dist/bin/exe-dispatch.js +9 -9
  23. package/dist/bin/exe-doctor.js +1 -1
  24. package/dist/bin/exe-export-behaviors.js +7 -7
  25. package/dist/bin/exe-forget.js +6 -6
  26. package/dist/bin/exe-gateway.js +7 -7
  27. package/dist/bin/exe-healthcheck.js +4 -4
  28. package/dist/bin/exe-heartbeat.js +9 -9
  29. package/dist/bin/exe-kill.js +12 -12
  30. package/dist/bin/exe-launch-agent.js +16 -16
  31. package/dist/bin/exe-new-employee.js +6 -6
  32. package/dist/bin/exe-pending-messages.js +10 -10
  33. package/dist/bin/exe-pending-notifications.js +9 -9
  34. package/dist/bin/exe-pending-reviews.js +9 -9
  35. package/dist/bin/exe-rename.js +4 -4
  36. package/dist/bin/exe-review.js +11 -11
  37. package/dist/bin/exe-search.js +5 -5
  38. package/dist/bin/exe-session-cleanup.js +14 -14
  39. package/dist/bin/exe-settings.js +4 -4
  40. package/dist/bin/exe-start-codex.js +11 -11
  41. package/dist/bin/exe-start-opencode.js +8 -8
  42. package/dist/bin/exe-status.js +10 -10
  43. package/dist/bin/exe-team.js +3 -3
  44. package/dist/bin/git-sweep.js +10 -10
  45. package/dist/bin/graph-backfill.js +4 -4
  46. package/dist/bin/graph-export.js +5 -5
  47. package/dist/bin/import-history.js +7 -7
  48. package/dist/bin/install.js +6 -6
  49. package/dist/bin/intercom-check.js +4 -4
  50. package/dist/bin/mcp-sessions.js +2 -2
  51. package/dist/bin/orchestration-metrics.js +4 -4
  52. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  53. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  54. package/dist/bin/scan-tasks.js +9 -9
  55. package/dist/bin/setup.js +1 -1
  56. package/dist/bin/shard-migrate.js +4 -4
  57. package/dist/capability-cards-O6XB2AU4.js +88 -0
  58. package/dist/capacity-monitor-ZE7CFVWH.js +50 -0
  59. package/dist/catchup-brief-3NONSIMA.js +174 -0
  60. package/dist/chunk-232DHK5C.js +1119 -0
  61. package/dist/chunk-272SJ4RN.js +129 -0
  62. package/dist/chunk-4NMTGHUE.js +127 -0
  63. package/dist/chunk-5PLW3QL6.js +668 -0
  64. package/dist/chunk-66EIYAF2.js +157 -0
  65. package/dist/chunk-6IPJF5QD.js +630 -0
  66. package/dist/chunk-6NSJTOXE.js +122 -0
  67. package/dist/chunk-6TLURATK.js +4318 -0
  68. package/dist/chunk-73JAJQRY.js +85 -0
  69. package/dist/chunk-7FTKXL5A.js +286 -0
  70. package/dist/chunk-7IRQSO3F.js +735 -0
  71. package/dist/chunk-7MINWZ3J.js +214 -0
  72. package/dist/chunk-7T5PS5DG.js +14439 -0
  73. package/dist/chunk-A74WXY4S.js +227 -0
  74. package/dist/chunk-AVD5C3NG.js +197 -0
  75. package/dist/chunk-B36MRLEP.js +58 -0
  76. package/dist/chunk-B4TCZ3PS.js +373 -0
  77. package/dist/chunk-BPLEJ3EU.js +411 -0
  78. package/dist/chunk-BTDPLFGK.js +221 -0
  79. package/dist/chunk-BU45UYTK.js +185 -0
  80. package/dist/chunk-CCAA6XOZ.js +284 -0
  81. package/dist/chunk-DBQ6I6K2.js +3276 -0
  82. package/dist/chunk-DDWFHEPG.js +345 -0
  83. package/dist/chunk-DSOKTUTT.js +167 -0
  84. package/dist/chunk-ETCARC76.js +836 -0
  85. package/dist/chunk-EZHTLPOS.js +280 -0
  86. package/dist/chunk-F3DQ3HDH.js +333 -0
  87. package/dist/chunk-F6ZCUDCN.js +244 -0
  88. package/dist/chunk-FI5Q6F5S.js +382 -0
  89. package/dist/chunk-FNQZGNSG.js +1094 -0
  90. package/dist/chunk-FVKTXXKK.js +128 -0
  91. package/dist/chunk-HHR5NB6N.js +377 -0
  92. package/dist/chunk-HRZLGHT6.js +290 -0
  93. package/dist/chunk-HSSRWMVA.js +68 -0
  94. package/dist/chunk-I3NVB5MG.js +85 -0
  95. package/dist/chunk-I7Z6MK2B.js +240 -0
  96. package/dist/chunk-ID4SMRYX.js +2078 -0
  97. package/dist/chunk-JXGHDROV.js +546 -0
  98. package/dist/chunk-KQY4QIEN.js +731 -0
  99. package/dist/chunk-LRSU2ZU2.js +38 -0
  100. package/dist/chunk-MFCL4GAN.js +2113 -0
  101. package/dist/chunk-MFGMVKGM.js +150 -0
  102. package/dist/chunk-NHGBVLCD.js +210 -0
  103. package/dist/chunk-NOEBJMNN.js +33 -0
  104. package/dist/chunk-NQ2VNTGL.js +538 -0
  105. package/dist/chunk-O4PZPM6H.js +204 -0
  106. package/dist/chunk-O5OW3YGQ.js +262 -0
  107. package/dist/chunk-OJQTONDJ.js +171 -0
  108. package/dist/chunk-OKZGUHE5.js +76 -0
  109. package/dist/chunk-OOH5M36Q.js +448 -0
  110. package/dist/chunk-P5ARTZP2.js +128 -0
  111. package/dist/chunk-PKRSYS7F.js +402 -0
  112. package/dist/chunk-PQWO5D3F.js +348 -0
  113. package/dist/chunk-Q6MJIJ2O.js +1352 -0
  114. package/dist/chunk-QKDRYZ2N.js +231 -0
  115. package/dist/chunk-RAV356E6.js +30 -0
  116. package/dist/chunk-RK7EAA53.js +1157 -0
  117. package/dist/chunk-RSLVAYWS.js +192 -0
  118. package/dist/chunk-SL6WJP2Q.js +123 -0
  119. package/dist/chunk-T57DOVGE.js +97 -0
  120. package/dist/chunk-TMCKL43Q.js +181 -0
  121. package/dist/chunk-TQZABASE.js +97 -0
  122. package/dist/chunk-UBWBEY6I.js +81 -0
  123. package/dist/chunk-UP7DNYG7.js +456 -0
  124. package/dist/chunk-V5MGYIZS.js +70 -0
  125. package/dist/chunk-XCPVYQVK.js +336 -0
  126. package/dist/chunk-XWVBLZRP.js +50 -0
  127. package/dist/chunk-YBTN5F2U.js +1068 -0
  128. package/dist/chunk-Z772TGD2.js +54 -0
  129. package/dist/chunk-ZAMPIXLH.js +1350 -0
  130. package/dist/chunk-ZYEOHGU5.js +362 -0
  131. package/dist/co-activation-WJTFJOTK.js +73 -0
  132. package/dist/co-occurrence-KFP6ZS7G.js +94 -0
  133. package/dist/core-memory-DBZJ72TV.js +110 -0
  134. package/dist/crdt-sync-6DVGRMTV.js +33 -0
  135. package/dist/crm-webhook-55T4Z6XJ.js +10 -0
  136. package/dist/cto-delegation-gate-SPM6LAL2.js +279 -0
  137. package/dist/daemon-orchestration-XZLWWIV4.js +138 -0
  138. package/dist/db-backup-JHCI47JQ.js +37 -0
  139. package/dist/doc-graph-extractor-4X23NP4I.js +132 -0
  140. package/dist/dreaming-TFZDGA72.js +33 -0
  141. package/dist/exe-drift-TEM7ELNY.js +69 -0
  142. package/dist/exe-export-CRCA4T4S.js +75 -0
  143. package/dist/exe-import-UZMMWNHJ.js +78 -0
  144. package/dist/exe-key-NQQXEDUA.js +672 -0
  145. package/dist/exe-snapshot-P7PUAJTV.js +337 -0
  146. package/dist/fast-db-init-G63PRINQ.js +7 -0
  147. package/dist/gateway/index.js +8 -8
  148. package/dist/git-staleness-42TTCFDP.js +111 -0
  149. package/dist/git-task-sweep-4LW5RYYO.js +41 -0
  150. package/dist/global-procedures-BVFRWJAV.js +21 -0
  151. package/dist/graph-auto-extract-4ZA7UC6C.js +182 -0
  152. package/dist/hooks/bug-report-worker.js +11 -11
  153. package/dist/hooks/codex-stop-task-finalizer.js +11 -11
  154. package/dist/hooks/commit-complete.js +11 -11
  155. package/dist/hooks/error-recall.js +6 -6
  156. package/dist/hooks/exe-heartbeat-hook.js +3 -3
  157. package/dist/hooks/ingest.js +6 -6
  158. package/dist/hooks/instructions-loaded.js +4 -4
  159. package/dist/hooks/manifest.json +19 -19
  160. package/dist/hooks/notification.js +4 -4
  161. package/dist/hooks/post-compact.js +10 -10
  162. package/dist/hooks/post-tool-combined.js +5 -5
  163. package/dist/hooks/pre-compact.js +11 -11
  164. package/dist/hooks/pre-tool-use.js +14 -14
  165. package/dist/hooks/prompt-submit.js +21 -21
  166. package/dist/hooks/session-end.js +15 -15
  167. package/dist/hooks/session-start.js +12 -12
  168. package/dist/hooks/stop.js +14 -14
  169. package/dist/hooks/subagent-stop.js +10 -10
  170. package/dist/hooks/summary-worker.js +14 -14
  171. package/dist/index.js +17 -17
  172. package/dist/installer-CBGRTGIF.js +297 -0
  173. package/dist/installer-DGU4WZKJ.js +39 -0
  174. package/dist/installer-WTWEOSEK.js +343 -0
  175. package/dist/lib/cloud-sync.js +4 -4
  176. package/dist/lib/consolidation.js +7 -5
  177. package/dist/lib/database.js +2 -2
  178. package/dist/lib/db.js +2 -2
  179. package/dist/lib/employee-templates.js +4 -4
  180. package/dist/lib/employees.js +2 -2
  181. package/dist/lib/exe-daemon.js +64 -43
  182. package/dist/lib/hybrid-search.js +5 -5
  183. package/dist/lib/identity.js +2 -2
  184. package/dist/lib/messaging.js +9 -9
  185. package/dist/lib/reminders.js +3 -3
  186. package/dist/lib/schedules.js +5 -5
  187. package/dist/lib/session-registry.js +4 -4
  188. package/dist/lib/skill-learning.js +6 -6
  189. package/dist/lib/store.js +4 -4
  190. package/dist/lib/task-router.js +3 -3
  191. package/dist/lib/tasks.js +10 -10
  192. package/dist/lib/tmux-routing.js +8 -8
  193. package/dist/lib/token-spend.js +3 -3
  194. package/dist/license-gate-OSPA2OD7.js +16 -0
  195. package/dist/mcp/register-tools.js +55 -55
  196. package/dist/mcp/server.js +117 -73
  197. package/dist/mcp/tools/complete-reminder.js +4 -4
  198. package/dist/mcp/tools/create-reminder.js +4 -4
  199. package/dist/mcp/tools/create-task.js +12 -12
  200. package/dist/mcp/tools/deactivate-behavior.js +7 -7
  201. package/dist/mcp/tools/list-reminders.js +4 -4
  202. package/dist/mcp/tools/list-tasks.js +12 -12
  203. package/dist/mcp/tools/send-message.js +11 -11
  204. package/dist/mcp/tools/update-task.js +11 -11
  205. package/dist/mcp-http-config-OGFPLJYH.js +28 -0
  206. package/dist/memory-cards-GJ3VHKAM.js +179 -0
  207. package/dist/memory-graph-extractor-TCTCM7PZ.js +21 -0
  208. package/dist/memory-poisoning-defense-FVLGA35X.js +223 -0
  209. package/dist/memory-reflection-BYJFIFSV.js +243 -0
  210. package/dist/notifications-AQKZFSR3.js +46 -0
  211. package/dist/orchestration-events-RDSYLFXZ.js +26 -0
  212. package/dist/orchestrator-2JTJQLPG.js +34 -0
  213. package/dist/pipeline-router-HBSTKHG5.js +14 -0
  214. package/dist/plan-limits-GQENSNTG.js +27 -0
  215. package/dist/project-boot-W2LTP7WW.js +299 -0
  216. package/dist/projection-worker-ZMT5KNJJ.js +1084 -0
  217. package/dist/prospective-memory-LANRNOJX.js +231 -0
  218. package/dist/reranker-QGJO6EHO.js +19 -0
  219. package/dist/retrieval-health-JE66LJ3I.js +11 -0
  220. package/dist/review-polling-IXJ57M6Q.js +125 -0
  221. package/dist/runtime/index.js +11 -11
  222. package/dist/session-events-XKG66APL.js +37 -0
  223. package/dist/session-kill-telemetry-VTU7YBII.js +30 -0
  224. package/dist/session-scope-TQZONLZL.js +87 -0
  225. package/dist/setup-wizard-PXK6SC2D.js +12 -0
  226. package/dist/skill-refinement-Y6LLKYRL.js +158 -0
  227. package/dist/steward-gate-QV2APBFB.js +14 -0
  228. package/dist/task-enforcement-GLDD2W5D.js +505 -0
  229. package/dist/task-scope-HMPIP6XB.js +36 -0
  230. package/dist/tasks-crud-FH2SFCNQ.js +78 -0
  231. package/dist/tasks-notify-3ZW2GLCS.js +39 -0
  232. package/dist/tasks-review-XERV6KZD.js +48 -0
  233. package/dist/telemetry-upload-R77W7I7G.js +740 -0
  234. package/dist/token-budget-NA4WQAY6.js +85 -0
  235. package/dist/tool-telemetry-D4Q76LAS.js +17 -0
  236. package/dist/tui/App.js +16 -16
  237. package/dist/tui-data-NJSEIA2Q.js +259 -0
  238. package/dist/wiki-acl-RE5IR5VV.js +111 -0
  239. package/dist/worker-gate-VN2POPFL.js +21 -0
  240. package/dist/workflow-engine-D7ALMSDM.js +28 -0
  241. package/dist/worktree-6I45JV5N.js +27 -0
  242. package/dist/worktree-sweep-IMDR3XHT.js +20 -0
  243. package/package.json +1 -1
  244. package/release-notes.json +88 -88
@@ -0,0 +1,39 @@
1
+ import {
2
+ deactivateBehavior,
3
+ formatReflexContent,
4
+ isReflexBehavior,
5
+ listBehaviors,
6
+ listBehaviorsByDomain,
7
+ listBehaviorsSince,
8
+ listSharedSkills,
9
+ reactivateBehavior,
10
+ storeBehavior,
11
+ storeReflexBehavior
12
+ } from "./chunk-7FTKXL5A.js";
13
+ import "./chunk-ETCARC76.js";
14
+ import "./chunk-CHCA3ZM2.js";
15
+ import "./chunk-OTVEIJUQ.js";
16
+ import "./chunk-NHGBVLCD.js";
17
+ import "./chunk-Y25OJWOQ.js";
18
+ import "./chunk-MP2AFCGL.js";
19
+ import "./chunk-DBQ6I6K2.js";
20
+ import "./chunk-2I23RPSI.js";
21
+ import "./chunk-XCPVYQVK.js";
22
+ import "./chunk-PNQDP3OA.js";
23
+ import "./chunk-FXU7JOXK.js";
24
+ import "./chunk-Z42MXYWW.js";
25
+ import "./chunk-5P3HOBZX.js";
26
+ import "./chunk-LYH5HE24.js";
27
+ import "./chunk-MLKGABMK.js";
28
+ export {
29
+ deactivateBehavior,
30
+ formatReflexContent,
31
+ isReflexBehavior,
32
+ listBehaviors,
33
+ listBehaviorsByDomain,
34
+ listBehaviorsSince,
35
+ listSharedSkills,
36
+ reactivateBehavior,
37
+ storeBehavior,
38
+ storeReflexBehavior
39
+ };
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  insertOntologyForBatch
4
- } from "../chunk-G6GC2YSP.js";
4
+ } from "../chunk-O5OW3YGQ.js";
5
5
  import {
6
6
  politeBatchPause,
7
7
  startManagedJob
@@ -9,17 +9,17 @@ import {
9
9
  import {
10
10
  disposeStore,
11
11
  initStore
12
- } from "../chunk-U5RKF7MQ.js";
12
+ } from "../chunk-ETCARC76.js";
13
13
  import "../chunk-CHCA3ZM2.js";
14
14
  import "../chunk-OTVEIJUQ.js";
15
- import "../chunk-BTP3LPMP.js";
15
+ import "../chunk-NHGBVLCD.js";
16
16
  import "../chunk-Y25OJWOQ.js";
17
17
  import "../chunk-MP2AFCGL.js";
18
18
  import {
19
19
  getClient
20
- } from "../chunk-3X2ZT5FN.js";
20
+ } from "../chunk-DBQ6I6K2.js";
21
21
  import "../chunk-2I23RPSI.js";
22
- import "../chunk-SCQEAMO3.js";
22
+ import "../chunk-XCPVYQVK.js";
23
23
  import "../chunk-PNQDP3OA.js";
24
24
  import "../chunk-FXU7JOXK.js";
25
25
  import "../chunk-Z42MXYWW.js";
@@ -1,22 +1,22 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  generateReflectionCheckpoints
4
- } from "../chunk-FE6HKM2N.js";
5
- import "../chunk-G6GC2YSP.js";
4
+ } from "../chunk-66EIYAF2.js";
5
+ import "../chunk-O5OW3YGQ.js";
6
6
  import {
7
7
  startManagedJob
8
8
  } from "../chunk-3Q4UEXDE.js";
9
9
  import {
10
10
  initStore
11
- } from "../chunk-U5RKF7MQ.js";
11
+ } from "../chunk-ETCARC76.js";
12
12
  import "../chunk-CHCA3ZM2.js";
13
13
  import "../chunk-OTVEIJUQ.js";
14
- import "../chunk-BTP3LPMP.js";
14
+ import "../chunk-NHGBVLCD.js";
15
15
  import "../chunk-Y25OJWOQ.js";
16
16
  import "../chunk-MP2AFCGL.js";
17
- import "../chunk-3X2ZT5FN.js";
17
+ import "../chunk-DBQ6I6K2.js";
18
18
  import "../chunk-2I23RPSI.js";
19
- import "../chunk-SCQEAMO3.js";
19
+ import "../chunk-XCPVYQVK.js";
20
20
  import "../chunk-PNQDP3OA.js";
21
21
  import "../chunk-FXU7JOXK.js";
22
22
  import "../chunk-Z42MXYWW.js";
@@ -3,24 +3,24 @@ import {
3
3
  clean,
4
4
  inferSemanticLabel,
5
5
  stableId
6
- } from "../chunk-G6GC2YSP.js";
6
+ } from "../chunk-O5OW3YGQ.js";
7
7
  import {
8
8
  politeBatchPause,
9
9
  startManagedJob
10
10
  } from "../chunk-3Q4UEXDE.js";
11
11
  import {
12
12
  initStore
13
- } from "../chunk-U5RKF7MQ.js";
13
+ } from "../chunk-ETCARC76.js";
14
14
  import "../chunk-CHCA3ZM2.js";
15
15
  import "../chunk-OTVEIJUQ.js";
16
- import "../chunk-BTP3LPMP.js";
16
+ import "../chunk-NHGBVLCD.js";
17
17
  import "../chunk-Y25OJWOQ.js";
18
18
  import "../chunk-MP2AFCGL.js";
19
19
  import {
20
20
  getClient
21
- } from "../chunk-3X2ZT5FN.js";
21
+ } from "../chunk-DBQ6I6K2.js";
22
22
  import "../chunk-2I23RPSI.js";
23
- import "../chunk-SCQEAMO3.js";
23
+ import "../chunk-XCPVYQVK.js";
24
24
  import "../chunk-PNQDP3OA.js";
25
25
  import "../chunk-FXU7JOXK.js";
26
26
  import "../chunk-Z42MXYWW.js";
@@ -8,10 +8,10 @@ import {
8
8
  flushBatch,
9
9
  initStore,
10
10
  writeMemory
11
- } from "../chunk-U5RKF7MQ.js";
11
+ } from "../chunk-ETCARC76.js";
12
12
  import "../chunk-CHCA3ZM2.js";
13
13
  import "../chunk-OTVEIJUQ.js";
14
- import "../chunk-BTP3LPMP.js";
14
+ import "../chunk-NHGBVLCD.js";
15
15
  import "../chunk-Y25OJWOQ.js";
16
16
  import "../chunk-MP2AFCGL.js";
17
17
  import "../chunk-3XX3CDKF.js";
@@ -19,9 +19,9 @@ import "../chunk-7L2EV3XX.js";
19
19
  import {
20
20
  getClient,
21
21
  isCoordinatorName
22
- } from "../chunk-3X2ZT5FN.js";
22
+ } from "../chunk-DBQ6I6K2.js";
23
23
  import "../chunk-2I23RPSI.js";
24
- import "../chunk-SCQEAMO3.js";
24
+ import "../chunk-XCPVYQVK.js";
25
25
  import "../chunk-PNQDP3OA.js";
26
26
  import "../chunk-FXU7JOXK.js";
27
27
  import "../chunk-Z42MXYWW.js";
@@ -8,10 +8,10 @@ import {
8
8
  flushBatch,
9
9
  initStore,
10
10
  writeMemory
11
- } from "../chunk-U5RKF7MQ.js";
11
+ } from "../chunk-ETCARC76.js";
12
12
  import "../chunk-CHCA3ZM2.js";
13
13
  import "../chunk-OTVEIJUQ.js";
14
- import "../chunk-BTP3LPMP.js";
14
+ import "../chunk-NHGBVLCD.js";
15
15
  import "../chunk-Y25OJWOQ.js";
16
16
  import "../chunk-MP2AFCGL.js";
17
17
  import "../chunk-3XX3CDKF.js";
@@ -19,9 +19,9 @@ import "../chunk-7L2EV3XX.js";
19
19
  import {
20
20
  getClient,
21
21
  isCoordinatorName
22
- } from "../chunk-3X2ZT5FN.js";
22
+ } from "../chunk-DBQ6I6K2.js";
23
23
  import "../chunk-2I23RPSI.js";
24
- import "../chunk-SCQEAMO3.js";
24
+ import "../chunk-XCPVYQVK.js";
25
25
  import "../chunk-PNQDP3OA.js";
26
26
  import "../chunk-FXU7JOXK.js";
27
27
  import "../chunk-Z42MXYWW.js";
@@ -11,7 +11,7 @@ import {
11
11
  registerWorkerPid,
12
12
  releaseBackfillLock,
13
13
  tryAcquireBackfillLock
14
- } from "../chunk-TMV5LCTC.js";
14
+ } from "../chunk-DSOKTUTT.js";
15
15
  import {
16
16
  connectEmbedDaemon,
17
17
  embedViaClient
@@ -20,19 +20,19 @@ import "../chunk-32K5NWMR.js";
20
20
  import {
21
21
  initStore,
22
22
  vectorToBlob
23
- } from "../chunk-U5RKF7MQ.js";
23
+ } from "../chunk-ETCARC76.js";
24
24
  import "../chunk-CHCA3ZM2.js";
25
25
  import "../chunk-OTVEIJUQ.js";
26
- import "../chunk-BTP3LPMP.js";
26
+ import "../chunk-NHGBVLCD.js";
27
27
  import "../chunk-Y25OJWOQ.js";
28
28
  import "../chunk-MP2AFCGL.js";
29
29
  import "../chunk-3XX3CDKF.js";
30
30
  import "../chunk-7L2EV3XX.js";
31
31
  import {
32
32
  getClient
33
- } from "../chunk-3X2ZT5FN.js";
33
+ } from "../chunk-DBQ6I6K2.js";
34
34
  import "../chunk-2I23RPSI.js";
35
- import "../chunk-SCQEAMO3.js";
35
+ import "../chunk-XCPVYQVK.js";
36
36
  import "../chunk-PNQDP3OA.js";
37
37
  import "../chunk-FXU7JOXK.js";
38
38
  import "../chunk-Z42MXYWW.js";
@@ -40,17 +40,63 @@ import {
40
40
  EXE_AI_DIR,
41
41
  loadConfig
42
42
  } from "../chunk-5P3HOBZX.js";
43
- import "../chunk-LYH5HE24.js";
43
+ import {
44
+ atomicWriteJsonSync
45
+ } from "../chunk-LYH5HE24.js";
44
46
  import {
45
47
  isMainModule
46
48
  } from "../chunk-6Y4B3QF6.js";
47
49
  import "../chunk-MLKGABMK.js";
48
50
 
49
51
  // src/bin/backfill-vectors.ts
50
- import { existsSync, unlinkSync } from "fs";
52
+ import { existsSync, mkdirSync, readFileSync, unlinkSync } from "fs";
51
53
  import path from "path";
52
54
  var BATCH_SIZE = 100;
53
55
  var BACKFILL_FLAG = path.join(EXE_AI_DIR, "session-cache", "needs-backfill");
56
+ var DEAD_LETTER_FILE = path.join(EXE_AI_DIR, "session-cache", "vector-backfill-deadletter.json");
57
+ var MAX_DEAD_LETTER_ATTEMPTS = Math.max(
58
+ 1,
59
+ parseInt(process.env.EXE_BACKFILL_MAX_ATTEMPTS ?? "", 10) || 3
60
+ );
61
+ var MAX_FAILURES_PER_RUN = Math.max(
62
+ 1,
63
+ parseInt(process.env.EXE_BACKFILL_MAX_FAILURES ?? "", 10) || 5e3
64
+ );
65
+ function deadLetterMaxAttempts() {
66
+ return MAX_DEAD_LETTER_ATTEMPTS;
67
+ }
68
+ function maxFailuresPerRun() {
69
+ return MAX_FAILURES_PER_RUN;
70
+ }
71
+ function loadDeadLetter() {
72
+ try {
73
+ if (!existsSync(DEAD_LETTER_FILE)) return {};
74
+ const parsed = JSON.parse(readFileSync(DEAD_LETTER_FILE, "utf8"));
75
+ return parsed && typeof parsed === "object" ? parsed : {};
76
+ } catch {
77
+ return {};
78
+ }
79
+ }
80
+ function saveDeadLetter(map) {
81
+ try {
82
+ mkdirSync(path.dirname(DEAD_LETTER_FILE), { recursive: true });
83
+ atomicWriteJsonSync(DEAD_LETTER_FILE, map);
84
+ } catch {
85
+ }
86
+ }
87
+ function recordDeadLetter(map, id, err) {
88
+ const prev = map[id]?.attempts ?? 0;
89
+ const attempts = prev + 1;
90
+ map[id] = {
91
+ attempts,
92
+ lastError: (err instanceof Error ? err.message : String(err)).slice(0, 200),
93
+ updatedAt: (/* @__PURE__ */ new Date()).toISOString()
94
+ };
95
+ return attempts >= MAX_DEAD_LETTER_ATTEMPTS;
96
+ }
97
+ function exhaustedIds(map) {
98
+ return Object.entries(map).filter(([, v]) => (v?.attempts ?? 0) >= MAX_DEAD_LETTER_ATTEMPTS).map(([id]) => id);
99
+ }
54
100
  function isNonRetryableEmbedError(err) {
55
101
  const msg = err instanceof Error ? err.message : String(err);
56
102
  return msg.toLowerCase().includes("input is longer than the context size");
@@ -97,8 +143,19 @@ async function backfillVectors() {
97
143
  }
98
144
  let totalProcessed = 0;
99
145
  let totalFailed = 0;
100
- const failedIds = /* @__PURE__ */ new Set();
146
+ const deadLetter = loadDeadLetter();
147
+ const failedIds = new Set(exhaustedIds(deadLetter));
148
+ let deadLetterDirty = false;
149
+ let capReached = false;
101
150
  while (true) {
151
+ if (totalFailed >= MAX_FAILURES_PER_RUN) {
152
+ capReached = true;
153
+ process.stderr.write(
154
+ `[backfill] Per-run failure cap reached (${totalFailed} >= ${MAX_FAILURES_PER_RUN}) \u2014 stopping this run. Embedding likely unavailable; retrieval degrades to FTS/graph.
155
+ `
156
+ );
157
+ break;
158
+ }
102
159
  const failedList = [...failedIds];
103
160
  const failedClause = failedList.length > 0 ? ` AND id NOT IN (${failedList.map(() => "?").join(",")})` : "";
104
161
  const batch = await client.execute({
@@ -120,6 +177,8 @@ async function backfillVectors() {
120
177
  totalFailed++;
121
178
  batchFailed++;
122
179
  failedIds.add(id);
180
+ recordDeadLetter(deadLetter, id, "daemon returned null");
181
+ deadLetterDirty = true;
123
182
  process.stderr.write(`[backfill] Failed to embed memory ${id} \u2014 daemon returned null
124
183
  `);
125
184
  continue;
@@ -141,9 +200,17 @@ async function backfillVectors() {
141
200
  totalFailed++;
142
201
  batchFailed++;
143
202
  failedIds.add(id);
203
+ deadLetterDirty = true;
144
204
  if (isNonRetryableEmbedError(err)) {
145
- process.stderr.write(`[backfill] Non-retryable embedding error for ${id}; skipping for this run
205
+ deadLetter[id] = {
206
+ attempts: MAX_DEAD_LETTER_ATTEMPTS,
207
+ lastError: (err instanceof Error ? err.message : String(err)).slice(0, 200),
208
+ updatedAt: (/* @__PURE__ */ new Date()).toISOString()
209
+ };
210
+ process.stderr.write(`[backfill] Non-retryable embedding error for ${id}; dead-lettering permanently
146
211
  `);
212
+ } else {
213
+ recordDeadLetter(deadLetter, id, err);
147
214
  }
148
215
  process.stderr.write(`[backfill] Error embedding ${id}: ${err instanceof Error ? err.message : String(err)}
149
216
  `);
@@ -152,25 +219,39 @@ async function backfillVectors() {
152
219
  process.stderr.write(`[backfill] Batch done. Processed: ${totalProcessed}, Failed: ${totalFailed}
153
220
  `);
154
221
  job.update({ current: totalProcessed, label: `Processed ${totalProcessed}, failed ${totalFailed}` });
222
+ if (deadLetterDirty) {
223
+ saveDeadLetter(deadLetter);
224
+ deadLetterDirty = false;
225
+ }
155
226
  if (batchProcessed === 0 && batchFailed === batch.rows.length) {
156
227
  process.stderr.write("[backfill] Entire batch failed \u2014 stopping to avoid reprocessing poison rows\n");
157
228
  break;
158
229
  }
159
230
  await politeBatchPause(500);
160
231
  }
232
+ if (deadLetterDirty) saveDeadLetter(deadLetter);
161
233
  const remaining = await client.execute({
162
234
  sql: "SELECT COUNT(*) as cnt FROM memories WHERE vector IS NULL",
163
235
  args: []
164
236
  });
165
237
  const remainingCount = Number(remaining.rows[0]?.cnt) || 0;
166
- if (remainingCount === 0) {
238
+ const exhausted = new Set(exhaustedIds(deadLetter));
239
+ const actionableRemaining = exhausted.size === 0 ? remainingCount : Number(
240
+ (await client.execute({
241
+ sql: `SELECT COUNT(*) as cnt FROM memories WHERE vector IS NULL AND id NOT IN (${[...exhausted].map(() => "?").join(",")})`,
242
+ args: [...exhausted]
243
+ })).rows[0]?.cnt
244
+ ) || 0;
245
+ if (actionableRemaining === 0 && !capReached) {
167
246
  try {
168
247
  unlinkSync(BACKFILL_FLAG);
169
248
  } catch {
170
249
  }
171
250
  }
172
- process.stderr.write(`[backfill] Complete. Processed: ${totalProcessed}, Failed: ${totalFailed}, Remaining: ${remainingCount}
173
- `);
251
+ process.stderr.write(
252
+ `[backfill] Complete. Processed: ${totalProcessed}, Failed: ${totalFailed}, Remaining: ${remainingCount} (actionable: ${actionableRemaining}, dead-lettered: ${exhausted.size})
253
+ `
254
+ );
174
255
  if (totalFailed > 0) job.fail(new Error(`${totalFailed} embeddings failed`));
175
256
  else job.complete();
176
257
  return { processed: totalProcessed, failed: totalFailed, remaining: remainingCount };
@@ -189,5 +270,9 @@ if (isMainModule(import.meta.url)) {
189
270
  }
190
271
  export {
191
272
  backfillVectors,
192
- isBackfillNeeded
273
+ deadLetterMaxAttempts,
274
+ exhaustedIds,
275
+ isBackfillNeeded,
276
+ maxFailuresPerRun,
277
+ recordDeadLetter
193
278
  };
@@ -1,23 +1,23 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  pushToPostgres
4
- } from "../chunk-3RZNDPPW.js";
5
- import "../chunk-J6PDP2GY.js";
4
+ } from "../chunk-MFCL4GAN.js";
5
+ import "../chunk-BTDPLFGK.js";
6
6
  import "../chunk-LO6L5ADL.js";
7
7
  import {
8
8
  disposeStore,
9
9
  initStore
10
- } from "../chunk-U5RKF7MQ.js";
10
+ } from "../chunk-ETCARC76.js";
11
11
  import "../chunk-CHCA3ZM2.js";
12
12
  import "../chunk-OTVEIJUQ.js";
13
- import "../chunk-BTP3LPMP.js";
13
+ import "../chunk-NHGBVLCD.js";
14
14
  import "../chunk-Y25OJWOQ.js";
15
15
  import "../chunk-MP2AFCGL.js";
16
16
  import {
17
17
  getClient
18
- } from "../chunk-3X2ZT5FN.js";
18
+ } from "../chunk-DBQ6I6K2.js";
19
19
  import "../chunk-2I23RPSI.js";
20
- import "../chunk-SCQEAMO3.js";
20
+ import "../chunk-XCPVYQVK.js";
21
21
  import "../chunk-PNQDP3OA.js";
22
22
  import "../chunk-FXU7JOXK.js";
23
23
  import "../chunk-Z42MXYWW.js";
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  checkClaudeCodeInstall
4
- } from "../chunk-MFTGN7KN.js";
4
+ } from "../chunk-BPLEJ3EU.js";
5
5
  import "../chunk-SSC7EKY2.js";
6
6
  import "../chunk-5J2L25OK.js";
7
- import "../chunk-KFHAVF6J.js";
8
- import "../chunk-3X2ZT5FN.js";
7
+ import "../chunk-TQZABASE.js";
8
+ import "../chunk-DBQ6I6K2.js";
9
9
  import "../chunk-2I23RPSI.js";
10
- import "../chunk-SCQEAMO3.js";
10
+ import "../chunk-XCPVYQVK.js";
11
11
  import "../chunk-PNQDP3OA.js";
12
12
  import "../chunk-FXU7JOXK.js";
13
13
  import "../chunk-5P3HOBZX.js";
@@ -1,32 +1,32 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  fastDbInit
4
- } from "../chunk-6WEETM7D.js";
4
+ } from "../chunk-UBWBEY6I.js";
5
5
  import {
6
6
  sessionScopeFilter
7
- } from "../chunk-F23GFLKY.js";
8
- import "../chunk-FTG36JG5.js";
7
+ } from "../chunk-6TLURATK.js";
8
+ import "../chunk-EZHTLPOS.js";
9
9
  import "../chunk-4JERP7NT.js";
10
10
  import "../chunk-4FVVJ7ME.js";
11
- import "../chunk-73ORCJNJ.js";
11
+ import "../chunk-QKDRYZ2N.js";
12
12
  import "../chunk-MVW62NIZ.js";
13
13
  import "../chunk-OYNKIAVW.js";
14
14
  import "../chunk-SSTLTIF3.js";
15
- import "../chunk-CMDKYYFK.js";
15
+ import "../chunk-6IPJF5QD.js";
16
16
  import "../chunk-RJY45A5J.js";
17
17
  import "../chunk-NGP6LSV2.js";
18
- import "../chunk-75GH76GO.js";
18
+ import "../chunk-272SJ4RN.js";
19
19
  import "../chunk-CVYC6DUW.js";
20
20
  import "../chunk-OPU3NYOO.js";
21
21
  import "../chunk-GJV3WDWM.js";
22
22
  import "../chunk-MP2AFCGL.js";
23
- import "../chunk-QODXLGH2.js";
23
+ import "../chunk-V5MGYIZS.js";
24
24
  import "../chunk-HYZV25LY.js";
25
25
  import {
26
26
  getClient
27
- } from "../chunk-3X2ZT5FN.js";
27
+ } from "../chunk-DBQ6I6K2.js";
28
28
  import "../chunk-2I23RPSI.js";
29
- import "../chunk-SCQEAMO3.js";
29
+ import "../chunk-XCPVYQVK.js";
30
30
  import "../chunk-PNQDP3OA.js";
31
31
  import "../chunk-FXU7JOXK.js";
32
32
  import "../chunk-SYOGNG2R.js";
package/dist/bin/cli.js CHANGED
@@ -40,6 +40,24 @@ if (args.includes("--version") || args.includes("-v")) {
40
40
  }
41
41
  process.exit(0);
42
42
  }
43
+ if (args[0] === "settings" && (args.includes("--help") || args.includes("-h") || args.includes("help"))) {
44
+ console.log(`
45
+ exe-os settings \u2014 Configure the memory system interactively
46
+
47
+ Usage: exe-os settings
48
+
49
+ Opens an interactive menu to toggle:
50
+ 1 Auto-ingestion Write memories on every tool call
51
+ 2 Auto-retrieval Inject memories into context automatically
52
+ 3 MCP search mode hybrid (FTS + vector) or fts (keywords only)
53
+ 4 Hook search mode fts (fast) or hybrid (loads embedding model)
54
+ 5 Cloud sync Exe Cloud / self-hosted libSQL / local-only
55
+ 6 Agent runtime Default runtime + model for employees
56
+
57
+ Settings are saved to your exe-os config and take effect immediately.
58
+ `);
59
+ process.exit(0);
60
+ }
43
61
  if (args.includes("--help") || args.includes("-h") || args.includes("help")) {
44
62
  let version = "unknown";
45
63
  try {
@@ -86,7 +104,7 @@ if (args.includes("--global")) {
86
104
  );
87
105
  await runClaudeInstall();
88
106
  } else if (args.includes("--commands-only")) {
89
- const { copySlashCommands, resolvePackageRoot } = await import("../installer-JSUC44TR.js");
107
+ const { copySlashCommands, resolvePackageRoot } = await import("../installer-DGU4WZKJ.js");
90
108
  try {
91
109
  const packageRoot = resolvePackageRoot();
92
110
  const result = await copySlashCommands(packageRoot);
@@ -172,7 +190,7 @@ if (args.includes("--global")) {
172
190
  process.exit(1);
173
191
  }
174
192
  } else if (args[0] === "key") {
175
- const { main: runKey } = await import("../exe-key-7PDQ72W2.js");
193
+ const { main: runKey } = await import("../exe-key-NQQXEDUA.js");
176
194
  await runKey(args.slice(1));
177
195
  } else if (args[0] === "link") {
178
196
  console.error("`exe-os link` has been removed from the customer command surface.");
@@ -204,6 +222,9 @@ if (args.includes("--global")) {
204
222
  } else if (args[0] === "support") {
205
223
  const { main: runSupport } = await import("./exe-support.js");
206
224
  await runSupport(args.slice(1));
225
+ } else if (args[0] === "settings") {
226
+ const { main: runSettings } = await import("./exe-settings.js");
227
+ await runSettings();
207
228
  } else if (["backfill-conversations", "backfill-metadata", "bulk-sync-postgres"].includes(args[0]) && !process.env.EXE_INTERNAL) {
208
229
  console.error(`'${args[0]}' is an internal command. Set EXE_INTERNAL=1 to use.`);
209
230
  process.exit(1);
@@ -221,7 +242,7 @@ if (args.includes("--global")) {
221
242
  process.exit(1);
222
243
  }
223
244
  } else if (args[0] === "backfill-metadata") {
224
- const { backfillMetadata } = await import("../backfill-metadata-W7PJ6YGP.js");
245
+ const { backfillMetadata } = await import("../backfill-metadata-HJNVBORD.js");
225
246
  let batchSize = 50;
226
247
  let limit = 0;
227
248
  let dryRun = false;
@@ -252,10 +273,10 @@ if (args.includes("--global")) {
252
273
  process.exit(1);
253
274
  }
254
275
  } else if (args[0] === "export") {
255
- const { runExeExport } = await import("../exe-export-QF5V54XC.js");
276
+ const { runExeExport } = await import("../exe-export-CRCA4T4S.js");
256
277
  await runExeExport(args.slice(1));
257
278
  } else if (args[0] === "import") {
258
- const { runExeImport } = await import("../exe-import-M4VYXCJZ.js");
279
+ const { runExeImport } = await import("../exe-import-UZMMWNHJ.js");
259
280
  await runExeImport(args.slice(1));
260
281
  } else if (args[0] === "import-history") {
261
282
  const { runImportHistory } = await import("./import-history.js");
@@ -280,7 +301,7 @@ if (args.includes("--global")) {
280
301
  const { initStore } = await import("../lib/store.js");
281
302
  await initStore();
282
303
  const { sendMessage } = await import("../lib/messaging.js");
283
- const { getActiveAgent } = await import("../active-agent-JJVXXRZV.js");
304
+ const { getActiveAgent } = await import("../active-agent-L22OENGJ.js");
284
305
  const { agentId } = getActiveAgent();
285
306
  const result = await sendMessage({
286
307
  fromAgent: agentId,
@@ -296,9 +317,24 @@ ID: ${result.id}`);
296
317
  await runRename();
297
318
  } else if (args[0] === "--activate" || args[0] === "activate") {
298
319
  await runActivate(args[1]);
320
+ } else if (args[0] === "healthcheck") {
321
+ const { runHealthCheck } = await import("./exe-healthcheck.js");
322
+ const { results, passed, failed } = runHealthCheck();
323
+ console.log("\n exe-os Health Check\n");
324
+ for (const r of results) {
325
+ const icon = r.pass ? "\x1B[32m\u2713\x1B[0m" : "\x1B[31m\u2717\x1B[0m";
326
+ console.log(` ${icon} ${r.name}`);
327
+ console.log(` ${r.detail}`);
328
+ }
329
+ console.log(failed === 0 ? `
330
+ \x1B[32m${passed} passed\x1B[0m
331
+ ` : `
332
+ \x1B[32m${passed} passed\x1B[0m, \x1B[31m${failed} failed\x1B[0m
333
+ `);
334
+ process.exit(failed > 0 ? 1 : 0);
299
335
  } else if (args[0] === "doctor") {
300
336
  if (args.includes("--drift")) {
301
- const { runDrift } = await import("../exe-drift-CLJ74KCO.js");
337
+ const { runDrift } = await import("../exe-drift-TEM7ELNY.js");
302
338
  await runDrift(args.slice(1));
303
339
  } else {
304
340
  const { runCcDoctor } = await import("./cc-doctor.js");
@@ -315,7 +351,7 @@ ID: ${result.id}`);
315
351
  }
316
352
  } else if (args[0] === "backup") {
317
353
  const sub = args[1];
318
- const { listBackups, createBackup, restoreBackup } = await import("../db-backup-LPCCZYIL.js");
354
+ const { listBackups, createBackup, restoreBackup } = await import("../db-backup-JHCI47JQ.js");
319
355
  if (sub === "list" || !sub) {
320
356
  const backups = listBackups();
321
357
  if (backups.length === 0) {
@@ -370,7 +406,7 @@ ID: ${result.id}`);
370
406
  process.exit(1);
371
407
  }
372
408
  } else if (args[0] === "setup" || args[0] === "-setup" || args[0] === "--setup") {
373
- const { runSetupWizard } = await import("../setup-wizard-NID5EPDN.js");
409
+ const { runSetupWizard } = await import("../setup-wizard-PXK6SC2D.js");
374
410
  await runSetupWizard({
375
411
  skipModel: args.includes("--skip-model"),
376
412
  nonInteractive: args.includes("--non-interactive") || args.includes("-y") || args.includes("--yes"),
@@ -420,10 +456,10 @@ Post-deploy verification \u2014 8 runtime checks after stack-update.
420
456
  `);
421
457
  process.exit(report.failed > 0 ? 1 : 0);
422
458
  } else if (args[0] === "snapshot") {
423
- const { main: runSnapshot } = await import("../exe-snapshot-W5IVP6VF.js");
459
+ const { main: runSnapshot } = await import("../exe-snapshot-P7PUAJTV.js");
424
460
  await runSnapshot(args.slice(1));
425
461
  } else if (args[0] === "boot") {
426
- const { projectBoot, parseBootArgs } = await import("../project-boot-5R3GLCVN.js");
462
+ const { projectBoot, parseBootArgs } = await import("../project-boot-W2LTP7WW.js");
427
463
  const bootOpts = parseBootArgs(args.slice(1));
428
464
  console.log(await projectBoot(bootOpts));
429
465
  } else if (args[0] === "brand") {
@@ -613,7 +649,7 @@ function numberAfter(args2, flag) {
613
649
  return Number.isFinite(parsed) ? parsed : void 0;
614
650
  }
615
651
  async function runClaudeInstall() {
616
- const { runInstaller } = await import("../installer-JSUC44TR.js");
652
+ const { runInstaller } = await import("../installer-DGU4WZKJ.js");
617
653
  try {
618
654
  await runInstaller();
619
655
  } catch (err) {
@@ -625,7 +661,7 @@ async function runClaudeInstall() {
625
661
  }
626
662
  }
627
663
  async function runOpenCodeInstall() {
628
- const { runOpenCodeInstaller } = await import("../installer-DS7H47GB.js");
664
+ const { runOpenCodeInstaller } = await import("../installer-CBGRTGIF.js");
629
665
  try {
630
666
  await runOpenCodeInstaller();
631
667
  } catch (err) {
@@ -637,7 +673,7 @@ async function runOpenCodeInstall() {
637
673
  }
638
674
  }
639
675
  async function runCodexInstall() {
640
- const { runCodexInstaller } = await import("../installer-2MDIUMZS.js");
676
+ const { runCodexInstaller } = await import("../installer-WTWEOSEK.js");
641
677
  try {
642
678
  await runCodexInstaller();
643
679
  } catch (err) {
@@ -649,7 +685,7 @@ async function runCodexInstall() {
649
685
  }
650
686
  }
651
687
  async function runClaudeCheck() {
652
- const { detectMcpNameCollisions } = await import("../installer-JSUC44TR.js");
688
+ const { detectMcpNameCollisions } = await import("../installer-DGU4WZKJ.js");
653
689
  const claudeDir = path.join(os.homedir(), ".claude");
654
690
  const settingsPath = path.join(claudeDir, "settings.json");
655
691
  const claudeJsonPath = path.join(os.homedir(), ".claude.json");
@@ -12,9 +12,9 @@ import {
12
12
  } from "../chunk-NGP6LSV2.js";
13
13
  import {
14
14
  loadEmployeesSync
15
- } from "../chunk-3X2ZT5FN.js";
15
+ } from "../chunk-DBQ6I6K2.js";
16
16
  import "../chunk-2I23RPSI.js";
17
- import "../chunk-SCQEAMO3.js";
17
+ import "../chunk-XCPVYQVK.js";
18
18
  import "../chunk-PNQDP3OA.js";
19
19
  import "../chunk-FXU7JOXK.js";
20
20
  import "../chunk-5P3HOBZX.js";