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/parse.js
CHANGED
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @packageDocumentation
|
|
7
7
|
*/
|
|
8
|
+
import { parseOperator as graphdlParseOperator } from '@graphdl/core';
|
|
9
|
+
import { logWarn } from '../logger.js';
|
|
8
10
|
// =============================================================================
|
|
9
11
|
// Schema Validation Error
|
|
10
12
|
// =============================================================================
|
|
@@ -22,8 +24,10 @@ export class SchemaValidationError extends Error {
|
|
|
22
24
|
super(message);
|
|
23
25
|
this.name = 'SchemaValidationError';
|
|
24
26
|
this.code = code;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
if (path !== undefined)
|
|
28
|
+
this.path = path;
|
|
29
|
+
if (details !== undefined)
|
|
30
|
+
this.details = details;
|
|
27
31
|
}
|
|
28
32
|
}
|
|
29
33
|
// =============================================================================
|
|
@@ -127,6 +131,10 @@ export function validateFieldType(typeDef, fieldName, entityName) {
|
|
|
127
131
|
if (!typeDef || typeDef.trim().length === 0) {
|
|
128
132
|
throw new SchemaValidationError(`Invalid field type for '${path}': type cannot be empty. Valid types are: ${VALID_PRIMITIVE_TYPES.join(', ')}, or a PascalCase entity reference.`, 'INVALID_FIELD_TYPE', path);
|
|
129
133
|
}
|
|
134
|
+
// Check for null bytes (security: prevents regex bypass attacks)
|
|
135
|
+
if (typeDef.includes('\x00') || typeDef.includes('\0')) {
|
|
136
|
+
throw new SchemaValidationError(`Invalid field type for '${path}': type contains null byte characters which are not allowed.`, 'INVALID_FIELD_TYPE', path);
|
|
137
|
+
}
|
|
130
138
|
// Strip modifiers to get the base type
|
|
131
139
|
let baseType = typeDef.trim();
|
|
132
140
|
// Check for double optional (string??)
|
|
@@ -145,10 +153,23 @@ export function validateFieldType(typeDef, fieldName, entityName) {
|
|
|
145
153
|
baseType = baseType.slice(0, -2);
|
|
146
154
|
}
|
|
147
155
|
// If it's an operator-based definition, we validate the target type separately
|
|
148
|
-
if (/^(->|~>|<-|<~)/.test(baseType) ||
|
|
156
|
+
if (/^(->|~>|<-|<~)/.test(baseType) ||
|
|
157
|
+
baseType.includes('->') ||
|
|
158
|
+
baseType.includes('~>') ||
|
|
159
|
+
baseType.includes('<-') ||
|
|
160
|
+
baseType.includes('<~')) {
|
|
149
161
|
// This will be validated in parseOperator
|
|
150
162
|
return;
|
|
151
163
|
}
|
|
164
|
+
// If it's a prompt field, treat it as a string field that will be AI-generated
|
|
165
|
+
// Prompt fields can be identified by:
|
|
166
|
+
// - Contains spaces: 'Describe the product', 'What are their main challenges?'
|
|
167
|
+
// - Contains slashes (enum hints): 'low/medium/high', 'beginner/intermediate/expert'
|
|
168
|
+
// - Contains question marks: 'What is the price?'
|
|
169
|
+
if (baseType.includes(' ') || baseType.includes('/') || baseType.includes('?')) {
|
|
170
|
+
// Prompt fields are valid - they're treated as string fields with AI generation
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
152
173
|
// Handle backref syntax (Type.field)
|
|
153
174
|
if (baseType.includes('.')) {
|
|
154
175
|
const parts = baseType.split('.');
|
|
@@ -166,9 +187,15 @@ export function validateFieldType(typeDef, fieldName, entityName) {
|
|
|
166
187
|
// Check for invalid SQL types
|
|
167
188
|
const sqlTypes = ['int', 'varchar', 'text', 'blob', 'integer', 'real', 'float', 'double'];
|
|
168
189
|
if (sqlTypes.includes(baseType.toLowerCase())) {
|
|
169
|
-
const suggestion = baseType.toLowerCase() === 'int' || baseType.toLowerCase() === 'integer'
|
|
170
|
-
|
|
171
|
-
|
|
190
|
+
const suggestion = baseType.toLowerCase() === 'int' || baseType.toLowerCase() === 'integer'
|
|
191
|
+
? 'number'
|
|
192
|
+
: baseType.toLowerCase() === 'text' || baseType.toLowerCase() === 'varchar'
|
|
193
|
+
? 'string'
|
|
194
|
+
: baseType.toLowerCase() === 'real' ||
|
|
195
|
+
baseType.toLowerCase() === 'float' ||
|
|
196
|
+
baseType.toLowerCase() === 'double'
|
|
197
|
+
? 'number'
|
|
198
|
+
: 'string';
|
|
172
199
|
throw new SchemaValidationError(`Invalid field type '${baseType}' for '${path}': SQL types are not supported. Did you mean '${suggestion}'? Valid types are: ${VALID_PRIMITIVE_TYPES.join(', ')}.`, 'INVALID_FIELD_TYPE', path);
|
|
173
200
|
}
|
|
174
201
|
// Check for invalid JavaScript types
|
|
@@ -260,9 +287,9 @@ export function validateOperatorTarget(targetType, operator, fieldName) {
|
|
|
260
287
|
}
|
|
261
288
|
// Handle union types
|
|
262
289
|
if (baseType.includes('|')) {
|
|
263
|
-
const unionTypes = baseType.split('|').map(t => t.trim());
|
|
290
|
+
const unionTypes = baseType.split('|').map((t) => t.trim());
|
|
264
291
|
// Check for empty union members
|
|
265
|
-
if (unionTypes.some(t => !t)) {
|
|
292
|
+
if (unionTypes.some((t) => !t)) {
|
|
266
293
|
throw new SchemaValidationError(`Invalid union type '${targetType}' for field '${fieldName}': empty union members are not allowed.`, 'INVALID_OPERATOR', fieldName);
|
|
267
294
|
}
|
|
268
295
|
// Validate each union type
|
|
@@ -304,6 +331,21 @@ export function validateOperatorSyntax(definition, fieldName) {
|
|
|
304
331
|
if (/<>|><|~~>|-->>|<~~/.test(definition)) {
|
|
305
332
|
throw new SchemaValidationError(`Invalid operator in field '${fieldName}': '${definition}' contains invalid operator syntax. Valid operators are: ->, ~>, <-, <~.`, 'INVALID_OPERATOR', fieldName);
|
|
306
333
|
}
|
|
334
|
+
// Check for empty union members in operator-based definitions
|
|
335
|
+
// Match operator followed by type(s), then check for empty union members
|
|
336
|
+
const operatorMatch = definition.match(/(->|~>|<-|<~)(.+)$/);
|
|
337
|
+
if (operatorMatch) {
|
|
338
|
+
const targetPart = operatorMatch[2];
|
|
339
|
+
// Strip modifiers (?, []) from end for union validation
|
|
340
|
+
const baseTarget = targetPart
|
|
341
|
+
.replace(/\?$/, '')
|
|
342
|
+
.replace(/\[\]$/, '')
|
|
343
|
+
.replace(/\[\]\?$/, '');
|
|
344
|
+
// Check for trailing pipe, leading pipe, or consecutive pipes
|
|
345
|
+
if (/\|$|\|\||^\|/.test(baseTarget)) {
|
|
346
|
+
throw new SchemaValidationError(`Invalid union type '${targetPart}' for field '${fieldName}': empty union members are not allowed.`, 'INVALID_OPERATOR', fieldName);
|
|
347
|
+
}
|
|
348
|
+
}
|
|
307
349
|
}
|
|
308
350
|
// =============================================================================
|
|
309
351
|
// Operator Parsing
|
|
@@ -375,79 +417,46 @@ export function validateOperatorSyntax(definition, fieldName) {
|
|
|
375
417
|
* ```
|
|
376
418
|
*/
|
|
377
419
|
export function parseOperator(definition) {
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
// Parse union types (A|B|C syntax)
|
|
416
|
-
// First, strip off any modifiers (?, [], .backref) to get clean types
|
|
417
|
-
let cleanType = targetType;
|
|
418
|
-
// Remove optional modifier for union parsing
|
|
419
|
-
if (cleanType.endsWith('?')) {
|
|
420
|
-
cleanType = cleanType.slice(0, -1);
|
|
421
|
-
}
|
|
422
|
-
// Remove array modifier for union parsing
|
|
423
|
-
if (cleanType.endsWith('[]')) {
|
|
424
|
-
cleanType = cleanType.slice(0, -2);
|
|
425
|
-
}
|
|
426
|
-
// Remove backref for union parsing (take only part before dot)
|
|
427
|
-
const dotIndex = cleanType.indexOf('.');
|
|
428
|
-
if (dotIndex !== -1) {
|
|
429
|
-
cleanType = cleanType.slice(0, dotIndex);
|
|
430
|
-
}
|
|
431
|
-
// Check for union types
|
|
432
|
-
let unionTypes;
|
|
433
|
-
if (cleanType.includes('|')) {
|
|
434
|
-
unionTypes = cleanType.split('|').map(t => t.trim()).filter(Boolean);
|
|
435
|
-
// The primary targetType is the first union type
|
|
436
|
-
// But we keep targetType as the full string for backward compatibility
|
|
437
|
-
// with modifier parsing in parseField
|
|
438
|
-
}
|
|
439
|
-
return {
|
|
440
|
-
prompt,
|
|
441
|
-
operator: op,
|
|
442
|
-
direction,
|
|
443
|
-
matchMode,
|
|
444
|
-
targetType,
|
|
445
|
-
unionTypes,
|
|
446
|
-
threshold,
|
|
447
|
-
};
|
|
420
|
+
const graphdlResult = graphdlParseOperator(definition);
|
|
421
|
+
if (!graphdlResult)
|
|
422
|
+
return null;
|
|
423
|
+
// Extract raw target type after operator for validation (preserves trailing pipe, etc.)
|
|
424
|
+
const rawTargetType = extractRawTargetType(definition, graphdlResult.threshold);
|
|
425
|
+
return {
|
|
426
|
+
operator: graphdlResult.operator,
|
|
427
|
+
direction: graphdlResult.direction,
|
|
428
|
+
matchMode: graphdlResult.matchMode,
|
|
429
|
+
targetType: rawTargetType,
|
|
430
|
+
...(graphdlResult.prompt !== undefined && { prompt: graphdlResult.prompt }),
|
|
431
|
+
...(graphdlResult.unionTypes !== undefined && { unionTypes: graphdlResult.unionTypes }),
|
|
432
|
+
...(graphdlResult.threshold !== undefined && { threshold: graphdlResult.threshold }),
|
|
433
|
+
};
|
|
434
|
+
}
|
|
435
|
+
/**
|
|
436
|
+
* Extract the raw target type string after the operator
|
|
437
|
+
*
|
|
438
|
+
* This preserves the original string for validation purposes
|
|
439
|
+
* (e.g., detecting 'User|' with trailing pipe for empty union member errors).
|
|
440
|
+
*/
|
|
441
|
+
function extractRawTargetType(definition, threshold) {
|
|
442
|
+
// Find operator position and extract everything after it
|
|
443
|
+
const operatorPattern = /(?:~>|<~|->|<-)/;
|
|
444
|
+
const match = definition.match(operatorPattern);
|
|
445
|
+
if (!match || match.index === undefined)
|
|
446
|
+
return '';
|
|
447
|
+
let targetType = definition.slice(match.index + match[0].length).trim();
|
|
448
|
+
// Strip threshold syntax if present
|
|
449
|
+
if (threshold !== undefined) {
|
|
450
|
+
targetType = targetType.replace(/\([0-9.]+\)/, '');
|
|
451
|
+
}
|
|
452
|
+
else {
|
|
453
|
+
// Handle malformed threshold (missing closing paren): 'Category(0.8' -> 'Category'
|
|
454
|
+
const malformedMatch = targetType.match(/^([A-Za-z][A-Za-z0-9_]*)\([^)]*$/);
|
|
455
|
+
if (malformedMatch) {
|
|
456
|
+
targetType = malformedMatch[1];
|
|
448
457
|
}
|
|
449
458
|
}
|
|
450
|
-
return
|
|
459
|
+
return targetType;
|
|
451
460
|
}
|
|
452
461
|
// =============================================================================
|
|
453
462
|
// Field Parsing
|
|
@@ -525,6 +534,19 @@ export function parseField(name, definition) {
|
|
|
525
534
|
return { ...inner, isArray: true };
|
|
526
535
|
}
|
|
527
536
|
let type = definition;
|
|
537
|
+
// Handle seed column mapping syntax: '$.columnName'
|
|
538
|
+
// This maps a source column from seed data to this field
|
|
539
|
+
if (type.startsWith('$.')) {
|
|
540
|
+
const seedColumn = type.slice(2); // Remove '$.' prefix
|
|
541
|
+
return {
|
|
542
|
+
name,
|
|
543
|
+
type: 'string', // Seed fields are stored as strings
|
|
544
|
+
isArray: false,
|
|
545
|
+
isOptional: false,
|
|
546
|
+
isRelation: false,
|
|
547
|
+
seedMapping: seedColumn,
|
|
548
|
+
};
|
|
549
|
+
}
|
|
528
550
|
// Validate operator syntax first (check for invalid operators)
|
|
529
551
|
validateOperatorSyntax(type, name);
|
|
530
552
|
let isArray = false;
|
|
@@ -550,7 +572,10 @@ export function parseField(name, definition) {
|
|
|
550
572
|
unionTypes = operatorResult.unionTypes;
|
|
551
573
|
}
|
|
552
574
|
// Check for optional modifier
|
|
553
|
-
if
|
|
575
|
+
// Only treat ? as optional if it doesn't look like a prompt
|
|
576
|
+
// Prompts contain spaces (e.g., 'What are their challenges?')
|
|
577
|
+
// Type definitions don't have spaces (e.g., 'string?', 'Audience?')
|
|
578
|
+
if (type.endsWith('?') && !type.includes(' ')) {
|
|
554
579
|
isOptional = true;
|
|
555
580
|
type = type.slice(0, -1);
|
|
556
581
|
}
|
|
@@ -588,14 +613,18 @@ export function parseField(name, definition) {
|
|
|
588
613
|
isArray,
|
|
589
614
|
isOptional,
|
|
590
615
|
isRelation,
|
|
591
|
-
relatedType,
|
|
592
|
-
backref,
|
|
593
616
|
};
|
|
617
|
+
if (relatedType !== undefined)
|
|
618
|
+
result.relatedType = relatedType;
|
|
619
|
+
if (backref !== undefined)
|
|
620
|
+
result.backref = backref;
|
|
594
621
|
// Only add operator properties if an operator was found
|
|
595
622
|
if (operator) {
|
|
596
623
|
result.operator = operator;
|
|
597
|
-
|
|
598
|
-
|
|
624
|
+
if (direction !== undefined)
|
|
625
|
+
result.direction = direction;
|
|
626
|
+
if (matchMode !== undefined)
|
|
627
|
+
result.matchMode = matchMode;
|
|
599
628
|
if (prompt) {
|
|
600
629
|
result.prompt = prompt;
|
|
601
630
|
}
|
|
@@ -665,14 +694,40 @@ export function parseSchema(schema) {
|
|
|
665
694
|
if (Array.isArray(fieldDef)) {
|
|
666
695
|
validateArrayDefinition(fieldDef, fieldName, entityName);
|
|
667
696
|
}
|
|
668
|
-
else {
|
|
669
|
-
// Validate field type (string definition)
|
|
697
|
+
else if (!fieldDef.startsWith('$.')) {
|
|
698
|
+
// Validate field type (string definition) - skip seed column mappings
|
|
670
699
|
validateFieldType(fieldDef, fieldName, entityName);
|
|
671
700
|
}
|
|
672
701
|
fields.set(fieldName, parseField(fieldName, fieldDef));
|
|
673
702
|
}
|
|
703
|
+
// Extract seed configuration if $seed is defined
|
|
704
|
+
let seedConfig;
|
|
705
|
+
const seedUrl = entitySchema['$seed'];
|
|
706
|
+
const seedIdField = entitySchema['$id'];
|
|
707
|
+
if (seedUrl) {
|
|
708
|
+
// Extract the id column from $id field (e.g., '$.oNETSOCCode' -> 'oNETSOCCode')
|
|
709
|
+
const idColumn = seedIdField?.startsWith('$.') ? seedIdField.slice(2) : undefined;
|
|
710
|
+
if (!idColumn) {
|
|
711
|
+
throw new SchemaValidationError(`Entity '${entityName}' has $seed but missing $id field. Use $id: '$.columnName' to specify the primary key column.`, 'MISSING_SEED_ID', entityName);
|
|
712
|
+
}
|
|
713
|
+
// Build field mappings from fields with seedMapping
|
|
714
|
+
const fieldMappings = new Map();
|
|
715
|
+
for (const [fieldName, field] of fields) {
|
|
716
|
+
if (field.seedMapping) {
|
|
717
|
+
fieldMappings.set(fieldName, field.seedMapping);
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
seedConfig = {
|
|
721
|
+
url: seedUrl,
|
|
722
|
+
idColumn,
|
|
723
|
+
fieldMappings,
|
|
724
|
+
};
|
|
725
|
+
}
|
|
674
726
|
// Store raw schema for accessing metadata like $fuzzyThreshold
|
|
675
|
-
|
|
727
|
+
const entityData = { name: entityName, fields, schema: entitySchema };
|
|
728
|
+
if (seedConfig !== undefined)
|
|
729
|
+
entityData.seedConfig = seedConfig;
|
|
730
|
+
entities.set(entityName, entityData);
|
|
676
731
|
}
|
|
677
732
|
// Validation pass: check that all operator-based references (->, ~>, <-, <~) point to existing types
|
|
678
733
|
// For implicit backrefs (Author.posts), we silently skip if the type doesn't exist
|
|
@@ -687,7 +742,7 @@ export function parseSchema(schema) {
|
|
|
687
742
|
// But only if at least one union type exists in the schema
|
|
688
743
|
// (allows "external" types when none are defined)
|
|
689
744
|
if (field.unionTypes && field.unionTypes.length > 0) {
|
|
690
|
-
const existingTypes = field.unionTypes.filter(t => entities.has(t));
|
|
745
|
+
const existingTypes = field.unionTypes.filter((t) => entities.has(t));
|
|
691
746
|
// Validate all union types exist - throw if any non-existent type is found
|
|
692
747
|
if (existingTypes.length > 0) {
|
|
693
748
|
for (const unionType of field.unionTypes) {
|
|
@@ -700,7 +755,7 @@ export function parseSchema(schema) {
|
|
|
700
755
|
// None of the union types exist - this is likely a schema error
|
|
701
756
|
// Warn in development, or throw if strict validation is needed
|
|
702
757
|
const missingTypes = field.unionTypes.join('|');
|
|
703
|
-
|
|
758
|
+
logWarn(`${entityName}.${fieldName} union type '${missingTypes}' - ` +
|
|
704
759
|
`none of the specified types exist in the schema. ` +
|
|
705
760
|
`Ensure all union types are defined.`);
|
|
706
761
|
}
|
package/dist/schema/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/schema/parse.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/schema/parse.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH,OAAO,EAAE,aAAa,IAAI,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,2CAA2C;IAC3C,IAAI,CAAQ;IACZ,0DAA0D;IAC1D,IAAI,CAAS;IACb,yCAAyC;IACzC,OAAO,CAAS;IAEhB,YAAY,OAAe,EAAE,IAAY,EAAE,IAAa,EAAE,OAAgB;QACxE,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QACxC,IAAI,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACnD,CAAC;CACF;AAED,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF,4BAA4B;AAC5B,MAAM,qBAAqB,GAAoB;IAC7C,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,MAAM;IACN,UAAU;IACV,MAAM;IACN,UAAU;IACV,KAAK;CACN,CAAA;AAED,iCAAiC;AACjC,MAAM,sBAAsB,GAAG,EAAE,CAAA;AAEjC,gCAAgC;AAChC,MAAM,qBAAqB,GAAG,EAAE,CAAA;AAEhC,kGAAkG;AAClG,MAAM,yBAAyB,GAAG,yBAAyB,CAAA;AAE3D,+GAA+G;AAC/G,MAAM,wBAAwB,GAAG,0BAA0B,CAAA;AAE3D,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,uBAAuB;IACvB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,qBAAqB,CAC7B,sIAAsI,EACtI,qBAAqB,EACrB,IAAI,CACL,CAAA;IACH,CAAC;IAED,eAAe;IACf,IAAI,IAAI,CAAC,MAAM,GAAG,sBAAsB,EAAE,CAAC;QACzC,MAAM,IAAI,qBAAqB,CAC7B,wBAAwB,IAAI,qCAAqC,sBAAsB,wGAAwG,EAC/L,qBAAqB,EACrB,IAAI,CACL,CAAA;IACH,CAAC;IAED,oEAAoE;IACpE,IAAI,2EAA2E,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3F,MAAM,IAAI,qBAAqB,CAC7B,wBAAwB,IAAI,yJAAyJ,EACrL,qBAAqB,EACrB,IAAI,CACL,CAAA;IACH,CAAC;IAED,kEAAkE;IAClE,IAAI,6CAA6C,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,qBAAqB,CAC7B,wBAAwB,IAAI,iJAAiJ,EAC7K,qBAAqB,EACrB,IAAI,CACL,CAAA;IACH,CAAC;IAED,wCAAwC;IACxC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,qBAAqB,CAC7B,wBAAwB,IAAI,oIAAoI,EAChK,qBAAqB,EACrB,IAAI,CACL,CAAA;IACH,CAAC;IAED,mBAAmB;IACnB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,qBAAqB,CAC7B,wBAAwB,IAAI,+GAA+G,EAC3I,qBAAqB,EACrB,IAAI,CACL,CAAA;IACH,CAAC;IAED,yEAAyE;IACzE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,qBAAqB,CAC7B,wBAAwB,IAAI,iFAAiF,EAC7G,qBAAqB,EACrB,IAAI,CACL,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,UAAkB;IAChE,MAAM,IAAI,GAAG,GAAG,UAAU,IAAI,IAAI,EAAE,CAAA;IAEpC,uBAAuB;IACvB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,qBAAqB,CAC7B,0BAA0B,UAAU,gCAAgC,EACpE,oBAAoB,EACpB,IAAI,CACL,CAAA;IACH,CAAC;IAED,eAAe;IACf,IAAI,IAAI,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;QACxC,MAAM,IAAI,qBAAqB,CAC7B,uBAAuB,IAAI,SAAS,UAAU,qCAAqC,qBAAqB,cAAc,EACtH,oBAAoB,EACpB,IAAI,CACL,CAAA;IACH,CAAC;IAED,mCAAmC;IACnC,IAAI,2EAA2E,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3F,MAAM,IAAI,qBAAqB,CAC7B,uBAAuB,IAAI,SAAS,UAAU,+DAA+D,EAC7G,oBAAoB,EACpB,IAAI,CACL,CAAA;IACH,CAAC;IAED,6CAA6C;IAC7C,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,qBAAqB,CAC7B,uBAAuB,IAAI,SAAS,UAAU,+FAA+F,EAC7I,oBAAoB,EACpB,IAAI,CACL,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,SAAiB,EAAE,UAAkB;IACtF,MAAM,IAAI,GAAG,GAAG,UAAU,IAAI,SAAS,EAAE,CAAA;IAEzC,uBAAuB;IACvB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,qBAAqB,CAC7B,2BAA2B,IAAI,6CAA6C,qBAAqB,CAAC,IAAI,CACpG,IAAI,CACL,qCAAqC,EACtC,oBAAoB,EACpB,IAAI,CACL,CAAA;IACH,CAAC;IAED,iEAAiE;IACjE,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,qBAAqB,CAC7B,2BAA2B,IAAI,8DAA8D,EAC7F,oBAAoB,EACpB,IAAI,CACL,CAAA;IACH,CAAC;IAED,uCAAuC;IACvC,IAAI,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;IAE7B,uCAAuC;IACvC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,qBAAqB,CAC7B,uBAAuB,OAAO,UAAU,IAAI,kDAAkD,EAC9F,oBAAoB,EACpB,IAAI,CACL,CAAA;IACH,CAAC;IAED,2BAA2B;IAC3B,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClC,CAAC;IAED,iDAAiD;IACjD,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClC,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClC,CAAC;IAED,+EAA+E;IAC/E,IACE,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC/B,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;QACvB,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;QACvB,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;QACvB,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EACvB,CAAC;QACD,0CAA0C;QAC1C,OAAM;IACR,CAAC;IAED,+EAA+E;IAC/E,sCAAsC;IACtC,+EAA+E;IAC/E,qFAAqF;IACrF,kDAAkD;IAClD,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/E,gFAAgF;QAChF,OAAM;IACR,CAAC;IAED,qCAAqC;IACrC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACjC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;QACpB,6DAA6D;QAC7D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,qBAAqB,CAC7B,uBAAuB,OAAO,UAAU,IAAI,qDAAqD,EACjG,oBAAoB,EACpB,IAAI,CACL,CAAA;QACH,CAAC;QACD,kCAAkC;QAClC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;QAC7B,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,qBAAqB,CAC7B,+BAA+B,WAAW,SAAS,OAAO,UAAU,IAAI,4CAA4C,EACpH,oBAAoB,EACpB,IAAI,CACL,CAAA;QACH,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IACzF,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC9C,MAAM,UAAU,GACd,QAAQ,CAAC,WAAW,EAAE,KAAK,KAAK,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,SAAS;YACtE,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,SAAS;gBAC3E,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,MAAM;oBACjC,QAAQ,CAAC,WAAW,EAAE,KAAK,OAAO;oBAClC,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ;oBACrC,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,QAAQ,CAAA;QACd,MAAM,IAAI,qBAAqB,CAC7B,uBAAuB,QAAQ,UAAU,IAAI,iDAAiD,UAAU,uBAAuB,qBAAqB,CAAC,IAAI,CACvJ,IAAI,CACL,GAAG,EACJ,oBAAoB,EACpB,IAAI,CACL,CAAA;IACH,CAAC;IAED,qCAAqC;IACrC,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;IACxF,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,qBAAqB,CAC7B,uBAAuB,QAAQ,UAAU,IAAI,2DAA2D,qBAAqB,CAAC,IAAI,CAChI,IAAI,CACL,GAAG,EACJ,oBAAoB,EACpB,IAAI,CACL,CAAA;IACH,CAAC;IAED,iEAAiE;IACjE,MAAM,WAAW,GAAG,qBAAqB,CAAC,QAAQ,CAAC,QAAyB,CAAC,CAAA;IAC7E,MAAM,YAAY,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAE1D,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,IAAI,qBAAqB,CAC7B,uBAAuB,QAAQ,UAAU,IAAI,qCAAqC,qBAAqB,CAAC,IAAI,CAC1G,IAAI,CACL,qCAAqC,EACtC,oBAAoB,EACpB,IAAI,CACL,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,UAAqB,EACrB,SAAiB,EACjB,UAAkB;IAElB,MAAM,IAAI,GAAG,GAAG,UAAU,IAAI,SAAS,EAAE,CAAA;IAEzC,wBAAwB;IACxB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,qBAAqB,CAC7B,uCAAuC,IAAI,uEAAuE,EAClH,oBAAoB,EACpB,IAAI,CACL,CAAA;IACH,CAAC;IAED,8BAA8B;IAC9B,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,qBAAqB,CAC7B,uCAAuC,IAAI,oFAAoF,EAC/H,oBAAoB,EACpB,IAAI,CACL,CAAA;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,qBAAqB,CAC7B,uCAAuC,IAAI,qEAAqE,EAChH,oBAAoB,EACpB,IAAI,CACL,CAAA;IACH,CAAC;IAED,2CAA2C;IAC3C,IAAI,OAAO,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,qBAAqB,CAC7B,uCAAuC,IAAI,oDAAoD,EAC/F,oBAAoB,EACpB,IAAI,CACL,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,UAAkB,EAClB,QAAgB,EAChB,SAAiB;IAEjB,8BAA8B;IAC9B,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,qBAAqB,CAC7B,qBAAqB,QAAQ,gBAAgB,SAAS,gCAAgC,QAAQ,eAAe,EAC7G,kBAAkB,EAClB,SAAS,CACV,CAAA;IACH,CAAC;IAED,iCAAiC;IACjC,IAAI,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,CAAA;IAChC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC5D,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAE7D,4DAA4D;IAC5D,uEAAuE;IACvE,MAAM,wBAAwB,GAAG,QAAQ,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACnF,IAAI,wBAAwB,EAAE,CAAC;QAC7B,uDAAuD;QACvD,yEAAyE;QACzE,4DAA4D;QAC5D,QAAQ,GAAG,wBAAwB,CAAC,CAAC,CAAE,CAAA;IACzC,CAAC;SAAM,CAAC;QACN,MAAM,kBAAkB,GAAG,QAAQ,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACjE,IAAI,kBAAkB,EAAE,CAAC;YACvB,QAAQ,GAAG,kBAAkB,CAAC,CAAC,CAAE,CAAA;QACnC,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAA;QACrC,QAAQ,GAAG,QAAS,CAAA;QAEpB,wBAAwB;QACxB,IAAI,WAAW,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,qBAAqB,CAC7B,yBAAyB,WAAW,yBAAyB,UAAU,gBAAgB,SAAS,4CAA4C,EAC5I,kBAAkB,EAClB,SAAS,CACV,CAAA;QACH,CAAC;QAED,0BAA0B;QAC1B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,qBAAqB,CAC7B,4BAA4B,UAAU,gBAAgB,SAAS,qDAAqD,EACpH,kBAAkB,EAClB,SAAS,CACV,CAAA;QACH,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QAE3D,gCAAgC;QAChC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,qBAAqB,CAC7B,uBAAuB,UAAU,gBAAgB,SAAS,yCAAyC,EACnG,kBAAkB,EAClB,SAAS,CACV,CAAA;QACH,CAAC;QAED,2BAA2B;QAC3B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,qBAAqB,CAC7B,uBAAuB,SAAS,SAAS,UAAU,gBAAgB,SAAS,mCAAmC,EAC/G,kBAAkB,EAClB,SAAS,CACV,CAAA;YACH,CAAC;YAED,yCAAyC;YACzC,IAAI,0CAA0C,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/D,MAAM,IAAI,qBAAqB,CAC7B,uBAAuB,SAAS,SAAS,UAAU,gBAAgB,SAAS,+CAA+C,EAC3H,kBAAkB,EAClB,SAAS,CACV,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,yBAAyB;QACzB,0BAA0B;QAC1B,IAAI,0CAA0C,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,qBAAqB,CAC7B,4BAA4B,UAAU,gBAAgB,SAAS,+DAA+D,EAC9H,kBAAkB,EAClB,SAAS,CACV,CAAA;QACH,CAAC;QAED,gBAAgB;QAChB,IAAI,sCAAsC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,qBAAqB,CAC7B,4BAA4B,UAAU,gBAAgB,SAAS,uDAAuD,EACtH,kBAAkB,EAClB,SAAS,CACV,CAAA;QACH,CAAC;QAED,sBAAsB;QACtB,IAAI,QAAQ,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,qBAAqB,CAC7B,4BAA4B,UAAU,gBAAgB,SAAS,mCAAmC,EAClG,kBAAkB,EAClB,SAAS,CACV,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAAkB,EAAE,SAAiB;IAC1E,0CAA0C;IAC1C,IAAI,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,qBAAqB,CAC7B,8BAA8B,SAAS,OAAO,UAAU,0EAA0E,EAClI,kBAAkB,EAClB,SAAS,CACV,CAAA;IACH,CAAC;IAED,8DAA8D;IAC9D,yEAAyE;IACzE,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;IAC5D,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAE,CAAA;QACpC,wDAAwD;QACxD,MAAM,UAAU,GAAG,UAAU;aAC1B,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;aAClB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;aACpB,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;QACzB,8DAA8D;QAC9D,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,qBAAqB,CAC7B,uBAAuB,UAAU,gBAAgB,SAAS,yCAAyC,EACnG,kBAAkB,EAClB,SAAS,CACV,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AACH,MAAM,UAAU,aAAa,CAAC,UAAkB;IAC9C,MAAM,aAAa,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAA;IACtD,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAA;IAE/B,wFAAwF;IACxF,MAAM,aAAa,GAAG,oBAAoB,CAAC,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IAE/E,OAAO;QACL,QAAQ,EAAE,aAAa,CAAC,QAAQ;QAChC,SAAS,EAAE,aAAa,CAAC,SAAS;QAClC,SAAS,EAAE,aAAa,CAAC,SAAS;QAClC,UAAU,EAAE,aAAa;QACzB,GAAG,CAAC,aAAa,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC;QAC3E,GAAG,CAAC,aAAa,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,CAAC;QACvF,GAAG,CAAC,aAAa,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC;KACrF,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,UAAkB,EAAE,SAA6B;IAC7E,yDAAyD;IACzD,MAAM,eAAe,GAAG,iBAAiB,CAAA;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAC/C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IAElD,IAAI,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;IAEvE,oCAAoC;IACpC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;IACpD,CAAC;SAAM,CAAC;QACN,mFAAmF;QACnF,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;QAC3E,IAAI,cAAc,EAAE,CAAC;YACnB,UAAU,GAAG,cAAc,CAAC,CAAC,CAAE,CAAA;QACjC,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,UAAU,GAAoB;QAClC,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,MAAM;QACN,UAAU;QACV,MAAM;QACN,UAAU;QACV,KAAK;KACN,CAAA;IACD,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAqB,CAAC,CAAA;AACnD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,UAA2B;IAClE,gDAAgD;IAChD,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7C,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IACpC,CAAC;IAED,IAAI,IAAI,GAAG,UAAU,CAAA;IAErB,oDAAoD;IACpD,yDAAyD;IACzD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC,qBAAqB;QACtD,OAAO;YACL,IAAI;YACJ,IAAI,EAAE,QAAQ,EAAE,oCAAoC;YACpD,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,UAAU;SACxB,CAAA;IACH,CAAC;IAED,+DAA+D;IAC/D,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAElC,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,UAAU,GAAG,KAAK,CAAA;IACtB,IAAI,UAAU,GAAG,KAAK,CAAA;IACtB,IAAI,WAA+B,CAAA;IACnC,IAAI,OAA2B,CAAA;IAC/B,IAAI,QAA+C,CAAA;IACnD,IAAI,SAA6C,CAAA;IACjD,IAAI,SAAwC,CAAA;IAC5C,IAAI,MAA0B,CAAA;IAC9B,IAAI,UAAgC,CAAA;IAEpC,oCAAoC;IACpC,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;IAC1C,IAAI,cAAc,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC9C,oCAAoC;QACpC,sBAAsB,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAEhF,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAA;QAClC,SAAS,GAAG,cAAc,CAAC,SAAS,CAAA;QACpC,SAAS,GAAG,cAAc,CAAC,SAAS,CAAA;QACpC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAA;QAC9B,IAAI,GAAG,cAAc,CAAC,UAAU,CAAA;QAChC,UAAU,GAAG,cAAc,CAAC,UAAU,CAAA;IACxC,CAAC;IAED,8BAA8B;IAC9B,4DAA4D;IAC5D,8DAA8D;IAC9D,oEAAoE;IACpE,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9C,UAAU,GAAG,IAAI,CAAA;QACjB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;IAED,2CAA2C;IAC3C,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,IAAI,CAAA;QACd,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;IAED,kDAAkD;IAClD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,UAAU,GAAG,IAAI,CAAA;QACjB,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACjD,WAAW,GAAG,UAAU,CAAA;QACxB,OAAO,GAAG,WAAW,CAAA;QACrB,IAAI,GAAG,UAAW,CAAA;IACpB,CAAC;SAAM,IACL,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE;QAClC,CAAC,eAAe,CAAC,IAAI,CAAC;QACtB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,8EAA8E;MAClG,CAAC;QACD,+DAA+D;QAC/D,UAAU,GAAG,IAAI,CAAA;QACjB,6DAA6D;QAC7D,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QAC7B,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,IAAI,CAAA;QACpB,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,MAAM,MAAM,GAAgB;QAC1B,IAAI;QACJ,IAAI;QACJ,OAAO;QACP,UAAU;QACV,UAAU;KACX,CAAA;IACD,IAAI,WAAW,KAAK,SAAS;QAAE,MAAM,CAAC,WAAW,GAAG,WAAW,CAAA;IAC/D,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;IAEnD,wDAAwD;IACxD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAA;QAC1B,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAA;QACzD,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAA;QACzD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;QACxB,CAAC;QACD,IAAI,cAAc,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5C,MAAM,CAAC,SAAS,GAAG,cAAc,CAAC,SAAS,CAAA;QAC7C,CAAC;QACD,kDAAkD;QAClD,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAA;QAChC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,WAAW,CAAC,MAAsB;IAChD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAA;IAEhD,kDAAkD;IAClD,KAAK,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAChE,uBAAuB;QACvB,kBAAkB,CAAC,UAAU,CAAC,CAAA;QAE9B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAA;QAE7C,KAAK,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACjE,6EAA6E;YAC7E,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,SAAQ;YACV,CAAC;YAED,sBAAsB;YACtB,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;YAExC,iCAAiC;YACjC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7D,4CAA4C;gBAC5C,MAAM,IAAI,qBAAqB,CAC7B,2BAA2B,UAAU,IAAI,SAAS,iFAAiF,EACnI,oBAAoB,EACpB,GAAG,UAAU,IAAI,SAAS,EAAE,CAC7B,CAAA;YACH,CAAC;YAED,wBAAwB;YACxB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;YAC1D,CAAC;iBAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,sEAAsE;gBACtE,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;YACpD,CAAC;YAED,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;QACxD,CAAC;QAED,iDAAiD;QACjD,IAAI,UAAkC,CAAA;QACtC,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAuB,CAAA;QAC3D,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAuB,CAAA;QAE7D,IAAI,OAAO,EAAE,CAAC;YACZ,gFAAgF;YAChF,MAAM,QAAQ,GAAG,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACjF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,qBAAqB,CAC7B,WAAW,UAAU,+FAA+F,EACpH,iBAAiB,EACjB,UAAU,CACX,CAAA;YACH,CAAC;YAED,oDAAoD;YACpD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAA;YAC/C,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;gBACxC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;oBACtB,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;gBACjD,CAAC;YACH,CAAC;YAED,UAAU,GAAG;gBACX,GAAG,EAAE,OAAO;gBACZ,QAAQ;gBACR,aAAa;aACd,CAAA;QACH,CAAC;QAED,+DAA+D;QAC/D,MAAM,UAAU,GAAiB,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;QACnF,IAAI,UAAU,KAAK,SAAS;YAAE,UAAU,CAAC,UAAU,GAAG,UAAU,CAAA;QAChE,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IACtC,CAAC;IAED,qGAAqG;IACrG,mFAAmF;IACnF,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC5C,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAC/C,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC5D,+CAA+C;gBAC/C,+BAA+B;gBAC/B,IAAI,KAAK,CAAC,WAAW,KAAK,UAAU;oBAAE,SAAQ;gBAE9C,gEAAgE;gBAChE,2DAA2D;gBAC3D,kDAAkD;gBAClD,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpD,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;oBACrE,2EAA2E;oBAC3E,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC7B,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;4BACzC,IAAI,SAAS,KAAK,UAAU,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gCACzD,MAAM,IAAI,KAAK,CACb,mBAAmB,UAAU,IAAI,SAAS,kCAAkC,SAAS,GAAG,CACzF,CAAA;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,gEAAgE;wBAChE,+DAA+D;wBAC/D,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;wBAC/C,OAAO,CACL,GAAG,UAAU,IAAI,SAAS,gBAAgB,YAAY,MAAM;4BAC1D,mDAAmD;4BACnD,qCAAqC,CACxC,CAAA;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,mDAAmD;oBACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;wBACrC,MAAM,IAAI,KAAK,CACb,mBAAmB,UAAU,IAAI,SAAS,kCAAkC,KAAK,CAAC,WAAW,GAAG,CACjG,CAAA;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC5C,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAC/C,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC3D,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;gBACrD,IAAI,aAAa,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC9D,mCAAmC;oBACnC,8DAA8D;oBAC9D,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE;wBACtC,IAAI,EAAE,KAAK,CAAC,OAAO;wBACnB,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,IAAI,EAAE,6BAA6B;wBAC5C,UAAU,EAAE,KAAK;wBACjB,UAAU,EAAE,IAAI;wBAChB,WAAW,EAAE,UAAU;wBACvB,OAAO,EAAE,SAAS,EAAE,oCAAoC;qBACzD,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,CAAA;AACrB,CAAC"}
|
|
@@ -6,6 +6,32 @@
|
|
|
6
6
|
* @packageDocumentation
|
|
7
7
|
*/
|
|
8
8
|
import type { ListOptions, SearchOptions, SemanticSearchOptions, HybridSearchOptions, DBEvent, DBAction, DBArtifact, CreateEventOptions, CreateActionOptions, EmbeddingsConfig } from './types.js';
|
|
9
|
+
/**
|
|
10
|
+
* A transaction wraps get/put/delete operations and applies them atomically.
|
|
11
|
+
*
|
|
12
|
+
* Writes are buffered until commit() is called. On rollback(), all buffered
|
|
13
|
+
* writes are discarded. Reading within a transaction sees buffered writes.
|
|
14
|
+
*/
|
|
15
|
+
export interface Transaction {
|
|
16
|
+
/** Get an entity (reads buffered writes first, then falls through to provider) */
|
|
17
|
+
get(type: string, id: string): Promise<Record<string, unknown> | null>;
|
|
18
|
+
/** Create an entity (buffered until commit) */
|
|
19
|
+
create(type: string, id: string | undefined, data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
20
|
+
/** Update an entity (buffered until commit) */
|
|
21
|
+
update(type: string, id: string, data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
22
|
+
/** Delete an entity (buffered until commit) */
|
|
23
|
+
delete(type: string, id: string): Promise<boolean>;
|
|
24
|
+
/** Create a relationship (buffered until commit) */
|
|
25
|
+
relate(fromType: string, fromId: string, relation: string, toType: string, toId: string, metadata?: {
|
|
26
|
+
matchMode?: 'exact' | 'fuzzy';
|
|
27
|
+
similarity?: number;
|
|
28
|
+
matchedType?: string;
|
|
29
|
+
}): Promise<void>;
|
|
30
|
+
/** Apply all buffered writes atomically */
|
|
31
|
+
commit(): Promise<void>;
|
|
32
|
+
/** Discard all buffered writes */
|
|
33
|
+
rollback(): Promise<void>;
|
|
34
|
+
}
|
|
9
35
|
/**
|
|
10
36
|
* Semantic search result with score
|
|
11
37
|
*/
|
|
@@ -49,6 +75,8 @@ export interface DBProvider {
|
|
|
49
75
|
}): Promise<void>;
|
|
50
76
|
/** Remove a relationship */
|
|
51
77
|
unrelate(fromType: string, fromId: string, relation: string, toType: string, toId: string): Promise<void>;
|
|
78
|
+
/** Begin a transaction (optional - not all providers support this) */
|
|
79
|
+
beginTransaction?(): Promise<Transaction>;
|
|
52
80
|
}
|
|
53
81
|
/**
|
|
54
82
|
* Extended provider interface with semantic search, events, actions, and artifacts
|
|
@@ -141,6 +169,14 @@ export declare function hasActionsAPI(provider: DBProvider): provider is DBProvi
|
|
|
141
169
|
* Type guard to check if provider has artifacts API
|
|
142
170
|
*/
|
|
143
171
|
export declare function hasArtifactsAPI(provider: DBProvider): provider is DBProvider & Pick<DBProviderExtended, 'getArtifact' | 'setArtifact' | 'deleteArtifact' | 'listArtifacts'>;
|
|
172
|
+
/** Provider with transaction support */
|
|
173
|
+
interface TransactionalProvider extends DBProvider {
|
|
174
|
+
beginTransaction(): Promise<Transaction>;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Type guard to check if provider supports transactions
|
|
178
|
+
*/
|
|
179
|
+
export declare function hasTransactionSupport(provider: DBProvider): provider is TransactionalProvider;
|
|
144
180
|
/**
|
|
145
181
|
* Type guard to check if provider has embeddings config
|
|
146
182
|
*/
|
|
@@ -174,4 +210,5 @@ export declare function setProvider(provider: DBProvider): void;
|
|
|
174
210
|
* ```
|
|
175
211
|
*/
|
|
176
212
|
export declare function resolveProvider(): Promise<DBProvider>;
|
|
213
|
+
export {};
|
|
177
214
|
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/schema/provider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,OAAO,EACP,QAAQ,EACR,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/schema/provider.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/provider.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* @packageDocumentation
|
|
7
7
|
*/
|
|
8
8
|
import { setProviderResolver } from '../ai-promise-db.js';
|
|
9
|
+
import { logWarn } from '../logger.js';
|
|
9
10
|
/**
|
|
10
11
|
* Type guard to check if provider has semantic search
|
|
11
12
|
*/
|
|
@@ -36,6 +37,13 @@ export function hasActionsAPI(provider) {
|
|
|
36
37
|
export function hasArtifactsAPI(provider) {
|
|
37
38
|
return 'getArtifact' in provider && 'setArtifact' in provider;
|
|
38
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Type guard to check if provider supports transactions
|
|
42
|
+
*/
|
|
43
|
+
export function hasTransactionSupport(provider) {
|
|
44
|
+
return ('beginTransaction' in provider &&
|
|
45
|
+
typeof provider.beginTransaction === 'function');
|
|
46
|
+
}
|
|
39
47
|
/**
|
|
40
48
|
* Type guard to check if provider has embeddings config
|
|
41
49
|
*/
|
|
@@ -130,7 +138,7 @@ export async function resolveProvider() {
|
|
|
130
138
|
if (providerPromise)
|
|
131
139
|
return providerPromise;
|
|
132
140
|
providerPromise = (async () => {
|
|
133
|
-
const databaseUrl = (typeof process !== 'undefined' && process.env?.DATABASE_URL) || './content';
|
|
141
|
+
const databaseUrl = (typeof process !== 'undefined' && process.env?.['DATABASE_URL']) || './content';
|
|
134
142
|
const parsed = parseDatabaseUrl(databaseUrl);
|
|
135
143
|
switch (parsed.provider) {
|
|
136
144
|
case 'memory': {
|
|
@@ -148,7 +156,7 @@ export async function resolveProvider() {
|
|
|
148
156
|
checkFileCountThreshold(parsed.root);
|
|
149
157
|
}
|
|
150
158
|
catch (err) {
|
|
151
|
-
|
|
159
|
+
logWarn('@mdxdb/fs not available, falling back to memory provider');
|
|
152
160
|
const { createMemoryProvider } = await import('../memory-provider.js');
|
|
153
161
|
globalProvider = createMemoryProvider();
|
|
154
162
|
}
|
|
@@ -170,7 +178,7 @@ export async function resolveProvider() {
|
|
|
170
178
|
}
|
|
171
179
|
}
|
|
172
180
|
catch (err) {
|
|
173
|
-
|
|
181
|
+
logWarn('@mdxdb/sqlite not available, falling back to memory provider');
|
|
174
182
|
const { createMemoryProvider } = await import('../memory-provider.js');
|
|
175
183
|
globalProvider = createMemoryProvider();
|
|
176
184
|
}
|
|
@@ -198,7 +206,7 @@ export async function resolveProvider() {
|
|
|
198
206
|
}
|
|
199
207
|
}
|
|
200
208
|
catch (err) {
|
|
201
|
-
|
|
209
|
+
logWarn('@mdxdb/clickhouse not available, falling back to memory provider');
|
|
202
210
|
const { createMemoryProvider } = await import('../memory-provider.js');
|
|
203
211
|
globalProvider = createMemoryProvider();
|
|
204
212
|
}
|
|
@@ -246,9 +254,9 @@ async function checkFileCountThreshold(root) {
|
|
|
246
254
|
}
|
|
247
255
|
const count = await countFiles(root);
|
|
248
256
|
if (count > FILE_COUNT_THRESHOLD) {
|
|
249
|
-
|
|
250
|
-
`Consider upgrading to ClickHouse for better performance
|
|
251
|
-
`
|
|
257
|
+
logWarn(`You have ${count.toLocaleString()} MDX files. ` +
|
|
258
|
+
`Consider upgrading to ClickHouse for better performance: ` +
|
|
259
|
+
`DATABASE_URL=chdb://./data/clickhouse`);
|
|
252
260
|
}
|
|
253
261
|
}
|
|
254
262
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/schema/provider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/schema/provider.ts"],"names":[],"mappings":"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"}
|