ts-prorm-orm 1.1.0 → 1.2.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 (460) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/README.md +194 -72
  3. package/dist/audit/history-query.d.ts +35 -0
  4. package/dist/audit/index.d.ts +16 -0
  5. package/dist/audit/logger.d.ts +126 -0
  6. package/dist/cache/cache-manager.d.ts +341 -0
  7. package/dist/cache/index.d.ts +8 -0
  8. package/dist/cache/redis-cluster-cache.d.ts +164 -0
  9. package/dist/cache/redis-cluster-cache.js +19 -36
  10. package/dist/cli/cloud.d.ts +55 -0
  11. package/dist/cli/cloud.js +318 -0
  12. package/dist/cli/commands/auth.d.ts +2 -0
  13. package/dist/cli/commands/auth.js +345 -0
  14. package/dist/cli/commands/billing.d.ts +2 -0
  15. package/dist/cli/commands/billing.js +135 -0
  16. package/dist/cli/commands/code.d.ts +2 -0
  17. package/dist/cli/commands/code.js +168 -0
  18. package/dist/cli/commands/config.d.ts +2 -0
  19. package/dist/cli/commands/config.js +154 -0
  20. package/dist/cli/commands/db.d.ts +2 -0
  21. package/dist/cli/commands/db.js +189 -0
  22. package/dist/cli/commands/index.d.ts +1 -0
  23. package/dist/cli/commands/index.js +22 -0
  24. package/dist/cli/commands/keys.d.ts +2 -0
  25. package/dist/cli/commands/keys.js +100 -0
  26. package/dist/cli/commands/misc.d.ts +2 -0
  27. package/dist/cli/commands/misc.js +282 -0
  28. package/dist/cli/commands/pull.d.ts +2 -0
  29. package/dist/cli/commands/pull.js +306 -0
  30. package/dist/cli/commands/runners.d.ts +2 -0
  31. package/dist/cli/commands/runners.js +218 -0
  32. package/dist/cli/commands/scaffold.d.ts +2 -0
  33. package/dist/cli/commands/scaffold.js +383 -0
  34. package/dist/cli/commands/secrets.d.ts +2 -0
  35. package/dist/cli/commands/secrets.js +162 -0
  36. package/dist/cli/commands/store.d.ts +2 -0
  37. package/dist/cli/commands/store.js +274 -0
  38. package/dist/cli/commands/system.d.ts +10 -0
  39. package/dist/cli/commands/system.js +169 -0
  40. package/dist/cli/commands/teams.d.ts +2 -0
  41. package/dist/cli/commands/teams.js +189 -0
  42. package/dist/cli/commands/user.d.ts +2 -0
  43. package/dist/cli/commands/user.js +171 -0
  44. package/dist/cli/framework.d.ts +103 -0
  45. package/dist/cli/framework.js +436 -0
  46. package/dist/cli/io.d.ts +26 -0
  47. package/dist/cli/io.js +181 -0
  48. package/dist/cli/keychain.d.ts +10 -0
  49. package/dist/cli/keychain.js +101 -0
  50. package/dist/cli/prompt.d.ts +20 -0
  51. package/dist/cli/prompt.js +111 -0
  52. package/dist/cli.d.ts +214 -0
  53. package/dist/cli.js +72 -5
  54. package/dist/compliance/audit-trail.d.ts +66 -0
  55. package/dist/compliance/backup-verification.d.ts +279 -0
  56. package/dist/compliance/breach-detector.d.ts +197 -0
  57. package/dist/compliance/consent-record.d.ts +107 -0
  58. package/dist/compliance/consent-versioning.d.ts +169 -0
  59. package/dist/compliance/cross-border-log.d.ts +254 -0
  60. package/dist/compliance/data-classifier.d.ts +127 -0
  61. package/dist/compliance/data-lineage.d.ts +268 -0
  62. package/dist/compliance/data-masker.d.ts +110 -0
  63. package/dist/compliance/data-portability.d.ts +98 -0
  64. package/dist/compliance/data-retention.d.ts +108 -0
  65. package/dist/compliance/dsar-workflow.d.ts +175 -0
  66. package/dist/compliance/field-encryption.d.ts +84 -0
  67. package/dist/compliance/immutable-record.d.ts +84 -0
  68. package/dist/compliance/index.d.ts +93 -0
  69. package/dist/compliance/privacy-impact-assessment.d.ts +196 -0
  70. package/dist/compliance/pseudonymization.d.ts +96 -0
  71. package/dist/compliance/query-firewall.d.ts +661 -0
  72. package/dist/compliance/rate-limiter.d.ts +203 -0
  73. package/dist/compliance/right-to-erasure.d.ts +96 -0
  74. package/dist/compliance/row-level-security.d.ts +152 -0
  75. package/dist/compliance/security-decorator.d.ts +388 -0
  76. package/dist/compliance/security-monitor.d.ts +170 -0
  77. package/dist/compliance/sensitive-data-discovery.d.ts +151 -0
  78. package/dist/compliance/session-isolation.d.ts +286 -0
  79. package/dist/compliance/tls-enforcer.d.ts +51 -0
  80. package/dist/compliance/worm-storage.d.ts +225 -0
  81. package/dist/connection-manager.d.ts +130 -0
  82. package/dist/connection-pool.d.ts +311 -0
  83. package/dist/decorators/audit.d.ts +49 -0
  84. package/dist/decorators/check.d.ts +218 -0
  85. package/dist/decorators/collate.d.ts +346 -0
  86. package/dist/decorators/comment.d.ts +51 -0
  87. package/dist/decorators/database-settings.d.ts +193 -0
  88. package/dist/decorators/default.d.ts +148 -0
  89. package/dist/decorators/encryption.d.ts +175 -0
  90. package/dist/decorators/engine.d.ts +97 -0
  91. package/dist/decorators/fk-constraints.d.ts +387 -0
  92. package/dist/decorators/foreign-table.d.ts +57 -0
  93. package/dist/decorators/generated.d.ts +232 -0
  94. package/dist/decorators/hstore.d.ts +96 -0
  95. package/dist/decorators/index.d.ts +57 -0
  96. package/dist/decorators/index.js +14 -30
  97. package/dist/decorators/json-column.d.ts +47 -0
  98. package/dist/decorators/jsonb.d.ts +83 -0
  99. package/dist/decorators/orm-decorators.d.ts +274 -0
  100. package/dist/decorators/permissions.d.ts +192 -0
  101. package/dist/decorators/procedure.d.ts +168 -0
  102. package/dist/decorators/procedure.js +31 -7
  103. package/dist/decorators/query-options.d.ts +527 -0
  104. package/dist/decorators/range.d.ts +122 -0
  105. package/dist/decorators/set-column.d.ts +43 -0
  106. package/dist/decorators/spatial.d.ts +60 -0
  107. package/dist/decorators/storage.d.ts +561 -0
  108. package/dist/decorators/timezone.d.ts +319 -0
  109. package/dist/decorators/trigger.d.ts +50 -0
  110. package/dist/decorators/uuid.d.ts +102 -0
  111. package/dist/decorators/view.d.ts +213 -0
  112. package/dist/diagrams/chen-diagram.d.ts +70 -0
  113. package/dist/diagrams/chen-diagram.js +33 -31
  114. package/dist/diagrams/class-diagram.d.ts +78 -0
  115. package/dist/diagrams/class-diagram.js +23 -27
  116. package/dist/diagrams/dependency-diagram.d.ts +82 -0
  117. package/dist/diagrams/dependency-diagram.js +18 -9
  118. package/dist/diagrams/er-diagram.d.ts +82 -0
  119. package/dist/diagrams/er-diagram.js +174 -231
  120. package/dist/diagrams/flow-diagram.d.ts +70 -0
  121. package/dist/diagrams/flow-diagram.js +23 -18
  122. package/dist/diagrams/gantt-diagram.d.ts +67 -0
  123. package/dist/diagrams/gantt-diagram.js +20 -18
  124. package/dist/diagrams/index-diagram.d.ts +61 -0
  125. package/dist/diagrams/index-diagram.js +36 -31
  126. package/dist/diagrams/index.d.ts +155 -0
  127. package/dist/diagrams/index.js +7 -1
  128. package/dist/diagrams/migration-diagram.d.ts +67 -0
  129. package/dist/diagrams/migration-diagram.js +45 -57
  130. package/dist/diagrams/model-diagram.d.ts +85 -0
  131. package/dist/diagrams/model-diagram.js +225 -287
  132. package/dist/diagrams/package-diagram.d.ts +69 -0
  133. package/dist/diagrams/package-diagram.js +30 -32
  134. package/dist/diagrams/palette.d.ts +138 -0
  135. package/dist/diagrams/palette.js +134 -25
  136. package/dist/diagrams/relational-diagram.d.ts +82 -0
  137. package/dist/diagrams/relational-diagram.js +51 -59
  138. package/dist/diagrams/schemadoc-diagram.d.ts +57 -0
  139. package/dist/diagrams/schemadoc-diagram.js +36 -28
  140. package/dist/diagrams/sequence-diagram.d.ts +61 -0
  141. package/dist/diagrams/sequence-diagram.js +20 -11
  142. package/dist/diagrams/state-diagram.d.ts +85 -0
  143. package/dist/diagrams/state-diagram.js +21 -17
  144. package/dist/diagrams/svg-dom.d.ts +62 -0
  145. package/dist/diagrams/svg-dom.js +11 -0
  146. package/dist/diagrams/tree-diagram.d.ts +47 -0
  147. package/dist/diagrams/tree-diagram.js +19 -10
  148. package/dist/dialects/clickhouse/index.d.ts +660 -0
  149. package/dist/dialects/clickhouse/index.js +107 -2
  150. package/dist/dialects/cockroachdb/index.d.ts +1708 -0
  151. package/dist/dialects/cockroachdb/index.js +139 -10
  152. package/dist/dialects/cratedb/index.d.ts +262 -0
  153. package/dist/dialects/cratedb/index.js +148 -0
  154. package/dist/dialects/databricks/index.d.ts +397 -0
  155. package/dist/dialects/databricks/index.js +233 -11
  156. package/dist/dialects/db2/index.d.ts +729 -0
  157. package/dist/dialects/db2/index.js +152 -2
  158. package/dist/dialects/dialect.d.ts +1653 -0
  159. package/dist/dialects/duckdb/index.d.ts +440 -0
  160. package/dist/dialects/duckdb/index.js +21 -37
  161. package/dist/dialects/exasol/index.d.ts +197 -0
  162. package/dist/dialects/exasol/index.js +14 -0
  163. package/dist/dialects/firebird/index.d.ts +286 -0
  164. package/dist/dialects/firebird/index.js +135 -0
  165. package/dist/dialects/greenplum/index.d.ts +336 -0
  166. package/dist/dialects/greenplum/index.js +168 -0
  167. package/dist/dialects/hana/index.d.ts +512 -0
  168. package/dist/dialects/hana/index.js +17 -35
  169. package/dist/dialects/mariadb/index.d.ts +1241 -0
  170. package/dist/dialects/mariadb/index.js +181 -43
  171. package/dist/dialects/mssql/index.d.ts +729 -0
  172. package/dist/dialects/mssql/index.js +76 -7
  173. package/dist/dialects/mysql/index.d.ts +1233 -0
  174. package/dist/dialects/mysql/index.js +87 -19
  175. package/dist/dialects/oracle/index.d.ts +1222 -0
  176. package/dist/dialects/oracle/index.js +210 -9
  177. package/dist/dialects/postgres/index.d.ts +1598 -0
  178. package/dist/dialects/postgres/index.js +34 -13
  179. package/dist/dialects/query-stream-helper.d.ts +58 -0
  180. package/dist/dialects/questdb/index.d.ts +430 -0
  181. package/dist/dialects/questdb/index.js +292 -0
  182. package/dist/dialects/redshift/index.d.ts +933 -0
  183. package/dist/dialects/redshift/index.js +17 -5
  184. package/dist/dialects/singlestore/index.d.ts +233 -0
  185. package/dist/dialects/singlestore/index.js +53 -0
  186. package/dist/dialects/snowflake/index.d.ts +727 -0
  187. package/dist/dialects/snowflake/index.js +154 -5
  188. package/dist/dialects/spanner/index.d.ts +660 -0
  189. package/dist/dialects/spanner/index.js +43 -21
  190. package/dist/dialects/sqlite/index.d.ts +1133 -0
  191. package/dist/dialects/sqlite/index.js +168 -30
  192. package/dist/dialects/tidb/index.d.ts +226 -0
  193. package/dist/dialects/tidb/index.js +10 -0
  194. package/dist/dialects/timescaledb/index.d.ts +286 -0
  195. package/dist/dialects/timescaledb/index.js +179 -0
  196. package/dist/dialects/trino/index.d.ts +230 -0
  197. package/dist/dialects/trino/index.js +85 -10
  198. package/dist/dialects/turso/index.d.ts +98 -0
  199. package/dist/dialects/turso/index.js +10 -0
  200. package/dist/dialects/vertica/index.d.ts +321 -0
  201. package/dist/dialects/vertica/index.js +161 -0
  202. package/dist/dialects/yugabytedb/index.d.ts +276 -0
  203. package/dist/dialects/yugabytedb/index.js +121 -0
  204. package/dist/errors/index.d.ts +378 -0
  205. package/dist/errors/index.js +29 -1
  206. package/dist/errors/utils.d.ts +53 -0
  207. package/dist/errors.d.ts +5 -0
  208. package/dist/extensions/catalog/cloud-warehouse-features.d.ts +27 -0
  209. package/dist/extensions/catalog/mssql-features.d.ts +20 -0
  210. package/dist/extensions/catalog/mysql-mariadb-plugins.d.ts +18 -0
  211. package/dist/extensions/catalog/oracle-db2-features.d.ts +17 -0
  212. package/dist/extensions/catalog/postgres-extensions.d.ts +15 -0
  213. package/dist/extensions/index.d.ts +34 -0
  214. package/dist/extensions/types.d.ts +43 -0
  215. package/dist/external-fields/adapters.d.ts +50 -0
  216. package/dist/external-fields/adapters.js +227 -0
  217. package/dist/external-fields/decorator.d.ts +77 -0
  218. package/dist/external-fields/decorator.js +80 -0
  219. package/dist/external-fields/index.d.ts +10 -0
  220. package/dist/external-fields/index.js +19 -0
  221. package/dist/external-fields/runtime.d.ts +39 -0
  222. package/dist/external-fields/runtime.js +221 -0
  223. package/dist/foreign-data.d.ts +168 -0
  224. package/dist/graph/base-graph-dialect.d.ts +250 -0
  225. package/dist/graph/base-graph-dialect.js +539 -0
  226. package/dist/graph/dgraph/index.d.ts +65 -0
  227. package/dist/graph/dgraph/index.js +559 -0
  228. package/dist/graph/gremlin/index.d.ts +59 -0
  229. package/dist/graph/gremlin/index.js +378 -0
  230. package/dist/graph/index.d.ts +60 -0
  231. package/dist/graph/index.js +67 -0
  232. package/dist/graph/neo4j/index.d.ts +50 -0
  233. package/dist/graph/neo4j/index.js +462 -0
  234. package/dist/graph/types.d.ts +213 -0
  235. package/dist/graph/types.js +234 -0
  236. package/dist/hooks/hooks-manager.d.ts +189 -0
  237. package/dist/hooks/index.d.ts +8 -0
  238. package/dist/index.d.ts +711 -0
  239. package/dist/index.js +19 -4
  240. package/dist/logging.d.ts +183 -0
  241. package/dist/migrations/index.d.ts +9 -0
  242. package/dist/migrations/migration.d.ts +143 -0
  243. package/dist/migrations/migrator.d.ts +199 -0
  244. package/dist/migrations/prormmigration.d.ts +131 -0
  245. package/dist/migrations/query-interface.d.ts +335 -0
  246. package/dist/migrations/seeder.d.ts +167 -0
  247. package/dist/models/associations.d.ts +131 -0
  248. package/dist/models/associations.js +7 -2
  249. package/dist/models/constraints.d.ts +175 -0
  250. package/dist/models/data-types.d.ts +1656 -0
  251. package/dist/models/decorators.d.ts +328 -0
  252. package/dist/models/decorators.js +61 -82
  253. package/dist/models/eager-load.d.ts +86 -0
  254. package/dist/models/eager-load.js +369 -0
  255. package/dist/models/index.d.ts +13 -0
  256. package/dist/models/indexes.d.ts +325 -0
  257. package/dist/models/methods.d.ts +419 -0
  258. package/dist/models/model-manager.d.ts +76 -0
  259. package/dist/models/model.d.ts +820 -0
  260. package/dist/models/model.js +15 -101
  261. package/dist/models/operators.d.ts +29 -0
  262. package/dist/models/scopes.d.ts +71 -0
  263. package/dist/models/typescript-types.d.ts +177 -0
  264. package/dist/nosql/aerospike/index.d.ts +126 -0
  265. package/dist/nosql/allegrograph/index.d.ts +86 -0
  266. package/dist/nosql/arangodb/index.d.ts +285 -0
  267. package/dist/nosql/arangodb/index.js +274 -2
  268. package/dist/nosql/arangodb/where.d.ts +38 -0
  269. package/dist/nosql/arangodb/where.js +94 -0
  270. package/dist/nosql/azure-blob/index.d.ts +104 -0
  271. package/dist/nosql/beanstalkd/index.d.ts +88 -0
  272. package/dist/nosql/beequeue/index.d.ts +99 -0
  273. package/dist/nosql/bigchaindb/index.d.ts +113 -0
  274. package/dist/nosql/bigtable/index.d.ts +144 -0
  275. package/dist/nosql/blazegraph/index.d.ts +88 -0
  276. package/dist/nosql/bullmq/index.d.ts +83 -0
  277. package/dist/nosql/cassandra/index.d.ts +119 -0
  278. package/dist/nosql/chroma/index.d.ts +151 -0
  279. package/dist/nosql/cloudflare-kv/index.d.ts +120 -0
  280. package/dist/nosql/coherence/index.d.ts +91 -0
  281. package/dist/nosql/cosmosdb/index.d.ts +78 -0
  282. package/dist/nosql/couchbase/index.d.ts +103 -0
  283. package/dist/nosql/dax/index.d.ts +118 -0
  284. package/dist/nosql/deno-kv/index.d.ts +109 -0
  285. package/dist/nosql/dgraph/index.d.ts +80 -0
  286. package/dist/nosql/doris/index.d.ts +88 -0
  287. package/dist/nosql/druid/index.d.ts +95 -0
  288. package/dist/nosql/dynamodb/index.d.ts +643 -0
  289. package/dist/nosql/dynamodb/index.js +423 -0
  290. package/dist/nosql/elasticsearch/index.d.ts +239 -0
  291. package/dist/nosql/etcd/index.d.ts +243 -0
  292. package/dist/nosql/eventhubs/index.d.ts +89 -0
  293. package/dist/nosql/eventstore/index.d.ts +102 -0
  294. package/dist/nosql/faunadb/index.d.ts +141 -0
  295. package/dist/nosql/faunadb/index.js +329 -0
  296. package/dist/nosql/firestore/index.d.ts +67 -0
  297. package/dist/nosql/fluree/index.d.ts +88 -0
  298. package/dist/nosql/fuseki/index.d.ts +94 -0
  299. package/dist/nosql/gcs/index.d.ts +62 -0
  300. package/dist/nosql/gearman/index.d.ts +77 -0
  301. package/dist/nosql/geode/index.d.ts +93 -0
  302. package/dist/nosql/graphdb/index.d.ts +86 -0
  303. package/dist/nosql/graylog/index.d.ts +118 -0
  304. package/dist/nosql/gridgain/index.d.ts +78 -0
  305. package/dist/nosql/hazelcast/index.d.ts +73 -0
  306. package/dist/nosql/hbase/index.d.ts +123 -0
  307. package/dist/nosql/ignite/index.d.ts +80 -0
  308. package/dist/nosql/immudb/index.d.ts +131 -0
  309. package/dist/nosql/index.d.ts +215 -0
  310. package/dist/nosql/infinispan/index.d.ts +95 -0
  311. package/dist/nosql/influxdb/flux-compiler.d.ts +23 -0
  312. package/dist/nosql/influxdb/flux-compiler.js +170 -0
  313. package/dist/nosql/influxdb/index.d.ts +300 -0
  314. package/dist/nosql/influxdb/index.js +0 -0
  315. package/dist/nosql/kafka/index.d.ts +113 -0
  316. package/dist/nosql/keyspaces/index.d.ts +122 -0
  317. package/dist/nosql/kinesis/index.d.ts +121 -0
  318. package/dist/nosql/leveldb/index.d.ts +112 -0
  319. package/dist/nosql/leveldb/index.js +103 -1
  320. package/dist/nosql/lmdb/index.d.ts +76 -0
  321. package/dist/nosql/loki/index.d.ts +126 -0
  322. package/dist/nosql/marklogic/index.d.ts +76 -0
  323. package/dist/nosql/materialize/index.d.ts +91 -0
  324. package/dist/nosql/meilisearch/index.d.ts +76 -0
  325. package/dist/nosql/memcached/index.d.ts +138 -0
  326. package/dist/nosql/milvus/index.d.ts +167 -0
  327. package/dist/nosql/minio/index.d.ts +122 -0
  328. package/dist/nosql/momento/index.d.ts +99 -0
  329. package/dist/nosql/mongodb/index.d.ts +265 -0
  330. package/dist/nosql/mongodb/index.js +139 -0
  331. package/dist/nosql/mongodb/where.d.ts +8 -0
  332. package/dist/nosql/mongodb/where.js +181 -0
  333. package/dist/nosql/nats/index.d.ts +139 -0
  334. package/dist/nosql/nedb/index.d.ts +79 -0
  335. package/dist/nosql/neo4j/index.d.ts +217 -0
  336. package/dist/nosql/neo4j/index.js +26 -14
  337. package/dist/nosql/neptune/index.d.ts +234 -0
  338. package/dist/nosql/neptune/index.js +23 -9
  339. package/dist/nosql/nsq/index.d.ts +93 -0
  340. package/dist/nosql/opensearch/index.d.ts +97 -0
  341. package/dist/nosql/orientdb/index.d.ts +72 -0
  342. package/dist/nosql/papertrail/index.d.ts +120 -0
  343. package/dist/nosql/pinecone/index.d.ts +148 -0
  344. package/dist/nosql/pinot/index.d.ts +90 -0
  345. package/dist/nosql/pouchdb/index.d.ts +95 -0
  346. package/dist/nosql/prometheus/index.d.ts +112 -0
  347. package/dist/nosql/provendb/index.d.ts +143 -0
  348. package/dist/nosql/provendb/index.js +262 -0
  349. package/dist/nosql/pubsub/index.d.ts +83 -0
  350. package/dist/nosql/pulsar/index.d.ts +105 -0
  351. package/dist/nosql/qdrant/index.d.ts +231 -0
  352. package/dist/nosql/qldb/index.d.ts +182 -0
  353. package/dist/nosql/qldb/index.js +302 -1
  354. package/dist/nosql/r2/index.d.ts +160 -0
  355. package/dist/nosql/rabbitmq/index.d.ts +131 -0
  356. package/dist/nosql/ravendb/index.d.ts +138 -0
  357. package/dist/nosql/ravendb/index.js +323 -9
  358. package/dist/nosql/ravendb/where.d.ts +38 -0
  359. package/dist/nosql/ravendb/where.js +94 -0
  360. package/dist/nosql/redis/index.d.ts +267 -0
  361. package/dist/nosql/redis/index.js +19 -5
  362. package/dist/nosql/redpanda/index.d.ts +117 -0
  363. package/dist/nosql/resque/index.d.ts +91 -0
  364. package/dist/nosql/rethinkdb/index.d.ts +194 -0
  365. package/dist/nosql/rethinkdb/index.js +290 -0
  366. package/dist/nosql/rethinkdb/where.d.ts +38 -0
  367. package/dist/nosql/rethinkdb/where.js +94 -0
  368. package/dist/nosql/rocksdb/document-layer.d.ts +162 -0
  369. package/dist/nosql/rocksdb/document-layer.js +338 -0
  370. package/dist/nosql/rocksdb/index.d.ts +112 -0
  371. package/dist/nosql/rocksdb/index.js +103 -1
  372. package/dist/nosql/rocksdb/where-match.d.ts +21 -0
  373. package/dist/nosql/rocksdb/where-match.js +238 -0
  374. package/dist/nosql/rockset/index.d.ts +84 -0
  375. package/dist/nosql/s3/index.d.ts +170 -0
  376. package/dist/nosql/scylladb/index.d.ts +117 -0
  377. package/dist/nosql/signoz/index.d.ts +116 -0
  378. package/dist/nosql/sns/index.d.ts +99 -0
  379. package/dist/nosql/solr/index.d.ts +129 -0
  380. package/dist/nosql/splunk/index.d.ts +125 -0
  381. package/dist/nosql/sqs/index.d.ts +116 -0
  382. package/dist/nosql/stardog/index.d.ts +86 -0
  383. package/dist/nosql/starrocks/index.d.ts +89 -0
  384. package/dist/nosql/store.d.ts +23 -0
  385. package/dist/nosql/sumologic/index.d.ts +119 -0
  386. package/dist/nosql/surrealdb/index.d.ts +156 -0
  387. package/dist/nosql/surrealdb/index.js +174 -1
  388. package/dist/nosql/surrealdb/query-compiler.d.ts +26 -0
  389. package/dist/nosql/surrealdb/query-compiler.js +193 -0
  390. package/dist/nosql/terminusdb/index.d.ts +95 -0
  391. package/dist/nosql/tigergraph/index.d.ts +314 -0
  392. package/dist/nosql/typesense/index.d.ts +82 -0
  393. package/dist/nosql/unqlite/index.d.ts +68 -0
  394. package/dist/nosql/upstash/index.d.ts +80 -0
  395. package/dist/nosql/vercel-kv/index.d.ts +82 -0
  396. package/dist/nosql/victoriametrics/index.d.ts +129 -0
  397. package/dist/nosql/virtuoso/index.d.ts +87 -0
  398. package/dist/nosql/weaviate/index.d.ts +196 -0
  399. package/dist/operators/index.d.ts +7 -0
  400. package/dist/operators.d.ts +2947 -0
  401. package/dist/operators.js +46 -1
  402. package/dist/prisma-migrate/index.d.ts +28 -0
  403. package/dist/prisma-migrate/migration-generator.d.ts +21 -0
  404. package/dist/prisma-migrate/model-generator.d.ts +12 -0
  405. package/dist/prisma-migrate/relations.d.ts +28 -0
  406. package/dist/prisma-migrate/schema-parser.d.ts +42 -0
  407. package/dist/prisma-migrate/type-mapper.d.ts +20 -0
  408. package/dist/prorm.d.ts +2093 -0
  409. package/dist/prorm.js +721 -302
  410. package/dist/query-builders/cte-builder.d.ts +104 -0
  411. package/dist/query-builders/functions/aggregate.d.ts +199 -0
  412. package/dist/query-builders/functions/conditional.d.ts +195 -0
  413. package/dist/query-builders/functions/datetime.d.ts +202 -0
  414. package/dist/query-builders/functions/fulltext.d.ts +220 -0
  415. package/dist/query-builders/functions/index.d.ts +17 -0
  416. package/dist/query-builders/functions/json.d.ts +157 -0
  417. package/dist/query-builders/functions/math.d.ts +215 -0
  418. package/dist/query-builders/functions/string.d.ts +233 -0
  419. package/dist/query-builders/functions/window.d.ts +209 -0
  420. package/dist/query-builders/include-builder.d.ts +85 -0
  421. package/dist/query-builders/index-expression-builder.d.ts +153 -0
  422. package/dist/query-builders/index.d.ts +121 -0
  423. package/dist/query-builders/index.js +10 -0
  424. package/dist/query-builders/insert-builder.d.ts +62 -0
  425. package/dist/query-builders/model-helpers.d.ts +28 -0
  426. package/dist/query-builders/order-limit-builder.d.ts +84 -0
  427. package/dist/query-builders/sql-compiler.d.ts +562 -0
  428. package/dist/query-builders/subquery-builder.d.ts +133 -0
  429. package/dist/query-builders/update-builder.d.ts +71 -0
  430. package/dist/query-builders/view-builder.d.ts +189 -0
  431. package/dist/query-builders/where-builder.d.ts +124 -0
  432. package/dist/query-interface.d.ts +407 -0
  433. package/dist/query-interface.js +84 -0
  434. package/dist/query-optimizers/batch-optimizer.d.ts +175 -0
  435. package/dist/query-optimizers/explain-plans.d.ts +187 -0
  436. package/dist/query-optimizers/index.d.ts +27 -0
  437. package/dist/query-optimizers/prepared-statement-cache.d.ts +252 -0
  438. package/dist/query-optimizers/query-hints.d.ts +201 -0
  439. package/dist/query-optimizers/query-optimizer.d.ts +162 -0
  440. package/dist/query-optimizers/slow-query-logger.d.ts +186 -0
  441. package/dist/replica-manager.d.ts +235 -0
  442. package/dist/schema/index.d.ts +7 -0
  443. package/dist/schema/migration-generator.d.ts +74 -0
  444. package/dist/schema/schema-differ.d.ts +114 -0
  445. package/dist/schema/types.d.ts +246 -0
  446. package/dist/schema-objects.d.ts +78 -0
  447. package/dist/schema-objects.js +203 -0
  448. package/dist/sql-constants.d.ts +240 -0
  449. package/dist/sqlite-advanced.d.ts +572 -0
  450. package/dist/streams/index.d.ts +5 -0
  451. package/dist/streams/transforms.d.ts +120 -0
  452. package/dist/transaction.d.ts +221 -0
  453. package/dist/types/index.d.ts +3123 -0
  454. package/dist/user-management.d.ts +141 -0
  455. package/dist/utils/date.d.ts +149 -0
  456. package/dist/utils/index.d.ts +359 -0
  457. package/dist/utils/string.d.ts +88 -0
  458. package/dist/validators/index.d.ts +7 -0
  459. package/dist/validators/validator.d.ts +306 -0
  460. package/package.json +20 -5
@@ -0,0 +1,231 @@
1
+ /**
2
+ * Qdrant store implementation.
3
+ *
4
+ * Qdrant is a vector-similarity search engine: collections hold points
5
+ * (an ID, one or more dense/sparse vectors, and an arbitrary JSON payload),
6
+ * and the primary query shape is "find the points whose vector is closest
7
+ * to this query vector" (optionally constrained by a payload filter) -
8
+ * not SQL, not `WHERE`, not joins. It does not fit the SQL-shaped `Dialect`
9
+ * interface used by the SQL dialects in this repo, so this class implements
10
+ * the minimal `NoSqlStore` marker interface and exposes Qdrant's real
11
+ * collection/point/payload/alias operations instead of forcing them into a
12
+ * `query(sql)` shape.
13
+ *
14
+ * Uses the official `@qdrant/js-client-rest` driver, which talks to Qdrant's
15
+ * HTTP REST API (there is also a gRPC client, `@qdrant/js-client-grpc`, not
16
+ * used here). The REST client is stateless (plain HTTP requests, no
17
+ * persistent socket) - `connect()` verifies the server is reachable and the
18
+ * API key (if any) is accepted by calling `versionInfo()`, and
19
+ * `disconnect()` simply drops the client reference.
20
+ */
21
+ import { QdrantClient, QdrantClientParams, Schemas } from '@qdrant/js-client-rest';
22
+ import { NoSqlStore } from '../store';
23
+ /** Connection options for `QdrantStore` - passed straight through to `QdrantClient`. */
24
+ export type QdrantStoreOptions = QdrantClientParams;
25
+ /** Size + distance metric (and optional tuning knobs) for one vector space. */
26
+ export type VectorParams = Schemas['VectorParams'];
27
+ /** Similarity metric used to compare vectors. */
28
+ export type Distance = Schemas['Distance'];
29
+ /** A single vector space config, or a map of named vector spaces. */
30
+ export type VectorsConfig = Schemas['VectorsConfig'];
31
+ /** A point to upsert: id, vector(s), and optional payload. */
32
+ export type PointStruct = Schemas['PointStruct'];
33
+ /** Payload filter (`must`/`should`/`must_not`/`min_should` of `Condition`s). */
34
+ export type Filter = Schemas['Filter'];
35
+ /** A single filter condition (field match/range, geo, has-id, nested filter, etc). */
36
+ export type Condition = Schemas['Condition'];
37
+ /** A point returned from `search()`/`query()`, with its similarity `score`. */
38
+ export type ScoredPoint = Schemas['ScoredPoint'];
39
+ /** A stored point as returned from `retrieve()`/`scroll()`. */
40
+ export type PointRecord = Schemas['Record'];
41
+ /** Detailed collection status/config, as returned by `getCollection()`. */
42
+ export type CollectionInfo = Schemas['CollectionInfo'];
43
+ /** `{ name }` entry as returned by `listCollections()`. */
44
+ export type CollectionDescription = Schemas['CollectionDescription'];
45
+ /** Result of a write operation (upsert/delete/payload change/etc). */
46
+ export type UpdateResult = Schemas['UpdateResult'];
47
+ /** Which payload fields (if any) to attach to returned points. */
48
+ export type WithPayload = Schemas['WithPayloadInterface'];
49
+ /** Which vector(s) (if any) to attach to returned points. */
50
+ export type WithVectorOption = Schemas['WithVector'];
51
+ /** A point ID - either a `number` or a UUID `string`. */
52
+ export type PointId = Schemas['ExtendedPointId'];
53
+ /** Selects points by explicit ID list or by filter, for delete/payload ops. */
54
+ export type PointsSelector = Schemas['PointsSelector'];
55
+ /** Arbitrary JSON payload stored alongside a point's vector(s). */
56
+ export type Payload = Schemas['Payload'];
57
+ /** Result of `count()`. */
58
+ export type CountResult = Schemas['CountResult'];
59
+ /** Result of `getCollectionAliases()`/`getAliases()`. */
60
+ export type CollectionAliasesResponse = Schemas['CollectionsAliasesResponse'];
61
+ /** `'weak' | 'medium' | 'strong'` write-ordering guarantee. */
62
+ export type WriteOrdering = Schemas['WriteOrdering'];
63
+ /** Read-consistency requirement for a query (replica count, or `'majority'`/`'quorum'`/`'all'`). */
64
+ export type ReadConsistency = Schemas['ReadConsistency'];
65
+ /** Payload field index type, for `createPayloadIndex()`. */
66
+ export type PayloadFieldSchema = Schemas['PayloadFieldSchema'];
67
+ /** `points`/`shard_key` shape for `PointStruct[]` batch inserts (see `upsertBatch()`). */
68
+ export type Batch = Schemas['Batch'];
69
+ /** Common args accepted by write operations (upsert/delete/payload mutation). */
70
+ export interface WriteOptions {
71
+ /** Wait for the change to be applied before responding. Default: `true`. */
72
+ wait?: boolean;
73
+ /** Write-ordering guarantee. Default: `'weak'`. */
74
+ ordering?: WriteOrdering;
75
+ /** Per-request timeout override, in seconds. */
76
+ timeout?: number;
77
+ }
78
+ /** Args accepted by read operations (search/scroll/retrieve/count). */
79
+ export interface ReadOptions {
80
+ /** Read-consistency requirement. */
81
+ consistency?: ReadConsistency;
82
+ /** Per-request timeout override, in seconds. */
83
+ timeout?: number;
84
+ }
85
+ /** Args for `createCollection()`/`recreateCollection()` beyond the vector config. */
86
+ export type CreateCollectionOptions = Omit<Schemas['CreateCollection'], 'vectors'> & {
87
+ timeout?: number;
88
+ };
89
+ /** Args for `search()`. */
90
+ export interface SearchOptions extends ReadOptions {
91
+ /** Restrict results to points matching this filter. */
92
+ filter?: Filter;
93
+ /** Max number of results to return. Default: `10`. */
94
+ limit?: number;
95
+ /** Skip this many results (for pagination). */
96
+ offset?: number;
97
+ /** Which payload fields to attach. Default: `false` (none). */
98
+ withPayload?: WithPayload;
99
+ /** Which vector(s) to attach. Default: `false`. */
100
+ withVector?: WithVectorOption;
101
+ /** Drop results scoring worse than this threshold. */
102
+ scoreThreshold?: number;
103
+ /** Named vector to search against, for multi-vector collections. */
104
+ vectorName?: string;
105
+ }
106
+ /** Args for `scroll()`. */
107
+ export interface ScrollOptions extends ReadOptions {
108
+ /** Restrict results to points matching this filter. */
109
+ filter?: Filter;
110
+ /** Page size. Default: `10`. */
111
+ limit?: number;
112
+ /** Start ID to read from (the `nextPageOffset` of a prior page, for pagination). */
113
+ offset?: PointId;
114
+ /** Which payload fields to attach. Default: `true` (all). */
115
+ withPayload?: WithPayload;
116
+ /** Which vector(s) to attach. Default: `false`. */
117
+ withVector?: WithVectorOption;
118
+ }
119
+ /** Result of `scroll()`: a page of points plus the offset to fetch the next page. */
120
+ export interface ScrollPage {
121
+ points: PointRecord[];
122
+ /** Pass to `scroll()`'s `offset` to fetch the next page; `null` when there is no more data. */
123
+ nextPageOffset: Schemas['ScrollResult']['next_page_offset'];
124
+ }
125
+ /** Args for `retrieve()`. */
126
+ export interface RetrieveOptions extends ReadOptions {
127
+ /** Which payload fields to attach. Default: `true` (all). */
128
+ withPayload?: WithPayload;
129
+ /** Which vector(s) to attach. Default: `false`. */
130
+ withVector?: WithVectorOption;
131
+ }
132
+ /**
133
+ * `QdrantStore` wraps a `@qdrant/js-client-rest` `QdrantClient` and exposes
134
+ * Qdrant's collection management, point upsert/search/scroll/retrieve/delete,
135
+ * payload management, and collection-alias operations as a typed,
136
+ * promise-based API.
137
+ */
138
+ export declare class QdrantStore implements NoSqlStore {
139
+ readonly name = "qdrant";
140
+ readonly library = "@qdrant/js-client-rest";
141
+ private readonly options;
142
+ private client;
143
+ private connected;
144
+ constructor(options?: QdrantStoreOptions);
145
+ connect(): Promise<void>;
146
+ disconnect(): Promise<void>;
147
+ isConnected(): boolean;
148
+ /** Returns the underlying `QdrantClient` for anything not wrapped here. */
149
+ getClient(): QdrantClient;
150
+ private requireClient;
151
+ private exec;
152
+ /**
153
+ * Create a new, empty collection. `vectors` is either a single
154
+ * `{ size, distance }` (unnamed/default vector space) or a map of named
155
+ * vector spaces (for collections with multiple vector fields per point).
156
+ */
157
+ createCollection(collectionName: string, vectors: VectorsConfig, options?: CreateCollectionOptions): Promise<boolean>;
158
+ /** Delete a collection and all of its data. */
159
+ deleteCollection(collectionName: string, options?: {
160
+ timeout?: number;
161
+ }): Promise<boolean>;
162
+ /** Detailed status, point counts, and configuration for a collection. */
163
+ getCollection(collectionName: string): Promise<CollectionInfo>;
164
+ /** List the names of all collections. */
165
+ listCollections(): Promise<CollectionDescription[]>;
166
+ /** Whether a collection with this name exists. */
167
+ collectionExists(collectionName: string): Promise<boolean>;
168
+ /** Update mutable collection parameters (optimizer config, HNSW params, etc). */
169
+ updateCollection(collectionName: string, args?: Schemas['UpdateCollection'] & {
170
+ timeout?: number;
171
+ }): Promise<boolean>;
172
+ /** Create an index on a payload field so filtered search on it is fast. */
173
+ createPayloadIndex(collectionName: string, fieldName: string, fieldSchema?: PayloadFieldSchema, options?: WriteOptions): Promise<UpdateResult>;
174
+ /** Remove an index previously created with `createPayloadIndex()`. */
175
+ deletePayloadIndex(collectionName: string, fieldName: string, options?: WriteOptions): Promise<UpdateResult>;
176
+ /** Insert or update one or more points (matched by ID). */
177
+ upsert(collectionName: string, points: PointStruct[], options?: WriteOptions): Promise<UpdateResult>;
178
+ /**
179
+ * Insert or update points given in Qdrant's columnar "batch" shape
180
+ * (`{ ids, vectors, payloads }`, index-aligned across the three arrays)
181
+ * rather than an array of `{ id, vector, payload }` objects. Equivalent
182
+ * to `upsert()`, just a more compact wire format for large batches.
183
+ */
184
+ upsertBatch(collectionName: string, batch: Batch, options?: WriteOptions): Promise<UpdateResult>;
185
+ /** Find the points whose vector is closest to `vector`, optionally constrained by a filter. */
186
+ search(collectionName: string, vector: number[], options?: SearchOptions): Promise<ScoredPoint[]>;
187
+ /** Run several `search()` requests against the same collection in a single round trip. */
188
+ searchBatch(collectionName: string, searches: Schemas['SearchRequest'][], options?: ReadOptions): Promise<ScoredPoint[][]>;
189
+ /**
190
+ * Page through all (optionally filtered) points in a collection without
191
+ * doing a similarity search. Pass the returned `nextPageOffset` back in
192
+ * as `options.offset` to fetch the next page; a `null` `nextPageOffset`
193
+ * means there's no more data.
194
+ */
195
+ scroll(collectionName: string, options?: ScrollOptions): Promise<ScrollPage>;
196
+ /** Fetch specific points by ID. IDs not found are simply omitted from the result. */
197
+ retrieve(collectionName: string, ids: PointId[], options?: RetrieveOptions): Promise<PointRecord[]>;
198
+ /** Count points in a collection, optionally matching a filter. */
199
+ count(collectionName: string, filter?: Filter, options?: ReadOptions & {
200
+ exact?: boolean;
201
+ }): Promise<number>;
202
+ /** Delete points by explicit ID list. */
203
+ deleteByIds(collectionName: string, ids: PointId[], options?: WriteOptions): Promise<UpdateResult>;
204
+ /** Delete every point matching a filter. */
205
+ deleteByFilter(collectionName: string, filter: Filter, options?: WriteOptions): Promise<UpdateResult>;
206
+ /**
207
+ * Merge `payload` into the existing payload of the selected points
208
+ * (existing keys not present in `payload` are left untouched).
209
+ */
210
+ setPayload(collectionName: string, payload: Payload, selector: PointsSelector, options?: WriteOptions): Promise<UpdateResult>;
211
+ /**
212
+ * Replace the entire payload of the selected points with `payload`
213
+ * (unlike `setPayload()`, keys not present in `payload` are removed).
214
+ */
215
+ overwritePayload(collectionName: string, payload: Payload, selector: PointsSelector, options?: WriteOptions): Promise<UpdateResult>;
216
+ /** Remove specific payload keys from the selected points. */
217
+ deletePayload(collectionName: string, keys: string[], selector: PointsSelector, options?: WriteOptions): Promise<UpdateResult>;
218
+ /** Remove the entire payload (all keys) from the selected points. */
219
+ clearPayload(collectionName: string, selector: PointsSelector, options?: WriteOptions): Promise<UpdateResult>;
220
+ /** Create an alternative name (`aliasName`) for a collection; the collection is queryable under both names. */
221
+ createAlias(collectionName: string, aliasName: string, timeout?: number): Promise<boolean>;
222
+ /** Delete an alias (the underlying collection and its other aliases are unaffected). */
223
+ deleteAlias(aliasName: string, timeout?: number): Promise<boolean>;
224
+ /** Atomically rename an alias (equivalent to delete + create in one operation). */
225
+ renameAlias(oldAliasName: string, newAliasName: string, timeout?: number): Promise<boolean>;
226
+ /** List the aliases pointing at a specific collection. */
227
+ getCollectionAliases(collectionName: string): Promise<CollectionAliasesResponse>;
228
+ /** List every alias across all collections. */
229
+ getAliases(): Promise<CollectionAliasesResponse>;
230
+ }
231
+ export default QdrantStore;
@@ -0,0 +1,182 @@
1
+ /**
2
+ * Amazon QLDB store implementation.
3
+ *
4
+ * Amazon QLDB (Quantum Ledger Database) is a fully managed, append-only,
5
+ * cryptographically verifiable ledger database. Data is written as documents
6
+ * into ledger tables and queried with PartiQL (a SQL-compatible query
7
+ * language). Every revision of every document is retained in an immutable
8
+ * journal; the built-in `history(<table>)` PartiQL function exposes prior
9
+ * revisions, and each revision carries `metadata` (document id, version,
10
+ * transaction time, and a content hash) that forms the basis of QLDB's
11
+ * tamper-evidence.
12
+ *
13
+ * QLDB is not a SQL `Dialect` (no client-side DDL escaping, no row-level
14
+ * UPDATE/DELETE semantics beyond PartiQL), so this class implements the
15
+ * minimal `NoSqlStore` marker interface plus the ledger surface shared by
16
+ * this family of stores: `append`/`get`/`history`/`verify`/`query`.
17
+ *
18
+ * ## Lazy driver loading
19
+ *
20
+ * The official `amazon-qldb-driver-nodejs` package is loaded lazily inside
21
+ * `connect()`, so importing this module never requires the driver to be
22
+ * installed. Tests (and callers with their own transport) inject a pre-built
23
+ * driver via `QldbStoreOptions.client`, which bypasses the `require` entirely.
24
+ */
25
+ import { NoSqlStore } from '../store';
26
+ /**
27
+ * The subset of the `amazon-qldb-driver-nodejs` `QldbDriver` this store uses.
28
+ * The real driver implements this; tests inject a mock with the same shape.
29
+ */
30
+ export interface QldbDriverLike {
31
+ /**
32
+ * Run `fn` inside an implicitly-managed transaction (auto-retried on
33
+ * optimistic-concurrency conflicts). `fn` receives a transaction executor
34
+ * whose `execute(statement, ...params)` returns a QLDB `Result`.
35
+ */
36
+ executeLambda<T>(fn: (txn: QldbTransactionLike) => Promise<T> | T): Promise<T>;
37
+ /** List the (active) table names in the ledger. */
38
+ getTableNames?(): Promise<string[]>;
39
+ /** Close the underlying session pool. */
40
+ close?(): void | Promise<void>;
41
+ }
42
+ /** The transaction executor handed to `executeLambda`'s callback. */
43
+ export interface QldbTransactionLike {
44
+ execute(statement: string, ...parameters: unknown[]): Promise<QldbResultLike>;
45
+ }
46
+ /** The `Result` returned by `txn.execute` - `getResultList()` yields the rows. */
47
+ export interface QldbResultLike {
48
+ getResultList(): unknown[];
49
+ }
50
+ /** Connection options for `QldbStore`. */
51
+ export interface QldbStoreOptions {
52
+ /** The QLDB ledger name (e.g. `'my-ledger'`). */
53
+ ledgerName: string;
54
+ /** AWS region hosting the ledger (passed through to the driver). */
55
+ region?: string;
56
+ /**
57
+ * A pre-built driver to use instead of constructing one via the lazy
58
+ * `require`. When provided, `connect()` uses it verbatim and never loads
59
+ * `amazon-qldb-driver-nodejs`.
60
+ */
61
+ client?: QldbDriverLike;
62
+ }
63
+ /** Sort direction accepted by {@link QldbStore.findAll}'s `order`. */
64
+ export type QldbOrderDirection = 'ASC' | 'DESC' | 'asc' | 'desc';
65
+ /** Options for {@link QldbStore.findAll}/{@link QldbStore.findOne}. */
66
+ export interface QldbFindOptions {
67
+ /** ORM `where` clause (plain equality and/or `Op`-keyed conditions). */
68
+ where?: Record<string, any>;
69
+ /** Restrict the returned columns, e.g. `['id', 'name']` (PartiQL projection). */
70
+ attributes?: string[];
71
+ /** Client-side ordering: `[['age', 'DESC'], ['name', 'ASC']]`. */
72
+ order?: Array<[string, QldbOrderDirection]>;
73
+ /** Client-side row cap (QLDB PartiQL has no `LIMIT`). */
74
+ limit?: number;
75
+ /** Client-side rows to skip (QLDB PartiQL has no `OFFSET`). */
76
+ offset?: number;
77
+ }
78
+ /**
79
+ * `QldbStore` wraps an `amazon-qldb-driver-nodejs` driver behind the shared
80
+ * ledger surface. `append` inserts a new document (returning its QLDB
81
+ * document id), `get` reads the current revision by document id, `history`
82
+ * returns every prior revision via the `history()` PartiQL function,
83
+ * `verify` returns a document's revision metadata (content hash +
84
+ * block address - QLDB's tamper-evidence proof material), and `query` is the
85
+ * raw PartiQL escape hatch.
86
+ */
87
+ export declare class QldbStore implements NoSqlStore {
88
+ readonly name = "qldb";
89
+ readonly library = "amazon-qldb-driver-nodejs";
90
+ private readonly options;
91
+ private driver;
92
+ private connected;
93
+ constructor(options: QldbStoreOptions);
94
+ connect(): Promise<void>;
95
+ disconnect(): Promise<void>;
96
+ isConnected(): boolean;
97
+ /** Returns the underlying `QldbDriver` for anything not wrapped here. */
98
+ getClient(): QldbDriverLike;
99
+ private requireDriver;
100
+ /** Run a PartiQL statement inside a managed transaction and return the rows. */
101
+ private execute;
102
+ /**
103
+ * Insert `data` as a new document into `table`, returning its QLDB document
104
+ * id (the stable identifier every revision of the document shares). Runs
105
+ * `INSERT INTO <table> ?`.
106
+ */
107
+ append(table: string, data: unknown): Promise<string>;
108
+ /**
109
+ * Read the current revision of the document with QLDB document id `id`,
110
+ * addressed via PartiQL's `BY` clause. Returns the row or `null`.
111
+ */
112
+ get(table: string, id: string): Promise<unknown | null>;
113
+ /**
114
+ * Return every revision (including deletions) of the document with id `id`
115
+ * via the `history(<table>)` PartiQL function. Each entry carries `data`,
116
+ * `metadata`, `blockAddress` and `hash`.
117
+ */
118
+ history(table: string, id: string): Promise<unknown[]>;
119
+ /**
120
+ * Return the tamper-evidence proof material for document `id`: its revision
121
+ * `metadata` (content hash + version) and `blockAddress` from the journal,
122
+ * pulled from `history()`. This is the data QLDB's server-side digest/proof
123
+ * APIs cryptographically verify a revision against.
124
+ */
125
+ verify(table: string, id: string): Promise<{
126
+ documentId: string;
127
+ revisions: unknown[];
128
+ }>;
129
+ /** Run a raw PartiQL `statement` with optional positional `params`. */
130
+ query(statement: string, params?: unknown[]): Promise<unknown[]>;
131
+ /**
132
+ * Fetch every document in `table` matching the ORM `where` clause. The
133
+ * `where` clause is compiled to a parameterized PartiQL `WHERE`; `order`,
134
+ * `limit` and `offset` are applied client-side because QLDB's PartiQL
135
+ * dialect supports none of them.
136
+ */
137
+ findAll<T = Record<string, unknown>>(table: string, options?: QldbFindOptions): Promise<T[]>;
138
+ /** Fetch the first document matching `where` (client-side `limit 1`), or `null`. */
139
+ findOne<T = Record<string, unknown>>(table: string, options?: QldbFindOptions): Promise<T | null>;
140
+ /** Count documents in `table` matching `where`. */
141
+ count(table: string, where?: Record<string, any>): Promise<number>;
142
+ /**
143
+ * Insert `data` as a new document, returning its QLDB document id. Alias
144
+ * of {@link append} using ORM naming.
145
+ */
146
+ create(table: string, data: Record<string, unknown>): Promise<string>;
147
+ /**
148
+ * Insert many documents in a single managed transaction, returning the new
149
+ * document ids in order.
150
+ */
151
+ bulkCreate(table: string, rows: Array<Record<string, unknown>>): Promise<string[]>;
152
+ /**
153
+ * Update every document matching `where`, SETting each key in `values`.
154
+ * Returns the number of documents QLDB reported as modified.
155
+ */
156
+ update(table: string, values: Record<string, unknown>, where?: Record<string, any>): Promise<number>;
157
+ /**
158
+ * Delete every document matching `where`. Returns the number of documents
159
+ * QLDB reported as deleted. QLDB retains all prior revisions in the
160
+ * journal, so a delete is itself a new (tombstone) revision - use
161
+ * {@link history} to recover deleted data.
162
+ */
163
+ destroy(table: string, where?: Record<string, any>): Promise<number>;
164
+ /**
165
+ * Insert-or-update: within a single transaction, look for a document
166
+ * matching `where`; if one exists, SET `data` onto the matches, otherwise
167
+ * INSERT `data` (merged with the `where` equality keys). Returns
168
+ * `{ created }` indicating which branch ran.
169
+ */
170
+ upsert(table: string, data: Record<string, unknown>, where: Record<string, any>): Promise<{
171
+ created: boolean;
172
+ }>;
173
+ /**
174
+ * Run `fn` inside a single managed QLDB transaction (auto-retried on
175
+ * optimistic-concurrency conflicts). The callback receives the raw
176
+ * transaction executor so it can compose several statements atomically.
177
+ */
178
+ transaction<T>(fn: (txn: QldbTransactionLike) => Promise<T> | T): Promise<T>;
179
+ /** List the active table names in the ledger (thin passthrough). */
180
+ tableNames(): Promise<string[]>;
181
+ }
182
+ export default QldbStore;