agent-nuvira 1.45.5 → 1.50.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.
- package/README.md +154 -0
- package/dist/agents/agents/writer.d.ts.map +1 -1
- package/dist/agents/agents/writer.js +26 -4
- package/dist/agents/agents/writer.js.map +1 -1
- package/dist/agents/orchestrator.d.ts.map +1 -1
- package/dist/agents/orchestrator.js +70 -1
- package/dist/agents/orchestrator.js.map +1 -1
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +33 -1
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/memory.d.ts +1 -0
- package/dist/cli/memory.d.ts.map +1 -1
- package/dist/cli/memory.js +46 -1
- package/dist/cli/memory.js.map +1 -1
- package/dist/cli/retrieval.d.ts +20 -0
- package/dist/cli/retrieval.d.ts.map +1 -0
- package/dist/cli/retrieval.js +143 -0
- package/dist/cli/retrieval.js.map +1 -0
- package/dist/cli/router.d.ts.map +1 -1
- package/dist/cli/router.js +4 -0
- package/dist/cli/router.js.map +1 -1
- package/dist/config/manager.d.ts.map +1 -1
- package/dist/config/manager.js +5 -0
- package/dist/config/manager.js.map +1 -1
- package/dist/config/types.d.ts +47 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/learning/pattern-extractor.d.ts.map +1 -1
- package/dist/learning/pattern-extractor.js +19 -7
- package/dist/learning/pattern-extractor.js.map +1 -1
- package/dist/learning/retrieval.d.ts +174 -0
- package/dist/learning/retrieval.d.ts.map +1 -0
- package/dist/learning/retrieval.js +394 -0
- package/dist/learning/retrieval.js.map +1 -0
- package/dist/memory/embedder.d.ts +8 -1
- package/dist/memory/embedder.d.ts.map +1 -1
- package/dist/memory/embedder.js +16 -7
- package/dist/memory/embedder.js.map +1 -1
- package/dist/memory/faiss-backend.d.ts +163 -0
- package/dist/memory/faiss-backend.d.ts.map +1 -0
- package/dist/memory/faiss-backend.js +611 -0
- package/dist/memory/faiss-backend.js.map +1 -0
- package/dist/memory/trajectory-store.d.ts.map +1 -1
- package/dist/memory/trajectory-store.js +19 -7
- package/dist/memory/trajectory-store.js.map +1 -1
- package/dist/memory/vector-store.d.ts +97 -14
- package/dist/memory/vector-store.d.ts.map +1 -1
- package/dist/memory/vector-store.js +270 -61
- package/dist/memory/vector-store.js.map +1 -1
- package/dist/web-dashboard/server.d.ts +4 -0
- package/dist/web-dashboard/server.d.ts.map +1 -1
- package/dist/web-dashboard/server.js +103 -1
- package/dist/web-dashboard/server.js.map +1 -1
- 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,44 @@ 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
|
+
> **v1.49.1 note:** the native tier was rewritten against the real
|
|
118
|
+
> `@faiss-node/native` v0.1.11 API (`FaissIndex` with `{ type: 'FLAT_IP', dims }`,
|
|
119
|
+
> async typed-array `add`/`search`) — earlier builds referenced a non-existent
|
|
120
|
+
> `IndexFlatIP` class, so the load-time smoke test silently failed and the
|
|
121
|
+
> pure-JS IVF backend ran even when the native module was built. It now
|
|
122
|
+
> activates for real. Verify with `buff memory backend --check`.
|
|
123
|
+
|
|
124
|
+
For npm-installed users, the setup is:
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
# 1) Install the CLI
|
|
128
|
+
npm install -g agent-nuvira
|
|
129
|
+
|
|
130
|
+
# 2) Install the native build prerequisites (macOS example)
|
|
131
|
+
brew install faiss libomp openblas
|
|
132
|
+
|
|
133
|
+
# 3) Rebuild the optional native addon
|
|
134
|
+
npm rebuild @faiss-node/native
|
|
135
|
+
|
|
136
|
+
# 4) Enable the FAISS-style backend (or leave it on 'auto' to prefer it automatically)
|
|
137
|
+
agent-nuvira config set memory.vectorBackend auto
|
|
138
|
+
# or force it explicitly:
|
|
139
|
+
# agent-nuvira config set memory.vectorBackend faiss
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
If you want to confirm the backend in use:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
agent-nuvira memory stats # ... Backend: faiss-native (native FAISS)
|
|
146
|
+
agent-nuvira memory backend --check # native availability check + active backend + why
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
If the native addon cannot be built on your machine, Agent-Nuvira will continue to work using the pure-JS fallback path.
|
|
150
|
+
|
|
112
151
|
### Verify
|
|
113
152
|
|
|
114
153
|
```bash
|
|
@@ -823,6 +862,106 @@ agent-nuvira model quota
|
|
|
823
862
|
The timeline is also **live**: the dashboard watches `quota-events.jsonl` /
|
|
824
863
|
`quota-ledger.json` on disk and pushes a `quota` SSE event the moment a failover
|
|
825
864
|
or park lands — so the card updates in real time, no page refresh or 10s wait.
|
|
865
|
+
(The watcher arms while a dashboard is connected and disarms when the last one
|
|
866
|
+
disconnects.) To keep it armed from server start — so the timeline is already
|
|
867
|
+
current the moment a dashboard connects, even after the server sat idle between
|
|
868
|
+
viewing sessions — enable always-on mode:
|
|
869
|
+
|
|
870
|
+
```bash
|
|
871
|
+
# Keep the quota watcher armed from server start (never disarms on client count)
|
|
872
|
+
agent-nuvira config set routing.alwaysWatchQuota true
|
|
873
|
+
```
|
|
874
|
+
|
|
875
|
+
Always-on trades a tiny idle fs watch for instant-up-to-date quota state.
|
|
876
|
+
|
|
877
|
+
#### Vector retrieval — token-efficient context (saves tokens, complements the quota ledger)
|
|
878
|
+
|
|
879
|
+
Agent-Nuvira can **vectorize large context** with a local embedding model + the
|
|
880
|
+
pure-JS vector store — no FAISS/native deps, no server. The retrieval layer
|
|
881
|
+
saves tokens (stretching free quotas), while the quota ledger manages limits:
|
|
882
|
+
|
|
883
|
+
| Piece | What it does |
|
|
884
|
+
|---|---|
|
|
885
|
+
| **Chunking** | Large files split into ~512-token chunks (64-token overlap, paragraph-aware) |
|
|
886
|
+
| **Embedding** | `bge-small-en-v1.5` (384-dim) via @huggingface/transformers — local, free, offline, cached |
|
|
887
|
+
| **Vector store** | Pure-JS cosine-similarity index in `~/.buff/memory/vectors-repo.json` (honors `BUFF_MEMORY_DIR`), isolated from memory/history vectors |
|
|
888
|
+
| **Retrieval** | Goal/subtask embedded → top-k chunks (default 5) → reduced context |
|
|
889
|
+
| **Router policy** | Context ≤ threshold (12k tokens) → **direct call, zero overhead**; larger → embed + retrieve; any failure → **failover to full context** (never breaks the LLM call) |
|
|
890
|
+
| **Transparency** | `🧠 Retrieved 5 chunks — reduced context 20k → 3k tokens` + `buff retrieval stats` + dashboard Retrieval card |
|
|
891
|
+
|
|
892
|
+
```bash
|
|
893
|
+
# Pre-index a repo so Auto runs are instant (first run downloads the ~130MB
|
|
894
|
+
# model once, then cached locally)
|
|
895
|
+
agent-nuvira retrieval index .
|
|
896
|
+
|
|
897
|
+
# Semantic search over the indexed repo
|
|
898
|
+
agent-nuvira retrieval query "how does login with JWT work?"
|
|
899
|
+
|
|
900
|
+
# Token-savings transparency
|
|
901
|
+
agent-nuvira retrieval stats
|
|
902
|
+
|
|
903
|
+
# Wipe index + stats
|
|
904
|
+
agent-nuvira retrieval clear
|
|
905
|
+
```
|
|
906
|
+
|
|
907
|
+
Where retrieval applies (honest split):
|
|
908
|
+
- **`buff chat --file <large-file>`** — the file is chunked, embedded, and
|
|
909
|
+
reduced to the top-k relevant chunks before the LLM call (big token savings).
|
|
910
|
+
- **`buff execute` pipelines** — after the context-gatherer collects files, the
|
|
911
|
+
orchestrator indexes them and produces a **semantic file ranking** for the
|
|
912
|
+
writer (relevance over size when selecting which files fit the token budget),
|
|
913
|
+
and records the retrieval into the token-savings stats.
|
|
914
|
+
|
|
915
|
+
**Config** (`routing.retrieval`):
|
|
916
|
+
|
|
917
|
+
```bash
|
|
918
|
+
# Master switch (default true)
|
|
919
|
+
agent-nuvira config set routing.retrieval.enabled false
|
|
920
|
+
|
|
921
|
+
# Top-k chunks (default 5), chunk size (default 512 tokens), vectorize threshold (default 12000 tokens)
|
|
922
|
+
agent-nuvira config set routing.retrieval.topK 8
|
|
923
|
+
agent-nuvira config set routing.retrieval.chunkTokens 640
|
|
924
|
+
agent-nuvira config set routing.retrieval.thresholdTokens 20000
|
|
925
|
+
```
|
|
926
|
+
|
|
927
|
+
**Vector search backend** (`memory.vectorBackend`):
|
|
928
|
+
|
|
929
|
+
```bash
|
|
930
|
+
# Show which backend is active
|
|
931
|
+
agent-nuvira memory stats # ... Backend: faiss-ivf (FAISS-style IVF-flat ANN)
|
|
932
|
+
|
|
933
|
+
# Choose the backend explicitly
|
|
934
|
+
agent-nuvira config set memory.vectorBackend auto # default: native FAISS when built, else pure-JS IVF
|
|
935
|
+
agent-nuvira config set memory.vectorBackend faiss # prefer FAISS-style; JSON fallback on native failure
|
|
936
|
+
agent-nuvira config set memory.vectorBackend json # exact flat cosine (the original behavior)
|
|
937
|
+
```
|
|
938
|
+
|
|
939
|
+
- **`auto` (default)** — uses the **FAISS-style backend**: real `@faiss-node/native`
|
|
940
|
+
bindings when the user has installed AND built them (smoke-tested at load),
|
|
941
|
+
otherwise a **pure-JS IVF-flat ANN** — a faithful TypeScript port of FAISS's
|
|
942
|
+
`IndexIVFFlat` (nlist inverted lists via deterministic k-means++, nprobe
|
|
943
|
+
probe lists, cosine = inner product of L2-normalized vectors). Small indexes
|
|
944
|
+
(≤ 512 entries) use an EXACT scan so results are identical to the JSON
|
|
945
|
+
backend; large indexes get sub-linear approximate search with filter-aware
|
|
946
|
+
probe expansion. Any native failure falls back gracefully — semantic search
|
|
947
|
+
never breaks.
|
|
948
|
+
- **Why native FAISS is not the hard default (decision):** `@faiss-node/native`
|
|
949
|
+
ships no prebuilt binaries and requires compiling FAISS from source
|
|
950
|
+
(cmake + OpenBLAS + libomp) at install time — verified to fail on a stock
|
|
951
|
+
macOS dev box. Making it a required dependency would break zero-setup
|
|
952
|
+
`npx agent-nuvira`. The pure-JS IVF-flat backend provides the same
|
|
953
|
+
FAISS-style approximate-NN behavior with zero native deps; users who build
|
|
954
|
+
the native package automatically get the real thing.
|
|
955
|
+
|
|
956
|
+
**Roadmap (Step 6 — future enhancements):**
|
|
957
|
+
1. **Hybrid retrieval** — combine embeddings with keyword/BM25 scoring for
|
|
958
|
+
exact-match-sensitive queries.
|
|
959
|
+
2. **Embedding caching** — the embedder already caches in-memory; a persistent
|
|
960
|
+
on-disk embedding cache would skip re-embedding unchanged chunks across
|
|
961
|
+
sessions.
|
|
962
|
+
3. **Multi-vector routing** — different embedding models for code vs natural
|
|
963
|
+
language (the store already supports namespaced indexes, so this is a
|
|
964
|
+
config-level addition).
|
|
826
965
|
|
|
827
966
|
**Opt-in failover confirmation.** By default Auto mode fails over silently
|
|
828
967
|
(never get stuck). If you'd rather approve each mid-session swap, enable:
|
|
@@ -836,6 +975,11 @@ With this on, a failed provider shows the next-ranked candidate and lets you
|
|
|
836
975
|
choose "switch (recommended)" or "pick a provider myself" — so every swap is
|
|
837
976
|
an informed decision, not a silent surprise.
|
|
838
977
|
|
|
978
|
+
This also applies to **single-shot Auto prompts** (`buff chat "ask something"`
|
|
979
|
+
with `-m auto`): before Auto mode silently hops to the next candidate, the CLI
|
|
980
|
+
asks; picking "manual" surfaces the original provider error instead of
|
|
981
|
+
switching behind your back.
|
|
982
|
+
|
|
839
983
|
#### Checkpoint / resume — crash-proof multi-agent pipelines
|
|
840
984
|
|
|
841
985
|
Long `buff execute` pipelines can be killed by a crash, quota exhaustion, or a token expiry mid-run. Checkpoints serialize the pipeline state so work is never lost:
|
|
@@ -1723,6 +1867,16 @@ npx tsc --noEmit
|
|
|
1723
1867
|
| **v1.32.0** | Oct 2026 | Pillar A — GitLab Agent (MRs, issues, pipelines) + PR Review Agent (inline review, security scans) + website Git & PR section |
|
|
1724
1868
|
| **v1.33.0** | Oct 2026 | Pillar B1+B3 — VS Code Chat Panel with streaming, slash commands, session history + Diagnostic → AI Fix from lightbulb menu |
|
|
1725
1869
|
| **v1.34.0** | Oct 2026 | Pillar B5 — VS Code Code Lens actions (Test/Review/Explain/Fix) via quick pick menu above functions and classes |
|
|
1870
|
+
| **v1.42.0** | Aug 2026 | Learning-router escalation + per-model bandit priors + Promotion Gate (ruflo ADR-149/150 mirrors) |
|
|
1871
|
+
| **v1.43.0** | Aug 2026 | Startup progress feedback + Auto-mode session failover on token expiry |
|
|
1872
|
+
| **v1.44.0** | Aug 2026 | Central quota ledger, per-subtask complexity labels, free/local-first gate |
|
|
1873
|
+
| **v1.45.0** | Aug 2026 | Checkpoint/resume pipelines + quota cost-transparency card |
|
|
1874
|
+
| **v1.45.5** | Aug 2026 | Opt-in Auto failover confirmation (interactive + one-shot) |
|
|
1875
|
+
| **v1.46.0** | Aug 2026 | Always-on dashboard quota watcher |
|
|
1876
|
+
| **v1.47.0** | Aug 2026 | Vector retrieval — token-efficient context via local embeddings + pure-JS vector store |
|
|
1877
|
+
| **v1.48.0** | Aug 2026 | FAISS-style vector search backend — pluggable `VectorStore` (pure-JS IVF-flat ANN + optional native tier) |
|
|
1878
|
+
| **v1.49.0** | Aug 2026 | Hermetic memory tests, IVF-vs-exact recall/latency benchmark, cross-session backend transparency |
|
|
1879
|
+
| **v1.49.1** | Aug 2026 | Native FAISS tier actually activates — rewritten for the real `@faiss-node/native` v0.1.11 API; `buff memory backend --check` |
|
|
1726
1880
|
|
|
1727
1881
|
---
|
|
1728
1882
|
|
|
@@ -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;
|
|
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
|
-
|
|
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) =>
|
|
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":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEvD,OAAO,EAAE,KAAK,EAAwE,MAAM,aAAa,CAAC;AAC1G,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAoB,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B5B,CAAC;AAEF,yDAAyD;AACzD,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEjC,oGAAoG;AACpG,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B,uFAAuF;AACvF,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEjC;;;GAGG;AACH,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAEpC;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,YAAoB;IAC/C,sEAAsE;IACtE,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAClE,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC5D,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,YAAoB;IAC1C,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC1F,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,YAAoB;IAC5C,OAAO,kDAAkD,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC/E,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,OAAe,EAAE,YAAoB;IAChE,MAAM,SAAS,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;IACpD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,kDAAkD;IAClD,OAAO,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAC3B,IAAI,GAAG,QAAQ,CAAC;IAChB,WAAW,GAAG,sDAAsD,CAAC;IAE9E,KAAK,CAAC,OAAO,CAAC,OAAqB,EAAE,OAAkB;QACrD,IAAI,SAA6B,CAAC;QAClC,IAAI,aAAa,GAAG,OAAO,CAAC;QAE5B,yEAAyE;QACzE,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,eAAe,EAAE,OAAO,EAAE,EAAE,CAAC;YAC5D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;gBAE/D,0DAA0D;gBAC1D,iFAAiF;gBACjF,+EAA+E;gBAC/E,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,yBAAyB,EAAE,CAAC;oBACnE,+CAA+C;oBAC/C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;oBAE1E,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,KAAK,yBAAyB,EAAE,CAAC;wBAC7E,OAAO,WAAW,CAAC;oBACrB,CAAC;oBAED,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,gFAAgF;qBAC3G,CAAC;gBACJ,CAAC;gBAED,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,SAAS,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAE7D,gEAAgE;gBAChE,IAAI,gBAAgB,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;oBACvD,MAAM,YAAY,GAAG,mBAAmB,CAAC,SAAS,CAAC,IAAI,mBAAmB,CAAC;oBAE3E,IAAI,YAAY,IAAI,sBAAsB,EAAE,CAAC;wBAC3C,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;wBAC5C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;4BACvC,YAAY;4BACZ,SAAS;4BACT,SAAS,EAAE,IAAI,CAAC,IAAI;4BACpB,YAAY,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;yBACtC,CAAC,CAAC;wBAEH,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;4BAC9B,MAAM,CAAC,KAAK,CAAC,2BAA2B,SAAS,EAAE,CAAC,CAAC;4BACrD,OAAO;gCACL,OAAO,EAAE,KAAK;gCACd,OAAO,EAAE,0CAA0C;gCACnD,KAAK,EAAE,SAAS;6BACjB,CAAC;wBACJ,CAAC;wBAED,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;4BAC7B,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;4BAC3C,OAAO;gCACL,OAAO,EAAE,IAAI;gCACb,OAAO,EAAE,8BAA8B;gCACvC,OAAO,EAAE,sEAAsE;6BAChF,CAAC;wBACJ,CAAC;wBAED,IAAI,MAAM,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;4BACrC,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;4BACnD,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;4BAC/B,+CAA+C;4BAC/C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,2BAA2B;4BACrF,SAAS;wBACX,CAAC;wBAED,gDAAgD;wBAChD,MAAM,CAAC,IAAI,CACT,gCAAgC,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CACzF,CAAC;wBACF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;wBAClE,SAAS;oBACX,CAAC;oBACD,sEAAsE;gBACxE,CAAC;gBAED,gEAAgE;gBAChE,IAAI,OAAO,GAAG,eAAe,EAAE,CAAC;oBAC9B,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;wBAChC,qDAAqD;wBACrD,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;wBACxD,MAAM,CAAC,IAAI,CACT,6BAA6B,OAAO,GAAG,CAAC,IAAI,eAAe,GAAG,CAAC,KAAK;4BACpE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CACzE,CAAC;wBACF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;oBAC/D,CAAC;yBAAM,CAAC;wBACN,0EAA0E;wBAC1E,MAAM,OAAO,GAAG,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;wBAC3D,MAAM,CAAC,IAAI,CACT,6BAA6B,OAAO,GAAG,CAAC,IAAI,eAAe,GAAG,CAAC,KAAK;4BACpE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAC7E,CAAC;wBACF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;oBAC/D,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,yBAAyB;gBACzB,MAAM,CAAC,KAAK,CAAC,uBAAuB,eAAe,GAAG,CAAC,kBAAkB,SAAS,EAAE,CAAC,CAAC;gBACtF,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,mCAAmC;oBAC5C,KAAK,EAAE,SAAS;iBACjB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,mCAAmC;YAC5C,KAAK,EAAE,SAAS,IAAI,eAAe;SACpC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,YAAY,CACxB,OAAqB,EACrB,OAAkB,EAClB,UAAmB,KAAK;QAExB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAElD,mDAAmD;QACnD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,kBAAkB,MAAM,CAAC,MAAM,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;QAE/G,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE;YACrC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,8BAA8B;YAChE,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,oEAAoE;QACpE,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,0BAA0B,QAAQ,CAAC,MAAM,QAAQ,CAAC,CAAC;QAChF,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,2CAA2C,CAAC,CAAC;QAC1E,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACrC,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,UAAU,QAAQ,CAAC,MAAM,GAAG,GAAG,wBAAwB,CAAC,CAAC;QACxF,CAAC;QAED,yCAAyC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAE9E,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,YAAY,WAAW,CAAC,MAAM,iBAAiB,CAAC,CAAC;QAC9E,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,SAAS,CAAC,CAAC;QACvJ,CAAC;QAED,sCAAsC;QACtC,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9E,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;gBAClB,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;YACjC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACzC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;oBACxD,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,MAAM,CAAC,IAAI,CAAC,WAAW,KAAK,qBAAqB,MAAM,CAAC,IAAI,0BAA0B,CAAC,CAAC;wBACxF,gEAAgE;wBAChE,wEAAwE;oBAC1E,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,gBAAgB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC9D,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;QACjC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC7D,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,4CAA4C,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACrG,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,yBAAyB;gBAClC,OAAO,EAAE,qBAAqB,OAAO,KAAK;aAC3C,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,uBAAuB,KAAK,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACrE,OAAO,EAAE,WAAW;iBACjB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACT,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC;gBACvE,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;YAC7C,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC;SACd,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,WAAW,CAAC,OAAqB,EAAE,UAAmB,KAAK;QACjE,oCAAoC;QACpC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAC1D,CAAC;QACF,MAAM,eAAe,GAAG,UAAU,EAAE,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;QAEhE,wEAAwE;QACxE,uEAAuE;QACvE,yEAAyE;QACzE,wEAAwE;QACxE,uEAAuE;QACvE,0EAA0E;QAC1E,yDAAyD;QACzD,MAAM,gBAAgB,GAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgF,IAAI,EAAE,CAAC;QAClI,2EAA2E;QAC3E,uEAAuE;QACvE,uEAAuE;QACvE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACnF,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC9F,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,EAAE,KAAK,EAAE;gBAAE,OAAO,EAAE,GAAG,EAAE,CAAC;YAC9B,OAAO,CAAC,CAAC,CAAC,8DAA8D;QAC1E,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC;YACxC,CAAC,CAAC,WAAW;iBACR,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,CAC/B,OAAO,QAAQ,CAAC,IAAI,OAAO,SAAS,CAAC,CAAC,CAAC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,MAAM,SAAS,SAAS,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,EAAE,CAC1J;iBACA,IAAI,CAAC,MAAM,CAAC;gBACf,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM;oBAC5C,CAAC,CAAC,eAAe,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,2DAA2D;oBACzH,CAAC,CAAC,EAAE,CAAC;YACT,CAAC,CAAC,gEAAgE,CAAC;QAErE,iDAAiD;QACjD,MAAM,kBAAkB,GAAG,OAAO,CAAC,SAAS;aACzC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;aACxB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wCAAwC;aACpD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;aACrD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE/B,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC;YACpD,CAAC,CAAC,4KAA4K,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;YACjN,CAAC,CAAC,EAAE,CAAC;QAEP,yEAAyE;QACzE,oEAAoE;QACpE,8CAA8C;QAC9C,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,iBAAuC,CAAC;QACnF,MAAM,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,KAAK,iBAAiB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAEvE,MAAM,YAAY,GAAG,OAAO;YAC1B,CAAC,CAAC,6gBAA6gB;YAC/gB,CAAC,CAAC,8MAA8M,CAAC;QAEnN,OAAO,GAAG,oBAAoB,4BAA4B,eAAe,gCAAgC,WAAW,GAAG,gBAAgB,GAAG,UAAU,KAAK,YAAY,EAAE,CAAC;IAC1K,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,QAAgB,EAAE,UAAkB;QAC3D,MAAM,OAAO,GAAiB,EAAE,CAAC;QAEjC,iDAAiD;QACjD,MAAM,UAAU,GAAG,8FAA8F,CAAC;QAClH,IAAI,KAA6B,CAAC;QAElC,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACpD,IAAI,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAEhC,sEAAsE;YACtE,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAEvD,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEpC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACK,uBAAuB,CAC7B,SAA2C,EAC3C,MAAc,EACd,kBAAqG;QAErG,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;aAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;aACrD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACb,0EAA0E;YAC1E,MAAM,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEL,MAAM,MAAM,GAAkF,EAAE,CAAC;QACjG,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,MAAM,iBAAiB,GAAG,EAAE,CAAC;QAE7B,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,MAAM,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,MAAM,IAAI,iBAAiB;gBAAE,MAAM;YAE9C,MAAM,WAAW,GAAG,IAAI,GAAG,iBAAiB,CAAC;YAE7C,IAAI,IAAI,GAAG,WAAW,IAAI,MAAM,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3C,IAAI,IAAI,WAAW,CAAC;YACtB,CAAC;iBAAM,IAAI,IAAI,GAAG,iBAAiB,GAAG,MAAM,EAAE,CAAC;gBAC7C,MAAM,SAAS,GAAG,MAAM,GAAG,IAAI,GAAG,iBAAiB,CAAC;gBACpD,IAAI,SAAS,GAAG,GAAG,EAAE,CAAC;oBACpB,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;oBACvD,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;oBACrC,IAAI,GAAG,MAAM,CAAC;gBAChB,CAAC;gBACD,MAAM;YACR,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,aAAa,CACnB,OAAqB,EACrB,QAAgB,EAChB,OAAe,EACf,UAAkB;QAElB,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAElF,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,MAAM,eAAe,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC5D,IAAI,eAAe,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC9C,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,QAAQ;oBACd,eAAe;oBACf,UAAU,EAAE,OAAO;oBACnB,MAAM,EAAE,UAAU;iBACnB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,OAAO;gBACnB,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAQrD,OAAO,KAAK,EAA0B,QAAQ,EAAe,MAAM,YAAY,CAAC;AAOhF,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAuB,KAAK,YAAY,EAAqB,MAAM,oBAAoB,CAAC;
|
|
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) {
|