@flaxia/node 0.3.7 → 0.5.1

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 (113) hide show
  1. package/README.md +43 -19
  2. package/dist/__tests__/consent-policy.test.d.ts +2 -0
  3. package/dist/__tests__/consent-policy.test.d.ts.map +1 -0
  4. package/dist/assets/VectorStoreEngine.js +140 -85
  5. package/dist/assets/ai-inference.js +336 -40
  6. package/dist/assets/container.js +368 -260
  7. package/dist/assets/egress-guard.js +174 -0
  8. package/dist/assets/image-process.js +184 -19
  9. package/dist/assets/nudenet.js +2 -2
  10. package/dist/assets/webgpuProbe.js +357 -0
  11. package/dist/client/SignalingClient.d.ts +6 -0
  12. package/dist/client/SignalingClient.d.ts.map +1 -1
  13. package/dist/client/__tests__/mobile-lifecycle.test.d.ts +2 -0
  14. package/dist/client/__tests__/mobile-lifecycle.test.d.ts.map +1 -0
  15. package/dist/client/mobile-lifecycle.d.ts +20 -0
  16. package/dist/client/mobile-lifecycle.d.ts.map +1 -0
  17. package/dist/consent/ConsentUI.d.ts +44 -5
  18. package/dist/consent/ConsentUI.d.ts.map +1 -1
  19. package/dist/consent/notice.d.ts +29 -0
  20. package/dist/consent/notice.d.ts.map +1 -0
  21. package/dist/consent/storage.d.ts +91 -7
  22. package/dist/consent/storage.d.ts.map +1 -1
  23. package/dist/executor/WorkerPool.d.ts +42 -2
  24. package/dist/executor/WorkerPool.d.ts.map +1 -1
  25. package/dist/executor/__tests__/WorkerPool.swarm.test.d.ts +13 -0
  26. package/dist/executor/__tests__/WorkerPool.swarm.test.d.ts.map +1 -0
  27. package/dist/executor/__tests__/container-executor.test.d.ts +2 -0
  28. package/dist/executor/__tests__/container-executor.test.d.ts.map +1 -0
  29. package/dist/executor/__tests__/egress-guard.test.d.ts +2 -0
  30. package/dist/executor/__tests__/egress-guard.test.d.ts.map +1 -0
  31. package/dist/executor/__tests__/resourceReporter.test.d.ts +2 -0
  32. package/dist/executor/__tests__/resourceReporter.test.d.ts.map +1 -0
  33. package/dist/executor/__tests__/webgpuProbe.test.d.ts +2 -0
  34. package/dist/executor/__tests__/webgpuProbe.test.d.ts.map +1 -0
  35. package/dist/executor/container-executor.d.ts +49 -1
  36. package/dist/executor/container-executor.d.ts.map +1 -1
  37. package/dist/executor/egress-guard.d.ts +105 -0
  38. package/dist/executor/egress-guard.d.ts.map +1 -0
  39. package/dist/executor/memoryProbe.d.ts +30 -0
  40. package/dist/executor/memoryProbe.d.ts.map +1 -1
  41. package/dist/executor/resourceReporter.d.ts +15 -0
  42. package/dist/executor/resourceReporter.d.ts.map +1 -0
  43. package/dist/executor/throttle.d.ts +62 -4
  44. package/dist/executor/throttle.d.ts.map +1 -1
  45. package/dist/executor/webgpuProbe.d.ts +20 -0
  46. package/dist/executor/webgpuProbe.d.ts.map +1 -0
  47. package/dist/index.d.ts +2 -0
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +1423 -235
  50. package/dist/swarm/__tests__/adapter.test.d.ts +2 -0
  51. package/dist/swarm/__tests__/adapter.test.d.ts.map +1 -0
  52. package/dist/swarm/__tests__/controller.test.d.ts +2 -0
  53. package/dist/swarm/__tests__/controller.test.d.ts.map +1 -0
  54. package/dist/swarm/__tests__/defects.test.d.ts +16 -0
  55. package/dist/swarm/__tests__/defects.test.d.ts.map +1 -0
  56. package/dist/swarm/__tests__/hardening.test.d.ts +2 -0
  57. package/dist/swarm/__tests__/hardening.test.d.ts.map +1 -0
  58. package/dist/swarm/__tests__/peer-quality.test.d.ts +2 -0
  59. package/dist/swarm/__tests__/peer-quality.test.d.ts.map +1 -0
  60. package/dist/swarm/__tests__/peer-transport.test.d.ts +2 -0
  61. package/dist/swarm/__tests__/peer-transport.test.d.ts.map +1 -0
  62. package/dist/swarm/__tests__/runtime.test.d.ts +2 -0
  63. package/dist/swarm/__tests__/runtime.test.d.ts.map +1 -0
  64. package/dist/swarm/__tests__/session.test.d.ts +2 -0
  65. package/dist/swarm/__tests__/session.test.d.ts.map +1 -0
  66. package/dist/swarm/adapter.d.ts +115 -0
  67. package/dist/swarm/adapter.d.ts.map +1 -0
  68. package/dist/swarm/controller.d.ts +91 -0
  69. package/dist/swarm/controller.d.ts.map +1 -0
  70. package/dist/swarm/messages.d.ts +41 -0
  71. package/dist/swarm/messages.d.ts.map +1 -0
  72. package/dist/swarm/peer-quality.d.ts +14 -0
  73. package/dist/swarm/peer-quality.d.ts.map +1 -0
  74. package/dist/swarm/peer-transport.d.ts +81 -0
  75. package/dist/swarm/peer-transport.d.ts.map +1 -0
  76. package/dist/swarm/runtime.d.ts +20 -0
  77. package/dist/swarm/runtime.d.ts.map +1 -0
  78. package/dist/swarm/session.d.ts +73 -0
  79. package/dist/swarm/session.d.ts.map +1 -0
  80. package/dist/swarm-engine.js +7496 -0
  81. package/dist/vector-store/HNSWIndex.d.ts +30 -0
  82. package/dist/vector-store/HNSWIndex.d.ts.map +1 -1
  83. package/dist/vector-store/VectorStoreEngine.d.ts +43 -0
  84. package/dist/vector-store/VectorStoreEngine.d.ts.map +1 -1
  85. package/dist/vector-store/__tests__/HNSWIndex.test.d.ts +2 -0
  86. package/dist/vector-store/__tests__/HNSWIndex.test.d.ts.map +1 -0
  87. package/dist/vector-store/__tests__/VectorStoreEngine.test.d.ts +2 -0
  88. package/dist/vector-store/__tests__/VectorStoreEngine.test.d.ts.map +1 -0
  89. package/dist/worker/__tests__/main.worker.abort.test.d.ts +2 -0
  90. package/dist/worker/__tests__/main.worker.abort.test.d.ts.map +1 -0
  91. package/dist/worker/__tests__/main.worker.control.test.d.ts +2 -0
  92. package/dist/worker/__tests__/main.worker.control.test.d.ts.map +1 -0
  93. package/dist/worker.js +766 -67
  94. package/dist/workloads/__tests__/model-pipeline-cache.test.d.ts +2 -0
  95. package/dist/workloads/__tests__/model-pipeline-cache.test.d.ts.map +1 -0
  96. package/dist/workloads/__tests__/nudenet.test.d.ts +2 -0
  97. package/dist/workloads/__tests__/nudenet.test.d.ts.map +1 -0
  98. package/dist/workloads/ai-inference.d.ts +8 -1
  99. package/dist/workloads/ai-inference.d.ts.map +1 -1
  100. package/dist/workloads/ai-model-registry.d.ts +72 -0
  101. package/dist/workloads/ai-model-registry.d.ts.map +1 -0
  102. package/dist/workloads/container.d.ts +1 -1
  103. package/dist/workloads/container.d.ts.map +1 -1
  104. package/dist/workloads/image-process.d.ts +27 -0
  105. package/dist/workloads/image-process.d.ts.map +1 -1
  106. package/dist/workloads/model-pipeline-cache.d.ts +48 -0
  107. package/dist/workloads/model-pipeline-cache.d.ts.map +1 -0
  108. package/dist/workloads/nudenet.d.ts +8 -0
  109. package/dist/workloads/nudenet.d.ts.map +1 -1
  110. package/package.json +3 -2
  111. package/dist/assets/memoryProbe.js +0 -28
  112. package/dist/client/WebRTCPeer.d.ts +0 -8
  113. package/dist/client/WebRTCPeer.d.ts.map +0 -1
@@ -9,6 +9,19 @@ export interface NodeExport {
9
9
  level: number;
10
10
  neighbors: Record<number, number[]>;
11
11
  }
12
+ /**
13
+ * Storage/robustness limits for a node's index.
14
+ *
15
+ * - `MAX_HNSW_NODES` bounds how many vectors a volunteer node persists (the
16
+ * IndexedDB graph is writable by any same-origin script, so a corrupted or
17
+ * hostile dump must not be able to grow the in-memory graph without limit).
18
+ * - `MAX_HNSW_LEVEL` matches `randomLevel()`; an imported level above it would
19
+ * otherwise be used to index `neighbors` maps that were never created.
20
+ * - `MAX_HNSW_NEIGHBORS_PER_LEVEL` bounds adjacency lists read back from disk.
21
+ */
22
+ export declare const MAX_HNSW_NODES = 100000;
23
+ export declare const MAX_HNSW_LEVEL = 16;
24
+ export declare const MAX_HNSW_NEIGHBORS_PER_LEVEL = 1024;
12
25
  export declare class HNSWIndex {
13
26
  private dimensions;
14
27
  private metric;
@@ -20,14 +33,31 @@ export declare class HNSWIndex {
20
33
  private nextNodeId;
21
34
  private maxLevel;
22
35
  constructor(dimensions: number, metric?: 'cosine' | 'l2', M?: number, efConstruction?: number);
36
+ /** Vector width this index was built for. */
37
+ get dimensionsValue(): number;
23
38
  insert(docId: string, vector: Float32Array): void;
24
39
  search(query: Float32Array, k: number): SearchResult[];
25
40
  private searchLayer;
26
41
  private selectNeighbors;
42
+ /**
43
+ * Distance between two vectors. Dimensions must match: iterating `a.length`
44
+ * over a shorter `b` used to return `NaN` (or a silently truncated score),
45
+ * which corrupted search results instead of failing.
46
+ */
27
47
  private distance;
28
48
  private randomLevel;
29
49
  size(): number;
30
50
  exportNodes(): Map<number, NodeExport>;
51
+ /**
52
+ * Rebuild the graph from persisted/imported nodes.
53
+ *
54
+ * The input comes from IndexedDB, which any same-origin script can write, so
55
+ * it is validated before it can reach the search path: levels must be within
56
+ * `MAX_HNSW_LEVEL`, adjacency must reference nodes that exist in the same
57
+ * dump (and stay within the per-level cap), every vector must be a finite
58
+ * Float32Array of the index's dimension and every node needs one. A bad dump
59
+ * throws instead of producing an index that returns NaN distances.
60
+ */
31
61
  importNodes(exported: NodeExport[], vectors: Map<number, Float32Array>): void;
32
62
  }
33
63
  //# sourceMappingURL=HNSWIndex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HNSWIndex.d.ts","sourceRoot":"","sources":["../../src/vector-store/HNSWIndex.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACrC;AAED,qBAAa,SAAS;IAQlB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,CAAC;IACT,OAAO,CAAC,cAAc;IAVxB,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAK;gBAGX,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,QAAQ,GAAG,IAAe,EAClC,CAAC,GAAE,MAAW,EACd,cAAc,GAAE,MAAY;IAGtC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAuEjD,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE;IAmCtD,OAAO,CAAC,WAAW;IA4DnB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,WAAW;IAMnB,IAAI,IAAI,MAAM;IAEd,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;IAiBtC,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,IAAI;CAsB9E"}
1
+ {"version":3,"file":"HNSWIndex.d.ts","sourceRoot":"","sources":["../../src/vector-store/HNSWIndex.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACrC;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,SAAU,CAAC;AACtC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,4BAA4B,OAAO,CAAC;AAEjD,qBAAa,SAAS;IAQlB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,CAAC;IACT,OAAO,CAAC,cAAc;IAVxB,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAK;gBAGX,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,QAAQ,GAAG,IAAe,EAClC,CAAC,GAAE,MAAW,EACd,cAAc,GAAE,MAAY;IAGtC,6CAA6C;IAC7C,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAgFjD,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE;IAmCtD,OAAO,CAAC,WAAW;IA4DnB,OAAO,CAAC,eAAe;IAIvB;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAqBhB,OAAO,CAAC,WAAW;IAMnB,IAAI,IAAI,MAAM;IAEd,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;IAiBtC;;;;;;;;;OASG;IACH,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,IAAI;CA8F9E"}
@@ -1,4 +1,34 @@
1
1
  import type { VectorStorePayload, VectorStoreResult, VectorQueryPayload, VectorQueryResult } from '@flaxia/sdk';
2
+ /**
3
+ * Vector shape limits.
4
+ *
5
+ * `payload.vector` / `payload.queryVector` are typed as `number[]` but arrive
6
+ * from the network as arbitrary JSON: a plain array-like such as
7
+ * `{ length: 2 ** 30 }` would otherwise make `new Float32Array(value)` attempt a
8
+ * ~4 GiB allocation *before* any dimension check. Every value is therefore
9
+ * validated as a real, bounded array first.
10
+ */
11
+ export declare const MAX_VECTOR_DIMENSIONS = 4096;
12
+ /** Upper bound for the total number of elements in one request. */
13
+ export declare const MAX_VECTOR_ELEMENTS = 1048576;
14
+ /** Upper bound for the number of vectors persisted on this node. */
15
+ export declare const MAX_STORED_VECTORS = 100000;
16
+ /** Largest accepted `topK` for a query. */
17
+ export declare const MAX_QUERY_TOP_K = 1000;
18
+ /**
19
+ * Validate a vector-ish value and return its length without allocating.
20
+ *
21
+ * Rejects: non-arrays, array-likes (`{length: n}`), `arguments`-style objects,
22
+ * non-integer/negative/NaN lengths, lengths above `maxDimensions` and element
23
+ * counts above `maxElements`.
24
+ */
25
+ export declare function assertVectorShape(value: unknown, name: string, maxDimensions?: number, maxElements?: number): number;
26
+ /**
27
+ * Validate a shard key with `Number.isInteger`. `parseInt('not-a-number')` is
28
+ * `NaN`, and both `NaN < start` and `NaN > end` are false, so the old check let
29
+ * non-numeric keys through the shard gate.
30
+ */
31
+ export declare function assertShardKey(value: unknown, rangeStart: number, rangeEnd: number): number;
2
32
  interface VectorRecord {
3
33
  docId: string;
4
34
  vector: Float32Array;
@@ -23,6 +53,19 @@ export declare class VectorStoreEngine {
23
53
  getVector(docId: string): Promise<VectorRecord | undefined>;
24
54
  deleteVector(docId: string): Promise<void>;
25
55
  getVectorCount(): number;
56
+ /**
57
+ * Rebuild the in-memory graph from IndexedDB.
58
+ *
59
+ * The records are same-origin writable storage, so they are treated as
60
+ * untrusted: `importNodes` re-validates levels, adjacency and vector
61
+ * dimensions and throws on a corrupted graph instead of silently building an
62
+ * index that later produces NaN distances.
63
+ *
64
+ * Residual risk (documented, accepted for this workload): the persisted
65
+ * vectors and metadata are stored in plaintext in IndexedDB, so any script on
66
+ * the same origin can read them. They are node-local working data for the
67
+ * customer's own task, and the quota above bounds how much can be stored.
68
+ */
26
69
  private loadGraphFromDB;
27
70
  private saveGraphSnapshot;
28
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VectorStoreEngine.d.ts","sourceRoot":"","sources":["../../src/vector-store/VectorStoreEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAiDhH,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAClF,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AASD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,EAAE,CAA4B;IACtC,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,SAAS,CAAyD;IAC1E,OAAO,CAAC,WAAW,CAAK;IAElB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB3B,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWhE,KAAK,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA6B9D,KAAK,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAoB9D,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAI3D,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhD,cAAc,IAAI,MAAM;YAIV,eAAe;YAsBf,iBAAiB;CAWhC"}
1
+ {"version":3,"file":"VectorStoreEngine.d.ts","sourceRoot":"","sources":["../../src/vector-store/VectorStoreEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhH;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,UAAY,CAAC;AAC7C,oEAAoE;AACpE,eAAO,MAAM,kBAAkB,SAAiB,CAAC;AACjD,2CAA2C;AAC3C,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,aAAa,SAAwB,EACrC,WAAW,SAAsB,GAChC,MAAM,CAqBR;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAY3F;AAgDD,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAClF,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AASD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,EAAE,CAA4B;IACtC,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,SAAS,CAAyD;IAC1E,OAAO,CAAC,WAAW,CAAK;IAElB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB3B,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWhE,KAAK,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAwC9D,KAAK,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA+B9D,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAI3D,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhD,cAAc,IAAI,MAAM;IAIxB;;;;;;;;;;;;OAYG;YACW,eAAe;YA8Bf,iBAAiB;CAWhC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=HNSWIndex.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HNSWIndex.test.d.ts","sourceRoot":"","sources":["../../../src/vector-store/__tests__/HNSWIndex.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=VectorStoreEngine.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VectorStoreEngine.test.d.ts","sourceRoot":"","sources":["../../../src/vector-store/__tests__/VectorStoreEngine.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=main.worker.abort.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.worker.abort.test.d.ts","sourceRoot":"","sources":["../../../src/worker/__tests__/main.worker.abort.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=main.worker.control.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.worker.control.test.d.ts","sourceRoot":"","sources":["../../../src/worker/__tests__/main.worker.control.test.ts"],"names":[],"mappings":""}