@kernlang/core 4.0.1-canary.225.1.f5c8d5fe → 4.1.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 (46) hide show
  1. package/dist/codegen/body-ts.js +6 -0
  2. package/dist/codegen/body-ts.js.map +1 -1
  3. package/dist/codegen/stdlib-preamble.d.ts +29 -0
  4. package/dist/codegen/stdlib-preamble.js +52 -1
  5. package/dist/codegen/stdlib-preamble.js.map +1 -1
  6. package/dist/codegen/type-system.js +8 -1
  7. package/dist/codegen/type-system.js.map +1 -1
  8. package/dist/codegen-expression.d.ts +10 -0
  9. package/dist/codegen-expression.js +40 -9
  10. package/dist/codegen-expression.js.map +1 -1
  11. package/dist/index.d.ts +3 -3
  12. package/dist/index.js +1 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/ir/semantics/portable-error.d.ts +51 -0
  15. package/dist/ir/semantics/portable-error.js +70 -0
  16. package/dist/ir/semantics/portable-error.js.map +1 -0
  17. package/dist/ir/semantics/portable-scalar.d.ts +12 -0
  18. package/dist/ir/semantics/portable-scalar.js +59 -10
  19. package/dist/ir/semantics/portable-scalar.js.map +1 -1
  20. package/dist/ir/semantics/primitives.js +82 -18
  21. package/dist/ir/semantics/primitives.js.map +1 -1
  22. package/dist/ir/semantics/trace.d.ts +12 -0
  23. package/dist/ir/semantics/trace.js +4 -0
  24. package/dist/ir/semantics/trace.js.map +1 -1
  25. package/dist/ir/semantics/try.js +33 -3
  26. package/dist/ir/semantics/try.js.map +1 -1
  27. package/dist/ir/semantics/ts-leg.js +17 -0
  28. package/dist/ir/semantics/ts-leg.js.map +1 -1
  29. package/dist/rag-embed-resolver.js +1 -0
  30. package/dist/rag-embed-resolver.js.map +1 -1
  31. package/dist/rag-embedding-node.d.ts +6 -0
  32. package/dist/rag-embedding-node.js +90 -5
  33. package/dist/rag-embedding-node.js.map +1 -1
  34. package/dist/rag-retrieve-runner.d.ts +2 -3
  35. package/dist/rag-retrieve-runner.js +204 -20
  36. package/dist/rag-retrieve-runner.js.map +1 -1
  37. package/dist/rag-runtime.d.ts +13 -2
  38. package/dist/rag-runtime.js +110 -14
  39. package/dist/rag-runtime.js.map +1 -1
  40. package/dist/semantic-validator.d.ts +9 -0
  41. package/dist/semantic-validator.js +59 -5
  42. package/dist/semantic-validator.js.map +1 -1
  43. package/dist/spec.d.ts +1 -1
  44. package/dist/spec.js +1 -1
  45. package/dist/spec.js.map +1 -1
  46. package/package.json +1 -1
@@ -4,6 +4,7 @@ import { InMemoryPgVectorRagStore, RAG_VECTOR_STORE_SNAPSHOT_VERSION, } from './
4
4
  const LOCAL_PERSISTENT_VECTOR_STORE_FILE = 'vectors.json';
5
5
  const MAX_LOCAL_PERSISTENT_VECTOR_STORE_BYTES = 100 * 1024 * 1024;
6
6
  const OPEN_LOCAL_PERSISTENT_VECTOR_STORE_FILES = new Set();
7
+ const LOCAL_VECTOR_STORE_LOCK_VERSION = 'kern-rag-vector-store-lock-v1';
7
8
  /**
8
9
  * Directory-backed vector store for local runner-native RAG.
9
10
  *
@@ -35,6 +36,9 @@ export class LocalPersistentRagVectorStoreAdapter extends InMemoryPgVectorRagSto
35
36
  this.loadFromDisk();
36
37
  }
37
38
  catch (error) {
39
+ if (options.rebuildOnFingerprintMismatch && isLocalVectorStoreFingerprintMismatch(error)) {
40
+ return;
41
+ }
38
42
  OPEN_LOCAL_PERSISTENT_VECTOR_STORE_FILES.delete(this.filePath);
39
43
  releaseLocalVectorStoreLock(this.lockPath, this.lockFd);
40
44
  this.lockFd = undefined;
@@ -78,6 +82,20 @@ export class LocalPersistentRagVectorStoreAdapter extends InMemoryPgVectorRagSto
78
82
  throw error;
79
83
  }
80
84
  }
85
+ replaceAll(entries) {
86
+ this.assertOpen();
87
+ const before = this.snapshot();
88
+ try {
89
+ super.clear();
90
+ for (const entry of entries)
91
+ super.upsert(entry.chunk, entry.vector, entry.fingerprint);
92
+ this.flushToDisk();
93
+ }
94
+ catch (error) {
95
+ this.restoreSnapshot(before);
96
+ throw error;
97
+ }
98
+ }
81
99
  search(query, queryVector, options = {}, fingerprint = this.fingerprint) {
82
100
  this.assertOpen();
83
101
  return super.search(query, queryVector, options, fingerprint);
@@ -149,7 +167,7 @@ export class LocalPersistentRagVectorStoreAdapter extends InMemoryPgVectorRagSto
149
167
  const tmpPath = `${this.filePath}.tmp`;
150
168
  try {
151
169
  const payload = `${JSON.stringify(this.snapshot(), null, 2)}\n`;
152
- if (new TextEncoder().encode(payload).byteLength > MAX_LOCAL_PERSISTENT_VECTOR_STORE_BYTES) {
170
+ if (Buffer.byteLength(payload, 'utf-8') > MAX_LOCAL_PERSISTENT_VECTOR_STORE_BYTES) {
153
171
  throw new Error(`KERN local vector store snapshot exceeds ${MAX_LOCAL_PERSISTENT_VECTOR_STORE_BYTES} bytes.`);
154
172
  }
155
173
  writeFileSync(tmpPath, payload, 'utf-8');
@@ -190,30 +208,97 @@ function localVectorStoreFilePath(directory, fileName = LOCAL_PERSISTENT_VECTOR_
190
208
  return join(directory, fileName);
191
209
  }
192
210
  function acquireLocalVectorStoreLock(lockPath, filePath) {
211
+ const acquire = () => {
212
+ const fd = openSync(lockPath, 'wx');
213
+ try {
214
+ writeFileSync(fd, `${JSON.stringify({ version: LOCAL_VECTOR_STORE_LOCK_VERSION, pid: process.pid, filePath })}\n`, 'utf-8');
215
+ return fd;
216
+ }
217
+ catch (error) {
218
+ try {
219
+ closeSync(fd);
220
+ }
221
+ catch {
222
+ // Preserve the write error; the descriptor cleanup is best effort.
223
+ }
224
+ try {
225
+ if (existsSync(lockPath))
226
+ unlinkSync(lockPath);
227
+ }
228
+ catch {
229
+ // Preserve the write error; stale lock cleanup is best effort.
230
+ }
231
+ throw error;
232
+ }
233
+ };
193
234
  try {
194
- return openSync(lockPath, 'wx');
235
+ return acquire();
195
236
  }
196
237
  catch (error) {
197
238
  if (isNodeError(error) && error.code === 'EEXIST') {
239
+ if (isStaleLocalVectorStoreLock(lockPath)) {
240
+ try {
241
+ unlinkSync(lockPath);
242
+ return acquire();
243
+ }
244
+ catch {
245
+ // Preserve the fail-closed behavior below if stale-lock cleanup races another writer.
246
+ }
247
+ }
198
248
  throw new Error(`KERN local vector store '${filePath}' is already open for writing.`);
199
249
  }
200
250
  throw error;
201
251
  }
202
252
  }
203
253
  function releaseLocalVectorStoreLock(lockPath, lockFd) {
204
- if (lockFd !== undefined)
205
- closeSync(lockFd);
254
+ if (lockFd !== undefined) {
255
+ try {
256
+ closeSync(lockFd);
257
+ }
258
+ catch {
259
+ // Lock cleanup is best effort; unlink still gives a subsequent open a chance to proceed.
260
+ }
261
+ }
206
262
  try {
207
263
  if (existsSync(lockPath))
208
264
  unlinkSync(lockPath);
209
265
  }
210
266
  catch {
211
- // Lock cleanup is best effort; a stale lock must fail closed on the next open.
267
+ // Lock cleanup is best effort; stale locks with dead PID metadata can be recovered on the next open.
268
+ }
269
+ }
270
+ function isStaleLocalVectorStoreLock(lockPath) {
271
+ let parsed;
272
+ try {
273
+ parsed = JSON.parse(readFileSync(lockPath, 'utf-8'));
274
+ }
275
+ catch {
276
+ return true;
277
+ }
278
+ if (!parsed || typeof parsed !== 'object')
279
+ return false;
280
+ const lock = parsed;
281
+ const pid = lock.pid;
282
+ if (lock.version !== LOCAL_VECTOR_STORE_LOCK_VERSION ||
283
+ typeof pid !== 'number' ||
284
+ !Number.isInteger(pid) ||
285
+ pid <= 0) {
286
+ return false;
287
+ }
288
+ try {
289
+ process.kill(pid, 0);
290
+ return false;
291
+ }
292
+ catch (error) {
293
+ return isNodeError(error) && error.code === 'ESRCH';
212
294
  }
213
295
  }
214
296
  function isNodeError(error) {
215
297
  return error instanceof Error && 'code' in error;
216
298
  }
299
+ function isLocalVectorStoreFingerprintMismatch(error) {
300
+ return error instanceof Error && /embedding fingerprint mismatch/u.test(error.message);
301
+ }
217
302
  function parseVectorStoreSnapshot(raw, fingerprint, dims) {
218
303
  if (!raw || typeof raw !== 'object')
219
304
  throw new Error('KERN local vector store snapshot must be an object.');
@@ -1 +1 @@
1
- {"version":3,"file":"rag-embedding-node.js","sourceRoot":"","sources":["../src/rag-embedding-node.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEhE,OAAO,EACL,wBAAwB,EACxB,iCAAiC,GAKlC,MAAM,oBAAoB,CAAC;AAG5B,MAAM,kCAAkC,GAAG,cAAc,CAAC;AAC1D,MAAM,uCAAuC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AAClE,MAAM,wCAAwC,GAAG,IAAI,GAAG,EAAU,CAAC;AASnE;;;;;;GAMG;AACH,MAAM,OAAO,oCAAqC,SAAQ,wBAAwB;IAC9D,IAAI,GAAuB,kBAAkB,CAAC;IAC/C,QAAQ,CAAS;IACjB,QAAQ,CAAS;IAC1B,MAAM,CAAqB;IAC3B,MAAM,GAAG,KAAK,CAAC;IAEvB,YAAY,OAA6C;QACvD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACrG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,QAAQ,OAAO,CAAC;QACxC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,GAAG,2BAA2B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,wCAAwC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChE,2BAA2B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,QAAQ,gDAAgD,CAAC,CAAC;QAC7G,CAAC;QACD,wCAAwC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,wCAAwC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/D,2BAA2B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEQ,MAAM,CAAC,KAAoB,EAAE,MAAoB,EAAE,WAAW,GAAG,IAAI,CAAC,WAAW;QACxF,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/B,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC7B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEQ,UAAU,CAAC,OAAuC;QACzD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,OAAO;gBAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YACxF,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC7B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEQ,KAAK;QACZ,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/B,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC7B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEQ,MAAM,CACb,KAAa,EACb,WAAyB,EACzB,UAA2B,EAAE,EAC7B,WAAW,GAAG,IAAI,CAAC,WAAW;QAE9B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC;IAEQ,QAAQ;QACf,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEQ,KAAK;QACZ,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,wCAAwC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/D,2BAA2B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAEO,YAAY;QAClB,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,QAAQ,MAAM,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,OAAO;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAChD,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,cAAc,EAAE,CAAC;YACxB,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBAChD,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACnC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;oBAC/B,OAAO;gBACT,CAAC;gBAAC,MAAM,CAAC;oBACP,uFAAuF;gBACzF,CAAC;YACH,CAAC;YACD,MAAM,cAAc,CAAC;QACvB,CAAC;QAED,IAAI,CAAC;YACH,IAAI,UAAU,CAAC,OAAO,CAAC;gBAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,oGAAoG;QACtG,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,QAAgB;QACvC,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,IAAI,GAAG,uCAAuC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,4CAA4C,uCAAuC,SAAS,CAAC,CAAC;QAChH,CAAC;QACD,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uDAAwD,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACrG,CAAC;QACD,OAAO,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;IAEO,WAAW;QACjB,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,QAAQ,MAAM,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;YAChE,IAAI,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,GAAG,uCAAuC,EAAE,CAAC;gBAC3F,MAAM,IAAI,KAAK,CAAC,4CAA4C,uCAAuC,SAAS,CAAC,CAAC;YAChH,CAAC;YACD,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACzC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,IAAI,UAAU,CAAC,OAAO,CAAC;oBAAE,UAAU,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACP,4EAA4E;YAC9E,CAAC;YACD,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,QAAgC;QACtD,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACzE,CAAC;CACF;AAED,SAAS,wBAAwB,CAAC,SAAiB,EAAE,QAAQ,GAAG,kCAAkC;IAChG,IACE,CAAC,QAAQ,CAAC,IAAI,EAAE;QAChB,UAAU,CAAC,QAAQ,CAAC;QACpB,QAAQ,CAAC,QAAQ,CAAC,KAAK,QAAQ;QAC/B,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;QACtB,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;QACvB,QAAQ,KAAK,GAAG;QAChB,QAAQ,KAAK,IAAI,EACjB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAgB,EAAE,QAAgB;IACrE,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,gCAAgC,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAgB,EAAE,MAA0B;IAC/E,IAAI,MAAM,KAAK,SAAS;QAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,QAAQ,CAAC;YAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,+EAA+E;IACjF,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC;AACnD,CAAC;AAED,SAAS,wBAAwB,CAAC,GAAY,EAAE,WAAmB,EAAE,IAAY;IAC/E,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IAC5G,MAAM,QAAQ,GAAG,GAAsC,CAAC;IACxD,IAAI,QAAQ,CAAC,OAAO,KAAK,iCAAiC,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,oDAAoD,iCAAiC,GAAG,CAAC,CAAC;IAC5G,CAAC;IACD,IAAI,QAAQ,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,oBAAoB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxG,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAC3G,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAChD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,KAAK,GAAG,QAA0C,CAAC;QACzD,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QACD,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,KAAK,CAAC,EAAE,eAAe,IAAI,qBAAqB,CAAC,CAAC;QAC5G,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAA4B,CAAC;QAClD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACjF,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,KAAK,CAAC,EAAE,2BAA2B,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,KAAK,CAAC,EAAE,0CAA0C,CAAC,CAAC;QAC9G,CAAC;QACD,OAAO;YACL,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;YACnC,MAAM,EAAE,MAA2B;YACnC,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO;QACL,OAAO,EAAE,iCAAiC;QAC1C,WAAW;QACX,IAAI;QACJ,MAAM,EAAE,QAAQ;QAChB,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,SAAS,GAAG,KAA+B,CAAC;IAClD,IAAI,OAAO,SAAS,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,CAAC,EAAE,oCAAoC,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,CAAC,EAAE,sCAAsC,CAAC,CAAC;IACjG,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"rag-embedding-node.js","sourceRoot":"","sources":["../src/rag-embedding-node.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEhE,OAAO,EACL,wBAAwB,EACxB,iCAAiC,GAKlC,MAAM,oBAAoB,CAAC;AAG5B,MAAM,kCAAkC,GAAG,cAAc,CAAC;AAC1D,MAAM,uCAAuC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AAClE,MAAM,wCAAwC,GAAG,IAAI,GAAG,EAAU,CAAC;AACnE,MAAM,+BAA+B,GAAG,+BAA+B,CAAC;AAcxE;;;;;;GAMG;AACH,MAAM,OAAO,oCAAqC,SAAQ,wBAAwB;IAC9D,IAAI,GAAuB,kBAAkB,CAAC;IAC/C,QAAQ,CAAS;IACjB,QAAQ,CAAS;IAC1B,MAAM,CAAqB;IAC3B,MAAM,GAAG,KAAK,CAAC;IAEvB,YAAY,OAA6C;QACvD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACrG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,QAAQ,OAAO,CAAC;QACxC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,GAAG,2BAA2B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,wCAAwC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChE,2BAA2B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,QAAQ,gDAAgD,CAAC,CAAC;QAC7G,CAAC;QACD,wCAAwC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,4BAA4B,IAAI,qCAAqC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzF,OAAO;YACT,CAAC;YACD,wCAAwC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/D,2BAA2B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEQ,MAAM,CAAC,KAAoB,EAAE,MAAoB,EAAE,WAAW,GAAG,IAAI,CAAC,WAAW;QACxF,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/B,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC7B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEQ,UAAU,CAAC,OAAuC;QACzD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,OAAO;gBAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YACxF,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC7B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEQ,KAAK;QACZ,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/B,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC7B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,UAAU,CAAC,OAAuC;QAChD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,KAAK,MAAM,KAAK,IAAI,OAAO;gBAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YACxF,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC7B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEQ,MAAM,CACb,KAAa,EACb,WAAyB,EACzB,UAA2B,EAAE,EAC7B,WAAW,GAAG,IAAI,CAAC,WAAW;QAE9B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC;IAEQ,QAAQ;QACf,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEQ,KAAK;QACZ,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,wCAAwC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/D,2BAA2B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAEO,YAAY;QAClB,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,QAAQ,MAAM,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,OAAO;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAChD,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,cAAc,EAAE,CAAC;YACxB,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBAChD,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACnC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;oBAC/B,OAAO;gBACT,CAAC;gBAAC,MAAM,CAAC;oBACP,uFAAuF;gBACzF,CAAC;YACH,CAAC;YACD,MAAM,cAAc,CAAC;QACvB,CAAC;QAED,IAAI,CAAC;YACH,IAAI,UAAU,CAAC,OAAO,CAAC;gBAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,oGAAoG;QACtG,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,QAAgB;QACvC,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,IAAI,GAAG,uCAAuC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,4CAA4C,uCAAuC,SAAS,CAAC,CAAC;QAChH,CAAC;QACD,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uDAAwD,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACrG,CAAC;QACD,OAAO,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;IAEO,WAAW;QACjB,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,QAAQ,MAAM,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;YAChE,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,uCAAuC,EAAE,CAAC;gBAClF,MAAM,IAAI,KAAK,CAAC,4CAA4C,uCAAuC,SAAS,CAAC,CAAC;YAChH,CAAC;YACD,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACzC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,IAAI,UAAU,CAAC,OAAO,CAAC;oBAAE,UAAU,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACP,4EAA4E;YAC9E,CAAC;YACD,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,QAAgC;QACtD,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACzE,CAAC;CACF;AAED,SAAS,wBAAwB,CAAC,SAAiB,EAAE,QAAQ,GAAG,kCAAkC;IAChG,IACE,CAAC,QAAQ,CAAC,IAAI,EAAE;QAChB,UAAU,CAAC,QAAQ,CAAC;QACpB,QAAQ,CAAC,QAAQ,CAAC,KAAK,QAAQ;QAC/B,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;QACtB,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;QACvB,QAAQ,KAAK,GAAG;QAChB,QAAQ,KAAK,IAAI,EACjB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAgB,EAAE,QAAgB;IACrE,MAAM,OAAO,GAAG,GAAW,EAAE;QAC3B,MAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC;YACH,aAAa,CACX,EAAE,EACF,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,+BAA+B,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,IAAI,EAC/F,OAAO,CACR,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,SAAS,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC;YAAC,MAAM,CAAC;gBACP,mEAAmE;YACrE,CAAC;YACD,IAAI,CAAC;gBACH,IAAI,UAAU,CAAC,QAAQ,CAAC;oBAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;YACjD,CAAC;YAAC,MAAM,CAAC;gBACP,+DAA+D;YACjE,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC;QACH,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClD,IAAI,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1C,IAAI,CAAC;oBACH,UAAU,CAAC,QAAQ,CAAC,CAAC;oBACrB,OAAO,OAAO,EAAE,CAAC;gBACnB,CAAC;gBAAC,MAAM,CAAC;oBACP,sFAAsF;gBACxF,CAAC;YACH,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,gCAAgC,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAgB,EAAE,MAA0B;IAC/E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,SAAS,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YACP,yFAAyF;QAC3F,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,QAAQ,CAAC;YAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,qGAAqG;IACvG,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAgB;IACnD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,IAAI,GAAG,MAA8C,CAAC;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACrB,IACE,IAAI,CAAC,OAAO,KAAK,+BAA+B;QAChD,OAAO,GAAG,KAAK,QAAQ;QACvB,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;QACtB,GAAG,IAAI,CAAC,EACR,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;IACtD,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC;AACnD,CAAC;AAED,SAAS,qCAAqC,CAAC,KAAc;IAC3D,OAAO,KAAK,YAAY,KAAK,IAAI,iCAAiC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,wBAAwB,CAAC,GAAY,EAAE,WAAmB,EAAE,IAAY;IAC/E,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IAC5G,MAAM,QAAQ,GAAG,GAAsC,CAAC;IACxD,IAAI,QAAQ,CAAC,OAAO,KAAK,iCAAiC,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,oDAAoD,iCAAiC,GAAG,CAAC,CAAC;IAC5G,CAAC;IACD,IAAI,QAAQ,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,oBAAoB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxG,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAC3G,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAChD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,KAAK,GAAG,QAA0C,CAAC;QACzD,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QACD,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,KAAK,CAAC,EAAE,eAAe,IAAI,qBAAqB,CAAC,CAAC;QAC5G,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAA4B,CAAC;QAClD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACjF,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,KAAK,CAAC,EAAE,2BAA2B,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,KAAK,CAAC,EAAE,0CAA0C,CAAC,CAAC;QAC9G,CAAC;QACD,OAAO;YACL,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;YACnC,MAAM,EAAE,MAA2B;YACnC,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO;QACL,OAAO,EAAE,iCAAiC;QAC1C,WAAW;QACX,IAAI;QACJ,MAAM,EAAE,QAAQ;QAChB,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,SAAS,GAAG,KAA+B,CAAC;IAClD,IAAI,OAAO,SAAS,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,CAAC,EAAE,oCAAoC,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,CAAC,EAAE,sCAAsC,CAAC,CAAC;IACjG,CAAC;AACH,CAAC"}
@@ -26,9 +26,8 @@ export interface RagRetrieveDocumentReport {
26
26
  }
27
27
  /**
28
28
  * Execute runtime ragRetrieve declarations over declared local sources.
29
- * The current synchronous path rebuilds an in-memory index from source files;
30
- * querying persistent/provider vector stores is intentionally left to the
31
- * future async runtime path.
29
+ * The current synchronous path supports memory and local-persistent vector stores
30
+ * over declared local sources. Provider vector stores remain future async work.
32
31
  */
33
32
  export declare function retrieveRagDocument(source: string, options: RagRetrieveDocumentOptions): RagRetrieveDocumentReport;
34
33
  export declare function ragRetrieveCorpusSourceSummary(report: RagRetrieveDocumentReport): string;
@@ -1,13 +1,16 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { lstatSync, realpathSync } from 'node:fs';
3
+ import { dirname, isAbsolute, relative, resolve } from 'node:path';
1
4
  import { parseDocument } from './parser.js';
2
5
  import { canonicalRagEmbedModel, defaultDimsForRagEmbedModel, RAG_EMBED_MODEL_LOCAL_HASH, RAG_EMBED_MODEL_LOCAL_SEMANTIC, } from './rag-embed-resolver.js';
3
6
  import { DeterministicHashEmbedder, EmbeddingRagIndex, LocalSemanticEmbedder } from './rag-embedding.js';
7
+ import { LocalPersistentRagVectorStoreAdapter } from './rag-embedding-node.js';
4
8
  import { ingestRagDeclaredLocalSources } from './rag-ingest.js';
5
9
  import { collectRagSemanticFacts, validateRagSemantics, } from './semantic-validator.js';
6
10
  /**
7
11
  * Execute runtime ragRetrieve declarations over declared local sources.
8
- * The current synchronous path rebuilds an in-memory index from source files;
9
- * querying persistent/provider vector stores is intentionally left to the
10
- * future async runtime path.
12
+ * The current synchronous path supports memory and local-persistent vector stores
13
+ * over declared local sources. Provider vector stores remain future async work.
11
14
  */
12
15
  export function retrieveRagDocument(source, options) {
13
16
  const root = parseDocument(source);
@@ -16,13 +19,25 @@ export function retrieveRagDocument(source, options) {
16
19
  return { diagnostics, retrievals: [] };
17
20
  const facts = collectRagSemanticFacts(root);
18
21
  const indexByName = new Map(facts.indexes.map((index) => [index.name, index]));
22
+ const vectorStoreByName = new Map(facts.vectorStores.map((store) => [store.name, store]));
19
23
  const preparedRetrievals = facts.runtimeRetrievals.map((retrieval) => {
20
24
  const index = indexByName.get(retrieval.indexName);
21
25
  if (!index)
22
26
  throw new Error(`KERN RAG runtime retrieval '${retrieval.name}' references missing index.`);
27
+ const vectorStore = vectorStoreByName.get(index.storeName);
28
+ if (!vectorStore) {
29
+ throw new Error(`KERN RAG runtime retrieval '${retrieval.name}' references missing vector store.`);
30
+ }
31
+ const vectorStoreKind = vectorStore.kind ?? 'memory';
32
+ if (vectorStoreKind !== 'memory' && vectorStoreKind !== 'local-persistent') {
33
+ throw new Error(`KERN RAG runtime retrieval '${retrieval.name}' references vectorStore '${vectorStore.name}' kind='${vectorStoreKind}', but the synchronous ragRetrieve runner only supports kind=memory and kind=local-persistent.`);
34
+ }
35
+ if (index.chunkingName) {
36
+ throw new Error(`KERN RAG runtime retrieval '${retrieval.name}' references index '${index.name}' with chunking='${index.chunkingName}', which is not supported by the synchronous ragRetrieve runner yet.`);
37
+ }
23
38
  const query = queryForRuntimeRetrieval(retrieval, options);
24
39
  const embedder = options.embedder ?? embedderForIndex(facts, index.embedName);
25
- return { retrieval, index, query, embedder };
40
+ return { retrieval, index, query, embedder, vectorStore };
26
41
  });
27
42
  const corpusNames = Array.from(new Set(preparedRetrievals.map(({ index }) => index.corpusName))).sort();
28
43
  if (corpusNames.length === 0)
@@ -32,23 +47,71 @@ export function retrieveRagDocument(source, options) {
32
47
  corpusNames,
33
48
  });
34
49
  const embeddingIndexByKey = new Map();
35
- const retrievals = preparedRetrievals.map(({ retrieval, index, query, embedder }) => {
36
- const cacheKey = JSON.stringify([index.corpusName, embedder.id, embedder.dims]);
37
- let embeddingIndex = embeddingIndexByKey.get(cacheKey);
38
- if (!embeddingIndex) {
39
- embeddingIndex = new EmbeddingRagIndex(ingestion.chunks.filter((chunk) => chunk.metadata?.corpusName === index.corpusName), { embedder });
40
- embeddingIndexByKey.set(cacheKey, embeddingIndex);
50
+ const persistentStoreByKey = new Map();
51
+ let retrievals = [];
52
+ let retrievalError;
53
+ let closeError;
54
+ try {
55
+ retrievals = preparedRetrievals.map(({ retrieval, index, query, embedder, vectorStore }) => {
56
+ const corpusChunks = ingestion.chunks.filter((chunk) => chunk.metadata?.corpusName === index.corpusName);
57
+ const retrieveOptions = retrieveOptionsForFact(retrieval);
58
+ let result;
59
+ if ((vectorStore.kind ?? 'memory') === 'local-persistent') {
60
+ const config = localPersistentStoreConfig(vectorStore, index, embedder, corpusChunks, options.sourcePath);
61
+ let entry = persistentStoreByKey.get(config.physicalKey);
62
+ if (entry && entry.fingerprint !== config.fingerprint) {
63
+ throw new Error(`KERN RAG vectorStore '${vectorStore.name}' resolves to local snapshot '${config.fileName}' with multiple incompatible fingerprints. Use distinct namespace or path values for each local-persistent index.`);
64
+ }
65
+ if (!entry) {
66
+ entry = {
67
+ fingerprint: config.fingerprint,
68
+ store: new LocalPersistentRagVectorStoreAdapter({
69
+ directory: config.directory,
70
+ fileName: config.fileName,
71
+ fingerprint: config.fingerprint,
72
+ dims: embedder.dims,
73
+ rebuildOnFingerprintMismatch: true,
74
+ }),
75
+ };
76
+ persistentStoreByKey.set(config.physicalKey, entry);
77
+ }
78
+ const { fingerprint, store } = entry;
79
+ ensureLocalPersistentStoreIndexed(store, fingerprint, embedder, corpusChunks);
80
+ result = store.search(query, embedder.embed(query), retrieveOptions, fingerprint);
81
+ }
82
+ else {
83
+ const cacheKey = JSON.stringify([index.corpusName, embedder.id, embedder.dims]);
84
+ let embeddingIndex = embeddingIndexByKey.get(cacheKey);
85
+ if (!embeddingIndex) {
86
+ embeddingIndex = new EmbeddingRagIndex(corpusChunks, { embedder });
87
+ embeddingIndexByKey.set(cacheKey, embeddingIndex);
88
+ }
89
+ result = embeddingIndex.retrieve(query, retrieveOptions);
90
+ }
91
+ return {
92
+ name: retrieval.name,
93
+ indexName: retrieval.indexName,
94
+ ...(retrieval.ragName ? { ragName: retrieval.ragName } : {}),
95
+ query,
96
+ retrieveOptions,
97
+ result,
98
+ };
99
+ });
100
+ }
101
+ catch (error) {
102
+ retrievalError = error;
103
+ }
104
+ finally {
105
+ closeError = closeLocalPersistentStores(persistentStoreByKey.values());
106
+ }
107
+ if (retrievalError) {
108
+ if (closeError && retrievalError instanceof Error) {
109
+ retrievalError.closeError = closeError;
41
110
  }
42
- const retrieveOptions = retrieveOptionsForFact(retrieval);
43
- return {
44
- name: retrieval.name,
45
- indexName: retrieval.indexName,
46
- ...(retrieval.ragName ? { ragName: retrieval.ragName } : {}),
47
- query,
48
- retrieveOptions,
49
- result: embeddingIndex.retrieve(query, retrieveOptions),
50
- };
51
- });
111
+ throw retrievalError;
112
+ }
113
+ if (closeError)
114
+ throw closeError;
52
115
  return { diagnostics, retrievals, ingestion };
53
116
  }
54
117
  function queryForRuntimeRetrieval(retrieval, options) {
@@ -75,6 +138,127 @@ function retrieveOptionsForFact(retrieval) {
75
138
  ...(retrieval.minScore !== undefined ? { minScore: retrieval.minScore } : {}),
76
139
  };
77
140
  }
141
+ function localPersistentStoreConfig(vectorStore, index, embedder, chunks, sourcePath) {
142
+ if (!vectorStore.path?.trim()) {
143
+ throw new Error(`KERN RAG vectorStore '${vectorStore.name}' kind=local-persistent requires path=<index directory>.`);
144
+ }
145
+ if (isAbsolute(vectorStore.path)) {
146
+ throw new Error(`KERN RAG vectorStore '${vectorStore.name}' kind=local-persistent requires a relative path inside the declaring .kern directory.`);
147
+ }
148
+ const baseDir = dirname(resolve(sourcePath));
149
+ const directory = resolve(baseDir, vectorStore.path);
150
+ const relativeDirectory = relative(baseDir, directory);
151
+ if (relativeDirectory.startsWith('..') || isAbsolute(relativeDirectory)) {
152
+ throw new Error(`KERN RAG vectorStore '${vectorStore.name}' kind=local-persistent path must stay inside the declaring .kern directory.`);
153
+ }
154
+ const confinedDirectory = confinedRealDirectory(vectorStore, baseDir, directory);
155
+ const fileName = `${safeLocalStoreFileName(vectorStore.namespace ?? index.name)}.json`;
156
+ const fingerprint = localPersistentFingerprint(vectorStore, index, embedder, chunks);
157
+ return {
158
+ physicalKey: JSON.stringify([confinedDirectory, fileName]),
159
+ directory: confinedDirectory,
160
+ fileName,
161
+ fingerprint,
162
+ };
163
+ }
164
+ function ensureLocalPersistentStoreIndexed(store, fingerprint, embedder, chunks) {
165
+ const snapshot = store.snapshot();
166
+ const actualChunks = snapshot.entries.map((entry) => entry.chunk);
167
+ if (snapshot.entries.length === chunks.length && stableChunkDigest(actualChunks) === stableChunkDigest(chunks)) {
168
+ return;
169
+ }
170
+ store.replaceAll(chunks.map((chunk) => ({
171
+ chunk,
172
+ vector: embedder.embed(chunk.text),
173
+ fingerprint,
174
+ })));
175
+ }
176
+ function closeLocalPersistentStores(entries) {
177
+ let firstError;
178
+ for (const { store } of entries) {
179
+ try {
180
+ store.close();
181
+ }
182
+ catch (error) {
183
+ firstError ??= error;
184
+ }
185
+ }
186
+ return firstError;
187
+ }
188
+ function localPersistentFingerprint(vectorStore, index, embedder, chunks) {
189
+ return sha256(JSON.stringify({
190
+ version: 'kern-rag-local-persistent-retrieve-v1',
191
+ corpusName: index.corpusName,
192
+ indexName: index.name,
193
+ storeName: vectorStore.name,
194
+ embedderId: embedder.id,
195
+ dims: embedder.dims,
196
+ chunks: stableChunkDigest(chunks),
197
+ }));
198
+ }
199
+ function stableChunkDigest(chunks) {
200
+ return sha256(chunks
201
+ .map((chunk) => stableJson(chunk))
202
+ .sort()
203
+ .join('\n'));
204
+ }
205
+ function sha256(text) {
206
+ return createHash('sha256').update(text).digest('hex');
207
+ }
208
+ function confinedRealDirectory(vectorStore, baseDir, directory) {
209
+ const baseReal = realpathSync(baseDir);
210
+ const existingAncestor = nearestExistingPath(directory);
211
+ let ancestorReal;
212
+ try {
213
+ ancestorReal = realpathSync(existingAncestor);
214
+ }
215
+ catch {
216
+ throw new Error(`KERN RAG vectorStore '${vectorStore.name}' kind=local-persistent path must stay inside the declaring .kern directory.`);
217
+ }
218
+ const targetReal = resolve(ancestorReal, relative(existingAncestor, directory));
219
+ if (!isPathInside(targetReal, baseReal)) {
220
+ throw new Error(`KERN RAG vectorStore '${vectorStore.name}' kind=local-persistent path must stay inside the declaring .kern directory.`);
221
+ }
222
+ return targetReal;
223
+ }
224
+ function nearestExistingPath(path) {
225
+ let current = path;
226
+ while (!pathExistsOrSymlink(current)) {
227
+ const parent = dirname(current);
228
+ if (parent === current)
229
+ return current;
230
+ current = parent;
231
+ }
232
+ return current;
233
+ }
234
+ function pathExistsOrSymlink(path) {
235
+ try {
236
+ lstatSync(path);
237
+ return true;
238
+ }
239
+ catch {
240
+ return false;
241
+ }
242
+ }
243
+ function isPathInside(path, base) {
244
+ const rel = relative(base, path);
245
+ const [firstSegment] = rel.split(/[\\/]/u);
246
+ return rel === '' || (firstSegment !== '..' && !isAbsolute(rel));
247
+ }
248
+ function stableJson(value) {
249
+ if (value === null || typeof value !== 'object')
250
+ return JSON.stringify(value) ?? 'undefined';
251
+ if (Array.isArray(value))
252
+ return `[${value.map((entry) => stableJson(entry)).join(',')}]`;
253
+ const record = value;
254
+ return `{${Object.keys(record)
255
+ .sort()
256
+ .map((key) => `${JSON.stringify(key)}:${stableJson(record[key])}`)
257
+ .join(',')}}`;
258
+ }
259
+ function safeLocalStoreFileName(name) {
260
+ return name.replace(/[^a-z0-9_-]+/giu, '-').replace(/^-+|-+$/gu, '') || 'index';
261
+ }
78
262
  function embedderForIndex(facts, embedName) {
79
263
  const embed = embedName
80
264
  ? facts.corpora.flatMap((corpus) => corpus.embeds).find((entry) => entry.name === embedName)
@@ -1 +1 @@
1
- {"version":3,"file":"rag-retrieve-runner.js","sourceRoot":"","sources":["../src/rag-retrieve-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rag-retrieve-runner.js","sourceRoot":"","sources":["../src/rag-retrieve-runner.ts"],"names":[],"mappings":"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"}
@@ -71,14 +71,18 @@ export interface RagMcpRetrieveProvenanceMapping {
71
71
  readonly contractStatus: RagSemanticMcpRetrievalFact['contractStatus'];
72
72
  readonly compatible: boolean;
73
73
  }
74
- export type RagAnswerContractStatus = 'grounded' | 'partially_grounded' | 'ungrounded' | 'invalid';
75
- export type RagAnswerContractDiagnosticCode = 'ANSWER_EMPTY' | 'QUERY_MISMATCH' | 'RETRIEVER_ERROR' | 'PROVENANCE_MISMATCH' | 'SPAN_INVALID' | 'SPAN_UNGROUNDED' | 'CHUNK_REF_UNKNOWN' | 'CITATION_REQUIRED' | 'GROUNDING_BELOW_THRESHOLD';
74
+ export type RagAnswerContractStatus = 'grounded' | 'partially_grounded' | 'ungrounded' | 'abstained' | 'invalid';
75
+ export type RagAnswerContractDiagnosticCode = 'ANSWER_EMPTY' | 'ABSTAIN_ANSWER_MISMATCH' | 'ABSTAIN_EVIDENCE_POLICY_REQUIRED' | 'ABSTAIN_NOT_ALLOWED' | 'ABSTAIN_WITH_SUFFICIENT_EVIDENCE' | 'CITED_CHUNKS_BELOW_MINIMUM' | 'EVIDENCE_INSUFFICIENT' | 'QUERY_MISMATCH' | 'RETRIEVER_ERROR' | 'PROVENANCE_MISMATCH' | 'SPAN_INVALID' | 'SPAN_UNGROUNDED' | 'CHUNK_REF_UNKNOWN' | 'CITATION_REQUIRED' | 'GROUNDING_BELOW_THRESHOLD';
76
76
  export interface RagAnswerGroundingSpan {
77
77
  readonly start: number;
78
78
  readonly end: number;
79
79
  readonly chunkIds: readonly string[];
80
80
  readonly required?: boolean;
81
81
  }
82
+ export interface RagAnswerEvidencePolicy {
83
+ readonly minRetrievedChunks?: number;
84
+ readonly minTopScore?: number;
85
+ }
82
86
  export interface RagAnswerContract {
83
87
  readonly id?: string;
84
88
  readonly ragName?: string;
@@ -89,7 +93,12 @@ export interface RagAnswerContract {
89
93
  readonly provenance?: RagRuntimeProvenance;
90
94
  readonly groundingSpans?: readonly RagAnswerGroundingSpan[];
91
95
  readonly requireCitations?: boolean;
96
+ readonly minCitedChunks?: number;
92
97
  readonly minGroundingCoverage?: number;
98
+ readonly evidencePolicy?: RagAnswerEvidencePolicy;
99
+ readonly abstained?: boolean;
100
+ readonly allowAbstain?: boolean;
101
+ readonly abstainAnswer?: string;
93
102
  }
94
103
  export interface RagAnswerContractDiagnostic {
95
104
  readonly code: RagAnswerContractDiagnosticCode;
@@ -106,6 +115,8 @@ export interface RagAnswerContractResult {
106
115
  readonly groundingCoverage: number;
107
116
  readonly groundedChars: number;
108
117
  readonly answerChars: number;
118
+ readonly evidenceSufficient: boolean;
119
+ readonly abstained: boolean;
109
120
  readonly citedChunkIds: readonly string[];
110
121
  readonly sources: readonly string[];
111
122
  readonly provenance?: RagRuntimeProvenance;