agent-nuvira 1.45.4 → 1.49.0

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 (60) hide show
  1. package/README.md +149 -0
  2. package/dist/agents/agents/writer.d.ts.map +1 -1
  3. package/dist/agents/agents/writer.js +26 -4
  4. package/dist/agents/agents/writer.js.map +1 -1
  5. package/dist/agents/orchestrator.d.ts.map +1 -1
  6. package/dist/agents/orchestrator.js +70 -1
  7. package/dist/agents/orchestrator.js.map +1 -1
  8. package/dist/cli/chat.d.ts.map +1 -1
  9. package/dist/cli/chat.js +84 -17
  10. package/dist/cli/chat.js.map +1 -1
  11. package/dist/cli/failover-prompt.d.ts +40 -0
  12. package/dist/cli/failover-prompt.d.ts.map +1 -0
  13. package/dist/cli/failover-prompt.js +56 -0
  14. package/dist/cli/failover-prompt.js.map +1 -0
  15. package/dist/cli/memory.d.ts.map +1 -1
  16. package/dist/cli/memory.js +3 -1
  17. package/dist/cli/memory.js.map +1 -1
  18. package/dist/cli/retrieval.d.ts +20 -0
  19. package/dist/cli/retrieval.d.ts.map +1 -0
  20. package/dist/cli/retrieval.js +143 -0
  21. package/dist/cli/retrieval.js.map +1 -0
  22. package/dist/cli/router.d.ts.map +1 -1
  23. package/dist/cli/router.js +4 -0
  24. package/dist/cli/router.js.map +1 -1
  25. package/dist/config/manager.d.ts.map +1 -1
  26. package/dist/config/manager.js +5 -0
  27. package/dist/config/manager.js.map +1 -1
  28. package/dist/config/types.d.ts +54 -0
  29. package/dist/config/types.d.ts.map +1 -1
  30. package/dist/index.d.ts +4 -2
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +2 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/learning/pattern-extractor.d.ts.map +1 -1
  35. package/dist/learning/pattern-extractor.js +19 -7
  36. package/dist/learning/pattern-extractor.js.map +1 -1
  37. package/dist/learning/retrieval.d.ts +174 -0
  38. package/dist/learning/retrieval.d.ts.map +1 -0
  39. package/dist/learning/retrieval.js +394 -0
  40. package/dist/learning/retrieval.js.map +1 -0
  41. package/dist/memory/embedder.d.ts +8 -1
  42. package/dist/memory/embedder.d.ts.map +1 -1
  43. package/dist/memory/embedder.js +16 -7
  44. package/dist/memory/embedder.js.map +1 -1
  45. package/dist/memory/faiss-backend.d.ts +142 -0
  46. package/dist/memory/faiss-backend.d.ts.map +1 -0
  47. package/dist/memory/faiss-backend.js +549 -0
  48. package/dist/memory/faiss-backend.js.map +1 -0
  49. package/dist/memory/trajectory-store.d.ts.map +1 -1
  50. package/dist/memory/trajectory-store.js +19 -7
  51. package/dist/memory/trajectory-store.js.map +1 -1
  52. package/dist/memory/vector-store.d.ts +97 -14
  53. package/dist/memory/vector-store.d.ts.map +1 -1
  54. package/dist/memory/vector-store.js +270 -61
  55. package/dist/memory/vector-store.js.map +1 -1
  56. package/dist/web-dashboard/server.d.ts +4 -0
  57. package/dist/web-dashboard/server.d.ts.map +1 -1
  58. package/dist/web-dashboard/server.js +103 -1
  59. package/dist/web-dashboard/server.js.map +1 -1
  60. package/package.json +2 -1
package/README.md CHANGED
@@ -50,6 +50,7 @@ agent-nuvira config list
50
50
  - **Startup progress feedback** — first launch never looks like a silent hang: a live spinner reports each startup phase (plugins → history & search → semantic index) as it runs
51
51
  - **Auto-mode session failover** — in Auto routing, a provider whose API key/token expires or rate-limits mid-session is automatically swapped for the next-best provider (auth failures excluded for the session, rate-limit failures for a 120s cooldown, 5xx/network through the circuit breaker) — no more stuck sessions on a dead key
52
52
  - **Central quota ledger** — tokens/requests per provider × model with calendar-aware reset windows; exhausted providers are **parked** until the window rolls (auto re-enable, no timers), and Auto routing sinks parked providers below healthy candidates **before** a call — plus an optional free/local-first `allowPaid` gate and a `buff model quota` CLI with a cost summary (free vs paid tokens + estimated $ saved)
53
+ - **Vector retrieval (token-efficient context)** — large gathered contexts are chunked, embedded locally (`bge-small-en-v1.5` via @huggingface/transformers, zero new deps) and reduced to the top-k semantically-relevant chunks before the LLM call — saving tokens so free quotas stretch further. Complements the quota ledger: **retrieval saves tokens, the ledger manages quotas**. Small contexts pass through untouched (zero overhead); any retrieval failure fails over to full context. `buff retrieval index/query/stats/clear` + a dashboard Retrieval card show the savings
53
54
  - **Checkpoint / resume** — `buff execute "<goal>" --checkpoint` saves a resume-able snapshot after every task batch; `--resume [id]` rehydrates the plan and continues from the first pending step (a crash / quota kill / token expiry mid-pipeline no longer restarts the whole plan); `--checkpoint-list` shows saved pipelines
54
55
  - **Security scan CLI** — `buff security scan` detects PII, prompt injections, and dangerous code patterns
55
56
  - **Feedback & rating system** — `buff feedback record/list/stats/clear` drives self-improvement scoring
@@ -109,6 +110,37 @@ npm run build
109
110
  npm link
110
111
  ```
111
112
 
113
+ ### Native FAISS acceleration (optional, recommended)
114
+
115
+ Agent-Nuvira includes an optional native FAISS backend for faster semantic retrieval. The runtime now prefers this backend automatically when the native addon can build successfully; if that path is unavailable, it falls back to the pure-JS IVF implementation and then the exact JSON backend so your workflow stays reliable.
116
+
117
+ For npm-installed users, the setup is:
118
+
119
+ ```bash
120
+ # 1) Install the CLI
121
+ npm install -g agent-nuvira
122
+
123
+ # 2) Install the native build prerequisites (macOS example)
124
+ brew install faiss libomp openblas
125
+
126
+ # 3) Rebuild the optional native addon
127
+ npm rebuild @faiss-node/native
128
+
129
+ # 4) Enable the FAISS-style backend (or leave it on 'auto' to prefer it automatically)
130
+ agent-nuvira config set memory.vectorBackend auto
131
+ # or force it explicitly:
132
+ # agent-nuvira config set memory.vectorBackend faiss
133
+ ```
134
+
135
+ If you want to confirm the backend in use:
136
+
137
+ ```bash
138
+ agent-nuvira memory
139
+ # or: buff memory
140
+ ```
141
+
142
+ If the native addon cannot be built on your machine, Agent-Nuvira will continue to work using the pure-JS fallback path.
143
+
112
144
  ### Verify
113
145
 
114
146
  ```bash
@@ -823,6 +855,123 @@ agent-nuvira model quota
823
855
  The timeline is also **live**: the dashboard watches `quota-events.jsonl` /
824
856
  `quota-ledger.json` on disk and pushes a `quota` SSE event the moment a failover
825
857
  or park lands — so the card updates in real time, no page refresh or 10s wait.
858
+ (The watcher arms while a dashboard is connected and disarms when the last one
859
+ disconnects.) To keep it armed from server start — so the timeline is already
860
+ current the moment a dashboard connects, even after the server sat idle between
861
+ viewing sessions — enable always-on mode:
862
+
863
+ ```bash
864
+ # Keep the quota watcher armed from server start (never disarms on client count)
865
+ agent-nuvira config set routing.alwaysWatchQuota true
866
+ ```
867
+
868
+ Always-on trades a tiny idle fs watch for instant-up-to-date quota state.
869
+
870
+ #### Vector retrieval — token-efficient context (saves tokens, complements the quota ledger)
871
+
872
+ Agent-Nuvira can **vectorize large context** with a local embedding model + the
873
+ pure-JS vector store — no FAISS/native deps, no server. The retrieval layer
874
+ saves tokens (stretching free quotas), while the quota ledger manages limits:
875
+
876
+ | Piece | What it does |
877
+ |---|---|
878
+ | **Chunking** | Large files split into ~512-token chunks (64-token overlap, paragraph-aware) |
879
+ | **Embedding** | `bge-small-en-v1.5` (384-dim) via @huggingface/transformers — local, free, offline, cached |
880
+ | **Vector store** | Pure-JS cosine-similarity index in `~/.buff/memory/vectors-repo.json` (honors `BUFF_MEMORY_DIR`), isolated from memory/history vectors |
881
+ | **Retrieval** | Goal/subtask embedded → top-k chunks (default 5) → reduced context |
882
+ | **Router policy** | Context ≤ threshold (12k tokens) → **direct call, zero overhead**; larger → embed + retrieve; any failure → **failover to full context** (never breaks the LLM call) |
883
+ | **Transparency** | `🧠 Retrieved 5 chunks — reduced context 20k → 3k tokens` + `buff retrieval stats` + dashboard Retrieval card |
884
+
885
+ ```bash
886
+ # Pre-index a repo so Auto runs are instant (first run downloads the ~130MB
887
+ # model once, then cached locally)
888
+ agent-nuvira retrieval index .
889
+
890
+ # Semantic search over the indexed repo
891
+ agent-nuvira retrieval query "how does login with JWT work?"
892
+
893
+ # Token-savings transparency
894
+ agent-nuvira retrieval stats
895
+
896
+ # Wipe index + stats
897
+ agent-nuvira retrieval clear
898
+ ```
899
+
900
+ Where retrieval applies (honest split):
901
+ - **`buff chat --file <large-file>`** — the file is chunked, embedded, and
902
+ reduced to the top-k relevant chunks before the LLM call (big token savings).
903
+ - **`buff execute` pipelines** — after the context-gatherer collects files, the
904
+ orchestrator indexes them and produces a **semantic file ranking** for the
905
+ writer (relevance over size when selecting which files fit the token budget),
906
+ and records the retrieval into the token-savings stats.
907
+
908
+ **Config** (`routing.retrieval`):
909
+
910
+ ```bash
911
+ # Master switch (default true)
912
+ agent-nuvira config set routing.retrieval.enabled false
913
+
914
+ # Top-k chunks (default 5), chunk size (default 512 tokens), vectorize threshold (default 12000 tokens)
915
+ agent-nuvira config set routing.retrieval.topK 8
916
+ agent-nuvira config set routing.retrieval.chunkTokens 640
917
+ agent-nuvira config set routing.retrieval.thresholdTokens 20000
918
+ ```
919
+
920
+ **Vector search backend** (`memory.vectorBackend`):
921
+
922
+ ```bash
923
+ # Show which backend is active
924
+ agent-nuvira memory stats # ... Backend: faiss-ivf (FAISS-style IVF-flat ANN)
925
+
926
+ # Choose the backend explicitly
927
+ agent-nuvira config set memory.vectorBackend auto # default: native FAISS when built, else pure-JS IVF
928
+ agent-nuvira config set memory.vectorBackend faiss # prefer FAISS-style; JSON fallback on native failure
929
+ agent-nuvira config set memory.vectorBackend json # exact flat cosine (the original behavior)
930
+ ```
931
+
932
+ - **`auto` (default)** — uses the **FAISS-style backend**: real `@faiss-node/native`
933
+ bindings when the user has installed AND built them (smoke-tested at load),
934
+ otherwise a **pure-JS IVF-flat ANN** — a faithful TypeScript port of FAISS's
935
+ `IndexIVFFlat` (nlist inverted lists via deterministic k-means++, nprobe
936
+ probe lists, cosine = inner product of L2-normalized vectors). Small indexes
937
+ (≤ 512 entries) use an EXACT scan so results are identical to the JSON
938
+ backend; large indexes get sub-linear approximate search with filter-aware
939
+ probe expansion. Any native failure falls back gracefully — semantic search
940
+ never breaks.
941
+ - **Why native FAISS is not the hard default (decision):** `@faiss-node/native`
942
+ ships no prebuilt binaries and requires compiling FAISS from source
943
+ (cmake + OpenBLAS + libomp) at install time — verified to fail on a stock
944
+ macOS dev box. Making it a required dependency would break zero-setup
945
+ `npx agent-nuvira`. The pure-JS IVF-flat backend provides the same
946
+ FAISS-style approximate-NN behavior with zero native deps; users who build
947
+ the native package automatically get the real thing.
948
+
949
+ **Roadmap (Step 6 — future enhancements):**
950
+ 1. **Hybrid retrieval** — combine embeddings with keyword/BM25 scoring for
951
+ exact-match-sensitive queries.
952
+ 2. **Embedding caching** — the embedder already caches in-memory; a persistent
953
+ on-disk embedding cache would skip re-embedding unchanged chunks across
954
+ sessions.
955
+ 3. **Multi-vector routing** — different embedding models for code vs natural
956
+ language (the store already supports namespaced indexes, so this is a
957
+ config-level addition).
958
+
959
+ **Opt-in failover confirmation.** By default Auto mode fails over silently
960
+ (never get stuck). If you'd rather approve each mid-session swap, enable:
961
+
962
+ ```bash
963
+ # Ask before Auto mode switches providers mid-session
964
+ agent-nuvira config set routing.promptOnFailover true
965
+ ```
966
+
967
+ With this on, a failed provider shows the next-ranked candidate and lets you
968
+ choose "switch (recommended)" or "pick a provider myself" — so every swap is
969
+ an informed decision, not a silent surprise.
970
+
971
+ This also applies to **single-shot Auto prompts** (`buff chat "ask something"`
972
+ with `-m auto`): before Auto mode silently hops to the next candidate, the CLI
973
+ asks; picking "manual" surfaces the original provider error instead of
974
+ switching behind your back.
826
975
 
827
976
  #### Checkpoint / resume — crash-proof multi-agent pipelines
828
977
 
@@ -1 +1 @@
1
- {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../../src/agents/agents/writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAmB,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAiH1G;;;;;;;;;;;GAWG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACpC,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,0DAA0D;IAExE,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IAwH9E;;;OAGG;YACW,YAAY;IAkF1B;;;;OAIG;IACH,OAAO,CAAC,WAAW;IA8CnB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsBxB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAoC/B,OAAO,CAAC,aAAa;CA0BtB"}
1
+ {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../../src/agents/agents/writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAmB,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAiH1G;;;;;;;;;;;GAWG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACpC,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,0DAA0D;IAExE,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IAwH9E;;;OAGG;YACW,YAAY;IAkF1B;;;;OAIG;IACH,OAAO,CAAC,WAAW;IA+DnB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsBxB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAyC/B,OAAO,CAAC,aAAa;CA0BtB"}
@@ -10,7 +10,7 @@
10
10
  * The orchestrator decides whether to apply them (based on dry-run mode).
11
11
  */
12
12
  import { existsSync, readFileSync } from 'node:fs';
13
- import { isAbsolute, join } from 'node:path';
13
+ import { basename, isAbsolute, join } from 'node:path';
14
14
  import { Agent } from '../agent.js';
15
15
  import { logger } from '../../utils/logger.js';
16
16
  import { detectLanguage } from '../../editing/types.js';
@@ -312,7 +312,25 @@ export class WriterAgent extends Agent {
312
312
  const taskDescription = writerTask?.description || context.goal;
313
313
  // Use token-budget-aware file selection: show as many files as possible
314
314
  // within MAX_CONTEXT_CHARS, prioritizing smaller files to max context.
315
- const filesToSend = this.selectFilesWithinBudget(context.artifacts, MAX_CONTEXT_CHARS);
315
+ // When the orchestrator's vector-retrieval hook produced a semantic file
316
+ // ranking for this goal (retrievalRanking metadata), prefer those files
317
+ // first so the LLM sees the most RELEVANT code within the token budget
318
+ // (relevance over size — the retrieval layer complements the quota ledger
319
+ // by saving tokens while keeping the important context).
320
+ const retrievalRanking = context.metadata.retrievalRanking || [];
321
+ // Match by BOTH exact path and basename so ranking still works whether the
322
+ // gatherer produced relative or absolute artifact paths (the retrieval
323
+ // index keys may differ in normalization from the artifact path form).
324
+ const rankedPaths = new Set(retrievalRanking.map((r) => r.filePath));
325
+ const rankedBaseNames = new Set(retrievalRanking.map((r) => basename(r.filePath)));
326
+ const isRanked = (p) => rankedPaths.has(p) || rankedBaseNames.has(basename(p));
327
+ const filesToSend = this.selectFilesWithinBudget(context.artifacts, MAX_CONTEXT_CHARS, (a, b) => {
328
+ const ra = isRanked(a.path) ? 0 : 1;
329
+ const rb = isRanked(b.path) ? 0 : 1;
330
+ if (ra !== rb)
331
+ return ra - rb;
332
+ return 0; // keep the size-first tiebreak inside selectFilesWithinBudget
333
+ });
316
334
  const fileContext = filesToSend.length > 0
317
335
  ? filesToSend
318
336
  .map(({ artifact, truncated }) => `--- ${artifact.path} ---${truncated ? ` (truncated, ${artifact.content.length}\u2192${truncated.length} chars)` : ''}\n${truncated || artifact.content}`)
@@ -363,10 +381,14 @@ export class WriterAgent extends Agent {
363
381
  * Select files within the given character budget.
364
382
  * Prioritizes smaller files first so the LLM sees as much complete context as possible.
365
383
  */
366
- selectFilesWithinBudget(artifacts, budget) {
384
+ selectFilesWithinBudget(artifacts, budget, priorityComparator) {
367
385
  const sorted = [...artifacts]
368
386
  .map((a) => ({ artifact: a, size: a.content.length }))
369
- .sort((a, b) => a.size - b.size);
387
+ .sort((a, b) => {
388
+ // Optional priority pass (e.g. retrieval-ranking first), then size-first.
389
+ const cmp = priorityComparator ? priorityComparator(a.artifact, b.artifact) : 0;
390
+ return cmp !== 0 ? cmp : a.size - b.size;
391
+ });
370
392
  const result = [];
371
393
  let used = 0;
372
394
  const OVERHEAD_PER_FILE = 50;
@@ -1 +1 @@
1
- {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../../src/agents/agents/writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../../src/agents/agents/writer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@
16
16
  *
17
17
  * Called by the `agent-nuvira execute` CLI command.
18
18
  */
19
- import { existsSync, writeFileSync, mkdirSync } from 'node:fs';
19
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
20
20
  import { dirname, isAbsolute, resolve } from 'node:path';
21
21
  import inquirer from 'inquirer';
22
22
  import { ProviderFactory } from '../inference/factory.js';
@@ -42,6 +42,7 @@ import { getQuotaLedger } from '../learning/quota-ledger.js';
42
42
  import { resolveWorkingModel } from '../inference/model-validator.js';
43
43
  import { recordRoutingDecision } from '../learning/routing-history.js';
44
44
  import { createReviewFromResult } from '../team/review.js';
45
+ import { indexFiles, retrieve, recordRetrievalStats, retrievalOptionsFromConfig, estimateTokens as retrievalEstimateTokens } from '../learning/retrieval.js';
45
46
  // ─── DAG Integration (optional — dashboard may not be built) ─────────────────
46
47
  /**
47
48
  * Push a DAG update to the live dashboard, if the server is running.
@@ -305,6 +306,16 @@ export class Orchestrator {
305
306
  else {
306
307
  logger.info(' No similar past tasks found in memory');
307
308
  }
309
+ // Transparency: surface which vector backend served the cross-session
310
+ // semantic search (faiss-native / faiss-ivf / json) so users can see
311
+ // the FAISS-style backend is active for trajectory memory.
312
+ try {
313
+ const { getVectorStore } = await import('../memory/vector-store.js');
314
+ logger.info(` 🧠 Cross-session memory backend: ${await getVectorStore().backendName()}`);
315
+ }
316
+ catch {
317
+ // Best-effort — backend name is diagnostics-only.
318
+ }
308
319
  }
309
320
  }
310
321
  catch (err) {
@@ -1042,6 +1053,64 @@ export class Orchestrator {
1042
1053
  }
1043
1054
  }
1044
1055
  }
1056
+ // ── Vector retrieval hook (post-gather) ───────────────────────────
1057
+ // Once the gatherer has collected the relevant files, index them into
1058
+ // the repo vector store (idempotent) and retrieve the top-k chunks for
1059
+ // the goal. This gives the writer a SEMANTIC file ranking (relevance
1060
+ // over size) and records token-savings transparency for the dashboard.
1061
+ // Best-effort: any retrieval failure falls through silently — the
1062
+ // pipeline must never break on an embedding/indexing error.
1063
+ if (effectiveAgentType === 'context-gatherer' && result.success && contextFiles.length > 0) {
1064
+ try {
1065
+ const retrievalOpts = retrievalOptionsFromConfig(this.configManager);
1066
+ if (retrievalOpts.enabled) {
1067
+ const { files, chunks } = await indexFiles(contextFiles, retrievalOpts);
1068
+ if (chunks > 0) {
1069
+ const hits = await retrieve(vault.context.goal, retrievalOpts);
1070
+ if (hits.length > 0) {
1071
+ vault.setMeta('retrievalRanking', hits.map((h) => ({
1072
+ filePath: h.chunk.filePath,
1073
+ similarity: h.similarity,
1074
+ })));
1075
+ }
1076
+ // Token-savings transparency (Step 5): record the retrieval into
1077
+ // retrieval-stats.json so `buff retrieval stats` and the dashboard
1078
+ // Retrieval card reflect pipeline retrieval too (not just chat).
1079
+ try {
1080
+ const originalTokens = contextFiles.reduce((sum, f) => {
1081
+ try {
1082
+ return sum + retrievalEstimateTokens(readFileSync(f, 'utf-8'));
1083
+ }
1084
+ catch {
1085
+ return sum;
1086
+ }
1087
+ }, 0);
1088
+ const reducedTokens = hits.reduce((sum, h) => sum + h.chunk.tokenCount, 0);
1089
+ recordRetrievalStats({
1090
+ used: hits.length > 0,
1091
+ originalTokens,
1092
+ reducedTokens,
1093
+ savedTokens: Math.max(0, originalTokens - reducedTokens),
1094
+ pctReduced: originalTokens > 0 ? Math.round((1 - reducedTokens / originalTokens) * 1000) / 10 : 0,
1095
+ chunksRetrieved: hits.length,
1096
+ failover: false,
1097
+ hits: hits.map((h) => ({ filePath: h.chunk.filePath, similarity: h.similarity })),
1098
+ timestamp: Date.now(),
1099
+ });
1100
+ }
1101
+ catch {
1102
+ // Best-effort — stats must never break the pipeline.
1103
+ }
1104
+ if (options.verbose) {
1105
+ logger.info(`🧠 Indexed ${files} file(s) into ${chunks} retrieval chunk(s)`);
1106
+ }
1107
+ }
1108
+ }
1109
+ }
1110
+ catch (err) {
1111
+ logger.debug(`Vector retrieval hook skipped: ${err instanceof Error ? err.message : err}`);
1112
+ }
1113
+ }
1045
1114
  // Prune context after each agent step to keep the context bus within limits
1046
1115
  this.pruneContext(vault, options);
1047
1116
  if (options.verbose) {