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,341 @@
1
+ /**
2
+ * Cache Manager - Abstract CacheBackend interface
3
+ *
4
+ * Defines the contract for cache backends used in query result caching.
5
+ * Supports L1 (in-memory) and L2 (distributed) caching layers.
6
+ */
7
+ /**
8
+ * Redis cluster node configuration
9
+ */
10
+ export interface RedisClusterNodeConfig {
11
+ /**
12
+ * Host of the Redis node
13
+ */
14
+ host: string;
15
+ /**
16
+ * Port of the Redis node
17
+ */
18
+ port: number;
19
+ /**
20
+ * Password for the Redis node (optional)
21
+ */
22
+ password?: string;
23
+ /**
24
+ * Enable TLS for this node
25
+ */
26
+ tls?: boolean;
27
+ }
28
+ /**
29
+ * Redis cluster options
30
+ */
31
+ export interface RedisClusterOptions {
32
+ /**
33
+ * Array of Redis cluster node addresses
34
+ */
35
+ nodes?: RedisClusterNodeConfig[];
36
+ /**
37
+ * Array of read replica nodes (for read scaling)
38
+ */
39
+ replicaNodes?: RedisClusterNodeConfig[];
40
+ /**
41
+ * Cluster password (used for all nodes)
42
+ */
43
+ password?: string;
44
+ /**
45
+ * Enable reading from replicas
46
+ */
47
+ enableReadFromReplicas?: boolean;
48
+ /**
49
+ * Maximum number of redirects
50
+ */
51
+ maxRedirections?: number;
52
+ /**
53
+ * Enable Redis keyspace notifications
54
+ */
55
+ enableKeyspaceNotifications?: boolean;
56
+ /**
57
+ * Redis database number (0-15)
58
+ */
59
+ db?: number;
60
+ /**
61
+ * Connection timeout in milliseconds
62
+ */
63
+ connectTimeout?: number;
64
+ /**
65
+ * Command timeout in milliseconds
66
+ */
67
+ commandTimeout?: number;
68
+ /**
69
+ * Enable TLS for all connections
70
+ */
71
+ tls?: boolean;
72
+ }
73
+ /**
74
+ * Abstract interface for cache backend implementations
75
+ */
76
+ export interface CacheBackend {
77
+ /**
78
+ * Get a value from cache
79
+ * @param key - Cache key
80
+ * @returns Cached value or null if not found
81
+ */
82
+ get(key: string): Promise<string | null>;
83
+ /**
84
+ * Set a value in cache
85
+ * @param key - Cache key
86
+ * @param value - Value to cache
87
+ * @param ttl - Time to live in seconds (optional)
88
+ * @returns True if successful
89
+ */
90
+ set(key: string, value: string, ttl?: number): Promise<boolean>;
91
+ /**
92
+ * Delete a key from cache
93
+ * @param key - Cache key
94
+ * @returns True if key was deleted
95
+ */
96
+ del(key: string): Promise<boolean>;
97
+ /**
98
+ * Check if a key exists in cache
99
+ * @param key - Cache key
100
+ * @returns True if key exists
101
+ */
102
+ exists(key: string): Promise<boolean>;
103
+ /**
104
+ * Invalidate all keys matching a pattern
105
+ * @param pattern - Key pattern (supports glob patterns like user:*)
106
+ * @returns Number of keys invalidated
107
+ */
108
+ invalidatePattern(pattern: string): Promise<number>;
109
+ /**
110
+ * Clear all cache entries (use with caution)
111
+ * @returns True if successful
112
+ */
113
+ clear(): Promise<boolean>;
114
+ /**
115
+ * Get multiple keys at once
116
+ * @param keys - Array of cache keys
117
+ * @returns Array of values (null for missing keys)
118
+ */
119
+ mget(keys: string[]): Promise<(string | null)[]>;
120
+ /**
121
+ * Set multiple keys at once
122
+ * @param entries - Array of {key, value, ttl?} objects
123
+ * @returns True if successful
124
+ */
125
+ mset(entries: Array<{
126
+ key: string;
127
+ value: string;
128
+ ttl?: number;
129
+ }>): Promise<boolean>;
130
+ /**
131
+ * Close the cache backend connection
132
+ * @returns Promise that resolves when connection is closed
133
+ */
134
+ disconnect(): Promise<void>;
135
+ /**
136
+ * Check if cache backend is connected
137
+ * @returns True if connected
138
+ */
139
+ isConnected(): boolean;
140
+ }
141
+ /**
142
+ * L1 Cache options for in-memory cache layer
143
+ */
144
+ export interface L1CacheOptions {
145
+ /**
146
+ * Enable L1 (in-memory) cache
147
+ * @default true
148
+ */
149
+ enabled?: boolean;
150
+ /**
151
+ * Maximum number of entries in L1 cache
152
+ * @default 1000
153
+ */
154
+ maxEntries?: number;
155
+ /**
156
+ * L1 cache TTL in seconds (for LRU eviction)
157
+ * @default 60
158
+ */
159
+ ttl?: number;
160
+ }
161
+ /**
162
+ * L2 Cache options for distributed cache layer
163
+ */
164
+ export interface L2CacheOptions {
165
+ /**
166
+ * Enable L2 (Redis) cache
167
+ * @default true
168
+ */
169
+ enabled?: boolean;
170
+ /**
171
+ * Default TTL for L2 cache entries in seconds
172
+ * @default 3600 (1 hour)
173
+ */
174
+ defaultTtl?: number;
175
+ }
176
+ /**
177
+ * Cache key prefix configuration
178
+ */
179
+ export interface CacheKeyOptions {
180
+ /**
181
+ * Prefix for all cache keys
182
+ * @default 'orm:cache:'
183
+ */
184
+ prefix?: string;
185
+ /**
186
+ * Separator between prefix and key
187
+ * @default ':'
188
+ */
189
+ separator?: string;
190
+ }
191
+ /**
192
+ * Combined cache manager options
193
+ */
194
+ export interface CacheManagerOptions {
195
+ /**
196
+ * L1 (in-memory) cache options
197
+ */
198
+ l1?: L1CacheOptions;
199
+ /**
200
+ * L2 (Redis cluster) cache options
201
+ */
202
+ l2?: L2CacheOptions;
203
+ /**
204
+ * Cache key prefix options
205
+ */
206
+ key?: CacheKeyOptions;
207
+ /**
208
+ * Enable read-from-replicas for Redis cluster
209
+ * @default false
210
+ */
211
+ readFromReplicas?: boolean;
212
+ /**
213
+ * Redis cluster nodes configuration
214
+ */
215
+ clusterNodes?: RedisClusterNodeConfig[];
216
+ /**
217
+ * Additional Redis cluster options
218
+ */
219
+ clusterOptions?: Omit<RedisClusterOptions, 'nodes'>;
220
+ /**
221
+ * Maximum number of connections in the connection pool
222
+ * @default 10
223
+ */
224
+ maxConnections?: number;
225
+ /**
226
+ * Connect timeout in milliseconds
227
+ * @default 10000
228
+ */
229
+ connectTimeout?: number;
230
+ /**
231
+ * Command timeout in milliseconds
232
+ * @default 5000
233
+ */
234
+ commandTimeout?: number;
235
+ /**
236
+ * Retry strategy configuration
237
+ */
238
+ retryStrategy?: (times: number) => number | Error | null;
239
+ /**
240
+ * Database number (0-15)
241
+ * @default 0
242
+ */
243
+ db?: number;
244
+ /**
245
+ * Enable keyspace notifications for cache invalidation
246
+ * @default false
247
+ */
248
+ enableKeyspaceNotifications?: boolean;
249
+ }
250
+ /**
251
+ * Cache entry metadata
252
+ */
253
+ export interface CacheEntry<T = any> {
254
+ /**
255
+ * The cached value
256
+ */
257
+ value: T;
258
+ /**
259
+ * Timestamp when entry was created
260
+ */
261
+ createdAt: number;
262
+ /**
263
+ * Timestamp when entry was last accessed
264
+ */
265
+ accessedAt: number;
266
+ /**
267
+ * Time to live in seconds
268
+ */
269
+ ttl?: number;
270
+ }
271
+ /**
272
+ * Cache statistics
273
+ */
274
+ export interface CacheStats {
275
+ /**
276
+ * Number of hits
277
+ */
278
+ hits: number;
279
+ /**
280
+ * Number of misses
281
+ */
282
+ misses: number;
283
+ /**
284
+ * Number of L1 hits
285
+ */
286
+ l1Hits: number;
287
+ /**
288
+ * Number of L2 hits
289
+ */
290
+ l2Hits: number;
291
+ /**
292
+ * Number of keys stored
293
+ */
294
+ keys: number;
295
+ /**
296
+ * Hit rate (0-1)
297
+ */
298
+ hitRate: number;
299
+ }
300
+ /**
301
+ * Abstract cache manager with L1/L2 support
302
+ */
303
+ export declare abstract class AbstractCacheManager implements CacheBackend {
304
+ protected options: Required<CacheManagerOptions>;
305
+ protected stats: CacheStats;
306
+ constructor(options?: CacheManagerOptions);
307
+ /**
308
+ * Normalize and set default options
309
+ */
310
+ protected normalizeOptions(options: CacheManagerOptions): Required<CacheManagerOptions>;
311
+ /**
312
+ * Build a full cache key with prefix
313
+ */
314
+ protected buildKey(key: string): string;
315
+ /**
316
+ * Get cache statistics
317
+ */
318
+ getStats(): CacheStats;
319
+ /**
320
+ * Reset cache statistics
321
+ */
322
+ resetStats(): void;
323
+ abstract get(key: string): Promise<string | null>;
324
+ abstract set(key: string, value: string, ttl?: number): Promise<boolean>;
325
+ abstract del(key: string): Promise<boolean>;
326
+ abstract exists(key: string): Promise<boolean>;
327
+ abstract invalidatePattern(pattern: string): Promise<number>;
328
+ abstract clear(): Promise<boolean>;
329
+ abstract mget(keys: string[]): Promise<(string | null)[]>;
330
+ abstract mset(entries: Array<{
331
+ key: string;
332
+ value: string;
333
+ ttl?: number;
334
+ }>): Promise<boolean>;
335
+ abstract disconnect(): Promise<void>;
336
+ abstract isConnected(): boolean;
337
+ }
338
+ /**
339
+ * Factory function type for creating cache backends
340
+ */
341
+ export type CacheBackendFactory = (options: CacheManagerOptions) => CacheBackend;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Cache Module
3
+ *
4
+ * Provides caching functionality for query results using Redis Cluster
5
+ * with L1 (in-memory) and L2 (distributed Redis) cache layers.
6
+ */
7
+ export { CacheBackend, AbstractCacheManager, type CacheManagerOptions, type L1CacheOptions, type L2CacheOptions, type CacheKeyOptions, type CacheEntry, type CacheStats, type CacheBackendFactory, type RedisClusterOptions, type RedisClusterNodeConfig, } from './cache-manager';
8
+ export { RedisClusterCache, createRedisClusterCache, type RedisClusterCacheOptions, type RedisClusterNode, } from './redis-cluster-cache';
@@ -0,0 +1,164 @@
1
+ /**
2
+ * Redis Cluster Cache Backend
3
+ *
4
+ * Implements CacheBackend using ioredis cluster with L1 (in-memory) and L2 (Redis cluster) caching.
5
+ */
6
+ import type Redis from 'ioredis';
7
+ import type { Cluster } from 'ioredis';
8
+ import { AbstractCacheManager, type CacheManagerOptions, type CacheStats } from './cache-manager';
9
+ /**
10
+ * Redis cluster node configuration
11
+ */
12
+ export interface RedisClusterNode {
13
+ /**
14
+ * Host of the Redis node
15
+ */
16
+ host: string;
17
+ /**
18
+ * Port of the Redis node
19
+ */
20
+ port: number;
21
+ /**
22
+ * Password for the Redis node (optional)
23
+ */
24
+ password?: string;
25
+ /**
26
+ * Enable TLS for this node
27
+ */
28
+ tls?: boolean;
29
+ }
30
+ /**
31
+ * Extended options for Redis cluster cache
32
+ */
33
+ export interface RedisClusterCacheOptions extends CacheManagerOptions {
34
+ /**
35
+ * Redis cluster nodes configuration
36
+ */
37
+ clusterNodes?: RedisClusterNode[];
38
+ /**
39
+ * Maximum number of connections in the connection pool
40
+ * @default 10
41
+ */
42
+ maxConnections?: number;
43
+ /**
44
+ * Enable read-from-replicas for Redis cluster
45
+ * @default false
46
+ */
47
+ readFromReplicas?: boolean;
48
+ /**
49
+ * Connect timeout in milliseconds
50
+ * @default 10000
51
+ */
52
+ connectTimeout?: number;
53
+ /**
54
+ * Command timeout in milliseconds
55
+ * @default 5000
56
+ */
57
+ commandTimeout?: number;
58
+ /**
59
+ * Retry strategy configuration
60
+ */
61
+ retryStrategy?: (times: number) => number | Error | null;
62
+ /**
63
+ * Enable keyspace notifications for cache invalidation
64
+ * @default false
65
+ */
66
+ enableKeyspaceNotifications?: boolean;
67
+ /**
68
+ * Database number (0-15)
69
+ * @default 0
70
+ */
71
+ db?: number;
72
+ }
73
+ /**
74
+ * Redis Cluster Cache implementation with L1/L2 support
75
+ */
76
+ export declare class RedisClusterCache extends AbstractCacheManager {
77
+ private redisCluster;
78
+ private redisReplicas;
79
+ private l1Cache;
80
+ private connected;
81
+ protected get clusterOptions(): RedisClusterCacheOptions;
82
+ constructor(options?: RedisClusterCacheOptions);
83
+ /**
84
+ * Initialize Redis cluster connection
85
+ */
86
+ private initializeCluster;
87
+ /**
88
+ * Initialize read replicas for read-from-replicas functionality
89
+ */
90
+ private initializeReplicas;
91
+ /**
92
+ * Get a value from cache, checking L1 first then L2
93
+ */
94
+ get(key: string): Promise<string | null>;
95
+ /**
96
+ * Set a value in cache (both L1 and L2)
97
+ */
98
+ set(key: string, value: string, ttl?: number): Promise<boolean>;
99
+ /**
100
+ * Delete a key from cache (both L1 and L2)
101
+ */
102
+ del(key: string): Promise<boolean>;
103
+ /**
104
+ * Check if a key exists in cache
105
+ */
106
+ exists(key: string): Promise<boolean>;
107
+ /**
108
+ * Invalidate all keys matching a pattern
109
+ */
110
+ invalidatePattern(pattern: string): Promise<number>;
111
+ /**
112
+ * Clear all cache entries
113
+ */
114
+ clear(): Promise<boolean>;
115
+ /**
116
+ * Get multiple keys at once
117
+ */
118
+ mget(keys: string[]): Promise<(string | null)[]>;
119
+ /**
120
+ * Set multiple keys at once
121
+ */
122
+ mset(entries: Array<{
123
+ key: string;
124
+ value: string;
125
+ ttl?: number;
126
+ }>): Promise<boolean>;
127
+ /**
128
+ * Get the appropriate Redis client (master or replica)
129
+ */
130
+ private getRedisClient;
131
+ /**
132
+ * Get cache statistics
133
+ */
134
+ getStats(): CacheStats;
135
+ /**
136
+ * Close all Redis connections
137
+ */
138
+ disconnect(): Promise<void>;
139
+ /**
140
+ * Check if cache backend is connected
141
+ */
142
+ isConnected(): boolean;
143
+ /**
144
+ * Get the underlying Redis cluster instance
145
+ */
146
+ getRedisCluster(): Cluster | null;
147
+ /**
148
+ * Get all replica connections
149
+ */
150
+ getReplicas(): Redis[];
151
+ /**
152
+ * Manually invalidate L1 cache (useful for testing)
153
+ */
154
+ clearL1(): void;
155
+ /**
156
+ * Convert glob pattern to regex
157
+ */
158
+ private patternToRegex;
159
+ }
160
+ /**
161
+ * Create a RedisClusterCache instance with simplified options
162
+ */
163
+ export declare function createRedisClusterCache(nodes: RedisClusterNode[], options?: Partial<RedisClusterCacheOptions>): RedisClusterCache;
164
+ export default RedisClusterCache;
@@ -4,43 +4,25 @@
4
4
  *
5
5
  * Implements CacheBackend using ioredis cluster with L1 (in-memory) and L2 (Redis cluster) caching.
6
6
  */
7
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
- if (k2 === undefined) k2 = k;
9
- var desc = Object.getOwnPropertyDescriptor(m, k);
10
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
- desc = { enumerable: true, get: function() { return m[k]; } };
12
- }
13
- Object.defineProperty(o, k2, desc);
14
- }) : (function(o, m, k, k2) {
15
- if (k2 === undefined) k2 = k;
16
- o[k2] = m[k];
17
- }));
18
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
- Object.defineProperty(o, "default", { enumerable: true, value: v });
20
- }) : function(o, v) {
21
- o["default"] = v;
22
- });
23
- var __importStar = (this && this.__importStar) || (function () {
24
- var ownKeys = function(o) {
25
- ownKeys = Object.getOwnPropertyNames || function (o) {
26
- var ar = [];
27
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
- return ar;
29
- };
30
- return ownKeys(o);
31
- };
32
- return function (mod) {
33
- if (mod && mod.__esModule) return mod;
34
- var result = {};
35
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
- __setModuleDefault(result, mod);
37
- return result;
38
- };
39
- })();
40
7
  Object.defineProperty(exports, "__esModule", { value: true });
41
8
  exports.RedisClusterCache = void 0;
42
9
  exports.createRedisClusterCache = createRedisClusterCache;
43
- const ioredis_1 = __importStar(require("ioredis"));
10
+ // Lazily-loaded `ioredis` driver. Required only when a cluster connection is
11
+ // initialized, so importing this ORM never loads the ioredis driver.
12
+ let ioredisModule = null;
13
+ function loadIoRedis() {
14
+ if (!ioredisModule) {
15
+ try {
16
+ ioredisModule = require('ioredis');
17
+ }
18
+ catch (err) {
19
+ throw new Error("The 'ioredis' package is required to use the Redis cluster cache but could not be loaded. " +
20
+ 'Install it with `npm install ioredis`. Original error: ' +
21
+ (err instanceof Error ? err.message : String(err)));
22
+ }
23
+ }
24
+ return ioredisModule;
25
+ }
44
26
  const cache_manager_1 = require("./cache-manager");
45
27
  /**
46
28
  * LRU Map implementation for L1 cache
@@ -151,7 +133,7 @@ class RedisClusterCache extends cache_manager_1.AbstractCacheManager {
151
133
  return Math.min(times * 200, 3000); // Max 3 seconds
152
134
  };
153
135
  }
154
- this.redisCluster = new ioredis_1.Cluster(clusterNodes, clusterOptions);
136
+ this.redisCluster = new (loadIoRedis().Cluster)(clusterNodes, clusterOptions);
155
137
  this.redisCluster.on('connect', () => {
156
138
  this.connected = true;
157
139
  console.log('RedisClusterCache: Connected to cluster');
@@ -176,7 +158,8 @@ class RedisClusterCache extends cache_manager_1.AbstractCacheManager {
176
158
  return;
177
159
  }
178
160
  for (const node of this.options.clusterOptions.replicaNodes) {
179
- const redis = new ioredis_1.default({
161
+ const RedisCtor = loadIoRedis().default ?? loadIoRedis();
162
+ const redis = new RedisCtor({
180
163
  host: node.host,
181
164
  port: node.port,
182
165
  password: node.password,
@@ -0,0 +1,55 @@
1
+ export interface CliConfig {
2
+ apiUrl: string;
3
+ token?: string;
4
+ /** Set when the access token is held in the OS keychain, not in this file. */
5
+ tokenInKeychain?: boolean;
6
+ /** Optional refresh token for re-minting an expired access token. */
7
+ refreshToken?: string;
8
+ /** Currently-selected user or team context. */
9
+ user?: {
10
+ id: string;
11
+ email: string;
12
+ name?: string;
13
+ };
14
+ teamId?: string;
15
+ teamSlug?: string;
16
+ defaultDb?: string;
17
+ }
18
+ export declare function configPath(): string;
19
+ export declare function loadConfig(): CliConfig;
20
+ export declare function saveConfig(cfg: CliConfig): void;
21
+ export declare function updateConfig(patch: Partial<CliConfig>): CliConfig;
22
+ /**
23
+ * Store the access token, preferring the OS keychain. Returns whether the
24
+ * keychain was used (false = written to the config file as a fallback).
25
+ */
26
+ export declare function storeToken(token: string, extra?: Partial<CliConfig>): boolean;
27
+ export declare function clearAuth(): void;
28
+ export declare function requireAuth(): CliConfig & {
29
+ token: string;
30
+ };
31
+ export declare class ApiError extends Error {
32
+ status: number;
33
+ /** Field-level validation details from the API response, if any. */
34
+ details?: unknown;
35
+ constructor(message: string, status: number, details?: unknown);
36
+ }
37
+ export declare class AuthError extends ApiError {
38
+ constructor(message: string);
39
+ }
40
+ export declare class NetworkError extends Error {
41
+ code: string;
42
+ }
43
+ export interface ApiOptions {
44
+ method?: string;
45
+ body?: unknown;
46
+ query?: Record<string, string | number | boolean | undefined>;
47
+ auth?: boolean;
48
+ token?: string;
49
+ /** Per-call timeout in ms (default: --timeout or 30s). */
50
+ timeoutMs?: number;
51
+ /** Max retry attempts on transient failures (default 3). */
52
+ retries?: number;
53
+ }
54
+ /** Call the dashboard API with timeout, retry/backoff, and typed errors. */
55
+ export declare function api<T = unknown>(pathname: string, opts?: ApiOptions): Promise<T>;