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.
- package/CHANGELOG.md +43 -0
- package/dist/actions.d.ts +247 -0
- package/dist/actions.d.ts.map +1 -0
- package/dist/actions.js +260 -0
- package/dist/actions.js.map +1 -0
- package/dist/ai-promise-db.d.ts +34 -2
- package/dist/ai-promise-db.d.ts.map +1 -1
- package/dist/ai-promise-db.js +511 -66
- package/dist/ai-promise-db.js.map +1 -1
- package/dist/constants.d.ts +16 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +16 -0
- package/dist/constants.js.map +1 -0
- package/dist/events.d.ts +153 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +154 -0
- package/dist/events.js.map +1 -0
- package/dist/index.d.ts +8 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -1
- package/dist/index.js.map +1 -1
- package/dist/memory-provider.d.ts +144 -2
- package/dist/memory-provider.d.ts.map +1 -1
- package/dist/memory-provider.js +569 -13
- package/dist/memory-provider.js.map +1 -1
- package/dist/schema/cascade.d.ts +96 -0
- package/dist/schema/cascade.d.ts.map +1 -0
- package/dist/schema/cascade.js +528 -0
- package/dist/schema/cascade.js.map +1 -0
- package/dist/schema/index.d.ts +197 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +1211 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/parse.d.ts +225 -0
- package/dist/schema/parse.d.ts.map +1 -0
- package/dist/schema/parse.js +732 -0
- package/dist/schema/parse.js.map +1 -0
- package/dist/schema/provider.d.ts +176 -0
- package/dist/schema/provider.d.ts.map +1 -0
- package/dist/schema/provider.js +258 -0
- package/dist/schema/provider.js.map +1 -0
- package/dist/schema/resolve.d.ts +87 -0
- package/dist/schema/resolve.d.ts.map +1 -0
- package/dist/schema/resolve.js +474 -0
- package/dist/schema/resolve.js.map +1 -0
- package/dist/schema/semantic.d.ts +53 -0
- package/dist/schema/semantic.d.ts.map +1 -0
- package/dist/schema/semantic.js +247 -0
- package/dist/schema/semantic.js.map +1 -0
- package/dist/schema/types.d.ts +528 -0
- package/dist/schema/types.d.ts.map +1 -0
- package/dist/schema/types.js +9 -0
- package/dist/schema/types.js.map +1 -0
- package/dist/schema.d.ts +24 -867
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +41 -1124
- package/dist/schema.js.map +1 -1
- package/dist/semantic.d.ts +175 -0
- package/dist/semantic.d.ts.map +1 -0
- package/dist/semantic.js +338 -0
- package/dist/semantic.js.map +1 -0
- package/dist/types.d.ts +14 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +13 -4
- package/.turbo/turbo-build.log +0 -5
- package/TESTING.md +0 -410
- package/TEST_SUMMARY.md +0 -250
- package/TODO.md +0 -128
- package/src/ai-promise-db.ts +0 -1243
- package/src/authorization.ts +0 -1102
- package/src/durable-clickhouse.ts +0 -596
- package/src/durable-promise.ts +0 -582
- package/src/execution-queue.ts +0 -608
- package/src/index.test.ts +0 -868
- package/src/index.ts +0 -337
- package/src/linguistic.ts +0 -404
- package/src/memory-provider.test.ts +0 -1036
- package/src/memory-provider.ts +0 -1119
- package/src/schema.test.ts +0 -1254
- package/src/schema.ts +0 -2296
- package/src/tests.ts +0 -725
- package/src/types.ts +0 -1177
- package/test/README.md +0 -153
- package/test/edge-cases.test.ts +0 -646
- package/test/provider-resolution.test.ts +0 -402
- package/tsconfig.json +0 -9
- package/vitest.config.ts +0 -19
package/dist/schema.js.map
CHANGED
|
@@ -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":"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"}
|
package/dist/semantic.js
ADDED
|
@@ -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
|