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.
- package/CHANGELOG.md +83 -0
- package/README.md +194 -72
- package/dist/audit/history-query.d.ts +35 -0
- package/dist/audit/index.d.ts +16 -0
- package/dist/audit/logger.d.ts +126 -0
- package/dist/cache/cache-manager.d.ts +341 -0
- package/dist/cache/index.d.ts +8 -0
- package/dist/cache/redis-cluster-cache.d.ts +164 -0
- package/dist/cache/redis-cluster-cache.js +19 -36
- package/dist/cli/cloud.d.ts +55 -0
- package/dist/cli/cloud.js +318 -0
- package/dist/cli/commands/auth.d.ts +2 -0
- package/dist/cli/commands/auth.js +345 -0
- package/dist/cli/commands/billing.d.ts +2 -0
- package/dist/cli/commands/billing.js +135 -0
- package/dist/cli/commands/code.d.ts +2 -0
- package/dist/cli/commands/code.js +168 -0
- package/dist/cli/commands/config.d.ts +2 -0
- package/dist/cli/commands/config.js +154 -0
- package/dist/cli/commands/db.d.ts +2 -0
- package/dist/cli/commands/db.js +189 -0
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.js +22 -0
- package/dist/cli/commands/keys.d.ts +2 -0
- package/dist/cli/commands/keys.js +100 -0
- package/dist/cli/commands/misc.d.ts +2 -0
- package/dist/cli/commands/misc.js +282 -0
- package/dist/cli/commands/pull.d.ts +2 -0
- package/dist/cli/commands/pull.js +306 -0
- package/dist/cli/commands/runners.d.ts +2 -0
- package/dist/cli/commands/runners.js +218 -0
- package/dist/cli/commands/scaffold.d.ts +2 -0
- package/dist/cli/commands/scaffold.js +383 -0
- package/dist/cli/commands/secrets.d.ts +2 -0
- package/dist/cli/commands/secrets.js +162 -0
- package/dist/cli/commands/store.d.ts +2 -0
- package/dist/cli/commands/store.js +274 -0
- package/dist/cli/commands/system.d.ts +10 -0
- package/dist/cli/commands/system.js +169 -0
- package/dist/cli/commands/teams.d.ts +2 -0
- package/dist/cli/commands/teams.js +189 -0
- package/dist/cli/commands/user.d.ts +2 -0
- package/dist/cli/commands/user.js +171 -0
- package/dist/cli/framework.d.ts +103 -0
- package/dist/cli/framework.js +436 -0
- package/dist/cli/io.d.ts +26 -0
- package/dist/cli/io.js +181 -0
- package/dist/cli/keychain.d.ts +10 -0
- package/dist/cli/keychain.js +101 -0
- package/dist/cli/prompt.d.ts +20 -0
- package/dist/cli/prompt.js +111 -0
- package/dist/cli.d.ts +214 -0
- package/dist/cli.js +72 -5
- package/dist/compliance/audit-trail.d.ts +66 -0
- package/dist/compliance/backup-verification.d.ts +279 -0
- package/dist/compliance/breach-detector.d.ts +197 -0
- package/dist/compliance/consent-record.d.ts +107 -0
- package/dist/compliance/consent-versioning.d.ts +169 -0
- package/dist/compliance/cross-border-log.d.ts +254 -0
- package/dist/compliance/data-classifier.d.ts +127 -0
- package/dist/compliance/data-lineage.d.ts +268 -0
- package/dist/compliance/data-masker.d.ts +110 -0
- package/dist/compliance/data-portability.d.ts +98 -0
- package/dist/compliance/data-retention.d.ts +108 -0
- package/dist/compliance/dsar-workflow.d.ts +175 -0
- package/dist/compliance/field-encryption.d.ts +84 -0
- package/dist/compliance/immutable-record.d.ts +84 -0
- package/dist/compliance/index.d.ts +93 -0
- package/dist/compliance/privacy-impact-assessment.d.ts +196 -0
- package/dist/compliance/pseudonymization.d.ts +96 -0
- package/dist/compliance/query-firewall.d.ts +661 -0
- package/dist/compliance/rate-limiter.d.ts +203 -0
- package/dist/compliance/right-to-erasure.d.ts +96 -0
- package/dist/compliance/row-level-security.d.ts +152 -0
- package/dist/compliance/security-decorator.d.ts +388 -0
- package/dist/compliance/security-monitor.d.ts +170 -0
- package/dist/compliance/sensitive-data-discovery.d.ts +151 -0
- package/dist/compliance/session-isolation.d.ts +286 -0
- package/dist/compliance/tls-enforcer.d.ts +51 -0
- package/dist/compliance/worm-storage.d.ts +225 -0
- package/dist/connection-manager.d.ts +130 -0
- package/dist/connection-pool.d.ts +311 -0
- package/dist/decorators/audit.d.ts +49 -0
- package/dist/decorators/check.d.ts +218 -0
- package/dist/decorators/collate.d.ts +346 -0
- package/dist/decorators/comment.d.ts +51 -0
- package/dist/decorators/database-settings.d.ts +193 -0
- package/dist/decorators/default.d.ts +148 -0
- package/dist/decorators/encryption.d.ts +175 -0
- package/dist/decorators/engine.d.ts +97 -0
- package/dist/decorators/fk-constraints.d.ts +387 -0
- package/dist/decorators/foreign-table.d.ts +57 -0
- package/dist/decorators/generated.d.ts +232 -0
- package/dist/decorators/hstore.d.ts +96 -0
- package/dist/decorators/index.d.ts +57 -0
- package/dist/decorators/index.js +14 -30
- package/dist/decorators/json-column.d.ts +47 -0
- package/dist/decorators/jsonb.d.ts +83 -0
- package/dist/decorators/orm-decorators.d.ts +274 -0
- package/dist/decorators/permissions.d.ts +192 -0
- package/dist/decorators/procedure.d.ts +168 -0
- package/dist/decorators/procedure.js +31 -7
- package/dist/decorators/query-options.d.ts +527 -0
- package/dist/decorators/range.d.ts +122 -0
- package/dist/decorators/set-column.d.ts +43 -0
- package/dist/decorators/spatial.d.ts +60 -0
- package/dist/decorators/storage.d.ts +561 -0
- package/dist/decorators/timezone.d.ts +319 -0
- package/dist/decorators/trigger.d.ts +50 -0
- package/dist/decorators/uuid.d.ts +102 -0
- package/dist/decorators/view.d.ts +213 -0
- package/dist/diagrams/chen-diagram.d.ts +70 -0
- package/dist/diagrams/chen-diagram.js +33 -31
- package/dist/diagrams/class-diagram.d.ts +78 -0
- package/dist/diagrams/class-diagram.js +23 -27
- package/dist/diagrams/dependency-diagram.d.ts +82 -0
- package/dist/diagrams/dependency-diagram.js +18 -9
- package/dist/diagrams/er-diagram.d.ts +82 -0
- package/dist/diagrams/er-diagram.js +174 -231
- package/dist/diagrams/flow-diagram.d.ts +70 -0
- package/dist/diagrams/flow-diagram.js +23 -18
- package/dist/diagrams/gantt-diagram.d.ts +67 -0
- package/dist/diagrams/gantt-diagram.js +20 -18
- package/dist/diagrams/index-diagram.d.ts +61 -0
- package/dist/diagrams/index-diagram.js +36 -31
- package/dist/diagrams/index.d.ts +155 -0
- package/dist/diagrams/index.js +7 -1
- package/dist/diagrams/migration-diagram.d.ts +67 -0
- package/dist/diagrams/migration-diagram.js +45 -57
- package/dist/diagrams/model-diagram.d.ts +85 -0
- package/dist/diagrams/model-diagram.js +225 -287
- package/dist/diagrams/package-diagram.d.ts +69 -0
- package/dist/diagrams/package-diagram.js +30 -32
- package/dist/diagrams/palette.d.ts +138 -0
- package/dist/diagrams/palette.js +134 -25
- package/dist/diagrams/relational-diagram.d.ts +82 -0
- package/dist/diagrams/relational-diagram.js +51 -59
- package/dist/diagrams/schemadoc-diagram.d.ts +57 -0
- package/dist/diagrams/schemadoc-diagram.js +36 -28
- package/dist/diagrams/sequence-diagram.d.ts +61 -0
- package/dist/diagrams/sequence-diagram.js +20 -11
- package/dist/diagrams/state-diagram.d.ts +85 -0
- package/dist/diagrams/state-diagram.js +21 -17
- package/dist/diagrams/svg-dom.d.ts +62 -0
- package/dist/diagrams/svg-dom.js +11 -0
- package/dist/diagrams/tree-diagram.d.ts +47 -0
- package/dist/diagrams/tree-diagram.js +19 -10
- package/dist/dialects/clickhouse/index.d.ts +660 -0
- package/dist/dialects/clickhouse/index.js +107 -2
- package/dist/dialects/cockroachdb/index.d.ts +1708 -0
- package/dist/dialects/cockroachdb/index.js +139 -10
- package/dist/dialects/cratedb/index.d.ts +262 -0
- package/dist/dialects/cratedb/index.js +148 -0
- package/dist/dialects/databricks/index.d.ts +397 -0
- package/dist/dialects/databricks/index.js +233 -11
- package/dist/dialects/db2/index.d.ts +729 -0
- package/dist/dialects/db2/index.js +152 -2
- package/dist/dialects/dialect.d.ts +1653 -0
- package/dist/dialects/duckdb/index.d.ts +440 -0
- package/dist/dialects/duckdb/index.js +21 -37
- package/dist/dialects/exasol/index.d.ts +197 -0
- package/dist/dialects/exasol/index.js +14 -0
- package/dist/dialects/firebird/index.d.ts +286 -0
- package/dist/dialects/firebird/index.js +135 -0
- package/dist/dialects/greenplum/index.d.ts +336 -0
- package/dist/dialects/greenplum/index.js +168 -0
- package/dist/dialects/hana/index.d.ts +512 -0
- package/dist/dialects/hana/index.js +17 -35
- package/dist/dialects/mariadb/index.d.ts +1241 -0
- package/dist/dialects/mariadb/index.js +181 -43
- package/dist/dialects/mssql/index.d.ts +729 -0
- package/dist/dialects/mssql/index.js +76 -7
- package/dist/dialects/mysql/index.d.ts +1233 -0
- package/dist/dialects/mysql/index.js +87 -19
- package/dist/dialects/oracle/index.d.ts +1222 -0
- package/dist/dialects/oracle/index.js +210 -9
- package/dist/dialects/postgres/index.d.ts +1598 -0
- package/dist/dialects/postgres/index.js +34 -13
- package/dist/dialects/query-stream-helper.d.ts +58 -0
- package/dist/dialects/questdb/index.d.ts +430 -0
- package/dist/dialects/questdb/index.js +292 -0
- package/dist/dialects/redshift/index.d.ts +933 -0
- package/dist/dialects/redshift/index.js +17 -5
- package/dist/dialects/singlestore/index.d.ts +233 -0
- package/dist/dialects/singlestore/index.js +53 -0
- package/dist/dialects/snowflake/index.d.ts +727 -0
- package/dist/dialects/snowflake/index.js +154 -5
- package/dist/dialects/spanner/index.d.ts +660 -0
- package/dist/dialects/spanner/index.js +43 -21
- package/dist/dialects/sqlite/index.d.ts +1133 -0
- package/dist/dialects/sqlite/index.js +168 -30
- package/dist/dialects/tidb/index.d.ts +226 -0
- package/dist/dialects/tidb/index.js +10 -0
- package/dist/dialects/timescaledb/index.d.ts +286 -0
- package/dist/dialects/timescaledb/index.js +179 -0
- package/dist/dialects/trino/index.d.ts +230 -0
- package/dist/dialects/trino/index.js +85 -10
- package/dist/dialects/turso/index.d.ts +98 -0
- package/dist/dialects/turso/index.js +10 -0
- package/dist/dialects/vertica/index.d.ts +321 -0
- package/dist/dialects/vertica/index.js +161 -0
- package/dist/dialects/yugabytedb/index.d.ts +276 -0
- package/dist/dialects/yugabytedb/index.js +121 -0
- package/dist/errors/index.d.ts +378 -0
- package/dist/errors/index.js +29 -1
- package/dist/errors/utils.d.ts +53 -0
- package/dist/errors.d.ts +5 -0
- package/dist/extensions/catalog/cloud-warehouse-features.d.ts +27 -0
- package/dist/extensions/catalog/mssql-features.d.ts +20 -0
- package/dist/extensions/catalog/mysql-mariadb-plugins.d.ts +18 -0
- package/dist/extensions/catalog/oracle-db2-features.d.ts +17 -0
- package/dist/extensions/catalog/postgres-extensions.d.ts +15 -0
- package/dist/extensions/index.d.ts +34 -0
- package/dist/extensions/types.d.ts +43 -0
- package/dist/external-fields/adapters.d.ts +50 -0
- package/dist/external-fields/adapters.js +227 -0
- package/dist/external-fields/decorator.d.ts +77 -0
- package/dist/external-fields/decorator.js +80 -0
- package/dist/external-fields/index.d.ts +10 -0
- package/dist/external-fields/index.js +19 -0
- package/dist/external-fields/runtime.d.ts +39 -0
- package/dist/external-fields/runtime.js +221 -0
- package/dist/foreign-data.d.ts +168 -0
- package/dist/graph/base-graph-dialect.d.ts +250 -0
- package/dist/graph/base-graph-dialect.js +539 -0
- package/dist/graph/dgraph/index.d.ts +65 -0
- package/dist/graph/dgraph/index.js +559 -0
- package/dist/graph/gremlin/index.d.ts +59 -0
- package/dist/graph/gremlin/index.js +378 -0
- package/dist/graph/index.d.ts +60 -0
- package/dist/graph/index.js +67 -0
- package/dist/graph/neo4j/index.d.ts +50 -0
- package/dist/graph/neo4j/index.js +462 -0
- package/dist/graph/types.d.ts +213 -0
- package/dist/graph/types.js +234 -0
- package/dist/hooks/hooks-manager.d.ts +189 -0
- package/dist/hooks/index.d.ts +8 -0
- package/dist/index.d.ts +711 -0
- package/dist/index.js +19 -4
- package/dist/logging.d.ts +183 -0
- package/dist/migrations/index.d.ts +9 -0
- package/dist/migrations/migration.d.ts +143 -0
- package/dist/migrations/migrator.d.ts +199 -0
- package/dist/migrations/prormmigration.d.ts +131 -0
- package/dist/migrations/query-interface.d.ts +335 -0
- package/dist/migrations/seeder.d.ts +167 -0
- package/dist/models/associations.d.ts +131 -0
- package/dist/models/associations.js +7 -2
- package/dist/models/constraints.d.ts +175 -0
- package/dist/models/data-types.d.ts +1656 -0
- package/dist/models/decorators.d.ts +328 -0
- package/dist/models/decorators.js +61 -82
- package/dist/models/eager-load.d.ts +86 -0
- package/dist/models/eager-load.js +369 -0
- package/dist/models/index.d.ts +13 -0
- package/dist/models/indexes.d.ts +325 -0
- package/dist/models/methods.d.ts +419 -0
- package/dist/models/model-manager.d.ts +76 -0
- package/dist/models/model.d.ts +820 -0
- package/dist/models/model.js +15 -101
- package/dist/models/operators.d.ts +29 -0
- package/dist/models/scopes.d.ts +71 -0
- package/dist/models/typescript-types.d.ts +177 -0
- package/dist/nosql/aerospike/index.d.ts +126 -0
- package/dist/nosql/allegrograph/index.d.ts +86 -0
- package/dist/nosql/arangodb/index.d.ts +285 -0
- package/dist/nosql/arangodb/index.js +274 -2
- package/dist/nosql/arangodb/where.d.ts +38 -0
- package/dist/nosql/arangodb/where.js +94 -0
- package/dist/nosql/azure-blob/index.d.ts +104 -0
- package/dist/nosql/beanstalkd/index.d.ts +88 -0
- package/dist/nosql/beequeue/index.d.ts +99 -0
- package/dist/nosql/bigchaindb/index.d.ts +113 -0
- package/dist/nosql/bigtable/index.d.ts +144 -0
- package/dist/nosql/blazegraph/index.d.ts +88 -0
- package/dist/nosql/bullmq/index.d.ts +83 -0
- package/dist/nosql/cassandra/index.d.ts +119 -0
- package/dist/nosql/chroma/index.d.ts +151 -0
- package/dist/nosql/cloudflare-kv/index.d.ts +120 -0
- package/dist/nosql/coherence/index.d.ts +91 -0
- package/dist/nosql/cosmosdb/index.d.ts +78 -0
- package/dist/nosql/couchbase/index.d.ts +103 -0
- package/dist/nosql/dax/index.d.ts +118 -0
- package/dist/nosql/deno-kv/index.d.ts +109 -0
- package/dist/nosql/dgraph/index.d.ts +80 -0
- package/dist/nosql/doris/index.d.ts +88 -0
- package/dist/nosql/druid/index.d.ts +95 -0
- package/dist/nosql/dynamodb/index.d.ts +643 -0
- package/dist/nosql/dynamodb/index.js +423 -0
- package/dist/nosql/elasticsearch/index.d.ts +239 -0
- package/dist/nosql/etcd/index.d.ts +243 -0
- package/dist/nosql/eventhubs/index.d.ts +89 -0
- package/dist/nosql/eventstore/index.d.ts +102 -0
- package/dist/nosql/faunadb/index.d.ts +141 -0
- package/dist/nosql/faunadb/index.js +329 -0
- package/dist/nosql/firestore/index.d.ts +67 -0
- package/dist/nosql/fluree/index.d.ts +88 -0
- package/dist/nosql/fuseki/index.d.ts +94 -0
- package/dist/nosql/gcs/index.d.ts +62 -0
- package/dist/nosql/gearman/index.d.ts +77 -0
- package/dist/nosql/geode/index.d.ts +93 -0
- package/dist/nosql/graphdb/index.d.ts +86 -0
- package/dist/nosql/graylog/index.d.ts +118 -0
- package/dist/nosql/gridgain/index.d.ts +78 -0
- package/dist/nosql/hazelcast/index.d.ts +73 -0
- package/dist/nosql/hbase/index.d.ts +123 -0
- package/dist/nosql/ignite/index.d.ts +80 -0
- package/dist/nosql/immudb/index.d.ts +131 -0
- package/dist/nosql/index.d.ts +215 -0
- package/dist/nosql/infinispan/index.d.ts +95 -0
- package/dist/nosql/influxdb/flux-compiler.d.ts +23 -0
- package/dist/nosql/influxdb/flux-compiler.js +170 -0
- package/dist/nosql/influxdb/index.d.ts +300 -0
- package/dist/nosql/influxdb/index.js +0 -0
- package/dist/nosql/kafka/index.d.ts +113 -0
- package/dist/nosql/keyspaces/index.d.ts +122 -0
- package/dist/nosql/kinesis/index.d.ts +121 -0
- package/dist/nosql/leveldb/index.d.ts +112 -0
- package/dist/nosql/leveldb/index.js +103 -1
- package/dist/nosql/lmdb/index.d.ts +76 -0
- package/dist/nosql/loki/index.d.ts +126 -0
- package/dist/nosql/marklogic/index.d.ts +76 -0
- package/dist/nosql/materialize/index.d.ts +91 -0
- package/dist/nosql/meilisearch/index.d.ts +76 -0
- package/dist/nosql/memcached/index.d.ts +138 -0
- package/dist/nosql/milvus/index.d.ts +167 -0
- package/dist/nosql/minio/index.d.ts +122 -0
- package/dist/nosql/momento/index.d.ts +99 -0
- package/dist/nosql/mongodb/index.d.ts +265 -0
- package/dist/nosql/mongodb/index.js +139 -0
- package/dist/nosql/mongodb/where.d.ts +8 -0
- package/dist/nosql/mongodb/where.js +181 -0
- package/dist/nosql/nats/index.d.ts +139 -0
- package/dist/nosql/nedb/index.d.ts +79 -0
- package/dist/nosql/neo4j/index.d.ts +217 -0
- package/dist/nosql/neo4j/index.js +26 -14
- package/dist/nosql/neptune/index.d.ts +234 -0
- package/dist/nosql/neptune/index.js +23 -9
- package/dist/nosql/nsq/index.d.ts +93 -0
- package/dist/nosql/opensearch/index.d.ts +97 -0
- package/dist/nosql/orientdb/index.d.ts +72 -0
- package/dist/nosql/papertrail/index.d.ts +120 -0
- package/dist/nosql/pinecone/index.d.ts +148 -0
- package/dist/nosql/pinot/index.d.ts +90 -0
- package/dist/nosql/pouchdb/index.d.ts +95 -0
- package/dist/nosql/prometheus/index.d.ts +112 -0
- package/dist/nosql/provendb/index.d.ts +143 -0
- package/dist/nosql/provendb/index.js +262 -0
- package/dist/nosql/pubsub/index.d.ts +83 -0
- package/dist/nosql/pulsar/index.d.ts +105 -0
- package/dist/nosql/qdrant/index.d.ts +231 -0
- package/dist/nosql/qldb/index.d.ts +182 -0
- package/dist/nosql/qldb/index.js +302 -1
- package/dist/nosql/r2/index.d.ts +160 -0
- package/dist/nosql/rabbitmq/index.d.ts +131 -0
- package/dist/nosql/ravendb/index.d.ts +138 -0
- package/dist/nosql/ravendb/index.js +323 -9
- package/dist/nosql/ravendb/where.d.ts +38 -0
- package/dist/nosql/ravendb/where.js +94 -0
- package/dist/nosql/redis/index.d.ts +267 -0
- package/dist/nosql/redis/index.js +19 -5
- package/dist/nosql/redpanda/index.d.ts +117 -0
- package/dist/nosql/resque/index.d.ts +91 -0
- package/dist/nosql/rethinkdb/index.d.ts +194 -0
- package/dist/nosql/rethinkdb/index.js +290 -0
- package/dist/nosql/rethinkdb/where.d.ts +38 -0
- package/dist/nosql/rethinkdb/where.js +94 -0
- package/dist/nosql/rocksdb/document-layer.d.ts +162 -0
- package/dist/nosql/rocksdb/document-layer.js +338 -0
- package/dist/nosql/rocksdb/index.d.ts +112 -0
- package/dist/nosql/rocksdb/index.js +103 -1
- package/dist/nosql/rocksdb/where-match.d.ts +21 -0
- package/dist/nosql/rocksdb/where-match.js +238 -0
- package/dist/nosql/rockset/index.d.ts +84 -0
- package/dist/nosql/s3/index.d.ts +170 -0
- package/dist/nosql/scylladb/index.d.ts +117 -0
- package/dist/nosql/signoz/index.d.ts +116 -0
- package/dist/nosql/sns/index.d.ts +99 -0
- package/dist/nosql/solr/index.d.ts +129 -0
- package/dist/nosql/splunk/index.d.ts +125 -0
- package/dist/nosql/sqs/index.d.ts +116 -0
- package/dist/nosql/stardog/index.d.ts +86 -0
- package/dist/nosql/starrocks/index.d.ts +89 -0
- package/dist/nosql/store.d.ts +23 -0
- package/dist/nosql/sumologic/index.d.ts +119 -0
- package/dist/nosql/surrealdb/index.d.ts +156 -0
- package/dist/nosql/surrealdb/index.js +174 -1
- package/dist/nosql/surrealdb/query-compiler.d.ts +26 -0
- package/dist/nosql/surrealdb/query-compiler.js +193 -0
- package/dist/nosql/terminusdb/index.d.ts +95 -0
- package/dist/nosql/tigergraph/index.d.ts +314 -0
- package/dist/nosql/typesense/index.d.ts +82 -0
- package/dist/nosql/unqlite/index.d.ts +68 -0
- package/dist/nosql/upstash/index.d.ts +80 -0
- package/dist/nosql/vercel-kv/index.d.ts +82 -0
- package/dist/nosql/victoriametrics/index.d.ts +129 -0
- package/dist/nosql/virtuoso/index.d.ts +87 -0
- package/dist/nosql/weaviate/index.d.ts +196 -0
- package/dist/operators/index.d.ts +7 -0
- package/dist/operators.d.ts +2947 -0
- package/dist/operators.js +46 -1
- package/dist/prisma-migrate/index.d.ts +28 -0
- package/dist/prisma-migrate/migration-generator.d.ts +21 -0
- package/dist/prisma-migrate/model-generator.d.ts +12 -0
- package/dist/prisma-migrate/relations.d.ts +28 -0
- package/dist/prisma-migrate/schema-parser.d.ts +42 -0
- package/dist/prisma-migrate/type-mapper.d.ts +20 -0
- package/dist/prorm.d.ts +2093 -0
- package/dist/prorm.js +721 -302
- package/dist/query-builders/cte-builder.d.ts +104 -0
- package/dist/query-builders/functions/aggregate.d.ts +199 -0
- package/dist/query-builders/functions/conditional.d.ts +195 -0
- package/dist/query-builders/functions/datetime.d.ts +202 -0
- package/dist/query-builders/functions/fulltext.d.ts +220 -0
- package/dist/query-builders/functions/index.d.ts +17 -0
- package/dist/query-builders/functions/json.d.ts +157 -0
- package/dist/query-builders/functions/math.d.ts +215 -0
- package/dist/query-builders/functions/string.d.ts +233 -0
- package/dist/query-builders/functions/window.d.ts +209 -0
- package/dist/query-builders/include-builder.d.ts +85 -0
- package/dist/query-builders/index-expression-builder.d.ts +153 -0
- package/dist/query-builders/index.d.ts +121 -0
- package/dist/query-builders/index.js +10 -0
- package/dist/query-builders/insert-builder.d.ts +62 -0
- package/dist/query-builders/model-helpers.d.ts +28 -0
- package/dist/query-builders/order-limit-builder.d.ts +84 -0
- package/dist/query-builders/sql-compiler.d.ts +562 -0
- package/dist/query-builders/subquery-builder.d.ts +133 -0
- package/dist/query-builders/update-builder.d.ts +71 -0
- package/dist/query-builders/view-builder.d.ts +189 -0
- package/dist/query-builders/where-builder.d.ts +124 -0
- package/dist/query-interface.d.ts +407 -0
- package/dist/query-interface.js +84 -0
- package/dist/query-optimizers/batch-optimizer.d.ts +175 -0
- package/dist/query-optimizers/explain-plans.d.ts +187 -0
- package/dist/query-optimizers/index.d.ts +27 -0
- package/dist/query-optimizers/prepared-statement-cache.d.ts +252 -0
- package/dist/query-optimizers/query-hints.d.ts +201 -0
- package/dist/query-optimizers/query-optimizer.d.ts +162 -0
- package/dist/query-optimizers/slow-query-logger.d.ts +186 -0
- package/dist/replica-manager.d.ts +235 -0
- package/dist/schema/index.d.ts +7 -0
- package/dist/schema/migration-generator.d.ts +74 -0
- package/dist/schema/schema-differ.d.ts +114 -0
- package/dist/schema/types.d.ts +246 -0
- package/dist/schema-objects.d.ts +78 -0
- package/dist/schema-objects.js +203 -0
- package/dist/sql-constants.d.ts +240 -0
- package/dist/sqlite-advanced.d.ts +572 -0
- package/dist/streams/index.d.ts +5 -0
- package/dist/streams/transforms.d.ts +120 -0
- package/dist/transaction.d.ts +221 -0
- package/dist/types/index.d.ts +3123 -0
- package/dist/user-management.d.ts +141 -0
- package/dist/utils/date.d.ts +149 -0
- package/dist/utils/index.d.ts +359 -0
- package/dist/utils/string.d.ts +88 -0
- package/dist/validators/index.d.ts +7 -0
- package/dist/validators/validator.d.ts +306 -0
- package/package.json +20 -5
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VictoriaMetrics store implementation.
|
|
3
|
+
*
|
|
4
|
+
* VictoriaMetrics is a fast, cost-effective time-series database. Crucially
|
|
5
|
+
* it is **API-compatible with Prometheus**: it exposes the same
|
|
6
|
+
* `/api/v1/query` and `/api/v1/query_range` PromQL endpoints (plus MetricsQL
|
|
7
|
+
* extensions), so PromQL queries written against Prometheus work unchanged
|
|
8
|
+
* here. Unlike Prometheus, VictoriaMetrics also accepts client-side writes -
|
|
9
|
+
* it can ingest data pushed to it in several line formats, including the
|
|
10
|
+
* Prometheus text exposition format via `/api/v1/import/prometheus`.
|
|
11
|
+
*
|
|
12
|
+
* Because there is no SQL-shaped query surface, no row-level UPDATE/DELETE,
|
|
13
|
+
* and no identifier escaping, this engine does not fit the SQL `Dialect`
|
|
14
|
+
* interface (`src/dialects/dialect.ts`). This class implements the minimal
|
|
15
|
+
* `NoSqlStore` marker interface (`src/nosql/store.ts`) and exposes the
|
|
16
|
+
* Prometheus-compatible read API plus VictoriaMetrics's write API.
|
|
17
|
+
*
|
|
18
|
+
* ## No canonical driver - HTTP over `fetch`
|
|
19
|
+
*
|
|
20
|
+
* VictoriaMetrics has no single canonical npm client; it is an HTTP/JSON
|
|
21
|
+
* (and text-ingest) API. This store talks to it with the global `fetch`.
|
|
22
|
+
* For tests (and custom transports) an alternative HTTP client can be
|
|
23
|
+
* injected via `VictoriaMetricsStoreOptions.client`; when omitted, a tiny
|
|
24
|
+
* internal client over `fetch` + `baseURL` is built at connect time.
|
|
25
|
+
*
|
|
26
|
+
* ## Endpoints wrapped
|
|
27
|
+
*
|
|
28
|
+
* Read (Prometheus-compatible, under `/api/v1`):
|
|
29
|
+
* - `instantQuery(promql, time?)` -> `GET /api/v1/query`
|
|
30
|
+
* - `rangeQuery(promql, {start,end,step})` -> `GET /api/v1/query_range`
|
|
31
|
+
*
|
|
32
|
+
* Write (VictoriaMetrics-specific):
|
|
33
|
+
* - `importPrometheus(lines)` -> `POST /api/v1/import/prometheus`
|
|
34
|
+
* - `write(metric, value, timestamp?, labels?)` builds one Prometheus
|
|
35
|
+
* exposition line and POSTs it via `importPrometheus`.
|
|
36
|
+
*
|
|
37
|
+
* Read methods return the parsed `data` field of the response envelope.
|
|
38
|
+
*/
|
|
39
|
+
import { NoSqlStore } from '../store';
|
|
40
|
+
/** Default VictoriaMetrics HTTP API base URL (single-node). */
|
|
41
|
+
export declare const DEFAULT_VICTORIAMETRICS_BASE_URL = "http://localhost:8428";
|
|
42
|
+
/** Query-string parameter value(s). `undefined` values are dropped. */
|
|
43
|
+
export type QueryParams = Record<string, string | string[] | undefined>;
|
|
44
|
+
/**
|
|
45
|
+
* The subset of an HTTP client this store needs. The internal `fetch`-based
|
|
46
|
+
* client implements this; tests inject a mock with the same shape.
|
|
47
|
+
*/
|
|
48
|
+
export interface VictoriaMetricsHttpClient {
|
|
49
|
+
/** Issue a GET and return the parsed JSON response body. */
|
|
50
|
+
get(path: string, params?: QueryParams): Promise<any>;
|
|
51
|
+
/** Issue a POST with a text body and return the parsed/text response. */
|
|
52
|
+
post(path: string, body: string, contentType?: string): Promise<any>;
|
|
53
|
+
}
|
|
54
|
+
/** Connection options for `VictoriaMetricsStore`. */
|
|
55
|
+
export interface VictoriaMetricsStoreOptions {
|
|
56
|
+
/** Base URL of the VictoriaMetrics server. Defaults to `http://localhost:8428`. */
|
|
57
|
+
baseURL?: string;
|
|
58
|
+
/**
|
|
59
|
+
* Optional pre-built HTTP client. When provided it is used verbatim and
|
|
60
|
+
* `baseURL` is ignored; otherwise an internal `fetch`-based client is
|
|
61
|
+
* built against `baseURL` on `connect()`.
|
|
62
|
+
*/
|
|
63
|
+
client?: VictoriaMetricsHttpClient;
|
|
64
|
+
/** Extra HTTP headers sent with every internal-client request. */
|
|
65
|
+
headers?: Record<string, string>;
|
|
66
|
+
}
|
|
67
|
+
/** Time bounds + resolution for a PromQL/MetricsQL range query. */
|
|
68
|
+
export interface RangeQueryOptions {
|
|
69
|
+
/** Start timestamp (RFC3339 or Unix seconds). */
|
|
70
|
+
start: string | number;
|
|
71
|
+
/** End timestamp (RFC3339 or Unix seconds). */
|
|
72
|
+
end: string | number;
|
|
73
|
+
/** Query resolution step (duration string like `15s` or seconds). */
|
|
74
|
+
step: string | number;
|
|
75
|
+
}
|
|
76
|
+
/** Build a `fetch`-backed client for the given base URL. */
|
|
77
|
+
export declare function createFetchClient(baseURL: string, headers?: Record<string, string>): VictoriaMetricsHttpClient;
|
|
78
|
+
/**
|
|
79
|
+
* Build a single Prometheus text-exposition line:
|
|
80
|
+
*
|
|
81
|
+
* metric{label="value",...} value [timestamp_ms]
|
|
82
|
+
*
|
|
83
|
+
* Label values are escaped per the exposition format (`\`, `"`, newline).
|
|
84
|
+
*/
|
|
85
|
+
export declare function buildPrometheusLine(metric: string, value: number, timestamp?: number, labels?: Record<string, string>): string;
|
|
86
|
+
/**
|
|
87
|
+
* `VictoriaMetricsStore` wraps VictoriaMetrics's Prometheus-compatible
|
|
88
|
+
* PromQL read API (instant/range queries) and its Prometheus-exposition
|
|
89
|
+
* write/import API behind the `NoSqlStore` lifecycle.
|
|
90
|
+
*/
|
|
91
|
+
export declare class VictoriaMetricsStore implements NoSqlStore {
|
|
92
|
+
readonly name = "victoriametrics";
|
|
93
|
+
readonly library = "fetch";
|
|
94
|
+
private readonly baseURL;
|
|
95
|
+
private readonly injectedClient?;
|
|
96
|
+
private readonly headers?;
|
|
97
|
+
private client;
|
|
98
|
+
private connected;
|
|
99
|
+
constructor(options?: VictoriaMetricsStoreOptions);
|
|
100
|
+
connect(): Promise<void>;
|
|
101
|
+
disconnect(): Promise<void>;
|
|
102
|
+
isConnected(): boolean;
|
|
103
|
+
/** Returns the underlying (internal or injected) HTTP client. */
|
|
104
|
+
getClient(): VictoriaMetricsHttpClient;
|
|
105
|
+
private requireClient;
|
|
106
|
+
private doGet;
|
|
107
|
+
/**
|
|
108
|
+
* Runs a PromQL/MetricsQL instant query via `GET /api/v1/query`
|
|
109
|
+
* (identical to the Prometheus endpoint). Returns the `data` payload.
|
|
110
|
+
*/
|
|
111
|
+
instantQuery(promql: string, time?: string | number): Promise<any>;
|
|
112
|
+
/**
|
|
113
|
+
* Runs a PromQL/MetricsQL range query via `GET /api/v1/query_range`
|
|
114
|
+
* (identical to the Prometheus endpoint). Returns the `data` payload.
|
|
115
|
+
*/
|
|
116
|
+
rangeQuery(promql: string, options: RangeQueryOptions): Promise<any>;
|
|
117
|
+
/**
|
|
118
|
+
* Imports raw data in Prometheus text-exposition format via
|
|
119
|
+
* `POST /api/v1/import/prometheus`. Accepts a single newline-delimited
|
|
120
|
+
* string or an array of lines (joined with newlines).
|
|
121
|
+
*/
|
|
122
|
+
importPrometheus(lines: string | string[]): Promise<any>;
|
|
123
|
+
/**
|
|
124
|
+
* Writes a single sample by building one Prometheus-exposition line
|
|
125
|
+
* (`metric{labels} value [timestamp_ms]`) and importing it via
|
|
126
|
+
* `importPrometheus`.
|
|
127
|
+
*/
|
|
128
|
+
write(metric: string, value: number, timestamp?: number, labels?: Record<string, string>): Promise<any>;
|
|
129
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenLink Virtuoso store implementation.
|
|
3
|
+
*
|
|
4
|
+
* Virtuoso is a multi-model server whose RDF triplestore is queried over the
|
|
5
|
+
* SPARQL 1.1 Protocol via a single combined HTTP endpoint (`/sparql`) used for
|
|
6
|
+
* both queries and updates (dispatched by request content-type). There is no
|
|
7
|
+
* SQL-shaped RDF surface here, so it implements the minimal `NoSqlStore`
|
|
8
|
+
* marker interface (`src/nosql/store.ts`) rather than the SQL `Dialect`
|
|
9
|
+
* interface.
|
|
10
|
+
*
|
|
11
|
+
* ## No canonical driver - HTTP over `fetch`
|
|
12
|
+
*
|
|
13
|
+
* Virtuoso's SPARQL endpoint is just an HTTP/SPARQL API. This store talks to
|
|
14
|
+
* the server with the global `fetch`. For tests (and for callers who want
|
|
15
|
+
* their own transport) an alternative client can be injected via
|
|
16
|
+
* `VirtuosoStoreOptions.client`; when omitted, a tiny internal client over
|
|
17
|
+
* `fetch` + `endpoint` is built at connect time.
|
|
18
|
+
*
|
|
19
|
+
* ## Surface
|
|
20
|
+
*
|
|
21
|
+
* - `query(sparql)` -> POST to `/sparql`, returns bindings
|
|
22
|
+
* - `update(sparql)` -> POST to `/sparql`
|
|
23
|
+
* - `ask(sparql)` -> POST an ASK query, returns the boolean
|
|
24
|
+
* - `add(triples)` -> `INSERT DATA { ... }` update
|
|
25
|
+
* - `drop(graph?)` -> `DROP GRAPH <g>` / `DROP ALL` update
|
|
26
|
+
*/
|
|
27
|
+
import { NoSqlStore } from '../store';
|
|
28
|
+
/** Default Virtuoso base URL. */
|
|
29
|
+
export declare const DEFAULT_VIRTUOSO_ENDPOINT = "http://localhost:8890";
|
|
30
|
+
/** SPARQL endpoint path. */
|
|
31
|
+
export declare const DEFAULT_VIRTUOSO_SPARQL_PATH = "/sparql";
|
|
32
|
+
/** The subset of a SPARQL HTTP client this store needs. */
|
|
33
|
+
export interface SparqlHttpClient {
|
|
34
|
+
/** POST a SPARQL query to `path`; returns the parsed results envelope. */
|
|
35
|
+
query(path: string, sparql: string): Promise<any>;
|
|
36
|
+
/** POST a SPARQL update to `path`. */
|
|
37
|
+
update(path: string, sparql: string): Promise<any>;
|
|
38
|
+
}
|
|
39
|
+
/** Connection options for `VirtuosoStore`. */
|
|
40
|
+
export interface VirtuosoStoreOptions {
|
|
41
|
+
/** Base URL of the Virtuoso server. Defaults to `http://localhost:8890`. */
|
|
42
|
+
endpoint?: string;
|
|
43
|
+
/** SPARQL endpoint path. Defaults to `/sparql`. */
|
|
44
|
+
sparqlPath?: string;
|
|
45
|
+
/** Optional pre-built SPARQL HTTP client (used verbatim; `endpoint` ignored). */
|
|
46
|
+
client?: SparqlHttpClient;
|
|
47
|
+
/** Extra HTTP headers sent with every internal-client request. */
|
|
48
|
+
headers?: Record<string, string>;
|
|
49
|
+
}
|
|
50
|
+
/** Build a `fetch`-backed SPARQL client for the given endpoint. */
|
|
51
|
+
export declare function createFetchClient(endpoint: string, headers?: Record<string, string>): SparqlHttpClient;
|
|
52
|
+
/**
|
|
53
|
+
* `VirtuosoStore` wraps Virtuoso's `/sparql` endpoint behind the `NoSqlStore`
|
|
54
|
+
* lifecycle.
|
|
55
|
+
*/
|
|
56
|
+
export declare class VirtuosoStore implements NoSqlStore {
|
|
57
|
+
readonly name = "virtuoso";
|
|
58
|
+
readonly library = "fetch";
|
|
59
|
+
private readonly endpoint;
|
|
60
|
+
private readonly injectedClient?;
|
|
61
|
+
private readonly headers?;
|
|
62
|
+
private client;
|
|
63
|
+
private connected;
|
|
64
|
+
/** SPARQL endpoint path (queries and updates share it). */
|
|
65
|
+
readonly sparqlPath: string;
|
|
66
|
+
constructor(options?: VirtuosoStoreOptions);
|
|
67
|
+
/** SPARQL query endpoint path. */
|
|
68
|
+
get queryPath(): string;
|
|
69
|
+
/** SPARQL update endpoint path (same endpoint). */
|
|
70
|
+
get updatePath(): string;
|
|
71
|
+
connect(): Promise<void>;
|
|
72
|
+
disconnect(): Promise<void>;
|
|
73
|
+
isConnected(): boolean;
|
|
74
|
+
/** Returns the underlying (internal or injected) SPARQL HTTP client. */
|
|
75
|
+
getClient(): SparqlHttpClient;
|
|
76
|
+
private requireClient;
|
|
77
|
+
/** Runs a SPARQL SELECT/CONSTRUCT query; returns the result bindings. */
|
|
78
|
+
query(sparql: string): Promise<any[]>;
|
|
79
|
+
/** Runs a SPARQL ASK query; returns the boolean answer. */
|
|
80
|
+
ask(sparql: string): Promise<boolean>;
|
|
81
|
+
/** Runs a SPARQL UPDATE (INSERT/DELETE/DROP/...). */
|
|
82
|
+
update(sparql: string): Promise<any>;
|
|
83
|
+
/** Inserts triples via `INSERT DATA { ... }`. Accepts a triple string or array. */
|
|
84
|
+
add(triples: string | string[], graph?: string): Promise<any>;
|
|
85
|
+
/** Drops a named graph, or all graphs when no graph is given. */
|
|
86
|
+
drop(graph?: string): Promise<any>;
|
|
87
|
+
}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Weaviate store implementation.
|
|
3
|
+
*
|
|
4
|
+
* Weaviate is a vector database: collections ("classes") hold objects (a
|
|
5
|
+
* UUID, a JSON `properties` bag, and one or more dense vectors), and the
|
|
6
|
+
* primary query shape is "find the objects whose vector is closest to this
|
|
7
|
+
* vector/text" (optionally constrained by a structured filter), plus plain
|
|
8
|
+
* property-filtered fetches - not SQL, not `WHERE`, not joins. It does not
|
|
9
|
+
* fit the SQL-shaped `Dialect` interface used by the SQL dialects in this
|
|
10
|
+
* repo, so this class implements the minimal `NoSqlStore` marker interface
|
|
11
|
+
* and exposes Weaviate's real collection/object/query operations instead of
|
|
12
|
+
* forcing them into a `query(sql)` shape.
|
|
13
|
+
*
|
|
14
|
+
* Uses the official `weaviate-client` (v3) driver, which exposes a
|
|
15
|
+
* collection-oriented fluent API (`client.collections.get(name).data.*` /
|
|
16
|
+
* `.query.*`) built on gRPC, rather than the older `weaviate-ts-client` (v2)
|
|
17
|
+
* REST/GraphQL client.
|
|
18
|
+
*/
|
|
19
|
+
import { WeaviateClient, CollectionConfig, CollectionConfigCreate, ConnectToLocalOptions, ConnectToWeaviateCloudOptions, DataObject, InsertObject, UpdateObject, ReplaceObject, FilterValue, Filter, BaseNearOptions, BaseNearTextOptions, FetchObjectsOptions, FetchObjectByIdOptions, WeaviateReturn, WeaviateObject, BatchObjectsReturn, DeleteManyOptions, DeleteManyReturn } from 'weaviate-client';
|
|
20
|
+
import { NoSqlStore } from '../store';
|
|
21
|
+
/**
|
|
22
|
+
* `WeaviateStore` deliberately does not carry a generic `Properties` type
|
|
23
|
+
* parameter through to the objects it stores/returns - unlike the SQL
|
|
24
|
+
* dialects (which are backed by a static, declared model schema), object
|
|
25
|
+
* shapes in a Weaviate collection are only known at runtime from the
|
|
26
|
+
* collection's schema. All object-shaped values below are therefore plain
|
|
27
|
+
* `Record<string, WeaviateField>` bags, matching what `client.collections
|
|
28
|
+
* .get(name)` (called with no type argument) already returns.
|
|
29
|
+
*/
|
|
30
|
+
type UntypedProps = undefined;
|
|
31
|
+
/** A single vector, or a map of named vectors (for multi-vector collections). */
|
|
32
|
+
export type WeaviateVectorInput = number[] | Record<string, number[]>;
|
|
33
|
+
/** One property definition for `createCollection()` - name, data type, indexing/tokenization knobs. */
|
|
34
|
+
export type WeaviateProperty = NonNullable<CollectionConfigCreate<UntypedProps>['properties']>[number];
|
|
35
|
+
/**
|
|
36
|
+
* A vectorizer/vector-index config, as produced by `weaviate.configure.vectorizer.*`
|
|
37
|
+
* (e.g. `weaviate.configure.vectorizer.none()`, `.text2VecOpenAI()`) or a list of
|
|
38
|
+
* such configs for named multi-vector collections.
|
|
39
|
+
*/
|
|
40
|
+
export type WeaviateVectorizerConfig = NonNullable<CollectionConfigCreate<UntypedProps>['vectorizers']>;
|
|
41
|
+
/** Options accepted by `createCollection()` beyond the name/properties/vectorizer. */
|
|
42
|
+
export type WeaviateCreateCollectionOptions = Omit<CollectionConfigCreate<UntypedProps>, 'name' | 'properties' | 'vectorizers'>;
|
|
43
|
+
/** An object to insert - `properties` plus an optional explicit `id`/`vector`. */
|
|
44
|
+
export type WeaviateInsertObject = InsertObject<UntypedProps>;
|
|
45
|
+
/** An object for `insertMany()`'s batch shape (same fields as `WeaviateInsertObject`, `collection` implied). */
|
|
46
|
+
export type WeaviateBatchObject = DataObject<UntypedProps>;
|
|
47
|
+
/** Fields to update on an existing object via `updateObject()`. */
|
|
48
|
+
export type WeaviateUpdateFields = Omit<UpdateObject<UntypedProps>, 'id'>;
|
|
49
|
+
/** Fields to fully replace an existing object with, via `replaceObject()`. */
|
|
50
|
+
export type WeaviateReplaceFields = Omit<ReplaceObject<UntypedProps>, 'id'>;
|
|
51
|
+
/** Options shared by the `nearVector()`/`nearText()`/`nearObject()`-style similarity searches. */
|
|
52
|
+
export type WeaviateNearOptions = BaseNearOptions<UntypedProps, UntypedProps, boolean>;
|
|
53
|
+
/** Options for `nearText()` - `BaseNearOptions` plus text-specific knobs (`moveTo`/`moveAway`). */
|
|
54
|
+
export type WeaviateNearTextOptions = BaseNearTextOptions<UntypedProps, UntypedProps, boolean>;
|
|
55
|
+
/** Options for `fetchObjects()` - pagination/cursor, filters, sorting, property selection. */
|
|
56
|
+
export type WeaviateFetchObjectsOptions = FetchObjectsOptions<UntypedProps, boolean>;
|
|
57
|
+
/** Options for `fetchObjectById()` - property/reference selection. */
|
|
58
|
+
export type WeaviateFetchObjectByIdOptions = FetchObjectByIdOptions<UntypedProps, boolean>;
|
|
59
|
+
/** A single object as returned by any of the query methods below. */
|
|
60
|
+
export type WeaviateResultObject = WeaviateObject<UntypedProps, undefined>;
|
|
61
|
+
/** The `{ objects }` envelope returned by similarity-search and `fetchObjects()` calls. */
|
|
62
|
+
export type WeaviateQueryReturn = WeaviateReturn<UntypedProps, undefined>;
|
|
63
|
+
/** A prebuilt filter (see `filter()` below for how to construct one) accepted by queries/`deleteMany()`. */
|
|
64
|
+
export type WeaviateFilterValue = FilterValue;
|
|
65
|
+
/** Result of `insertMany()`: per-object success/failure plus the assigned UUIDs. */
|
|
66
|
+
export type WeaviateBatchInsertResult = BatchObjectsReturn<UntypedProps>;
|
|
67
|
+
/** Result of `deleteMany()`. */
|
|
68
|
+
export type WeaviateDeleteManyResult<V extends boolean = false> = DeleteManyReturn<V>;
|
|
69
|
+
/**
|
|
70
|
+
* Connection options for `WeaviateStore`.
|
|
71
|
+
*
|
|
72
|
+
* Pass `clusterURL` to connect to a Weaviate Cloud instance (via
|
|
73
|
+
* `weaviate.connectToWeaviateCloud`); otherwise a locally-reachable instance
|
|
74
|
+
* is assumed (via `weaviate.connectToLocal`, e.g. a Docker Compose stack).
|
|
75
|
+
* `headers` is the place to supply third-party module API keys (e.g.
|
|
76
|
+
* `{ 'X-OpenAI-Api-Key': '...' }`) that Weaviate forwards to a configured
|
|
77
|
+
* vectorizer/generative module.
|
|
78
|
+
*/
|
|
79
|
+
export type WeaviateStoreOptions = ({
|
|
80
|
+
clusterURL: string;
|
|
81
|
+
} & ConnectToWeaviateCloudOptions) | (ConnectToLocalOptions & {
|
|
82
|
+
clusterURL?: undefined;
|
|
83
|
+
});
|
|
84
|
+
/**
|
|
85
|
+
* `WeaviateStore` wraps a `weaviate-client` (v3) `WeaviateClient` and exposes
|
|
86
|
+
* Weaviate's collection management, object insert/query/update/delete, and
|
|
87
|
+
* near-vector/near-text similarity search as a typed, promise-based API.
|
|
88
|
+
*/
|
|
89
|
+
export declare class WeaviateStore implements NoSqlStore {
|
|
90
|
+
readonly name = "weaviate";
|
|
91
|
+
readonly library = "weaviate-client";
|
|
92
|
+
private readonly options;
|
|
93
|
+
private client;
|
|
94
|
+
private connected;
|
|
95
|
+
constructor(options?: WeaviateStoreOptions);
|
|
96
|
+
connect(): Promise<void>;
|
|
97
|
+
private hostForErrors;
|
|
98
|
+
disconnect(): Promise<void>;
|
|
99
|
+
isConnected(): boolean;
|
|
100
|
+
/** Returns the underlying `weaviate-client` `WeaviateClient` for anything not wrapped here. */
|
|
101
|
+
getClient(): WeaviateClient;
|
|
102
|
+
private requireClient;
|
|
103
|
+
private exec;
|
|
104
|
+
private collection;
|
|
105
|
+
/**
|
|
106
|
+
* Build a `FilterValue` (see `nearVector()`/`fetchObjects()`/`deleteMany()`'s
|
|
107
|
+
* `filters` option) against a collection's schema, e.g.
|
|
108
|
+
* `store.filter('Article').byProperty('title').equal('Hello')`.
|
|
109
|
+
*/
|
|
110
|
+
filter(collectionName: string): Filter<unknown>;
|
|
111
|
+
/**
|
|
112
|
+
* Create a new collection ("class"). `properties` declares the object
|
|
113
|
+
* schema (name/dataType/indexing per field); `vectorizer` configures how
|
|
114
|
+
* vectors are produced - pass `weaviate.configure.vectorizer.none()` for
|
|
115
|
+
* bring-your-own vectors, or a module config like
|
|
116
|
+
* `weaviate.configure.vectorizer.text2VecOpenAI()` to have Weaviate call
|
|
117
|
+
* out to an embedding provider (which requires the corresponding API key
|
|
118
|
+
* in `headers`, e.g. `X-OpenAI-Api-Key`, at connect time).
|
|
119
|
+
*/
|
|
120
|
+
createCollection(collectionName: string, properties?: WeaviateProperty[], vectorizer?: WeaviateVectorizerConfig, options?: WeaviateCreateCollectionOptions): Promise<CollectionConfig>;
|
|
121
|
+
/** Delete a collection and all of its objects. */
|
|
122
|
+
deleteCollection(collectionName: string): Promise<void>;
|
|
123
|
+
/** List every collection's configuration. */
|
|
124
|
+
listCollections(): Promise<CollectionConfig[]>;
|
|
125
|
+
/** Whether a collection with this name exists. */
|
|
126
|
+
collectionExists(collectionName: string): Promise<boolean>;
|
|
127
|
+
/** Detailed schema/config for one collection (properties, vectorizer, replication, etc). */
|
|
128
|
+
getCollection(collectionName: string): Promise<CollectionConfig>;
|
|
129
|
+
/**
|
|
130
|
+
* Insert a single object. `object.vector` (renamed `vectors` on the wire)
|
|
131
|
+
* may be omitted entirely for collections with a server-side vectorizer
|
|
132
|
+
* module, or supplied explicitly (a plain array, or a `{ name: vector }`
|
|
133
|
+
* map for named-vector collections) for `none`/self-provided vectorizers.
|
|
134
|
+
* Returns the object's UUID (generated if `object.id` wasn't given).
|
|
135
|
+
*/
|
|
136
|
+
insertObject(collectionName: string, object?: WeaviateInsertObject): Promise<string>;
|
|
137
|
+
/**
|
|
138
|
+
* Insert multiple objects in a single request (no client-side batching -
|
|
139
|
+
* all `objects` are sent together). Per-object failures are reported in
|
|
140
|
+
* the returned `errors`/`hasErrors` rather than rejecting the whole call;
|
|
141
|
+
* check `hasErrors` to detect partial failures.
|
|
142
|
+
*/
|
|
143
|
+
insertMany(collectionName: string, objects: WeaviateBatchObject[]): Promise<WeaviateBatchInsertResult>;
|
|
144
|
+
/** Find the objects whose vector is closest to `vector`, optionally constrained by `options.filters`. */
|
|
145
|
+
nearVector(collectionName: string, vector: number[], options?: WeaviateNearOptions): Promise<WeaviateQueryReturn>;
|
|
146
|
+
/**
|
|
147
|
+
* Find the objects whose vector is closest to the vectorized form of
|
|
148
|
+
* `query` (a single string, or multiple strings averaged together).
|
|
149
|
+
* Requires the collection to have a text vectorizer module configured
|
|
150
|
+
* (this is not a keyword/BM25 search - use `getClient()` for that).
|
|
151
|
+
*/
|
|
152
|
+
nearText(collectionName: string, query: string | string[], options?: WeaviateNearTextOptions): Promise<WeaviateQueryReturn>;
|
|
153
|
+
/**
|
|
154
|
+
* Fetch objects without a similarity search - the vector-store analogue
|
|
155
|
+
* of `SELECT ... WHERE ...`. Supports `limit`/`offset`/cursor-based
|
|
156
|
+
* pagination (`after`), `filters`, and `returnProperties` to select which
|
|
157
|
+
* fields come back.
|
|
158
|
+
*/
|
|
159
|
+
fetchObjects(collectionName: string, options?: WeaviateFetchObjectsOptions): Promise<WeaviateQueryReturn>;
|
|
160
|
+
/** Fetch a single object by its UUID. Returns `null` if no object with that ID exists. */
|
|
161
|
+
fetchObjectById(collectionName: string, id: string, options?: WeaviateFetchObjectByIdOptions): Promise<WeaviateResultObject | null>;
|
|
162
|
+
/**
|
|
163
|
+
* Partially update an object (`PATCH` semantics) - only the fields in
|
|
164
|
+
* `fields.properties`/`fields.vectors` are changed; everything else on
|
|
165
|
+
* the object is left as-is.
|
|
166
|
+
*/
|
|
167
|
+
updateObject(collectionName: string, id: string, fields: WeaviateUpdateFields): Promise<void>;
|
|
168
|
+
/**
|
|
169
|
+
* Fully replace an object (`PUT` semantics) - any property not present in
|
|
170
|
+
* `fields.properties` is cleared, unlike `updateObject()`.
|
|
171
|
+
*/
|
|
172
|
+
replaceObject(collectionName: string, id: string, fields: WeaviateReplaceFields): Promise<void>;
|
|
173
|
+
/** Whether an object with this UUID exists in the collection. */
|
|
174
|
+
objectExists(collectionName: string, id: string): Promise<boolean>;
|
|
175
|
+
/**
|
|
176
|
+
* Delete a single object by its UUID. Returns `true` if an object was
|
|
177
|
+
* actually deleted.
|
|
178
|
+
*
|
|
179
|
+
* The real `weaviate-client` `data.deleteById()` issues a REST `DELETE`
|
|
180
|
+
* and resolves `true` unconditionally (Weaviate's `DELETE
|
|
181
|
+
* /objects/{id}` returns success whether or not an object with that id
|
|
182
|
+
* existed) - it does not itself report whether anything was deleted.
|
|
183
|
+
* Check existence first so the documented "returns whether something
|
|
184
|
+
* was actually deleted" contract holds against the real driver, not
|
|
185
|
+
* just the test mock (whose `Map.delete()` happens to return that for
|
|
186
|
+
* free).
|
|
187
|
+
*/
|
|
188
|
+
deleteObject(collectionName: string, id: string): Promise<boolean>;
|
|
189
|
+
/**
|
|
190
|
+
* Delete every object matching `where` (build one with `filter()`). Pass
|
|
191
|
+
* `{ verbose: true }` to get back the per-object outcome in
|
|
192
|
+
* `result.objects`; otherwise only the aggregate counts are populated.
|
|
193
|
+
*/
|
|
194
|
+
deleteMany<V extends boolean = false>(collectionName: string, where: WeaviateFilterValue, options?: DeleteManyOptions<V>): Promise<WeaviateDeleteManyResult<V>>;
|
|
195
|
+
}
|
|
196
|
+
export default WeaviateStore;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Operators module - re-exports all operators and helper functions
|
|
3
|
+
*/
|
|
4
|
+
export { Op, Operators, isOperator, getOperatorString, operatorToWhereKey } from '../operators';
|
|
5
|
+
export { where, and, or, not, eq, ne, gt, gte, lt, lte, like, notLike, iLike, notILike, regexp, notRegexp, iRegexp, notIRegexp, in as inOp, notIn, between, notBetween, isNull, isNotNull, exists, notExists, contains, overlap, json, jsonKey, jsonContains, jsonHasKey, jsonConcat, jsonDelete, jsonDeletePath, jsonPathExists, jsonPathQuery, arrayContains, arrayContainedBy, arrayOverlaps, arrayAny, arrayAll, startsWith, notStartsWith, endsWith, notEndsWith, substring, notSubstring, any, all, fn, col, literal, literalExpr, isFnExpression, isColExpression, isLiteralExpression, isRawLiteral, cast, extract, conv, isCastExpression, isExtractExpression, isConvExpression, Cast, matchAgainst, matchFulltext, toTsvector, toTsquery, plainToTsquery, phraseToTsquery, } from '../operators';
|
|
6
|
+
export { asc, desc, random, isOrderExpression } from '../operators';
|
|
7
|
+
export type { OperatorSymbol, WhereConditionOptions, FnExpression, ColExpression, LiteralExpression, LiteralValue, CastExpression, ExtractExpression, ConvExpression, ExtractPart, CastType, OrderExpression, } from '../operators';
|