@framers/agentos 0.1.116 → 0.1.118

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.
@@ -239,21 +239,6 @@ export declare class SqlVectorStore implements IVectorStore {
239
239
  * @returns {Promise<Record<string, any>>} Statistics
240
240
  */
241
241
  getStats(collectionName?: string): Promise<Record<string, any>>;
242
- /**
243
- * Computes cosine similarity between two vectors.
244
- * @private
245
- */
246
- private cosineSimilarity;
247
- /**
248
- * Computes Euclidean distance between two vectors.
249
- * @private
250
- */
251
- private euclideanDistance;
252
- /**
253
- * Computes dot product between two vectors.
254
- * @private
255
- */
256
- private dotProduct;
257
242
  /**
258
243
  * Checks if metadata matches a filter.
259
244
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"SqlVectorStore.d.ts","sourceRoot":"","sources":["../../../../src/rag/implementations/vector_stores/SqlVectorStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqlVectorStore.d.ts","sourceRoot":"","sources":["../../../../src/rag/implementations/vector_stores/SqlVectorStore.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@
30
30
  * @see @framers/sql-storage-adapter for storage abstraction.
31
31
  */
32
32
  import { resolveStorageAdapter, } from '@framers/sql-storage-adapter';
33
+ import { cosineSimilarity as vecCosineSimilarity, dotProduct as vecDotProduct, euclideanDistance as vecEuclideanDistance, embeddingToBlob, blobToEmbedding, isLegacyJsonBlob, } from '../../utils/vectorMath.js';
33
34
  import { GMIError, GMIErrorCode } from '../../../utils/errors.js';
34
35
  import { uuidv4 } from '../../../utils/uuid.js';
35
36
  // ============================================================================
@@ -286,7 +287,7 @@ export class SqlVectorStore {
286
287
  try {
287
288
  // Check if document exists
288
289
  const existing = await this.adapter.get(`SELECT id FROM ${this.tablePrefix}documents WHERE collection_name = ? AND id = ?`, [collectionName, doc.id]);
289
- const embeddingBlob = JSON.stringify(doc.embedding);
290
+ const embeddingBlob = embeddingToBlob(doc.embedding);
290
291
  const metadataJson = doc.metadata ? JSON.stringify(doc.metadata) : null;
291
292
  if (existing && options?.overwrite === false) {
292
293
  errors.push({
@@ -353,7 +354,9 @@ export class SqlVectorStore {
353
354
  // Compute similarities and filter
354
355
  const candidates = [];
355
356
  for (const row of rows) {
356
- const embedding = JSON.parse(row.embedding_blob);
357
+ const embedding = isLegacyJsonBlob(row.embedding_blob)
358
+ ? JSON.parse(row.embedding_blob)
359
+ : blobToEmbedding(row.embedding_blob);
357
360
  const metadata = row.metadata_json ? JSON.parse(row.metadata_json) : undefined;
358
361
  // Apply metadata filter in application code
359
362
  if (options?.filter && !this.matchesFilter(metadata, options.filter)) {
@@ -363,14 +366,14 @@ export class SqlVectorStore {
363
366
  let similarityScore;
364
367
  switch (collection.similarityMetric) {
365
368
  case 'euclidean':
366
- similarityScore = -this.euclideanDistance(queryEmbedding, embedding); // Negate for "higher is better"
369
+ similarityScore = -vecEuclideanDistance(queryEmbedding, embedding); // Negate for "higher is better"
367
370
  break;
368
371
  case 'dotproduct':
369
- similarityScore = this.dotProduct(queryEmbedding, embedding);
372
+ similarityScore = vecDotProduct(queryEmbedding, embedding);
370
373
  break;
371
374
  case 'cosine':
372
375
  default:
373
- similarityScore = this.cosineSimilarity(queryEmbedding, embedding);
376
+ similarityScore = vecCosineSimilarity(queryEmbedding, embedding);
374
377
  break;
375
378
  }
376
379
  // Apply minimum similarity threshold
@@ -449,21 +452,23 @@ export class SqlVectorStore {
449
452
  let totalDocLength = 0;
450
453
  // First pass: dense score + collect BM25 stats (doc length + df for query terms)
451
454
  for (const row of rows) {
452
- const embedding = JSON.parse(row.embedding_blob);
455
+ const embedding = isLegacyJsonBlob(row.embedding_blob)
456
+ ? JSON.parse(row.embedding_blob)
457
+ : blobToEmbedding(row.embedding_blob);
453
458
  const metadata = row.metadata_json ? JSON.parse(row.metadata_json) : undefined;
454
459
  if (options?.filter && !this.matchesFilter(metadata, options.filter))
455
460
  continue;
456
461
  let denseScore;
457
462
  switch (collection.similarityMetric) {
458
463
  case 'euclidean':
459
- denseScore = -this.euclideanDistance(queryEmbedding, embedding);
464
+ denseScore = -vecEuclideanDistance(queryEmbedding, embedding);
460
465
  break;
461
466
  case 'dotproduct':
462
- denseScore = this.dotProduct(queryEmbedding, embedding);
467
+ denseScore = vecDotProduct(queryEmbedding, embedding);
463
468
  break;
464
469
  case 'cosine':
465
470
  default:
466
- denseScore = this.cosineSimilarity(queryEmbedding, embedding);
471
+ denseScore = vecCosineSimilarity(queryEmbedding, embedding);
467
472
  break;
468
473
  }
469
474
  // Allow dense thresholding without suppressing lexical-only matches.
@@ -742,49 +747,7 @@ export class SqlVectorStore {
742
747
  // ============================================================================
743
748
  // Private Helper Methods
744
749
  // ============================================================================
745
- /**
746
- * Computes cosine similarity between two vectors.
747
- * @private
748
- */
749
- cosineSimilarity(vecA, vecB) {
750
- let dotProduct = 0;
751
- let normA = 0;
752
- let normB = 0;
753
- for (let i = 0; i < vecA.length; i++) {
754
- dotProduct += vecA[i] * vecB[i];
755
- normA += vecA[i] * vecA[i];
756
- normB += vecB[i] * vecB[i];
757
- }
758
- const magnitudeA = Math.sqrt(normA);
759
- const magnitudeB = Math.sqrt(normB);
760
- if (magnitudeA === 0 || magnitudeB === 0) {
761
- return 0;
762
- }
763
- return dotProduct / (magnitudeA * magnitudeB);
764
- }
765
- /**
766
- * Computes Euclidean distance between two vectors.
767
- * @private
768
- */
769
- euclideanDistance(vecA, vecB) {
770
- let sum = 0;
771
- for (let i = 0; i < vecA.length; i++) {
772
- const diff = vecA[i] - vecB[i];
773
- sum += diff * diff;
774
- }
775
- return Math.sqrt(sum);
776
- }
777
- /**
778
- * Computes dot product between two vectors.
779
- * @private
780
- */
781
- dotProduct(vecA, vecB) {
782
- let sum = 0;
783
- for (let i = 0; i < vecA.length; i++) {
784
- sum += vecA[i] * vecB[i];
785
- }
786
- return sum;
787
- }
750
+ // Distance methods removed — now imported from rag/utils/vectorMath.ts
788
751
  /**
789
752
  * Checks if metadata matches a filter.
790
753
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"SqlVectorStore.js","sourceRoot":"","sources":["../../../../src/rag/implementations/vector_stores/SqlVectorStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqlVectorStore.js","sourceRoot":"","sources":["../../../../src/rag/implementations/vector_stores/SqlVectorStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAEL,qBAAqB,GAEtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,gBAAgB,IAAI,mBAAmB,EACvC,UAAU,IAAI,aAAa,EAC3B,iBAAiB,IAAI,oBAAoB,EACzC,eAAe,EACf,eAAe,EACf,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AAkBnC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAoFhD,+EAA+E;AAC/E,kCAAkC;AAClC,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,OAAO,cAAc;IAQzB;;;OAGG;IACH;QATQ,gBAAW,GAAY,KAAK,CAAC,CAAC,iCAAiC;QAC/D,kBAAa,GAAY,KAAK,CAAC;QAE/B,gBAAW,GAAW,cAAc,CAAC;QAO3C,IAAI,CAAC,UAAU,GAAG,oBAAoB,MAAM,EAAE,EAAE,CAAC;IACnD,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,UAAU,CAAC,MAAiC;QACvD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,UAAU,yCAAyC,CAAC,CAAC;YAC9F,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC1B,MAAM,IAAI,QAAQ,CAChB,kDAAkD,MAAM,CAAC,IAAI,mBAAmB,EAChF,YAAY,CAAC,YAAY,EACzB,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,CAC9B,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,MAA8B,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,cAAc,CAAC;QAE7D,6BAA6B;QAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACnC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAChE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,2DAA2D;YAC3D,IAAI,CAAC,OAAO,GAAG,MAAM,qBAAqB,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACpE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,UAAU,0DAA0D,CAAC,CAAC;QACjH,CAAC;QAED,gBAAgB;QAChB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAE1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,UAAU,gBAAgB,IAAI,CAAC,MAAM,CAAC,EAAE,6BAA6B,CAAC,CAAC;IACjH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,YAAY;QACxB,6BAA6B;QAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;mCACO,IAAI,CAAC,WAAW;;;;;;;;KAQ9C,CAAC,CAAC;QAEH,iDAAiD;QACjD,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;mCACO,IAAI,CAAC,WAAW;;;;;;;;;mDASA,IAAI,CAAC,WAAW;;;uCAG5B,IAAI,CAAC,WAAW;aAC1C,IAAI,CAAC,WAAW;;uCAEU,IAAI,CAAC,WAAW;aAC1C,IAAI,CAAC,WAAW;KACxB,CAAC,CAAC;QAEH,+CAA+C;QAC/C,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,KAAK,KAAK,EAAE,CAAC;YAC/C,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;+CACe,IAAI,CAAC,WAAW;;;;;uBAKxC,IAAI,CAAC,WAAW;;;SAG9B,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,UAAU,wBAAwB,CAAC,CAAC;YAC9E,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,4DAA4D;gBAC5D,OAAO,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,UAAU,0BAA0B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAChG,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,QAAQ,CAChB,uBAAuB,IAAI,CAAC,UAAU,gDAAgD,EACtF,YAAY,CAAC,eAAe,CAC7B,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,gBAAgB,CAC3B,cAAsB,EACtB,SAAiB,EACjB,OAAiC;QAEjC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,QAAQ,CAChB,qCAAqC,cAAc,MAAM,SAAS,qBAAqB,EACvF,YAAY,CAAC,gBAAgB,EAC7B,EAAE,SAAS,EAAE,CACd,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,OAAO,EAAE,iBAAiB,EAAE,CAAC;gBAC/B,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,QAAQ,CAChB,eAAe,cAAc,mBAAmB,EAChD,YAAY,CAAC,cAAc,EAC3B,EAAE,cAAc,EAAE,CACnB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,OAAO,EAAE,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,QAAQ,CAAC;QAErF,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACpB,eAAe,IAAI,CAAC,WAAW;;iCAEJ,EAC3B,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAC9C,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,UAAU,kBAAkB,cAAc,kBAAkB,SAAS,YAAY,MAAM,IAAI,CAAC,CAAC;IACvI,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,gBAAgB,CAAC,cAAsB;QAClD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAChC,iCAAiC,IAAI,CAAC,WAAW,4BAA4B,EAC7E,CAAC,cAAc,CAAC,CACjB,CAAC;QAEF,OAAO,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,gBAAgB,CAAC,cAAsB;QAClD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,8CAA8C;QAC9C,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACpB,eAAe,IAAI,CAAC,WAAW,qCAAqC,EACpE,CAAC,cAAc,CAAC,CACjB,CAAC;QAEF,6BAA6B;QAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACpB,eAAe,IAAI,CAAC,WAAW,4BAA4B,EAC3D,CAAC,cAAc,CAAC,CACjB,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,UAAU,kBAAkB,cAAc,YAAY,CAAC,CAAC;IAClG,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,qBAAqB,CAAC,cAAsB;QACxD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAChC,iBAAiB,IAAI,CAAC,WAAW,4BAA4B,EAC7D,CAAC,cAAc,CAAC,CACjB,CAAC;QAEF,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,QAAQ,CAChB,eAAe,cAAc,cAAc,EAC3C,YAAY,CAAC,SAAS,EACtB,EAAE,cAAc,EAAE,CACnB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,gBAAgB,EAAE,GAAG,CAAC,iBAA0D;YAChF,aAAa,EAAE,GAAG,CAAC,cAAc;YACjC,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,SAAS,EAAE,GAAG,CAAC,UAAU;SAC1B,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,MAAM,CACjB,cAAsB,EACtB,SAA2B,EAC3B,OAAuB;QAEvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;QACpE,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,MAAM,MAAM,GAA0D,EAAE,CAAC;QACzE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,qBAAqB;YACrB,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,UAAU,CAAC,SAAS,EAAE,CAAC;gBAClD,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,OAAO,EAAE,uBAAuB,GAAG,CAAC,SAAS,CAAC,MAAM,wCAAwC,UAAU,CAAC,SAAS,GAAG;oBACnH,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE;iBACvE,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,2BAA2B;gBAC3B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACrC,kBAAkB,IAAI,CAAC,WAAW,gDAAgD,EAClF,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,CAAC,CACzB,CAAC;gBAEF,MAAM,aAAa,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACrD,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAExE,IAAI,QAAQ,IAAI,OAAO,EAAE,SAAS,KAAK,KAAK,EAAE,CAAC;oBAC7C,MAAM,CAAC,IAAI,CAAC;wBACV,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,OAAO,EAAE,aAAa,GAAG,CAAC,EAAE,6CAA6C;wBACzE,OAAO,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE;qBACpC,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,IAAI,QAAQ,EAAE,CAAC;oBACb,2BAA2B;oBAC3B,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACpB,UAAU,IAAI,CAAC,WAAW;;kDAEY,EACtC,CAAC,aAAa,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,CAAC,CACpF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,sBAAsB;oBACtB,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACpB,eAAe,IAAI,CAAC,WAAW;;0CAED,EAC9B,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CACzF,CAAC;gBACJ,CAAC;gBAED,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,OAAO,EAAE,8BAA8B,KAAK,CAAC,OAAO,EAAE;oBACtD,OAAO,EAAE,KAAK;iBACf,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACxC,iCAAiC,IAAI,CAAC,WAAW,qCAAqC,EACtF,CAAC,cAAc,CAAC,CACjB,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACpB,UAAU,IAAI,CAAC,WAAW,mEAAmE,EAC7F,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAC/C,CAAC;QAEF,OAAO;YACL,aAAa,EAAE,WAAW,CAAC,MAAM;YACjC,WAAW;YACX,WAAW,EAAE,MAAM,CAAC,MAAM;YAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SAC/C,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,KAAK,CAChB,cAAsB,EACtB,cAAwB,EACxB,OAAsB;QAEtB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;QAEjC,qCAAqC;QACrC,IAAI,cAAc,CAAC,MAAM,KAAK,UAAU,CAAC,SAAS,EAAE,CAAC;YACnD,MAAM,IAAI,QAAQ,CAChB,6BAA6B,cAAc,CAAC,MAAM,wCAAwC,UAAU,CAAC,SAAS,GAAG,EACjH,YAAY,CAAC,gBAAgB,EAC7B,EAAE,QAAQ,EAAE,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,cAAc,CAAC,MAAM,EAAE,CAC/D,CAAC;QACJ,CAAC;QAED,4CAA4C;QAC5C,MAAM,KAAK,GAAG,iBAAiB,IAAI,CAAC,WAAW,qCAAqC,CAAC;QACrF,MAAM,MAAM,GAAU,CAAC,cAAc,CAAC,CAAC;QAEvC,oFAAoF;QACpF,yDAAyD;QAEzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAc,KAAK,EAAE,MAAM,CAAC,CAAC;QAEhE,kCAAkC;QAClC,MAAM,UAAU,GAA8B,EAAE,CAAC;QAEjD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC;gBACpD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAwB,CAAa;gBACtD,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,cAAwB,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE/E,4CAA4C;YAC5C,IAAI,OAAO,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrE,SAAS;YACX,CAAC;YAED,qBAAqB;YACrB,IAAI,eAAuB,CAAC;YAC5B,QAAQ,UAAU,CAAC,gBAAgB,EAAE,CAAC;gBACpC,KAAK,WAAW;oBACd,eAAe,GAAG,CAAC,oBAAoB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,gCAAgC;oBACpG,MAAM;gBACR,KAAK,YAAY;oBACf,eAAe,GAAG,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;oBAC3D,MAAM;gBACR,KAAK,QAAQ,CAAC;gBACd;oBACE,eAAe,GAAG,mBAAmB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;oBACjE,MAAM;YACV,CAAC;YAED,qCAAqC;YACrC,IAAI,OAAO,EAAE,kBAAkB,KAAK,SAAS,IAAI,eAAe,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBAC9F,SAAS;YACX,CAAC;YAED,wBAAwB;YACxB,MAAM,YAAY,GAA4B;gBAC5C,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBACrD,eAAe;aAChB,CAAC;YAEF,IAAI,OAAO,EAAE,eAAe,KAAK,KAAK,IAAI,QAAQ,EAAE,CAAC;gBACnD,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACnC,CAAC;YAED,IAAI,OAAO,EAAE,kBAAkB,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;gBACpD,YAAY,CAAC,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC;YAC9C,CAAC;YAED,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;QAED,gDAAgD;QAChD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAE1C,OAAO;YACL,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE,aAAa,MAAM,EAAE,EAAE;YAChC,KAAK,EAAE;gBACL,eAAe,EAAE,IAAI,CAAC,MAAM;gBAC5B,kBAAkB,EAAE,UAAU,CAAC,MAAM;gBACrC,aAAa,EAAE,OAAO,CAAC,MAAM;aAC9B;SACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACI,KAAK,CAAC,YAAY,CACvB,cAAsB,EACtB,cAAwB,EACxB,SAAiB,EACjB,OAA6G;QAE7G,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,MAAM,QAAQ,GAAG,OAAO,EAAE,KAAK,IAAI,GAAG,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACnF,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;QAEjC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;QACnE,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAQ,CAAC,IAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,WAAW,GACf,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAQ,CAAC,WAAY,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QACxF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC;QAE3B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;QACpE,IAAI,cAAc,CAAC,MAAM,KAAK,UAAU,CAAC,SAAS,EAAE,CAAC;YACnD,MAAM,IAAI,QAAQ,CAChB,6BAA6B,cAAc,CAAC,MAAM,wCAAwC,UAAU,CAAC,SAAS,GAAG,EACjH,YAAY,CAAC,gBAAgB,EAC7B,EAAE,QAAQ,EAAE,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,cAAc,CAAC,MAAM,EAAE,CAC/D,CAAC;QACJ,CAAC;QAED,6FAA6F;QAC7F,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACjC,iBAAiB,IAAI,CAAC,WAAW,qCAAqC,EACtE,CAAC,cAAc,CAAC,CACjB,CAAC;QAEF,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAY,EAAE,CAC1C,IAAI;aACD,WAAW,EAAE;aACb,KAAK,CAAC,cAAc,CAAC;aACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEjC,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;QAWzC,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,cAAc;QAC7D,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,iFAAiF;QACjF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC;gBACpD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAwB,CAAa;gBACtD,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,cAAwB,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAmC,CAAC,CAAC,CAAC,SAAS,CAAC;YAElH,IAAI,OAAO,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC;gBAAE,SAAS;YAE/E,IAAI,UAAkB,CAAC;YACvB,QAAQ,UAAU,CAAC,gBAAgB,EAAE,CAAC;gBACpC,KAAK,WAAW;oBACd,UAAU,GAAG,CAAC,oBAAoB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;oBAC9D,MAAM;gBACR,KAAK,YAAY;oBACf,UAAU,GAAG,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;oBACtD,MAAM;gBACR,KAAK,QAAQ,CAAC;gBACd;oBACE,UAAU,GAAG,mBAAmB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;oBAC5D,MAAM;YACV,CAAC;YAED,qEAAqE;YACrE,IAAI,OAAO,EAAE,kBAAkB,KAAK,SAAS,IAAI,UAAU,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBACzF,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC;YACxC,CAAC;YAED,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,IAAI,SAAS,CAAC;YAClD,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,IAAI,gBAAgB,GAAuB,IAAI,CAAC;YAChD,IAAI,WAAW,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACrC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC1B,cAAc,IAAI,SAAS,CAAC;gBAE5B,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;gBACrC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;wBAAE,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC3D,CAAC;gBACD,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;oBACpC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC;YAED,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,SAAS;gBACT,WAAW;gBACX,QAAQ,EAAE,OAAO,EAAE,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBACnE,UAAU;gBACV,SAAS,EAAE,CAAC;aACb,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACxB,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,EAAE,GAAG,GAAG,CAAC;QACf,MAAM,CAAC,GAAG,IAAI,CAAC;QAEf,4CAA4C;QAC5C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC3C,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAChC,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;gBACtD,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC1B,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,WAAW;oBAAE,SAAS;gBAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACzC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;gBACzB,IAAI,EAAE,KAAK,CAAC;oBAAE,SAAS;gBAEvB,MAAM,EAAE,GAAG,IAAI,GAAG,EAAkB,CAAC;gBACrC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;wBAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvE,CAAC;gBAED,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;oBAChC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,IAAI,CAAC,KAAK,CAAC;wBAAE,SAAS;oBACtB,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpC,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;oBAClD,KAAK,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;gBAC1C,CAAC;gBACD,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;YACxB,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,MAAM,WAAW,GAAG,MAAM;aACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,iBAAiB,CAAC;aACzF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;aAC3C,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAEvB,MAAM,aAAa,GAAG,MAAM;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;aAC9B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;aACzC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QAEzB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC1C,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAE9D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QACvC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAErD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAC;QAC7C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAE5C,MAAM,KAAK,GAAkD,EAAE,CAAC;QAEhE,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACzD,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE7D,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC5B,IAAI,CAAC,GAAG;oBAAE,SAAS;gBACnB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7B,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;oBACnE,CAAC,CAAC,CAAC,CAAC;gBACN,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzE,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC5B,IAAI,CAAC,GAAG;oBAAE,SAAS;gBACnB,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC7B,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC3B,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrD,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;QAElD,MAAM,SAAS,GAA8B,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE;YAC5F,MAAM,GAAG,GAA4B;gBACnC,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBACzD,eAAe,EAAE,UAAU;aAC5B,CAAC;YAEF,IAAI,OAAO,EAAE,kBAAkB,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBACnD,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;YACpC,CAAC;YAED,IAAI,OAAO,EAAE,eAAe,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACvD,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YAC9B,CAAC;YAED,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,SAAS;YACT,OAAO,EAAE,cAAc,MAAM,EAAE,EAAE;YACjC,KAAK,EAAE;gBACL,MAAM;gBACN,YAAY,EAAE,KAAK;gBACnB,aAAa,EAAE,CAAC,GAAG,KAAK;gBACxB,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBACzC,UAAU,EAAE,UAAU,CAAC,MAAM;gBAC7B,UAAU,EAAE,CAAC;gBACb,eAAe,EAAE,WAAW,CAAC,MAAM;gBACnC,iBAAiB,EAAE,aAAa,CAAC,MAAM;gBACvC,aAAa,EAAE,SAAS,CAAC,MAAM;aAChC;SACF,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,MAAM,CACjB,cAAsB,EACtB,GAAc,EACd,OAAuB;QAEvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,MAAM,GAA2D,EAAE,CAAC;QAE1E,IAAI,OAAO,EAAE,SAAS,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAClD,qCAAqC;YACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACnC,eAAe,IAAI,CAAC,WAAW,qCAAqC,EACpE,CAAC,cAAc,CAAC,CACjB,CAAC;YACF,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,UAAU,UAAU,YAAY,4BAA4B,cAAc,IAAI,CAAC,CAAC;QAC3H,CAAC;aAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,sBAAsB;YACtB,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACnC,eAAe,IAAI,CAAC,WAAW,kDAAkD,YAAY,GAAG,EAChG,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC,CACzB,CAAC;YACF,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;QAChC,CAAC;aAAM,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YAC3B,4DAA4D;YAC5D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACjC,iCAAiC,IAAI,CAAC,WAAW,qCAAqC,EACtF,CAAC,cAAc,CAAC,CACjB,CAAC;YAEF,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC/E,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBACjD,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACnC,eAAe,IAAI,CAAC,WAAW,kDAAkD,YAAY,GAAG,EAChG,CAAC,cAAc,EAAE,GAAG,WAAW,CAAC,CACjC,CAAC;gBACF,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;YAChC,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACxC,iCAAiC,IAAI,CAAC,WAAW,qCAAqC,EACtF,CAAC,cAAc,CAAC,CACjB,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACpB,UAAU,IAAI,CAAC,WAAW,mEAAmE,EAC7F,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAC/C,CAAC;QAEF,OAAO;YACL,YAAY;YACZ,WAAW,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YAC1D,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SAC/C,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,WAAW;QACtB,IAAI,CAAC;YACH,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,4BAA4B;YAC5B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACxC,oCAAoC,IAAI,CAAC,WAAW,aAAa,CAClE,CAAC;YAEF,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YAEjF,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE;oBACP,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;oBACxB,IAAI,EAAE,KAAK;oBACX,eAAe,EAAE,WAAW,CAAC,MAAM;oBACnC,cAAc;oBACd,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;iBACvF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE;oBACP,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,KAAK,EAAE,KAAK,CAAC,OAAO;iBACrB;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ;QACnB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,UAAU,cAAc,CAAC,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,QAAQ,CAAC,cAAuB;QAC3C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;YACpE,OAAO;gBACL,cAAc,EAAE,UAAU,CAAC,IAAI;gBAC/B,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;gBAC7C,aAAa,EAAE,UAAU,CAAC,aAAa;gBACvC,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,SAAS,EAAE,UAAU,CAAC,SAAS;aAChC,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACxC,iBAAiB,IAAI,CAAC,WAAW,aAAa,CAC/C,CAAC;QAEF,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;YACxB,IAAI,EAAE,KAAK;YACX,eAAe,EAAE,WAAW,CAAC,MAAM;YACnC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,CAAM,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;YACtF,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;gBACxC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,aAAa,EAAE,CAAC,CAAC,cAAc;aAChC,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,yBAAyB;IACzB,+EAA+E;IAE/E,uEAAuE;IAEvE;;;OAGG;IACK,aAAa,CAAC,QAAmD,EAAE,MAAsB;QAC/F,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,qDAAqD;YACrD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;gBACzB,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,IAAK,SAAoC,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;oBACnH,SAAS;gBACX,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAEhC,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC5D,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,WAAqC,CAAC,EAAE,CAAC;oBAC7E,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,wBAAwB;gBACxB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAkC,CAAC,EAAE,CAAC;wBAC3D,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;qBAAM,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;oBACpC,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,QAAmC,EAAE,SAAiC;QAC9F,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,SAAS,CAAC,OAAO,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAEzC,IAAI,SAAS,CAAC,GAAG,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QAC5E,IAAI,SAAS,CAAC,GAAG,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QAE5E,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,SAAS,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC7E,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;YAChF,IAAI,SAAS,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC7E,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;QAClF,CAAC;QAED,IAAI,SAAS,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAE,SAAS,CAAC,GAA6B,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;YAClG,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAE,SAAS,CAAC,GAA6B,CAAC,QAAQ,CAAC,QAA+B,CAAC;oBAAE,OAAO,KAAK,CAAC;YACxG,CAAC;QACH,CAAC;QAED,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAE,SAAS,CAAC,IAA8B,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;YAClG,CAAC;iBAAM,CAAC;gBACN,IAAK,SAAS,CAAC,IAA8B,CAAC,QAAQ,CAAC,QAA+B,CAAC;oBAAE,OAAO,KAAK,CAAC;YACxG,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAgC,CAAC;gBAAE,OAAO,KAAK,CAAC;YACtH,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC3G,CAAC;aAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC7E,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QACpE,CAAC;QAED,IAAI,SAAS,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC1F,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * @fileoverview Shared vector distance and similarity functions.
3
+ * @module rag/utils/vectorMath
4
+ *
5
+ * Single source of truth for vector math across the entire AgentOS codebase.
6
+ * Replaces 6+ duplicate implementations scattered across SqlVectorStore,
7
+ * InMemoryVectorStore, KnowledgeGraph, SqliteKnowledgeGraph,
8
+ * ConsolidationLoop, ProspectiveMemoryManager, and ChunkingEngine.
9
+ *
10
+ * Optimized for hot-loop performance:
11
+ * - Single-pass accumulation (dot, normA, normB computed together)
12
+ * - Early bail on dimension mismatch or zero-length
13
+ * - Accepts both number[] and Float32Array for zero-copy interop with binary blobs
14
+ */
15
+ /** Accepts standard arrays or typed arrays for zero-copy binary blob interop. */
16
+ export type VectorLike = number[] | Float32Array | Float64Array;
17
+ /**
18
+ * Compute cosine similarity between two vectors.
19
+ *
20
+ * Returns a value in [-1, 1]:
21
+ * - `1.0` = identical direction
22
+ * - `0.0` = orthogonal (no linear similarity)
23
+ * - `-1.0` = opposite direction
24
+ *
25
+ * Returns `0` for empty arrays, mismatched dimensions, or zero-magnitude vectors.
26
+ *
27
+ * @param a - First vector.
28
+ * @param b - Second vector (must have same length as `a`).
29
+ * @returns Cosine similarity in [-1, 1].
30
+ */
31
+ export declare function cosineSimilarity(a: VectorLike, b: VectorLike): number;
32
+ /**
33
+ * Compute the dot product (inner product) of two vectors.
34
+ *
35
+ * Higher values indicate more similar vectors (for normalized vectors,
36
+ * dot product equals cosine similarity).
37
+ *
38
+ * Returns `0` for empty arrays or mismatched dimensions.
39
+ *
40
+ * @param a - First vector.
41
+ * @param b - Second vector (must have same length as `a`).
42
+ * @returns The scalar dot product.
43
+ */
44
+ export declare function dotProduct(a: VectorLike, b: VectorLike): number;
45
+ /**
46
+ * Compute the Euclidean (L2) distance between two vectors.
47
+ *
48
+ * Lower values indicate more similar vectors:
49
+ * - `0.0` = identical vectors
50
+ * - Increases with divergence
51
+ *
52
+ * Returns `0` for empty arrays or mismatched dimensions.
53
+ *
54
+ * @param a - First vector.
55
+ * @param b - Second vector (must have same length as `a`).
56
+ * @returns Non-negative L2 distance.
57
+ */
58
+ export declare function euclideanDistance(a: VectorLike, b: VectorLike): number;
59
+ /**
60
+ * Serialize a number[] embedding to a compact Float32Array Buffer.
61
+ * ~50% smaller than JSON.stringify and avoids JSON.parse on read.
62
+ *
63
+ * @param embedding - The embedding vector.
64
+ * @returns Buffer containing raw float32 bytes.
65
+ */
66
+ export declare function embeddingToBlob(embedding: number[]): Buffer;
67
+ /**
68
+ * Deserialize a Buffer back to number[].
69
+ * Creates a Float32Array view over the buffer without copying.
70
+ *
71
+ * @param blob - Buffer containing raw float32 bytes.
72
+ * @returns The embedding as a number array.
73
+ */
74
+ export declare function blobToEmbedding(blob: Buffer): number[];
75
+ /**
76
+ * Create a Float32Array view over a Buffer without copying.
77
+ * Use this when you want to pass directly to distance functions
78
+ * without converting to number[] first (avoids allocation).
79
+ *
80
+ * @param blob - Buffer containing raw float32 bytes.
81
+ * @returns Float32Array view.
82
+ */
83
+ export declare function blobToFloat32(blob: Buffer): Float32Array;
84
+ /**
85
+ * Detect whether a stored blob is legacy JSON text or binary format.
86
+ * JSON blobs start with `[` (0x5B); binary blobs start with raw float bytes.
87
+ *
88
+ * @param blob - The stored embedding data.
89
+ * @returns True if the blob is legacy JSON-encoded text.
90
+ */
91
+ export declare function isLegacyJsonBlob(blob: Buffer | string): boolean;
92
+ //# sourceMappingURL=vectorMath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vectorMath.d.ts","sourceRoot":"","sources":["../../../src/rag/utils/vectorMath.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,iFAAiF;AACjF,MAAM,MAAM,UAAU,GAAG,MAAM,EAAE,GAAG,YAAY,GAAG,YAAY,CAAC;AAMhE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,MAAM,CAiBrE;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,MAAM,CAQ/D;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,MAAM,CAStE;AAMD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAE3D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAOtD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAMxD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAG/D"}
@@ -0,0 +1,146 @@
1
+ /**
2
+ * @fileoverview Shared vector distance and similarity functions.
3
+ * @module rag/utils/vectorMath
4
+ *
5
+ * Single source of truth for vector math across the entire AgentOS codebase.
6
+ * Replaces 6+ duplicate implementations scattered across SqlVectorStore,
7
+ * InMemoryVectorStore, KnowledgeGraph, SqliteKnowledgeGraph,
8
+ * ConsolidationLoop, ProspectiveMemoryManager, and ChunkingEngine.
9
+ *
10
+ * Optimized for hot-loop performance:
11
+ * - Single-pass accumulation (dot, normA, normB computed together)
12
+ * - Early bail on dimension mismatch or zero-length
13
+ * - Accepts both number[] and Float32Array for zero-copy interop with binary blobs
14
+ */
15
+ // ---------------------------------------------------------------------------
16
+ // Cosine Similarity
17
+ // ---------------------------------------------------------------------------
18
+ /**
19
+ * Compute cosine similarity between two vectors.
20
+ *
21
+ * Returns a value in [-1, 1]:
22
+ * - `1.0` = identical direction
23
+ * - `0.0` = orthogonal (no linear similarity)
24
+ * - `-1.0` = opposite direction
25
+ *
26
+ * Returns `0` for empty arrays, mismatched dimensions, or zero-magnitude vectors.
27
+ *
28
+ * @param a - First vector.
29
+ * @param b - Second vector (must have same length as `a`).
30
+ * @returns Cosine similarity in [-1, 1].
31
+ */
32
+ export function cosineSimilarity(a, b) {
33
+ if (a.length !== b.length || a.length === 0)
34
+ return 0;
35
+ let dot = 0;
36
+ let normA = 0;
37
+ let normB = 0;
38
+ for (let i = 0; i < a.length; i++) {
39
+ const ai = a[i];
40
+ const bi = b[i];
41
+ dot += ai * bi;
42
+ normA += ai * ai;
43
+ normB += bi * bi;
44
+ }
45
+ if (normA === 0 || normB === 0)
46
+ return 0;
47
+ return dot / (Math.sqrt(normA) * Math.sqrt(normB));
48
+ }
49
+ // ---------------------------------------------------------------------------
50
+ // Dot Product
51
+ // ---------------------------------------------------------------------------
52
+ /**
53
+ * Compute the dot product (inner product) of two vectors.
54
+ *
55
+ * Higher values indicate more similar vectors (for normalized vectors,
56
+ * dot product equals cosine similarity).
57
+ *
58
+ * Returns `0` for empty arrays or mismatched dimensions.
59
+ *
60
+ * @param a - First vector.
61
+ * @param b - Second vector (must have same length as `a`).
62
+ * @returns The scalar dot product.
63
+ */
64
+ export function dotProduct(a, b) {
65
+ if (a.length !== b.length || a.length === 0)
66
+ return 0;
67
+ let sum = 0;
68
+ for (let i = 0; i < a.length; i++) {
69
+ sum += a[i] * b[i];
70
+ }
71
+ return sum;
72
+ }
73
+ // ---------------------------------------------------------------------------
74
+ // Euclidean Distance
75
+ // ---------------------------------------------------------------------------
76
+ /**
77
+ * Compute the Euclidean (L2) distance between two vectors.
78
+ *
79
+ * Lower values indicate more similar vectors:
80
+ * - `0.0` = identical vectors
81
+ * - Increases with divergence
82
+ *
83
+ * Returns `0` for empty arrays or mismatched dimensions.
84
+ *
85
+ * @param a - First vector.
86
+ * @param b - Second vector (must have same length as `a`).
87
+ * @returns Non-negative L2 distance.
88
+ */
89
+ export function euclideanDistance(a, b) {
90
+ if (a.length !== b.length || a.length === 0)
91
+ return 0;
92
+ let sum = 0;
93
+ for (let i = 0; i < a.length; i++) {
94
+ const diff = a[i] - b[i];
95
+ sum += diff * diff;
96
+ }
97
+ return Math.sqrt(sum);
98
+ }
99
+ // ---------------------------------------------------------------------------
100
+ // Binary blob helpers
101
+ // ---------------------------------------------------------------------------
102
+ /**
103
+ * Serialize a number[] embedding to a compact Float32Array Buffer.
104
+ * ~50% smaller than JSON.stringify and avoids JSON.parse on read.
105
+ *
106
+ * @param embedding - The embedding vector.
107
+ * @returns Buffer containing raw float32 bytes.
108
+ */
109
+ export function embeddingToBlob(embedding) {
110
+ return Buffer.from(new Float32Array(embedding).buffer);
111
+ }
112
+ /**
113
+ * Deserialize a Buffer back to number[].
114
+ * Creates a Float32Array view over the buffer without copying.
115
+ *
116
+ * @param blob - Buffer containing raw float32 bytes.
117
+ * @returns The embedding as a number array.
118
+ */
119
+ export function blobToEmbedding(blob) {
120
+ const f32 = new Float32Array(blob.buffer, blob.byteOffset, blob.byteLength / 4);
121
+ return Array.from(f32);
122
+ }
123
+ /**
124
+ * Create a Float32Array view over a Buffer without copying.
125
+ * Use this when you want to pass directly to distance functions
126
+ * without converting to number[] first (avoids allocation).
127
+ *
128
+ * @param blob - Buffer containing raw float32 bytes.
129
+ * @returns Float32Array view.
130
+ */
131
+ export function blobToFloat32(blob) {
132
+ return new Float32Array(blob.buffer, blob.byteOffset, blob.byteLength / 4);
133
+ }
134
+ /**
135
+ * Detect whether a stored blob is legacy JSON text or binary format.
136
+ * JSON blobs start with `[` (0x5B); binary blobs start with raw float bytes.
137
+ *
138
+ * @param blob - The stored embedding data.
139
+ * @returns True if the blob is legacy JSON-encoded text.
140
+ */
141
+ export function isLegacyJsonBlob(blob) {
142
+ if (typeof blob === 'string')
143
+ return true;
144
+ return blob.length > 0 && blob[0] === 0x5B; // '[' character
145
+ }
146
+ //# sourceMappingURL=vectorMath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vectorMath.js","sourceRoot":"","sources":["../../../src/rag/utils/vectorMath.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@framers/agentos",
3
- "version": "0.1.116",
3
+ "version": "0.1.118",
4
4
  "description": "Modular AgentOS orchestration library",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",