ai-database 2.1.1 → 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 +47 -1
- package/README.md +1063 -186
- 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 +52 -23
- package/dist/ai-promise-db.d.ts.map +1 -1
- package/dist/ai-promise-db.js +185 -164
- 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 +37 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +112 -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 +129 -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 +49 -10
- package/dist/schema/cascade.d.ts.map +1 -1
- package/dist/schema/cascade.js +491 -273
- 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 +45 -0
- package/dist/schema/dependency-graph.d.ts.map +1 -0
- package/dist/schema/dependency-graph.js +47 -0
- package/dist/schema/dependency-graph.js.map +1 -0
- 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/generation-context.d.ts +202 -0
- package/dist/schema/generation-context.d.ts.map +1 -0
- package/dist/schema/generation-context.js +393 -0
- package/dist/schema/generation-context.js.map +1 -0
- package/dist/schema/index.d.ts +32 -34
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +462 -519
- 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 +152 -89
- package/dist/schema/parse.js.map +1 -1
- package/dist/schema/provider.d.ts +38 -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 +334 -117
- 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 +11 -0
- package/dist/schema/semantic.d.ts.map +1 -1
- package/dist/schema/semantic.js +262 -68
- 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 +219 -0
- package/dist/schema/union-fallback.d.ts.map +1 -0
- package/dist/schema/union-fallback.js +331 -0
- package/dist/schema/union-fallback.js.map +1 -0
- 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/verb-derivation.d.ts +167 -0
- package/dist/schema/verb-derivation.d.ts.map +1 -0
- package/dist/schema/verb-derivation.js +281 -0
- package/dist/schema/verb-derivation.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 -23
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +2854 -38
- 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 +212 -0
- package/dist/type-guards.d.ts.map +1 -0
- package/dist/type-guards.js +318 -0
- package/dist/type-guards.js.map +1 -0
- 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 +165 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +639 -0
- package/dist/validation.js.map +1 -0
- 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 +38 -8
- package/src/docs-rels/migrations/0001-init.sql +125 -0
package/dist/schema/semantic.js
CHANGED
|
@@ -9,6 +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';
|
|
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
|
+
}
|
|
12
51
|
/**
|
|
13
52
|
* Safely extract the fuzzy threshold from entity schema
|
|
14
53
|
*
|
|
@@ -17,13 +56,11 @@ import { generateEntity } from './cascade.js';
|
|
|
17
56
|
*
|
|
18
57
|
* @param entity - The parsed entity definition
|
|
19
58
|
* @returns The fuzzy matching threshold (0-1), defaults to 0.75
|
|
20
|
-
*
|
|
21
|
-
* @internal
|
|
22
59
|
*/
|
|
23
|
-
function getFuzzyThreshold(entity) {
|
|
60
|
+
export function getFuzzyThreshold(entity) {
|
|
24
61
|
const schema = entity.schema;
|
|
25
62
|
if (schema && '$fuzzyThreshold' in schema) {
|
|
26
|
-
const threshold = schema
|
|
63
|
+
const threshold = schema['$fuzzyThreshold'];
|
|
27
64
|
if (typeof threshold === 'number') {
|
|
28
65
|
return threshold;
|
|
29
66
|
}
|
|
@@ -59,30 +96,90 @@ export async function resolveBackwardFuzzy(typeName, data, entity, schema, provi
|
|
|
59
96
|
}
|
|
60
97
|
// Get the hint field value - uses fieldNameHint convention
|
|
61
98
|
const hintKey = `${fieldName}Hint`;
|
|
62
|
-
|
|
63
|
-
//
|
|
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)
|
|
64
113
|
if (!searchQuery) {
|
|
65
114
|
continue;
|
|
66
115
|
}
|
|
116
|
+
// Determine which types to search - all union types or just the primary type
|
|
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;
|
|
67
122
|
// Check if provider supports semantic search
|
|
68
123
|
if (hasSemanticSearch(provider)) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
124
|
+
// Create a searcher from the provider
|
|
125
|
+
const searcher = createProviderSearcher(provider);
|
|
126
|
+
// Determine search mode:
|
|
127
|
+
// - For single fields with union types, use ordered fallback (search in order, stop on first match)
|
|
128
|
+
// - For array fields, use parallel mode to collect all matches
|
|
129
|
+
const searchMode = field.isArray ? 'parallel' : 'ordered';
|
|
130
|
+
const searchResult = await searchUnionTypes(validTypes, searchQuery, {
|
|
131
|
+
mode: searchMode,
|
|
132
|
+
threshold,
|
|
133
|
+
searcher,
|
|
134
|
+
returnAll: field.isArray, // For arrays, get all matches
|
|
135
|
+
limit: field.isArray ? 10 : 1, // Single fields only need 1 result per type
|
|
136
|
+
});
|
|
137
|
+
if (field.isArray) {
|
|
138
|
+
// For array fields, collect all matches sorted by score
|
|
139
|
+
if (searchResult.matches.length > 0) {
|
|
140
|
+
resolved[fieldName] = searchResult.matches.map((m) => m.$id);
|
|
141
|
+
// Track metadata about the search
|
|
142
|
+
if (searchResult.fallbackTriggered) {
|
|
143
|
+
resolved[`${fieldName}$fallbackUsed`] = true;
|
|
144
|
+
}
|
|
145
|
+
resolved[`${fieldName}$searchedTypes`] = searchResult.searchedTypes;
|
|
76
146
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
// For single fields, use the best match (or first match in ordered mode)
|
|
150
|
+
if (searchResult.matches.length > 0) {
|
|
151
|
+
const bestMatch = searchResult.matches[0];
|
|
152
|
+
resolved[fieldName] = bestMatch.$id;
|
|
153
|
+
resolved[`${fieldName}$matchedType`] = bestMatch.$type;
|
|
154
|
+
resolved[`${fieldName}$score`] = bestMatch.$score;
|
|
155
|
+
// Track if fallback was used (matched type != first type in union)
|
|
156
|
+
if (searchResult.fallbackTriggered) {
|
|
157
|
+
resolved[`${fieldName}$fallbackUsed`] = true;
|
|
158
|
+
resolved[`${fieldName}$searchOrder`] = searchResult.searchOrder;
|
|
82
159
|
}
|
|
83
160
|
}
|
|
84
161
|
}
|
|
85
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
|
+
}
|
|
86
183
|
// Note: <~ typically doesn't generate - it grounds to existing data
|
|
87
184
|
// If no match found and field is optional, leave as undefined
|
|
88
185
|
}
|
|
@@ -116,15 +213,39 @@ export async function resolveForwardFuzzy(typeName, data, entity, schema, provid
|
|
|
116
213
|
const defaultThreshold = getFuzzyThreshold(entity);
|
|
117
214
|
for (const [fieldName, field] of entity.fields) {
|
|
118
215
|
if (field.operator === '~>' && field.direction === 'forward') {
|
|
119
|
-
//
|
|
216
|
+
// If value already provided, still need to track for edge creation
|
|
120
217
|
if (resolved[fieldName] !== undefined && resolved[fieldName] !== null) {
|
|
121
|
-
//
|
|
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];
|
|
122
223
|
if (field.isArray && Array.isArray(resolved[fieldName])) {
|
|
123
224
|
const ids = resolved[fieldName];
|
|
124
225
|
for (const targetId of ids) {
|
|
125
|
-
|
|
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);
|
|
126
235
|
}
|
|
127
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
|
+
}
|
|
128
249
|
continue;
|
|
129
250
|
}
|
|
130
251
|
// Get the hint field value - uses fieldNameHint convention
|
|
@@ -138,53 +259,87 @@ export async function resolveForwardFuzzy(typeName, data, entity, schema, provid
|
|
|
138
259
|
const hints = Array.isArray(hintValue) ? hintValue : [hintValue].filter(Boolean);
|
|
139
260
|
const resultIds = [];
|
|
140
261
|
const usedEntityIds = new Set(); // Track already-matched entities to avoid duplicates
|
|
262
|
+
// Determine which types to search - all union types or just the primary type
|
|
263
|
+
const typesToSearch = field.unionTypes && field.unionTypes.length > 0 ? field.unionTypes : [field.relatedType];
|
|
141
264
|
for (const hint of hints) {
|
|
142
265
|
const hintStr = String(hint || fieldName);
|
|
143
266
|
let matched = false;
|
|
144
|
-
|
|
267
|
+
let matchedType;
|
|
268
|
+
// Try semantic search first - search across all union types
|
|
145
269
|
if (hasSemanticSearch(provider)) {
|
|
146
|
-
const
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
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;
|
|
280
|
+
resultIds.push(matchId);
|
|
281
|
+
usedEntityIds.add(matchId);
|
|
282
|
+
pendingRelations.push({
|
|
283
|
+
fieldName,
|
|
284
|
+
targetType: matchedType,
|
|
285
|
+
targetId: matchId,
|
|
286
|
+
similarity: bestMatchResult.match.$score,
|
|
287
|
+
matchedType,
|
|
288
|
+
});
|
|
289
|
+
// Update the matched entity with $generated: false and similarity metadata
|
|
290
|
+
await provider.update(matchedType, matchId, {
|
|
291
|
+
$generated: false,
|
|
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,
|
|
317
|
+
});
|
|
318
|
+
matched = true;
|
|
168
319
|
}
|
|
169
320
|
}
|
|
170
321
|
// Generate if no match found (or all matches were already used)
|
|
171
322
|
if (!matched) {
|
|
172
|
-
|
|
323
|
+
// For generation, use the first union type (or primary relatedType)
|
|
324
|
+
const generateType = typesToSearch[0];
|
|
325
|
+
const generated = await generateEntity(generateType, hintStr, { parent: typeName, parentData: data, parentId }, schema);
|
|
173
326
|
// Resolve any pending nested relations
|
|
174
|
-
const relatedEntity = schema.entities.get(
|
|
327
|
+
const relatedEntity = schema.entities.get(generateType);
|
|
175
328
|
if (relatedEntity) {
|
|
176
329
|
const resolvedGenerated = await resolveNestedPending(generated, relatedEntity, schema, provider);
|
|
177
|
-
const created = await provider.create(
|
|
330
|
+
const created = await provider.create(generateType, undefined, {
|
|
178
331
|
...resolvedGenerated,
|
|
179
332
|
$generated: true,
|
|
180
333
|
$generatedBy: parentId,
|
|
181
|
-
$sourceField: fieldName
|
|
334
|
+
$sourceField: fieldName,
|
|
335
|
+
$matchedType: generateType,
|
|
182
336
|
});
|
|
183
|
-
resultIds.push(created
|
|
337
|
+
resultIds.push(created['$id']);
|
|
184
338
|
pendingRelations.push({
|
|
185
339
|
fieldName,
|
|
186
|
-
targetType:
|
|
187
|
-
targetId: created
|
|
340
|
+
targetType: generateType,
|
|
341
|
+
targetId: created['$id'],
|
|
342
|
+
matchedType: generateType,
|
|
188
343
|
});
|
|
189
344
|
}
|
|
190
345
|
}
|
|
@@ -194,48 +349,87 @@ export async function resolveForwardFuzzy(typeName, data, entity, schema, provid
|
|
|
194
349
|
else {
|
|
195
350
|
// Single fuzzy field
|
|
196
351
|
let matched = false;
|
|
197
|
-
|
|
352
|
+
let matchedType;
|
|
353
|
+
// Determine which types to search - all union types or just the primary type
|
|
354
|
+
const typesToSearch = field.unionTypes && field.unionTypes.length > 0 ? field.unionTypes : [field.relatedType];
|
|
355
|
+
// Try semantic search first - search across all union types
|
|
198
356
|
if (hasSemanticSearch(provider)) {
|
|
199
|
-
const
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
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;
|
|
203
366
|
resolved[fieldName] = matchedId;
|
|
204
367
|
resolved[`${fieldName}$matched`] = true;
|
|
205
|
-
resolved[`${fieldName}$score`] =
|
|
368
|
+
resolved[`${fieldName}$score`] = bestMatchResult.match.$score;
|
|
369
|
+
resolved[`${fieldName}$matchedType`] = matchedType;
|
|
206
370
|
pendingRelations.push({
|
|
207
371
|
fieldName,
|
|
208
|
-
targetType:
|
|
372
|
+
targetType: matchedType,
|
|
209
373
|
targetId: matchedId,
|
|
210
|
-
similarity:
|
|
374
|
+
similarity: bestMatchResult.match.$score,
|
|
375
|
+
matchedType,
|
|
211
376
|
});
|
|
212
377
|
// Update the matched entity with $generated: false and similarity metadata
|
|
213
|
-
await provider.update(
|
|
378
|
+
await provider.update(matchedType, matchedId, {
|
|
379
|
+
$generated: false,
|
|
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, {
|
|
214
403
|
$generated: false,
|
|
215
|
-
$
|
|
404
|
+
$matchedType: matchedType,
|
|
216
405
|
});
|
|
217
406
|
matched = true;
|
|
218
407
|
}
|
|
219
408
|
}
|
|
220
409
|
// Generate if no match found
|
|
221
410
|
if (!matched) {
|
|
222
|
-
|
|
411
|
+
// For generation, use the first union type (or primary relatedType)
|
|
412
|
+
const generateType = typesToSearch[0];
|
|
413
|
+
const generated = await generateEntity(generateType, searchQuery, // Use searchQuery which prioritizes hint over field.prompt
|
|
223
414
|
{ parent: typeName, parentData: data, parentId }, schema);
|
|
224
415
|
// Resolve any pending nested relations
|
|
225
|
-
const relatedEntity = schema.entities.get(
|
|
416
|
+
const relatedEntity = schema.entities.get(generateType);
|
|
226
417
|
if (relatedEntity) {
|
|
227
418
|
const resolvedGenerated = await resolveNestedPending(generated, relatedEntity, schema, provider);
|
|
228
|
-
const created = await provider.create(
|
|
419
|
+
const created = await provider.create(generateType, undefined, {
|
|
229
420
|
...resolvedGenerated,
|
|
230
421
|
$generated: true,
|
|
231
422
|
$generatedBy: parentId,
|
|
232
|
-
$sourceField: fieldName
|
|
423
|
+
$sourceField: fieldName,
|
|
424
|
+
$matchedType: generateType,
|
|
233
425
|
});
|
|
234
|
-
resolved[fieldName] = created
|
|
426
|
+
resolved[fieldName] = created['$id'];
|
|
427
|
+
resolved[`${fieldName}$matchedType`] = generateType;
|
|
235
428
|
pendingRelations.push({
|
|
236
429
|
fieldName,
|
|
237
|
-
targetType:
|
|
238
|
-
targetId: created
|
|
430
|
+
targetType: generateType,
|
|
431
|
+
targetId: created['$id'],
|
|
432
|
+
matchedType: generateType,
|
|
239
433
|
});
|
|
240
434
|
}
|
|
241
435
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/schema/semantic.ts"],"names":[],"mappings":"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"}
|
|
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"}
|