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
@@ -0,0 +1,277 @@
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
+ /**
39
+ * Create a DBProviderExtended from a DatabaseServiceCore worker binding.
40
+ *
41
+ * This adapter bridges the gap between the Cloudflare Worker RPC interface
42
+ * and the DBProvider interface used by ai-database's DB() factory.
43
+ *
44
+ * @param worker - The worker service binding (from env.AI_DATABASE.connect())
45
+ * @param options - Optional configuration
46
+ * @returns A DBProviderExtended that delegates to the worker service
47
+ *
48
+ * @example
49
+ * ```typescript
50
+ * // In your Cloudflare Worker
51
+ * export default {
52
+ * async fetch(request: Request, env: Env) {
53
+ * // Connect to the ai-database worker service
54
+ * const service = env.AI_DATABASE.connect('my-namespace')
55
+ *
56
+ * // Create a provider from the service
57
+ * const provider = createWorkerProvider(service)
58
+ *
59
+ * // Use the provider directly
60
+ * const users = await provider.list('User', { limit: 10 })
61
+ *
62
+ * // Or use with DB() for type-safe access
63
+ * const { User, Post } = DB(schema, { provider })
64
+ * const posts = await Post.list({ where: { published: true } })
65
+ *
66
+ * return Response.json({ users, posts })
67
+ * }
68
+ * }
69
+ * ```
70
+ */
71
+ export function createWorkerProvider(worker, options = {}) {
72
+ const { namespace } = options;
73
+ // Track event subscriptions for cleanup
74
+ const subscriptionHandlers = new Map();
75
+ return {
76
+ // ===========================================================================
77
+ // Configuration
78
+ // ===========================================================================
79
+ setEmbeddingsConfig(config) {
80
+ worker.setEmbeddingsConfig(config);
81
+ },
82
+ // ===========================================================================
83
+ // Core CRUD Operations (DBProvider interface)
84
+ // ===========================================================================
85
+ async get(type, id) {
86
+ const result = await worker.get(type, id);
87
+ if (!result)
88
+ return null;
89
+ // Worker returns EntityResult with $id/$type, extract data
90
+ const { $id, $type, ...data } = result;
91
+ return { $id: $id ?? id, ...data };
92
+ },
93
+ async list(type, options) {
94
+ const results = await worker.list(type, options);
95
+ return results;
96
+ },
97
+ async search(type, query, options) {
98
+ return worker.search(type, query, options);
99
+ },
100
+ async create(type, id, data) {
101
+ // Worker's create signature is (type, data, id?)
102
+ return worker.create(type, data, id);
103
+ },
104
+ async update(type, id, data) {
105
+ return worker.update(type, id, data);
106
+ },
107
+ async delete(type, id) {
108
+ return worker.delete(type, id);
109
+ },
110
+ async related(type, id, relation) {
111
+ return worker.related(type, id, relation);
112
+ },
113
+ async relate(fromType, fromId, relation, toType, toId, metadata) {
114
+ return worker.relate(fromType, fromId, relation, toType, toId, metadata);
115
+ },
116
+ async unrelate(fromType, fromId, relation, toType, toId) {
117
+ return worker.unrelate(fromType, fromId, relation, toType, toId);
118
+ },
119
+ // ===========================================================================
120
+ // Semantic Search (DBProviderExtended interface)
121
+ // ===========================================================================
122
+ async semanticSearch(type, query, options) {
123
+ return worker.semanticSearch(type, query, options);
124
+ },
125
+ async hybridSearch(type, query, options) {
126
+ return worker.hybridSearch(type, query, options);
127
+ },
128
+ // ===========================================================================
129
+ // Events API (DBProviderExtended interface)
130
+ // ===========================================================================
131
+ on(pattern, handler) {
132
+ // Worker returns a handler ID, we need to wrap the handler and store the ID
133
+ // for later unsubscription
134
+ const handlerId = worker.on(pattern, (event) => {
135
+ handler(event);
136
+ });
137
+ // Create unsubscribe function
138
+ const unsubscribe = () => {
139
+ worker.unsubscribe(handlerId);
140
+ subscriptionHandlers.delete(unsubscribe);
141
+ };
142
+ subscriptionHandlers.set(unsubscribe, handlerId);
143
+ return unsubscribe;
144
+ },
145
+ emit: (async (optionsOrType, data) => {
146
+ if (typeof optionsOrType === 'string') {
147
+ const result = await worker.emit(optionsOrType, data);
148
+ return result;
149
+ }
150
+ const emitOptions = {
151
+ event: optionsOrType.event,
152
+ actor: optionsOrType.actor,
153
+ };
154
+ if (optionsOrType.object !== undefined) {
155
+ emitOptions.object = optionsOrType.object;
156
+ }
157
+ if (optionsOrType.objectData !== undefined) {
158
+ emitOptions.data = optionsOrType.objectData;
159
+ }
160
+ const result = await worker.emit(emitOptions);
161
+ return result;
162
+ }),
163
+ async listEvents(options) {
164
+ const results = await worker.listEvents(options);
165
+ return results;
166
+ },
167
+ async replayEvents(options) {
168
+ // Get events and replay them through the handler
169
+ // Build the options object, only including defined properties
170
+ const listOptions = {};
171
+ if (options.event !== undefined)
172
+ listOptions.event = options.event;
173
+ if (options.actor !== undefined)
174
+ listOptions.actor = options.actor;
175
+ if (options.since !== undefined)
176
+ listOptions.since = options.since;
177
+ const events = await worker.listEvents(listOptions);
178
+ for (const event of events) {
179
+ await options.handler(event);
180
+ }
181
+ },
182
+ // ===========================================================================
183
+ // Actions API (DBProviderExtended interface)
184
+ // ===========================================================================
185
+ async createAction(options) {
186
+ // Handle legacy format
187
+ if ('type' in options && !('action' in options)) {
188
+ const legacyOpts = {
189
+ action: options.type,
190
+ actor: 'system',
191
+ };
192
+ if (options.data !== undefined)
193
+ legacyOpts.data = options.data;
194
+ if (options.total !== undefined)
195
+ legacyOpts.total = options.total;
196
+ const result = await worker.createAction(legacyOpts);
197
+ return result;
198
+ }
199
+ const createOptions = options;
200
+ const actionOpts = {
201
+ action: createOptions.action,
202
+ actor: createOptions.actor,
203
+ };
204
+ if (createOptions.object !== undefined)
205
+ actionOpts.object = createOptions.object;
206
+ if (createOptions.objectData !== undefined)
207
+ actionOpts.data = createOptions.objectData;
208
+ if (createOptions.total !== undefined)
209
+ actionOpts.total = createOptions.total;
210
+ const result = await worker.createAction(actionOpts);
211
+ return result;
212
+ },
213
+ async getAction(id) {
214
+ const result = await worker.getAction(id);
215
+ return result;
216
+ },
217
+ async updateAction(id, updates) {
218
+ const result = await worker.updateAction(id, updates);
219
+ return result;
220
+ },
221
+ async listActions(options) {
222
+ const results = await worker.listActions(options);
223
+ return results;
224
+ },
225
+ async retryAction(id) {
226
+ // Retry by updating status back to pending
227
+ const result = await worker.updateAction(id, { status: 'pending' });
228
+ return result;
229
+ },
230
+ async cancelAction(id) {
231
+ await worker.updateAction(id, { status: 'cancelled' });
232
+ },
233
+ // ===========================================================================
234
+ // Artifacts API (DBProviderExtended interface)
235
+ // ===========================================================================
236
+ async getArtifact(url, type) {
237
+ const result = await worker.getArtifact(url, type);
238
+ return result;
239
+ },
240
+ async setArtifact(url, type, data) {
241
+ return worker.setArtifact(url, type, data);
242
+ },
243
+ async deleteArtifact(url, type) {
244
+ return worker.deleteArtifact(url, type);
245
+ },
246
+ async listArtifacts(url) {
247
+ const results = await worker.listArtifacts(url);
248
+ return results;
249
+ },
250
+ };
251
+ }
252
+ /**
253
+ * Create a basic DBProvider (without extended features) from a worker service.
254
+ *
255
+ * Use this when you only need the core CRUD operations and don't need
256
+ * semantic search, events, actions, or artifacts.
257
+ *
258
+ * @param worker - The worker service binding
259
+ * @param options - Optional configuration
260
+ * @returns A basic DBProvider
261
+ */
262
+ export function createBasicWorkerProvider(worker, options = {}) {
263
+ const full = createWorkerProvider(worker, options);
264
+ // Return only the basic DBProvider interface
265
+ return {
266
+ get: full.get,
267
+ list: full.list,
268
+ search: full.search,
269
+ create: full.create,
270
+ update: full.update,
271
+ delete: full.delete,
272
+ related: full.related,
273
+ relate: full.relate,
274
+ unrelate: full.unrelate,
275
+ };
276
+ }
277
+ //# sourceMappingURL=db-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-provider.js","sourceRoot":"","sources":["../../src/worker/db-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Worker Export - WorkerEntrypoint and Durable Object for Cloudflare Workers
3
+ *
4
+ * Use this export when deploying ai-database as a Cloudflare Worker service.
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * // worker.ts - the ai-database service
9
+ * import { DatabaseWorker, DatabaseDO } from 'ai-database/worker'
10
+ *
11
+ * export { DatabaseDO }
12
+ * export default DatabaseWorker
13
+ * ```
14
+ *
15
+ * @example
16
+ * ```jsonc
17
+ * // wrangler.jsonc
18
+ * {
19
+ * "name": "ai-database",
20
+ * "main": "src/worker.ts",
21
+ * "durable_objects": {
22
+ * "bindings": [
23
+ * { "name": "DATABASE_DO", "class_name": "DatabaseDO" }
24
+ * ]
25
+ * }
26
+ * }
27
+ * ```
28
+ *
29
+ * @packageDocumentation
30
+ */
31
+ export { DatabaseService, DatabaseService as DatabaseWorker, DatabaseServiceCore, DatabaseDO, } from '../worker.js';
32
+ export { createWorkerProvider, createBasicWorkerProvider, type DatabaseWorkerService, type WorkerProviderOptions, } from './db-provider.js';
33
+ export type { Env, EnvWithAI, MockExecutionContext, MockDurableObjectState, MockDurableObjectStorage, MockDurableObjectId, SqlStorage, SqlStorageResult, DataRow, RelRow, EventRow, EmbeddingRow, SubscriptionRow, MetaRow, CountRow, DeserializedDataRow, DeserializedRelRow, DeserializedEventRow, DatabaseEventHandler, ActionStatus, Action, Artifact, CreateDataBody, UpdateDataBody, CreateRelBody, CreateEventBody, SearchBody, SemanticSearchBody, HybridSearchBody, TraverseFilterBody, ReplayEventsBody, SubscribeBody, EmbeddingsConfigBody, EmbeddingsGenerateBody, EmbeddingsBatchBody, UpdateRelMetadataBody, QueryListBody, QueryFindBody, PipelineConfigBody, PipelineTestErrorBody, EntityResult, SearchResult, SemanticSearchResult, HybridSearchResult, } from '../worker.js';
34
+ export { default } from '../worker.js';
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,EACL,eAAe,EACf,eAAe,IAAI,cAAc,EACjC,mBAAmB,EACnB,UAAU,GACX,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,kBAAkB,CAAA;AAGzB,YAAY,EAEV,GAAG,EACH,SAAS,EAET,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EAEnB,UAAU,EACV,gBAAgB,EAEhB,OAAO,EACP,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,OAAO,EACP,QAAQ,EAER,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EAEpB,oBAAoB,EAEpB,YAAY,EACZ,MAAM,EACN,QAAQ,EAER,cAAc,EACd,cAAc,EACd,aAAa,EACb,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EAErB,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Worker Export - WorkerEntrypoint and Durable Object for Cloudflare Workers
3
+ *
4
+ * Use this export when deploying ai-database as a Cloudflare Worker service.
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * // worker.ts - the ai-database service
9
+ * import { DatabaseWorker, DatabaseDO } from 'ai-database/worker'
10
+ *
11
+ * export { DatabaseDO }
12
+ * export default DatabaseWorker
13
+ * ```
14
+ *
15
+ * @example
16
+ * ```jsonc
17
+ * // wrangler.jsonc
18
+ * {
19
+ * "name": "ai-database",
20
+ * "main": "src/worker.ts",
21
+ * "durable_objects": {
22
+ * "bindings": [
23
+ * { "name": "DATABASE_DO", "class_name": "DatabaseDO" }
24
+ * ]
25
+ * }
26
+ * }
27
+ * ```
28
+ *
29
+ * @packageDocumentation
30
+ */
31
+ // Re-export worker classes
32
+ export { DatabaseService, DatabaseService as DatabaseWorker, DatabaseServiceCore, DatabaseDO, } from '../worker.js';
33
+ // Re-export DBProvider adapter for worker services
34
+ export { createWorkerProvider, createBasicWorkerProvider, } from './db-provider.js';
35
+ // Re-export default
36
+ export { default } from '../worker.js';
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,2BAA2B;AAC3B,OAAO,EACL,eAAe,EACf,eAAe,IAAI,cAAc,EACjC,mBAAmB,EACnB,UAAU,GACX,MAAM,cAAc,CAAA;AAErB,mDAAmD;AACnD,OAAO,EACL,oBAAoB,EACpB,yBAAyB,GAG1B,MAAM,kBAAkB,CAAA;AA2DzB,oBAAoB;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA"}