@jcode.labs/ragmir 2.17.0 → 2.17.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 +37 -178
- package/dist/access-log.d.ts +1 -0
- package/dist/access-log.d.ts.map +1 -1
- package/dist/access-log.js +57 -24
- package/dist/access-log.js.map +1 -1
- package/dist/client.d.ts +3 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +4 -4
- package/dist/client.js.map +1 -1
- package/dist/config.js +6 -14
- package/dist/config.js.map +1 -1
- package/dist/context-resources.d.ts +3 -3
- package/dist/context-resources.d.ts.map +1 -1
- package/dist/context-resources.js +13 -4
- package/dist/context-resources.js.map +1 -1
- package/dist/destroy.js +2 -2
- package/dist/destroy.js.map +1 -1
- package/dist/doctor.d.ts +2 -2
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +11 -3
- package/dist/doctor.js.map +1 -1
- package/dist/embeddings.d.ts +4 -0
- package/dist/embeddings.d.ts.map +1 -1
- package/dist/embeddings.js +68 -9
- package/dist/embeddings.js.map +1 -1
- package/dist/evaluate.d.ts +5 -0
- package/dist/evaluate.d.ts.map +1 -1
- package/dist/evaluate.js +50 -9
- package/dist/evaluate.js.map +1 -1
- package/dist/files.d.ts +3 -10
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +49 -15
- package/dist/files.js.map +1 -1
- package/dist/ingest.d.ts +2 -2
- package/dist/ingest.d.ts.map +1 -1
- package/dist/ingest.js +21 -16
- package/dist/ingest.js.map +1 -1
- package/dist/ingestion-state.d.ts +1 -0
- package/dist/ingestion-state.d.ts.map +1 -1
- package/dist/ingestion-state.js +89 -25
- package/dist/ingestion-state.js.map +1 -1
- package/dist/mcp-output.d.ts +14 -0
- package/dist/mcp-output.d.ts.map +1 -1
- package/dist/mcp-output.js +121 -0
- package/dist/mcp-output.js.map +1 -1
- package/dist/mcp.d.ts +8 -0
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +362 -116
- package/dist/mcp.js.map +1 -1
- package/dist/ocr.d.ts.map +1 -1
- package/dist/ocr.js +6 -12
- package/dist/ocr.js.map +1 -1
- package/dist/operation.d.ts.map +1 -1
- package/dist/operation.js +3 -2
- package/dist/operation.js.map +1 -1
- package/dist/parsing.d.ts +1 -0
- package/dist/parsing.d.ts.map +1 -1
- package/dist/parsing.js +86 -27
- package/dist/parsing.js.map +1 -1
- package/dist/project-config-file.d.ts +11 -0
- package/dist/project-config-file.d.ts.map +1 -0
- package/dist/project-config-file.js +55 -0
- package/dist/project-config-file.js.map +1 -0
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +12 -4
- package/dist/query.js.map +1 -1
- package/dist/research.d.ts.map +1 -1
- package/dist/research.js +3 -2
- package/dist/research.js.map +1 -1
- package/dist/security.d.ts +2 -2
- package/dist/security.d.ts.map +1 -1
- package/dist/security.js +57 -21
- package/dist/security.js.map +1 -1
- package/dist/semantic-config.d.ts.map +1 -1
- package/dist/semantic-config.js +16 -20
- package/dist/semantic-config.js.map +1 -1
- package/dist/skill.d.ts +2 -13
- package/dist/skill.d.ts.map +1 -1
- package/dist/skill.js.map +1 -1
- package/dist/sources.d.ts.map +1 -1
- package/dist/sources.js +24 -40
- package/dist/sources.js.map +1 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +12 -5
- package/dist/store.js.map +1 -1
- package/dist/types.d.ts +15 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +7 -6
- package/skills/ragmir/SKILL.md +5 -3
- package/skills/ragmir-audio-summary/listening-style.md +11 -11
- package/skills/ragmir-audio-summary/narration-templates.md +22 -22
- package/skills/ragmir-audio-summary/split-lines.py +2 -1
package/README.md
CHANGED
|
@@ -5,38 +5,19 @@
|
|
|
5
5
|
[](https://www.npmjs.com/package/@jcode.labs/ragmir)
|
|
6
6
|
[](https://github.com/jcode-works/jcode-ragmir/blob/main/LICENSE)
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Confidential local RAG for coding agents and Node.js applications.
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
cited evidence offline by default. The corpus and generated index remain local, so confidential
|
|
12
|
-
source files are not uploaded to a hosted RAG service. Your coding agent or local script gets the
|
|
13
|
-
context it needs without an account, API key, or model download.
|
|
10
|
+
*Stop sending confidential documents directly to the cloud.*
|
|
14
11
|
|
|
15
|
-
Core
|
|
16
|
-
|
|
17
|
-
control flow.
|
|
12
|
+
Core indexes the project files you select and retrieves bounded, cited evidence offline by default.
|
|
13
|
+
It does not upload the corpus, call an LLM, or open an HTTP port.
|
|
18
14
|
|
|
19
15
|
[Project overview](https://github.com/jcode-works/jcode-ragmir#readme) ·
|
|
20
|
-
[Documentation](https://github.com/jcode-works/jcode-ragmir/wiki) ·
|
|
21
16
|
[CLI reference](https://github.com/jcode-works/jcode-ragmir/blob/main/docs/cli-reference.md) ·
|
|
22
|
-
[API reference](https://github.com/jcode-works/jcode-ragmir/blob/main/docs/api-reference.md)
|
|
17
|
+
[API reference](https://github.com/jcode-works/jcode-ragmir/blob/main/docs/api-reference.md) ·
|
|
18
|
+
[Agent integration](https://github.com/jcode-works/jcode-ragmir/blob/main/docs/agent-integration.md)
|
|
23
19
|
|
|
24
|
-
##
|
|
25
|
-
|
|
26
|
-
| Goal | Core interface |
|
|
27
|
-
| --- | --- |
|
|
28
|
-
| Search repository documents with citations | `rgr search` |
|
|
29
|
-
| Audit a local knowledge base | `rgr audit`, `rgr doctor`, and `rgr security-audit` |
|
|
30
|
-
| Add retrieval to a Node.js application | Typed `ingest`, `search`, `ask`, and `research` exports |
|
|
31
|
-
| Give an agent bounded project context | Local stdio MCP server and generated helpers |
|
|
32
|
-
| Index scanned PDFs | Embedded text first, with optional page-aware local OCR |
|
|
33
|
-
|
|
34
|
-
Core retrieves cited evidence. It does not require a generative model or generate answers. Use
|
|
35
|
-
[Ragmir Chat](https://www.npmjs.com/package/@jcode.labs/ragmir-chat) only when local GGUF synthesis
|
|
36
|
-
is useful, or [Ragmir TTS](https://www.npmjs.com/package/@jcode.labs/ragmir-tts) when you need audio
|
|
37
|
-
output. Core declares both as optional peer integrations and does not install either add-on.
|
|
38
|
-
|
|
39
|
-
## Connect a coding agent in minutes
|
|
20
|
+
## Install and retrieve
|
|
40
21
|
|
|
41
22
|
Requires Node.js 20 or later.
|
|
42
23
|
|
|
@@ -45,76 +26,24 @@ npm install --save-dev @jcode.labs/ragmir
|
|
|
45
26
|
npx rgr setup --agents codex,claude,kimi,opencode,cline
|
|
46
27
|
npx rgr sources add "README.md" "docs/**/*.md"
|
|
47
28
|
npx rgr ingest
|
|
48
|
-
npx rgr doctor
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
Then ask the selected agent:
|
|
52
|
-
|
|
53
|
-
```text
|
|
54
|
-
Use Ragmir to find the rollout decision. Cite every claim and expand the strongest citation before
|
|
55
|
-
you recommend a change.
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
Setup installs project-scoped native skills and writes a local stdio MCP helper for each selected
|
|
59
|
-
client. The generated runner pins the current project, so an agent in a monorepo does not silently
|
|
60
|
-
query a sibling index. No Ragmir-specific model is required.
|
|
61
|
-
|
|
62
|
-
The same setup works with any compatible MCP client. Hermes can launch `.ragmir/run.cjs`; local
|
|
63
|
-
scripts, CI, and internal tools can call the JSON CLI or the TypeScript API without a dedicated
|
|
64
|
-
connector.
|
|
65
|
-
|
|
66
|
-
## Use the same evidence from an automation
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
npx rgr search "Should this renewal require approval?" --compact --json
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
Use that command from a local shell script, a Node.js worker, or a CI step after mounting the project
|
|
73
|
-
and its local `.ragmir/` state. The process returns machine-readable cited passages; the workflow
|
|
74
|
-
decides whether to continue, request human approval, or stop.
|
|
75
|
-
|
|
76
|
-
For long-running agent integrations, start the local stdio server with `npx rgr serve-mcp`. For a
|
|
77
|
-
Node.js worker that owns the control flow, use `createRagmirClient()` and reuse one client per project
|
|
78
|
-
root. Ragmir does not open an HTTP port or define an authentication layer.
|
|
79
|
-
|
|
80
|
-
## Search directly from the CLI
|
|
81
|
-
|
|
82
|
-
```bash
|
|
83
29
|
npx rgr search "Which decision changed the rollout?"
|
|
84
30
|
```
|
|
85
31
|
|
|
86
|
-
|
|
87
|
-
state. Ingestion is incremental and
|
|
88
|
-
|
|
89
|
-
counts, last activity, and resume flag. Every result identifies the source path, chunk, line range,
|
|
90
|
-
and PDF page when one is available.
|
|
32
|
+
Setup keeps configuration, the index, helpers, reports, and metadata-only access logs under ignored
|
|
33
|
+
`.ragmir/` state. Ingestion is incremental and resumable. Run `npx rgr audit --unsupported` to
|
|
34
|
+
compare the selected files with the index and see what was skipped.
|
|
91
35
|
|
|
92
|
-
##
|
|
36
|
+
## Choose an interface
|
|
93
37
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
# Retrieval
|
|
101
|
-
npx rgr preview --path docs --max-chunks 3
|
|
102
|
-
npx rgr search "deployment decision"
|
|
103
|
-
npx rgr search "deployment decision" --explain
|
|
104
|
-
npx rgr search "deployment decision" --context-path "Operations > Deployment"
|
|
105
|
-
npx rgr ask "What evidence supports the deployment decision?"
|
|
106
|
-
npx rgr research "deployment obligations" --compact
|
|
107
|
-
|
|
108
|
-
# Machine-readable output
|
|
109
|
-
npx rgr search "deployment decision" --json
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
Use `npx rgr ingest --batch-size 10` when a smaller durable checkpoint is useful. Full rebuilds use
|
|
113
|
-
an isolated local generation and switch the active manifest only after validation, so a failed or
|
|
114
|
-
interrupted rebuild does not replace the last healthy index.
|
|
38
|
+
| Interface | Use |
|
|
39
|
+
| --- | --- |
|
|
40
|
+
| `rgr` CLI | Setup, ingest, search, audit, and JSON automation |
|
|
41
|
+
| TypeScript API | Typed retrieval in a script or stateful Node.js worker |
|
|
42
|
+
| Local stdio MCP | Bounded context for compatible coding agents |
|
|
115
43
|
|
|
116
|
-
`
|
|
117
|
-
|
|
44
|
+
The default `local-hash` provider needs no model download. It is lexical/hash retrieval, not
|
|
45
|
+
semantic embeddings. Enable local Transformers.js embeddings explicitly with `rgr setup --semantic`
|
|
46
|
+
and rebuild the index.
|
|
118
47
|
|
|
119
48
|
## TypeScript API
|
|
120
49
|
|
|
@@ -124,7 +53,6 @@ import { createRagmirClient } from "@jcode.labs/ragmir"
|
|
|
124
53
|
const ragmir = await createRagmirClient({ cwd: process.cwd() })
|
|
125
54
|
try {
|
|
126
55
|
await ragmir.ingest({ timeoutMs: 120_000 })
|
|
127
|
-
|
|
128
56
|
const results = await ragmir.search("Which decision changed the rollout?", {
|
|
129
57
|
topK: 5,
|
|
130
58
|
timeoutMs: 10_000,
|
|
@@ -138,98 +66,29 @@ try {
|
|
|
138
66
|
}
|
|
139
67
|
```
|
|
140
68
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
Frequently used exports:
|
|
146
|
-
|
|
147
|
-
| Export | Purpose |
|
|
148
|
-
| --- | --- |
|
|
149
|
-
| `setupProject`, `addSourceEntries` | Initialize project state and select files |
|
|
150
|
-
| `discoverKnowledgeBases`, `knowledgeBaseIdentity` | Route root and nested monorepo bases |
|
|
151
|
-
| `getKnowledgeBaseContext`, `getKnowledgeBaseSourceCatalog` | Give agents bounded readiness and source context |
|
|
152
|
-
| `createRagmirClient`, `RagmirClient` | Reuse local retrieval safely in a stateful Node.js process |
|
|
153
|
-
| `ingest`, `audit` | Build the index and compare it with files on disk |
|
|
154
|
-
| `previewChunks` | Inspect redacted chunks and distributions without writing storage |
|
|
155
|
-
| `search`, `ask`, `research`, `expandCitation` | Retrieve or expand cited passages |
|
|
156
|
-
| `doctor`, `securityAudit` | Inspect readiness and local privacy posture |
|
|
157
|
-
| `createMcpServer`, `connectMcpServer`, `serveMcp` | Construct, connect, or start the read-focused local MCP server |
|
|
158
|
-
| `configurePdfOcr`, `inspectPdfOcr` | Configure and inspect local PDF OCR |
|
|
159
|
-
|
|
160
|
-
See the [complete API reference](https://github.com/jcode-works/jcode-ragmir/blob/main/docs/api-reference.md)
|
|
161
|
-
for options and result shapes.
|
|
162
|
-
|
|
163
|
-
Any compatible CLI, TypeScript, or MCP client can consume the same cited results. A hosted AI
|
|
164
|
-
receives returned passages under its provider's data policy. OpenCode or another local consumer can
|
|
165
|
-
keep the handoff on the workstation. Optional Ragmir Chat adds local answer generation, but Qwen,
|
|
166
|
-
Gemma, and every other generative model remain outside Core.
|
|
167
|
-
|
|
168
|
-
For a monorepo with root and app-specific bases, run `rgr bases --json` before retrieval when scope
|
|
169
|
-
is unclear. The nearest configured base is active, nested MCP helpers get unique names, and every
|
|
170
|
-
helper pins `RAGMIR_PROJECT_ROOT` so clients cannot drift to a sibling index.
|
|
171
|
-
|
|
172
|
-
## Retrieval modes
|
|
173
|
-
|
|
174
|
-
| Mode | Network requirement | Best for |
|
|
175
|
-
| --- | --- | --- |
|
|
176
|
-
| `local-hash` | None | Default offline retrieval, setup-free projects, and deterministic evaluation |
|
|
177
|
-
| `transformers` | Explicit model preload or download | Higher-quality semantic matching with local inference |
|
|
178
|
-
|
|
179
|
-
Enable semantic retrieval explicitly:
|
|
180
|
-
|
|
181
|
-
```bash
|
|
182
|
-
npx rgr setup --semantic
|
|
183
|
-
npx rgr ingest --rebuild
|
|
184
|
-
```
|
|
69
|
+
Reuse one client per project root in long-running processes and close it during shutdown. Top-level
|
|
70
|
+
`ingest`, `search`, `ask`, and `research` functions remain available for one-shot scripts. `ask`
|
|
71
|
+
returns cited retrieval context, not a generated answer.
|
|
185
72
|
|
|
186
|
-
|
|
187
|
-
|
|
73
|
+
Core also exports setup, preview, audit, evaluation, source-routing, privacy, OCR, MCP, and agent
|
|
74
|
+
integration helpers. See the [complete API reference](https://github.com/jcode-works/jcode-ragmir/blob/main/docs/api-reference.md)
|
|
75
|
+
for public options and result types.
|
|
188
76
|
|
|
189
|
-
##
|
|
77
|
+
## Optional packages and boundaries
|
|
190
78
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
79
|
+
- [`@jcode.labs/ragmir-chat`](https://www.npmjs.com/package/@jcode.labs/ragmir-chat) adds local GGUF
|
|
80
|
+
answer generation from retrieved passages.
|
|
81
|
+
- [`@jcode.labs/ragmir-tts`](https://www.npmjs.com/package/@jcode.labs/ragmir-tts) renders reviewed
|
|
82
|
+
text as local audio or explicit online speech.
|
|
194
83
|
|
|
195
|
-
|
|
84
|
+
Core installs and starts without either add-on. A hosted agent receives only the passages your
|
|
85
|
+
integration gives it, under that provider's data policy. Use a local consumer when no passage may
|
|
86
|
+
leave the workstation. Ragmir has no hosted storage or cloud-sync layer; teams synchronize source
|
|
87
|
+
files separately and build one local index per developer.
|
|
196
88
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
Ragmir prefers embedded PDF text and invokes OCR only for blank pages. OCR runs through a configured
|
|
203
|
-
local executable, never a shell string or cloud OCR service.
|
|
204
|
-
|
|
205
|
-
## Local data and privacy
|
|
206
|
-
|
|
207
|
-
- Project paths resolve from `cwd` or explicit configuration, not the npm installation directory.
|
|
208
|
-
- Generated indexes, models, reports, audio, and access logs belong under ignored `.ragmir/` state.
|
|
209
|
-
- Redaction runs before indexing when configured, but it is not a compliance certification.
|
|
210
|
-
- External extractors and model downloads are opt-in system boundaries.
|
|
211
|
-
- MCP retrieval is bounded by `mcpMaxOutputBytes`; access logs contain byte metrics, not query text
|
|
212
|
-
or retrieved passages.
|
|
213
|
-
|
|
214
|
-
Read [configuration and privacy](https://github.com/jcode-works/jcode-ragmir/blob/main/docs/configuration.md)
|
|
215
|
-
and [security hardening](https://github.com/jcode-works/jcode-ragmir/blob/main/SECURITY-HARDENING.md)
|
|
89
|
+
Read the [configuration guide](https://github.com/jcode-works/jcode-ragmir/blob/main/docs/configuration.md),
|
|
90
|
+
[security hardening guide](https://github.com/jcode-works/jcode-ragmir/blob/main/SECURITY-HARDENING.md),
|
|
91
|
+
and [troubleshooting guide](https://github.com/jcode-works/jcode-ragmir/blob/main/docs/troubleshooting.md)
|
|
216
92
|
before indexing sensitive material.
|
|
217
93
|
|
|
218
|
-
## Runnable examples
|
|
219
|
-
|
|
220
|
-
| Example | Demonstrates |
|
|
221
|
-
| --- | --- |
|
|
222
|
-
| [Confidential local RAG demo](https://github.com/jcode-works/jcode-ragmir/tree/main/packages/ragmir-core/examples/sovereign-rag-demo) | CLI ingestion, search, audit, redaction, and evaluation |
|
|
223
|
-
| [Library API demo](https://github.com/jcode-works/jcode-ragmir/tree/main/packages/ragmir-core/examples/library-api-demo) | The public library surface against fictional files |
|
|
224
|
-
| [Document evidence benchmark](https://github.com/jcode-works/jcode-ragmir/tree/main/packages/ragmir-core/examples/document-evidence-benchmark) | Recall and exact citation evaluation |
|
|
225
|
-
|
|
226
|
-
## Documentation
|
|
227
|
-
|
|
228
|
-
- [Project documentation](https://github.com/jcode-works/jcode-ragmir/wiki)
|
|
229
|
-
- [CLI reference](https://github.com/jcode-works/jcode-ragmir/blob/main/docs/cli-reference.md)
|
|
230
|
-
- [TypeScript API reference](https://github.com/jcode-works/jcode-ragmir/blob/main/docs/api-reference.md)
|
|
231
|
-
- [Configuration](https://github.com/jcode-works/jcode-ragmir/blob/main/docs/configuration.md)
|
|
232
|
-
- [Agent integration](https://github.com/jcode-works/jcode-ragmir/blob/main/docs/agent-integration.md)
|
|
233
|
-
- [Troubleshooting](https://github.com/jcode-works/jcode-ragmir/blob/main/docs/troubleshooting.md)
|
|
234
|
-
|
|
235
94
|
Ragmir Core is open source under the [MIT License](https://github.com/jcode-works/jcode-ragmir/blob/main/LICENSE).
|
package/dist/access-log.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export interface McpOutputLogEvent {
|
|
|
13
13
|
compacted: boolean;
|
|
14
14
|
truncated: boolean;
|
|
15
15
|
}
|
|
16
|
+
export declare const MAX_USAGE_REPORT_DAYS = 3650;
|
|
16
17
|
export declare function recordAccess(config: Config, event: AccessLogEvent): Promise<void>;
|
|
17
18
|
export declare function recordMcpOutput(config: Config, event: McpOutputLogEvent): Promise<void>;
|
|
18
19
|
export declare function accessLogUsageReport(options?: AccessLogUsageOptions): Promise<AccessLogUsageReport>;
|
package/dist/access-log.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-log.d.ts","sourceRoot":"","sources":["../src/access-log.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"access-log.d.ts","sourceRoot":"","sources":["../src/access-log.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,MAAM,EACN,aAAa,EACd,MAAM,YAAY,CAAA;AAEnB,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;CACnB;AA2CD,eAAO,MAAM,qBAAqB,OAAQ,CAAA;AAa1C,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBvF;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2B7F;AA8CD,wBAAsB,oBAAoB,CACxC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,oBAAoB,CAAC,CAiG/B"}
|
package/dist/access-log.js
CHANGED
|
@@ -3,6 +3,7 @@ import { existsSync } from "node:fs";
|
|
|
3
3
|
import { appendFile, readFile, stat, writeFile } from "node:fs/promises";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { loadConfig } from "./config.js";
|
|
6
|
+
import { operationSignal, throwIfAborted } from "./operation.js";
|
|
6
7
|
import { ensurePrivateDirectory, hardenPrivateFile } from "./permissions.js";
|
|
7
8
|
const ACCESS_LOG_ACTIONS = [
|
|
8
9
|
"ingest",
|
|
@@ -21,6 +22,7 @@ const MCP_OUTPUT_TOOLS = [
|
|
|
21
22
|
];
|
|
22
23
|
const MCP_OUTPUT_TOOL_SET = new Set(MCP_OUTPUT_TOOLS);
|
|
23
24
|
const DEFAULT_USAGE_REPORT_DAYS = 7;
|
|
25
|
+
export const MAX_USAGE_REPORT_DAYS = 3_650;
|
|
24
26
|
const MILLISECONDS_PER_DAY = 24 * 60 * 60 * 1000;
|
|
25
27
|
/**
|
|
26
28
|
* Soft cap above which the access log is trimmed to its most recent lines.
|
|
@@ -31,18 +33,21 @@ const MAX_ACCESS_LOG_BYTES = 10 * 1024 * 1024;
|
|
|
31
33
|
/** Number of most recent lines retained when the log exceeds the byte cap. */
|
|
32
34
|
const TRIMMED_ACCESS_LOG_LINES = 50_000;
|
|
33
35
|
const ACCESS_LOG_SALT_FILE = ".ragmir-access-log.salt";
|
|
36
|
+
const accessLogWriteQueues = new Map();
|
|
34
37
|
export async function recordAccess(config, event) {
|
|
35
38
|
if (!config.accessLog) {
|
|
36
39
|
return;
|
|
37
40
|
}
|
|
38
41
|
try {
|
|
39
|
-
await
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
await withAccessLogWriteQueue(config.accessLogPath, async () => {
|
|
43
|
+
await ensurePrivateDirectory(path.dirname(config.accessLogPath));
|
|
44
|
+
await trimAccessLogIfNeeded(config.accessLogPath);
|
|
45
|
+
await appendFile(config.accessLogPath, `${JSON.stringify(await toLogLine(config, event))}\n`, {
|
|
46
|
+
encoding: "utf8",
|
|
47
|
+
mode: 0o600,
|
|
48
|
+
});
|
|
49
|
+
await hardenPrivateFile(config.accessLogPath);
|
|
44
50
|
});
|
|
45
|
-
await hardenPrivateFile(config.accessLogPath);
|
|
46
51
|
}
|
|
47
52
|
catch {
|
|
48
53
|
// Access logging is best-effort so read-only workspaces do not block local use.
|
|
@@ -53,27 +58,41 @@ export async function recordMcpOutput(config, event) {
|
|
|
53
58
|
return;
|
|
54
59
|
}
|
|
55
60
|
try {
|
|
56
|
-
await
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
61
|
+
await withAccessLogWriteQueue(config.accessLogPath, async () => {
|
|
62
|
+
await ensurePrivateDirectory(path.dirname(config.accessLogPath));
|
|
63
|
+
await trimAccessLogIfNeeded(config.accessLogPath);
|
|
64
|
+
const line = {
|
|
65
|
+
timestamp: new Date().toISOString(),
|
|
66
|
+
kind: "mcp-output",
|
|
67
|
+
tool: event.tool,
|
|
68
|
+
retrievedBytes: event.retrievedBytes,
|
|
69
|
+
returnedBytes: event.returnedBytes,
|
|
70
|
+
compacted: event.compacted,
|
|
71
|
+
truncated: event.truncated,
|
|
72
|
+
};
|
|
73
|
+
await appendFile(config.accessLogPath, `${JSON.stringify(line)}\n`, {
|
|
74
|
+
encoding: "utf8",
|
|
75
|
+
mode: 0o600,
|
|
76
|
+
});
|
|
77
|
+
await hardenPrivateFile(config.accessLogPath);
|
|
70
78
|
});
|
|
71
|
-
await hardenPrivateFile(config.accessLogPath);
|
|
72
79
|
}
|
|
73
80
|
catch {
|
|
74
81
|
// Output metrics are best-effort and must never block local retrieval.
|
|
75
82
|
}
|
|
76
83
|
}
|
|
84
|
+
function withAccessLogWriteQueue(accessLogPath, operation) {
|
|
85
|
+
const previous = accessLogWriteQueues.get(accessLogPath) ?? Promise.resolve();
|
|
86
|
+
const current = previous.then(operation);
|
|
87
|
+
const settled = current.then(() => undefined, () => undefined);
|
|
88
|
+
accessLogWriteQueues.set(accessLogPath, settled);
|
|
89
|
+
void settled.then(() => {
|
|
90
|
+
if (accessLogWriteQueues.get(accessLogPath) === settled) {
|
|
91
|
+
accessLogWriteQueues.delete(accessLogPath);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
return current;
|
|
95
|
+
}
|
|
77
96
|
async function trimAccessLogIfNeeded(accessLogPath) {
|
|
78
97
|
let size = 0;
|
|
79
98
|
try {
|
|
@@ -97,7 +116,10 @@ function isNodeError(error) {
|
|
|
97
116
|
return error instanceof Error && "code" in error;
|
|
98
117
|
}
|
|
99
118
|
export async function accessLogUsageReport(options = {}) {
|
|
119
|
+
const signal = operationSignal(options);
|
|
120
|
+
throwIfAborted(signal);
|
|
100
121
|
const config = await loadConfig(String(options.cwd ?? process.cwd()));
|
|
122
|
+
throwIfAborted(signal);
|
|
101
123
|
const days = normalizeUsageReportDays(options.days);
|
|
102
124
|
const until = new Date();
|
|
103
125
|
const since = new Date(until.getTime() - days * MILLISECONDS_PER_DAY);
|
|
@@ -115,8 +137,18 @@ export async function accessLogUsageReport(options = {}) {
|
|
|
115
137
|
let truncatedResponses = 0;
|
|
116
138
|
let lastEventAt = null;
|
|
117
139
|
if (existsSync(config.accessLogPath)) {
|
|
118
|
-
|
|
140
|
+
let content;
|
|
141
|
+
try {
|
|
142
|
+
content = await readFile(config.accessLogPath, { encoding: "utf8", signal });
|
|
143
|
+
}
|
|
144
|
+
catch (error) {
|
|
145
|
+
throwIfAborted(signal);
|
|
146
|
+
throw error;
|
|
147
|
+
}
|
|
148
|
+
throwIfAborted(signal);
|
|
149
|
+
const lines = content.split(/\r?\n/u).filter(Boolean);
|
|
119
150
|
for (const line of lines) {
|
|
151
|
+
throwIfAborted(signal);
|
|
120
152
|
const event = parseAccessLogLine(line);
|
|
121
153
|
if (!event) {
|
|
122
154
|
invalidLines += 1;
|
|
@@ -155,6 +187,7 @@ export async function accessLogUsageReport(options = {}) {
|
|
|
155
187
|
}
|
|
156
188
|
}
|
|
157
189
|
}
|
|
190
|
+
throwIfAborted(signal);
|
|
158
191
|
return {
|
|
159
192
|
accessLogEnabled: config.accessLog,
|
|
160
193
|
since: since.toISOString(),
|
|
@@ -251,8 +284,8 @@ function normalizeUsageReportDays(days) {
|
|
|
251
284
|
if (days === undefined) {
|
|
252
285
|
return DEFAULT_USAGE_REPORT_DAYS;
|
|
253
286
|
}
|
|
254
|
-
if (!Number.
|
|
255
|
-
throw new Error(
|
|
287
|
+
if (!Number.isSafeInteger(days) || days <= 0 || days > MAX_USAGE_REPORT_DAYS) {
|
|
288
|
+
throw new Error(`usage-report days must be an integer between 1 and ${MAX_USAGE_REPORT_DAYS}.`);
|
|
256
289
|
}
|
|
257
290
|
return days;
|
|
258
291
|
}
|
package/dist/access-log.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-log.js","sourceRoot":"","sources":["../src/access-log.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"access-log.js","sourceRoot":"","sources":["../src/access-log.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PathLike } from "node:fs";
|
|
2
|
-
import type { AskResult, ExpandCitationOptions, ExpandedCitation, IngestOptions, IngestResult, KnowledgeBaseContextReport, KnowledgeBaseSourceCatalog, ResearchOptions, ResearchReport, SearchOptions, SearchResult } from "./types.js";
|
|
2
|
+
import type { AskResult, ExpandCitationOptions, ExpandedCitation, IngestOptions, IngestResult, KnowledgeBaseContextReport, KnowledgeBaseSourceCatalog, OperationOptions, ResearchOptions, ResearchReport, SearchOptions, SearchResult } from "./types.js";
|
|
3
3
|
export interface RagmirClientOptions {
|
|
4
4
|
cwd?: PathLike;
|
|
5
5
|
}
|
|
@@ -18,8 +18,8 @@ export declare class RagmirClient {
|
|
|
18
18
|
ask(query: string, options?: Omit<SearchOptions, "cwd">): Promise<AskResult>;
|
|
19
19
|
research(query: string, options?: Omit<ResearchOptions, "cwd">): Promise<ResearchReport>;
|
|
20
20
|
expandCitation(citation: string, options?: Omit<ExpandCitationOptions, "cwd">): Promise<ExpandedCitation>;
|
|
21
|
-
status(): Promise<KnowledgeBaseContextReport>;
|
|
22
|
-
sources(): Promise<KnowledgeBaseSourceCatalog>;
|
|
21
|
+
status(options?: OperationOptions): Promise<KnowledgeBaseContextReport>;
|
|
22
|
+
sources(options?: OperationOptions): Promise<KnowledgeBaseSourceCatalog>;
|
|
23
23
|
close(): Promise<void>;
|
|
24
24
|
private assertOpen;
|
|
25
25
|
private run;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AASvC,OAAO,KAAK,EACV,SAAS,EAET,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,0BAA0B,EAC1B,0BAA0B,EAC1B,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACb,MAAM,YAAY,CAAA;AAEnB,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,QAAQ,CAAA;CACf;AAED,qBAAa,YAAY;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8B;IAC/D,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,YAAY,CAA2B;IAE/C,OAAO;IAMP,IAAI,QAAQ,IAAI,OAAO,CAEtB;WAEY,MAAM,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,YAAY,CAAC;IAUvE,MAAM,CAAC,OAAO,GAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAIvE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAIxF,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAIhF,QAAQ,CACZ,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,IAAI,CAAC,eAAe,EAAE,KAAK,CAAM,GACzC,OAAO,CAAC,cAAc,CAAC;IAIpB,cAAc,CAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,IAAI,CAAC,qBAAqB,EAAE,KAAK,CAAM,GAC/C,OAAO,CAAC,gBAAgB,CAAC;IAItB,MAAM,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AASvC,OAAO,KAAK,EACV,SAAS,EAET,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,0BAA0B,EAC1B,0BAA0B,EAC1B,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACb,MAAM,YAAY,CAAA;AAEnB,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,QAAQ,CAAA;CACf;AAED,qBAAa,YAAY;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8B;IAC/D,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,YAAY,CAA2B;IAE/C,OAAO;IAMP,IAAI,QAAQ,IAAI,OAAO,CAEtB;WAEY,MAAM,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,YAAY,CAAC;IAUvE,MAAM,CAAC,OAAO,GAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAIvE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAIxF,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAIhF,QAAQ,CACZ,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,IAAI,CAAC,eAAe,EAAE,KAAK,CAAM,GACzC,OAAO,CAAC,cAAc,CAAC;IAIpB,cAAc,CAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,IAAI,CAAC,qBAAqB,EAAE,KAAK,CAAM,GAC/C,OAAO,CAAC,gBAAgB,CAAC;IAItB,MAAM,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAI3E,OAAO,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAI5E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAW5B,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,GAAG;CAgBZ;AAED,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,YAAY,CAAC,CAEjG"}
|
package/dist/client.js
CHANGED
|
@@ -45,11 +45,11 @@ export class RagmirClient {
|
|
|
45
45
|
async expandCitation(citation, options = {}) {
|
|
46
46
|
return this.run(() => expandCitationWithConfig(citation, options, this.config, this.connection));
|
|
47
47
|
}
|
|
48
|
-
async status() {
|
|
49
|
-
return this.run(() => getKnowledgeBaseContext(this.projectRoot));
|
|
48
|
+
async status(options = {}) {
|
|
49
|
+
return this.run(() => getKnowledgeBaseContext(this.projectRoot, options));
|
|
50
50
|
}
|
|
51
|
-
async sources() {
|
|
52
|
-
return this.run(() => getKnowledgeBaseSourceCatalog(this.projectRoot));
|
|
51
|
+
async sources(options = {}) {
|
|
52
|
+
return this.run(() => getKnowledgeBaseSourceCatalog(this.projectRoot, options));
|
|
53
53
|
}
|
|
54
54
|
async close() {
|
|
55
55
|
if (!this.closePromise) {
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAA;AAC/F,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -228,7 +228,6 @@ function readEmbeddingProviderEnv(name, legacyName, fallback) {
|
|
|
228
228
|
}
|
|
229
229
|
const parsed = embeddingProviderSchema.safeParse(raw);
|
|
230
230
|
if (!parsed.success) {
|
|
231
|
-
warnInvalidEnv(name, raw, `"local-hash" or "transformers"`);
|
|
232
231
|
return fallback;
|
|
233
232
|
}
|
|
234
233
|
return parsed.data;
|
|
@@ -251,9 +250,8 @@ function readPositiveIntEnv(name, legacyName, fallback) {
|
|
|
251
250
|
if (!raw) {
|
|
252
251
|
return fallback;
|
|
253
252
|
}
|
|
254
|
-
const value = Number
|
|
255
|
-
if (!(Number.
|
|
256
|
-
warnInvalidEnv(name, raw, "a positive integer");
|
|
253
|
+
const value = Number(raw);
|
|
254
|
+
if (!(Number.isSafeInteger(value) && value > 0)) {
|
|
257
255
|
return fallback;
|
|
258
256
|
}
|
|
259
257
|
return value;
|
|
@@ -263,25 +261,19 @@ function readIntegerAtLeastEnv(name, legacyName, minimum, fallback) {
|
|
|
263
261
|
if (!raw) {
|
|
264
262
|
return fallback;
|
|
265
263
|
}
|
|
266
|
-
const value = Number
|
|
267
|
-
if (!(Number.
|
|
268
|
-
warnInvalidEnv(name, raw, `an integer greater than or equal to ${minimum}`);
|
|
264
|
+
const value = Number(raw);
|
|
265
|
+
if (!(Number.isSafeInteger(value) && value >= minimum)) {
|
|
269
266
|
return fallback;
|
|
270
267
|
}
|
|
271
268
|
return value;
|
|
272
269
|
}
|
|
273
|
-
function warnInvalidEnv(name, raw, expected) {
|
|
274
|
-
// Only the CLI writes to stdout; config warnings go to stderr so the operator
|
|
275
|
-
// notices an env override that was silently ignored (e.g. RAGMIR_TOP_K=abc).
|
|
276
|
-
console.warn(`[ragmir] Ignoring invalid ${name}=${JSON.stringify(raw)} (expected ${expected}); using the default instead.`);
|
|
277
|
-
}
|
|
278
270
|
function readNonNegativeIntEnv(name, legacyName, fallback) {
|
|
279
271
|
const raw = process.env[name] ?? process.env[legacyName];
|
|
280
272
|
if (!raw) {
|
|
281
273
|
return fallback;
|
|
282
274
|
}
|
|
283
|
-
const value = Number
|
|
284
|
-
return Number.
|
|
275
|
+
const value = Number(raw);
|
|
276
|
+
return Number.isSafeInteger(value) && value >= 0 ? value : fallback;
|
|
285
277
|
}
|
|
286
278
|
function readExtensionsEnv(name, legacyName, fallback) {
|
|
287
279
|
const raw = process.env[name] ?? process.env[legacyName];
|