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.
Files changed (260) hide show
  1. package/CHANGELOG.md +35 -1
  2. package/README.md +880 -669
  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 +49 -23
  8. package/dist/ai-promise-db.d.ts.map +1 -1
  9. package/dist/ai-promise-db.js +91 -63
  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 +35 -8
  92. package/dist/index.d.ts.map +1 -1
  93. package/dist/index.js +106 -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 +128 -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 +48 -17
  124. package/dist/schema/cascade.d.ts.map +1 -1
  125. package/dist/schema/cascade.js +477 -278
  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 +21 -109
  132. package/dist/schema/dependency-graph.d.ts.map +1 -1
  133. package/dist/schema/dependency-graph.js +25 -333
  134. package/dist/schema/dependency-graph.js.map +1 -1
  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/index.d.ts +28 -34
  144. package/dist/schema/index.d.ts.map +1 -1
  145. package/dist/schema/index.js +454 -521
  146. package/dist/schema/index.js.map +1 -1
  147. package/dist/schema/migration.d.ts +205 -0
  148. package/dist/schema/migration.d.ts.map +1 -0
  149. package/dist/schema/migration.js +327 -0
  150. package/dist/schema/migration.js.map +1 -0
  151. package/dist/schema/nl-query-generator.d.ts +68 -0
  152. package/dist/schema/nl-query-generator.d.ts.map +1 -0
  153. package/dist/schema/nl-query-generator.js +362 -0
  154. package/dist/schema/nl-query-generator.js.map +1 -0
  155. package/dist/schema/nl-query.d.ts +65 -0
  156. package/dist/schema/nl-query.d.ts.map +1 -0
  157. package/dist/schema/nl-query.js +178 -0
  158. package/dist/schema/nl-query.js.map +1 -0
  159. package/dist/schema/parse.d.ts.map +1 -1
  160. package/dist/schema/parse.js +144 -89
  161. package/dist/schema/parse.js.map +1 -1
  162. package/dist/schema/provider.d.ts +37 -0
  163. package/dist/schema/provider.d.ts.map +1 -1
  164. package/dist/schema/provider.js +15 -7
  165. package/dist/schema/provider.js.map +1 -1
  166. package/dist/schema/resolve.d.ts +46 -5
  167. package/dist/schema/resolve.d.ts.map +1 -1
  168. package/dist/schema/resolve.js +237 -95
  169. package/dist/schema/resolve.js.map +1 -1
  170. package/dist/schema/search-utils.d.ts +76 -0
  171. package/dist/schema/search-utils.d.ts.map +1 -0
  172. package/dist/schema/search-utils.js +86 -0
  173. package/dist/schema/search-utils.js.map +1 -0
  174. package/dist/schema/seed.d.ts +53 -0
  175. package/dist/schema/seed.d.ts.map +1 -0
  176. package/dist/schema/seed.js +94 -0
  177. package/dist/schema/seed.js.map +1 -0
  178. package/dist/schema/semantic.d.ts +10 -0
  179. package/dist/schema/semantic.d.ts.map +1 -1
  180. package/dist/schema/semantic.js +192 -86
  181. package/dist/schema/semantic.js.map +1 -1
  182. package/dist/schema/sub-apis.d.ts +52 -0
  183. package/dist/schema/sub-apis.d.ts.map +1 -0
  184. package/dist/schema/sub-apis.js +216 -0
  185. package/dist/schema/sub-apis.js.map +1 -0
  186. package/dist/schema/system-entities.d.ts +42 -0
  187. package/dist/schema/system-entities.d.ts.map +1 -0
  188. package/dist/schema/system-entities.js +101 -0
  189. package/dist/schema/system-entities.js.map +1 -0
  190. package/dist/schema/types.d.ts +91 -9
  191. package/dist/schema/types.d.ts.map +1 -1
  192. package/dist/schema/union-fallback.d.ts.map +1 -1
  193. package/dist/schema/union-fallback.js +21 -15
  194. package/dist/schema/union-fallback.js.map +1 -1
  195. package/dist/schema/value-generators/ai.d.ts +54 -0
  196. package/dist/schema/value-generators/ai.d.ts.map +1 -0
  197. package/dist/schema/value-generators/ai.js +136 -0
  198. package/dist/schema/value-generators/ai.js.map +1 -0
  199. package/dist/schema/value-generators/index.d.ts +126 -0
  200. package/dist/schema/value-generators/index.d.ts.map +1 -0
  201. package/dist/schema/value-generators/index.js +219 -0
  202. package/dist/schema/value-generators/index.js.map +1 -0
  203. package/dist/schema/value-generators/placeholder.d.ts +52 -0
  204. package/dist/schema/value-generators/placeholder.d.ts.map +1 -0
  205. package/dist/schema/value-generators/placeholder.js +328 -0
  206. package/dist/schema/value-generators/placeholder.js.map +1 -0
  207. package/dist/schema/value-generators/types.d.ts +116 -0
  208. package/dist/schema/value-generators/types.d.ts.map +1 -0
  209. package/dist/schema/value-generators/types.js +11 -0
  210. package/dist/schema/value-generators/types.js.map +1 -0
  211. package/dist/schema/version.d.ts +111 -0
  212. package/dist/schema/version.d.ts.map +1 -0
  213. package/dist/schema/version.js +190 -0
  214. package/dist/schema/version.js.map +1 -0
  215. package/dist/schema.d.ts +1095 -24
  216. package/dist/schema.d.ts.map +1 -1
  217. package/dist/schema.js +2852 -40
  218. package/dist/schema.js.map +1 -1
  219. package/dist/semantic-vectors.d.ts +39 -0
  220. package/dist/semantic-vectors.d.ts.map +1 -0
  221. package/dist/semantic-vectors.js +334 -0
  222. package/dist/semantic-vectors.js.map +1 -0
  223. package/dist/semantic.d.ts +29 -1
  224. package/dist/semantic.d.ts.map +1 -1
  225. package/dist/semantic.js +26 -16
  226. package/dist/semantic.js.map +1 -1
  227. package/dist/telemetry.d.ts +128 -0
  228. package/dist/telemetry.d.ts.map +1 -0
  229. package/dist/telemetry.js +305 -0
  230. package/dist/telemetry.js.map +1 -0
  231. package/dist/tests.d.ts.map +1 -1
  232. package/dist/tests.js +30 -22
  233. package/dist/tests.js.map +1 -1
  234. package/dist/type-guards.d.ts +50 -5
  235. package/dist/type-guards.d.ts.map +1 -1
  236. package/dist/type-guards.js +87 -16
  237. package/dist/type-guards.js.map +1 -1
  238. package/dist/types.d.ts +33 -245
  239. package/dist/types.d.ts.map +1 -1
  240. package/dist/types.js +62 -72
  241. package/dist/types.js.map +1 -1
  242. package/dist/validation.d.ts +2 -5
  243. package/dist/validation.d.ts.map +1 -1
  244. package/dist/validation.js +65 -93
  245. package/dist/validation.js.map +1 -1
  246. package/dist/worker/db-provider.d.ts +168 -0
  247. package/dist/worker/db-provider.d.ts.map +1 -0
  248. package/dist/worker/db-provider.js +277 -0
  249. package/dist/worker/db-provider.js.map +1 -0
  250. package/dist/worker/index.d.ts +35 -0
  251. package/dist/worker/index.d.ts.map +1 -0
  252. package/dist/worker/index.js +37 -0
  253. package/dist/worker/index.js.map +1 -0
  254. package/dist/worker.d.ts +779 -0
  255. package/dist/worker.d.ts.map +1 -0
  256. package/dist/worker.js +2786 -0
  257. package/dist/worker.js.map +1 -0
  258. package/package.json +46 -16
  259. package/src/docs-rels/migrations/0001-init.sql +125 -0
  260. package/LICENSE +0 -21
@@ -10,6 +10,7 @@
10
10
  *
11
11
  * @packageDocumentation
12
12
  */
13
+ import { ValidationError } from './errors.js';
13
14
  // =============================================================================
14
15
  // Validation Constants
15
16
  // =============================================================================
@@ -41,27 +42,11 @@ const ALLOWED_DIGITS = new Set('0123456789');
41
42
  /** Allowed letters (a-z, A-Z) */
42
43
  const ALLOWED_LETTERS = new Set([...ALLOWED_UPPERCASE, ...ALLOWED_LOWERCASE]);
43
44
  /** Allowed identifier characters (letters, digits, underscore) */
44
- const ALLOWED_IDENTIFIER_CHARS = new Set([
45
- ...ALLOWED_LETTERS,
46
- ...ALLOWED_DIGITS,
47
- '_',
48
- ]);
45
+ const ALLOWED_IDENTIFIER_CHARS = new Set([...ALLOWED_LETTERS, ...ALLOWED_DIGITS, '_']);
49
46
  /** Allowed ID characters (letters, digits, underscore, hyphen, dot, forward slash for path-like IDs) */
50
- const ALLOWED_ID_CHARS = new Set([
51
- ...ALLOWED_LETTERS,
52
- ...ALLOWED_DIGITS,
53
- '_',
54
- '-',
55
- '.',
56
- '/',
57
- ]);
47
+ const ALLOWED_ID_CHARS = new Set([...ALLOWED_LETTERS, ...ALLOWED_DIGITS, '_', '-', '.', '/']);
58
48
  /** Allowed action type characters (letters, digits, underscore, hyphen) */
59
- const ALLOWED_ACTION_CHARS = new Set([
60
- ...ALLOWED_LETTERS,
61
- ...ALLOWED_DIGITS,
62
- '_',
63
- '-',
64
- ]);
49
+ const ALLOWED_ACTION_CHARS = new Set([...ALLOWED_LETTERS, ...ALLOWED_DIGITS, '_', '-']);
65
50
  /**
66
51
  * Check if a character is in the allowlist
67
52
  * Uses code point to ensure we only accept ASCII characters
@@ -227,24 +212,11 @@ const CONTROL_CHARACTERS = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/;
227
212
  /**
228
213
  * Prototype pollution property names to reject
229
214
  */
230
- const DANGEROUS_PROPERTIES = new Set([
231
- '__proto__',
232
- 'constructor',
233
- 'prototype',
234
- ]);
215
+ const DANGEROUS_PROPERTIES = new Set(['__proto__', 'constructor', 'prototype']);
235
216
  // =============================================================================
236
- // Validation Errors
217
+ // Re-export ValidationError from errors.ts for backwards compatibility
237
218
  // =============================================================================
238
- export class ValidationError extends Error {
239
- field;
240
- value;
241
- constructor(message, field, value) {
242
- super(message);
243
- this.field = field;
244
- this.value = value;
245
- this.name = 'ValidationError';
246
- }
247
- }
219
+ export { ValidationError };
248
220
  // =============================================================================
249
221
  // Validation Functions
250
222
  // =============================================================================
@@ -288,27 +260,27 @@ function containsControlCharacters(value) {
288
260
  export function validateTypeName(type) {
289
261
  // Check string type
290
262
  if (typeof type !== 'string') {
291
- throw new ValidationError(`Invalid type: must be a string, got ${type === null ? 'null' : typeof type}`, 'type', type);
263
+ throw new ValidationError(`Invalid type: must be a string, got ${type === null ? 'null' : typeof type}`, 'Input', 'type', type);
292
264
  }
293
265
  // Check empty
294
266
  if (type.length === 0) {
295
- throw new ValidationError('Invalid type: must not be empty', 'type', type);
267
+ throw new ValidationError('Invalid type: must not be empty', 'Input', 'type', type);
296
268
  }
297
269
  // Check length
298
270
  if (type.length > MAX_TYPE_LENGTH) {
299
- throw new ValidationError(`Invalid type: exceeds maximum length of ${MAX_TYPE_LENGTH}`, 'type', type);
271
+ throw new ValidationError(`Invalid type: exceeds maximum length of ${MAX_TYPE_LENGTH}`, 'Input', 'type', type);
300
272
  }
301
273
  // Check control characters
302
274
  if (containsControlCharacters(type)) {
303
- throw new ValidationError('Invalid type: contains special characters that are not allowed', 'type', type);
275
+ throw new ValidationError('Invalid type: contains special characters that are not allowed', 'Input', 'type', type);
304
276
  }
305
277
  // Check SQL injection
306
278
  if (containsSqlInjection(type)) {
307
- throw new ValidationError('Invalid type: contains injection patterns that are not allowed', 'type', type);
279
+ throw new ValidationError('Invalid type: contains injection patterns that are not allowed', 'Input', 'type', type);
308
280
  }
309
281
  // Check pattern (alphanumeric + underscore) using allowlist
310
282
  if (!isValidTypeNameFormat(type)) {
311
- throw new ValidationError('Invalid type: must be alphanumeric with underscores, starting with a letter', 'type', type);
283
+ throw new ValidationError('Invalid type: must be alphanumeric with underscores, starting with a letter', 'Input', 'type', type);
312
284
  }
313
285
  }
314
286
  /**
@@ -328,31 +300,31 @@ export function validateTypeName(type) {
328
300
  export function validateEntityId(id) {
329
301
  // Check string type
330
302
  if (typeof id !== 'string') {
331
- throw new ValidationError(`Invalid id: must be a string, got ${id === null ? 'null' : typeof id}`, 'id', id);
303
+ throw new ValidationError(`Invalid id: must be a string, got ${id === null ? 'null' : typeof id}`, 'Input', 'id', id);
332
304
  }
333
305
  // Check empty
334
306
  if (id.length === 0) {
335
- throw new ValidationError('Invalid id: must not be empty', 'id', id);
307
+ throw new ValidationError('Invalid id: must not be empty', 'Input', 'id', id);
336
308
  }
337
309
  // Check length
338
310
  if (id.length > MAX_ID_LENGTH) {
339
- throw new ValidationError(`Invalid id: exceeds maximum length of ${MAX_ID_LENGTH}`, 'id', id);
311
+ throw new ValidationError(`Invalid id: exceeds maximum length of ${MAX_ID_LENGTH}`, 'Input', 'id', id);
340
312
  }
341
313
  // Check control characters
342
314
  if (containsControlCharacters(id)) {
343
- throw new ValidationError('Invalid id: contains special characters that are not allowed', 'id', id);
315
+ throw new ValidationError('Invalid id: contains special characters that are not allowed', 'Input', 'id', id);
344
316
  }
345
317
  // Check SQL injection
346
318
  if (containsSqlInjection(id)) {
347
- throw new ValidationError('Invalid id: contains injection patterns that are not allowed', 'id', id);
319
+ throw new ValidationError('Invalid id: contains injection patterns that are not allowed', 'Input', 'id', id);
348
320
  }
349
321
  // Check path traversal
350
322
  if (containsPathTraversal(id)) {
351
- throw new ValidationError('Invalid id: contains path traversal patterns that are not allowed', 'id', id);
323
+ throw new ValidationError('Invalid id: contains path traversal patterns that are not allowed', 'Input', 'id', id);
352
324
  }
353
325
  // Check pattern (alphanumeric + underscore + hyphen) using allowlist
354
326
  if (!isValidEntityIdFormat(id)) {
355
- throw new ValidationError('Invalid id: must contain only alphanumeric characters, underscores, and hyphens', 'id', id);
327
+ throw new ValidationError('Invalid id: must contain only alphanumeric characters, underscores, and hyphens', 'Input', 'id', id);
356
328
  }
357
329
  }
358
330
  /**
@@ -369,10 +341,10 @@ export function validateEntityId(id) {
369
341
  */
370
342
  export function validateSearchQuery(query) {
371
343
  if (typeof query !== 'string') {
372
- throw new ValidationError(`Invalid query: must be a string, got ${query === null ? 'null' : typeof query}`, 'query', query);
344
+ throw new ValidationError(`Invalid query: must be a string, got ${query === null ? 'null' : typeof query}`, 'Input', 'query', query);
373
345
  }
374
346
  if (query.length > MAX_QUERY_LENGTH) {
375
- throw new ValidationError(`Invalid query: exceeds maximum length of ${MAX_QUERY_LENGTH}`, 'query', query);
347
+ throw new ValidationError(`Invalid query: exceeds maximum length of ${MAX_QUERY_LENGTH}`, 'Input', 'query', query);
376
348
  }
377
349
  }
378
350
  /**
@@ -434,18 +406,18 @@ function containsPrototypePollution(obj) {
434
406
  */
435
407
  export function validateEntityData(data) {
436
408
  if (data === null || typeof data !== 'object' || Array.isArray(data)) {
437
- throw new ValidationError('Invalid data: must be an object', 'data', data);
409
+ throw new ValidationError('Invalid data: must be an object', 'Input', 'data', data);
438
410
  }
439
411
  // Check depth
440
412
  const depth = calculateObjectDepth(data);
441
413
  if (depth > MAX_OBJECT_DEPTH) {
442
- throw new ValidationError(`Invalid data: nested too deep, maximum depth is ${MAX_OBJECT_DEPTH}`, 'data');
414
+ throw new ValidationError(`Invalid data: nested too deep, maximum depth is ${MAX_OBJECT_DEPTH}`, 'Input', 'data');
443
415
  }
444
416
  // Check for prototype pollution - but only reject 'constructor' at top level
445
417
  // __proto__ is harmless in JSON.parse'd objects
446
418
  const record = data;
447
419
  if ('constructor' in record && typeof record['constructor'] === 'object') {
448
- throw new ValidationError('Invalid data: constructor property not allowed', 'data');
420
+ throw new ValidationError('Invalid data: constructor property not allowed', 'Input', 'data');
449
421
  }
450
422
  }
451
423
  /**
@@ -462,20 +434,20 @@ export function validateEntityData(data) {
462
434
  */
463
435
  export function validateRelationName(relation) {
464
436
  if (typeof relation !== 'string') {
465
- throw new ValidationError(`Invalid relation: must be a string, got ${relation === null ? 'null' : typeof relation}`, 'relation', relation);
437
+ throw new ValidationError(`Invalid relation: must be a string, got ${relation === null ? 'null' : typeof relation}`, 'Input', 'relation', relation);
466
438
  }
467
439
  if (relation.length === 0) {
468
- throw new ValidationError('Invalid relation: must not be empty', 'relation', relation);
440
+ throw new ValidationError('Invalid relation: must not be empty', 'Input', 'relation', relation);
469
441
  }
470
442
  if (relation.length > MAX_RELATION_LENGTH) {
471
- throw new ValidationError(`Invalid relation: exceeds maximum length of ${MAX_RELATION_LENGTH}`, 'relation', relation);
443
+ throw new ValidationError(`Invalid relation: exceeds maximum length of ${MAX_RELATION_LENGTH}`, 'Input', 'relation', relation);
472
444
  }
473
445
  if (containsSqlInjection(relation)) {
474
- throw new ValidationError('Invalid relation: contains injection patterns that are not allowed', 'relation', relation);
446
+ throw new ValidationError('Invalid relation: contains injection patterns that are not allowed', 'Input', 'relation', relation);
475
447
  }
476
448
  // Check pattern using allowlist
477
449
  if (!isValidRelationNameFormat(relation)) {
478
- throw new ValidationError('Invalid relation: must be alphanumeric with underscores, starting with a letter', 'relation', relation);
450
+ throw new ValidationError('Invalid relation: must be alphanumeric with underscores, starting with a letter', 'Input', 'relation', relation);
479
451
  }
480
452
  }
481
453
  /**
@@ -490,13 +462,13 @@ export function validateRelationName(relation) {
490
462
  */
491
463
  export function validateEventPattern(pattern) {
492
464
  if (typeof pattern !== 'string') {
493
- throw new ValidationError(`Invalid pattern: must be a string, got ${pattern === null ? 'null' : typeof pattern}`, 'pattern', pattern);
465
+ throw new ValidationError(`Invalid pattern: must be a string, got ${pattern === null ? 'null' : typeof pattern}`, 'Input', 'pattern', pattern);
494
466
  }
495
467
  if (containsSqlInjection(pattern)) {
496
- throw new ValidationError('Invalid pattern: contains injection patterns that are not allowed', 'pattern', pattern);
468
+ throw new ValidationError('Invalid pattern: contains injection patterns that are not allowed', 'Input', 'pattern', pattern);
497
469
  }
498
470
  if (!EVENT_PATTERN_REGEX.test(pattern)) {
499
- throw new ValidationError('Invalid pattern: must be a valid event pattern (Type.action, *.action, Type.*, or *)', 'pattern', pattern);
471
+ throw new ValidationError('Invalid pattern: must be a valid event pattern (Type.action, *.action, Type.*, or *)', 'Input', 'pattern', pattern);
500
472
  }
501
473
  }
502
474
  /**
@@ -511,14 +483,14 @@ export function validateEventPattern(pattern) {
511
483
  */
512
484
  export function validateActionType(actionType) {
513
485
  if (typeof actionType !== 'string') {
514
- throw new ValidationError(`Invalid type: must be a string, got ${actionType === null ? 'null' : typeof actionType}`, 'type', actionType);
486
+ throw new ValidationError(`Invalid type: must be a string, got ${actionType === null ? 'null' : typeof actionType}`, 'Input', 'type', actionType);
515
487
  }
516
488
  if (containsSqlInjection(actionType)) {
517
- throw new ValidationError('Invalid type: contains injection patterns that are not allowed', 'type', actionType);
489
+ throw new ValidationError('Invalid type: contains injection patterns that are not allowed', 'Input', 'type', actionType);
518
490
  }
519
491
  // Check pattern using allowlist
520
492
  if (!isValidActionTypeFormat(actionType)) {
521
- throw new ValidationError('Invalid type: must be alphanumeric with underscores, starting with a letter', 'type', actionType);
493
+ throw new ValidationError('Invalid type: must be alphanumeric with underscores, starting with a letter', 'Input', 'type', actionType);
522
494
  }
523
495
  }
524
496
  /**
@@ -533,13 +505,13 @@ export function validateActionType(actionType) {
533
505
  */
534
506
  export function validateArtifactUrl(url) {
535
507
  if (typeof url !== 'string') {
536
- throw new ValidationError(`Invalid url: must be a string, got ${url === null ? 'null' : typeof url}`, 'url', url);
508
+ throw new ValidationError(`Invalid url: must be a string, got ${url === null ? 'null' : typeof url}`, 'Input', 'url', url);
537
509
  }
538
510
  if (containsPathTraversal(url)) {
539
- throw new ValidationError('Invalid url: path traversal not allowed', 'url', url);
511
+ throw new ValidationError('Invalid url: path traversal not allowed', 'Input', 'url', url);
540
512
  }
541
513
  if (containsProtocolInjection(url)) {
542
- throw new ValidationError('Invalid url: protocol not allowed', 'url', url);
514
+ throw new ValidationError('Invalid url: protocol not allowed', 'Input', 'url', url);
543
515
  }
544
516
  }
545
517
  /**
@@ -555,21 +527,21 @@ export function validateArtifactUrl(url) {
555
527
  */
556
528
  export function validateFieldName(field) {
557
529
  if (typeof field !== 'string') {
558
- throw new ValidationError(`Invalid field: must be a string, got ${field === null ? 'null' : typeof field}`, 'field', field);
530
+ throw new ValidationError(`Invalid field: must be a string, got ${field === null ? 'null' : typeof field}`, 'Input', 'field', field);
559
531
  }
560
532
  // $all is a special valid field name
561
533
  if (field === '$all') {
562
534
  return;
563
535
  }
564
536
  if (containsSqlInjection(field)) {
565
- throw new ValidationError('Invalid field: contains injection patterns that are not allowed', 'field', field);
537
+ throw new ValidationError('Invalid field: contains injection patterns that are not allowed', 'Input', 'field', field);
566
538
  }
567
539
  if (field.length > MAX_FIELD_LENGTH) {
568
- throw new ValidationError(`Invalid field: exceeds maximum length of ${MAX_FIELD_LENGTH}`, 'field', field);
540
+ throw new ValidationError(`Invalid field: exceeds maximum length of ${MAX_FIELD_LENGTH}`, 'Input', 'field', field);
569
541
  }
570
542
  // Check pattern using allowlist
571
543
  if (!isValidFieldNameFormat(field)) {
572
- throw new ValidationError('Invalid field: must be alphanumeric with underscores', 'field', field);
544
+ throw new ValidationError('Invalid field: must be alphanumeric with underscores', 'Input', 'field', field);
573
545
  }
574
546
  }
575
547
  /**
@@ -593,38 +565,38 @@ export function validateListOptions(options) {
593
565
  return;
594
566
  }
595
567
  if (typeof options !== 'object') {
596
- throw new ValidationError('Invalid options: must be an object', 'options', options);
568
+ throw new ValidationError('Invalid options: must be an object', 'Input', 'options', options);
597
569
  }
598
570
  const opts = options;
599
571
  // Validate limit
600
- if (opts.limit !== undefined) {
601
- if (typeof opts.limit !== 'number') {
602
- throw new ValidationError(`Invalid limit: must be a number, got ${typeof opts.limit}`, 'limit', opts.limit);
572
+ if (opts['limit'] !== undefined) {
573
+ if (typeof opts['limit'] !== 'number') {
574
+ throw new ValidationError(`Invalid limit: must be a number, got ${typeof opts['limit']}`, 'Input', 'limit', opts['limit']);
603
575
  }
604
- if (opts.limit < 0) {
605
- throw new ValidationError('Invalid limit: must be positive or zero', 'limit', opts.limit);
576
+ if (opts['limit'] < 0) {
577
+ throw new ValidationError('Invalid limit: must be positive or zero', 'Input', 'limit', opts['limit']);
606
578
  }
607
579
  }
608
580
  // Validate offset
609
- if (opts.offset !== undefined) {
610
- if (typeof opts.offset !== 'number') {
611
- throw new ValidationError(`Invalid offset: must be a number, got ${typeof opts.offset}`, 'offset', opts.offset);
581
+ if (opts['offset'] !== undefined) {
582
+ if (typeof opts['offset'] !== 'number') {
583
+ throw new ValidationError(`Invalid offset: must be a number, got ${typeof opts['offset']}`, 'Input', 'offset', opts['offset']);
612
584
  }
613
- if (opts.offset < 0) {
614
- throw new ValidationError('Invalid offset: must be positive or zero', 'offset', opts.offset);
585
+ if (opts['offset'] < 0) {
586
+ throw new ValidationError('Invalid offset: must be positive or zero', 'Input', 'offset', opts['offset']);
615
587
  }
616
588
  }
617
589
  // Validate orderBy
618
- if (opts.orderBy !== undefined) {
619
- if (typeof opts.orderBy !== 'string') {
620
- throw new ValidationError(`Invalid orderBy: must be a string, got ${typeof opts.orderBy}`, 'orderBy', opts.orderBy);
590
+ if (opts['orderBy'] !== undefined) {
591
+ if (typeof opts['orderBy'] !== 'string') {
592
+ throw new ValidationError(`Invalid orderBy: must be a string, got ${typeof opts['orderBy']}`, 'Input', 'orderBy', opts['orderBy']);
621
593
  }
622
- if (containsSqlInjection(opts.orderBy)) {
623
- throw new ValidationError('Invalid orderBy: contains injection patterns that are not allowed', 'orderBy', opts.orderBy);
594
+ if (containsSqlInjection(opts['orderBy'])) {
595
+ throw new ValidationError('Invalid orderBy: contains injection patterns that are not allowed', 'Input', 'orderBy', opts['orderBy']);
624
596
  }
625
597
  // Check pattern using allowlist
626
- if (!isValidFieldNameFormat(opts.orderBy)) {
627
- throw new ValidationError('Invalid orderBy field: must be alphanumeric with underscores', 'orderBy', opts.orderBy);
598
+ if (!isValidFieldNameFormat(opts['orderBy'])) {
599
+ throw new ValidationError('Invalid orderBy field: must be alphanumeric with underscores', 'Input', 'orderBy', opts['orderBy']);
628
600
  }
629
601
  }
630
602
  }
@@ -641,11 +613,11 @@ export function validateSearchOptions(options) {
641
613
  validateListOptions(options);
642
614
  const opts = options;
643
615
  // Validate fields array
644
- if (opts.fields !== undefined) {
645
- if (!Array.isArray(opts.fields)) {
646
- throw new ValidationError('Invalid fields: must be an array', 'fields', opts.fields);
616
+ if (opts['fields'] !== undefined) {
617
+ if (!Array.isArray(opts['fields'])) {
618
+ throw new ValidationError('Invalid fields: must be an array', 'Input', 'fields', opts['fields']);
647
619
  }
648
- for (const field of opts.fields) {
620
+ for (const field of opts['fields']) {
649
621
  // Skip dangerous field names silently - they will be filtered out by the search method
650
622
  // This allows the search to return empty results rather than throwing
651
623
  if (typeof field === 'string' && DANGEROUS_PROPERTIES.has(field)) {
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,168 @@
1
+ /**
2
+ * DBProvider Adapter for Worker Services
3
+ *
4
+ * Bridges ai-database DBProvider/DBProviderExtended interface with the
5
+ * DatabaseServiceCore WorkerEntrypoint RPC methods.
6
+ *
7
+ * This allows using a remote ai-database worker service as a local DBProvider,
8
+ * enabling seamless integration with ai-workflows and other packages.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * // In a Cloudflare Worker with service binding
13
+ * import { createWorkerProvider } from 'ai-database/worker'
14
+ *
15
+ * export default {
16
+ * async fetch(request: Request, env: Env) {
17
+ * const provider = createWorkerProvider(env.AI_DATABASE.connect('my-ns'))
18
+ * const posts = await provider.list('Post')
19
+ * return Response.json(posts)
20
+ * }
21
+ * }
22
+ * ```
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * // Use with DB() factory for type-safe schema access
27
+ * import { DB } from 'ai-database'
28
+ * import { createWorkerProvider } from 'ai-database/worker'
29
+ *
30
+ * const provider = createWorkerProvider(env.AI_DATABASE.connect('my-ns'))
31
+ * const { Post } = DB(schema, { provider })
32
+ *
33
+ * const posts = await Post.list()
34
+ * ```
35
+ *
36
+ * @packageDocumentation
37
+ */
38
+ import type { DBProvider, DBProviderExtended, SemanticSearchResult, HybridSearchResult } from '../schema/provider.js';
39
+ import type { ListOptions, SearchOptions, SemanticSearchOptions, HybridSearchOptions, EmbeddingsConfig } from '../schema/types.js';
40
+ /**
41
+ * Interface for the DatabaseServiceCore methods exposed via RPC.
42
+ *
43
+ * This matches the methods available on DatabaseServiceCore from ../worker.ts.
44
+ * When using Cloudflare Workers service bindings, the worker.connect() method
45
+ * returns an object with these RPC methods.
46
+ */
47
+ export interface DatabaseWorkerService {
48
+ setEmbeddingsConfig(config: EmbeddingsConfig): void;
49
+ get(type: string, id: string): Promise<Record<string, unknown> | null>;
50
+ list(type: string, options?: ListOptions): Promise<Record<string, unknown>[]>;
51
+ create(type: string, data: Record<string, unknown>, id?: string): Promise<Record<string, unknown>>;
52
+ update(type: string, id: string, data: Record<string, unknown>): Promise<Record<string, unknown>>;
53
+ delete(type: string, id: string): Promise<boolean>;
54
+ search(type: string, query: string, options?: SearchOptions): Promise<Record<string, unknown>[]>;
55
+ semanticSearch(type: string, query: string, options?: SemanticSearchOptions): Promise<SemanticSearchResult[]>;
56
+ hybridSearch(type: string, query: string, options?: HybridSearchOptions): Promise<HybridSearchResult[]>;
57
+ related(type: string, id: string, relation: string): Promise<Record<string, unknown>[]>;
58
+ relate(fromType: string, fromId: string, relation: string, toType: string, toId: string, metadata?: {
59
+ matchMode?: 'exact' | 'fuzzy';
60
+ similarity?: number;
61
+ matchedType?: string;
62
+ }): Promise<void>;
63
+ unrelate(fromType: string, fromId: string, relation: string, toType: string, toId: string): Promise<void>;
64
+ on(pattern: string, handler: (event: unknown) => void): string;
65
+ unsubscribe(handlerId: string): void;
66
+ emit(eventOrOptions: string | {
67
+ event: string;
68
+ actor: string;
69
+ object?: string;
70
+ data?: unknown;
71
+ }, data?: unknown): Promise<unknown>;
72
+ listEvents(options?: {
73
+ event?: string;
74
+ actor?: string;
75
+ object?: string;
76
+ since?: Date;
77
+ until?: Date;
78
+ limit?: number;
79
+ }): Promise<unknown[]>;
80
+ createAction(options: {
81
+ action: string;
82
+ actor: string;
83
+ object?: string;
84
+ data?: unknown;
85
+ total?: number;
86
+ }): Promise<unknown>;
87
+ getAction(id: string): Promise<unknown>;
88
+ updateAction(id: string, updates: {
89
+ status?: string;
90
+ progress?: number;
91
+ result?: unknown;
92
+ error?: string;
93
+ }): Promise<unknown>;
94
+ listActions(options?: {
95
+ status?: string;
96
+ action?: string;
97
+ actor?: string;
98
+ object?: string;
99
+ since?: Date;
100
+ until?: Date;
101
+ limit?: number;
102
+ }): Promise<unknown[]>;
103
+ getArtifact(url: string, type: string): Promise<unknown>;
104
+ setArtifact(url: string, type: string, data: {
105
+ content: unknown;
106
+ sourceHash: string;
107
+ metadata?: Record<string, unknown>;
108
+ }): Promise<void>;
109
+ deleteArtifact(url: string, type?: string): Promise<void>;
110
+ listArtifacts(url: string): Promise<unknown[]>;
111
+ clear(): void;
112
+ }
113
+ /**
114
+ * Options for creating a worker provider
115
+ */
116
+ export interface WorkerProviderOptions {
117
+ /**
118
+ * Namespace for scoping database operations.
119
+ * When provided, operations are scoped to this namespace.
120
+ */
121
+ namespace?: string;
122
+ }
123
+ /**
124
+ * Create a DBProviderExtended from a DatabaseServiceCore worker binding.
125
+ *
126
+ * This adapter bridges the gap between the Cloudflare Worker RPC interface
127
+ * and the DBProvider interface used by ai-database's DB() factory.
128
+ *
129
+ * @param worker - The worker service binding (from env.AI_DATABASE.connect())
130
+ * @param options - Optional configuration
131
+ * @returns A DBProviderExtended that delegates to the worker service
132
+ *
133
+ * @example
134
+ * ```typescript
135
+ * // In your Cloudflare Worker
136
+ * export default {
137
+ * async fetch(request: Request, env: Env) {
138
+ * // Connect to the ai-database worker service
139
+ * const service = env.AI_DATABASE.connect('my-namespace')
140
+ *
141
+ * // Create a provider from the service
142
+ * const provider = createWorkerProvider(service)
143
+ *
144
+ * // Use the provider directly
145
+ * const users = await provider.list('User', { limit: 10 })
146
+ *
147
+ * // Or use with DB() for type-safe access
148
+ * const { User, Post } = DB(schema, { provider })
149
+ * const posts = await Post.list({ where: { published: true } })
150
+ *
151
+ * return Response.json({ users, posts })
152
+ * }
153
+ * }
154
+ * ```
155
+ */
156
+ export declare function createWorkerProvider(worker: DatabaseWorkerService, options?: WorkerProviderOptions): DBProviderExtended;
157
+ /**
158
+ * Create a basic DBProvider (without extended features) from a worker service.
159
+ *
160
+ * Use this when you only need the core CRUD operations and don't need
161
+ * semantic search, events, actions, or artifacts.
162
+ *
163
+ * @param worker - The worker service binding
164
+ * @param options - Optional configuration
165
+ * @returns A basic DBProvider
166
+ */
167
+ export declare function createBasicWorkerProvider(worker: DatabaseWorkerService, options?: WorkerProviderOptions): DBProvider;
168
+ //# sourceMappingURL=db-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-provider.d.ts","sourceRoot":"","sources":["../../src/worker/db-provider.ts"],"names":[],"mappings":"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"}