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.
Files changed (268) hide show
  1. package/CHANGELOG.md +47 -1
  2. package/README.md +1063 -186
  3. package/dist/actions.d.ts +2 -2
  4. package/dist/actions.d.ts.map +1 -1
  5. package/dist/actions.js +1 -1
  6. package/dist/actions.js.map +1 -1
  7. package/dist/ai-promise-db.d.ts +52 -23
  8. package/dist/ai-promise-db.d.ts.map +1 -1
  9. package/dist/ai-promise-db.js +185 -164
  10. package/dist/ai-promise-db.js.map +1 -1
  11. package/dist/authorization.d.ts.map +1 -1
  12. package/dist/authorization.js +38 -30
  13. package/dist/authorization.js.map +1 -1
  14. package/dist/cascade-orchestrator.d.ts +404 -0
  15. package/dist/cascade-orchestrator.d.ts.map +1 -0
  16. package/dist/cascade-orchestrator.js +828 -0
  17. package/dist/cascade-orchestrator.js.map +1 -0
  18. package/dist/cascade-write-strategy.d.ts +584 -0
  19. package/dist/cascade-write-strategy.d.ts.map +1 -0
  20. package/dist/cascade-write-strategy.js +590 -0
  21. package/dist/cascade-write-strategy.js.map +1 -0
  22. package/dist/ch-adapter.d.ts +358 -0
  23. package/dist/ch-adapter.d.ts.map +1 -0
  24. package/dist/ch-adapter.js +929 -0
  25. package/dist/ch-adapter.js.map +1 -0
  26. package/dist/client/index.d.ts +42 -0
  27. package/dist/client/index.d.ts.map +1 -0
  28. package/dist/client/index.js +43 -0
  29. package/dist/client/index.js.map +1 -0
  30. package/dist/client.d.ts +266 -0
  31. package/dist/client.d.ts.map +1 -0
  32. package/dist/client.js +81 -0
  33. package/dist/client.js.map +1 -0
  34. package/dist/constants.d.ts +64 -1
  35. package/dist/constants.d.ts.map +1 -1
  36. package/dist/constants.js +52 -2
  37. package/dist/constants.js.map +1 -1
  38. package/dist/dataloader.d.ts +99 -0
  39. package/dist/dataloader.d.ts.map +1 -0
  40. package/dist/dataloader.js +225 -0
  41. package/dist/dataloader.js.map +1 -0
  42. package/dist/db-provider-port.d.ts +501 -0
  43. package/dist/db-provider-port.d.ts.map +1 -0
  44. package/dist/db-provider-port.js +113 -0
  45. package/dist/db-provider-port.js.map +1 -0
  46. package/dist/digital-objects-provider.d.ts +49 -0
  47. package/dist/digital-objects-provider.d.ts.map +1 -0
  48. package/dist/digital-objects-provider.js +55 -0
  49. package/dist/digital-objects-provider.js.map +1 -0
  50. package/dist/do-sqlite-adapter.d.ts +402 -0
  51. package/dist/do-sqlite-adapter.d.ts.map +1 -0
  52. package/dist/do-sqlite-adapter.js +745 -0
  53. package/dist/do-sqlite-adapter.js.map +1 -0
  54. package/dist/docs-rels/custom-types.d.ts +134 -0
  55. package/dist/docs-rels/custom-types.d.ts.map +1 -0
  56. package/dist/docs-rels/custom-types.js +70 -0
  57. package/dist/docs-rels/custom-types.js.map +1 -0
  58. package/dist/docs-rels/index.d.ts +16 -0
  59. package/dist/docs-rels/index.d.ts.map +1 -0
  60. package/dist/docs-rels/index.js +16 -0
  61. package/dist/docs-rels/index.js.map +1 -0
  62. package/dist/docs-rels/migrations/index.d.ts +30 -0
  63. package/dist/docs-rels/migrations/index.d.ts.map +1 -0
  64. package/dist/docs-rels/migrations/index.js +128 -0
  65. package/dist/docs-rels/migrations/index.js.map +1 -0
  66. package/dist/docs-rels/schema.d.ts +2961 -0
  67. package/dist/docs-rels/schema.d.ts.map +1 -0
  68. package/dist/docs-rels/schema.js +244 -0
  69. package/dist/docs-rels/schema.js.map +1 -0
  70. package/dist/durable-clickhouse.d.ts.map +1 -1
  71. package/dist/durable-clickhouse.js +16 -13
  72. package/dist/durable-clickhouse.js.map +1 -1
  73. package/dist/durable-promise.d.ts.map +1 -1
  74. package/dist/durable-promise.js +34 -15
  75. package/dist/durable-promise.js.map +1 -1
  76. package/dist/errors.d.ts +127 -0
  77. package/dist/errors.d.ts.map +1 -0
  78. package/dist/errors.js +210 -0
  79. package/dist/errors.js.map +1 -0
  80. package/dist/eventbridge.d.ts +117 -0
  81. package/dist/eventbridge.d.ts.map +1 -0
  82. package/dist/eventbridge.js +238 -0
  83. package/dist/eventbridge.js.map +1 -0
  84. package/dist/events.d.ts +2 -2
  85. package/dist/events.d.ts.map +1 -1
  86. package/dist/events.js +1 -1
  87. package/dist/events.js.map +1 -1
  88. package/dist/execution-queue.d.ts.map +1 -1
  89. package/dist/execution-queue.js +4 -5
  90. package/dist/execution-queue.js.map +1 -1
  91. package/dist/index.d.ts +37 -8
  92. package/dist/index.d.ts.map +1 -1
  93. package/dist/index.js +112 -6
  94. package/dist/index.js.map +1 -1
  95. package/dist/linguistic.d.ts +3 -108
  96. package/dist/linguistic.d.ts.map +1 -1
  97. package/dist/linguistic.js +3 -372
  98. package/dist/linguistic.js.map +1 -1
  99. package/dist/logger.d.ts +132 -0
  100. package/dist/logger.d.ts.map +1 -0
  101. package/dist/logger.js +137 -0
  102. package/dist/logger.js.map +1 -0
  103. package/dist/memory-provider.d.ts +129 -0
  104. package/dist/memory-provider.d.ts.map +1 -1
  105. package/dist/memory-provider.js +592 -257
  106. package/dist/memory-provider.js.map +1 -1
  107. package/dist/pg-adapter.d.ts +424 -0
  108. package/dist/pg-adapter.d.ts.map +1 -0
  109. package/dist/pg-adapter.js +921 -0
  110. package/dist/pg-adapter.js.map +1 -0
  111. package/dist/pipelines-iceberg-emitter.d.ts +327 -0
  112. package/dist/pipelines-iceberg-emitter.d.ts.map +1 -0
  113. package/dist/pipelines-iceberg-emitter.js +351 -0
  114. package/dist/pipelines-iceberg-emitter.js.map +1 -0
  115. package/dist/provider-capabilities.d.ts +146 -0
  116. package/dist/provider-capabilities.d.ts.map +1 -0
  117. package/dist/provider-capabilities.js +214 -0
  118. package/dist/provider-capabilities.js.map +1 -0
  119. package/dist/rdb-provider-adapter.d.ts +195 -0
  120. package/dist/rdb-provider-adapter.d.ts.map +1 -0
  121. package/dist/rdb-provider-adapter.js +291 -0
  122. package/dist/rdb-provider-adapter.js.map +1 -0
  123. package/dist/schema/cascade.d.ts +49 -10
  124. package/dist/schema/cascade.d.ts.map +1 -1
  125. package/dist/schema/cascade.js +491 -273
  126. package/dist/schema/cascade.js.map +1 -1
  127. package/dist/schema/definition-caches.d.ts +24 -0
  128. package/dist/schema/definition-caches.d.ts.map +1 -0
  129. package/dist/schema/definition-caches.js +26 -0
  130. package/dist/schema/definition-caches.js.map +1 -0
  131. package/dist/schema/dependency-graph.d.ts +45 -0
  132. package/dist/schema/dependency-graph.d.ts.map +1 -0
  133. package/dist/schema/dependency-graph.js +47 -0
  134. package/dist/schema/dependency-graph.js.map +1 -0
  135. package/dist/schema/diff.d.ts +103 -0
  136. package/dist/schema/diff.d.ts.map +1 -0
  137. package/dist/schema/diff.js +329 -0
  138. package/dist/schema/diff.js.map +1 -0
  139. package/dist/schema/entity-operations.d.ts +99 -0
  140. package/dist/schema/entity-operations.d.ts.map +1 -0
  141. package/dist/schema/entity-operations.js +818 -0
  142. package/dist/schema/entity-operations.js.map +1 -0
  143. package/dist/schema/generation-context.d.ts +202 -0
  144. package/dist/schema/generation-context.d.ts.map +1 -0
  145. package/dist/schema/generation-context.js +393 -0
  146. package/dist/schema/generation-context.js.map +1 -0
  147. package/dist/schema/index.d.ts +32 -34
  148. package/dist/schema/index.d.ts.map +1 -1
  149. package/dist/schema/index.js +462 -519
  150. package/dist/schema/index.js.map +1 -1
  151. package/dist/schema/migration.d.ts +205 -0
  152. package/dist/schema/migration.d.ts.map +1 -0
  153. package/dist/schema/migration.js +327 -0
  154. package/dist/schema/migration.js.map +1 -0
  155. package/dist/schema/nl-query-generator.d.ts +68 -0
  156. package/dist/schema/nl-query-generator.d.ts.map +1 -0
  157. package/dist/schema/nl-query-generator.js +362 -0
  158. package/dist/schema/nl-query-generator.js.map +1 -0
  159. package/dist/schema/nl-query.d.ts +65 -0
  160. package/dist/schema/nl-query.d.ts.map +1 -0
  161. package/dist/schema/nl-query.js +178 -0
  162. package/dist/schema/nl-query.js.map +1 -0
  163. package/dist/schema/parse.d.ts.map +1 -1
  164. package/dist/schema/parse.js +152 -89
  165. package/dist/schema/parse.js.map +1 -1
  166. package/dist/schema/provider.d.ts +38 -0
  167. package/dist/schema/provider.d.ts.map +1 -1
  168. package/dist/schema/provider.js +15 -7
  169. package/dist/schema/provider.js.map +1 -1
  170. package/dist/schema/resolve.d.ts +46 -5
  171. package/dist/schema/resolve.d.ts.map +1 -1
  172. package/dist/schema/resolve.js +334 -117
  173. package/dist/schema/resolve.js.map +1 -1
  174. package/dist/schema/search-utils.d.ts +76 -0
  175. package/dist/schema/search-utils.d.ts.map +1 -0
  176. package/dist/schema/search-utils.js +86 -0
  177. package/dist/schema/search-utils.js.map +1 -0
  178. package/dist/schema/seed.d.ts +53 -0
  179. package/dist/schema/seed.d.ts.map +1 -0
  180. package/dist/schema/seed.js +94 -0
  181. package/dist/schema/seed.js.map +1 -0
  182. package/dist/schema/semantic.d.ts +11 -0
  183. package/dist/schema/semantic.d.ts.map +1 -1
  184. package/dist/schema/semantic.js +262 -68
  185. package/dist/schema/semantic.js.map +1 -1
  186. package/dist/schema/sub-apis.d.ts +52 -0
  187. package/dist/schema/sub-apis.d.ts.map +1 -0
  188. package/dist/schema/sub-apis.js +216 -0
  189. package/dist/schema/sub-apis.js.map +1 -0
  190. package/dist/schema/system-entities.d.ts +42 -0
  191. package/dist/schema/system-entities.d.ts.map +1 -0
  192. package/dist/schema/system-entities.js +101 -0
  193. package/dist/schema/system-entities.js.map +1 -0
  194. package/dist/schema/types.d.ts +91 -9
  195. package/dist/schema/types.d.ts.map +1 -1
  196. package/dist/schema/union-fallback.d.ts +219 -0
  197. package/dist/schema/union-fallback.d.ts.map +1 -0
  198. package/dist/schema/union-fallback.js +331 -0
  199. package/dist/schema/union-fallback.js.map +1 -0
  200. package/dist/schema/value-generators/ai.d.ts +54 -0
  201. package/dist/schema/value-generators/ai.d.ts.map +1 -0
  202. package/dist/schema/value-generators/ai.js +136 -0
  203. package/dist/schema/value-generators/ai.js.map +1 -0
  204. package/dist/schema/value-generators/index.d.ts +126 -0
  205. package/dist/schema/value-generators/index.d.ts.map +1 -0
  206. package/dist/schema/value-generators/index.js +219 -0
  207. package/dist/schema/value-generators/index.js.map +1 -0
  208. package/dist/schema/value-generators/placeholder.d.ts +52 -0
  209. package/dist/schema/value-generators/placeholder.d.ts.map +1 -0
  210. package/dist/schema/value-generators/placeholder.js +328 -0
  211. package/dist/schema/value-generators/placeholder.js.map +1 -0
  212. package/dist/schema/value-generators/types.d.ts +116 -0
  213. package/dist/schema/value-generators/types.d.ts.map +1 -0
  214. package/dist/schema/value-generators/types.js +11 -0
  215. package/dist/schema/value-generators/types.js.map +1 -0
  216. package/dist/schema/verb-derivation.d.ts +167 -0
  217. package/dist/schema/verb-derivation.d.ts.map +1 -0
  218. package/dist/schema/verb-derivation.js +281 -0
  219. package/dist/schema/verb-derivation.js.map +1 -0
  220. package/dist/schema/version.d.ts +111 -0
  221. package/dist/schema/version.d.ts.map +1 -0
  222. package/dist/schema/version.js +190 -0
  223. package/dist/schema/version.js.map +1 -0
  224. package/dist/schema.d.ts +1095 -23
  225. package/dist/schema.d.ts.map +1 -1
  226. package/dist/schema.js +2854 -38
  227. package/dist/schema.js.map +1 -1
  228. package/dist/semantic-vectors.d.ts +39 -0
  229. package/dist/semantic-vectors.d.ts.map +1 -0
  230. package/dist/semantic-vectors.js +334 -0
  231. package/dist/semantic-vectors.js.map +1 -0
  232. package/dist/semantic.d.ts +29 -1
  233. package/dist/semantic.d.ts.map +1 -1
  234. package/dist/semantic.js +26 -16
  235. package/dist/semantic.js.map +1 -1
  236. package/dist/telemetry.d.ts +128 -0
  237. package/dist/telemetry.d.ts.map +1 -0
  238. package/dist/telemetry.js +305 -0
  239. package/dist/telemetry.js.map +1 -0
  240. package/dist/tests.d.ts.map +1 -1
  241. package/dist/tests.js +30 -22
  242. package/dist/tests.js.map +1 -1
  243. package/dist/type-guards.d.ts +212 -0
  244. package/dist/type-guards.d.ts.map +1 -0
  245. package/dist/type-guards.js +318 -0
  246. package/dist/type-guards.js.map +1 -0
  247. package/dist/types.d.ts +33 -245
  248. package/dist/types.d.ts.map +1 -1
  249. package/dist/types.js +62 -72
  250. package/dist/types.js.map +1 -1
  251. package/dist/validation.d.ts +165 -0
  252. package/dist/validation.d.ts.map +1 -0
  253. package/dist/validation.js +639 -0
  254. package/dist/validation.js.map +1 -0
  255. package/dist/worker/db-provider.d.ts +168 -0
  256. package/dist/worker/db-provider.d.ts.map +1 -0
  257. package/dist/worker/db-provider.js +277 -0
  258. package/dist/worker/db-provider.js.map +1 -0
  259. package/dist/worker/index.d.ts +35 -0
  260. package/dist/worker/index.d.ts.map +1 -0
  261. package/dist/worker/index.js +37 -0
  262. package/dist/worker/index.js.map +1 -0
  263. package/dist/worker.d.ts +779 -0
  264. package/dist/worker.d.ts.map +1 -0
  265. package/dist/worker.js +2786 -0
  266. package/dist/worker.js.map +1 -0
  267. package/package.json +38 -8
  268. package/src/docs-rels/migrations/0001-init.sql +125 -0
@@ -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
- this.path = path;
26
- this.details = details;
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) || baseType.includes('->') || baseType.includes('~>') || baseType.includes('<-') || baseType.includes('<~')) {
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' ? 'number' :
170
- baseType.toLowerCase() === 'text' || baseType.toLowerCase() === 'varchar' ? 'string' :
171
- baseType.toLowerCase() === 'real' || baseType.toLowerCase() === 'float' || baseType.toLowerCase() === 'double' ? 'number' : 'string';
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
- // Supported operators in order of specificity (longer operators first)
379
- const operators = ['~>', '<~', '->', '<-'];
380
- for (const op of operators) {
381
- const opIndex = definition.indexOf(op);
382
- if (opIndex !== -1) {
383
- // Extract prompt (text before operator)
384
- const beforeOp = definition.slice(0, opIndex).trim();
385
- const prompt = beforeOp || undefined;
386
- // Extract target type (text after operator)
387
- let targetType = definition.slice(opIndex + op.length).trim();
388
- // Determine direction: < = backward, otherwise forward
389
- const direction = op.startsWith('<') ? 'backward' : 'forward';
390
- // Determine match mode: ~ = fuzzy, otherwise exact
391
- const matchMode = op.includes('~') ? 'fuzzy' : 'exact';
392
- // Parse field-level threshold from ~>Type(0.9) syntax
393
- let threshold;
394
- const thresholdMatch = targetType.match(/^([^(]+)\(([0-9.]+)\)(.*)$/);
395
- if (thresholdMatch) {
396
- const [, typePart, thresholdStr, suffix] = thresholdMatch;
397
- threshold = parseFloat(thresholdStr);
398
- if (!isNaN(threshold) && threshold >= 0 && threshold <= 1) {
399
- // Reconstruct targetType without the threshold
400
- targetType = (typePart || '') + (suffix || '');
401
- }
402
- else {
403
- threshold = undefined;
404
- }
405
- }
406
- else {
407
- // Handle malformed threshold syntax (missing closing paren)
408
- const malformedThresholdMatch = targetType.match(/^([A-Za-z][A-Za-z0-9_]*)\([^)]*$/);
409
- if (malformedThresholdMatch) {
410
- // Strip the malformed threshold part, keep just the type name
411
- targetType = malformedThresholdMatch[1];
412
- // threshold stays undefined
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 null;
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 (type.endsWith('?')) {
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
- result.direction = direction;
598
- result.matchMode = matchMode;
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
- entities.set(entityName, { name: entityName, fields, schema: entitySchema });
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
- // Only validate if at least one union type exists in schema
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)
@@ -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":"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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":"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"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/schema/provider.ts"],"names":[],"mappings":"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"}
@@ -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
- console.warn('@mdxdb/fs not available, falling back to memory provider');
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
- console.warn('@mdxdb/sqlite not available, falling back to memory provider');
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
- console.warn('@mdxdb/clickhouse not available, falling back to memory provider');
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
- console.warn(`\n You have ${count.toLocaleString()} MDX files. ` +
250
- `Consider upgrading to ClickHouse for better performance:\n` +
251
- ` DATABASE_URL=chdb://./data/clickhouse\n`);
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 {