mcp-local-rag 0.13.2 → 0.14.1
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 +55 -5
- package/dist/cli/common.d.ts +1 -1
- package/dist/cli/common.d.ts.map +1 -1
- package/dist/cli/common.js +2 -0
- package/dist/cli/common.js.map +1 -1
- package/dist/cli/ingest.d.ts +48 -0
- package/dist/cli/ingest.d.ts.map +1 -1
- package/dist/cli/ingest.js +143 -38
- package/dist/cli/ingest.js.map +1 -1
- package/dist/cli/list.d.ts.map +1 -1
- package/dist/cli/list.js +6 -3
- package/dist/cli/list.js.map +1 -1
- package/dist/cli/options.d.ts +5 -0
- package/dist/cli/options.d.ts.map +1 -1
- package/dist/cli/options.js +9 -0
- package/dist/cli/options.js.map +1 -1
- package/dist/cli/query.d.ts.map +1 -1
- package/dist/cli/query.js +4 -0
- package/dist/cli/query.js.map +1 -1
- package/dist/cli/sync.d.ts +3 -0
- package/dist/cli/sync.d.ts.map +1 -0
- package/dist/cli/sync.js +81 -0
- package/dist/cli/sync.js.map +1 -0
- package/dist/cli-main.d.ts +7 -3
- package/dist/cli-main.d.ts.map +1 -1
- package/dist/cli-main.js +22 -16
- package/dist/cli-main.js.map +1 -1
- package/dist/embedder/index.d.ts +6 -0
- package/dist/embedder/index.d.ts.map +1 -1
- package/dist/embedder/index.js +40 -19
- package/dist/embedder/index.js.map +1 -1
- package/dist/index.js +27 -14
- package/dist/index.js.map +1 -1
- package/dist/ingest/compute.d.ts +40 -0
- package/dist/ingest/compute.d.ts.map +1 -0
- package/dist/ingest/compute.js +47 -0
- package/dist/ingest/compute.js.map +1 -0
- package/dist/ingest/visual.d.ts +77 -0
- package/dist/ingest/visual.d.ts.map +1 -0
- package/dist/ingest/visual.js +104 -0
- package/dist/ingest/visual.js.map +1 -0
- package/dist/parser/index.d.ts +49 -0
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/parser/index.js +173 -54
- package/dist/parser/index.js.map +1 -1
- package/dist/pdf-visual/captioner.d.ts +21 -0
- package/dist/pdf-visual/captioner.d.ts.map +1 -0
- package/dist/pdf-visual/captioner.js +71 -0
- package/dist/pdf-visual/captioner.js.map +1 -0
- package/dist/pdf-visual/captioners/fast.d.ts +7 -0
- package/dist/pdf-visual/captioners/fast.d.ts.map +1 -0
- package/dist/pdf-visual/captioners/fast.js +129 -0
- package/dist/pdf-visual/captioners/fast.js.map +1 -0
- package/dist/pdf-visual/captioners/quality.d.ts +7 -0
- package/dist/pdf-visual/captioners/quality.d.ts.map +1 -0
- package/dist/pdf-visual/captioners/quality.js +150 -0
- package/dist/pdf-visual/captioners/quality.js.map +1 -0
- package/dist/pdf-visual/captioners/shared.d.ts +11 -0
- package/dist/pdf-visual/captioners/shared.d.ts.map +1 -0
- package/dist/pdf-visual/captioners/shared.js +40 -0
- package/dist/pdf-visual/captioners/shared.js.map +1 -0
- package/dist/pdf-visual/detector.d.ts +36 -0
- package/dist/pdf-visual/detector.d.ts.map +1 -0
- package/dist/pdf-visual/detector.js +233 -0
- package/dist/pdf-visual/detector.js.map +1 -0
- package/dist/pdf-visual/index.d.ts +59 -0
- package/dist/pdf-visual/index.d.ts.map +1 -0
- package/dist/pdf-visual/index.js +96 -0
- package/dist/pdf-visual/index.js.map +1 -0
- package/dist/pdf-visual/renderer.d.ts +17 -0
- package/dist/pdf-visual/renderer.d.ts.map +1 -0
- package/dist/pdf-visual/renderer.js +82 -0
- package/dist/pdf-visual/renderer.js.map +1 -0
- package/dist/pdf-visual/types.d.ts +44 -0
- package/dist/pdf-visual/types.d.ts.map +1 -0
- package/dist/pdf-visual/types.js +28 -0
- package/dist/pdf-visual/types.js.map +1 -0
- package/dist/server/index.d.ts +6 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +69 -10
- package/dist/server/index.js.map +1 -1
- package/dist/server/tool-definitions.d.ts.map +1 -1
- package/dist/server/tool-definitions.js +10 -0
- package/dist/server/tool-definitions.js.map +1 -1
- package/dist/server/types.d.ts +18 -0
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server-main.d.ts +2 -0
- package/dist/server-main.d.ts.map +1 -1
- package/dist/server-main.js +8 -1
- package/dist/server-main.js.map +1 -1
- package/dist/utils/raw-data-utils.d.ts.map +1 -1
- package/dist/utils/raw-data-utils.js +5 -2
- package/dist/utils/raw-data-utils.js.map +1 -1
- package/dist/utils/sync-runner.d.ts +68 -0
- package/dist/utils/sync-runner.d.ts.map +1 -0
- package/dist/utils/sync-runner.js +73 -0
- package/dist/utils/sync-runner.js.map +1 -0
- package/dist/utils/sync-utils.d.ts +26 -0
- package/dist/utils/sync-utils.d.ts.map +1 -0
- package/dist/utils/sync-utils.js +39 -0
- package/dist/utils/sync-utils.js.map +1 -0
- package/dist/vectordb/index.d.ts +4 -0
- package/dist/vectordb/index.d.ts.map +1 -1
- package/dist/vectordb/index.js +13 -0
- package/dist/vectordb/index.js.map +1 -1
- package/package.json +10 -9
- package/skills/mcp-local-rag/SKILL.md +89 -14
- package/skills/mcp-local-rag/references/cli-reference.md +27 -0
- package/skills/mcp-local-rag/references/query-optimization.md +1 -1
package/README.md
CHANGED
|
@@ -119,6 +119,51 @@ Supports PDF, DOCX, TXT, and Markdown. The server extracts text, splits it into
|
|
|
119
119
|
|
|
120
120
|
Re-ingesting the same file replaces the old version automatically.
|
|
121
121
|
|
|
122
|
+
##### Ingesting PDFs with figures (visual mode)
|
|
123
|
+
|
|
124
|
+
PDFs with charts, tables, or diagrams can optionally add local VLM-generated captions to the document index, giving visual content some searchable representation in the same vector + FTS pipeline. Captions are auxiliary text — not image search, not OCR, and not a faithful transcription of the figure.
|
|
125
|
+
|
|
126
|
+
**Via MCP**:
|
|
127
|
+
```
|
|
128
|
+
"Ingest /Users/me/docs/api-spec.pdf with visual: true"
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**Via CLI**:
|
|
132
|
+
```bash
|
|
133
|
+
npx mcp-local-rag ingest ./docs/spec.pdf --visual
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Each caption is emitted as its own chunk with the envelope `[Visual content on page N: …]`, alongside the page-body chunks. It flows through the existing embedder and FTS index — no schema differences, no separate index.
|
|
137
|
+
|
|
138
|
+
Visual mode is opt-in; normal ingest does not load the VLM. Per-page VLM failures are tolerated — that page proceeds with text only.
|
|
139
|
+
|
|
140
|
+
###### Choosing a visual-quality profile
|
|
141
|
+
|
|
142
|
+
Visual mode offers two profiles, selected per ingest call:
|
|
143
|
+
|
|
144
|
+
| Profile | Model | Disk (cache) | Per-page inference | Suited for |
|
|
145
|
+
|---|---|---|---|---|
|
|
146
|
+
| `fast` (default) | `HuggingFaceTB/SmolVLM-256M-Instruct` | ~250 MB | baseline | Light visual indexing, quick first-run setup. |
|
|
147
|
+
| `quality` | `onnx-community/Qwen2.5-VL-3B-Instruct-ONNX` | ~2.9 GB | ~2× `fast` | Figures with in-image text (axis labels, panel sub-labels, annotations) where caption fidelity matters more than inference time. |
|
|
148
|
+
|
|
149
|
+
The numbers above are measured on CPU during development on the project's probe PDFs; they may shift with model updates or differ on your hardware.
|
|
150
|
+
|
|
151
|
+
**Via MCP** — `ingest_file` accepts an optional `visualQuality` parameter (enum: `'fast' | 'quality'`, default `'fast'`; ignored when `visual` is false):
|
|
152
|
+
```
|
|
153
|
+
"Ingest /Users/me/docs/research-paper.pdf with visual: true and visualQuality: 'quality'"
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
**Via CLI** — `--visual-quality fast|quality` (default `fast`; silently ignored when `--visual` is absent):
|
|
157
|
+
```bash
|
|
158
|
+
npx mcp-local-rag ingest ./docs/research-paper.pdf --visual --visual-quality quality
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Profile model identifiers and quantization variants are fixed per release. Both profiles share the same `CACHE_DIR` (default: `./models/`); the first run on each profile downloads its model.
|
|
162
|
+
|
|
163
|
+
> **Behavior change from v0.14.0**: Captions are now emitted as dedicated chunks rather than appended to the page text before chunking. As a side effect, `metadata.fileSize` for visual ingests no longer includes the caption character count — it measures the post-extraction body length only. The underlying PDF is unchanged; only the reported `fileSize` for visual-ingested PDFs may shrink across the release boundary.
|
|
164
|
+
|
|
165
|
+
> **Security note**: Visual captions are derived from PDF contents and may inherit attacker-controlled text. Downstream LLM consumers should treat retrieved chunks as untrusted data, not as instructions. The `[Visual content on page N: …]` envelope helps consumers distinguish caption text from prose.
|
|
166
|
+
|
|
122
167
|
#### Ingesting HTML Content
|
|
123
168
|
|
|
124
169
|
Use `ingest_data` to ingest HTML content retrieved by your AI assistant (via web fetch, curl, browser tools, etc.):
|
|
@@ -217,7 +262,7 @@ For the full list of CLI flags, environment variables, and defaults, see [Config
|
|
|
217
262
|
|
|
218
263
|
For CLI-only setups (no MCP server), install [Agent Skills](#agent-skills) so your AI assistant can form better queries and interpret results consistently.
|
|
219
264
|
|
|
220
|
-
> ⚠️
|
|
265
|
+
> ⚠️ **CLI `--model-name` must match the MCP server's `MODEL_NAME` env var.** Using a different embedding model against an existing database produces incompatible vectors, silently degrading search quality.
|
|
221
266
|
|
|
222
267
|
## Search Tuning
|
|
223
268
|
|
|
@@ -310,7 +355,7 @@ apply the mcp-local-rag skill for better query formulation and result interpreta
|
|
|
310
355
|
|
|
311
356
|
### Environment Variables and CLI Flags
|
|
312
357
|
|
|
313
|
-
|
|
358
|
+
The MCP server is configured by environment variables only — pass them through your MCP client's `env` block. The CLI accepts the same env vars plus equivalent flags (priority: CLI flag > env > default). CLI flags are not accepted on the bare `mcp-local-rag` (MCP server) launch.
|
|
314
359
|
|
|
315
360
|
| Environment Variable | CLI Flag | Default | Description |
|
|
316
361
|
|---------------------|----------|---------|-------------|
|
|
@@ -320,6 +365,7 @@ Both MCP and CLI use the same environment variables. The CLI also accepts equiva
|
|
|
320
365
|
| `MODEL_NAME` | `--model-name` | `Xenova/all-MiniLM-L6-v2` | HuggingFace model ID ([available models](https://huggingface.co/models?library=transformers.js&pipeline_tag=feature-extraction)) |
|
|
321
366
|
| `MAX_FILE_SIZE` | `--max-file-size` | `104857600` (100MB) | Maximum file size in bytes |
|
|
322
367
|
| `CHUNK_MIN_LENGTH` | `--chunk-min-length` | `50` | Minimum chunk length in characters (1–10000) |
|
|
368
|
+
| `RAG_DEVICE` | — | `cpu` | Execution device. Passed straight to ONNX Runtime. See the [Transformers.js device source code](https://github.com/huggingface/transformers.js/blob/main/packages/transformers/src/utils/devices.js) for the live list of supported backend names. If initialization fails, the server throws an error. |
|
|
323
369
|
|
|
324
370
|
**Model choice tips:**
|
|
325
371
|
- Multilingual docs → e.g., `onnx-community/embeddinggemma-300m-ONNX` (100+ languages)
|
|
@@ -373,7 +419,11 @@ The embedding model (~90MB) downloads on first use. Takes 1-2 minutes, then work
|
|
|
373
419
|
|
|
374
420
|
- **Path restriction**: Only files within `BASE_DIR` are accessible
|
|
375
421
|
- **Local only**: No network requests after model download
|
|
376
|
-
- **Model
|
|
422
|
+
- **Model sources** (all official HuggingFace repositories):
|
|
423
|
+
- Embedder: [`Xenova/all-MiniLM-L6-v2`](https://huggingface.co/Xenova/all-MiniLM-L6-v2)
|
|
424
|
+
- Visual `fast` profile: [`HuggingFaceTB/SmolVLM-256M-Instruct`](https://huggingface.co/HuggingFaceTB/SmolVLM-256M-Instruct)
|
|
425
|
+
- Visual `quality` profile: [`onnx-community/Qwen2.5-VL-3B-Instruct-ONNX`](https://huggingface.co/onnx-community/Qwen2.5-VL-3B-Instruct-ONNX)
|
|
426
|
+
- **Visual caption fidelity**: The `quality` profile reproduces in-image text more faithfully than `fast`. Both profiles output captions wrapped as `[Visual content on page N: …]`, but a faithful reproduction means attacker-controlled in-image text — including characters like `]` that visually close the envelope — can appear verbatim in retrieved chunks. Downstream LLM consumers should treat retrieved chunks as untrusted data, not as instructions, regardless of envelope shape.
|
|
377
427
|
|
|
378
428
|
<details>
|
|
379
429
|
<summary><strong>Performance</strong></summary>
|
|
@@ -432,7 +482,7 @@ Ensure file paths are within `BASE_DIR`. Use absolute paths.
|
|
|
432
482
|
Yes. After model download, nothing leaves your machine. Verify with network monitoring.
|
|
433
483
|
|
|
434
484
|
**Can I use this offline?**
|
|
435
|
-
Yes, after the
|
|
485
|
+
Yes, after the required models are cached locally. Text ingest/search needs the embedding model. PDF visual mode is opt-in and also needs the VLM model on first use; the download is ~250 MB for the default `fast` profile (SmolVLM-256M) or ~2.9 GB for the `quality` profile (Qwen2.5-VL-3B), cached under `CACHE_DIR` (default: `./models/`).
|
|
436
486
|
|
|
437
487
|
**How does this compare to cloud RAG?**
|
|
438
488
|
Cloud services offer better accuracy at scale but require sending data externally. This trades some accuracy for complete privacy and zero runtime cost.
|
|
@@ -444,7 +494,7 @@ PDF, DOCX, TXT, Markdown, and HTML (via `ingest_data`). Not yet: Excel, PowerPoi
|
|
|
444
494
|
Yes, but you must delete your database and re-ingest all documents. Different models produce incompatible vector dimensions.
|
|
445
495
|
|
|
446
496
|
**GPU acceleration?**
|
|
447
|
-
|
|
497
|
+
Opt-in via `RAG_DEVICE`. Devices are passed straight to ONNX Runtime. GPU support is highly dependent on your system, Node.js version, and the underlying ONNX backend. See the [Transformers.js device source code](https://github.com/huggingface/transformers.js/blob/main/packages/transformers/src/utils/devices.js) for the live list of supported backend names. If the requested device fails to initialize, the server throws an error — set `RAG_DEVICE=cpu` to revert.
|
|
448
498
|
|
|
449
499
|
**Multi-user support?**
|
|
450
500
|
No. Designed for single-user, local access. Multi-user would require authentication/access control.
|
package/dist/cli/common.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Embedder } from '../embedder/index.js';
|
|
2
2
|
import { VectorStore } from '../vectordb/index.js';
|
|
3
|
-
import type
|
|
3
|
+
import { type ResolvedGlobalConfig } from './options.js';
|
|
4
4
|
/**
|
|
5
5
|
* Create an uninitialized VectorStore from resolved global config.
|
|
6
6
|
* Callers are responsible for calling initialize() before use.
|
package/dist/cli/common.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/cli/common.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/cli/common.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,KAAK,oBAAoB,EAAiB,MAAM,cAAc,CAAA;AAEvE;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,WAAW,CAK3E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,QAAQ,CAOrE"}
|
package/dist/cli/common.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// Shared CLI component helpers — factory functions for VectorStore and Embedder
|
|
2
2
|
import { Embedder } from '../embedder/index.js';
|
|
3
3
|
import { VectorStore } from '../vectordb/index.js';
|
|
4
|
+
import { resolveDevice } from './options.js';
|
|
4
5
|
/**
|
|
5
6
|
* Create an uninitialized VectorStore from resolved global config.
|
|
6
7
|
* Callers are responsible for calling initialize() before use.
|
|
@@ -20,6 +21,7 @@ export function createEmbedder(config) {
|
|
|
20
21
|
modelPath: config.modelName,
|
|
21
22
|
batchSize: 16,
|
|
22
23
|
cacheDir: config.cacheDir,
|
|
24
|
+
device: resolveDevice(process.env['RAG_DEVICE']),
|
|
23
25
|
});
|
|
24
26
|
}
|
|
25
27
|
//# sourceMappingURL=common.js.map
|
package/dist/cli/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/cli/common.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAEhF,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/cli/common.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAEhF,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAA6B,aAAa,EAAE,MAAM,cAAc,CAAA;AAEvE;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAA4B;IAC5D,OAAO,IAAI,WAAW,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,QAAQ;KACpB,CAAC,CAAA;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAA4B;IACzD,OAAO,IAAI,QAAQ,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;KACjD,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/cli/ingest.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import { SemanticChunker } from '../chunker/index.js';
|
|
2
|
+
import type { Embedder } from '../embedder/index.js';
|
|
3
|
+
import { DocumentParser } from '../parser/index.js';
|
|
4
|
+
import type { QualityProfile } from '../pdf-visual/types.js';
|
|
5
|
+
import type { VectorStore } from '../vectordb/index.js';
|
|
1
6
|
import type { GlobalOptions, ResolvedGlobalConfig } from './options.js';
|
|
2
7
|
interface IngestConfig {
|
|
3
8
|
baseDir: string;
|
|
@@ -11,6 +16,13 @@ interface IngestCliOptions {
|
|
|
11
16
|
baseDir?: string | undefined;
|
|
12
17
|
maxFileSize?: number | undefined;
|
|
13
18
|
chunkMinLength?: number | undefined;
|
|
19
|
+
visual?: boolean | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* Visual-quality profile selector. Only meaningful when `visual` is true;
|
|
22
|
+
* silently ignored otherwise (mirrors the existing `--visual` precedent
|
|
23
|
+
* of silently coercing for non-PDF files). Defaults to `'fast'`.
|
|
24
|
+
*/
|
|
25
|
+
visualQuality?: QualityProfile | undefined;
|
|
14
26
|
}
|
|
15
27
|
interface ParsedArgs {
|
|
16
28
|
positional: string | undefined;
|
|
@@ -29,6 +41,42 @@ export declare function parseArgs(args: string[]): ParsedArgs;
|
|
|
29
41
|
* Validates all resolved values before returning.
|
|
30
42
|
*/
|
|
31
43
|
export declare function resolveConfig(globalConfig: ResolvedGlobalConfig, ingestOptions?: IngestCliOptions): IngestConfig;
|
|
44
|
+
/**
|
|
45
|
+
* Options for `ingestSingleFile`. Discriminated on `visual` so the visual
|
|
46
|
+
* path is type-only callable with the VLM config it actually needs:
|
|
47
|
+
* - `visual` absent or `false` → no VLM fields required (and not accepted).
|
|
48
|
+
* - `visual: true` → `profile` and `cacheDir` required; `device` optional.
|
|
49
|
+
*
|
|
50
|
+
* Why a union rather than always-required fields: making the VLM fields
|
|
51
|
+
* unconditionally required forces non-visual callers (default-mode tests,
|
|
52
|
+
* future direct-import callers that only ingest non-PDF files) to fabricate
|
|
53
|
+
* VLM config they will never use. The visual-true variant still catches
|
|
54
|
+
* accidental misuse at compile time, which was the original goal.
|
|
55
|
+
*/
|
|
56
|
+
export type IngestSingleFileOptions = {
|
|
57
|
+
visual?: false | undefined;
|
|
58
|
+
} | {
|
|
59
|
+
visual: true;
|
|
60
|
+
profile: QualityProfile;
|
|
61
|
+
cacheDir: string;
|
|
62
|
+
device?: string | undefined;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Ingest a single file: parse, chunk, embed, delete old chunks, insert new chunks.
|
|
66
|
+
* Returns the number of chunks inserted.
|
|
67
|
+
*
|
|
68
|
+
* When `options.visual === true` AND the file is a `.pdf`, routes through the
|
|
69
|
+
* visual-enrichment path: `parsePdfPages` + VLM captioning (`pdf-visual`
|
|
70
|
+
* orchestrator) + joined-text chunking. `pdf-visual` is loaded via dynamic
|
|
71
|
+
* `await import('../pdf-visual/index.js')` so the default (non-visual) path
|
|
72
|
+
* never pulls the VLM module into the bundle (NFR-1 dynamic-import discipline,
|
|
73
|
+
* verified by AC-001 Proxy sentinel in T4.6).
|
|
74
|
+
*
|
|
75
|
+
* Non-visual, non-PDF, and `visual: true` + non-PDF (silently falls through
|
|
76
|
+
* to the default branch — AC-006) paths are byte-identical to the post-T0.3
|
|
77
|
+
* state and never load `pdf-visual`.
|
|
78
|
+
*/
|
|
79
|
+
export declare function ingestSingleFile(filePath: string, parser: DocumentParser, chunker: SemanticChunker, embedder: Embedder, vectorStore: VectorStore, options?: IngestSingleFileOptions): Promise<number>;
|
|
32
80
|
/**
|
|
33
81
|
* Run the ingest CLI subcommand.
|
|
34
82
|
* @param args - Arguments after "ingest" (e.g., option flags and file/directory path)
|
package/dist/cli/ingest.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingest.d.ts","sourceRoot":"","sources":["../../src/cli/ingest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ingest.d.ts","sourceRoot":"","sources":["../../src/cli/ingest.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAGpD,OAAO,EAAE,cAAc,EAAwB,MAAM,oBAAoB,CAAA;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEpE,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAmBvE,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAQD,UAAU,gBAAgB;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC5B;;;;OAIG;IACH,aAAa,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;CAC3C;AAED,UAAU,UAAU;IAClB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,OAAO,EAAE,gBAAgB,CAAA;IACzB,IAAI,EAAE,OAAO,CAAA;CACd;AAmCD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CA6FpD;AAMD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,YAAY,EAAE,oBAAoB,EAClC,aAAa,GAAE,gBAAqB,GACnC,YAAY,CA+Cd;AAgFD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,uBAAuB,GAC/B;IAAE,MAAM,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;CAAE,GAC9B;IACE,MAAM,EAAE,IAAI,CAAA;IACZ,OAAO,EAAE,cAAc,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B,CAAA;AAEL;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,MAAM,CAAC,CAuGjB;AAMD;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,aAAa,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2HhG"}
|
package/dist/cli/ingest.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
// CLI ingest subcommand — bulk file ingestion with single optimize() at end
|
|
2
2
|
import { randomUUID } from 'node:crypto';
|
|
3
3
|
import { opendir, stat } from 'node:fs/promises';
|
|
4
|
-
import { extname, join, resolve } from 'node:path';
|
|
4
|
+
import { basename, extname, join, resolve, sep } from 'node:path';
|
|
5
5
|
import { SemanticChunker } from '../chunker/index.js';
|
|
6
|
+
import { buildChunksAndEmbeddings } from '../ingest/compute.js';
|
|
7
|
+
import { prepareVisualPdfChunks } from '../ingest/visual.js';
|
|
6
8
|
import { DocumentParser, SUPPORTED_EXTENSIONS } from '../parser/index.js';
|
|
7
9
|
import { createEmbedder, createVectorStore } from './common.js';
|
|
8
|
-
import { resolveGlobalConfig, validateChunkMinLength, validateMaxFileSize, validatePath, } from './options.js';
|
|
10
|
+
import { resolveDevice, resolveGlobalConfig, validateChunkMinLength, validateMaxFileSize, validatePath, } from './options.js';
|
|
9
11
|
// ============================================
|
|
10
12
|
// Constants
|
|
11
13
|
// ============================================
|
|
@@ -24,10 +26,12 @@ const HELP_TEXT = `Usage: mcp-local-rag [global-options] ingest [options] <path>
|
|
|
24
26
|
Ingest a single file or all supported files under a directory.
|
|
25
27
|
|
|
26
28
|
Options:
|
|
27
|
-
--base-dir <path>
|
|
28
|
-
--max-file-size <n>
|
|
29
|
-
--chunk-min-length <n>
|
|
30
|
-
|
|
29
|
+
--base-dir <path> Base directory for documents (default: cwd)
|
|
30
|
+
--max-file-size <n> Max file size in bytes (default: ${INGEST_DEFAULTS.maxFileSize})
|
|
31
|
+
--chunk-min-length <n> Minimum chunk length in characters (default: 50, range: 1-10000)
|
|
32
|
+
--visual Enable VLM captioning for PDF figure pages (PDFs only; no effect on other types)
|
|
33
|
+
--visual-quality <profile> VLM profile when --visual is set: fast (default, lightweight) or quality (Qwen2.5-VL-3B, ~10x cache, ~2x inference)
|
|
34
|
+
-h, --help Show this help
|
|
31
35
|
|
|
32
36
|
Global options (must appear before "ingest"):
|
|
33
37
|
--db-path <path> LanceDB database path
|
|
@@ -92,6 +96,25 @@ export function parseArgs(args) {
|
|
|
92
96
|
i++;
|
|
93
97
|
break;
|
|
94
98
|
}
|
|
99
|
+
case '--visual':
|
|
100
|
+
// Boolean toggle: no value consumed. Mirrors the -h/--help pattern.
|
|
101
|
+
options.visual = true;
|
|
102
|
+
i++;
|
|
103
|
+
break;
|
|
104
|
+
case '--visual-quality': {
|
|
105
|
+
const value = args[++i];
|
|
106
|
+
if (value === undefined || value.startsWith('-')) {
|
|
107
|
+
console.error('Missing value for --visual-quality');
|
|
108
|
+
process.exit(1);
|
|
109
|
+
}
|
|
110
|
+
if (value !== 'fast' && value !== 'quality') {
|
|
111
|
+
console.error(`Invalid value for --visual-quality: "${value.slice(0, 100)}". Expected "fast" or "quality".`);
|
|
112
|
+
process.exit(1);
|
|
113
|
+
}
|
|
114
|
+
options.visualQuality = value;
|
|
115
|
+
i++;
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
95
118
|
default:
|
|
96
119
|
if (arg.startsWith('-')) {
|
|
97
120
|
console.error(`Unknown option: ${arg}`);
|
|
@@ -221,19 +244,78 @@ async function collectFiles(targetPath, excludePaths) {
|
|
|
221
244
|
}
|
|
222
245
|
return [];
|
|
223
246
|
}
|
|
224
|
-
// ============================================
|
|
225
|
-
// Per-file Ingestion
|
|
226
|
-
// ============================================
|
|
227
247
|
/**
|
|
228
248
|
* Ingest a single file: parse, chunk, embed, delete old chunks, insert new chunks.
|
|
229
249
|
* Returns the number of chunks inserted.
|
|
250
|
+
*
|
|
251
|
+
* When `options.visual === true` AND the file is a `.pdf`, routes through the
|
|
252
|
+
* visual-enrichment path: `parsePdfPages` + VLM captioning (`pdf-visual`
|
|
253
|
+
* orchestrator) + joined-text chunking. `pdf-visual` is loaded via dynamic
|
|
254
|
+
* `await import('../pdf-visual/index.js')` so the default (non-visual) path
|
|
255
|
+
* never pulls the VLM module into the bundle (NFR-1 dynamic-import discipline,
|
|
256
|
+
* verified by AC-001 Proxy sentinel in T4.6).
|
|
257
|
+
*
|
|
258
|
+
* Non-visual, non-PDF, and `visual: true` + non-PDF (silently falls through
|
|
259
|
+
* to the default branch — AC-006) paths are byte-identical to the post-T0.3
|
|
260
|
+
* state and never load `pdf-visual`.
|
|
230
261
|
*/
|
|
231
|
-
async function ingestSingleFile(filePath, parser, chunker, embedder, vectorStore) {
|
|
262
|
+
export async function ingestSingleFile(filePath, parser, chunker, embedder, vectorStore, options) {
|
|
232
263
|
// Parse file
|
|
233
264
|
const isPdf = filePath.toLowerCase().endsWith('.pdf');
|
|
234
265
|
let text;
|
|
235
266
|
let title = null;
|
|
236
|
-
if (isPdf) {
|
|
267
|
+
if (options?.visual === true && isPdf) {
|
|
268
|
+
// Visual dispatch — delegates the shared visual-PDF flow to
|
|
269
|
+
// `prepareVisualPdfChunks` (NFR-1: the dynamic `pdf-visual` import lives
|
|
270
|
+
// inside that helper, not here). This branch keeps the CLI persistence
|
|
271
|
+
// model (delete + insert; bulk-loop optimize at the end of `runIngest`).
|
|
272
|
+
//
|
|
273
|
+
// `profile` and `cacheDir` are required by `prepareVisualPdfChunks`;
|
|
274
|
+
// the CLI bulk-loop always supplies them from the resolved CLI options
|
|
275
|
+
// (`runIngest` defaults `visualQuality` to `'fast'` when `--visual` is
|
|
276
|
+
// set without `--visual-quality`).
|
|
277
|
+
const visualResult = await prepareVisualPdfChunks(filePath, parser, chunker, embedder, {
|
|
278
|
+
profile: options.profile,
|
|
279
|
+
cacheDir: options.cacheDir,
|
|
280
|
+
device: options.device,
|
|
281
|
+
});
|
|
282
|
+
const { chunks, embeddings } = visualResult;
|
|
283
|
+
if (chunks.length === 0) {
|
|
284
|
+
console.error(` Warning: 0 chunks generated (file may be empty or too short)`);
|
|
285
|
+
return 0;
|
|
286
|
+
}
|
|
287
|
+
title = visualResult.title;
|
|
288
|
+
// Persistence — identical to the default branch below; inlined here so
|
|
289
|
+
// chunks/embeddings produced on the visual path persist correctly. The
|
|
290
|
+
// joined enriched-page text is taken from the helper to preserve the
|
|
291
|
+
// pre-existing `metadata.fileSize` semantics (post-enrichment,
|
|
292
|
+
// pre-chunking text length).
|
|
293
|
+
await vectorStore.deleteChunks(filePath);
|
|
294
|
+
const timestamp = new Date().toISOString();
|
|
295
|
+
const vectorChunks = chunks.map((chunk, index) => {
|
|
296
|
+
const embedding = embeddings[index];
|
|
297
|
+
if (!embedding) {
|
|
298
|
+
throw new Error(`Missing embedding for chunk ${index}`);
|
|
299
|
+
}
|
|
300
|
+
return {
|
|
301
|
+
id: randomUUID(),
|
|
302
|
+
filePath,
|
|
303
|
+
chunkIndex: chunk.index,
|
|
304
|
+
text: chunk.text,
|
|
305
|
+
vector: embedding,
|
|
306
|
+
metadata: {
|
|
307
|
+
fileName: basename(filePath),
|
|
308
|
+
fileSize: visualResult.text.length,
|
|
309
|
+
fileType: extname(filePath).slice(1),
|
|
310
|
+
},
|
|
311
|
+
fileTitle: title,
|
|
312
|
+
timestamp,
|
|
313
|
+
};
|
|
314
|
+
});
|
|
315
|
+
await vectorStore.insertChunks(vectorChunks);
|
|
316
|
+
return vectorChunks.length;
|
|
317
|
+
}
|
|
318
|
+
else if (isPdf) {
|
|
237
319
|
const result = await parser.parsePdf(filePath, embedder);
|
|
238
320
|
text = result.content;
|
|
239
321
|
title = result.title || null;
|
|
@@ -243,14 +325,12 @@ async function ingestSingleFile(filePath, parser, chunker, embedder, vectorStore
|
|
|
243
325
|
text = result.content;
|
|
244
326
|
title = result.title || null;
|
|
245
327
|
}
|
|
246
|
-
// Chunk text
|
|
247
|
-
const chunks = await
|
|
328
|
+
// Chunk text + generate embeddings via the shared computation layer (Phase 0).
|
|
329
|
+
const { chunks, embeddings } = await buildChunksAndEmbeddings(text, title, chunker, embedder);
|
|
248
330
|
if (chunks.length === 0) {
|
|
249
331
|
console.error(` Warning: 0 chunks generated (file may be empty or too short)`);
|
|
250
332
|
return 0;
|
|
251
333
|
}
|
|
252
|
-
// Generate embeddings
|
|
253
|
-
const embeddings = await embedder.embedBatch(chunks.map((c) => c.text));
|
|
254
334
|
// Delete existing chunks for this file
|
|
255
335
|
await vectorStore.deleteChunks(filePath);
|
|
256
336
|
// Build vector chunks
|
|
@@ -267,9 +347,9 @@ async function ingestSingleFile(filePath, parser, chunker, embedder, vectorStore
|
|
|
267
347
|
text: chunk.text,
|
|
268
348
|
vector: embedding,
|
|
269
349
|
metadata: {
|
|
270
|
-
fileName: filePath
|
|
350
|
+
fileName: basename(filePath),
|
|
271
351
|
fileSize: text.length,
|
|
272
|
-
fileType: filePath
|
|
352
|
+
fileType: extname(filePath).slice(1),
|
|
273
353
|
},
|
|
274
354
|
fileTitle: title,
|
|
275
355
|
timestamp,
|
|
@@ -314,7 +394,7 @@ export async function runIngest(args, globalOptions = {}) {
|
|
|
314
394
|
// Resolve config: CLI flags > env vars > defaults
|
|
315
395
|
const globalConfig = resolveGlobalConfig(globalOptions);
|
|
316
396
|
const config = resolveConfig(globalConfig, options);
|
|
317
|
-
const excludePaths = [`${resolve(config.dbPath)}
|
|
397
|
+
const excludePaths = [`${resolve(config.dbPath)}${sep}`, `${resolve(config.cacheDir)}${sep}`];
|
|
318
398
|
// Collect files
|
|
319
399
|
const files = await collectFiles(targetPath, excludePaths);
|
|
320
400
|
if (files.length === 0) {
|
|
@@ -333,30 +413,55 @@ export async function runIngest(args, globalOptions = {}) {
|
|
|
333
413
|
await vectorStore.initialize();
|
|
334
414
|
// Process each file
|
|
335
415
|
const summary = { succeeded: 0, failed: 0, totalChunks: 0 };
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
//
|
|
343
|
-
|
|
344
|
-
|
|
416
|
+
try {
|
|
417
|
+
for (let i = 0; i < files.length; i++) {
|
|
418
|
+
const filePath = files[i];
|
|
419
|
+
const label = `[${i + 1}/${files.length}]`;
|
|
420
|
+
try {
|
|
421
|
+
// Forward visual + VLM env-resolved options into the per-file ingestor.
|
|
422
|
+
// `ingestSingleFile` routes through the visual path when
|
|
423
|
+
// `options.visual === true && filePath.endsWith('.pdf')`. The two
|
|
424
|
+
// variants of `IngestSingleFileOptions` are built explicitly so the
|
|
425
|
+
// VLM fields only travel with the visual-true branch (the cacheDir is
|
|
426
|
+
// pre-validated by `resolveGlobalConfig` so the captioner does not
|
|
427
|
+
// re-read `process.env['CACHE_DIR']` raw).
|
|
428
|
+
const ingestOptions = options.visual
|
|
429
|
+
? {
|
|
430
|
+
visual: true,
|
|
431
|
+
// Default the profile to `'fast'` when `--visual-quality` was
|
|
432
|
+
// not provided. The flag is silently ignored when `--visual`
|
|
433
|
+
// itself is absent (mirrors the existing `--visual` precedent
|
|
434
|
+
// of silently coercing for non-PDF files).
|
|
435
|
+
profile: options.visualQuality ?? 'fast',
|
|
436
|
+
cacheDir: globalConfig.cacheDir,
|
|
437
|
+
device: resolveDevice(process.env['RAG_DEVICE']),
|
|
438
|
+
}
|
|
439
|
+
: { visual: false };
|
|
440
|
+
const chunkCount = await ingestSingleFile(filePath, parser, chunker, embedder, vectorStore, ingestOptions);
|
|
441
|
+
if (chunkCount === 0) {
|
|
442
|
+
// 0 chunks is a skip/warning, not a failure
|
|
443
|
+
console.error(`${label} ${filePath} ... SKIPPED (0 chunks)`);
|
|
444
|
+
summary.succeeded++;
|
|
445
|
+
}
|
|
446
|
+
else {
|
|
447
|
+
console.error(`${label} ${filePath} ... OK (${chunkCount} chunks)`);
|
|
448
|
+
summary.succeeded++;
|
|
449
|
+
summary.totalChunks += chunkCount;
|
|
450
|
+
}
|
|
345
451
|
}
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
summary.
|
|
452
|
+
catch (error) {
|
|
453
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
454
|
+
console.error(`${label} ${filePath} ... FAILED: ${reason}`);
|
|
455
|
+
summary.failed++;
|
|
350
456
|
}
|
|
351
457
|
}
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
458
|
+
// Optimize once at end (not per-file)
|
|
459
|
+
await vectorStore.optimize();
|
|
460
|
+
}
|
|
461
|
+
finally {
|
|
462
|
+
await embedder.dispose();
|
|
463
|
+
await vectorStore.close();
|
|
357
464
|
}
|
|
358
|
-
// Optimize once at end (not per-file)
|
|
359
|
-
await vectorStore.optimize();
|
|
360
465
|
// Print summary
|
|
361
466
|
console.error('');
|
|
362
467
|
console.error('--- Ingest Summary ---');
|
package/dist/cli/ingest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../src/cli/ingest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../src/cli/ingest.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/list.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/cli/list.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAOjD,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC7B;AAED,UAAU,UAAU;IAClB,OAAO,EAAE,cAAc,CAAA;IACvB,IAAI,EAAE,OAAO,CAAA;CACd;AA2CD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAoCpD;AAMD;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,aAAa,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/cli/list.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAOjD,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC7B;AAED,UAAU,UAAU;IAClB,OAAO,EAAE,cAAc,CAAA;IACvB,IAAI,EAAE,OAAO,CAAA;CACd;AA2CD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAoCpD;AAMD;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,aAAa,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgF9F"}
|
package/dist/cli/list.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// CLI list subcommand — list files and ingestion status
|
|
2
2
|
import { readdir } from 'node:fs/promises';
|
|
3
|
-
import { extname, join, resolve } from 'node:path';
|
|
3
|
+
import { extname, join, resolve, sep } from 'node:path';
|
|
4
4
|
import { SUPPORTED_EXTENSIONS } from '../parser/index.js';
|
|
5
5
|
import { extractSourceFromPath, isRawDataPath } from '../utils/raw-data-utils.js';
|
|
6
6
|
import { createVectorStore } from './common.js';
|
|
@@ -94,8 +94,11 @@ export async function runList(args, globalOptions = {}) {
|
|
|
94
94
|
// Initialize VectorStore only (no Embedder needed for list)
|
|
95
95
|
const vectorStore = createVectorStore(globalConfig);
|
|
96
96
|
await vectorStore.initialize();
|
|
97
|
-
// Build exclude paths (resolved to absolute)
|
|
98
|
-
const excludePaths = [
|
|
97
|
+
// Build exclude paths (resolved to absolute, platform-aware trailing separator)
|
|
98
|
+
const excludePaths = [
|
|
99
|
+
`${resolve(globalConfig.dbPath)}${sep}`,
|
|
100
|
+
`${resolve(globalConfig.cacheDir)}${sep}`,
|
|
101
|
+
];
|
|
99
102
|
// Get all ingested entries from the vector store
|
|
100
103
|
const ingested = await vectorStore.listFiles();
|
|
101
104
|
const ingestedMap = new Map(ingested.map((f) => [f.filePath, f]));
|
package/dist/cli/list.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/cli/list.ts"],"names":[],"mappings":"AAAA,wDAAwD;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/cli/list.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/options.d.ts
CHANGED
|
@@ -51,4 +51,9 @@ export declare function parseGlobalOptions(args: string[]): ParsedGlobalResult;
|
|
|
51
51
|
* Validates all resolved values before returning.
|
|
52
52
|
*/
|
|
53
53
|
export declare function resolveGlobalConfig(options: GlobalOptions): ResolvedGlobalConfig;
|
|
54
|
+
/**
|
|
55
|
+
* Resolve RAG_DEVICE. The value is passed through to transformers.js — no
|
|
56
|
+
* allowlist is maintained here. Whitespace-only is treated as unset.
|
|
57
|
+
*/
|
|
58
|
+
export declare function resolveDevice(value: string | undefined): string;
|
|
54
59
|
//# sourceMappingURL=options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/cli/options.ts"],"names":[],"mappings":"AAaA;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAuBhF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASnE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKrE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKxE;AAMD,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,aAAa,CAAA;IAC5B,aAAa,EAAE,MAAM,EAAE,CAAA;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB;AAMD,eAAO,MAAM,eAAe;;;;CAIlB,CAAA;AAMV,eAAO,MAAM,cAAc,QAeiC,CAAA;AAM5D;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAqErE;AAMD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,oBAAoB,CA0BhF"}
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/cli/options.ts"],"names":[],"mappings":"AAaA;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAuBhF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASnE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKrE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKxE;AAMD,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,aAAa,CAAA;IAC5B,aAAa,EAAE,MAAM,EAAE,CAAA;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB;AAMD,eAAO,MAAM,eAAe;;;;CAIlB,CAAA;AAMV,eAAO,MAAM,cAAc,QAeiC,CAAA;AAM5D;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAqErE;AAMD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,oBAAoB,CA0BhF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAG/D"}
|
package/dist/cli/options.js
CHANGED
|
@@ -201,4 +201,13 @@ export function resolveGlobalConfig(options) {
|
|
|
201
201
|
}
|
|
202
202
|
return { dbPath, cacheDir, modelName };
|
|
203
203
|
}
|
|
204
|
+
/**
|
|
205
|
+
* Resolve RAG_DEVICE. The value is passed through to transformers.js — no
|
|
206
|
+
* allowlist is maintained here. Whitespace-only is treated as unset.
|
|
207
|
+
*/
|
|
208
|
+
export function resolveDevice(value) {
|
|
209
|
+
if (!value || value.trim() === '')
|
|
210
|
+
return 'cpu';
|
|
211
|
+
return value.trim();
|
|
212
|
+
}
|
|
204
213
|
//# sourceMappingURL=options.js.map
|