ai-database 2.0.1 → 2.1.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 (88) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/actions.d.ts +247 -0
  3. package/dist/actions.d.ts.map +1 -0
  4. package/dist/actions.js +260 -0
  5. package/dist/actions.js.map +1 -0
  6. package/dist/ai-promise-db.d.ts +34 -2
  7. package/dist/ai-promise-db.d.ts.map +1 -1
  8. package/dist/ai-promise-db.js +511 -66
  9. package/dist/ai-promise-db.js.map +1 -1
  10. package/dist/constants.d.ts +16 -0
  11. package/dist/constants.d.ts.map +1 -0
  12. package/dist/constants.js +16 -0
  13. package/dist/constants.js.map +1 -0
  14. package/dist/events.d.ts +153 -0
  15. package/dist/events.d.ts.map +1 -0
  16. package/dist/events.js +154 -0
  17. package/dist/events.js.map +1 -0
  18. package/dist/index.d.ts +8 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +13 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/memory-provider.d.ts +144 -2
  23. package/dist/memory-provider.d.ts.map +1 -1
  24. package/dist/memory-provider.js +569 -13
  25. package/dist/memory-provider.js.map +1 -1
  26. package/dist/schema/cascade.d.ts +96 -0
  27. package/dist/schema/cascade.d.ts.map +1 -0
  28. package/dist/schema/cascade.js +528 -0
  29. package/dist/schema/cascade.js.map +1 -0
  30. package/dist/schema/index.d.ts +197 -0
  31. package/dist/schema/index.d.ts.map +1 -0
  32. package/dist/schema/index.js +1211 -0
  33. package/dist/schema/index.js.map +1 -0
  34. package/dist/schema/parse.d.ts +225 -0
  35. package/dist/schema/parse.d.ts.map +1 -0
  36. package/dist/schema/parse.js +732 -0
  37. package/dist/schema/parse.js.map +1 -0
  38. package/dist/schema/provider.d.ts +176 -0
  39. package/dist/schema/provider.d.ts.map +1 -0
  40. package/dist/schema/provider.js +258 -0
  41. package/dist/schema/provider.js.map +1 -0
  42. package/dist/schema/resolve.d.ts +87 -0
  43. package/dist/schema/resolve.d.ts.map +1 -0
  44. package/dist/schema/resolve.js +474 -0
  45. package/dist/schema/resolve.js.map +1 -0
  46. package/dist/schema/semantic.d.ts +53 -0
  47. package/dist/schema/semantic.d.ts.map +1 -0
  48. package/dist/schema/semantic.js +247 -0
  49. package/dist/schema/semantic.js.map +1 -0
  50. package/dist/schema/types.d.ts +528 -0
  51. package/dist/schema/types.d.ts.map +1 -0
  52. package/dist/schema/types.js +9 -0
  53. package/dist/schema/types.js.map +1 -0
  54. package/dist/schema.d.ts +24 -867
  55. package/dist/schema.d.ts.map +1 -1
  56. package/dist/schema.js +41 -1124
  57. package/dist/schema.js.map +1 -1
  58. package/dist/semantic.d.ts +175 -0
  59. package/dist/semantic.d.ts.map +1 -0
  60. package/dist/semantic.js +338 -0
  61. package/dist/semantic.js.map +1 -0
  62. package/dist/types.d.ts +14 -0
  63. package/dist/types.d.ts.map +1 -1
  64. package/dist/types.js.map +1 -1
  65. package/package.json +13 -4
  66. package/.turbo/turbo-build.log +0 -5
  67. package/TESTING.md +0 -410
  68. package/TEST_SUMMARY.md +0 -250
  69. package/TODO.md +0 -128
  70. package/src/ai-promise-db.ts +0 -1243
  71. package/src/authorization.ts +0 -1102
  72. package/src/durable-clickhouse.ts +0 -596
  73. package/src/durable-promise.ts +0 -582
  74. package/src/execution-queue.ts +0 -608
  75. package/src/index.test.ts +0 -868
  76. package/src/index.ts +0 -337
  77. package/src/linguistic.ts +0 -404
  78. package/src/memory-provider.test.ts +0 -1036
  79. package/src/memory-provider.ts +0 -1119
  80. package/src/schema.test.ts +0 -1254
  81. package/src/schema.ts +0 -2296
  82. package/src/tests.ts +0 -725
  83. package/src/types.ts +0 -1177
  84. package/test/README.md +0 -153
  85. package/test/edge-cases.test.ts +0 -646
  86. package/test/provider-resolution.test.ts +0 -402
  87. package/tsconfig.json +0 -9
  88. package/vitest.config.ts +0 -19
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAiDH,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAQ7F,gFAAgF;AAChF,gCAAgC;AAChC,gFAAgF;AAEhF,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,SAAS,EACT,cAAc,EACd,WAAW,EACX,IAAI,EACJ,aAAa,GACd,MAAM,iBAAiB,CAAA;AAwCxB,gFAAgF;AAChF,kCAAkC;AAClC,gFAAgF;AAEhF,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAO3F,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEnE,gFAAgF;AAChF,oCAAoC;AACpC,gFAAgF;AAEhF,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,GACd,MAAM,qBAAqB,CAAA;AAE5B,gFAAgF;AAChF,oCAAoC;AACpC,gFAAgF;AAEhF,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAA;AAE5B,gFAAgF;AAChF,qCAAqC;AACrC,gFAAgF;AAEhF,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAEhF,gFAAgF;AAChF,gEAAgE;AAChE,gFAAgF;AAEhF,OAAO;AACL,oBAAoB;AACpB,UAAU,EACV,UAAU,EACV,YAAY;AACZ,mBAAmB;AACnB,WAAW,EACX,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY;AACZ,mBAAmB;AACnB,iBAAiB,EACjB,gBAAgB;AAChB,WAAW;AACX,mBAAmB;AACnB,aAAa;AACb,EAAE,GACH,MAAM,mBAAmB,CAAA;AAU1B,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF,OAAO,EAAE,WAAW,IAAI,KAAK,EAAE,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,175 @@
1
+ /**
2
+ * Semantic Search Infrastructure
3
+ *
4
+ * Provides embedding generation and semantic/hybrid search capabilities.
5
+ * Uses a deterministic mock embedding provider for testing.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ /**
10
+ * Provider interface for embedding generation and semantic search
11
+ */
12
+ export interface SemanticProvider {
13
+ /**
14
+ * Generate embedding for a single text
15
+ */
16
+ embed(text: string): Promise<number[]>;
17
+ /**
18
+ * Generate embeddings for multiple texts (batch operation)
19
+ */
20
+ embedBatch(texts: string[]): Promise<number[][]>;
21
+ /**
22
+ * Search for similar entities by text query or embedding vector
23
+ */
24
+ search(type: string, query: string | number[], options?: SemanticSearchOptions): Promise<SemanticSearchResult[]>;
25
+ /**
26
+ * Get embedding dimensions
27
+ */
28
+ readonly dimensions: number;
29
+ }
30
+ /**
31
+ * Options for semantic search
32
+ */
33
+ export interface SemanticSearchOptions {
34
+ /** Minimum similarity score (0-1), defaults to 0 */
35
+ threshold?: number;
36
+ /** Maximum number of results, defaults to 10 */
37
+ limit?: number;
38
+ /** Fields to consider for embedding (used for metadata) */
39
+ fields?: string[];
40
+ }
41
+ /**
42
+ * Result from semantic search
43
+ */
44
+ export interface SemanticSearchResult {
45
+ /** Entity ID */
46
+ id: string;
47
+ /** Similarity score (0-1) */
48
+ score: number;
49
+ /** Entity type */
50
+ type?: string;
51
+ }
52
+ /**
53
+ * Options for hybrid search (FTS + semantic)
54
+ */
55
+ export interface HybridSearchOptions {
56
+ /** Minimum similarity score for semantic results */
57
+ minScore?: number;
58
+ /** Maximum number of results */
59
+ limit?: number;
60
+ /** Offset for pagination */
61
+ offset?: number;
62
+ /** RRF k parameter (default: 60) */
63
+ rrfK?: number;
64
+ /** Weight for FTS results (default: 0.5) */
65
+ ftsWeight?: number;
66
+ /** Weight for semantic results (default: 0.5) */
67
+ semanticWeight?: number;
68
+ }
69
+ /**
70
+ * Result from hybrid search with RRF scoring
71
+ */
72
+ export interface HybridSearchResult<T = unknown> {
73
+ /** The entity data */
74
+ entity: T;
75
+ /** Combined RRF score */
76
+ rrfScore: number;
77
+ /** Rank in FTS results (Infinity if not in FTS) */
78
+ ftsRank: number;
79
+ /** Rank in semantic results (Infinity if not in semantic) */
80
+ semanticRank: number;
81
+ /** Semantic similarity score (0-1) */
82
+ semanticScore: number;
83
+ }
84
+ /**
85
+ * Embedding configuration for a specific entity type
86
+ */
87
+ export interface EmbeddingConfig {
88
+ /** Fields to embed (defaults to text/markdown fields) */
89
+ fields?: string[];
90
+ /** Whether embeddings are enabled (defaults to true) */
91
+ enabled?: boolean;
92
+ }
93
+ /**
94
+ * Global embedding configuration
95
+ */
96
+ export interface EmbeddingsConfig {
97
+ [typeName: string]: EmbeddingConfig | false;
98
+ }
99
+ /**
100
+ * Calculate cosine similarity between two vectors
101
+ */
102
+ export declare function cosineSimilarity(a: number[], b: number[]): number;
103
+ /**
104
+ * Compute RRF (Reciprocal Rank Fusion) score
105
+ *
106
+ * RRF combines rankings from multiple sources using the formula:
107
+ * score = sum(1 / (k + rank))
108
+ *
109
+ * @param ftsRank - Rank in FTS results (1-indexed, Infinity if not found)
110
+ * @param semanticRank - Rank in semantic results (1-indexed, Infinity if not found)
111
+ * @param k - Constant to prevent extreme scores (default: 60)
112
+ * @param ftsWeight - Weight for FTS component (default: 0.5)
113
+ * @param semanticWeight - Weight for semantic component (default: 0.5)
114
+ */
115
+ export declare function computeRRF(ftsRank: number, semanticRank: number, k?: number, ftsWeight?: number, semanticWeight?: number): number;
116
+ /**
117
+ * In-memory storage for embeddings (shared with MemoryProvider via artifacts)
118
+ */
119
+ interface EmbeddingStore {
120
+ getEmbedding(type: string, id: string): Promise<number[] | null>;
121
+ setEmbedding(type: string, id: string, embedding: number[], metadata: Record<string, unknown>): Promise<void>;
122
+ getAllEmbeddings(type: string): Promise<Array<{
123
+ id: string;
124
+ embedding: number[];
125
+ }>>;
126
+ }
127
+ /**
128
+ * Create a mock semantic provider for testing
129
+ *
130
+ * Uses deterministic embeddings based on text content to enable
131
+ * meaningful semantic search in tests.
132
+ */
133
+ export declare function createMockSemanticProvider(store: EmbeddingStore): SemanticProvider;
134
+ /**
135
+ * Extract embeddable text from entity data
136
+ *
137
+ * @param data - Entity data object
138
+ * @param fields - Fields to embed (undefined = auto-detect text fields)
139
+ */
140
+ export declare function extractEmbeddableText(data: Record<string, unknown>, fields?: string[]): {
141
+ text: string;
142
+ fields: string[];
143
+ };
144
+ /**
145
+ * Generate content hash for cache invalidation
146
+ */
147
+ export declare function generateContentHash(text: string): string;
148
+ /**
149
+ * Get fields to embed for an entity type
150
+ *
151
+ * Returns configured fields or auto-detects text fields.
152
+ */
153
+ export declare function getEmbeddableFields(typeName: string, schema: Record<string, string>, config?: EmbeddingsConfig): string[] | null;
154
+ /**
155
+ * Entity with semantic search score
156
+ */
157
+ export type WithSemanticScore<T> = T & {
158
+ /** Semantic similarity score (0-1) */
159
+ $score: number;
160
+ };
161
+ /**
162
+ * Entity with hybrid search scores
163
+ */
164
+ export type WithHybridScore<T> = T & {
165
+ /** Combined RRF score */
166
+ $rrfScore: number;
167
+ /** Rank in FTS results (Infinity if not in FTS) */
168
+ $ftsRank: number;
169
+ /** Rank in semantic results (Infinity if not in semantic) */
170
+ $semanticRank: number;
171
+ /** Semantic similarity score */
172
+ $score: number;
173
+ };
174
+ export {};
175
+ //# sourceMappingURL=semantic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../src/semantic.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAEtC;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAEhD;;OAEG;IACH,MAAM,CACJ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EACxB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAA;IAElC;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAA;IACV,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,OAAO;IAC7C,sBAAsB;IACtB,MAAM,EAAE,CAAC,CAAA;IACT,yBAAyB;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAA;IACf,6DAA6D;IAC7D,YAAY,EAAE,MAAM,CAAA;IACpB,sCAAsC;IACtC,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,GAAG,KAAK,CAAA;CAC5C;AAkMD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAoBjE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,CAAC,GAAE,MAAW,EACd,SAAS,GAAE,MAAY,EACvB,cAAc,GAAE,MAAY,GAC3B,MAAM,CAIR;AAMD;;GAEG;AACH,UAAU,cAAc;IACtB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;IAChE,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7G,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC,CAAA;CACpF;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,cAAc,GAAG,gBAAgB,CA8ClF;AAMD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,CAAC,EAAE,MAAM,EAAE,GAChB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAuCpC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGxD;AAMD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,MAAM,CAAC,EAAE,gBAAgB,GACxB,MAAM,EAAE,GAAG,IAAI,CAsBjB;AAMD;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG;IACrC,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG;IACnC,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAA;IAChB,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAA;IACrB,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAA;CACf,CAAA"}
@@ -0,0 +1,338 @@
1
+ /**
2
+ * Semantic Search Infrastructure
3
+ *
4
+ * Provides embedding generation and semantic/hybrid search capabilities.
5
+ * Uses a deterministic mock embedding provider for testing.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import { EMBEDDING_DIMENSIONS } from './constants.js';
10
+ // =============================================================================
11
+ // Deterministic Mock Embedding Provider
12
+ // =============================================================================
13
+ /**
14
+ * Word vectors for deterministic semantic similarity
15
+ *
16
+ * Words in similar semantic domains have similar vectors.
17
+ * This enables meaningful similarity calculations in tests.
18
+ */
19
+ const SEMANTIC_VECTORS = {
20
+ // AI/ML domain
21
+ machine: [0.9, 0.1, 0.05, 0.02],
22
+ learning: [0.85, 0.15, 0.08, 0.03],
23
+ artificial: [0.88, 0.12, 0.06, 0.04],
24
+ intelligence: [0.87, 0.13, 0.07, 0.05],
25
+ neural: [0.82, 0.18, 0.09, 0.06],
26
+ network: [0.75, 0.2, 0.15, 0.1],
27
+ deep: [0.8, 0.17, 0.1, 0.08],
28
+ ai: [0.92, 0.08, 0.04, 0.02],
29
+ ml: [0.88, 0.12, 0.06, 0.03],
30
+ // Programming domain
31
+ programming: [0.15, 0.85, 0.1, 0.05],
32
+ code: [0.12, 0.88, 0.12, 0.06],
33
+ software: [0.18, 0.82, 0.15, 0.08],
34
+ development: [0.2, 0.8, 0.18, 0.1],
35
+ typescript: [0.1, 0.9, 0.08, 0.04],
36
+ javascript: [0.12, 0.88, 0.1, 0.05],
37
+ python: [0.25, 0.75, 0.12, 0.06],
38
+ react: [0.08, 0.85, 0.2, 0.1],
39
+ vue: [0.06, 0.84, 0.18, 0.08],
40
+ frontend: [0.05, 0.8, 0.25, 0.12],
41
+ // Database domain
42
+ database: [0.1, 0.7, 0.08, 0.6],
43
+ query: [0.12, 0.65, 0.1, 0.7],
44
+ sql: [0.08, 0.6, 0.05, 0.75],
45
+ index: [0.1, 0.58, 0.08, 0.72],
46
+ optimization: [0.15, 0.55, 0.12, 0.68],
47
+ performance: [0.18, 0.5, 0.15, 0.65],
48
+ // DevOps domain
49
+ kubernetes: [0.05, 0.6, 0.8, 0.15],
50
+ docker: [0.08, 0.55, 0.82, 0.12],
51
+ container: [0.06, 0.5, 0.85, 0.1],
52
+ deployment: [0.1, 0.45, 0.78, 0.18],
53
+ devops: [0.12, 0.48, 0.75, 0.2],
54
+ // Food domain (very different from tech)
55
+ cooking: [0.02, 0.05, 0.03, 0.02],
56
+ recipe: [0.03, 0.04, 0.02, 0.03],
57
+ food: [0.02, 0.03, 0.02, 0.02],
58
+ pasta: [0.01, 0.02, 0.01, 0.01],
59
+ pizza: [0.01, 0.03, 0.02, 0.01],
60
+ italian: [0.02, 0.04, 0.02, 0.02],
61
+ garden: [0.03, 0.02, 0.01, 0.02],
62
+ flowers: [0.02, 0.01, 0.01, 0.01],
63
+ // GraphQL/API
64
+ graphql: [0.1, 0.75, 0.15, 0.55],
65
+ api: [0.15, 0.7, 0.2, 0.5],
66
+ rest: [0.12, 0.68, 0.18, 0.48],
67
+ queries: [0.14, 0.65, 0.12, 0.6],
68
+ // Testing
69
+ testing: [0.1, 0.78, 0.08, 0.15],
70
+ test: [0.08, 0.8, 0.06, 0.12],
71
+ unit: [0.06, 0.82, 0.05, 0.1],
72
+ integration: [0.12, 0.75, 0.1, 0.18],
73
+ // State management
74
+ state: [0.08, 0.82, 0.2, 0.08],
75
+ management: [0.15, 0.75, 0.25, 0.12],
76
+ hooks: [0.06, 0.88, 0.15, 0.05],
77
+ useState: [0.05, 0.9, 0.12, 0.04],
78
+ useEffect: [0.04, 0.88, 0.1, 0.03],
79
+ // Related/Concept domain (for semantic similarity tests)
80
+ related: [0.5, 0.5, 0.5, 0.5],
81
+ concept: [0.55, 0.45, 0.55, 0.45],
82
+ similar: [0.52, 0.48, 0.52, 0.48],
83
+ different: [0.48, 0.52, 0.48, 0.52],
84
+ words: [0.45, 0.55, 0.45, 0.55],
85
+ semantically: [0.6, 0.4, 0.6, 0.4],
86
+ // Exact match domain (distinctly different vectors)
87
+ exact: [0.1, 0.1, 0.1, 0.9],
88
+ match: [0.15, 0.15, 0.1, 0.85],
89
+ title: [0.1, 0.2, 0.1, 0.8],
90
+ contains: [0.12, 0.18, 0.12, 0.78],
91
+ search: [0.08, 0.22, 0.08, 0.82],
92
+ terms: [0.05, 0.25, 0.05, 0.85],
93
+ };
94
+ /**
95
+ * Default vector for unknown words
96
+ */
97
+ const DEFAULT_VECTOR = [0.1, 0.1, 0.1, 0.1];
98
+ /**
99
+ * Simple hash function for deterministic randomness
100
+ */
101
+ function simpleHash(str) {
102
+ let hash = 0;
103
+ for (let i = 0; i < str.length; i++) {
104
+ const char = str.charCodeAt(i);
105
+ hash = ((hash << 5) - hash) + char;
106
+ hash = hash & hash; // Convert to 32-bit integer
107
+ }
108
+ return Math.abs(hash);
109
+ }
110
+ /**
111
+ * Generate a deterministic pseudo-random number from seed
112
+ */
113
+ function seededRandom(seed, index) {
114
+ const x = Math.sin(seed + index) * 10000;
115
+ return x - Math.floor(x);
116
+ }
117
+ /**
118
+ * Tokenize text into words
119
+ */
120
+ function tokenize(text) {
121
+ return text
122
+ .toLowerCase()
123
+ .replace(/[^\w\s]/g, ' ')
124
+ .split(/\s+/)
125
+ .filter(w => w.length > 0);
126
+ }
127
+ /**
128
+ * Get semantic vector for a word
129
+ */
130
+ function getWordVector(word) {
131
+ const lower = word.toLowerCase();
132
+ if (SEMANTIC_VECTORS[lower]) {
133
+ return SEMANTIC_VECTORS[lower];
134
+ }
135
+ // Generate deterministic vector based on word hash
136
+ const hash = simpleHash(lower);
137
+ return DEFAULT_VECTOR.map((v, i) => v + seededRandom(hash, i) * 0.1);
138
+ }
139
+ /**
140
+ * Generate deterministic embedding from text
141
+ *
142
+ * Uses semantic word vectors to create meaningful embeddings
143
+ * where similar concepts have higher cosine similarity.
144
+ */
145
+ function generateEmbedding(text) {
146
+ const words = tokenize(text);
147
+ if (words.length === 0) {
148
+ // Empty text - return zero vector with small noise
149
+ return Array.from({ length: EMBEDDING_DIMENSIONS }, (_, i) => seededRandom(0, i) * 0.01);
150
+ }
151
+ // Aggregate word vectors
152
+ const aggregated = [0, 0, 0, 0];
153
+ for (const word of words) {
154
+ const vec = getWordVector(word);
155
+ for (let i = 0; i < 4; i++) {
156
+ aggregated[i] += vec[i];
157
+ }
158
+ }
159
+ // Normalize aggregated vector
160
+ const norm = Math.sqrt(aggregated.reduce((sum, v) => sum + v * v, 0));
161
+ const normalized = aggregated.map(v => v / (norm || 1));
162
+ // Expand to full embedding dimensions using deterministic expansion
163
+ const textHash = simpleHash(text);
164
+ const embedding = new Array(EMBEDDING_DIMENSIONS);
165
+ for (let i = 0; i < EMBEDDING_DIMENSIONS; i++) {
166
+ // Combine semantic vector with hash-based expansion
167
+ const baseIndex = i % 4;
168
+ const base = normalized[baseIndex];
169
+ const noise = seededRandom(textHash, i) * 0.1 - 0.05;
170
+ embedding[i] = base + noise;
171
+ }
172
+ // Final normalization
173
+ const finalNorm = Math.sqrt(embedding.reduce((sum, v) => sum + v * v, 0));
174
+ return embedding.map((v) => v / (finalNorm || 1));
175
+ }
176
+ /**
177
+ * Calculate cosine similarity between two vectors
178
+ */
179
+ export function cosineSimilarity(a, b) {
180
+ if (a.length !== b.length) {
181
+ throw new Error(`Vector dimensions must match: ${a.length} vs ${b.length}`);
182
+ }
183
+ let dotProduct = 0;
184
+ let normA = 0;
185
+ let normB = 0;
186
+ for (let i = 0; i < a.length; i++) {
187
+ dotProduct += a[i] * b[i];
188
+ normA += a[i] * a[i];
189
+ normB += b[i] * b[i];
190
+ }
191
+ const magnitude = Math.sqrt(normA) * Math.sqrt(normB);
192
+ if (magnitude === 0)
193
+ return 0;
194
+ // Clamp to [0, 1] for normalized vectors
195
+ return Math.max(0, Math.min(1, (dotProduct / magnitude + 1) / 2));
196
+ }
197
+ /**
198
+ * Compute RRF (Reciprocal Rank Fusion) score
199
+ *
200
+ * RRF combines rankings from multiple sources using the formula:
201
+ * score = sum(1 / (k + rank))
202
+ *
203
+ * @param ftsRank - Rank in FTS results (1-indexed, Infinity if not found)
204
+ * @param semanticRank - Rank in semantic results (1-indexed, Infinity if not found)
205
+ * @param k - Constant to prevent extreme scores (default: 60)
206
+ * @param ftsWeight - Weight for FTS component (default: 0.5)
207
+ * @param semanticWeight - Weight for semantic component (default: 0.5)
208
+ */
209
+ export function computeRRF(ftsRank, semanticRank, k = 60, ftsWeight = 0.5, semanticWeight = 0.5) {
210
+ const ftsScore = ftsRank < Infinity ? ftsWeight / (k + ftsRank) : 0;
211
+ const semanticScore = semanticRank < Infinity ? semanticWeight / (k + semanticRank) : 0;
212
+ return ftsScore + semanticScore;
213
+ }
214
+ /**
215
+ * Create a mock semantic provider for testing
216
+ *
217
+ * Uses deterministic embeddings based on text content to enable
218
+ * meaningful semantic search in tests.
219
+ */
220
+ export function createMockSemanticProvider(store) {
221
+ return {
222
+ dimensions: EMBEDDING_DIMENSIONS,
223
+ async embed(text) {
224
+ return generateEmbedding(text);
225
+ },
226
+ async embedBatch(texts) {
227
+ return texts.map(text => generateEmbedding(text));
228
+ },
229
+ async search(type, query, options) {
230
+ const threshold = options?.threshold ?? 0;
231
+ const limit = options?.limit ?? 10;
232
+ // Get query embedding
233
+ const queryEmbedding = typeof query === 'string'
234
+ ? generateEmbedding(query)
235
+ : query;
236
+ // Get all embeddings for this type
237
+ const embeddings = await store.getAllEmbeddings(type);
238
+ // Calculate similarities and rank
239
+ const results = [];
240
+ for (const { id, embedding } of embeddings) {
241
+ const score = cosineSimilarity(queryEmbedding, embedding);
242
+ if (score >= threshold) {
243
+ results.push({ id, score, type });
244
+ }
245
+ }
246
+ // Sort by score descending
247
+ results.sort((a, b) => b.score - a.score);
248
+ // Apply limit
249
+ return results.slice(0, limit);
250
+ },
251
+ };
252
+ }
253
+ // =============================================================================
254
+ // Embedding Text Extraction
255
+ // =============================================================================
256
+ /**
257
+ * Extract embeddable text from entity data
258
+ *
259
+ * @param data - Entity data object
260
+ * @param fields - Fields to embed (undefined = auto-detect text fields)
261
+ */
262
+ export function extractEmbeddableText(data, fields) {
263
+ const embeddedFields = [];
264
+ const textParts = [];
265
+ // If specific fields requested, use those
266
+ if (fields && fields.length > 0) {
267
+ for (const field of fields) {
268
+ const value = data[field];
269
+ if (typeof value === 'string' && value.trim()) {
270
+ textParts.push(value);
271
+ embeddedFields.push(field);
272
+ }
273
+ }
274
+ }
275
+ else {
276
+ // Auto-detect text fields
277
+ for (const [key, value] of Object.entries(data)) {
278
+ // Skip internal fields
279
+ if (key.startsWith('$') || key.startsWith('_'))
280
+ continue;
281
+ // Skip timestamps
282
+ if (key.endsWith('At') || key.endsWith('_at'))
283
+ continue;
284
+ if (typeof value === 'string' && value.trim()) {
285
+ textParts.push(value);
286
+ embeddedFields.push(key);
287
+ }
288
+ else if (Array.isArray(value)) {
289
+ // Handle string arrays (like tags)
290
+ const stringValues = value.filter(v => typeof v === 'string');
291
+ if (stringValues.length > 0) {
292
+ textParts.push(stringValues.join(' '));
293
+ embeddedFields.push(key);
294
+ }
295
+ }
296
+ }
297
+ }
298
+ return {
299
+ text: textParts.join('\n\n'),
300
+ fields: embeddedFields,
301
+ };
302
+ }
303
+ /**
304
+ * Generate content hash for cache invalidation
305
+ */
306
+ export function generateContentHash(text) {
307
+ const hash = simpleHash(text);
308
+ return hash.toString(16).padStart(8, '0');
309
+ }
310
+ // =============================================================================
311
+ // Default Embeddable Fields by Type
312
+ // =============================================================================
313
+ /**
314
+ * Get fields to embed for an entity type
315
+ *
316
+ * Returns configured fields or auto-detects text fields.
317
+ */
318
+ export function getEmbeddableFields(typeName, schema, config) {
319
+ // Check if embeddings are disabled for this type
320
+ const typeConfig = config?.[typeName];
321
+ if (typeConfig === false) {
322
+ return null;
323
+ }
324
+ // Use configured fields if specified
325
+ if (typeConfig && typeConfig.fields) {
326
+ return typeConfig.fields;
327
+ }
328
+ // Auto-detect text fields from schema
329
+ const textFields = [];
330
+ for (const [fieldName, fieldType] of Object.entries(schema)) {
331
+ const baseType = fieldType.replace(/[\?\[\]]/g, '').split('.')[0];
332
+ if (baseType === 'string' || baseType === 'markdown') {
333
+ textFields.push(fieldName);
334
+ }
335
+ }
336
+ return textFields.length > 0 ? textFields : null;
337
+ }
338
+ //# sourceMappingURL=semantic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic.js","sourceRoot":"","sources":["../src/semantic.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -96,6 +96,18 @@ export interface ParsedField {
96
96
  isRelation: boolean;
97
97
  relatedType?: string;
98
98
  backref?: string;
99
+ /** Operator used in field definition: ->, ~>, <-, <~ */
100
+ operator?: '->' | '~>' | '<-' | '<~';
101
+ /** Direction of the relationship */
102
+ direction?: 'forward' | 'backward';
103
+ /** Match mode for the relationship */
104
+ matchMode?: 'exact' | 'fuzzy';
105
+ /** Natural language prompt before operator */
106
+ prompt?: string;
107
+ /** Similarity threshold for fuzzy matching (0-1), parsed from ~>Type(0.9) syntax */
108
+ threshold?: number;
109
+ /** Union types for polymorphic references (e.g., ->A|B|C parses to ['A', 'B', 'C']) */
110
+ unionTypes?: string[];
99
111
  }
100
112
  /**
101
113
  * Parsed entity with all fields including auto-generated backrefs
@@ -103,6 +115,8 @@ export interface ParsedField {
103
115
  export interface ParsedEntity {
104
116
  name: string;
105
117
  fields: Map<string, ParsedField>;
118
+ /** Original raw schema for accessing metadata like $fuzzyThreshold */
119
+ schema?: EntitySchema;
106
120
  }
107
121
  /**
108
122
  * Fully parsed schema with bi-directional relationships resolved