@jcode.labs/ragmir 2.6.0 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/README.md +4 -2
  2. package/dist/access-log.d.ts.map +1 -1
  3. package/dist/access-log.js +65 -8
  4. package/dist/access-log.js.map +1 -1
  5. package/dist/chunking.d.ts.map +1 -1
  6. package/dist/chunking.js +77 -7
  7. package/dist/chunking.js.map +1 -1
  8. package/dist/cli-options.d.ts +2 -0
  9. package/dist/cli-options.d.ts.map +1 -1
  10. package/dist/cli-options.js +8 -0
  11. package/dist/cli-options.js.map +1 -1
  12. package/dist/cli.js +106 -29
  13. package/dist/cli.js.map +1 -1
  14. package/dist/config.d.ts.map +1 -1
  15. package/dist/config.js +73 -29
  16. package/dist/config.js.map +1 -1
  17. package/dist/defaults.d.ts +2 -0
  18. package/dist/defaults.d.ts.map +1 -1
  19. package/dist/defaults.js +7 -1
  20. package/dist/defaults.js.map +1 -1
  21. package/dist/destroy.d.ts.map +1 -1
  22. package/dist/destroy.js +23 -1
  23. package/dist/destroy.js.map +1 -1
  24. package/dist/doctor.d.ts.map +1 -1
  25. package/dist/doctor.js +40 -9
  26. package/dist/doctor.js.map +1 -1
  27. package/dist/embeddings.d.ts +4 -1
  28. package/dist/embeddings.d.ts.map +1 -1
  29. package/dist/embeddings.js +62 -14
  30. package/dist/embeddings.js.map +1 -1
  31. package/dist/evaluate.d.ts.map +1 -1
  32. package/dist/evaluate.js +89 -4
  33. package/dist/evaluate.js.map +1 -1
  34. package/dist/files.d.ts +8 -1
  35. package/dist/files.d.ts.map +1 -1
  36. package/dist/files.js +44 -8
  37. package/dist/files.js.map +1 -1
  38. package/dist/index-diagnostics.d.ts +1 -1
  39. package/dist/index-diagnostics.d.ts.map +1 -1
  40. package/dist/index-diagnostics.js +14 -4
  41. package/dist/index-diagnostics.js.map +1 -1
  42. package/dist/index-policy.d.ts +3 -0
  43. package/dist/index-policy.d.ts.map +1 -0
  44. package/dist/index-policy.js +28 -0
  45. package/dist/index-policy.js.map +1 -0
  46. package/dist/index.d.ts +2 -1
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +1 -0
  49. package/dist/index.js.map +1 -1
  50. package/dist/ingest.d.ts.map +1 -1
  51. package/dist/ingest.js +119 -53
  52. package/dist/ingest.js.map +1 -1
  53. package/dist/init.d.ts.map +1 -1
  54. package/dist/init.js +15 -3
  55. package/dist/init.js.map +1 -1
  56. package/dist/limits.d.ts +9 -0
  57. package/dist/limits.d.ts.map +1 -0
  58. package/dist/limits.js +25 -0
  59. package/dist/limits.js.map +1 -0
  60. package/dist/mcp.d.ts +4 -1
  61. package/dist/mcp.d.ts.map +1 -1
  62. package/dist/mcp.js +84 -18
  63. package/dist/mcp.js.map +1 -1
  64. package/dist/parsing.d.ts.map +1 -1
  65. package/dist/parsing.js +124 -24
  66. package/dist/parsing.js.map +1 -1
  67. package/dist/permissions.d.ts +3 -0
  68. package/dist/permissions.d.ts.map +1 -0
  69. package/dist/permissions.js +13 -0
  70. package/dist/permissions.js.map +1 -0
  71. package/dist/query-sanitizer.d.ts +8 -0
  72. package/dist/query-sanitizer.d.ts.map +1 -0
  73. package/dist/query-sanitizer.js +170 -0
  74. package/dist/query-sanitizer.js.map +1 -0
  75. package/dist/query.d.ts +2 -2
  76. package/dist/query.d.ts.map +1 -1
  77. package/dist/query.js +285 -29
  78. package/dist/query.js.map +1 -1
  79. package/dist/research.d.ts.map +1 -1
  80. package/dist/research.js +42 -4
  81. package/dist/research.js.map +1 -1
  82. package/dist/security.d.ts.map +1 -1
  83. package/dist/security.js +110 -14
  84. package/dist/security.js.map +1 -1
  85. package/dist/store.d.ts +4 -0
  86. package/dist/store.d.ts.map +1 -1
  87. package/dist/store.js +86 -55
  88. package/dist/store.js.map +1 -1
  89. package/dist/text.d.ts.map +1 -1
  90. package/dist/text.js +13 -1
  91. package/dist/text.js.map +1 -1
  92. package/dist/types.d.ts +131 -0
  93. package/dist/types.d.ts.map +1 -1
  94. package/dist/version.d.ts +1 -1
  95. package/dist/version.js +1 -1
  96. package/examples/document-evidence-benchmark/.ragmir/config.json +22 -0
  97. package/examples/document-evidence-benchmark/README.md +36 -0
  98. package/examples/document-evidence-benchmark/golden-queries.json +41 -0
  99. package/examples/document-evidence-benchmark/raw/contracts/master-services-agreement.md +11 -0
  100. package/examples/document-evidence-benchmark/raw/contracts/pdf-control-evidence.pdf +32 -0
  101. package/examples/document-evidence-benchmark/raw/legal-tax/residency-review-note.md +10 -0
  102. package/examples/document-evidence-benchmark/raw/rfp/security-questionnaire.md +12 -0
  103. package/examples/document-evidence-benchmark/raw/runbooks/incident-response-runbook.md +11 -0
  104. package/examples/document-evidence-benchmark/raw/specs/agent-integration-spec.md +11 -0
  105. package/examples/sovereign-rag-demo/.ragmir/config.json +2 -1
  106. package/examples/sovereign-rag-demo/README.md +9 -1
  107. package/package.json +3 -3
  108. package/skills/ragmir/SKILL.md +11 -3
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parsing.d.ts","sourceRoot":"","sources":["../src/parsing.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAgB5D,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,cAAc,CAAC,CA4DzB"}
1
+ {"version":3,"file":"parsing.d.ts","sourceRoot":"","sources":["../src/parsing.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,cAAc,EAAc,UAAU,EAAE,MAAM,YAAY,CAAA;AAaxE,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,cAAc,CAAC,CAiEzB"}
package/dist/parsing.js CHANGED
@@ -6,13 +6,11 @@ import { strFromU8, unzipSync } from "fflate";
6
6
  import { htmlToText } from "html-to-text";
7
7
  import readExcelFile from "read-excel-file/node";
8
8
  const mammoth = __require("mammoth");
9
- import { extractText, getDocumentProxy } from "unpdf";
9
+ import { getDocumentProxy } from "unpdf";
10
10
  import YAML from "yaml";
11
11
  import { OCR_IMAGE_EXTENSIONS } from "./files.js";
12
- const MAX_OFFICE_XML_ENTRY_BYTES = 25_000_000;
13
- const MAX_OFFICE_TEXT_ENTRY_COUNT = 512;
14
- const MAX_OFFICE_XML_TOTAL_BYTES = 50_000_000;
15
- const MAX_EXTERNAL_TEXT_STDIO_BYTES = 25_000_000;
12
+ import { MAX_EXTERNAL_TEXT_STDIO_BYTES, MAX_OFFICE_TEXT_ENTRY_COUNT, MAX_OFFICE_XML_ENTRY_BYTES, MAX_OFFICE_XML_TOTAL_BYTES, MAX_PDF_PAGES, MAX_PDF_TEXT_CHARACTERS, } from "./limits.js";
13
+ const EXTERNAL_COMMAND_KILL_GRACE_MS = 2_000;
16
14
  const LONG_BASE64_TEXT_PATTERN = /\b[A-Za-z0-9+/]{240,}={0,2}\b/gu;
17
15
  const OFFICE_TEXT_ENTRY_PATTERN = /\.(?:xml|rels|xhtml|html|htm)$/iu;
18
16
  const HTML_TO_TEXT_OPTIONS = {
@@ -24,9 +22,11 @@ const HTML_TO_TEXT_OPTIONS = {
24
22
  };
25
23
  export async function parseFile(file, options = {}) {
26
24
  let text;
25
+ let pages;
27
26
  switch (file.extension) {
28
27
  case ".pdf":
29
- text = await parsePdf(file.absolutePath, options);
28
+ ;
29
+ ({ text, pages } = await parsePdf(file.absolutePath, options));
30
30
  break;
31
31
  case ".doc":
32
32
  text = await parseLegacyWord(file.absolutePath, options);
@@ -79,7 +79,11 @@ export async function parseFile(file, options = {}) {
79
79
  default:
80
80
  text = await readFile(file.absolutePath, "utf8");
81
81
  }
82
- return { file, text: normalizeText(text) };
82
+ const document = { file, text: normalizeText(text) };
83
+ if (pages) {
84
+ document.pages = pages;
85
+ }
86
+ return document;
83
87
  }
84
88
  async function parseDocx(filePath) {
85
89
  const result = await mammoth.extractRawText({ path: filePath });
@@ -239,21 +243,78 @@ function decodeXmlEntities(input) {
239
243
  }
240
244
  async function parsePdf(filePath, options) {
241
245
  const buffer = await readFile(filePath);
242
- const pdf = await getDocumentProxy(new Uint8Array(buffer));
243
- const result = await extractText(pdf, { mergePages: true });
244
- if (normalizeText(result.text)) {
245
- return result.text;
246
+ let pdf;
247
+ try {
248
+ pdf = await getDocumentProxy(new Uint8Array(buffer));
246
249
  }
247
- if (!options.pdfOcrCommand || options.pdfOcrCommand.length === 0) {
248
- return result.text;
250
+ catch (error) {
251
+ const detail = error instanceof Error ? error.message : String(error);
252
+ if (/password|encrypted/iu.test(detail)) {
253
+ throw new Error("PDF is encrypted or password-protected. Decrypt an authorized local copy before ingesting it.");
254
+ }
255
+ throw error;
256
+ }
257
+ try {
258
+ if (pdf.numPages > MAX_PDF_PAGES) {
259
+ throw new Error(`PDF has ${pdf.numPages} pages; the safety limit is ${MAX_PDF_PAGES}.`);
260
+ }
261
+ const pageTexts = [];
262
+ let totalCharacters = 0;
263
+ for (let pageNumber = 1; pageNumber <= pdf.numPages; pageNumber += 1) {
264
+ const page = await pdf.getPage(pageNumber);
265
+ let pageText = "";
266
+ try {
267
+ const content = await page.getTextContent();
268
+ const items = content.items;
269
+ pageText = (Array.isArray(items) ? items : [])
270
+ .filter(isPdfTextItem)
271
+ .map((item) => `${item.str}${item.hasEOL ? "\n" : ""}`)
272
+ .join("");
273
+ }
274
+ finally {
275
+ page.cleanup();
276
+ }
277
+ pageText = normalizePdfPageText(pageText);
278
+ if (!pageText && options.pdfOcrCommand && options.pdfOcrCommand.length > 0) {
279
+ pageText = normalizePdfPageText(await runExternalTextCommand(filePath, {
280
+ command: options.pdfOcrCommand,
281
+ cwd: options.projectRoot,
282
+ label: `OCR command for PDF page ${pageNumber}`,
283
+ timeoutMs: options.pdfOcrTimeoutMs ?? 120_000,
284
+ pathEnvName: "RAGMIR_PDF_PATH",
285
+ pageNumber,
286
+ }));
287
+ }
288
+ totalCharacters += pageText.length;
289
+ if (totalCharacters > MAX_PDF_TEXT_CHARACTERS) {
290
+ throw new Error(`PDF text exceeds the ${MAX_PDF_TEXT_CHARACTERS} character safety limit.`);
291
+ }
292
+ pageTexts.push(pageText);
293
+ }
294
+ return joinPdfPages(pageTexts);
295
+ }
296
+ finally {
297
+ await pdf.destroy();
249
298
  }
250
- return runExternalTextCommand(filePath, {
251
- command: options.pdfOcrCommand,
252
- cwd: options.projectRoot,
253
- label: "OCR command",
254
- timeoutMs: options.pdfOcrTimeoutMs ?? 120_000,
255
- pathEnvName: "RAGMIR_PDF_PATH",
256
- });
299
+ }
300
+ function isPdfTextItem(value) {
301
+ return (typeof value === "object" && value !== null && "str" in value && typeof value.str === "string");
302
+ }
303
+ function normalizePdfPageText(text) {
304
+ return normalizeText(text).replace(/([\p{L}\p{N}])-\n([\p{Ll}])/gu, "$1$2");
305
+ }
306
+ function joinPdfPages(pageTexts) {
307
+ let text = "";
308
+ const pages = [];
309
+ for (const [index, pageText] of pageTexts.entries()) {
310
+ if (index > 0) {
311
+ text += "\n\n";
312
+ }
313
+ const charStart = text.length;
314
+ text += pageText;
315
+ pages.push({ pageNumber: index + 1, charStart, charEnd: text.length });
316
+ }
317
+ return { text, pages };
257
318
  }
258
319
  async function runExternalTextCommand(filePath, options) {
259
320
  const command = options.command ?? [];
@@ -263,22 +324,36 @@ async function runExternalTextCommand(filePath, options) {
263
324
  }
264
325
  const hasInputPlaceholder = command.some((part) => part.includes("{input}"));
265
326
  const args = configuredArgs.map((part) => part.replaceAll("{input}", filePath));
327
+ const pageNumber = options.pageNumber === undefined ? "" : String(options.pageNumber);
328
+ for (const [index, arg] of args.entries()) {
329
+ args[index] = arg.replaceAll("{page}", pageNumber);
330
+ }
266
331
  if (!hasInputPlaceholder) {
267
332
  args.push(filePath);
268
333
  }
269
334
  return new Promise((resolve, reject) => {
270
335
  const child = spawn(executable, args, {
271
336
  cwd: options.cwd,
272
- env: { ...process.env, [options.pathEnvName]: filePath },
337
+ detached: process.platform !== "win32",
338
+ env: {
339
+ ...externalCommandEnvironment(),
340
+ [options.pathEnvName]: filePath,
341
+ ...(options.pageNumber === undefined ? {} : { RAGMIR_PDF_PAGE: pageNumber }),
342
+ },
273
343
  stdio: ["ignore", "pipe", "pipe"],
274
344
  });
275
345
  let stdout = "";
276
346
  let stderr = "";
277
347
  let didTimeout = false;
278
348
  let outputTooLarge = false;
349
+ let forceKillTimeout;
350
+ const terminateWithEscalation = () => {
351
+ terminateChild(child, "SIGTERM");
352
+ forceKillTimeout = setTimeout(() => terminateChild(child, "SIGKILL"), EXTERNAL_COMMAND_KILL_GRACE_MS);
353
+ };
279
354
  const timeout = setTimeout(() => {
280
355
  didTimeout = true;
281
- child.kill("SIGTERM");
356
+ terminateWithEscalation();
282
357
  }, options.timeoutMs);
283
358
  child.stdout.setEncoding("utf8");
284
359
  child.stderr.setEncoding("utf8");
@@ -286,22 +361,28 @@ async function runExternalTextCommand(filePath, options) {
286
361
  stdout += chunk;
287
362
  if (Buffer.byteLength(stdout, "utf8") > MAX_EXTERNAL_TEXT_STDIO_BYTES) {
288
363
  outputTooLarge = true;
289
- child.kill("SIGTERM");
364
+ terminateWithEscalation();
290
365
  }
291
366
  });
292
367
  child.stderr.on("data", (chunk) => {
293
368
  stderr += chunk;
294
369
  if (Buffer.byteLength(stderr, "utf8") > MAX_EXTERNAL_TEXT_STDIO_BYTES) {
295
370
  outputTooLarge = true;
296
- child.kill("SIGTERM");
371
+ terminateWithEscalation();
297
372
  }
298
373
  });
299
374
  child.on("error", (error) => {
300
375
  clearTimeout(timeout);
376
+ if (forceKillTimeout) {
377
+ clearTimeout(forceKillTimeout);
378
+ }
301
379
  reject(new Error(`${options.label} failed to start: ${error.message}`));
302
380
  });
303
381
  child.on("close", (code) => {
304
382
  clearTimeout(timeout);
383
+ if (forceKillTimeout) {
384
+ clearTimeout(forceKillTimeout);
385
+ }
305
386
  if (didTimeout) {
306
387
  reject(new Error(`${options.label} timed out.`));
307
388
  return;
@@ -319,6 +400,25 @@ async function runExternalTextCommand(filePath, options) {
319
400
  });
320
401
  });
321
402
  }
403
+ function terminateChild(child, signal) {
404
+ if (process.platform !== "win32" && child.pid) {
405
+ try {
406
+ process.kill(-child.pid, signal);
407
+ return;
408
+ }
409
+ catch {
410
+ // The child may have exited between the timer and the signal.
411
+ }
412
+ }
413
+ child.kill(signal);
414
+ }
415
+ function externalCommandEnvironment() {
416
+ const allowed = ["HOME", "LANG", "LC_ALL", "PATH", "TEMP", "TMP", "TMPDIR"];
417
+ return Object.fromEntries(allowed.flatMap((name) => {
418
+ const value = process.env[name];
419
+ return value === undefined ? [] : [[name, value]];
420
+ }));
421
+ }
322
422
  function normalizeText(input) {
323
423
  return input
324
424
  .replace(LONG_BASE64_TEXT_PATTERN, " ")
@@ -1 +1 @@
1
- {"version":3,"file":"parsing.js","sourceRoot":"","sources":["../src/parsing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parsing.js","sourceRoot":"","sources":["../src/parsing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function ensurePrivateDirectory(directory: string): Promise<void>;
2
+ export declare function hardenPrivateFile(filePath: string): Promise<void>;
3
+ //# sourceMappingURL=permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAEA,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK7E;AAED,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvE"}
@@ -0,0 +1,13 @@
1
+ import { chmod, mkdir } from "node:fs/promises";
2
+ export async function ensurePrivateDirectory(directory) {
3
+ await mkdir(directory, { recursive: true, mode: 0o700 });
4
+ if (process.platform !== "win32") {
5
+ await chmod(directory, 0o700);
6
+ }
7
+ }
8
+ export async function hardenPrivateFile(filePath) {
9
+ if (process.platform !== "win32") {
10
+ await chmod(filePath, 0o600);
11
+ }
12
+ }
13
+ //# sourceMappingURL=permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE/C,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,SAAiB;IAC5D,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACxD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAC/B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IACtD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAC9B,CAAC;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ export interface SanitizedQuery {
2
+ query: string;
3
+ changed: boolean;
4
+ method: "passthrough" | "question" | "labeled-tail" | "tail-sentence" | "tail";
5
+ originalLength: number;
6
+ }
7
+ export declare function sanitizeRetrievalQuery(input: string): SanitizedQuery;
8
+ //# sourceMappingURL=query-sanitizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-sanitizer.d.ts","sourceRoot":"","sources":["../src/query-sanitizer.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,aAAa,GAAG,UAAU,GAAG,cAAc,GAAG,eAAe,GAAG,MAAM,CAAA;IAC9E,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CA2BpE"}
@@ -0,0 +1,170 @@
1
+ const MAX_RETRIEVAL_QUERY_LENGTH = 250;
2
+ const TAIL_RETRIEVAL_QUERY_LENGTH = 200;
3
+ const MIN_RETRIEVAL_QUERY_LENGTH = 10;
4
+ const QUERY_LABELS = new Set([
5
+ "question",
6
+ "query",
7
+ "search",
8
+ "recherche",
9
+ "demande",
10
+ "user",
11
+ "utilisateur",
12
+ ]);
13
+ export function sanitizeRetrievalQuery(input) {
14
+ const normalized = compactWhitespace(stripLoneSurrogates(input));
15
+ if (normalized.length <= MAX_RETRIEVAL_QUERY_LENGTH) {
16
+ return {
17
+ query: normalized,
18
+ changed: normalized !== input,
19
+ method: "passthrough",
20
+ originalLength: input.length,
21
+ };
22
+ }
23
+ const question = finalQuestion(normalized);
24
+ if (question !== null) {
25
+ return sanitized(input, question, "question");
26
+ }
27
+ const labeled = labeledTail(input);
28
+ if (labeled !== null) {
29
+ return sanitized(input, labeled, "labeled-tail");
30
+ }
31
+ const sentence = finalSentence(normalized);
32
+ if (sentence !== null) {
33
+ return sanitized(input, sentence, "tail-sentence");
34
+ }
35
+ return sanitized(input, normalized.slice(-TAIL_RETRIEVAL_QUERY_LENGTH), "tail");
36
+ }
37
+ function sanitized(input, query, method) {
38
+ const cleaned = compactWhitespace(stripLoneSurrogates(query));
39
+ const bounded = cleaned.slice(0, MAX_RETRIEVAL_QUERY_LENGTH).trim();
40
+ return {
41
+ query: bounded,
42
+ changed: bounded !== input,
43
+ method,
44
+ originalLength: input.length,
45
+ };
46
+ }
47
+ function finalQuestion(text) {
48
+ for (let end = text.length - 1; end >= 0; end -= 1) {
49
+ if (text[end] !== "?") {
50
+ continue;
51
+ }
52
+ const start = previousSentenceBoundary(text, end - 1);
53
+ const value = text.slice(start + 1, end + 1).trim();
54
+ if (isUsableRetrievalQuery(value)) {
55
+ return value;
56
+ }
57
+ }
58
+ return null;
59
+ }
60
+ function labeledTail(text) {
61
+ const lines = text.split("\n");
62
+ for (let index = lines.length - 1; index >= 0; index -= 1) {
63
+ const line = lines[index]?.trim();
64
+ if (!line) {
65
+ continue;
66
+ }
67
+ const separator = line.indexOf(":");
68
+ if (separator <= 0) {
69
+ continue;
70
+ }
71
+ const label = line.slice(0, separator).trim().toLowerCase();
72
+ if (!QUERY_LABELS.has(label)) {
73
+ continue;
74
+ }
75
+ const value = line.slice(separator + 1).trim();
76
+ if (isUsableRetrievalQuery(value)) {
77
+ return value;
78
+ }
79
+ }
80
+ return null;
81
+ }
82
+ function finalSentence(text) {
83
+ let end = text.length;
84
+ while (end > 0) {
85
+ while (end > 0 && isBoundaryOrWhitespace(text[end - 1] ?? "")) {
86
+ end -= 1;
87
+ }
88
+ if (end <= 0) {
89
+ break;
90
+ }
91
+ const start = previousSentenceBoundary(text, end - 1);
92
+ const value = text.slice(start + 1, end).trim();
93
+ if (isUsableRetrievalQuery(value)) {
94
+ return value;
95
+ }
96
+ end = start;
97
+ }
98
+ return null;
99
+ }
100
+ function isUsableRetrievalQuery(value) {
101
+ if (value === undefined) {
102
+ return false;
103
+ }
104
+ return (value.length >= MIN_RETRIEVAL_QUERY_LENGTH &&
105
+ value.length <= MAX_RETRIEVAL_QUERY_LENGTH &&
106
+ hasLetterOrNumber(value));
107
+ }
108
+ function stripLoneSurrogates(value) {
109
+ let output = "";
110
+ for (let index = 0; index < value.length; index += 1) {
111
+ const code = value.charCodeAt(index);
112
+ if (code >= 0xd800 && code <= 0xdbff) {
113
+ const next = value.charCodeAt(index + 1);
114
+ if (next >= 0xdc00 && next <= 0xdfff) {
115
+ output += value[index] ?? "";
116
+ output += value[index + 1] ?? "";
117
+ index += 1;
118
+ }
119
+ continue;
120
+ }
121
+ if (code >= 0xdc00 && code <= 0xdfff) {
122
+ continue;
123
+ }
124
+ output += value[index] ?? "";
125
+ }
126
+ return output;
127
+ }
128
+ function compactWhitespace(value) {
129
+ let output = "";
130
+ let previousWasWhitespace = false;
131
+ for (const char of value) {
132
+ if (char.trim() === "") {
133
+ if (!previousWasWhitespace) {
134
+ output += " ";
135
+ }
136
+ previousWasWhitespace = true;
137
+ continue;
138
+ }
139
+ output += char;
140
+ previousWasWhitespace = false;
141
+ }
142
+ return output.trim();
143
+ }
144
+ function previousSentenceBoundary(text, fromIndex) {
145
+ for (let index = fromIndex; index >= 0; index -= 1) {
146
+ if (isSentenceBoundary(text[index] ?? "")) {
147
+ return index;
148
+ }
149
+ }
150
+ return -1;
151
+ }
152
+ function isBoundaryOrWhitespace(char) {
153
+ return isSentenceBoundary(char) || char.trim() === "";
154
+ }
155
+ function isSentenceBoundary(char) {
156
+ return char === "." || char === "?" || char === "!" || char === "\n" || char === "\r";
157
+ }
158
+ function hasLetterOrNumber(value) {
159
+ for (const char of value) {
160
+ const codePoint = char.codePointAt(0);
161
+ if (codePoint !== undefined && codePoint >= 48 && codePoint <= 57) {
162
+ return true;
163
+ }
164
+ if (char.toLocaleLowerCase() !== char.toLocaleUpperCase()) {
165
+ return true;
166
+ }
167
+ }
168
+ return false;
169
+ }
170
+ //# sourceMappingURL=query-sanitizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-sanitizer.js","sourceRoot":"","sources":["../src/query-sanitizer.ts"],"names":[],"mappings":"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"}
package/dist/query.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import type { AskResult, SearchOptions, SearchResult } from "./types.js";
1
+ import type { AskResult, RetrievalProfile, SearchOptions, SearchResult } from "./types.js";
2
2
  export declare function search(query: string, options?: SearchOptions): Promise<SearchResult[]>;
3
- export declare function vectorCandidateLimit(topK: number): number;
3
+ export declare function vectorCandidateLimit(topK: number, profile?: RetrievalProfile): number;
4
4
  export declare function ask(query: string, options?: SearchOptions): Promise<AskResult>;
5
5
  //# sourceMappingURL=query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAsCxE,wBAAsB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA8BhG;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAsB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,CAyBxF"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAEhB,aAAa,EACb,YAAY,EACb,MAAM,YAAY,CAAA;AAkEnB,wBAAsB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA2DhG;AAwFD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,gBAA6B,GAAG,MAAM,CAGjG;AAED,wBAAsB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,CAyBxF"}