@jcode.labs/ragmir 2.8.0 → 2.9.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 +9 -103
- package/dist/cli.js +85 -1
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/ocr.d.ts +46 -0
- package/dist/ocr.d.ts.map +1 -0
- package/dist/ocr.js +340 -0
- package/dist/ocr.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/examples/document-evidence-benchmark/golden-queries.json +1 -1
- package/examples/document-evidence-benchmark/raw/runbooks/incident-response-runbook.md +3 -3
- package/package.json +3 -3
- package/skills/ragmir/SKILL.md +59 -334
- package/skills/ragmir-audio-summary/SKILL.md +49 -204
package/dist/ocr.js
ADDED
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
|
+
import { mkdtemp, readFile, rm, writeFile } from "node:fs/promises";
|
|
3
|
+
import os from "node:os";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { findProjectConfig, loadConfig } from "./config.js";
|
|
6
|
+
import { isRecord } from "./guards.js";
|
|
7
|
+
import { initProject } from "./init.js";
|
|
8
|
+
import { MAX_EXTERNAL_TEXT_STDIO_BYTES } from "./limits.js";
|
|
9
|
+
import { rgrCommand } from "./package-manager.js";
|
|
10
|
+
import { hardenPrivateFile } from "./permissions.js";
|
|
11
|
+
const OCR_COMMAND_TIMEOUT_MS = 120_000;
|
|
12
|
+
const OCR_PROBE_TIMEOUT_MS = 10_000;
|
|
13
|
+
const OCR_PROCESS_KILL_GRACE_MS = 1_000;
|
|
14
|
+
const OCR_RENDER_DPI = 300;
|
|
15
|
+
const MINIMUM_OCRMYPDF_VERSION = { major: 12, minor: 6 };
|
|
16
|
+
export function parsePdfOcrEngine(value, allowAuto = false) {
|
|
17
|
+
const normalized = value?.trim().toLowerCase();
|
|
18
|
+
if (normalized === "ocrmypdf" || normalized === "tesseract") {
|
|
19
|
+
return normalized;
|
|
20
|
+
}
|
|
21
|
+
if (allowAuto && (normalized === undefined || normalized === "auto")) {
|
|
22
|
+
return "auto";
|
|
23
|
+
}
|
|
24
|
+
throw new Error(allowAuto ? "Expected auto, ocrmypdf, or tesseract." : "Expected ocrmypdf or tesseract.");
|
|
25
|
+
}
|
|
26
|
+
export function normalizeOcrLanguage(value = "eng") {
|
|
27
|
+
const normalized = value.trim().toLowerCase();
|
|
28
|
+
if (!/^[a-z0-9][a-z0-9_-]*(?:\+[a-z0-9][a-z0-9_-]*)*$/u.test(normalized)) {
|
|
29
|
+
throw new Error("OCR language must use Tesseract codes such as eng, fra, or eng+fra.");
|
|
30
|
+
}
|
|
31
|
+
return normalized;
|
|
32
|
+
}
|
|
33
|
+
export async function inspectPdfOcr(cwd = process.cwd()) {
|
|
34
|
+
const config = await loadConfig(cwd);
|
|
35
|
+
const [ocrmypdf, tesseract, pdftoppm] = await Promise.all([
|
|
36
|
+
probeExecutable("ocrmypdf", ["--version"]),
|
|
37
|
+
probeExecutable("tesseract", ["--version"]),
|
|
38
|
+
probeExecutable("pdftoppm", ["-v"]),
|
|
39
|
+
]);
|
|
40
|
+
const languages = tesseract.available ? await listTesseractLanguages() : [];
|
|
41
|
+
const ocrmypdfSupported = ocrmypdf.available && isSupportedOcrMyPdfVersion(ocrmypdf.version);
|
|
42
|
+
const recommendedEngine = ocrmypdfSupported
|
|
43
|
+
? "ocrmypdf"
|
|
44
|
+
: tesseract.available && pdftoppm.available
|
|
45
|
+
? "tesseract"
|
|
46
|
+
: null;
|
|
47
|
+
return {
|
|
48
|
+
projectRoot: config.projectRoot,
|
|
49
|
+
privacyProfile: config.privacyProfile,
|
|
50
|
+
configured: config.pdfOcrCommand.length > 0,
|
|
51
|
+
configuredCommand: config.pdfOcrCommand,
|
|
52
|
+
recommendedEngine,
|
|
53
|
+
ocrmypdf: { ...ocrmypdf, supported: ocrmypdfSupported },
|
|
54
|
+
tesseract,
|
|
55
|
+
pdftoppm,
|
|
56
|
+
languages,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
export async function configurePdfOcr(options = {}) {
|
|
60
|
+
const cwd = options.cwd ?? process.cwd();
|
|
61
|
+
await initProject(cwd);
|
|
62
|
+
const config = await loadConfig(cwd);
|
|
63
|
+
if (config.privacyProfile === "strict") {
|
|
64
|
+
throw new Error("The strict privacy profile disables external extractors. Use the private or custom profile before configuring local OCR.");
|
|
65
|
+
}
|
|
66
|
+
const status = await inspectPdfOcr(cwd);
|
|
67
|
+
const requestedEngine = parsePdfOcrEngine(options.engine, true);
|
|
68
|
+
const engine = resolveEngine(requestedEngine, status);
|
|
69
|
+
const language = normalizeOcrLanguage(options.language);
|
|
70
|
+
assertLanguagesAvailable(language, status.languages);
|
|
71
|
+
const timeoutMs = options.timeoutMs ?? config.pdfOcrTimeoutMs;
|
|
72
|
+
if (!Number.isInteger(timeoutMs) || timeoutMs <= 0) {
|
|
73
|
+
throw new Error("OCR timeout must be a positive integer.");
|
|
74
|
+
}
|
|
75
|
+
const configuredCommand = await rgrCommand(config.projectRoot, [
|
|
76
|
+
"ocr",
|
|
77
|
+
"extract-page",
|
|
78
|
+
"--engine",
|
|
79
|
+
engine,
|
|
80
|
+
"--language",
|
|
81
|
+
language,
|
|
82
|
+
"--input",
|
|
83
|
+
"{input}",
|
|
84
|
+
"--page",
|
|
85
|
+
"{page}",
|
|
86
|
+
"--timeout-ms",
|
|
87
|
+
String(timeoutMs),
|
|
88
|
+
]);
|
|
89
|
+
const pdfOcrCommand = [configuredCommand.command, ...configuredCommand.args];
|
|
90
|
+
const projectConfig = findProjectConfig(config.projectRoot);
|
|
91
|
+
const raw = JSON.parse(await readFile(projectConfig.configPath, "utf8"));
|
|
92
|
+
if (!isRecord(raw)) {
|
|
93
|
+
throw new Error(`${projectConfig.configPath} must contain a JSON object.`);
|
|
94
|
+
}
|
|
95
|
+
const nextConfig = {
|
|
96
|
+
...raw,
|
|
97
|
+
pdfOcrCommand,
|
|
98
|
+
pdfOcrTimeoutMs: timeoutMs,
|
|
99
|
+
};
|
|
100
|
+
await writeFile(projectConfig.configPath, `${JSON.stringify(nextConfig, null, 2)}\n`, "utf8");
|
|
101
|
+
await hardenPrivateFile(projectConfig.configPath);
|
|
102
|
+
return {
|
|
103
|
+
configPath: projectConfig.configPath,
|
|
104
|
+
engine,
|
|
105
|
+
language,
|
|
106
|
+
timeoutMs,
|
|
107
|
+
pdfOcrCommand,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
export async function extractPdfPage(options) {
|
|
111
|
+
if (!Number.isInteger(options.page) || options.page <= 0) {
|
|
112
|
+
throw new Error("PDF page must be a positive integer.");
|
|
113
|
+
}
|
|
114
|
+
const language = normalizeOcrLanguage(options.language);
|
|
115
|
+
const timeoutMs = options.timeoutMs ?? OCR_COMMAND_TIMEOUT_MS;
|
|
116
|
+
if (!Number.isInteger(timeoutMs) || timeoutMs <= 0) {
|
|
117
|
+
throw new Error("OCR timeout must be a positive integer.");
|
|
118
|
+
}
|
|
119
|
+
const engine = parsePdfOcrEngine(options.engine);
|
|
120
|
+
const input = path.resolve(options.input);
|
|
121
|
+
const tempDir = await createOcrTempDirectory();
|
|
122
|
+
try {
|
|
123
|
+
if (engine === "ocrmypdf") {
|
|
124
|
+
return await extractWithOcrMyPdf({ input, page: options.page, language, timeoutMs, tempDir });
|
|
125
|
+
}
|
|
126
|
+
return await extractWithTesseract({ input, page: options.page, language, timeoutMs, tempDir });
|
|
127
|
+
}
|
|
128
|
+
finally {
|
|
129
|
+
await rm(tempDir, { recursive: true, force: true });
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
function resolveEngine(selection, status) {
|
|
133
|
+
if (selection === "auto") {
|
|
134
|
+
if (status.recommendedEngine) {
|
|
135
|
+
return status.recommendedEngine;
|
|
136
|
+
}
|
|
137
|
+
throw new Error("No supported local PDF OCR engine found. Install OCRmyPDF 12.6+ or install both Tesseract and Poppler, then run `rgr ocr setup` again.");
|
|
138
|
+
}
|
|
139
|
+
if (selection === "ocrmypdf" && !status.ocrmypdf.supported) {
|
|
140
|
+
throw new Error("OCRmyPDF 12.6 or newer is required for sidecar-only page extraction.");
|
|
141
|
+
}
|
|
142
|
+
if (selection === "tesseract" && (!status.tesseract.available || !status.pdftoppm.available)) {
|
|
143
|
+
throw new Error("The Tesseract engine requires both `tesseract` and Poppler `pdftoppm` on PATH.");
|
|
144
|
+
}
|
|
145
|
+
return selection;
|
|
146
|
+
}
|
|
147
|
+
function assertLanguagesAvailable(language, installed) {
|
|
148
|
+
if (installed.length === 0) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
const available = new Set(installed);
|
|
152
|
+
const missing = language.split("+").filter((entry) => !available.has(entry));
|
|
153
|
+
if (missing.length > 0) {
|
|
154
|
+
throw new Error(`Missing Tesseract language packs: ${missing.join(", ")}.`);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
async function extractWithOcrMyPdf(options) {
|
|
158
|
+
const sidecarPath = path.join(options.tempDir, "page.txt");
|
|
159
|
+
await runProcess("ocrmypdf", [
|
|
160
|
+
"--quiet",
|
|
161
|
+
"--force-ocr",
|
|
162
|
+
"--pages",
|
|
163
|
+
String(options.page),
|
|
164
|
+
"--language",
|
|
165
|
+
options.language,
|
|
166
|
+
"--sidecar",
|
|
167
|
+
sidecarPath,
|
|
168
|
+
"--output-type",
|
|
169
|
+
"none",
|
|
170
|
+
options.input,
|
|
171
|
+
"-",
|
|
172
|
+
], { timeoutMs: options.timeoutMs });
|
|
173
|
+
return readFile(sidecarPath, "utf8");
|
|
174
|
+
}
|
|
175
|
+
async function extractWithTesseract(options) {
|
|
176
|
+
const outputPrefix = path.join(options.tempDir, "page");
|
|
177
|
+
await runProcess("pdftoppm", [
|
|
178
|
+
"-f",
|
|
179
|
+
String(options.page),
|
|
180
|
+
"-l",
|
|
181
|
+
String(options.page),
|
|
182
|
+
"-singlefile",
|
|
183
|
+
"-r",
|
|
184
|
+
String(OCR_RENDER_DPI),
|
|
185
|
+
"-gray",
|
|
186
|
+
"-png",
|
|
187
|
+
options.input,
|
|
188
|
+
outputPrefix,
|
|
189
|
+
], { timeoutMs: options.timeoutMs });
|
|
190
|
+
const result = await runProcess("tesseract", ["page.png", "stdout", "-l", options.language], {
|
|
191
|
+
cwd: options.tempDir,
|
|
192
|
+
timeoutMs: options.timeoutMs,
|
|
193
|
+
});
|
|
194
|
+
return result.stdout;
|
|
195
|
+
}
|
|
196
|
+
async function createOcrTempDirectory() {
|
|
197
|
+
return mkdtemp(path.join(os.tmpdir(), "ragmir-ocr-"));
|
|
198
|
+
}
|
|
199
|
+
async function probeExecutable(executable, args) {
|
|
200
|
+
try {
|
|
201
|
+
const result = await runProcess(executable, args, { timeoutMs: OCR_PROBE_TIMEOUT_MS });
|
|
202
|
+
const version = firstNonEmptyLine(`${result.stdout}\n${result.stderr}`);
|
|
203
|
+
return { available: true, version };
|
|
204
|
+
}
|
|
205
|
+
catch {
|
|
206
|
+
return { available: false, version: null };
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
async function listTesseractLanguages() {
|
|
210
|
+
try {
|
|
211
|
+
const result = await runProcess("tesseract", ["--list-langs"], {
|
|
212
|
+
timeoutMs: OCR_PROBE_TIMEOUT_MS,
|
|
213
|
+
});
|
|
214
|
+
return `${result.stdout}\n${result.stderr}`
|
|
215
|
+
.split(/\r?\n/u)
|
|
216
|
+
.map((line) => line.trim())
|
|
217
|
+
.filter((line) => line.length > 0 && !line.startsWith("List of available languages"))
|
|
218
|
+
.sort((left, right) => left.localeCompare(right));
|
|
219
|
+
}
|
|
220
|
+
catch {
|
|
221
|
+
return [];
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
function isSupportedOcrMyPdfVersion(version) {
|
|
225
|
+
if (!version) {
|
|
226
|
+
return false;
|
|
227
|
+
}
|
|
228
|
+
const match = version.match(/(\d+)\.(\d+)/u);
|
|
229
|
+
if (!match) {
|
|
230
|
+
return false;
|
|
231
|
+
}
|
|
232
|
+
const major = Number(match[1]);
|
|
233
|
+
const minor = Number(match[2]);
|
|
234
|
+
return (major > MINIMUM_OCRMYPDF_VERSION.major ||
|
|
235
|
+
(major === MINIMUM_OCRMYPDF_VERSION.major && minor >= MINIMUM_OCRMYPDF_VERSION.minor));
|
|
236
|
+
}
|
|
237
|
+
function firstNonEmptyLine(value) {
|
|
238
|
+
return (value
|
|
239
|
+
.split(/\r?\n/u)
|
|
240
|
+
.map((line) => line.trim())
|
|
241
|
+
.find((line) => line.length > 0) ?? null);
|
|
242
|
+
}
|
|
243
|
+
async function runProcess(executable, args, options) {
|
|
244
|
+
return new Promise((resolve, reject) => {
|
|
245
|
+
const child = spawn(executable, args, {
|
|
246
|
+
cwd: options.cwd,
|
|
247
|
+
detached: process.platform !== "win32",
|
|
248
|
+
env: externalCommandEnvironment(),
|
|
249
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
250
|
+
});
|
|
251
|
+
let stdout = "";
|
|
252
|
+
let stderr = "";
|
|
253
|
+
let settled = false;
|
|
254
|
+
let timedOut = false;
|
|
255
|
+
let outputTooLarge = false;
|
|
256
|
+
let terminationStarted = false;
|
|
257
|
+
let forceKillTimeout;
|
|
258
|
+
const terminateWithEscalation = () => {
|
|
259
|
+
if (terminationStarted) {
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
262
|
+
terminationStarted = true;
|
|
263
|
+
terminateChild(child, "SIGTERM");
|
|
264
|
+
forceKillTimeout = setTimeout(() => terminateChild(child, "SIGKILL"), OCR_PROCESS_KILL_GRACE_MS);
|
|
265
|
+
};
|
|
266
|
+
const timeout = setTimeout(() => {
|
|
267
|
+
timedOut = true;
|
|
268
|
+
terminateWithEscalation();
|
|
269
|
+
}, options.timeoutMs);
|
|
270
|
+
const finish = (error, result) => {
|
|
271
|
+
if (settled) {
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
settled = true;
|
|
275
|
+
clearTimeout(timeout);
|
|
276
|
+
if (forceKillTimeout) {
|
|
277
|
+
clearTimeout(forceKillTimeout);
|
|
278
|
+
}
|
|
279
|
+
if (error) {
|
|
280
|
+
reject(error);
|
|
281
|
+
}
|
|
282
|
+
else if (result) {
|
|
283
|
+
resolve(result);
|
|
284
|
+
}
|
|
285
|
+
};
|
|
286
|
+
child.stdout.setEncoding("utf8");
|
|
287
|
+
child.stderr.setEncoding("utf8");
|
|
288
|
+
child.stdout.on("data", (chunk) => {
|
|
289
|
+
stdout += chunk;
|
|
290
|
+
if (Buffer.byteLength(stdout, "utf8") > MAX_EXTERNAL_TEXT_STDIO_BYTES) {
|
|
291
|
+
outputTooLarge = true;
|
|
292
|
+
terminateWithEscalation();
|
|
293
|
+
}
|
|
294
|
+
});
|
|
295
|
+
child.stderr.on("data", (chunk) => {
|
|
296
|
+
stderr += chunk;
|
|
297
|
+
if (Buffer.byteLength(stderr, "utf8") > MAX_EXTERNAL_TEXT_STDIO_BYTES) {
|
|
298
|
+
outputTooLarge = true;
|
|
299
|
+
terminateWithEscalation();
|
|
300
|
+
}
|
|
301
|
+
});
|
|
302
|
+
child.on("error", (error) => finish(error));
|
|
303
|
+
child.on("close", (code) => {
|
|
304
|
+
if (timedOut) {
|
|
305
|
+
finish(new Error(`${executable} timed out.`));
|
|
306
|
+
return;
|
|
307
|
+
}
|
|
308
|
+
if (outputTooLarge) {
|
|
309
|
+
finish(new Error(`${executable} produced too much output.`));
|
|
310
|
+
return;
|
|
311
|
+
}
|
|
312
|
+
if (code !== 0) {
|
|
313
|
+
const detail = stderr.trim();
|
|
314
|
+
finish(new Error(detail ? `${executable} failed: ${detail}` : `${executable} failed.`));
|
|
315
|
+
return;
|
|
316
|
+
}
|
|
317
|
+
finish(undefined, { stdout, stderr });
|
|
318
|
+
});
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
function terminateChild(child, signal) {
|
|
322
|
+
if (process.platform !== "win32" && child.pid) {
|
|
323
|
+
try {
|
|
324
|
+
process.kill(-child.pid, signal);
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
catch {
|
|
328
|
+
// The child may have exited before the signal was sent.
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
child.kill(signal);
|
|
332
|
+
}
|
|
333
|
+
function externalCommandEnvironment() {
|
|
334
|
+
const allowed = ["HOME", "LANG", "LC_ALL", "PATH", "TEMP", "TMP", "TMPDIR"];
|
|
335
|
+
return Object.fromEntries(allowed.flatMap((name) => {
|
|
336
|
+
const value = process.env[name];
|
|
337
|
+
return value === undefined ? [] : [[name, value]];
|
|
338
|
+
}));
|
|
339
|
+
}
|
|
340
|
+
//# sourceMappingURL=ocr.js.map
|
package/dist/ocr.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ocr.js","sourceRoot":"","sources":["../src/ocr.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "2.
|
|
1
|
+
export declare const VERSION = "2.9.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = "2.
|
|
1
|
+
export const VERSION = "2.9.0";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
17
|
"id": "runbook-evidence-pack",
|
|
18
|
-
"query": "What runbook evidence must be collected after a
|
|
18
|
+
"query": "What runbook evidence must be collected after a service incident?",
|
|
19
19
|
"expectedPaths": ["raw/runbooks/incident-response-runbook.md"],
|
|
20
20
|
"expectedCitations": ["raw/runbooks/incident-response-runbook.md:L1-L11#0"]
|
|
21
21
|
},
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# Synthetic
|
|
1
|
+
# Synthetic Service Incident Runbook
|
|
2
2
|
|
|
3
|
-
Trigger:
|
|
3
|
+
Trigger: work queue latency above the internal threshold for ten minutes.
|
|
4
4
|
|
|
5
|
-
The on-call engineer opens the local incident template and collects a
|
|
5
|
+
The on-call engineer opens the local incident template and collects a service incident evidence pack:
|
|
6
6
|
timeline, customer impact summary, rollback decision, command transcript, and links to cited runbook
|
|
7
7
|
sections. The evidence pack remains under the local Ragmir reports folder until the incident lead
|
|
8
8
|
approves external sharing.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jcode.labs/ragmir",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.9.0",
|
|
4
4
|
"description": "Ragmir Core: open-source sovereign local RAG for confidential datasets and AI agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -69,8 +69,8 @@
|
|
|
69
69
|
"unpdf": "^1.4.0",
|
|
70
70
|
"yaml": "^2.9.0",
|
|
71
71
|
"zod": "^4.1.13",
|
|
72
|
-
"@jcode.labs/ragmir-
|
|
73
|
-
"@jcode.labs/ragmir-
|
|
72
|
+
"@jcode.labs/ragmir-chat": "2.9.0",
|
|
73
|
+
"@jcode.labs/ragmir-tts": "2.9.0"
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
76
|
"@types/html-to-text": "^9.0.4",
|