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 @@
1
+ {"version":3,"file":"ch-adapter.js","sourceRoot":"","sources":["../src/ch-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Client Export - RPC client for connecting to ai-database workers
3
+ *
4
+ * Use this export when consuming ai-database as an RPC service from
5
+ * another Cloudflare Worker or any HTTP client.
6
+ *
7
+ * @example Using with Cloudflare service bindings
8
+ * ```typescript
9
+ * // consumer-worker.ts
10
+ * import type { DatabaseService } from 'ai-database/worker'
11
+ *
12
+ * interface Env {
13
+ * AI_DATABASE: Service<DatabaseService>
14
+ * }
15
+ *
16
+ * export default {
17
+ * async fetch(request: Request, env: Env) {
18
+ * // Direct RPC via service binding
19
+ * const service = env.AI_DATABASE.connect('my-namespace')
20
+ * const post = await service.create('Post', { title: 'Hello' })
21
+ * return Response.json(post)
22
+ * }
23
+ * }
24
+ * ```
25
+ *
26
+ * @example Using with HTTP client (rpc.do)
27
+ * ```typescript
28
+ * import { createDatabaseClient } from 'ai-database/client'
29
+ *
30
+ * const client = createDatabaseClient('https://ai-database.workers.dev')
31
+ * const service = client.connect('my-namespace')
32
+ * const post = await service.create('Post', { title: 'Hello World' })
33
+ * ```
34
+ *
35
+ * @packageDocumentation
36
+ */
37
+ export { createDatabaseClient, default } from '../client.js';
38
+ export type { DatabaseClient, DatabaseClientOptions, DatabaseServiceAPI, DatabaseServiceCoreAPI, EntityResult, SearchResult, SemanticSearchResult, HybridSearchResult, DeserializedEventRow, Action, Artifact, } from '../client.js';
39
+ export { DB } from '../schema.js';
40
+ export { toExpanded, toFlat } from '../types.js';
41
+ export type { ThingFlat, ThingExpanded, DatabaseSchema, EntitySchema, FieldDefinition, PrimitiveType, ParsedSchema, ParsedEntity, ParsedField, DBProvider, ListOptions, SearchOptions, DBResult, TypedDB, EntityOperations, DBEvent, ActorData, DBAction, DBArtifact, NLQueryResult, NLQueryContext, NLQueryPlan, EntityId, Thing, Relationship, QueryOptions, ThingSearchOptions, CreateOptions, UpdateOptions, RelateOptions, StoreArtifactOptions, EventQueryOptions, ActionQueryOptions, ActionStatus, ArtifactType, DBClient, DBClientExtended, SemanticSearchOptions, HybridSearchOptions, } from '../schema.js';
42
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAGH,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAG5D,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,MAAM,EACN,QAAQ,GACT,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AAGjC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGhD,YAAY,EAEV,SAAS,EACT,aAAa,EAEb,cAAc,EACd,YAAY,EACZ,eAAe,EACf,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EAEX,UAAU,EACV,WAAW,EACX,aAAa,EAEb,QAAQ,EACR,OAAO,EACP,gBAAgB,EAEhB,OAAO,EACP,SAAS,EAET,QAAQ,EAER,UAAU,EAEV,aAAa,EACb,cAAc,EACd,WAAW,EAEX,QAAQ,EACR,KAAK,EACL,YAAY,EAEZ,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,aAAa,EAEb,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,YAAY,EAEZ,QAAQ,EACR,gBAAgB,EAEhB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,cAAc,CAAA"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Client Export - RPC client for connecting to ai-database workers
3
+ *
4
+ * Use this export when consuming ai-database as an RPC service from
5
+ * another Cloudflare Worker or any HTTP client.
6
+ *
7
+ * @example Using with Cloudflare service bindings
8
+ * ```typescript
9
+ * // consumer-worker.ts
10
+ * import type { DatabaseService } from 'ai-database/worker'
11
+ *
12
+ * interface Env {
13
+ * AI_DATABASE: Service<DatabaseService>
14
+ * }
15
+ *
16
+ * export default {
17
+ * async fetch(request: Request, env: Env) {
18
+ * // Direct RPC via service binding
19
+ * const service = env.AI_DATABASE.connect('my-namespace')
20
+ * const post = await service.create('Post', { title: 'Hello' })
21
+ * return Response.json(post)
22
+ * }
23
+ * }
24
+ * ```
25
+ *
26
+ * @example Using with HTTP client (rpc.do)
27
+ * ```typescript
28
+ * import { createDatabaseClient } from 'ai-database/client'
29
+ *
30
+ * const client = createDatabaseClient('https://ai-database.workers.dev')
31
+ * const service = client.connect('my-namespace')
32
+ * const post = await service.create('Post', { title: 'Hello World' })
33
+ * ```
34
+ *
35
+ * @packageDocumentation
36
+ */
37
+ // Re-export the client factory and default client
38
+ export { createDatabaseClient, default } from '../client.js';
39
+ // Re-export DB factory for client-side schema definition
40
+ export { DB } from '../schema.js';
41
+ // Re-export type utilities for entity transformation
42
+ export { toExpanded, toFlat } from '../types.js';
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,kDAAkD;AAClD,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAiB5D,yDAAyD;AACzD,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AAEjC,qDAAqD;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,266 @@
1
+ /**
2
+ * RPC Client for AI Database
3
+ *
4
+ * Provides a typed RPC client that connects to the deployed
5
+ * ai-database worker using rpc.do for remote procedure calls.
6
+ *
7
+ * This module is designed to work in browsers and edge runtimes
8
+ * without any Node.js-specific dependencies.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import { createDatabaseClient } from 'ai-database/client'
13
+ *
14
+ * const client = createDatabaseClient('https://ai-database.workers.dev')
15
+ * const service = client.connect('my-namespace')
16
+ * const post = await service.create('Post', { title: 'Hello World' })
17
+ * const found = await service.get('Post', post.$id)
18
+ * ```
19
+ *
20
+ * @packageDocumentation
21
+ */
22
+ import { type RPCProxy, type SqlQuery, type RemoteStorage, type RemoteCollections, type DatabaseSchema as RpcDatabaseSchema, type RpcSchema } from 'rpc.do';
23
+ /**
24
+ * DO Client features available on RPC proxy
25
+ * This mirrors the DOClientFeatures interface from rpc.do which is not exported
26
+ */
27
+ interface DOClientFeatures {
28
+ /** Tagged template SQL query */
29
+ sql: <R = Record<string, unknown>>(strings: TemplateStringsArray, ...values: unknown[]) => SqlQuery<R>;
30
+ /** Remote storage access */
31
+ storage: RemoteStorage;
32
+ /** Remote collection access (MongoDB-style) */
33
+ collection: RemoteCollections;
34
+ /** Get database schema */
35
+ dbSchema: () => Promise<RpcDatabaseSchema>;
36
+ /** Get full RPC schema */
37
+ schema: () => Promise<RpcSchema>;
38
+ }
39
+ /**
40
+ * Type for the AI Database RPC client
41
+ */
42
+ export type DatabaseClient = RPCProxy<DatabaseServiceAPI> & DOClientFeatures;
43
+ export type { ThingFlat, ThingExpanded, DatabaseSchema, EntitySchema, FieldDefinition, PrimitiveType, ParsedSchema, ParsedEntity, ParsedField, DBProvider, ListOptions, SearchOptions, DBResult, TypedDB, EntityOperations, DBEvent, ActorData, DBAction, DBArtifact, NLQueryResult, NLQueryContext, NLQueryPlan, EntityId, Thing, Relationship, QueryOptions, ThingSearchOptions, CreateOptions, UpdateOptions, RelateOptions, StoreArtifactOptions, EventQueryOptions, ActionQueryOptions, ActionStatus, ArtifactType, DBClient, DBClientExtended, SemanticSearchOptions, HybridSearchOptions, } from './schema.js';
44
+ export { DB } from './schema.js';
45
+ export { toExpanded, toFlat } from './types.js';
46
+ /**
47
+ * Entity result type with standard fields
48
+ */
49
+ export interface EntityResult {
50
+ $id: string;
51
+ $type: string;
52
+ [key: string]: unknown;
53
+ }
54
+ /**
55
+ * Search result with score
56
+ */
57
+ export interface SearchResult extends EntityResult {
58
+ $score?: number;
59
+ }
60
+ /**
61
+ * Semantic search result with scores
62
+ */
63
+ export interface SemanticSearchResult extends EntityResult {
64
+ $score: number;
65
+ }
66
+ /**
67
+ * Hybrid search result with RRF and component scores
68
+ */
69
+ export interface HybridSearchResult extends SemanticSearchResult {
70
+ $rrfScore: number;
71
+ $ftsRank: number;
72
+ $semanticRank: number;
73
+ }
74
+ /**
75
+ * Deserialized event row
76
+ */
77
+ export interface DeserializedEventRow {
78
+ id: string;
79
+ event: string;
80
+ actor: string | null;
81
+ object: string | null;
82
+ data: unknown;
83
+ result: string | null;
84
+ previousData: unknown;
85
+ timestamp: string;
86
+ }
87
+ /**
88
+ * Action interface
89
+ */
90
+ export interface Action {
91
+ id: string;
92
+ action: string;
93
+ actor: string;
94
+ object?: string;
95
+ status: 'pending' | 'in_progress' | 'completed' | 'failed';
96
+ progress?: number;
97
+ total?: number;
98
+ data?: unknown;
99
+ result?: unknown;
100
+ error?: string;
101
+ createdAt: string;
102
+ updatedAt: string;
103
+ }
104
+ /**
105
+ * Artifact interface
106
+ */
107
+ export interface Artifact {
108
+ url: string;
109
+ type: string;
110
+ content: unknown;
111
+ sourceHash: string;
112
+ metadata?: Record<string, unknown>;
113
+ createdAt: string;
114
+ updatedAt: string;
115
+ }
116
+ /**
117
+ * DatabaseServiceCoreAPI - Type-safe interface matching DatabaseServiceCore RPC methods
118
+ *
119
+ * This interface mirrors all public methods on DatabaseServiceCore so that
120
+ * the RPC client provides full type safety when calling remote methods.
121
+ */
122
+ export interface DatabaseServiceCoreAPI {
123
+ get(type: string, id: string): Promise<EntityResult | null>;
124
+ list(type: string, options?: {
125
+ limit?: number;
126
+ offset?: number;
127
+ }): Promise<EntityResult[]>;
128
+ create(type: string, data: Record<string, unknown>, id?: string): Promise<EntityResult>;
129
+ update(type: string, id: string, data: Record<string, unknown>): Promise<EntityResult>;
130
+ delete(type: string, id: string): Promise<boolean>;
131
+ search(type: string, query: string, options?: {
132
+ limit?: number;
133
+ fields?: string[];
134
+ }): Promise<SearchResult[]>;
135
+ semanticSearch(type: string, query: string, options?: {
136
+ limit?: number;
137
+ threshold?: number;
138
+ }): Promise<SemanticSearchResult[]>;
139
+ hybridSearch(type: string, query: string, options?: {
140
+ limit?: number;
141
+ ftsWeight?: number;
142
+ semanticWeight?: number;
143
+ }): Promise<HybridSearchResult[]>;
144
+ related(type: string, id: string, relation: string): Promise<EntityResult[]>;
145
+ relate(fromType: string, fromId: string, relation: string, toType: string, toId: string, metadata?: {
146
+ matchMode?: 'exact' | 'fuzzy';
147
+ similarity?: number;
148
+ matchedType?: string;
149
+ }): Promise<void>;
150
+ unrelate(fromType: string, fromId: string, relation: string, toType: string, toId: string): Promise<void>;
151
+ on(pattern: string, handler: (event: DeserializedEventRow) => void | Promise<void>): string;
152
+ unsubscribe(handlerId: string): void;
153
+ emit(eventOrOptions: string | {
154
+ event: string;
155
+ actor: string;
156
+ object?: string;
157
+ data?: unknown;
158
+ }, data?: unknown): Promise<DeserializedEventRow | null>;
159
+ listEvents(options?: {
160
+ event?: string;
161
+ actor?: string;
162
+ object?: string;
163
+ since?: Date;
164
+ until?: Date;
165
+ limit?: number;
166
+ }): Promise<DeserializedEventRow[]>;
167
+ createAction(options: {
168
+ action: string;
169
+ actor: string;
170
+ object?: string;
171
+ data?: unknown;
172
+ total?: number;
173
+ }): Promise<Action | null>;
174
+ getAction(id: string): Promise<Action | null>;
175
+ updateAction(id: string, updates: {
176
+ status?: string;
177
+ progress?: number;
178
+ result?: unknown;
179
+ error?: string;
180
+ }): Promise<Action | null>;
181
+ listActions(options?: {
182
+ status?: string;
183
+ action?: string;
184
+ actor?: string;
185
+ object?: string;
186
+ since?: Date;
187
+ until?: Date;
188
+ limit?: number;
189
+ }): Promise<Action[]>;
190
+ getArtifact(url: string, type: string): Promise<Artifact | null>;
191
+ setArtifact(url: string, type: string, data: {
192
+ content: unknown;
193
+ sourceHash: string;
194
+ metadata?: Record<string, unknown>;
195
+ }): Promise<void>;
196
+ deleteArtifact(url: string, type?: string): Promise<void>;
197
+ listArtifacts(url: string): Promise<Artifact[]>;
198
+ clear(): void;
199
+ }
200
+ /**
201
+ * DatabaseServiceAPI - Type-safe interface matching DatabaseService RPC methods
202
+ */
203
+ export interface DatabaseServiceAPI {
204
+ connect(namespace?: string): DatabaseServiceCoreAPI;
205
+ }
206
+ /**
207
+ * Options for creating an AI Database RPC client
208
+ */
209
+ export interface DatabaseClientOptions {
210
+ /** Authentication token or API key */
211
+ token?: string;
212
+ /** Request timeout in milliseconds */
213
+ timeout?: number;
214
+ /** Custom headers to include in requests */
215
+ headers?: Record<string, string>;
216
+ }
217
+ /**
218
+ * Create a typed RPC client for the ai-database worker
219
+ *
220
+ * @param url - The URL of the deployed ai-database worker
221
+ * @param options - Optional client configuration
222
+ * @returns A typed RPC client with all DatabaseService methods
223
+ *
224
+ * @example
225
+ * ```ts
226
+ * import { createDatabaseClient } from 'ai-database/client'
227
+ *
228
+ * // Connect to production
229
+ * const client = createDatabaseClient('https://ai-database.workers.dev')
230
+ *
231
+ * // Connect to a namespace
232
+ * const service = client.connect('my-namespace')
233
+ *
234
+ * // CRUD operations
235
+ * const post = await service.create('Post', { title: 'Hello', content: 'World' })
236
+ * const posts = await service.list('Post', { limit: 10 })
237
+ * const found = await service.get('Post', post.$id)
238
+ *
239
+ * // Search
240
+ * const results = await service.search('Post', 'hello')
241
+ * const semantic = await service.semanticSearch('Post', 'greeting posts')
242
+ *
243
+ * // Relationships
244
+ * await service.relate('Post', post.$id, 'author', 'User', userId)
245
+ * const authors = await service.related('Post', post.$id, 'author')
246
+ *
247
+ * // Events
248
+ * await service.emit({ event: 'Post.published', actor: userId, object: post.$id })
249
+ * const events = await service.listEvents({ event: 'Post.published' })
250
+ * ```
251
+ */
252
+ export declare function createDatabaseClient(url?: string, options?: DatabaseClientOptions): DatabaseClient;
253
+ /**
254
+ * Default client instance connected to the production ai-database worker
255
+ *
256
+ * @example
257
+ * ```ts
258
+ * import client from 'ai-database/client'
259
+ *
260
+ * const service = client.connect('my-namespace')
261
+ * const post = await service.create('Post', { title: 'Hello' })
262
+ * ```
263
+ */
264
+ declare const client: DatabaseClient;
265
+ export default client;
266
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js ADDED
@@ -0,0 +1,81 @@
1
+ /**
2
+ * RPC Client for AI Database
3
+ *
4
+ * Provides a typed RPC client that connects to the deployed
5
+ * ai-database worker using rpc.do for remote procedure calls.
6
+ *
7
+ * This module is designed to work in browsers and edge runtimes
8
+ * without any Node.js-specific dependencies.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import { createDatabaseClient } from 'ai-database/client'
13
+ *
14
+ * const client = createDatabaseClient('https://ai-database.workers.dev')
15
+ * const service = client.connect('my-namespace')
16
+ * const post = await service.create('Post', { title: 'Hello World' })
17
+ * const found = await service.get('Post', post.$id)
18
+ * ```
19
+ *
20
+ * @packageDocumentation
21
+ */
22
+ import { RPC, http, } from 'rpc.do';
23
+ // Re-export DB factory for client-side schema definition
24
+ export { DB } from './schema.js';
25
+ // Re-export type utilities
26
+ export { toExpanded, toFlat } from './types.js';
27
+ // ==================== Client Factory ====================
28
+ /** Default URL for the ai-database worker */
29
+ const DEFAULT_URL = 'https://ai-database.workers.dev';
30
+ /**
31
+ * Create a typed RPC client for the ai-database worker
32
+ *
33
+ * @param url - The URL of the deployed ai-database worker
34
+ * @param options - Optional client configuration
35
+ * @returns A typed RPC client with all DatabaseService methods
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * import { createDatabaseClient } from 'ai-database/client'
40
+ *
41
+ * // Connect to production
42
+ * const client = createDatabaseClient('https://ai-database.workers.dev')
43
+ *
44
+ * // Connect to a namespace
45
+ * const service = client.connect('my-namespace')
46
+ *
47
+ * // CRUD operations
48
+ * const post = await service.create('Post', { title: 'Hello', content: 'World' })
49
+ * const posts = await service.list('Post', { limit: 10 })
50
+ * const found = await service.get('Post', post.$id)
51
+ *
52
+ * // Search
53
+ * const results = await service.search('Post', 'hello')
54
+ * const semantic = await service.semanticSearch('Post', 'greeting posts')
55
+ *
56
+ * // Relationships
57
+ * await service.relate('Post', post.$id, 'author', 'User', userId)
58
+ * const authors = await service.related('Post', post.$id, 'author')
59
+ *
60
+ * // Events
61
+ * await service.emit({ event: 'Post.published', actor: userId, object: post.$id })
62
+ * const events = await service.listEvents({ event: 'Post.published' })
63
+ * ```
64
+ */
65
+ export function createDatabaseClient(url = DEFAULT_URL, options) {
66
+ return RPC(http(url, options?.token));
67
+ }
68
+ /**
69
+ * Default client instance connected to the production ai-database worker
70
+ *
71
+ * @example
72
+ * ```ts
73
+ * import client from 'ai-database/client'
74
+ *
75
+ * const service = client.connect('my-namespace')
76
+ * const post = await service.create('Post', { title: 'Hello' })
77
+ * ```
78
+ */
79
+ const client = createDatabaseClient();
80
+ export default client;
81
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EACL,GAAG,EACH,IAAI,GAOL,MAAM,QAAQ,CAAA;AAuFf,yDAAyD;AACzD,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAEhC,2BAA2B;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AA4M/C,2DAA2D;AAE3D,6CAA6C;AAC7C,MAAM,WAAW,GAAG,iCAAiC,CAAA;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAc,WAAW,EACzB,OAA+B;IAE/B,OAAO,GAAG,CAAqB,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;AAC3D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,GAAmB,oBAAoB,EAAE,CAAA;AAErD,eAAe,MAAM,CAAA"}
@@ -6,11 +6,74 @@
6
6
  * @packageDocumentation
7
7
  */
8
8
  /**
9
- * Embedding dimensions (using 384 which is common for sentence transformers)
9
+ * Default embedding dimensions (using 384 which is common for sentence transformers)
10
10
  *
11
11
  * This value is used by:
12
12
  * - MemoryProvider for generating and storing embeddings
13
13
  * - SemanticProvider for embedding generation and search
14
+ *
15
+ * Common dimension sizes by provider:
16
+ * - sentence-transformers: 384
17
+ * - OpenAI ada-002: 1536
18
+ * - OpenAI text-embedding-3-small: 1536
19
+ * - OpenAI text-embedding-3-large: 3072
20
+ * - Cohere embed-english-v3.0: 1024
21
+ * - Cohere embed-multilingual-v3.0: 1024
22
+ * - Voyage AI: 1024-4096
23
+ *
24
+ * @default 384
25
+ */
26
+ export declare const DEFAULT_EMBEDDING_DIMENSIONS = 384;
27
+ /**
28
+ * @deprecated Use DEFAULT_EMBEDDING_DIMENSIONS instead
14
29
  */
15
30
  export declare const EMBEDDING_DIMENSIONS = 384;
31
+ /**
32
+ * Relation operators for schema field definitions
33
+ *
34
+ * Replaces magic strings with type-safe constants for relationship operators.
35
+ *
36
+ * | Operator | Direction | Match Mode | Description |
37
+ * |----------|-----------|------------|-------------|
38
+ * | `->` | forward | exact | Strict foreign key reference |
39
+ * | `~>` | forward | fuzzy | AI-matched semantic reference |
40
+ * | `<-` | backward | exact | Strict backlink reference |
41
+ * | `<~` | backward | fuzzy | AI-matched backlink reference |
42
+ *
43
+ * @example
44
+ * ```ts
45
+ * // Using in schema definitions
46
+ * const schema = {
47
+ * Post: { author: `${RelationOperator.FORWARD_EXACT}Author` }
48
+ * }
49
+ *
50
+ * // Type guard
51
+ * if (field.operator === RelationOperator.FORWARD_FUZZY) {
52
+ * // Handle fuzzy matching
53
+ * }
54
+ * ```
55
+ */
56
+ export declare const RelationOperator: {
57
+ /** Forward exact reference (->) - Strict foreign key reference */
58
+ readonly FORWARD_EXACT: "->";
59
+ /** Forward fuzzy reference (~>) - AI-matched semantic reference */
60
+ readonly FORWARD_FUZZY: "~>";
61
+ /** Backward exact reference (<-) - Strict backlink reference */
62
+ readonly BACKWARD_EXACT: "<-";
63
+ /** Backward fuzzy reference (<~) - AI-matched backlink reference */
64
+ readonly BACKWARD_FUZZY: "<~";
65
+ };
66
+ /**
67
+ * Type representing any valid relation operator string
68
+ *
69
+ * Use this for function parameters that accept any operator.
70
+ *
71
+ * @example
72
+ * ```ts
73
+ * function isForwardOperator(op: RelationOperatorType): boolean {
74
+ * return op === RelationOperator.FORWARD_EXACT || op === RelationOperator.FORWARD_FUZZY
75
+ * }
76
+ * ```
77
+ */
78
+ export type RelationOperatorType = (typeof RelationOperator)[keyof typeof RelationOperator];
16
79
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,MAAM,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,4BAA4B,MAAM,CAAA;AAE/C;;GAEG;AACH,eAAO,MAAM,oBAAoB,MAA+B,CAAA;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,gBAAgB;IAC3B,kEAAkE;;IAElE,mEAAmE;;IAEnE,gEAAgE;;IAEhE,oEAAoE;;CAE5D,CAAA;AAEV;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAA"}
package/dist/constants.js CHANGED
@@ -6,11 +6,61 @@
6
6
  * @packageDocumentation
7
7
  */
8
8
  /**
9
- * Embedding dimensions (using 384 which is common for sentence transformers)
9
+ * Default embedding dimensions (using 384 which is common for sentence transformers)
10
10
  *
11
11
  * This value is used by:
12
12
  * - MemoryProvider for generating and storing embeddings
13
13
  * - SemanticProvider for embedding generation and search
14
+ *
15
+ * Common dimension sizes by provider:
16
+ * - sentence-transformers: 384
17
+ * - OpenAI ada-002: 1536
18
+ * - OpenAI text-embedding-3-small: 1536
19
+ * - OpenAI text-embedding-3-large: 3072
20
+ * - Cohere embed-english-v3.0: 1024
21
+ * - Cohere embed-multilingual-v3.0: 1024
22
+ * - Voyage AI: 1024-4096
23
+ *
24
+ * @default 384
25
+ */
26
+ export const DEFAULT_EMBEDDING_DIMENSIONS = 384;
27
+ /**
28
+ * @deprecated Use DEFAULT_EMBEDDING_DIMENSIONS instead
29
+ */
30
+ export const EMBEDDING_DIMENSIONS = DEFAULT_EMBEDDING_DIMENSIONS;
31
+ /**
32
+ * Relation operators for schema field definitions
33
+ *
34
+ * Replaces magic strings with type-safe constants for relationship operators.
35
+ *
36
+ * | Operator | Direction | Match Mode | Description |
37
+ * |----------|-----------|------------|-------------|
38
+ * | `->` | forward | exact | Strict foreign key reference |
39
+ * | `~>` | forward | fuzzy | AI-matched semantic reference |
40
+ * | `<-` | backward | exact | Strict backlink reference |
41
+ * | `<~` | backward | fuzzy | AI-matched backlink reference |
42
+ *
43
+ * @example
44
+ * ```ts
45
+ * // Using in schema definitions
46
+ * const schema = {
47
+ * Post: { author: `${RelationOperator.FORWARD_EXACT}Author` }
48
+ * }
49
+ *
50
+ * // Type guard
51
+ * if (field.operator === RelationOperator.FORWARD_FUZZY) {
52
+ * // Handle fuzzy matching
53
+ * }
54
+ * ```
14
55
  */
15
- export const EMBEDDING_DIMENSIONS = 384;
56
+ export const RelationOperator = {
57
+ /** Forward exact reference (->) - Strict foreign key reference */
58
+ FORWARD_EXACT: '->',
59
+ /** Forward fuzzy reference (~>) - AI-matched semantic reference */
60
+ FORWARD_FUZZY: '~>',
61
+ /** Backward exact reference (<-) - Strict backlink reference */
62
+ BACKWARD_EXACT: '<-',
63
+ /** Backward fuzzy reference (<~) - AI-matched backlink reference */
64
+ BACKWARD_FUZZY: '<~',
65
+ };
16
66
  //# sourceMappingURL=constants.js.map