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/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,8 +742,8 @@ 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));
|
|
691
|
-
//
|
|
745
|
+
const existingTypes = field.unionTypes.filter((t) => entities.has(t));
|
|
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) {
|
|
694
749
|
if (unionType !== entityName && !entities.has(unionType)) {
|
|
@@ -696,6 +751,14 @@ export function parseSchema(schema) {
|
|
|
696
751
|
}
|
|
697
752
|
}
|
|
698
753
|
}
|
|
754
|
+
else {
|
|
755
|
+
// None of the union types exist - this is likely a schema error
|
|
756
|
+
// Warn in development, or throw if strict validation is needed
|
|
757
|
+
const missingTypes = field.unionTypes.join('|');
|
|
758
|
+
logWarn(`${entityName}.${fieldName} union type '${missingTypes}' - ` +
|
|
759
|
+
`none of the specified types exist in the schema. ` +
|
|
760
|
+
`Ensure all union types are defined.`);
|
|
761
|
+
}
|
|
699
762
|
}
|
|
700
763
|
else {
|
|
701
764
|
// Check if referenced type exists (non-union case)
|
package/dist/schema/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/schema/parse.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH,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,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,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,CAAC,IAAI,CAAC,qCAAqC,EACjJ,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,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAChJ,0CAA0C;QAC1C,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,GAAG,QAAQ,CAAC,WAAW,EAAE,KAAK,KAAK,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACrF,QAAQ,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACtF,QAAQ,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,OAAO,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;QACvJ,MAAM,IAAI,qBAAqB,CAC7B,uBAAuB,QAAQ,UAAU,IAAI,iDAAiD,UAAU,uBAAuB,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAClK,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,CAAC,IAAI,CAAC,GAAG,EAC3I,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,CAAC,IAAI,CAAC,qCAAqC,EACvJ,oBAAoB,EACpB,IAAI,CACL,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAAqB,EAAE,SAAiB,EAAE,UAAkB;IAClG,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,CAAC,UAAkB,EAAE,QAAgB,EAAE,SAAiB;IAC5F,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,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QAEzD,gCAAgC;QAChC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,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;AACH,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AACH,MAAM,UAAU,aAAa,CAAC,UAAkB;IAC9C,uEAAuE;IACvE,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAA;IAEnD,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACtC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YACnB,wCAAwC;YACxC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;YACpD,MAAM,MAAM,GAAG,QAAQ,IAAI,SAAS,CAAA;YAEpC,4CAA4C;YAC5C,IAAI,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;YAE7D,uDAAuD;YACvD,MAAM,SAAS,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;YAE7D,mDAAmD;YACnD,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;YAEtD,sDAAsD;YACtD,IAAI,SAA6B,CAAA;YACjC,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;YACrE,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,GAAG,cAAc,CAAA;gBACzD,SAAS,GAAG,UAAU,CAAC,YAAa,CAAC,CAAA;gBACrC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;oBAC1D,+CAA+C;oBAC/C,UAAU,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;gBAChD,CAAC;qBAAM,CAAC;oBACN,SAAS,GAAG,SAAS,CAAA;gBACvB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,4DAA4D;gBAC5D,MAAM,uBAAuB,GAAG,UAAU,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;gBACpF,IAAI,uBAAuB,EAAE,CAAC;oBAC5B,8DAA8D;oBAC9D,UAAU,GAAG,uBAAuB,CAAC,CAAC,CAAE,CAAA;oBACxC,4BAA4B;gBAC9B,CAAC;YACH,CAAC;YAED,mCAAmC;YACnC,sEAAsE;YACtE,IAAI,SAAS,GAAG,UAAU,CAAA;YAC1B,6CAA6C;YAC7C,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACpC,CAAC;YACD,0CAA0C;YAC1C,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACpC,CAAC;YACD,+DAA+D;YAC/D,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YACvC,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;gBACpB,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;YAC1C,CAAC;YAED,wBAAwB;YACxB,IAAI,UAAgC,CAAA;YACpC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gBACpE,iDAAiD;gBACjD,uEAAuE;gBACvE,sCAAsC;YACxC,CAAC;YAED,OAAO;gBACL,MAAM;gBACN,QAAQ,EAAE,EAAE;gBACZ,SAAS;gBACT,SAAS;gBACT,UAAU;gBACV,UAAU;gBACV,SAAS;aACV,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,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,+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,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,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,CAAE,8EAA8E;MACnG,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;QACV,WAAW;QACX,OAAO;KACR,CAAA;IAED,wDAAwD;IACxD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAA;QAC1B,MAAM,CAAC,SAAS,GAAG,SAAS,CAAA;QAC5B,MAAM,CAAC,SAAS,GAAG,SAAS,CAAA;QAC5B,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,CAAC;gBACN,0CAA0C;gBAC1C,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,+DAA+D;QAC/D,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAA;IAC9E,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,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;oBACnE,4DAA4D;oBAC5D,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;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"}
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/schema/parse.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
*/
|
|
@@ -45,9 +71,12 @@ export interface DBProvider {
|
|
|
45
71
|
relate(fromType: string, fromId: string, relation: string, toType: string, toId: string, metadata?: {
|
|
46
72
|
matchMode?: 'exact' | 'fuzzy';
|
|
47
73
|
similarity?: number;
|
|
74
|
+
matchedType?: string;
|
|
48
75
|
}): Promise<void>;
|
|
49
76
|
/** Remove a relationship */
|
|
50
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>;
|
|
51
80
|
}
|
|
52
81
|
/**
|
|
53
82
|
* Extended provider interface with semantic search, events, actions, and artifacts
|
|
@@ -140,6 +169,14 @@ export declare function hasActionsAPI(provider: DBProvider): provider is DBProvi
|
|
|
140
169
|
* Type guard to check if provider has artifacts API
|
|
141
170
|
*/
|
|
142
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;
|
|
143
180
|
/**
|
|
144
181
|
* Type guard to check if provider has embeddings config
|
|
145
182
|
*/
|
|
@@ -173,4 +210,5 @@ export declare function setProvider(provider: DBProvider): void;
|
|
|
173
210
|
* ```
|
|
174
211
|
*/
|
|
175
212
|
export declare function resolveProvider(): Promise<DBProvider>;
|
|
213
|
+
export {};
|
|
176
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 {
|