@squadrules/mcp 5.0.0-beta.1 → 5.0.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 (162) hide show
  1. package/README.md +23 -20
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/config/embedding-fastembed.d.ts +9 -0
  4. package/dist/config/embedding-fastembed.d.ts.map +1 -0
  5. package/dist/config/embedding-fastembed.js +20 -0
  6. package/dist/config/embedding-fastembed.js.map +1 -0
  7. package/dist/config.d.ts +8 -4
  8. package/dist/config.d.ts.map +1 -1
  9. package/dist/config.js +10 -4
  10. package/dist/config.js.map +1 -1
  11. package/dist/embed-docs/mem/adapter-migration.md +1 -1
  12. package/dist/embed-docs/mem/bulk-insert-adapters-via-cli.md +1 -1
  13. package/dist/embed-docs/mem/challenge-type-guide.md +1 -1
  14. package/dist/embed-docs/mem/create-new-protocol.md +1 -1
  15. package/dist/embed-docs/mem/phase-critic-guide.md +1 -1
  16. package/dist/embed-docs/mem/phase-critic.md +1 -1
  17. package/dist/embed-docs/mem/protocol-linking-guide.md +1 -1
  18. package/dist/embed-docs/mem/refine-search.md +1 -1
  19. package/dist/embed-docs/mem/skill-format-guide.md +1 -1
  20. package/dist/http/http-api-snapshot.d.ts.map +1 -1
  21. package/dist/http/http-api-snapshot.js +13 -1
  22. package/dist/http/http-api-snapshot.js.map +1 -1
  23. package/dist/http/http-health-routes.d.ts.map +1 -1
  24. package/dist/http/http-health-routes.js +6 -3
  25. package/dist/http/http-health-routes.js.map +1 -1
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +15 -5
  28. package/dist/index.js.map +1 -1
  29. package/dist/resources/embedded-mcp-resources.js +9 -9
  30. package/dist/resources/embedded-mcp-resources.js.map +1 -1
  31. package/dist/resources/mem-resources-boot.d.ts.map +1 -1
  32. package/dist/resources/mem-resources-boot.js +2 -28
  33. package/dist/resources/mem-resources-boot.js.map +1 -1
  34. package/dist/resources/mem-uuid-mapper.d.ts.map +1 -1
  35. package/dist/resources/mem-uuid-mapper.js +8 -23
  36. package/dist/resources/mem-uuid-mapper.js.map +1 -1
  37. package/dist/server.d.ts.map +1 -1
  38. package/dist/server.js +9 -7
  39. package/dist/server.js.map +1 -1
  40. package/dist/services/embedding/fastembed-provider.d.ts +2 -0
  41. package/dist/services/embedding/fastembed-provider.d.ts.map +1 -0
  42. package/dist/services/embedding/fastembed-provider.js +78 -0
  43. package/dist/services/embedding/fastembed-provider.js.map +1 -0
  44. package/dist/services/embedding/health.d.ts.map +1 -1
  45. package/dist/services/embedding/health.js +99 -96
  46. package/dist/services/embedding/health.js.map +1 -1
  47. package/dist/services/embedding/provider-audit.d.ts +15 -0
  48. package/dist/services/embedding/provider-audit.d.ts.map +1 -0
  49. package/dist/services/embedding/provider-audit.js +28 -0
  50. package/dist/services/embedding/provider-audit.js.map +1 -0
  51. package/dist/services/embedding/providers.d.ts +2 -1
  52. package/dist/services/embedding/providers.d.ts.map +1 -1
  53. package/dist/services/embedding/providers.js +21 -23
  54. package/dist/services/embedding/providers.js.map +1 -1
  55. package/dist/services/embedding/service.d.ts +2 -2
  56. package/dist/services/embedding/service.d.ts.map +1 -1
  57. package/dist/services/embedding/service.js +13 -16
  58. package/dist/services/embedding/service.js.map +1 -1
  59. package/dist/services/execution-trace-store.d.ts +5 -29
  60. package/dist/services/execution-trace-store.d.ts.map +1 -1
  61. package/dist/services/execution-trace-store.js +10 -2
  62. package/dist/services/execution-trace-store.js.map +1 -1
  63. package/dist/services/memory/store.d.ts +23 -0
  64. package/dist/services/memory/store.d.ts.map +1 -1
  65. package/dist/services/memory/store.js +110 -3
  66. package/dist/services/memory/store.js.map +1 -1
  67. package/dist/services/memory-store.d.ts +5 -0
  68. package/dist/services/memory-store.d.ts.map +1 -1
  69. package/dist/services/memory-store.js +5 -0
  70. package/dist/services/memory-store.js.map +1 -1
  71. package/dist/services/qdrant/service.d.ts.map +1 -1
  72. package/dist/services/qdrant/service.js +11 -2
  73. package/dist/services/qdrant/service.js.map +1 -1
  74. package/dist/services/vector-store/IExecutionTraceStore.d.ts +25 -0
  75. package/dist/services/vector-store/IExecutionTraceStore.d.ts.map +1 -0
  76. package/dist/services/vector-store/IExecutionTraceStore.js +2 -0
  77. package/dist/services/vector-store/IExecutionTraceStore.js.map +1 -0
  78. package/dist/services/vector-store/IVectorRecordStore.d.ts +58 -0
  79. package/dist/services/vector-store/IVectorRecordStore.d.ts.map +1 -0
  80. package/dist/services/vector-store/IVectorRecordStore.js +2 -0
  81. package/dist/services/vector-store/IVectorRecordStore.js.map +1 -0
  82. package/dist/services/vector-store/commit-retry.d.ts +21 -0
  83. package/dist/services/vector-store/commit-retry.d.ts.map +1 -0
  84. package/dist/services/vector-store/commit-retry.js +58 -0
  85. package/dist/services/vector-store/commit-retry.js.map +1 -0
  86. package/dist/services/vector-store/embedded-store-singleton.d.ts +12 -0
  87. package/dist/services/vector-store/embedded-store-singleton.d.ts.map +1 -0
  88. package/dist/services/vector-store/embedded-store-singleton.js +17 -0
  89. package/dist/services/vector-store/embedded-store-singleton.js.map +1 -0
  90. package/dist/services/vector-store/lancedb/LanceExecutionTraceStore.d.ts +28 -0
  91. package/dist/services/vector-store/lancedb/LanceExecutionTraceStore.d.ts.map +1 -0
  92. package/dist/services/vector-store/lancedb/LanceExecutionTraceStore.js +222 -0
  93. package/dist/services/vector-store/lancedb/LanceExecutionTraceStore.js.map +1 -0
  94. package/dist/services/vector-store/lancedb/LanceVectorRecordStore.d.ts +77 -0
  95. package/dist/services/vector-store/lancedb/LanceVectorRecordStore.d.ts.map +1 -0
  96. package/dist/services/vector-store/lancedb/LanceVectorRecordStore.js +136 -0
  97. package/dist/services/vector-store/lancedb/LanceVectorRecordStore.js.map +1 -0
  98. package/dist/services/vector-store/lancedb/lance-records-engine.d.ts +41 -0
  99. package/dist/services/vector-store/lancedb/lance-records-engine.d.ts.map +1 -0
  100. package/dist/services/vector-store/lancedb/lance-records-engine.js +102 -0
  101. package/dist/services/vector-store/lancedb/lance-records-engine.js.map +1 -0
  102. package/dist/services/vector-store/lancedb/lance-records-mutations.d.ts +22 -0
  103. package/dist/services/vector-store/lancedb/lance-records-mutations.d.ts.map +1 -0
  104. package/dist/services/vector-store/lancedb/lance-records-mutations.js +211 -0
  105. package/dist/services/vector-store/lancedb/lance-records-mutations.js.map +1 -0
  106. package/dist/services/vector-store/lancedb/lance-records-reads.d.ts +64 -0
  107. package/dist/services/vector-store/lancedb/lance-records-reads.d.ts.map +1 -0
  108. package/dist/services/vector-store/lancedb/lance-records-reads.js +237 -0
  109. package/dist/services/vector-store/lancedb/lance-records-reads.js.map +1 -0
  110. package/dist/services/vector-store/lancedb/lance-records-schema.d.ts +48 -0
  111. package/dist/services/vector-store/lancedb/lance-records-schema.d.ts.map +1 -0
  112. package/dist/services/vector-store/lancedb/lance-records-schema.js +159 -0
  113. package/dist/services/vector-store/lancedb/lance-records-schema.js.map +1 -0
  114. package/dist/services/vector-store/lancedb/lance-records-search.d.ts +30 -0
  115. package/dist/services/vector-store/lancedb/lance-records-search.d.ts.map +1 -0
  116. package/dist/services/vector-store/lancedb/lance-records-search.js +112 -0
  117. package/dist/services/vector-store/lancedb/lance-records-search.js.map +1 -0
  118. package/dist/services/vector-store/lancedb/lance-records-write-artifact.d.ts +11 -0
  119. package/dist/services/vector-store/lancedb/lance-records-write-artifact.d.ts.map +1 -0
  120. package/dist/services/vector-store/lancedb/lance-records-write-artifact.js +121 -0
  121. package/dist/services/vector-store/lancedb/lance-records-write-artifact.js.map +1 -0
  122. package/dist/services/vector-store/lancedb/lance-records-write-helpers.d.ts +52 -0
  123. package/dist/services/vector-store/lancedb/lance-records-write-helpers.d.ts.map +1 -0
  124. package/dist/services/vector-store/lancedb/lance-records-write-helpers.js +216 -0
  125. package/dist/services/vector-store/lancedb/lance-records-write-helpers.js.map +1 -0
  126. package/dist/services/vector-store/lancedb/lance-records-writes.d.ts +21 -0
  127. package/dist/services/vector-store/lancedb/lance-records-writes.d.ts.map +1 -0
  128. package/dist/services/vector-store/lancedb/lance-records-writes.js +294 -0
  129. package/dist/services/vector-store/lancedb/lance-records-writes.js.map +1 -0
  130. package/dist/services/vector-store/lancedb-connection.d.ts +12 -0
  131. package/dist/services/vector-store/lancedb-connection.d.ts.map +1 -0
  132. package/dist/services/vector-store/lancedb-connection.js +28 -0
  133. package/dist/services/vector-store/lancedb-connection.js.map +1 -0
  134. package/dist/services/vector-store/types.d.ts +85 -0
  135. package/dist/services/vector-store/types.d.ts.map +1 -0
  136. package/dist/services/vector-store/types.js +2 -0
  137. package/dist/services/vector-store/types.js.map +1 -0
  138. package/dist/tools/artifact-catalog.d.ts.map +1 -1
  139. package/dist/tools/artifact-catalog.js +6 -33
  140. package/dist/tools/artifact-catalog.js.map +1 -1
  141. package/dist/tools/search.d.ts.map +1 -1
  142. package/dist/tools/search.js +6 -20
  143. package/dist/tools/search.js.map +1 -1
  144. package/dist/tools/search_schema.d.ts +1 -1
  145. package/dist/tools/skill-export/enumerate-space-adapters.d.ts +1 -1
  146. package/dist/tools/skill-export/enumerate-space-adapters.d.ts.map +1 -1
  147. package/dist/tools/skill-export/enumerate-space-adapters.js +11 -27
  148. package/dist/tools/skill-export/enumerate-space-adapters.js.map +1 -1
  149. package/dist/tools/spaces.d.ts.map +1 -1
  150. package/dist/tools/spaces.js +2 -15
  151. package/dist/tools/spaces.js.map +1 -1
  152. package/dist/ui/assets/{AccountPage-B0ali9jz.js → AccountPage-Cbsp2hcC.js} +1 -1
  153. package/dist/ui/assets/{ProtocolEditPage-DIySo-F_.js → ProtocolEditPage-mChBe3JY.js} +1 -1
  154. package/dist/ui/assets/{RichTextEditor-uun0UIVc.js → RichTextEditor-Bj6JxHM5.js} +1 -1
  155. package/dist/ui/assets/{SkillBundlePage-DtOlpupj.js → SkillBundlePage-D1OPKJzA.js} +1 -1
  156. package/dist/ui/assets/{index-BlCipoHI.js → index-DL3-JTk4.js} +2 -2
  157. package/dist/ui/index.html +1 -1
  158. package/dist/utils/squadrules-user-dirs.d.ts +10 -0
  159. package/dist/utils/squadrules-user-dirs.d.ts.map +1 -1
  160. package/dist/utils/squadrules-user-dirs.js +12 -0
  161. package/dist/utils/squadrules-user-dirs.js.map +1 -1
  162. package/package.json +18 -11
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lance-records-mutations.js","sourceRoot":"","sources":["../../../../src/services/vector-store/lancedb/lance-records-mutations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Lance read/query layer for memory records.
3
+ *
4
+ * Every method mirrors the semantics of the Qdrant leaf helper it replaces
5
+ * (`memory-retrieval.ts`, `protocol.ts` and the `store.ts` domain reads), down to
6
+ * the space-source used for gating, the slug disambiguation precedence, the
7
+ * pagination-until-exhausted scroll, and the exact returned object shape. Rows
8
+ * carry the payload verbatim, so reads are byte-identical to the Qdrant path.
9
+ */
10
+ import type { Memory } from '../../../types/memory.js';
11
+ import type { LayerRecord, SlugResolveOutcome, ArtifactResolveOutcome } from '../types.js';
12
+ import type { LanceRecordEngine } from './lance-records-engine.js';
13
+ interface RawPoint {
14
+ id: string;
15
+ payload: any;
16
+ }
17
+ export declare class LanceRecordReader {
18
+ private readonly engine;
19
+ constructor(engine: LanceRecordEngine);
20
+ /** Accessible-by-space single point (mirrors `retrieveAccessiblePointById`). */
21
+ retrieveAccessibleById(uuid: string): Promise<RawPoint | null>;
22
+ /** Neutral `Memory` read (mirrors `store.getMemory`). */
23
+ getMemory(memoryUuid: string): Promise<Memory | null>;
24
+ /** `{uuid, payload}` retrieval (mirrors `retrieveById`). */
25
+ retrieveById(uuid: string): Promise<{
26
+ uuid: string;
27
+ payload: any;
28
+ } | null>;
29
+ /** Ad-hoc memory object (mirrors `getMemoryByUUID` exactly). */
30
+ getMemoryByUUID(uuid: string): Promise<any | null>;
31
+ /** All non-artifact layers of one adapter, sorted by layer index. */
32
+ getAdapterLayers(adapterId: string, extraSpaceIds?: string[]): Promise<Array<{
33
+ uuid: string;
34
+ payload: any;
35
+ }>>;
36
+ /** Exact slug -> adapter entry-layer point, deterministic on ambiguity. */
37
+ findFirstStepMemoryUuidBySlug(slug: string): Promise<SlugResolveOutcome>;
38
+ /** Exact artifact slug -> single artifact point, null when ambiguous. */
39
+ findArtifactMemoryUuidBySlug(slug: string): Promise<ArtifactResolveOutcome>;
40
+ /** Points carrying a `protocol_id` (mirrors `findProtocolSteps`). */
41
+ findProtocolSteps(protocolId: string): Promise<Array<{
42
+ uuid: string;
43
+ protocol: unknown;
44
+ payload: Record<string, unknown>;
45
+ }>>;
46
+ /** Single protocol step by domain/type/task/step (mirrors `findProtocolStep`). */
47
+ findProtocolStep(domain: string, type: string, task: string, step: number): Promise<{
48
+ uuid: string;
49
+ payload: Record<string, unknown>;
50
+ } | null>;
51
+ /** Every layer point in one space. */
52
+ scrollSpace(spaceId: string, options?: {
53
+ paginate?: boolean;
54
+ limit?: number;
55
+ }): Promise<LayerRecord[]>;
56
+ /** Artifact layer points attached to an adapter, across searchable spaces. */
57
+ listAdapterArtifacts(adapterId: string): Promise<LayerRecord[]>;
58
+ /** First-layer footer points for the refining/creation protocol slugs. */
59
+ findProtocolFooterLayers(refineSlug: string, createSlug: string): Promise<LayerRecord[]>;
60
+ /** Protocol version already stored for an app-space adapter slug. */
61
+ getStoredAdapterVersion(slug: string): Promise<string | undefined>;
62
+ }
63
+ export {};
64
+ //# sourceMappingURL=lance-records-reads.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lance-records-reads.d.ts","sourceRoot":"","sources":["../../../../src/services/vector-store/lancedb/lance-records-reads.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAOvD,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGnE,UAAU,QAAQ;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,GAAG,CAAC;CACd;AAqBD,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,iBAAiB;IAEtD,gFAAgF;IAC1E,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAUpE,yDAAyD;IACnD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAM3D,4DAA4D;IACtD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,GAAG,CAAA;KAAE,GAAG,IAAI,CAAC;IAMhF,gEAAgE;IAC1D,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAsCxD,qEAAqE;IAC/D,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IAgBnH,2EAA2E;IACrE,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA2C9E,yEAAyE;IACnE,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAcjF,qEAAqE;IAC/D,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IAYlI,kFAAkF;IAC5E,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;IAapJ,sCAAsC;IAChC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAKhH,8EAA8E;IACxE,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAUrE,0EAA0E;IACpE,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAW9F,qEAAqE;IAC/D,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAWzE"}
@@ -0,0 +1,237 @@
1
+ import { SQUADRULES_APP_SPACE_ID } from '../../../config.js';
2
+ import { getSearchSpaceIds, getSpaceContext } from '../../../utils/tenant-context.js';
3
+ import { buildSpaceFilter, buildAdapterSiblingScrollFilter } from '../../../utils/space-filter.js';
4
+ import { ALLOWED_ARTIFACT_MIMES } from '../../../tools/artifact-mime.js';
5
+ import { structuredLogger } from '../../../utils/structured-logger.js';
6
+ import { pointToMemory } from '../../memory/qdrant-point-to-memory.js';
7
+ function payloadOf(row) {
8
+ return JSON.parse(row.payload);
9
+ }
10
+ function rowToPoint(row) {
11
+ return { id: row.id, payload: payloadOf(row) };
12
+ }
13
+ function toLayerRecord(row) {
14
+ return { uuid: row.id, payload: payloadOf(row) };
15
+ }
16
+ function slugPrecedence(spaceId) {
17
+ if (spaceId.startsWith('user:'))
18
+ return 0;
19
+ if (spaceId.startsWith('group:'))
20
+ return 1;
21
+ if (spaceId === SQUADRULES_APP_SPACE_ID || spaceId.startsWith('app:'))
22
+ return 2;
23
+ return 2;
24
+ }
25
+ export class LanceRecordReader {
26
+ engine;
27
+ constructor(engine) {
28
+ this.engine = engine;
29
+ }
30
+ /** Accessible-by-space single point (mirrors `retrieveAccessiblePointById`). */
31
+ async retrieveAccessibleById(uuid) {
32
+ const row = await this.engine.retrieveRaw(uuid);
33
+ if (!row)
34
+ return null;
35
+ const point = rowToPoint(row);
36
+ const spaceId = String(point.payload['space_id'] ?? SQUADRULES_APP_SPACE_ID);
37
+ const allowed = getSpaceContext().allowedSpaceIds;
38
+ const canRead = allowed.includes(spaceId) || spaceId === SQUADRULES_APP_SPACE_ID;
39
+ return canRead ? point : null;
40
+ }
41
+ /** Neutral `Memory` read (mirrors `store.getMemory`). */
42
+ async getMemory(memoryUuid) {
43
+ const point = await this.retrieveAccessibleById(memoryUuid);
44
+ if (!point)
45
+ return null;
46
+ return pointToMemory(point);
47
+ }
48
+ /** `{uuid, payload}` retrieval (mirrors `retrieveById`). */
49
+ async retrieveById(uuid) {
50
+ const point = await this.retrieveAccessibleById(uuid);
51
+ if (!point)
52
+ return null;
53
+ return { uuid: point.id, payload: point.payload };
54
+ }
55
+ /** Ad-hoc memory object (mirrors `getMemoryByUUID` exactly). */
56
+ async getMemoryByUUID(uuid) {
57
+ const result = await this.retrieveById(uuid);
58
+ if (!result)
59
+ return null;
60
+ const payload = result.payload;
61
+ return {
62
+ id: result.uuid,
63
+ label: payload.label || '',
64
+ text: payload.text || '',
65
+ domain: payload.domain || '',
66
+ task: payload.task || '',
67
+ type: payload.type || 'context',
68
+ tags: payload.tags || [],
69
+ protocol: payload.protocol,
70
+ quality_metrics: payload.quality_metrics,
71
+ quality_metadata: payload.quality_metadata,
72
+ memory_uuid: uuid,
73
+ adapter: payload.adapter ? {
74
+ id: payload.adapter.id,
75
+ name: payload.adapter.name,
76
+ layer_index: payload.adapter.layer_index,
77
+ layer_count: payload.adapter.layer_count,
78
+ ...(typeof payload.adapter.protocol_version === 'string' && { protocol_version: payload.adapter.protocol_version }),
79
+ ...(Array.isArray(payload.adapter.activation_patterns) && { activation_patterns: payload.adapter.activation_patterns }),
80
+ ...(typeof payload.adapter.reward_signal === 'string' && { reward_signal: payload.adapter.reward_signal }),
81
+ ...(typeof payload.adapter.chain_root === 'string' && payload.adapter.chain_root.length > 0 && { chain_root: payload.adapter.chain_root })
82
+ } : undefined,
83
+ inference_contract: payload.inference_contract,
84
+ embedding: [],
85
+ access_count: payload.quality_metrics?.retrievalCount || 0,
86
+ last_accessed: new Date(payload.updated_at || payload.created_at || Date.now()),
87
+ relevance_score: 1.0,
88
+ created_at: new Date(payload.created_at || Date.now()),
89
+ peak_contexts: [],
90
+ certainty: 0.8,
91
+ entropy: 0.2
92
+ };
93
+ }
94
+ /** All non-artifact layers of one adapter, sorted by layer index. */
95
+ async getAdapterLayers(adapterId, extraSpaceIds) {
96
+ const spaceIds = extraSpaceIds && extraSpaceIds.length > 0 ? extraSpaceIds : getSearchSpaceIds();
97
+ const sibling = buildAdapterSiblingScrollFilter(spaceIds, adapterId);
98
+ const rows = await this.engine.scroll({
99
+ must: sibling.must,
100
+ must_not: [{ key: 'content_type', match: { any: [...ALLOWED_ARTIFACT_MIMES] } }]
101
+ });
102
+ return rows
103
+ .map((row) => ({ uuid: row.id, payload: payloadOf(row) }))
104
+ .sort((a, b) => {
105
+ const ai = typeof a.payload?.adapter?.layer_index === 'number' ? a.payload.adapter.layer_index : 0;
106
+ const bi = typeof b.payload?.adapter?.layer_index === 'number' ? b.payload.adapter.layer_index : 0;
107
+ return ai - bi;
108
+ });
109
+ }
110
+ /** Exact slug -> adapter entry-layer point, deterministic on ambiguity. */
111
+ async findFirstStepMemoryUuidBySlug(slug) {
112
+ const normalized = (slug || '').trim().toLowerCase();
113
+ if (!normalized)
114
+ return { layerUuid: null };
115
+ const filter = buildSpaceFilter(getSearchSpaceIds(), {
116
+ must: [
117
+ { key: 'slug', match: { value: normalized } },
118
+ { key: 'adapter.layer_index', match: { value: 1 } }
119
+ ]
120
+ });
121
+ const rows = await this.engine.scroll(filter);
122
+ if (rows.length === 0)
123
+ return { layerUuid: null };
124
+ const points = rows.map(rowToPoint).sort((a, b) => a.id.localeCompare(b.id));
125
+ const byAdapterId = new Map();
126
+ for (const p of points) {
127
+ const adapterId = typeof p.payload?.adapter?.id === 'string' ? p.payload.adapter.id : `__orphan_${p.id}`;
128
+ if (!byAdapterId.has(adapterId))
129
+ byAdapterId.set(adapterId, p);
130
+ }
131
+ const unique = [...byAdapterId.values()];
132
+ if (unique.length === 1)
133
+ return { layerUuid: unique[0].id };
134
+ const spaceOf = (p) => String(p.payload?.space_id ?? SQUADRULES_APP_SPACE_ID);
135
+ const sorted = [...unique].sort((a, b) => {
136
+ const ap = slugPrecedence(spaceOf(a));
137
+ const bp = slugPrecedence(spaceOf(b));
138
+ if (ap !== bp)
139
+ return ap - bp;
140
+ return a.id.localeCompare(b.id);
141
+ });
142
+ const winner = sorted[0];
143
+ const chosenId = winner.id;
144
+ const adapterHint = typeof winner.payload?.adapter?.id === 'string' ? winner.payload.adapter.id : chosenId;
145
+ const winnerSpaceId = spaceOf(winner);
146
+ const contenderSummary = sorted
147
+ .map((p) => {
148
+ const adapterId = typeof p.payload?.adapter?.id === 'string' ? p.payload.adapter.id : p.id;
149
+ return `${adapterId}@${spaceOf(p)}`;
150
+ })
151
+ .join(', ');
152
+ const note = `Slug "${normalized}" matched ${unique.length} adapters; selected "${adapterHint}" from "${winnerSpaceId}" by precedence (personal > group > app/system, then stable id). Candidates: ${contenderSummary}. Prefer an explicit adapter URI such as squadrules://adapter/${adapterHint} to avoid ambiguity.`;
153
+ structuredLogger.warn(`[slug-resolve] ${note}`);
154
+ return { layerUuid: chosenId, disambiguation_note: note };
155
+ }
156
+ /** Exact artifact slug -> single artifact point, null when ambiguous. */
157
+ async findArtifactMemoryUuidBySlug(slug) {
158
+ const normalized = (slug || '').trim().toLowerCase();
159
+ if (!normalized)
160
+ return { artifactUuid: null };
161
+ const rows = await this.engine.scroll(buildSpaceFilter(getSearchSpaceIds(), {
162
+ must: [{ key: 'artifact.slug', match: { value: normalized } }]
163
+ }));
164
+ if (rows.length === 0)
165
+ return { artifactUuid: null };
166
+ if (rows.length > 1) {
167
+ const candidates = rows.map((r) => r.id).join(', ');
168
+ return { artifactUuid: null, disambiguation_note: `Artifact slug "${normalized}" is ambiguous. Matching artifact UUIDs: ${candidates}` };
169
+ }
170
+ return { artifactUuid: rows[0].id };
171
+ }
172
+ /** Points carrying a `protocol_id` (mirrors `findProtocolSteps`). */
173
+ async findProtocolSteps(protocolId) {
174
+ const rows = await this.engine.scroll(buildSpaceFilter(getSpaceContext().allowedSpaceIds, {
175
+ must: [{ key: 'protocol_id', match: { value: protocolId } }]
176
+ }));
177
+ return rows
178
+ .map((row) => {
179
+ const payload = payloadOf(row);
180
+ return { uuid: row.id, protocol: payload['protocol'], payload };
181
+ })
182
+ .filter((item) => item.protocol);
183
+ }
184
+ /** Single protocol step by domain/type/task/step (mirrors `findProtocolStep`). */
185
+ async findProtocolStep(domain, type, task, step) {
186
+ const rows = await this.engine.scroll(buildSpaceFilter(getSpaceContext().allowedSpaceIds, {
187
+ must: [
188
+ { key: 'domain', match: { value: domain } },
189
+ { key: 'type', match: { value: type } },
190
+ { key: 'task', match: { value: task } },
191
+ { key: 'protocol.step', match: { value: step } }
192
+ ]
193
+ }), 1);
194
+ if (rows.length === 0)
195
+ return null;
196
+ return { uuid: rows[0].id, payload: payloadOf(rows[0]) };
197
+ }
198
+ /** Every layer point in one space. */
199
+ async scrollSpace(spaceId, options = {}) {
200
+ const rows = await this.engine.scroll(buildSpaceFilter([spaceId]), options.paginate === false ? options.limit : undefined);
201
+ return rows.map(toLayerRecord);
202
+ }
203
+ /** Artifact layer points attached to an adapter, across searchable spaces. */
204
+ async listAdapterArtifacts(adapterId) {
205
+ const rows = await this.engine.scroll(buildSpaceFilter(getSearchSpaceIds(), {
206
+ must: [
207
+ { key: 'adapter.id', match: { value: adapterId } },
208
+ { key: 'content_type', match: { any: [...ALLOWED_ARTIFACT_MIMES] } }
209
+ ]
210
+ }));
211
+ return rows.map(toLayerRecord);
212
+ }
213
+ /** First-layer footer points for the refining/creation protocol slugs. */
214
+ async findProtocolFooterLayers(refineSlug, createSlug) {
215
+ const rows = await this.engine.scroll({
216
+ must: [
217
+ { key: 'slug', match: { any: [refineSlug, createSlug] } },
218
+ { key: 'space_id', match: { value: SQUADRULES_APP_SPACE_ID } },
219
+ { key: 'adapter.layer_index', match: { value: 1 } }
220
+ ]
221
+ }, 10);
222
+ return rows.map(toLayerRecord);
223
+ }
224
+ /** Protocol version already stored for an app-space adapter slug. */
225
+ async getStoredAdapterVersion(slug) {
226
+ const rows = await this.engine.scroll({
227
+ must: [
228
+ { key: 'space_id', match: { value: SQUADRULES_APP_SPACE_ID } },
229
+ { key: 'slug', match: { value: slug } }
230
+ ]
231
+ }, 1);
232
+ const payload = rows[0] ? payloadOf(rows[0]) : undefined;
233
+ const version = payload?.['protocol_version'];
234
+ return typeof version === 'string' ? version : undefined;
235
+ }
236
+ }
237
+ //# sourceMappingURL=lance-records-reads.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lance-records-reads.js","sourceRoot":"","sources":["../../../../src/services/vector-store/lancedb/lance-records-reads.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AACnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAUvE,SAAS,SAAS,CAAC,GAAmB;IACpC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAA4B,CAAC;AAC5D,CAAC;AAED,SAAS,UAAU,CAAC,GAAmB;IACrC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;AACjD,CAAC;AAED,SAAS,aAAa,CAAC,GAAmB;IACxC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,CAAsB,EAAE,CAAC;AACxE,CAAC;AAED,SAAS,cAAc,CAAC,OAAe;IACrC,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,CAAC,CAAC;IAC1C,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,OAAO,KAAK,uBAAuB,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,CAAC;IAChF,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,OAAO,iBAAiB;IACC;IAA7B,YAA6B,MAAyB;QAAzB,WAAM,GAAN,MAAM,CAAmB;IAAG,CAAC;IAE1D,gFAAgF;IAChF,KAAK,CAAC,sBAAsB,CAAC,IAAY;QACvC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAwB,IAAI,uBAAuB,CAAC,CAAC;QACrG,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC,eAAe,CAAC;QAClD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,uBAAuB,CAAC;QACjF,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAChC,CAAC;IAED,yDAAyD;IACzD,KAAK,CAAC,SAAS,CAAC,UAAkB;QAChC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,YAAY,CAAC,IAAY;QAC7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IACpD,CAAC;IAED,gEAAgE;IAChE,KAAK,CAAC,eAAe,CAAC,IAAY;QAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,OAAO;YACL,EAAE,EAAE,MAAM,CAAC,IAAI;YACf,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;YAC5B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,SAAS;YAC/B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzB,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;gBACtB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;gBAC1B,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW;gBACxC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW;gBACxC,GAAG,CAAC,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,KAAK,QAAQ,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBACnH,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;gBACvH,GAAG,CAAC,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,KAAK,QAAQ,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1G,GAAG,CAAC,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;aAC3I,CAAC,CAAC,CAAC,SAAS;YACb,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,OAAO,CAAC,eAAe,EAAE,cAAc,IAAI,CAAC;YAC1D,aAAa,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/E,eAAe,EAAE,GAAG;YACpB,UAAU,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACtD,aAAa,EAAE,EAAE;YACjB,SAAS,EAAE,GAAG;YACd,OAAO,EAAE,GAAG;SACb,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,gBAAgB,CAAC,SAAiB,EAAE,aAAwB;QAChE,MAAM,QAAQ,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QACjG,MAAM,OAAO,GAAG,+BAA+B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACrE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACpC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,sBAAsB,CAAC,EAAE,EAAE,CAAC;SACjF,CAAC,CAAC;QACH,OAAO,IAAI;aACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACzD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACb,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YACnG,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YACnG,OAAO,EAAE,GAAG,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,2EAA2E;IAC3E,KAAK,CAAC,6BAA6B,CAAC,IAAY;QAC9C,MAAM,UAAU,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrD,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,gBAAgB,CAAC,iBAAiB,EAAE,EAAE;YACnD,IAAI,EAAE;gBACJ,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;gBAC7C,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;aACpD;SACF,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE7E,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAC;QAChD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC;YACzG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;QACzC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,EAAE,EAAE,CAAC;QAE7D,MAAM,OAAO,GAAG,CAAC,CAAW,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,IAAI,uBAAuB,CAAC,CAAC;QACxF,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,EAAE,KAAK,EAAE;gBAAE,OAAO,EAAE,GAAG,EAAE,CAAC;YAC9B,OAAO,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,OAAO,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3G,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,gBAAgB,GAAG,MAAM;aAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,OAAO,GAAG,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACtC,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,GAAG,SAAS,UAAU,aAAa,MAAM,CAAC,MAAM,wBAAwB,WAAW,WAAW,aAAa,gFAAgF,gBAAgB,iEAAiE,WAAW,sBAAsB,CAAC;QACxT,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;QAChD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;IAC5D,CAAC;IAED,yEAAyE;IACzE,KAAK,CAAC,4BAA4B,CAAC,IAAY;QAC7C,MAAM,UAAU,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrD,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,EAAE;YAC1E,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC;SAC/D,CAAC,CAAC,CAAC;QACJ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QACrD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,mBAAmB,EAAE,kBAAkB,UAAU,4CAA4C,UAAU,EAAE,EAAE,CAAC;QAC3I,CAAC;QACD,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,EAAE,EAAE,CAAC;IACvC,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,iBAAiB,CAAC,UAAkB;QACxC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,eAAe,EAAE;YACxF,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC;SAC7D,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI;aACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC;QAClE,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,kFAAkF;IAClF,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY;QAC7E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,eAAe,EAAE;YACxF,IAAI,EAAE;gBACJ,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC3C,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACvC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACvC,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;aACjD;SACF,CAAC,EAAE,CAAC,CAAC,CAAC;QACP,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACnC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;IAC7D,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,UAAkD,EAAE;QACrF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3H,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAED,8EAA8E;IAC9E,KAAK,CAAC,oBAAoB,CAAC,SAAiB;QAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,EAAE;YAC1E,IAAI,EAAE;gBACJ,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBAClD,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,sBAAsB,CAAC,EAAE,EAAE;aACrE;SACF,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAED,0EAA0E;IAC1E,KAAK,CAAC,wBAAwB,CAAC,UAAkB,EAAE,UAAkB;QACnE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACpC,IAAI,EAAE;gBACJ,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE;gBACzD,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,EAAE;gBAC9D,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;aACpD;SACF,EAAE,EAAE,CAAC,CAAC;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,uBAAuB,CAAC,IAAY;QACxC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACpC,IAAI,EAAE;gBACJ,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,EAAE;gBAC9D,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;aACxC;SACF,EAAE,CAAC,CAAC,CAAC;QACN,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzD,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC,kBAAkB,CAAC,CAAC;QAC9C,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,CAAC;CACF"}
@@ -0,0 +1,48 @@
1
+ /** A point shaped the way the Qdrant write handlers build them. */
2
+ export interface QdrantPointLike {
3
+ id: string;
4
+ payload: Record<string, unknown>;
5
+ vector?: Record<string, unknown>;
6
+ }
7
+ /** One Lance record row: promoted scalars + verbatim payload + named vectors. */
8
+ export interface LanceRecordRow {
9
+ id: string;
10
+ space_id: string;
11
+ slug: string;
12
+ adapter_id: string;
13
+ layer_index: number;
14
+ layer_count: number;
15
+ protocol_version: string;
16
+ content_type: string;
17
+ protocol_id: string;
18
+ domain: string;
19
+ task: string;
20
+ type: string;
21
+ artifact_slug: string;
22
+ protocol_step: number;
23
+ created_at: string;
24
+ payload: string;
25
+ bm25_json: string;
26
+ [vectorColumn: string]: unknown;
27
+ }
28
+ /** Escape a value for a LanceQL string literal. */
29
+ export declare function sqlLiteral(value: string): string;
30
+ /**
31
+ * Coerce a stored numeric cell to a plain `number[]`. A data-inferred embedding
32
+ * column reads back as an Apache Arrow `Vector` (not a JS array), so an
33
+ * `Array.isArray` test alone would silently drop every embedding.
34
+ */
35
+ export declare function toNumberArray(value: unknown): number[] | null;
36
+ /** Column name for a dotted payload key, if it is promoted; else undefined. */
37
+ export declare function columnForKey(key: string): keyof LanceRecordRow | undefined;
38
+ /**
39
+ * Build a LanceQL `WHERE` string from Qdrant-style `must` / `must_not` arrays.
40
+ * Returns undefined when there is nothing to constrain (match-all).
41
+ */
42
+ export declare function buildWhere(filter: {
43
+ must?: Array<Record<string, unknown>>;
44
+ must_not?: Array<Record<string, unknown>>;
45
+ }): string | undefined;
46
+ /** Convert a Qdrant-shaped point to a Lance row (payload verbatim, scalars promoted). */
47
+ export declare function toRow(point: QdrantPointLike): LanceRecordRow;
48
+ //# sourceMappingURL=lance-records-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lance-records-schema.d.ts","sourceRoot":"","sources":["../../../../src/services/vector-store/lancedb/lance-records-schema.ts"],"names":[],"mappings":"AAcA,mEAAmE;AACnE,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,iFAAiF;AACjF,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAoBD,mDAAmD;AACnD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,IAAI,CAS7D;AAED,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,cAAc,GAAG,SAAS,CAE1E;AA0CD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE;IACjC,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC3C,GAAG,MAAM,GAAG,SAAS,CAQrB;AAOD,yFAAyF;AACzF,wBAAgB,KAAK,CAAC,KAAK,EAAE,eAAe,GAAG,cAAc,CAoC5D"}
@@ -0,0 +1,159 @@
1
+ /**
2
+ * Row/filter primitives for the embedded LanceDB record store.
3
+ *
4
+ * Records are persisted in a Lance table shaped to be a faithful mirror of a
5
+ * Qdrant point: the whole `payload` is kept verbatim as a JSON string (so reads
6
+ * reconstruct a byte-identical `Memory` via `pointToMemory`), while the scalar
7
+ * keys that appear in query filters are *promoted* to real columns so LanceQL
8
+ * scans and ANN can select them. `toRow` derives those columns from a
9
+ * Qdrant-shaped point, and `conditionToSql` translates the exact filter shape
10
+ * emitted by `buildSpaceFilter` (`must` / `must_not` of `{key, match}` and
11
+ * `{should}` / `{is_empty}` conditions) into a LanceQL `WHERE` clause.
12
+ */
13
+ import { SQUADRULES_APP_SPACE_ID } from '../../../config.js';
14
+ /**
15
+ * Dotted payload path -> promoted column. Covers every key that appears in a
16
+ * query filter across retrieval, protocol, slug-mint and artifact code paths.
17
+ */
18
+ const KEY_TO_COLUMN = {
19
+ space_id: 'space_id',
20
+ slug: 'slug',
21
+ 'adapter.id': 'adapter_id',
22
+ 'adapter.layer_index': 'layer_index',
23
+ 'artifact.slug': 'artifact_slug',
24
+ 'protocol_id': 'protocol_id',
25
+ 'protocol.step': 'protocol_step',
26
+ content_type: 'content_type',
27
+ domain: 'domain',
28
+ task: 'task',
29
+ type: 'type'
30
+ };
31
+ /** Escape a value for a LanceQL string literal. */
32
+ export function sqlLiteral(value) {
33
+ return `'${value.replace(/'/g, "''")}'`;
34
+ }
35
+ /**
36
+ * Coerce a stored numeric cell to a plain `number[]`. A data-inferred embedding
37
+ * column reads back as an Apache Arrow `Vector` (not a JS array), so an
38
+ * `Array.isArray` test alone would silently drop every embedding.
39
+ */
40
+ export function toNumberArray(value) {
41
+ if (Array.isArray(value)) {
42
+ return value.every((n) => typeof n === 'number') ? value : null;
43
+ }
44
+ if (value && typeof value === 'object' && typeof value.length === 'number' && Symbol.iterator in value) {
45
+ const arr = Array.from(value);
46
+ return arr.length > 0 && arr.every((n) => typeof n === 'number') ? arr : null;
47
+ }
48
+ return null;
49
+ }
50
+ /** Column name for a dotted payload key, if it is promoted; else undefined. */
51
+ export function columnForKey(key) {
52
+ return KEY_TO_COLUMN[key];
53
+ }
54
+ function renderMatch(column, match) {
55
+ if ('value' in match) {
56
+ const value = match['value'];
57
+ if (typeof value === 'number')
58
+ return `${column} = ${value}`;
59
+ if (typeof value === 'boolean')
60
+ return `${column} = ${value}`;
61
+ return `${column} = ${sqlLiteral(String(value))}`;
62
+ }
63
+ if ('any' in match) {
64
+ const list = Array.isArray(match['any']) ? match['any'] : [];
65
+ if (list.length === 0)
66
+ return '1 = 0';
67
+ const inList = list.map((v) => (typeof v === 'number' ? String(v) : sqlLiteral(String(v)))).join(', ');
68
+ return `${column} IN (${inList})`;
69
+ }
70
+ throw new Error(`Unsupported Lance match clause: ${JSON.stringify(match)}`);
71
+ }
72
+ function renderCondition(condition) {
73
+ if ('should' in condition) {
74
+ const branches = Array.isArray(condition['should']) ? condition['should'] : [];
75
+ if (branches.length === 0)
76
+ return '1 = 1';
77
+ return `(${branches.map((b) => renderCondition(b)).join(' OR ')})`;
78
+ }
79
+ if ('must' in condition) {
80
+ const inner = Array.isArray(condition['must']) ? condition['must'] : [];
81
+ return `(${inner.map((b) => renderCondition(b)).join(' AND ')})`;
82
+ }
83
+ if ('is_empty' in condition) {
84
+ const isEmpty = condition['is_empty'];
85
+ const column = isEmpty?.key ? columnForKey(isEmpty.key) : undefined;
86
+ if (!column)
87
+ throw new Error(`Unsupported is_empty key: ${isEmpty?.key}`);
88
+ return `(${column} IS NULL OR ${column} = '')`;
89
+ }
90
+ const key = condition['key'];
91
+ const match = condition['match'];
92
+ if (!key || !match)
93
+ throw new Error(`Unsupported Lance condition: ${JSON.stringify(condition)}`);
94
+ const column = columnForKey(key);
95
+ if (!column)
96
+ throw new Error(`Cannot filter on unpromoted payload key: ${key}`);
97
+ return renderMatch(column, match);
98
+ }
99
+ /**
100
+ * Build a LanceQL `WHERE` string from Qdrant-style `must` / `must_not` arrays.
101
+ * Returns undefined when there is nothing to constrain (match-all).
102
+ */
103
+ export function buildWhere(filter) {
104
+ const must = filter.must ?? [];
105
+ const mustNot = filter.must_not ?? [];
106
+ const parts = [];
107
+ if (must.length > 0)
108
+ parts.push(`(${must.map(renderCondition).join(' AND ')})`);
109
+ for (const neg of mustNot)
110
+ parts.push(`NOT (${renderCondition(neg)})`);
111
+ if (parts.length === 0)
112
+ return undefined;
113
+ return parts.join(' AND ');
114
+ }
115
+ function readString(payload, key) {
116
+ const v = payload[key];
117
+ return typeof v === 'string' ? v : '';
118
+ }
119
+ /** Convert a Qdrant-shaped point to a Lance row (payload verbatim, scalars promoted). */
120
+ export function toRow(point) {
121
+ const payload = point.payload ?? {};
122
+ const adapter = (payload['adapter'] ?? {});
123
+ const artifact = (payload['artifact'] ?? {});
124
+ const protocol = (payload['protocol'] ?? {});
125
+ const row = {
126
+ id: String(point.id),
127
+ space_id: typeof payload['space_id'] === 'string' && payload['space_id'].length > 0
128
+ ? payload['space_id']
129
+ : SQUADRULES_APP_SPACE_ID,
130
+ slug: readString(payload, 'slug'),
131
+ adapter_id: typeof adapter['id'] === 'string' ? adapter['id'] : '',
132
+ layer_index: typeof adapter['layer_index'] === 'number' ? adapter['layer_index'] : 0,
133
+ layer_count: typeof adapter['layer_count'] === 'number' ? adapter['layer_count'] : 0,
134
+ protocol_version: typeof adapter['protocol_version'] === 'string' ? adapter['protocol_version'] : '',
135
+ content_type: readString(payload, 'content_type'),
136
+ protocol_id: readString(payload, 'protocol_id'),
137
+ domain: readString(payload, 'domain'),
138
+ task: readString(payload, 'task'),
139
+ type: readString(payload, 'type'),
140
+ artifact_slug: typeof artifact['slug'] === 'string' ? artifact['slug'] : '',
141
+ protocol_step: typeof protocol['step'] === 'number' ? protocol['step'] : 0,
142
+ created_at: readString(payload, 'created_at'),
143
+ payload: JSON.stringify(payload),
144
+ bm25_json: ''
145
+ };
146
+ const vector = point.vector ?? {};
147
+ const bm25 = vector['bm25'];
148
+ if (bm25 && typeof bm25 === 'object')
149
+ row.bm25_json = JSON.stringify(bm25);
150
+ for (const [name, value] of Object.entries(vector)) {
151
+ if (name === 'bm25')
152
+ continue;
153
+ if (Array.isArray(value) && value.every((n) => typeof n === 'number')) {
154
+ row[name] = value;
155
+ }
156
+ }
157
+ return row;
158
+ }
159
+ //# sourceMappingURL=lance-records-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lance-records-schema.js","sourceRoot":"","sources":["../../../../src/services/vector-store/lancedb/lance-records-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Lance read-side semantic search (JS cosine).
3
+ *
4
+ * LanceDB's `nearestTo` requires a FixedSizeList column, but a data-inferred
5
+ * embedding column is a variable `List<Float64>`; rather than hand-author an
6
+ * Arrow schema (the recorded pitfall) we scan the adapter heads in the allowed
7
+ * spaces and score them in JS. The three stored dense vectors map onto the same
8
+ * terms the Qdrant formula boosts (primary relevance + adapter-title match +
9
+ * activation-pattern match), the scalar `label`/`tags` text matches and the
10
+ * stored `attest_boost`, and the post-processing (drop built-in footers, sort by
11
+ * score then uuid, slice, fall back to a flat score) mirrors `vectorSearch` so
12
+ * activation/train search sees the same ordering contract.
13
+ */
14
+ import type { Memory } from '../../../types/memory.js';
15
+ import type { LanceRecordEngine } from './lance-records-engine.js';
16
+ export declare class LanceRecordSearch {
17
+ private readonly engine;
18
+ constructor(engine: LanceRecordEngine);
19
+ /** Full hybrid-style ranking over the three dense legs + text boosts. */
20
+ searchMemories(query: string, limit: number): Promise<{
21
+ memories: Memory[];
22
+ scores: number[];
23
+ }>;
24
+ /** Adapter-title similarity gate (mirrors `searchAdapterTitlesBySimilarity`). */
25
+ searchAdapterTitlesBySimilarity(query: string, limit: number): Promise<{
26
+ memories: Memory[];
27
+ scores: number[];
28
+ }>;
29
+ }
30
+ //# sourceMappingURL=lance-records-search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lance-records-search.d.ts","sourceRoot":"","sources":["../../../../src/services/vector-store/lancedb/lance-records-search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAevD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAmEnE,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,iBAAiB;IAEtD,yEAAyE;IACnE,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAwBrG,iFAAiF;IAC3E,+BAA+B,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAYvH"}