@jcode.labs/ragmir 2.17.1 → 2.18.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 (203) hide show
  1. package/README.md +53 -6
  2. package/dist/access-log.d.ts +10 -0
  3. package/dist/access-log.d.ts.map +1 -1
  4. package/dist/access-log.js +119 -49
  5. package/dist/access-log.js.map +1 -1
  6. package/dist/chunking.d.ts +5 -1
  7. package/dist/chunking.d.ts.map +1 -1
  8. package/dist/chunking.js +102 -16
  9. package/dist/chunking.js.map +1 -1
  10. package/dist/citation.d.ts +18 -0
  11. package/dist/citation.d.ts.map +1 -0
  12. package/dist/citation.js +54 -0
  13. package/dist/citation.js.map +1 -0
  14. package/dist/cli-entry.d.ts +3 -0
  15. package/dist/cli-entry.d.ts.map +1 -0
  16. package/dist/cli-entry.js +16 -0
  17. package/dist/cli-entry.js.map +1 -0
  18. package/dist/cli-fast.d.ts +13 -0
  19. package/dist/cli-fast.d.ts.map +1 -0
  20. package/dist/cli-fast.js +145 -0
  21. package/dist/cli-fast.js.map +1 -0
  22. package/dist/cli-options.d.ts +3 -0
  23. package/dist/cli-options.d.ts.map +1 -1
  24. package/dist/cli-options.js +7 -0
  25. package/dist/cli-options.js.map +1 -1
  26. package/dist/cli-stdin.d.ts +3 -0
  27. package/dist/cli-stdin.d.ts.map +1 -0
  28. package/dist/cli-stdin.js +15 -0
  29. package/dist/cli-stdin.js.map +1 -0
  30. package/dist/cli.js +254 -47
  31. package/dist/cli.js.map +1 -1
  32. package/dist/client.d.ts +13 -2
  33. package/dist/client.d.ts.map +1 -1
  34. package/dist/client.js +155 -10
  35. package/dist/client.js.map +1 -1
  36. package/dist/config.d.ts +6 -0
  37. package/dist/config.d.ts.map +1 -1
  38. package/dist/config.js +227 -49
  39. package/dist/config.js.map +1 -1
  40. package/dist/context-resources.d.ts +4 -2
  41. package/dist/context-resources.d.ts.map +1 -1
  42. package/dist/context-resources.js +55 -24
  43. package/dist/context-resources.js.map +1 -1
  44. package/dist/defaults.d.ts +27 -0
  45. package/dist/defaults.d.ts.map +1 -1
  46. package/dist/defaults.js +42 -2
  47. package/dist/defaults.js.map +1 -1
  48. package/dist/destroy.d.ts +2 -2
  49. package/dist/destroy.d.ts.map +1 -1
  50. package/dist/destroy.js +34 -20
  51. package/dist/destroy.js.map +1 -1
  52. package/dist/doctor.d.ts +3 -2
  53. package/dist/doctor.d.ts.map +1 -1
  54. package/dist/doctor.js +86 -41
  55. package/dist/doctor.js.map +1 -1
  56. package/dist/durable-file.d.ts +13 -0
  57. package/dist/durable-file.d.ts.map +1 -0
  58. package/dist/durable-file.js +56 -0
  59. package/dist/durable-file.js.map +1 -0
  60. package/dist/embeddings.d.ts +14 -3
  61. package/dist/embeddings.d.ts.map +1 -1
  62. package/dist/embeddings.js +233 -95
  63. package/dist/embeddings.js.map +1 -1
  64. package/dist/errors.d.ts +1 -1
  65. package/dist/errors.d.ts.map +1 -1
  66. package/dist/errors.js.map +1 -1
  67. package/dist/evaluate.d.ts +4 -3
  68. package/dist/evaluate.d.ts.map +1 -1
  69. package/dist/evaluate.js +611 -110
  70. package/dist/evaluate.js.map +1 -1
  71. package/dist/files.d.ts +4 -1
  72. package/dist/files.d.ts.map +1 -1
  73. package/dist/files.js +119 -33
  74. package/dist/files.js.map +1 -1
  75. package/dist/generation-retention.d.ts +52 -0
  76. package/dist/generation-retention.d.ts.map +1 -0
  77. package/dist/generation-retention.js +318 -0
  78. package/dist/generation-retention.js.map +1 -0
  79. package/dist/index-diagnostics.d.ts +3 -2
  80. package/dist/index-diagnostics.d.ts.map +1 -1
  81. package/dist/index-diagnostics.js +32 -3
  82. package/dist/index-diagnostics.js.map +1 -1
  83. package/dist/index-policy.d.ts.map +1 -1
  84. package/dist/index-policy.js +3 -0
  85. package/dist/index-policy.js.map +1 -1
  86. package/dist/index-write-lock.d.ts +16 -1
  87. package/dist/index-write-lock.d.ts.map +1 -1
  88. package/dist/index-write-lock.js +392 -13
  89. package/dist/index-write-lock.js.map +1 -1
  90. package/dist/index.d.ts +12 -4
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +5 -2
  93. package/dist/index.js.map +1 -1
  94. package/dist/ingest.d.ts +11 -2
  95. package/dist/ingest.d.ts.map +1 -1
  96. package/dist/ingest.js +680 -165
  97. package/dist/ingest.js.map +1 -1
  98. package/dist/ingestion-metrics.d.ts +58 -0
  99. package/dist/ingestion-metrics.d.ts.map +1 -0
  100. package/dist/ingestion-metrics.js +216 -0
  101. package/dist/ingestion-metrics.js.map +1 -0
  102. package/dist/ingestion-state.d.ts +11 -2
  103. package/dist/ingestion-state.d.ts.map +1 -1
  104. package/dist/ingestion-state.js +480 -49
  105. package/dist/ingestion-state.js.map +1 -1
  106. package/dist/limits.d.ts.map +1 -1
  107. package/dist/limits.js +11 -1
  108. package/dist/limits.js.map +1 -1
  109. package/dist/mcp-output.d.ts +44 -4
  110. package/dist/mcp-output.d.ts.map +1 -1
  111. package/dist/mcp-output.js +132 -159
  112. package/dist/mcp-output.js.map +1 -1
  113. package/dist/mcp-summaries.d.ts +32 -0
  114. package/dist/mcp-summaries.d.ts.map +1 -0
  115. package/dist/mcp-summaries.js +227 -0
  116. package/dist/mcp-summaries.js.map +1 -0
  117. package/dist/mcp.d.ts +1 -1
  118. package/dist/mcp.d.ts.map +1 -1
  119. package/dist/mcp.js +85 -46
  120. package/dist/mcp.js.map +1 -1
  121. package/dist/ocr-cache.d.ts +15 -0
  122. package/dist/ocr-cache.d.ts.map +1 -0
  123. package/dist/ocr-cache.js +90 -0
  124. package/dist/ocr-cache.js.map +1 -0
  125. package/dist/ocr.d.ts +31 -0
  126. package/dist/ocr.d.ts.map +1 -1
  127. package/dist/ocr.js +193 -17
  128. package/dist/ocr.js.map +1 -1
  129. package/dist/parsing.d.ts.map +1 -1
  130. package/dist/parsing.js +482 -85
  131. package/dist/parsing.js.map +1 -1
  132. package/dist/permissions.js +2 -2
  133. package/dist/permissions.js.map +1 -1
  134. package/dist/preview.d.ts.map +1 -1
  135. package/dist/preview.js +10 -11
  136. package/dist/preview.js.map +1 -1
  137. package/dist/quality-report.d.ts +12 -0
  138. package/dist/quality-report.d.ts.map +1 -0
  139. package/dist/quality-report.js +146 -0
  140. package/dist/quality-report.js.map +1 -0
  141. package/dist/query.d.ts +7 -4
  142. package/dist/query.d.ts.map +1 -1
  143. package/dist/query.js +371 -284
  144. package/dist/query.js.map +1 -1
  145. package/dist/ranking.d.ts +38 -0
  146. package/dist/ranking.d.ts.map +1 -0
  147. package/dist/ranking.js +278 -0
  148. package/dist/ranking.js.map +1 -0
  149. package/dist/redaction.d.ts +6 -1
  150. package/dist/redaction.d.ts.map +1 -1
  151. package/dist/redaction.js +118 -4
  152. package/dist/redaction.js.map +1 -1
  153. package/dist/research.d.ts +6 -1
  154. package/dist/research.d.ts.map +1 -1
  155. package/dist/research.js +330 -130
  156. package/dist/research.js.map +1 -1
  157. package/dist/runtime-info.d.ts +3 -0
  158. package/dist/runtime-info.d.ts.map +1 -0
  159. package/dist/runtime-info.js +81 -0
  160. package/dist/runtime-info.js.map +1 -0
  161. package/dist/security.d.ts +3 -2
  162. package/dist/security.d.ts.map +1 -1
  163. package/dist/security.js +242 -45
  164. package/dist/security.js.map +1 -1
  165. package/dist/semantic-config.d.ts +7 -1
  166. package/dist/semantic-config.d.ts.map +1 -1
  167. package/dist/semantic-config.js +30 -4
  168. package/dist/semantic-config.js.map +1 -1
  169. package/dist/setup.js +6 -3
  170. package/dist/setup.js.map +1 -1
  171. package/dist/skill.js +34 -12
  172. package/dist/skill.js.map +1 -1
  173. package/dist/source-fingerprint-cache.d.ts +20 -0
  174. package/dist/source-fingerprint-cache.d.ts.map +1 -0
  175. package/dist/source-fingerprint-cache.js +133 -0
  176. package/dist/source-fingerprint-cache.js.map +1 -0
  177. package/dist/storage-maintenance.d.ts +46 -0
  178. package/dist/storage-maintenance.d.ts.map +1 -0
  179. package/dist/storage-maintenance.js +329 -0
  180. package/dist/storage-maintenance.js.map +1 -0
  181. package/dist/store.d.ts +39 -2
  182. package/dist/store.d.ts.map +1 -1
  183. package/dist/store.js +559 -24
  184. package/dist/store.js.map +1 -1
  185. package/dist/text.d.ts +1 -1
  186. package/dist/text.d.ts.map +1 -1
  187. package/dist/text.js +12 -2
  188. package/dist/text.js.map +1 -1
  189. package/dist/types.d.ts +414 -5
  190. package/dist/types.d.ts.map +1 -1
  191. package/dist/vector-index.d.ts +42 -0
  192. package/dist/vector-index.d.ts.map +1 -0
  193. package/dist/vector-index.js +249 -0
  194. package/dist/vector-index.js.map +1 -0
  195. package/dist/version.d.ts +1 -1
  196. package/dist/version.js +1 -1
  197. package/dist/workload.d.ts +22 -0
  198. package/dist/workload.d.ts.map +1 -0
  199. package/dist/workload.js +181 -0
  200. package/dist/workload.js.map +1 -0
  201. package/examples/document-evidence-benchmark/README.md +3 -2
  202. package/examples/document-evidence-benchmark/golden-queries.json +1 -1
  203. package/package.json +36 -11
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { FileHandle } from "node:fs/promises";
2
+ export type DurableWritePhase = "before-write" | "before-sync" | "before-rename" | "after-rename";
3
+ export interface DurableWritePhaseEvent {
4
+ targetPath: string;
5
+ temporaryPath: string;
6
+ phase: DurableWritePhase;
7
+ }
8
+ type DurableWriteFaultInjector = (event: DurableWritePhaseEvent) => void | Promise<void>;
9
+ export declare function withDurableWriteFaultForTests<T>(injector: DurableWriteFaultInjector, operation: () => Promise<T>): Promise<T>;
10
+ export declare function writePrivateFileAtomic(targetPath: string, directory: string, writer: (handle: FileHandle) => Promise<void>): Promise<void>;
11
+ export declare function syncDirectory(directory: string): Promise<void>;
12
+ export {};
13
+ //# sourceMappingURL=durable-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"durable-file.d.ts","sourceRoot":"","sources":["../src/durable-file.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAIlD,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG,aAAa,GAAG,eAAe,GAAG,cAAc,CAAA;AAEjG,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,iBAAiB,CAAA;CACzB;AAED,KAAK,yBAAyB,GAAG,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAIxF,wBAAgB,6BAA6B,CAAC,CAAC,EAC7C,QAAQ,EAAE,yBAAyB,EACnC,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAC1B,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAC5C,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYpE"}
@@ -0,0 +1,56 @@
1
+ import { AsyncLocalStorage } from "node:async_hooks";
2
+ import { randomUUID } from "node:crypto";
3
+ import { open, rename, rm } from "node:fs/promises";
4
+ import { ensurePrivateDirectory, hardenPrivateFile } from "./permissions.js";
5
+ const durableWriteFault = new AsyncLocalStorage();
6
+ export function withDurableWriteFaultForTests(injector, operation) {
7
+ return durableWriteFault.run(injector, operation);
8
+ }
9
+ export async function writePrivateFileAtomic(targetPath, directory, writer) {
10
+ await ensurePrivateDirectory(directory);
11
+ const temporaryPath = `${targetPath}.${process.pid}.${randomUUID()}.tmp`;
12
+ let handle;
13
+ try {
14
+ await notifyPhase(targetPath, temporaryPath, "before-write");
15
+ handle = await open(temporaryPath, "wx", 0o600);
16
+ await writer(handle);
17
+ await hardenPrivateFile(temporaryPath);
18
+ await notifyPhase(targetPath, temporaryPath, "before-sync");
19
+ await handle.sync();
20
+ await handle.close();
21
+ handle = undefined;
22
+ await notifyPhase(targetPath, temporaryPath, "before-rename");
23
+ await rename(temporaryPath, targetPath);
24
+ await syncDirectory(directory);
25
+ await notifyPhase(targetPath, temporaryPath, "after-rename");
26
+ }
27
+ finally {
28
+ await handle?.close().catch(() => undefined);
29
+ await rm(temporaryPath, { force: true });
30
+ }
31
+ }
32
+ export async function syncDirectory(directory) {
33
+ let handle;
34
+ try {
35
+ handle = await open(directory, "r");
36
+ await handle.sync();
37
+ }
38
+ catch (error) {
39
+ if (process.platform !== "win32" || !isUnsupportedDirectorySync(error)) {
40
+ throw error;
41
+ }
42
+ }
43
+ finally {
44
+ await handle?.close().catch(() => undefined);
45
+ }
46
+ }
47
+ async function notifyPhase(targetPath, temporaryPath, phase) {
48
+ await durableWriteFault.getStore()?.({ targetPath, temporaryPath, phase });
49
+ }
50
+ function isUnsupportedDirectorySync(error) {
51
+ if (!(error instanceof Error) || !("code" in error)) {
52
+ return false;
53
+ }
54
+ return ["EACCES", "EBADF", "EINVAL", "EISDIR", "ENOTSUP", "EPERM"].includes(String(error.code));
55
+ }
56
+ //# sourceMappingURL=durable-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"durable-file.js","sourceRoot":"","sources":["../src/durable-file.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,19 @@
1
- import type { Config } from "./types.js";
1
+ import type { Config, IngestionEmbeddingModelState } from "./types.js";
2
+ import { type WorkloadAdmission } from "./workload.js";
2
3
  declare global {
3
4
  var __ragmirTransformersEnvironmentQueue: Promise<void> | undefined;
4
5
  }
5
6
  type EmbeddingInputType = "document" | "query";
6
7
  export interface PullEmbeddingModelResult {
7
8
  embeddingModel: string;
9
+ embeddingModelRevision: string;
10
+ embeddingModelDigest: string;
8
11
  embeddingModelPath: string;
9
12
  }
10
- export declare function embedTexts(texts: string[], config: Config, inputType?: EmbeddingInputType): Promise<number[][]>;
13
+ export declare function embedTexts(texts: string[], config: Config, inputType?: EmbeddingInputType, signal?: AbortSignal, onAdmission?: (admission: WorkloadAdmission) => void): Promise<number[][]>;
11
14
  export declare function pullEmbeddingModel(config: Config): Promise<PullEmbeddingModelResult>;
12
- export declare function embedText(text: string, config: Config): Promise<number[]>;
15
+ export declare function embedText(text: string, config: Config, signal?: AbortSignal, onAdmission?: (admission: WorkloadAdmission) => void): Promise<number[]>;
16
+ export declare function embeddingModelState(config: Config): Exclude<IngestionEmbeddingModelState, "mixed" | "unused">;
13
17
  export declare function prepareEmbeddingText(text: string, model: string, inputType: EmbeddingInputType): string;
14
18
  /**
15
19
  * Release all cached Transformers.js pipelines. Used by `destroy-index` and on
@@ -18,5 +22,12 @@ export declare function prepareEmbeddingText(text: string, model: string, inputT
18
22
  */
19
23
  export declare function clearTransformersCache(): void;
20
24
  export declare function disposeTransformersCache(): Promise<void>;
25
+ export declare function disposeTransformersModel(config: Config): Promise<void>;
26
+ export declare function retainEmbeddingModel(config: Config): () => Promise<void>;
27
+ export declare function transformersCacheSnapshotForTests(): {
28
+ entries: number;
29
+ activeLeases: number;
30
+ owners: number;
31
+ };
21
32
  export {};
22
33
  //# sourceMappingURL=embeddings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../src/embeddings.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAoBxC,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,oCAAoC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAA;CACpE;AAOD,KAAK,kBAAkB,GAAG,UAAU,GAAG,OAAO,CAAA;AAE9C,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,kBAA+B,GACzC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAUrB;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAe1F;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAM/E;AAqBD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,kBAAkB,GAC5B,MAAM,CAQR;AAiGD;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAG7C;AAED,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAG9D"}
1
+ {"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../src/embeddings.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAA;AACtE,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAgBnE,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,oCAAoC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAA;CACpE;AAqBD,KAAK,kBAAkB,GAAG,UAAU,GAAG,OAAO,CAAA;AAE9C,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,MAAM,CAAA;IACtB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,kBAA+B,EAC1C,MAAM,CAAC,EAAE,WAAW,EACpB,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,KAAK,IAAI,GACnD,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAerB;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAgC1F;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,WAAW,EACpB,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,KAAK,IAAI,GACnD,OAAO,CAAC,MAAM,EAAE,CAAC,CAMnB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,4BAA4B,EAAE,OAAO,GAAG,QAAQ,CAAC,CAK3D;AAyBD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,kBAAkB,GAC5B,MAAM,CAQR;AA4HD;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAI7C;AAED,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAE9D;AAED,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK5E;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAoBxE;AAED,wBAAgB,iCAAiC,IAAI;IACnD,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;CACf,CASA"}
@@ -1,64 +1,95 @@
1
1
  import { createHash } from "node:crypto";
2
- import { mkdir } from "node:fs/promises";
2
+ import { createReadStream } from "node:fs";
3
+ import { mkdir, readdir, stat } from "node:fs/promises";
4
+ import path from "node:path";
5
+ import { throwIfAborted } from "./operation.js";
3
6
  import { tokenize } from "./text.js";
7
+ import { runWorkload } from "./workload.js";
4
8
  const LOCAL_HASH_DIMENSIONS = 384;
5
9
  const LONG_TOKEN_MIN_LENGTH = 6;
6
10
  const LONG_TOKEN_WEIGHT = 1.4;
7
11
  const CHARACTER_NGRAM_LENGTH = 3;
8
12
  const CHARACTER_NGRAM_WEIGHT = 0.35;
9
13
  /**
10
- * Maximum number of Transformers.js pipelines kept live in the process. Each
11
- * pipeline pins ONNX runtime weights (often hundreds of MB), so a long-lived
12
- * process such as the MCP server that changes embedding config could otherwise
13
- * leak memory. A small bound is enough: a single project uses one model at a
14
- * time; the cache is keyed by (model, path, allowRemoteModels).
14
+ * Maximum number of idle Transformers.js pipelines kept live in the process.
15
+ * Active leases may temporarily overlap during a model switch, but a retired
16
+ * pipeline is disposed as soon as its final lease is released.
15
17
  */
16
- const MAX_TRANSFORMERS_PIPELINES = 3;
18
+ const MAX_TRANSFORMERS_PIPELINES = 1;
17
19
  const transformersPipelines = new Map();
18
- const pendingTransformersPipelines = new Map();
19
- let transformersCacheGeneration = 0;
20
- let transformersCacheMutationQueue = Promise.resolve();
21
- export async function embedTexts(texts, config, inputType = "document") {
20
+ const transformersModelOwners = new Map();
21
+ export async function embedTexts(texts, config, inputType = "document", signal, onAdmission) {
22
22
  if (texts.length === 0) {
23
23
  return [];
24
24
  }
25
- if (config.embeddingProvider === "local-hash") {
26
- return texts.map(localHashEmbedding);
27
- }
28
- return embedWithTransformers(texts, config, inputType);
25
+ return runWorkload(config, "embedding", signal, async (admission) => {
26
+ onAdmission?.(admission);
27
+ throwIfAborted(signal);
28
+ if (config.embeddingProvider === "local-hash") {
29
+ return texts.map(localHashEmbedding);
30
+ }
31
+ const embeddings = await embedWithTransformers(texts, config, inputType);
32
+ throwIfAborted(signal);
33
+ return embeddings;
34
+ });
29
35
  }
30
36
  export async function pullEmbeddingModel(config) {
31
37
  await mkdir(config.embeddingModelPath, { recursive: true });
32
- const extractor = await transformersExtractor({
38
+ const pullConfig = {
33
39
  ...config,
34
40
  embeddingProvider: "transformers",
35
41
  transformersAllowRemoteModels: true,
36
- });
37
- await extractor(["Ragmir semantic embedding model bootstrap."], {
38
- pooling: "mean",
39
- normalize: true,
40
- });
41
- return {
42
- embeddingModel: config.embeddingModel,
43
- embeddingModelPath: config.embeddingModelPath,
44
42
  };
43
+ const lease = await acquireTransformersPipeline(pullConfig);
44
+ try {
45
+ await lease.extractor(["Ragmir semantic embedding model bootstrap."], {
46
+ pooling: "mean",
47
+ normalize: true,
48
+ });
49
+ const embeddingModelDigest = await resolveEmbeddingModelDigest(pullConfig);
50
+ if (config.embeddingModelDigest !== null &&
51
+ config.embeddingModelDigest !== embeddingModelDigest) {
52
+ throw new Error(`Embedding model digest mismatch: expected ${config.embeddingModelDigest}, received ${embeddingModelDigest}.`);
53
+ }
54
+ return {
55
+ embeddingModel: config.embeddingModel,
56
+ embeddingModelRevision: config.embeddingModelRevision,
57
+ embeddingModelDigest,
58
+ embeddingModelPath: config.embeddingModelPath,
59
+ };
60
+ }
61
+ finally {
62
+ await lease.release();
63
+ await disposeTransformersModel(pullConfig);
64
+ }
45
65
  }
46
- export async function embedText(text, config) {
47
- const [embedding] = await embedTexts([text], config, "query");
66
+ export async function embedText(text, config, signal, onAdmission) {
67
+ const [embedding] = await embedTexts([text], config, "query", signal, onAdmission);
48
68
  if (!embedding) {
49
69
  throw new Error("No embedding returned for query.");
50
70
  }
51
71
  return embedding;
52
72
  }
73
+ export function embeddingModelState(config) {
74
+ if (config.embeddingProvider === "local-hash") {
75
+ return "stateless";
76
+ }
77
+ return transformersPipelines.has(transformersCacheKey(config)) ? "warm" : "cold";
78
+ }
53
79
  async function embedWithTransformers(texts, config, inputType) {
54
- const extractor = await transformersExtractor(config);
55
- const preparedTexts = texts.map((text) => prepareEmbeddingText(text, config.embeddingModel, inputType));
56
- const output = await extractor(preparedTexts, { pooling: "mean", normalize: true });
57
- const rows = tensorToEmbeddingRows(output);
58
- if (rows.length !== texts.length) {
59
- throw new Error(`Expected ${texts.length} embeddings, received ${rows.length}.`);
80
+ const lease = await acquireTransformersPipeline(config);
81
+ try {
82
+ const preparedTexts = texts.map((text) => prepareEmbeddingText(text, config.embeddingModel, inputType));
83
+ const output = await lease.extractor(preparedTexts, { pooling: "mean", normalize: true });
84
+ const rows = tensorToEmbeddingRows(output);
85
+ if (rows.length !== texts.length) {
86
+ throw new Error(`Expected ${texts.length} embeddings, received ${rows.length}.`);
87
+ }
88
+ return rows;
89
+ }
90
+ finally {
91
+ await lease.release();
60
92
  }
61
- return rows;
62
93
  }
63
94
  export function prepareEmbeddingText(text, model, inputType) {
64
95
  if (/(^|\/)(multilingual-)?e5-/iu.test(model)) {
@@ -69,36 +100,58 @@ export function prepareEmbeddingText(text, model, inputType) {
69
100
  }
70
101
  return text;
71
102
  }
72
- async function transformersExtractor(config) {
73
- const key = [
74
- config.embeddingModel,
75
- config.embeddingModelRevision,
76
- config.embeddingModelPath,
77
- String(config.transformersAllowRemoteModels),
78
- ].join("\n");
79
- const cached = transformersPipelines.get(key);
80
- if (cached) {
81
- // Move to the end so the Map insertion order reflects recent use (LRU).
103
+ async function acquireTransformersPipeline(config) {
104
+ const key = transformersCacheKey(config);
105
+ let entry = transformersPipelines.get(key);
106
+ if (entry) {
82
107
  transformersPipelines.delete(key);
83
- transformersPipelines.set(key, cached);
84
- return cached;
108
+ transformersPipelines.set(key, entry);
85
109
  }
86
- const pending = pendingTransformersPipelines.get(key);
87
- if (pending) {
88
- return pending;
110
+ else {
111
+ entry = {
112
+ key,
113
+ creation: createTransformersExtractor(config),
114
+ leases: 0,
115
+ retired: false,
116
+ idleWaiters: [],
117
+ disposal: undefined,
118
+ };
119
+ transformersPipelines.set(key, entry);
120
+ void entry.creation.catch(() => {
121
+ if (transformersPipelines.get(key) === entry) {
122
+ transformersPipelines.delete(key);
123
+ }
124
+ });
125
+ evictTransformersPipelines(key);
89
126
  }
90
- const generation = transformersCacheGeneration;
91
- const creation = createTransformersExtractor(config).then((extractor) => cacheTransformersPipeline(key, extractor, generation));
92
- pendingTransformersPipelines.set(key, creation);
127
+ entry.leases += 1;
93
128
  try {
94
- return await creation;
129
+ const extractor = await entry.creation;
130
+ let released = false;
131
+ return {
132
+ extractor,
133
+ async release() {
134
+ if (released) {
135
+ return;
136
+ }
137
+ released = true;
138
+ await releaseTransformersLease(entry);
139
+ },
140
+ };
95
141
  }
96
- finally {
97
- if (pendingTransformersPipelines.get(key) === creation) {
98
- pendingTransformersPipelines.delete(key);
99
- }
142
+ catch (error) {
143
+ await releaseTransformersLease(entry);
144
+ throw error;
100
145
  }
101
146
  }
147
+ function transformersCacheKey(config) {
148
+ return [
149
+ config.embeddingModel,
150
+ config.embeddingModelRevision,
151
+ config.embeddingModelDigest ?? "unverified",
152
+ config.embeddingModelPath,
153
+ ].join("\n");
154
+ }
102
155
  async function createTransformersExtractor(config) {
103
156
  return withTransformersEnvironment(async () => {
104
157
  const transformers = await import("@huggingface/transformers");
@@ -122,37 +175,49 @@ async function createTransformersExtractor(config) {
122
175
  }
123
176
  });
124
177
  }
125
- async function evictTransformersPipeline() {
126
- const evicted = [];
127
- while (transformersPipelines.size >= MAX_TRANSFORMERS_PIPELINES) {
128
- // Map iteration order is insertion order, so the first key is the least
129
- // recently used entry.
130
- const oldest = transformersPipelines.keys().next();
131
- if (oldest.done) {
178
+ function evictTransformersPipelines(retainedKey) {
179
+ while (transformersPipelines.size > MAX_TRANSFORMERS_PIPELINES) {
180
+ const candidate = [...transformersPipelines.entries()].find(([key]) => key !== retainedKey);
181
+ if (!candidate) {
132
182
  break;
133
183
  }
134
- const extractor = transformersPipelines.get(oldest.value);
135
- transformersPipelines.delete(oldest.value);
136
- if (extractor) {
137
- evicted.push(extractor);
184
+ void retireTransformersPipeline(candidate[1]);
185
+ }
186
+ }
187
+ async function releaseTransformersLease(entry) {
188
+ entry.leases -= 1;
189
+ if (entry.leases < 0) {
190
+ throw new Error("Transformers pipeline lease count became negative.");
191
+ }
192
+ if (entry.leases === 0) {
193
+ for (const resolve of entry.idleWaiters.splice(0)) {
194
+ resolve();
138
195
  }
139
196
  }
140
- await Promise.allSettled(evicted.map((extractor) => extractor.dispose?.()));
197
+ if (entry.retired) {
198
+ await entry.disposal;
199
+ }
141
200
  }
142
- function cacheTransformersPipeline(key, extractor, generation) {
143
- return withTransformersCacheMutation(async () => {
144
- if (generation !== transformersCacheGeneration) {
145
- await extractor.dispose?.();
146
- throw new Error("Transformers cache was cleared while the pipeline was loading.");
201
+ function retireTransformersPipeline(entry) {
202
+ if (!entry.retired) {
203
+ entry.retired = true;
204
+ if (transformersPipelines.get(entry.key) === entry) {
205
+ transformersPipelines.delete(entry.key);
147
206
  }
148
- await evictTransformersPipeline();
149
- if (generation !== transformersCacheGeneration) {
207
+ }
208
+ entry.disposal ??= (async () => {
209
+ if (entry.leases > 0) {
210
+ await new Promise((resolve) => entry.idleWaiters.push(resolve));
211
+ }
212
+ try {
213
+ const extractor = await entry.creation;
150
214
  await extractor.dispose?.();
151
- throw new Error("Transformers cache was cleared while the pipeline was loading.");
152
215
  }
153
- transformersPipelines.set(key, extractor);
154
- return extractor;
155
- });
216
+ catch {
217
+ // Failed pipeline creation has no live native session to release.
218
+ }
219
+ })();
220
+ return entry.disposal;
156
221
  }
157
222
  /**
158
223
  * Release all cached Transformers.js pipelines. Used by `destroy-index` and on
@@ -160,29 +225,102 @@ function cacheTransformersPipeline(key, extractor, generation) {
160
225
  * weights are not pinned in memory.
161
226
  */
162
227
  export function clearTransformersCache() {
163
- const extractors = takeTransformersCache();
164
- void disposeTransformersExtractors(extractors);
228
+ for (const entry of takeTransformersCache()) {
229
+ void retireTransformersPipeline(entry);
230
+ }
165
231
  }
166
232
  export async function disposeTransformersCache() {
167
- const extractors = takeTransformersCache();
168
- await disposeTransformersExtractors(extractors);
233
+ await Promise.all(takeTransformersCache().map(retireTransformersPipeline));
234
+ }
235
+ export async function disposeTransformersModel(config) {
236
+ const entry = transformersPipelines.get(transformersCacheKey(config));
237
+ if (entry) {
238
+ await retireTransformersPipeline(entry);
239
+ }
240
+ }
241
+ export function retainEmbeddingModel(config) {
242
+ if (config.embeddingProvider !== "transformers") {
243
+ return async () => undefined;
244
+ }
245
+ const key = transformersCacheKey(config);
246
+ transformersModelOwners.set(key, (transformersModelOwners.get(key) ?? 0) + 1);
247
+ let released = false;
248
+ return async () => {
249
+ if (released) {
250
+ return;
251
+ }
252
+ released = true;
253
+ const owners = transformersModelOwners.get(key) ?? 0;
254
+ if (owners <= 1) {
255
+ transformersModelOwners.delete(key);
256
+ await disposeTransformersModel(config);
257
+ return;
258
+ }
259
+ transformersModelOwners.set(key, owners - 1);
260
+ };
261
+ }
262
+ export function transformersCacheSnapshotForTests() {
263
+ return {
264
+ entries: transformersPipelines.size,
265
+ activeLeases: [...transformersPipelines.values()].reduce((total, entry) => total + entry.leases, 0),
266
+ owners: [...transformersModelOwners.values()].reduce((total, owners) => total + owners, 0),
267
+ };
169
268
  }
170
269
  function takeTransformersCache() {
171
- transformersCacheGeneration += 1;
172
- const extractors = [...transformersPipelines.values()];
270
+ const entries = [...transformersPipelines.values()];
173
271
  transformersPipelines.clear();
174
- pendingTransformersPipelines.clear();
175
- return extractors;
272
+ return entries;
176
273
  }
177
- function disposeTransformersExtractors(extractors) {
178
- return withTransformersCacheMutation(async () => {
179
- await Promise.allSettled(extractors.map((extractor) => extractor.dispose?.()));
180
- });
274
+ async function resolveEmbeddingModelDigest(config) {
275
+ const modelRoot = embeddingModelRoot(config);
276
+ const files = await modelArtifactFiles(modelRoot);
277
+ if (files.length === 0) {
278
+ throw new Error(`No embedding model artifacts found under ${modelRoot}.`);
279
+ }
280
+ const identity = createHash("sha256");
281
+ for (const filename of files) {
282
+ const relativePath = path.relative(modelRoot, filename).split(path.sep).join("/");
283
+ const metadata = await stat(filename);
284
+ const digest = await sha256File(filename);
285
+ identity.update(relativePath);
286
+ identity.update("\0");
287
+ identity.update(String(metadata.size));
288
+ identity.update("\0");
289
+ identity.update(digest);
290
+ identity.update("\n");
291
+ }
292
+ return `sha256:${identity.digest("hex")}`;
181
293
  }
182
- function withTransformersCacheMutation(operation) {
183
- const queued = transformersCacheMutationQueue.then(operation);
184
- transformersCacheMutationQueue = queued.then(() => undefined, () => undefined);
185
- return queued;
294
+ function embeddingModelRoot(config) {
295
+ const base = path.resolve(config.embeddingModelPath);
296
+ const root = path.resolve(base, config.embeddingModel);
297
+ if (root === base || !root.startsWith(`${base}${path.sep}`)) {
298
+ throw new Error("embeddingModel must resolve inside embeddingModelPath.");
299
+ }
300
+ return root;
301
+ }
302
+ async function modelArtifactFiles(directory) {
303
+ const files = [];
304
+ for (const entry of await readdir(directory, { withFileTypes: true })) {
305
+ const filename = path.join(directory, entry.name);
306
+ if (entry.isDirectory()) {
307
+ files.push(...(await modelArtifactFiles(filename)));
308
+ }
309
+ else if (entry.isFile()) {
310
+ files.push(filename);
311
+ }
312
+ else if (entry.isSymbolicLink()) {
313
+ throw new Error(`Embedding model artifacts must not contain symbolic links: ${filename}`);
314
+ }
315
+ }
316
+ return files.sort((left, right) => (left < right ? -1 : left > right ? 1 : 0));
317
+ }
318
+ async function sha256File(filename) {
319
+ const hash = createHash("sha256");
320
+ for await (const chunk of createReadStream(filename)) {
321
+ hash.update(chunk);
322
+ }
323
+ return hash.digest("hex");
186
324
  }
187
325
  function withTransformersEnvironment(operation) {
188
326
  const queued = (globalThis.__ragmirTransformersEnvironmentQueue ?? Promise.resolve()).then(operation);
@@ -1 +1 @@
1
- {"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../src/embeddings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../src/embeddings.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type RagmirErrorCode = "ABORTED" | "CLIENT_CLOSED" | "INTERNAL" | "INVALID_ARGUMENT" | "TIMEOUT";
1
+ export type RagmirErrorCode = "ABORTED" | "CLIENT_CLOSED" | "INDEX_BUSY" | "INDEX_UNAVAILABLE" | "INTERNAL" | "INVALID_ARGUMENT" | "OVERLOADED" | "TIMEOUT";
2
2
  interface RagmirErrorOptions {
3
3
  cause?: unknown;
4
4
  retryable?: boolean;