ai-database 2.1.3 → 2.3.0
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 +35 -1
- package/README.md +880 -669
- package/dist/actions.d.ts +2 -2
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +1 -1
- package/dist/actions.js.map +1 -1
- package/dist/ai-promise-db.d.ts +49 -23
- package/dist/ai-promise-db.d.ts.map +1 -1
- package/dist/ai-promise-db.js +91 -63
- package/dist/ai-promise-db.js.map +1 -1
- package/dist/authorization.d.ts.map +1 -1
- package/dist/authorization.js +38 -30
- package/dist/authorization.js.map +1 -1
- package/dist/cascade-orchestrator.d.ts +404 -0
- package/dist/cascade-orchestrator.d.ts.map +1 -0
- package/dist/cascade-orchestrator.js +828 -0
- package/dist/cascade-orchestrator.js.map +1 -0
- package/dist/cascade-write-strategy.d.ts +584 -0
- package/dist/cascade-write-strategy.d.ts.map +1 -0
- package/dist/cascade-write-strategy.js +590 -0
- package/dist/cascade-write-strategy.js.map +1 -0
- package/dist/ch-adapter.d.ts +358 -0
- package/dist/ch-adapter.d.ts.map +1 -0
- package/dist/ch-adapter.js +929 -0
- package/dist/ch-adapter.js.map +1 -0
- package/dist/client/index.d.ts +42 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +43 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client.d.ts +266 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +81 -0
- package/dist/client.js.map +1 -0
- package/dist/constants.d.ts +64 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +52 -2
- package/dist/constants.js.map +1 -1
- package/dist/dataloader.d.ts +99 -0
- package/dist/dataloader.d.ts.map +1 -0
- package/dist/dataloader.js +225 -0
- package/dist/dataloader.js.map +1 -0
- package/dist/db-provider-port.d.ts +501 -0
- package/dist/db-provider-port.d.ts.map +1 -0
- package/dist/db-provider-port.js +113 -0
- package/dist/db-provider-port.js.map +1 -0
- package/dist/digital-objects-provider.d.ts +49 -0
- package/dist/digital-objects-provider.d.ts.map +1 -0
- package/dist/digital-objects-provider.js +55 -0
- package/dist/digital-objects-provider.js.map +1 -0
- package/dist/do-sqlite-adapter.d.ts +402 -0
- package/dist/do-sqlite-adapter.d.ts.map +1 -0
- package/dist/do-sqlite-adapter.js +745 -0
- package/dist/do-sqlite-adapter.js.map +1 -0
- package/dist/docs-rels/custom-types.d.ts +134 -0
- package/dist/docs-rels/custom-types.d.ts.map +1 -0
- package/dist/docs-rels/custom-types.js +70 -0
- package/dist/docs-rels/custom-types.js.map +1 -0
- package/dist/docs-rels/index.d.ts +16 -0
- package/dist/docs-rels/index.d.ts.map +1 -0
- package/dist/docs-rels/index.js +16 -0
- package/dist/docs-rels/index.js.map +1 -0
- package/dist/docs-rels/migrations/index.d.ts +30 -0
- package/dist/docs-rels/migrations/index.d.ts.map +1 -0
- package/dist/docs-rels/migrations/index.js +128 -0
- package/dist/docs-rels/migrations/index.js.map +1 -0
- package/dist/docs-rels/schema.d.ts +2961 -0
- package/dist/docs-rels/schema.d.ts.map +1 -0
- package/dist/docs-rels/schema.js +244 -0
- package/dist/docs-rels/schema.js.map +1 -0
- package/dist/durable-clickhouse.d.ts.map +1 -1
- package/dist/durable-clickhouse.js +16 -13
- package/dist/durable-clickhouse.js.map +1 -1
- package/dist/durable-promise.d.ts.map +1 -1
- package/dist/durable-promise.js +34 -15
- package/dist/durable-promise.js.map +1 -1
- package/dist/errors.d.ts +127 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +210 -0
- package/dist/errors.js.map +1 -0
- package/dist/eventbridge.d.ts +117 -0
- package/dist/eventbridge.d.ts.map +1 -0
- package/dist/eventbridge.js +238 -0
- package/dist/eventbridge.js.map +1 -0
- package/dist/events.d.ts +2 -2
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +1 -1
- package/dist/events.js.map +1 -1
- package/dist/execution-queue.d.ts.map +1 -1
- package/dist/execution-queue.js +4 -5
- package/dist/execution-queue.js.map +1 -1
- package/dist/index.d.ts +35 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +106 -6
- package/dist/index.js.map +1 -1
- package/dist/linguistic.d.ts +3 -108
- package/dist/linguistic.d.ts.map +1 -1
- package/dist/linguistic.js +3 -372
- package/dist/linguistic.js.map +1 -1
- package/dist/logger.d.ts +132 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +137 -0
- package/dist/logger.js.map +1 -0
- package/dist/memory-provider.d.ts +128 -0
- package/dist/memory-provider.d.ts.map +1 -1
- package/dist/memory-provider.js +592 -257
- package/dist/memory-provider.js.map +1 -1
- package/dist/pg-adapter.d.ts +424 -0
- package/dist/pg-adapter.d.ts.map +1 -0
- package/dist/pg-adapter.js +921 -0
- package/dist/pg-adapter.js.map +1 -0
- package/dist/pipelines-iceberg-emitter.d.ts +327 -0
- package/dist/pipelines-iceberg-emitter.d.ts.map +1 -0
- package/dist/pipelines-iceberg-emitter.js +351 -0
- package/dist/pipelines-iceberg-emitter.js.map +1 -0
- package/dist/provider-capabilities.d.ts +146 -0
- package/dist/provider-capabilities.d.ts.map +1 -0
- package/dist/provider-capabilities.js +214 -0
- package/dist/provider-capabilities.js.map +1 -0
- package/dist/rdb-provider-adapter.d.ts +195 -0
- package/dist/rdb-provider-adapter.d.ts.map +1 -0
- package/dist/rdb-provider-adapter.js +291 -0
- package/dist/rdb-provider-adapter.js.map +1 -0
- package/dist/schema/cascade.d.ts +48 -17
- package/dist/schema/cascade.d.ts.map +1 -1
- package/dist/schema/cascade.js +477 -278
- package/dist/schema/cascade.js.map +1 -1
- package/dist/schema/definition-caches.d.ts +24 -0
- package/dist/schema/definition-caches.d.ts.map +1 -0
- package/dist/schema/definition-caches.js +26 -0
- package/dist/schema/definition-caches.js.map +1 -0
- package/dist/schema/dependency-graph.d.ts +21 -109
- package/dist/schema/dependency-graph.d.ts.map +1 -1
- package/dist/schema/dependency-graph.js +25 -333
- package/dist/schema/dependency-graph.js.map +1 -1
- package/dist/schema/diff.d.ts +103 -0
- package/dist/schema/diff.d.ts.map +1 -0
- package/dist/schema/diff.js +329 -0
- package/dist/schema/diff.js.map +1 -0
- package/dist/schema/entity-operations.d.ts +99 -0
- package/dist/schema/entity-operations.d.ts.map +1 -0
- package/dist/schema/entity-operations.js +818 -0
- package/dist/schema/entity-operations.js.map +1 -0
- package/dist/schema/index.d.ts +28 -34
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +454 -521
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/migration.d.ts +205 -0
- package/dist/schema/migration.d.ts.map +1 -0
- package/dist/schema/migration.js +327 -0
- package/dist/schema/migration.js.map +1 -0
- package/dist/schema/nl-query-generator.d.ts +68 -0
- package/dist/schema/nl-query-generator.d.ts.map +1 -0
- package/dist/schema/nl-query-generator.js +362 -0
- package/dist/schema/nl-query-generator.js.map +1 -0
- package/dist/schema/nl-query.d.ts +65 -0
- package/dist/schema/nl-query.d.ts.map +1 -0
- package/dist/schema/nl-query.js +178 -0
- package/dist/schema/nl-query.js.map +1 -0
- package/dist/schema/parse.d.ts.map +1 -1
- package/dist/schema/parse.js +144 -89
- package/dist/schema/parse.js.map +1 -1
- package/dist/schema/provider.d.ts +37 -0
- package/dist/schema/provider.d.ts.map +1 -1
- package/dist/schema/provider.js +15 -7
- package/dist/schema/provider.js.map +1 -1
- package/dist/schema/resolve.d.ts +46 -5
- package/dist/schema/resolve.d.ts.map +1 -1
- package/dist/schema/resolve.js +237 -95
- package/dist/schema/resolve.js.map +1 -1
- package/dist/schema/search-utils.d.ts +76 -0
- package/dist/schema/search-utils.d.ts.map +1 -0
- package/dist/schema/search-utils.js +86 -0
- package/dist/schema/search-utils.js.map +1 -0
- package/dist/schema/seed.d.ts +53 -0
- package/dist/schema/seed.d.ts.map +1 -0
- package/dist/schema/seed.js +94 -0
- package/dist/schema/seed.js.map +1 -0
- package/dist/schema/semantic.d.ts +10 -0
- package/dist/schema/semantic.d.ts.map +1 -1
- package/dist/schema/semantic.js +192 -86
- package/dist/schema/semantic.js.map +1 -1
- package/dist/schema/sub-apis.d.ts +52 -0
- package/dist/schema/sub-apis.d.ts.map +1 -0
- package/dist/schema/sub-apis.js +216 -0
- package/dist/schema/sub-apis.js.map +1 -0
- package/dist/schema/system-entities.d.ts +42 -0
- package/dist/schema/system-entities.d.ts.map +1 -0
- package/dist/schema/system-entities.js +101 -0
- package/dist/schema/system-entities.js.map +1 -0
- package/dist/schema/types.d.ts +91 -9
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/schema/union-fallback.d.ts.map +1 -1
- package/dist/schema/union-fallback.js +21 -15
- package/dist/schema/union-fallback.js.map +1 -1
- package/dist/schema/value-generators/ai.d.ts +54 -0
- package/dist/schema/value-generators/ai.d.ts.map +1 -0
- package/dist/schema/value-generators/ai.js +136 -0
- package/dist/schema/value-generators/ai.js.map +1 -0
- package/dist/schema/value-generators/index.d.ts +126 -0
- package/dist/schema/value-generators/index.d.ts.map +1 -0
- package/dist/schema/value-generators/index.js +219 -0
- package/dist/schema/value-generators/index.js.map +1 -0
- package/dist/schema/value-generators/placeholder.d.ts +52 -0
- package/dist/schema/value-generators/placeholder.d.ts.map +1 -0
- package/dist/schema/value-generators/placeholder.js +328 -0
- package/dist/schema/value-generators/placeholder.js.map +1 -0
- package/dist/schema/value-generators/types.d.ts +116 -0
- package/dist/schema/value-generators/types.d.ts.map +1 -0
- package/dist/schema/value-generators/types.js +11 -0
- package/dist/schema/value-generators/types.js.map +1 -0
- package/dist/schema/version.d.ts +111 -0
- package/dist/schema/version.d.ts.map +1 -0
- package/dist/schema/version.js +190 -0
- package/dist/schema/version.js.map +1 -0
- package/dist/schema.d.ts +1095 -24
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +2852 -40
- package/dist/schema.js.map +1 -1
- package/dist/semantic-vectors.d.ts +39 -0
- package/dist/semantic-vectors.d.ts.map +1 -0
- package/dist/semantic-vectors.js +334 -0
- package/dist/semantic-vectors.js.map +1 -0
- package/dist/semantic.d.ts +29 -1
- package/dist/semantic.d.ts.map +1 -1
- package/dist/semantic.js +26 -16
- package/dist/semantic.js.map +1 -1
- package/dist/telemetry.d.ts +128 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +305 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/tests.d.ts.map +1 -1
- package/dist/tests.js +30 -22
- package/dist/tests.js.map +1 -1
- package/dist/type-guards.d.ts +50 -5
- package/dist/type-guards.d.ts.map +1 -1
- package/dist/type-guards.js +87 -16
- package/dist/type-guards.js.map +1 -1
- package/dist/types.d.ts +33 -245
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +62 -72
- package/dist/types.js.map +1 -1
- package/dist/validation.d.ts +2 -5
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +65 -93
- package/dist/validation.js.map +1 -1
- package/dist/worker/db-provider.d.ts +168 -0
- package/dist/worker/db-provider.d.ts.map +1 -0
- package/dist/worker/db-provider.js +277 -0
- package/dist/worker/db-provider.js.map +1 -0
- package/dist/worker/index.d.ts +35 -0
- package/dist/worker/index.d.ts.map +1 -0
- package/dist/worker/index.js +37 -0
- package/dist/worker/index.js.map +1 -0
- package/dist/worker.d.ts +779 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +2786 -0
- package/dist/worker.js.map +1 -0
- package/package.json +46 -16
- package/src/docs-rels/migrations/0001-init.sql +125 -0
- package/LICENSE +0 -21
package/dist/schema/semantic.js
CHANGED
|
@@ -9,7 +9,45 @@
|
|
|
9
9
|
import { hasSemanticSearch } from './provider.js';
|
|
10
10
|
import { resolveNestedPending } from './resolve.js';
|
|
11
11
|
import { generateEntity } from './cascade.js';
|
|
12
|
-
import { searchUnionTypes, createProviderSearcher } from './union-fallback.js';
|
|
12
|
+
import { searchUnionTypes, createProviderSearcher, } from './union-fallback.js';
|
|
13
|
+
import { findBestMatchAcrossTypes } from './search-utils.js';
|
|
14
|
+
/**
|
|
15
|
+
* Perform basic text search across multiple types as fallback when semantic search unavailable
|
|
16
|
+
*
|
|
17
|
+
* This provides graceful degradation for providers that don't support semantic search
|
|
18
|
+
* (e.g., RDB, DigitalObjectsProvider). It uses the provider's basic search() method
|
|
19
|
+
* which typically performs case-insensitive substring matching.
|
|
20
|
+
*
|
|
21
|
+
* @param provider - The database provider
|
|
22
|
+
* @param types - Types to search across
|
|
23
|
+
* @param query - The search query
|
|
24
|
+
* @param limit - Maximum results to return
|
|
25
|
+
* @returns Array of matched entities with $id and $type
|
|
26
|
+
*/
|
|
27
|
+
async function textSearchFallback(provider, types, query, limit) {
|
|
28
|
+
const results = [];
|
|
29
|
+
for (const type of types) {
|
|
30
|
+
if (results.length >= limit)
|
|
31
|
+
break;
|
|
32
|
+
try {
|
|
33
|
+
const searchResults = await provider.search(type, query, { limit: limit - results.length });
|
|
34
|
+
for (const result of searchResults) {
|
|
35
|
+
if (results.length >= limit)
|
|
36
|
+
break;
|
|
37
|
+
results.push({
|
|
38
|
+
...result,
|
|
39
|
+
$id: (result['$id'] ?? result['id']),
|
|
40
|
+
$type: type,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
// Ignore search errors for individual types, continue with others
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return results;
|
|
50
|
+
}
|
|
13
51
|
/**
|
|
14
52
|
* Safely extract the fuzzy threshold from entity schema
|
|
15
53
|
*
|
|
@@ -18,13 +56,11 @@ import { searchUnionTypes, createProviderSearcher } from './union-fallback.js';
|
|
|
18
56
|
*
|
|
19
57
|
* @param entity - The parsed entity definition
|
|
20
58
|
* @returns The fuzzy matching threshold (0-1), defaults to 0.75
|
|
21
|
-
*
|
|
22
|
-
* @internal
|
|
23
59
|
*/
|
|
24
|
-
function getFuzzyThreshold(entity) {
|
|
60
|
+
export function getFuzzyThreshold(entity) {
|
|
25
61
|
const schema = entity.schema;
|
|
26
62
|
if (schema && '$fuzzyThreshold' in schema) {
|
|
27
|
-
const threshold = schema
|
|
63
|
+
const threshold = schema['$fuzzyThreshold'];
|
|
28
64
|
if (typeof threshold === 'number') {
|
|
29
65
|
return threshold;
|
|
30
66
|
}
|
|
@@ -60,21 +96,31 @@ export async function resolveBackwardFuzzy(typeName, data, entity, schema, provi
|
|
|
60
96
|
}
|
|
61
97
|
// Get the hint field value - uses fieldNameHint convention
|
|
62
98
|
const hintKey = `${fieldName}Hint`;
|
|
63
|
-
|
|
64
|
-
//
|
|
99
|
+
let searchQuery = data[hintKey] || field.prompt || '';
|
|
100
|
+
// If no explicit hint or prompt, build context from entity's data
|
|
101
|
+
// This allows backward fuzzy to match based on the entity's own fields
|
|
102
|
+
// Only use entity context for required fields - optional fields should stay null
|
|
103
|
+
if (!searchQuery && !field.isOptional) {
|
|
104
|
+
const contextParts = [];
|
|
105
|
+
for (const [key, value] of Object.entries(data)) {
|
|
106
|
+
if (!key.startsWith('$') && !key.startsWith('_') && typeof value === 'string' && value) {
|
|
107
|
+
contextParts.push(value);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
searchQuery = contextParts.join(' ');
|
|
111
|
+
}
|
|
112
|
+
// Skip if no search query available (optional fields without hint, or entity has no string fields)
|
|
65
113
|
if (!searchQuery) {
|
|
66
114
|
continue;
|
|
67
115
|
}
|
|
68
116
|
// Determine which types to search - all union types or just the primary type
|
|
69
|
-
const typesToSearch = field.unionTypes && field.unionTypes.length > 0
|
|
70
|
-
|
|
71
|
-
|
|
117
|
+
const typesToSearch = field.unionTypes && field.unionTypes.length > 0 ? field.unionTypes : [field.relatedType];
|
|
118
|
+
// Filter to only types that exist in the schema
|
|
119
|
+
const validTypes = typesToSearch.filter((t) => schema.entities.has(t));
|
|
120
|
+
if (validTypes.length === 0)
|
|
121
|
+
continue;
|
|
72
122
|
// Check if provider supports semantic search
|
|
73
123
|
if (hasSemanticSearch(provider)) {
|
|
74
|
-
// Filter to only types that exist in the schema
|
|
75
|
-
const validTypes = typesToSearch.filter(t => schema.entities.has(t));
|
|
76
|
-
if (validTypes.length === 0)
|
|
77
|
-
continue;
|
|
78
124
|
// Create a searcher from the provider
|
|
79
125
|
const searcher = createProviderSearcher(provider);
|
|
80
126
|
// Determine search mode:
|
|
@@ -91,7 +137,7 @@ export async function resolveBackwardFuzzy(typeName, data, entity, schema, provi
|
|
|
91
137
|
if (field.isArray) {
|
|
92
138
|
// For array fields, collect all matches sorted by score
|
|
93
139
|
if (searchResult.matches.length > 0) {
|
|
94
|
-
resolved[fieldName] = searchResult.matches.map(m => m.$id);
|
|
140
|
+
resolved[fieldName] = searchResult.matches.map((m) => m.$id);
|
|
95
141
|
// Track metadata about the search
|
|
96
142
|
if (searchResult.fallbackTriggered) {
|
|
97
143
|
resolved[`${fieldName}$fallbackUsed`] = true;
|
|
@@ -114,6 +160,26 @@ export async function resolveBackwardFuzzy(typeName, data, entity, schema, provi
|
|
|
114
160
|
}
|
|
115
161
|
}
|
|
116
162
|
}
|
|
163
|
+
else {
|
|
164
|
+
// Fallback to basic text search when semantic search is unavailable
|
|
165
|
+
// This provides graceful degradation for providers like RDB
|
|
166
|
+
const textSearchResults = await textSearchFallback(provider, validTypes, searchQuery, field.isArray ? 10 : 1);
|
|
167
|
+
if (field.isArray) {
|
|
168
|
+
if (textSearchResults.length > 0) {
|
|
169
|
+
resolved[fieldName] = textSearchResults.map((r) => r.$id);
|
|
170
|
+
resolved[`${fieldName}$searchedTypes`] = validTypes;
|
|
171
|
+
resolved[`${fieldName}$textFallback`] = true;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
if (textSearchResults.length > 0) {
|
|
176
|
+
const bestMatch = textSearchResults[0];
|
|
177
|
+
resolved[fieldName] = bestMatch.$id;
|
|
178
|
+
resolved[`${fieldName}$matchedType`] = bestMatch.$type;
|
|
179
|
+
resolved[`${fieldName}$textFallback`] = true;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
117
183
|
// Note: <~ typically doesn't generate - it grounds to existing data
|
|
118
184
|
// If no match found and field is optional, leave as undefined
|
|
119
185
|
}
|
|
@@ -147,15 +213,39 @@ export async function resolveForwardFuzzy(typeName, data, entity, schema, provid
|
|
|
147
213
|
const defaultThreshold = getFuzzyThreshold(entity);
|
|
148
214
|
for (const [fieldName, field] of entity.fields) {
|
|
149
215
|
if (field.operator === '~>' && field.direction === 'forward') {
|
|
150
|
-
//
|
|
216
|
+
// If value already provided, still need to track for edge creation
|
|
151
217
|
if (resolved[fieldName] !== undefined && resolved[fieldName] !== null) {
|
|
152
|
-
//
|
|
218
|
+
// Get matchedType from metadata if available, otherwise use relatedType
|
|
219
|
+
const matchedTypeKey = `${fieldName}$matchedType`;
|
|
220
|
+
const matchedType = resolved[matchedTypeKey] || field.relatedType;
|
|
221
|
+
const similarityKey = `${fieldName}$score`;
|
|
222
|
+
const similarity = resolved[similarityKey];
|
|
153
223
|
if (field.isArray && Array.isArray(resolved[fieldName])) {
|
|
154
224
|
const ids = resolved[fieldName];
|
|
155
225
|
for (const targetId of ids) {
|
|
156
|
-
|
|
226
|
+
const relation = {
|
|
227
|
+
fieldName,
|
|
228
|
+
targetType: matchedType,
|
|
229
|
+
targetId,
|
|
230
|
+
matchedType,
|
|
231
|
+
};
|
|
232
|
+
if (similarity !== undefined)
|
|
233
|
+
relation.similarity = similarity;
|
|
234
|
+
pendingRelations.push(relation);
|
|
157
235
|
}
|
|
158
236
|
}
|
|
237
|
+
else if (typeof resolved[fieldName] === 'string') {
|
|
238
|
+
// Single fuzzy field with value already set - add to pendingRelations for edge creation
|
|
239
|
+
const relation = {
|
|
240
|
+
fieldName,
|
|
241
|
+
targetType: matchedType,
|
|
242
|
+
targetId: resolved[fieldName],
|
|
243
|
+
matchedType,
|
|
244
|
+
};
|
|
245
|
+
if (similarity !== undefined)
|
|
246
|
+
relation.similarity = similarity;
|
|
247
|
+
pendingRelations.push(relation);
|
|
248
|
+
}
|
|
159
249
|
continue;
|
|
160
250
|
}
|
|
161
251
|
// Get the hint field value - uses fieldNameHint convention
|
|
@@ -170,54 +260,60 @@ export async function resolveForwardFuzzy(typeName, data, entity, schema, provid
|
|
|
170
260
|
const resultIds = [];
|
|
171
261
|
const usedEntityIds = new Set(); // Track already-matched entities to avoid duplicates
|
|
172
262
|
// Determine which types to search - all union types or just the primary type
|
|
173
|
-
const typesToSearch = field.unionTypes && field.unionTypes.length > 0
|
|
174
|
-
? field.unionTypes
|
|
175
|
-
: [field.relatedType];
|
|
263
|
+
const typesToSearch = field.unionTypes && field.unionTypes.length > 0 ? field.unionTypes : [field.relatedType];
|
|
176
264
|
for (const hint of hints) {
|
|
177
265
|
const hintStr = String(hint || fieldName);
|
|
178
266
|
let matched = false;
|
|
179
267
|
let matchedType;
|
|
180
268
|
// Try semantic search first - search across all union types
|
|
181
269
|
if (hasSemanticSearch(provider)) {
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
for (const match of matches) {
|
|
193
|
-
const matchId = match.$id;
|
|
194
|
-
if (match.$score >= threshold && !usedEntityIds.has(matchId)) {
|
|
195
|
-
// Track the best match across all types
|
|
196
|
-
if (!bestMatch || match.$score > bestMatch.$score) {
|
|
197
|
-
bestMatch = match;
|
|
198
|
-
bestMatchType = searchType;
|
|
199
|
-
}
|
|
200
|
-
break; // Found valid match in this type, move to next type
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
if (bestMatch && bestMatchType) {
|
|
205
|
-
const matchId = bestMatch.$id;
|
|
206
|
-
matchedType = bestMatchType;
|
|
270
|
+
const bestMatchResult = await findBestMatchAcrossTypes(typesToSearch, hintStr, {
|
|
271
|
+
threshold,
|
|
272
|
+
limit: 10,
|
|
273
|
+
excludeIds: usedEntityIds,
|
|
274
|
+
schema,
|
|
275
|
+
provider,
|
|
276
|
+
});
|
|
277
|
+
if (bestMatchResult) {
|
|
278
|
+
const matchId = bestMatchResult.match.$id;
|
|
279
|
+
matchedType = bestMatchResult.type;
|
|
207
280
|
resultIds.push(matchId);
|
|
208
281
|
usedEntityIds.add(matchId);
|
|
209
282
|
pendingRelations.push({
|
|
210
283
|
fieldName,
|
|
211
284
|
targetType: matchedType,
|
|
212
285
|
targetId: matchId,
|
|
213
|
-
similarity:
|
|
214
|
-
matchedType
|
|
286
|
+
similarity: bestMatchResult.match.$score,
|
|
287
|
+
matchedType,
|
|
215
288
|
});
|
|
216
289
|
// Update the matched entity with $generated: false and similarity metadata
|
|
217
290
|
await provider.update(matchedType, matchId, {
|
|
218
291
|
$generated: false,
|
|
219
|
-
$similarity:
|
|
220
|
-
$matchedType: matchedType
|
|
292
|
+
$similarity: bestMatchResult.match.$score,
|
|
293
|
+
$matchedType: matchedType,
|
|
294
|
+
});
|
|
295
|
+
matched = true;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
else {
|
|
299
|
+
// Fallback to text search when semantic search unavailable
|
|
300
|
+
const textResults = await textSearchFallback(provider, typesToSearch, hintStr, 10);
|
|
301
|
+
// Filter out already used IDs
|
|
302
|
+
const availableResults = textResults.filter((r) => !usedEntityIds.has(r.$id));
|
|
303
|
+
if (availableResults.length > 0) {
|
|
304
|
+
const bestMatch = availableResults[0];
|
|
305
|
+
matchedType = bestMatch.$type;
|
|
306
|
+
resultIds.push(bestMatch.$id);
|
|
307
|
+
usedEntityIds.add(bestMatch.$id);
|
|
308
|
+
pendingRelations.push({
|
|
309
|
+
fieldName,
|
|
310
|
+
targetType: matchedType,
|
|
311
|
+
targetId: bestMatch.$id,
|
|
312
|
+
matchedType,
|
|
313
|
+
});
|
|
314
|
+
await provider.update(matchedType, bestMatch.$id, {
|
|
315
|
+
$generated: false,
|
|
316
|
+
$matchedType: matchedType,
|
|
221
317
|
});
|
|
222
318
|
matched = true;
|
|
223
319
|
}
|
|
@@ -236,14 +332,14 @@ export async function resolveForwardFuzzy(typeName, data, entity, schema, provid
|
|
|
236
332
|
$generated: true,
|
|
237
333
|
$generatedBy: parentId,
|
|
238
334
|
$sourceField: fieldName,
|
|
239
|
-
$matchedType: generateType
|
|
335
|
+
$matchedType: generateType,
|
|
240
336
|
});
|
|
241
|
-
resultIds.push(created
|
|
337
|
+
resultIds.push(created['$id']);
|
|
242
338
|
pendingRelations.push({
|
|
243
339
|
fieldName,
|
|
244
340
|
targetType: generateType,
|
|
245
|
-
targetId: created
|
|
246
|
-
matchedType: generateType
|
|
341
|
+
targetId: created['$id'],
|
|
342
|
+
matchedType: generateType,
|
|
247
343
|
});
|
|
248
344
|
}
|
|
249
345
|
}
|
|
@@ -255,47 +351,57 @@ export async function resolveForwardFuzzy(typeName, data, entity, schema, provid
|
|
|
255
351
|
let matched = false;
|
|
256
352
|
let matchedType;
|
|
257
353
|
// Determine which types to search - all union types or just the primary type
|
|
258
|
-
const typesToSearch = field.unionTypes && field.unionTypes.length > 0
|
|
259
|
-
? field.unionTypes
|
|
260
|
-
: [field.relatedType];
|
|
354
|
+
const typesToSearch = field.unionTypes && field.unionTypes.length > 0 ? field.unionTypes : [field.relatedType];
|
|
261
355
|
// Try semantic search first - search across all union types
|
|
262
356
|
if (hasSemanticSearch(provider)) {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
const
|
|
271
|
-
|
|
272
|
-
if (firstMatch && firstMatch.$score >= threshold) {
|
|
273
|
-
// Track the best match across all types
|
|
274
|
-
if (!bestMatch || firstMatch.$score > bestMatch.$score) {
|
|
275
|
-
bestMatch = firstMatch;
|
|
276
|
-
bestMatchType = searchType;
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
if (bestMatch && bestMatchType) {
|
|
281
|
-
const matchedId = bestMatch.$id;
|
|
282
|
-
matchedType = bestMatchType;
|
|
357
|
+
const bestMatchResult = await findBestMatchAcrossTypes(typesToSearch, searchQuery, {
|
|
358
|
+
threshold,
|
|
359
|
+
limit: 5,
|
|
360
|
+
schema,
|
|
361
|
+
provider,
|
|
362
|
+
});
|
|
363
|
+
if (bestMatchResult) {
|
|
364
|
+
const matchedId = bestMatchResult.match.$id;
|
|
365
|
+
matchedType = bestMatchResult.type;
|
|
283
366
|
resolved[fieldName] = matchedId;
|
|
284
367
|
resolved[`${fieldName}$matched`] = true;
|
|
285
|
-
resolved[`${fieldName}$score`] =
|
|
368
|
+
resolved[`${fieldName}$score`] = bestMatchResult.match.$score;
|
|
286
369
|
resolved[`${fieldName}$matchedType`] = matchedType;
|
|
287
370
|
pendingRelations.push({
|
|
288
371
|
fieldName,
|
|
289
372
|
targetType: matchedType,
|
|
290
373
|
targetId: matchedId,
|
|
291
|
-
similarity:
|
|
292
|
-
matchedType
|
|
374
|
+
similarity: bestMatchResult.match.$score,
|
|
375
|
+
matchedType,
|
|
293
376
|
});
|
|
294
377
|
// Update the matched entity with $generated: false and similarity metadata
|
|
295
378
|
await provider.update(matchedType, matchedId, {
|
|
296
379
|
$generated: false,
|
|
297
|
-
$similarity:
|
|
298
|
-
$matchedType: matchedType
|
|
380
|
+
$similarity: bestMatchResult.match.$score,
|
|
381
|
+
$matchedType: matchedType,
|
|
382
|
+
});
|
|
383
|
+
matched = true;
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
else {
|
|
387
|
+
// Fallback to text search when semantic search unavailable
|
|
388
|
+
const textResults = await textSearchFallback(provider, typesToSearch, searchQuery, 5);
|
|
389
|
+
if (textResults.length > 0) {
|
|
390
|
+
const bestMatch = textResults[0];
|
|
391
|
+
matchedType = bestMatch.$type;
|
|
392
|
+
resolved[fieldName] = bestMatch.$id;
|
|
393
|
+
resolved[`${fieldName}$matched`] = true;
|
|
394
|
+
resolved[`${fieldName}$matchedType`] = matchedType;
|
|
395
|
+
resolved[`${fieldName}$textFallback`] = true;
|
|
396
|
+
pendingRelations.push({
|
|
397
|
+
fieldName,
|
|
398
|
+
targetType: matchedType,
|
|
399
|
+
targetId: bestMatch.$id,
|
|
400
|
+
matchedType,
|
|
401
|
+
});
|
|
402
|
+
await provider.update(matchedType, bestMatch.$id, {
|
|
403
|
+
$generated: false,
|
|
404
|
+
$matchedType: matchedType,
|
|
299
405
|
});
|
|
300
406
|
matched = true;
|
|
301
407
|
}
|
|
@@ -315,15 +421,15 @@ export async function resolveForwardFuzzy(typeName, data, entity, schema, provid
|
|
|
315
421
|
$generated: true,
|
|
316
422
|
$generatedBy: parentId,
|
|
317
423
|
$sourceField: fieldName,
|
|
318
|
-
$matchedType: generateType
|
|
424
|
+
$matchedType: generateType,
|
|
319
425
|
});
|
|
320
|
-
resolved[fieldName] = created
|
|
426
|
+
resolved[fieldName] = created['$id'];
|
|
321
427
|
resolved[`${fieldName}$matchedType`] = generateType;
|
|
322
428
|
pendingRelations.push({
|
|
323
429
|
fieldName,
|
|
324
430
|
targetType: generateType,
|
|
325
|
-
targetId: created
|
|
326
|
-
matchedType: generateType
|
|
431
|
+
targetId: created['$id'],
|
|
432
|
+
matchedType: generateType,
|
|
327
433
|
});
|
|
328
434
|
}
|
|
329
435
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/schema/semantic.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAA8B,MAAM,qBAAqB,CAAA;AAE1G;;;;;;;;;;GAUG;AACH,SAAS,iBAAiB,CAAC,MAAoB;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAkC,CAAA;IACxD,IAAI,MAAM,IAAI,iBAAiB,IAAI,MAAM,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;QACxC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,gFAAgF;AAChF,4BAA4B;AAC5B,gFAAgF;AAEhF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAgB,EAChB,IAA6B,EAC7B,MAAoB,EACpB,MAAoB,EACpB,QAAoB;IAEpB,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,EAAE,CAAA;IAC5B,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAE3C,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC/C,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YAC9D,iCAAiC;YACjC,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;gBACtE,SAAQ;YACV,CAAC;YAED,2DAA2D;YAC3D,MAAM,OAAO,GAAG,GAAG,SAAS,MAAM,CAAA;YAClC,MAAM,WAAW,GAAI,IAAI,CAAC,OAAO,CAAY,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,CAAA;YAEnE,mEAAmE;YACnE,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,SAAQ;YACV,CAAC;YAED,6EAA6E;YAC7E,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;gBACnE,CAAC,CAAC,KAAK,CAAC,UAAU;gBAClB,CAAC,CAAC,CAAC,KAAK,CAAC,WAAY,CAAC,CAAA;YAExB,6CAA6C;YAC7C,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChC,gDAAgD;gBAChD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;gBACpE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAQ;gBAErC,sCAAsC;gBACtC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAA;gBAEjD,yBAAyB;gBACzB,oGAAoG;gBACpG,+DAA+D;gBAC/D,MAAM,UAAU,GAAkC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;gBAExF,MAAM,YAAY,GAAG,MAAM,gBAAgB,CACzC,UAAU,EACV,WAAW,EACX;oBACE,IAAI,EAAE,UAAU;oBAChB,SAAS;oBACT,QAAQ;oBACR,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,8BAA8B;oBACxD,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,4CAA4C;iBAC5E,CACF,CAAA;gBAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClB,wDAAwD;oBACxD,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACpC,QAAQ,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;wBAC1D,kCAAkC;wBAClC,IAAI,YAAY,CAAC,iBAAiB,EAAE,CAAC;4BACnC,QAAQ,CAAC,GAAG,SAAS,eAAe,CAAC,GAAG,IAAI,CAAA;wBAC9C,CAAC;wBACD,QAAQ,CAAC,GAAG,SAAS,gBAAgB,CAAC,GAAG,YAAY,CAAC,aAAa,CAAA;oBACrE,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,yEAAyE;oBACzE,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACpC,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAE,CAAA;wBAC1C,QAAQ,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,GAAG,CAAA;wBACnC,QAAQ,CAAC,GAAG,SAAS,cAAc,CAAC,GAAG,SAAS,CAAC,KAAK,CAAA;wBACtD,QAAQ,CAAC,GAAG,SAAS,QAAQ,CAAC,GAAG,SAAS,CAAC,MAAM,CAAA;wBAEjD,mEAAmE;wBACnE,IAAI,YAAY,CAAC,iBAAiB,EAAE,CAAC;4BACnC,QAAQ,CAAC,GAAG,SAAS,eAAe,CAAC,GAAG,IAAI,CAAA;4BAC5C,QAAQ,CAAC,GAAG,SAAS,cAAc,CAAC,GAAG,YAAY,CAAC,WAAW,CAAA;wBACjE,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YACD,oEAAoE;YACpE,8DAA8D;QAChE,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,gFAAgF;AAChF,2BAA2B;AAC3B,gFAAgF;AAEhF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAgB,EAChB,IAA6B,EAC7B,MAAoB,EACpB,MAAoB,EACpB,QAAoB,EACpB,QAAgB;IAEhB,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,EAAE,CAAA;IAC5B,MAAM,gBAAgB,GAAkH,EAAE,CAAA;IAC1I,+CAA+C;IAC/C,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAElD,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC/C,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC7D,iCAAiC;YACjC,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;gBACtE,8EAA8E;gBAC9E,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;oBACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAa,CAAA;oBAC3C,KAAK,MAAM,QAAQ,IAAI,GAAG,EAAE,CAAC;wBAC3B,gBAAgB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,WAAY,EAAE,QAAQ,EAAE,CAAC,CAAA;oBAChF,CAAC;gBACH,CAAC;gBACD,SAAQ;YACV,CAAC;YAED,2DAA2D;YAC3D,MAAM,OAAO,GAAG,GAAG,SAAS,MAAM,CAAA;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAA;YAC/B,MAAM,WAAW,GAAG,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,CAAA;YAExG,qDAAqD;YACrD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,gBAAgB,CAAA;YAErD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,6DAA6D;gBAC7D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gBAChF,MAAM,SAAS,GAAa,EAAE,CAAA;gBAC9B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAA,CAAC,qDAAqD;gBAE7F,6EAA6E;gBAC7E,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;oBACnE,CAAC,CAAC,KAAK,CAAC,UAAU;oBAClB,CAAC,CAAC,CAAC,KAAK,CAAC,WAAY,CAAC,CAAA;gBAExB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC,CAAA;oBACzC,IAAI,OAAO,GAAG,KAAK,CAAA;oBACnB,IAAI,WAA+B,CAAA;oBAEnC,4DAA4D;oBAC5D,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAChC,0CAA0C;wBAC1C,IAAI,SAA2C,CAAA;wBAC/C,IAAI,aAAiC,CAAA;wBAErC,KAAK,MAAM,UAAU,IAAI,aAAa,EAAE,CAAC;4BACvC,6CAA6C;4BAC7C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;gCAAE,SAAQ;4BAE9C,MAAM,OAAO,GAA2B,MAAM,QAAQ,CAAC,cAAc,CACnE,UAAU,EACV,OAAO,EACP,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,0CAA0C;6BAC9E,CAAA;4BAED,gDAAgD;4BAChD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gCAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAA;gCACzB,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oCAC7D,wCAAwC;oCACxC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;wCAClD,SAAS,GAAG,KAAK,CAAA;wCACjB,aAAa,GAAG,UAAU,CAAA;oCAC5B,CAAC;oCACD,MAAK,CAAC,oDAAoD;gCAC5D,CAAC;4BACH,CAAC;wBACH,CAAC;wBAED,IAAI,SAAS,IAAI,aAAa,EAAE,CAAC;4BAC/B,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAA;4BAC7B,WAAW,GAAG,aAAa,CAAA;4BAC3B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;4BACvB,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;4BAC1B,gBAAgB,CAAC,IAAI,CAAC;gCACpB,SAAS;gCACT,UAAU,EAAE,WAAW;gCACvB,QAAQ,EAAE,OAAO;gCACjB,UAAU,EAAE,SAAS,CAAC,MAAM;gCAC5B,WAAW;6BACZ,CAAC,CAAA;4BACF,2EAA2E;4BAC3E,MAAM,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE;gCAC1C,UAAU,EAAE,KAAK;gCACjB,WAAW,EAAE,SAAS,CAAC,MAAM;gCAC7B,YAAY,EAAE,WAAW;6BAC1B,CAAC,CAAA;4BACF,OAAO,GAAG,IAAI,CAAA;wBAChB,CAAC;oBACH,CAAC;oBAED,gEAAgE;oBAChE,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,oEAAoE;wBACpE,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAE,CAAA;wBACtC,MAAM,SAAS,GAAG,MAAM,cAAc,CACpC,YAAY,EACZ,OAAO,EACP,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,EAChD,MAAM,CACP,CAAA;wBAED,uCAAuC;wBACvC,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;wBACvD,IAAI,aAAa,EAAE,CAAC;4BAClB,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;4BAChG,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE;gCAC7D,GAAG,iBAAiB;gCACpB,UAAU,EAAE,IAAI;gCAChB,YAAY,EAAE,QAAQ;gCACtB,YAAY,EAAE,SAAS;gCACvB,YAAY,EAAE,YAAY;6BAC3B,CAAC,CAAA;4BACF,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAa,CAAC,CAAA;4BACrC,gBAAgB,CAAC,IAAI,CAAC;gCACpB,SAAS;gCACT,UAAU,EAAE,YAAY;gCACxB,QAAQ,EAAE,OAAO,CAAC,GAAa;gCAC/B,WAAW,EAAE,YAAY;6BAC1B,CAAC,CAAA;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,QAAQ,CAAC,SAAS,CAAC,GAAG,SAAS,CAAA;YACjC,CAAC;iBAAM,CAAC;gBACN,qBAAqB;gBACrB,IAAI,OAAO,GAAG,KAAK,CAAA;gBACnB,IAAI,WAA+B,CAAA;gBAEnC,6EAA6E;gBAC7E,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;oBACnE,CAAC,CAAC,KAAK,CAAC,UAAU;oBAClB,CAAC,CAAC,CAAC,KAAK,CAAC,WAAY,CAAC,CAAA;gBAExB,4DAA4D;gBAC5D,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAChC,0CAA0C;oBAC1C,IAAI,SAA2C,CAAA;oBAC/C,IAAI,aAAiC,CAAA;oBAErC,KAAK,MAAM,UAAU,IAAI,aAAa,EAAE,CAAC;wBACvC,6CAA6C;wBAC7C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;4BAAE,SAAQ;wBAE9C,MAAM,OAAO,GAA2B,MAAM,QAAQ,CAAC,cAAc,CACnE,UAAU,EACV,WAAW,EACX,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,CAClC,CAAA;wBAED,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;wBAC7B,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;4BACjD,wCAAwC;4BACxC,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;gCACvD,SAAS,GAAG,UAAU,CAAA;gCACtB,aAAa,GAAG,UAAU,CAAA;4BAC5B,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,IAAI,SAAS,IAAI,aAAa,EAAE,CAAC;wBAC/B,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAA;wBAC/B,WAAW,GAAG,aAAa,CAAA;wBAC3B,QAAQ,CAAC,SAAS,CAAC,GAAG,SAAS,CAAA;wBAC/B,QAAQ,CAAC,GAAG,SAAS,UAAU,CAAC,GAAG,IAAI,CAAA;wBACvC,QAAQ,CAAC,GAAG,SAAS,QAAQ,CAAC,GAAG,SAAS,CAAC,MAAM,CAAA;wBACjD,QAAQ,CAAC,GAAG,SAAS,cAAc,CAAC,GAAG,WAAW,CAAA;wBAClD,gBAAgB,CAAC,IAAI,CAAC;4BACpB,SAAS;4BACT,UAAU,EAAE,WAAW;4BACvB,QAAQ,EAAE,SAAS;4BACnB,UAAU,EAAE,SAAS,CAAC,MAAM;4BAC5B,WAAW;yBACZ,CAAC,CAAA;wBACF,2EAA2E;wBAC3E,MAAM,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE;4BAC5C,UAAU,EAAE,KAAK;4BACjB,WAAW,EAAE,SAAS,CAAC,MAAM;4BAC7B,YAAY,EAAE,WAAW;yBAC1B,CAAC,CAAA;wBACF,OAAO,GAAG,IAAI,CAAA;oBAChB,CAAC;gBACH,CAAC;gBAED,6BAA6B;gBAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,oEAAoE;oBACpE,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAE,CAAA;oBACtC,MAAM,SAAS,GAAG,MAAM,cAAc,CACpC,YAAY,EACZ,WAAW,EAAG,2DAA2D;oBACzE,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,EAChD,MAAM,CACP,CAAA;oBAED,uCAAuC;oBACvC,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;oBACvD,IAAI,aAAa,EAAE,CAAC;wBAClB,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;wBAChG,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE;4BAC7D,GAAG,iBAAiB;4BACpB,UAAU,EAAE,IAAI;4BAChB,YAAY,EAAE,QAAQ;4BACtB,YAAY,EAAE,SAAS;4BACvB,YAAY,EAAE,YAAY;yBAC3B,CAAC,CAAA;wBACF,QAAQ,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,CAAA;wBACjC,QAAQ,CAAC,GAAG,SAAS,cAAc,CAAC,GAAG,YAAY,CAAA;wBACnD,gBAAgB,CAAC,IAAI,CAAC;4BACpB,SAAS;4BACT,UAAU,EAAE,YAAY;4BACxB,QAAQ,EAAE,OAAO,CAAC,GAAa;4BAC/B,WAAW,EAAE,YAAY;yBAC1B,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAA;AAC7C,CAAC"}
|
|
1
|
+
{"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/schema/semantic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sub-API Factories
|
|
3
|
+
*
|
|
4
|
+
* Creates the Events, Actions, Artifacts, Nouns, and Verbs APIs
|
|
5
|
+
* that are returned alongside the main DB object.
|
|
6
|
+
*
|
|
7
|
+
* These APIs provide access to:
|
|
8
|
+
* - Events: Event sourcing and subscription
|
|
9
|
+
* - Actions: Durable execution tracking
|
|
10
|
+
* - Artifacts: Cached computed content
|
|
11
|
+
* - Nouns: Type introspection
|
|
12
|
+
* - Verbs: Action introspection and conjugation
|
|
13
|
+
*/
|
|
14
|
+
import type { EventsAPI, ActionsAPI, ArtifactsAPI, NounsAPI, VerbsAPI } from './types.js';
|
|
15
|
+
import type { Noun, Verb } from '../types.js';
|
|
16
|
+
import type { DBProvider } from './provider.js';
|
|
17
|
+
/**
|
|
18
|
+
* Create the Events API
|
|
19
|
+
*
|
|
20
|
+
* @param resolveProvider - Function to get the database provider
|
|
21
|
+
* @returns EventsAPI implementation
|
|
22
|
+
*/
|
|
23
|
+
export declare function createEventsAPI(resolveProvider: () => Promise<DBProvider>): EventsAPI;
|
|
24
|
+
/**
|
|
25
|
+
* Create the Actions API (public version with full DBAction types)
|
|
26
|
+
*
|
|
27
|
+
* @param resolveProvider - Function to get the database provider
|
|
28
|
+
* @returns ActionsAPI implementation
|
|
29
|
+
*/
|
|
30
|
+
export declare function createActionsPublicAPI(resolveProvider: () => Promise<DBProvider>): ActionsAPI;
|
|
31
|
+
/**
|
|
32
|
+
* Create the Artifacts API
|
|
33
|
+
*
|
|
34
|
+
* @param resolveProvider - Function to get the database provider
|
|
35
|
+
* @returns ArtifactsAPI implementation
|
|
36
|
+
*/
|
|
37
|
+
export declare function createArtifactsAPI(resolveProvider: () => Promise<DBProvider>): ArtifactsAPI;
|
|
38
|
+
/**
|
|
39
|
+
* Create the Nouns API
|
|
40
|
+
*
|
|
41
|
+
* @param nounDefinitions - Map of entity names to Noun definitions
|
|
42
|
+
* @returns NounsAPI implementation
|
|
43
|
+
*/
|
|
44
|
+
export declare function createNounsAPI(nounDefinitions: Map<string, Noun>): NounsAPI;
|
|
45
|
+
/**
|
|
46
|
+
* Create the Verbs API
|
|
47
|
+
*
|
|
48
|
+
* @param verbDefinitions - Map of verb actions to Verb definitions
|
|
49
|
+
* @returns VerbsAPI implementation
|
|
50
|
+
*/
|
|
51
|
+
export declare function createVerbsAPI(verbDefinitions: Map<string, Verb>): VerbsAPI;
|
|
52
|
+
//# sourceMappingURL=sub-apis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sub-apis.d.ts","sourceRoot":"","sources":["../../src/schema/sub-apis.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,QAAQ,EAKT,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAI/C;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,eAAe,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,SAAS,CA8DrF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,eAAe,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAsD7F;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,eAAe,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,YAAY,CAgC3F;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,QAAQ,CAc3E;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,QAAQ,CAgB3E"}
|