spindb 0.37.2 → 0.38.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/dist/cli/bin.js +9 -0
- package/dist/cli/bin.js.map +1 -0
- package/dist/cli/commands/attach.js +102 -0
- package/dist/cli/commands/attach.js.map +1 -0
- package/dist/cli/commands/backup.js +197 -0
- package/dist/cli/commands/backup.js.map +1 -0
- package/dist/cli/commands/backups.js +190 -0
- package/dist/cli/commands/backups.js.map +1 -0
- package/dist/cli/commands/clone.js +119 -0
- package/dist/cli/commands/clone.js.map +1 -0
- package/dist/cli/commands/config.js +276 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/connect.js +559 -0
- package/dist/cli/commands/connect.js.map +1 -0
- package/dist/cli/commands/create.js +952 -0
- package/dist/cli/commands/create.js.map +1 -0
- package/dist/cli/commands/databases.js +485 -0
- package/dist/cli/commands/databases.js.map +1 -0
- package/dist/cli/commands/delete.js +106 -0
- package/dist/cli/commands/delete.js.map +1 -0
- package/dist/cli/commands/deps.js +238 -0
- package/dist/cli/commands/deps.js.map +1 -0
- package/dist/cli/commands/detach.js +81 -0
- package/dist/cli/commands/detach.js.map +1 -0
- package/dist/cli/commands/doctor.js +567 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/duckdb.js +207 -0
- package/dist/cli/commands/duckdb.js.map +1 -0
- package/dist/cli/commands/edit.js +524 -0
- package/dist/cli/commands/edit.js.map +1 -0
- package/dist/cli/commands/engines.js +1414 -0
- package/dist/cli/commands/engines.js.map +1 -0
- package/dist/cli/commands/export.js +383 -0
- package/dist/cli/commands/export.js.map +1 -0
- package/dist/cli/commands/info.js +270 -0
- package/dist/cli/commands/info.js.map +1 -0
- package/dist/cli/commands/list.js +215 -0
- package/dist/cli/commands/list.js.map +1 -0
- package/dist/cli/commands/logs.js +81 -0
- package/dist/cli/commands/logs.js.map +1 -0
- package/dist/cli/commands/menu/backup-handlers.js +1202 -0
- package/dist/cli/commands/menu/backup-handlers.js.map +1 -0
- package/dist/cli/commands/menu/container-handlers.js +1788 -0
- package/dist/cli/commands/menu/container-handlers.js.map +1 -0
- package/dist/cli/commands/menu/engine-handlers.js +235 -0
- package/dist/cli/commands/menu/engine-handlers.js.map +1 -0
- package/dist/cli/commands/menu/index.js +266 -0
- package/dist/cli/commands/menu/index.js.map +1 -0
- package/dist/cli/commands/menu/settings-handlers.js +320 -0
- package/dist/cli/commands/menu/settings-handlers.js.map +1 -0
- package/dist/cli/commands/menu/shared.js +13 -0
- package/dist/cli/commands/menu/shared.js.map +1 -0
- package/dist/cli/commands/menu/shell-handlers.js +1573 -0
- package/dist/cli/commands/menu/shell-handlers.js.map +1 -0
- package/dist/cli/commands/menu/sql-handlers.js +185 -0
- package/dist/cli/commands/menu/sql-handlers.js.map +1 -0
- package/dist/cli/commands/menu/update-handlers.js +322 -0
- package/dist/cli/commands/menu/update-handlers.js.map +1 -0
- package/dist/cli/commands/menu/validators.js +9 -0
- package/dist/cli/commands/menu/validators.js.map +1 -0
- package/dist/cli/commands/ports.js +166 -0
- package/dist/cli/commands/ports.js.map +1 -0
- package/dist/cli/commands/pull.js +166 -0
- package/dist/cli/commands/pull.js.map +1 -0
- package/dist/cli/commands/query.js +180 -0
- package/dist/cli/commands/query.js.map +1 -0
- package/dist/cli/commands/restore.js +428 -0
- package/dist/cli/commands/restore.js.map +1 -0
- package/dist/cli/commands/run.js +115 -0
- package/dist/cli/commands/run.js.map +1 -0
- package/dist/cli/commands/self-update.js +99 -0
- package/dist/cli/commands/self-update.js.map +1 -0
- package/dist/cli/commands/sqlite.js +207 -0
- package/dist/cli/commands/sqlite.js.map +1 -0
- package/dist/cli/commands/start.js +196 -0
- package/dist/cli/commands/start.js.map +1 -0
- package/dist/cli/commands/stop.js +182 -0
- package/dist/cli/commands/stop.js.map +1 -0
- package/dist/cli/commands/url.js +88 -0
- package/dist/cli/commands/url.js.map +1 -0
- package/dist/cli/commands/users.js +189 -0
- package/dist/cli/commands/users.js.map +1 -0
- package/dist/cli/commands/version.js +52 -0
- package/dist/cli/commands/version.js.map +1 -0
- package/dist/cli/commands/which.js +258 -0
- package/dist/cli/commands/which.js.map +1 -0
- package/dist/cli/constants.js +212 -0
- package/dist/cli/constants.js.map +1 -0
- package/dist/cli/helpers.js +1120 -0
- package/dist/cli/helpers.js.map +1 -0
- package/dist/cli/index.js +146 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/ui/prompts.js +1002 -0
- package/dist/cli/ui/prompts.js.map +1 -0
- package/dist/cli/ui/spinner.js +74 -0
- package/dist/cli/ui/spinner.js.map +1 -0
- package/dist/cli/ui/theme.js +99 -0
- package/dist/cli/ui/theme.js.map +1 -0
- package/dist/cli/utils/file-follower.js +79 -0
- package/dist/cli/utils/file-follower.js.map +1 -0
- package/dist/config/backup-formats.js +363 -0
- package/dist/config/backup-formats.js.map +1 -0
- package/dist/config/defaults.js +25 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/engine-defaults.js +303 -0
- package/dist/config/engine-defaults.js.map +1 -0
- package/dist/config/engines-registry.js +103 -0
- package/dist/config/engines-registry.js.map +1 -0
- package/dist/config/os-dependencies.js +767 -0
- package/dist/config/os-dependencies.js.map +1 -0
- package/dist/config/paths.js +156 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/config/version.js +3 -0
- package/dist/config/version.js.map +1 -0
- package/dist/core/backup-restore.js +219 -0
- package/dist/core/backup-restore.js.map +1 -0
- package/dist/core/base-binary-manager.js +403 -0
- package/dist/core/base-binary-manager.js.map +1 -0
- package/dist/core/base-document-binary-manager.js +364 -0
- package/dist/core/base-document-binary-manager.js.map +1 -0
- package/dist/core/base-embedded-binary-manager.js +364 -0
- package/dist/core/base-embedded-binary-manager.js.map +1 -0
- package/dist/core/base-server-binary-manager.js +368 -0
- package/dist/core/base-server-binary-manager.js.map +1 -0
- package/dist/core/config-manager.js +495 -0
- package/dist/core/config-manager.js.map +1 -0
- package/dist/core/container-manager.js +609 -0
- package/dist/core/container-manager.js.map +1 -0
- package/dist/core/credential-generator.js +67 -0
- package/dist/core/credential-generator.js.map +1 -0
- package/dist/core/credential-manager.js +211 -0
- package/dist/core/credential-manager.js.map +1 -0
- package/dist/core/dblab-utils.js +105 -0
- package/dist/core/dblab-utils.js.map +1 -0
- package/dist/core/dependency-manager.js +359 -0
- package/dist/core/dependency-manager.js.map +1 -0
- package/dist/core/docker-exporter.js +1077 -0
- package/dist/core/docker-exporter.js.map +1 -0
- package/dist/core/error-handler.js +295 -0
- package/dist/core/error-handler.js.map +1 -0
- package/dist/core/fs-error-utils.js +74 -0
- package/dist/core/fs-error-utils.js.map +1 -0
- package/dist/core/homebrew-version-manager.js +280 -0
- package/dist/core/homebrew-version-manager.js.map +1 -0
- package/dist/core/hostdb-client.js +252 -0
- package/dist/core/hostdb-client.js.map +1 -0
- package/dist/core/hostdb-metadata.js +243 -0
- package/dist/core/hostdb-metadata.js.map +1 -0
- package/dist/core/hostdb-releases-factory.js +161 -0
- package/dist/core/hostdb-releases-factory.js.map +1 -0
- package/dist/core/library-env.js +88 -0
- package/dist/core/library-env.js.map +1 -0
- package/dist/core/pgweb-utils.js +53 -0
- package/dist/core/pgweb-utils.js.map +1 -0
- package/dist/core/platform-service.js +632 -0
- package/dist/core/platform-service.js.map +1 -0
- package/dist/core/port-manager.js +136 -0
- package/dist/core/port-manager.js.map +1 -0
- package/dist/core/process-manager.js +445 -0
- package/dist/core/process-manager.js.map +1 -0
- package/dist/core/pull-manager.js +418 -0
- package/dist/core/pull-manager.js.map +1 -0
- package/dist/core/query-parser.js +449 -0
- package/dist/core/query-parser.js.map +1 -0
- package/dist/core/spawn-utils.js +90 -0
- package/dist/core/spawn-utils.js.map +1 -0
- package/dist/core/start-with-retry.js +90 -0
- package/dist/core/start-with-retry.js.map +1 -0
- package/dist/core/test-cleanup.js +85 -0
- package/dist/core/test-cleanup.js.map +1 -0
- package/dist/core/tls-generator.js +84 -0
- package/dist/core/tls-generator.js.map +1 -0
- package/dist/core/transaction-manager.js +139 -0
- package/dist/core/transaction-manager.js.map +1 -0
- package/dist/core/update-manager.js +241 -0
- package/dist/core/update-manager.js.map +1 -0
- package/dist/core/version-migration.js +260 -0
- package/dist/core/version-migration.js.map +1 -0
- package/dist/core/version-utils.js +91 -0
- package/dist/core/version-utils.js.map +1 -0
- package/dist/engines/base-engine.js +179 -0
- package/dist/engines/base-engine.js.map +1 -0
- package/dist/engines/clickhouse/backup.js +289 -0
- package/dist/engines/clickhouse/backup.js.map +1 -0
- package/dist/engines/clickhouse/binary-manager.js +145 -0
- package/dist/engines/clickhouse/binary-manager.js.map +1 -0
- package/dist/engines/clickhouse/binary-urls.js +100 -0
- package/dist/engines/clickhouse/binary-urls.js.map +1 -0
- package/dist/engines/clickhouse/cli-utils.js +143 -0
- package/dist/engines/clickhouse/cli-utils.js.map +1 -0
- package/dist/engines/clickhouse/hostdb-releases.js +24 -0
- package/dist/engines/clickhouse/hostdb-releases.js.map +1 -0
- package/dist/engines/clickhouse/index.js +1077 -0
- package/dist/engines/clickhouse/index.js.map +1 -0
- package/dist/engines/clickhouse/restore.js +335 -0
- package/dist/engines/clickhouse/restore.js.map +1 -0
- package/dist/engines/clickhouse/version-maps.js +83 -0
- package/dist/engines/clickhouse/version-maps.js.map +1 -0
- package/dist/engines/clickhouse/version-validator.js +133 -0
- package/dist/engines/clickhouse/version-validator.js.map +1 -0
- package/dist/engines/cockroachdb/backup.js +261 -0
- package/dist/engines/cockroachdb/backup.js.map +1 -0
- package/dist/engines/cockroachdb/binary-manager.js +33 -0
- package/dist/engines/cockroachdb/binary-manager.js.map +1 -0
- package/dist/engines/cockroachdb/binary-urls.js +33 -0
- package/dist/engines/cockroachdb/binary-urls.js.map +1 -0
- package/dist/engines/cockroachdb/cli-utils.js +338 -0
- package/dist/engines/cockroachdb/cli-utils.js.map +1 -0
- package/dist/engines/cockroachdb/hostdb-releases.js +21 -0
- package/dist/engines/cockroachdb/hostdb-releases.js.map +1 -0
- package/dist/engines/cockroachdb/index.js +1016 -0
- package/dist/engines/cockroachdb/index.js.map +1 -0
- package/dist/engines/cockroachdb/restore.js +323 -0
- package/dist/engines/cockroachdb/restore.js.map +1 -0
- package/dist/engines/cockroachdb/version-maps.js +37 -0
- package/dist/engines/cockroachdb/version-maps.js.map +1 -0
- package/dist/engines/couchdb/api-client.js +64 -0
- package/dist/engines/couchdb/api-client.js.map +1 -0
- package/dist/engines/couchdb/backup.js +90 -0
- package/dist/engines/couchdb/backup.js.map +1 -0
- package/dist/engines/couchdb/binary-manager.js +62 -0
- package/dist/engines/couchdb/binary-manager.js.map +1 -0
- package/dist/engines/couchdb/binary-urls.js +92 -0
- package/dist/engines/couchdb/binary-urls.js.map +1 -0
- package/dist/engines/couchdb/hostdb-releases.js +21 -0
- package/dist/engines/couchdb/hostdb-releases.js.map +1 -0
- package/dist/engines/couchdb/index.js +1043 -0
- package/dist/engines/couchdb/index.js.map +1 -0
- package/dist/engines/couchdb/restore.js +198 -0
- package/dist/engines/couchdb/restore.js.map +1 -0
- package/dist/engines/couchdb/version-maps.js +67 -0
- package/dist/engines/couchdb/version-maps.js.map +1 -0
- package/dist/engines/couchdb/version-validator.js +88 -0
- package/dist/engines/couchdb/version-validator.js.map +1 -0
- package/dist/engines/duckdb/binary-manager.js +33 -0
- package/dist/engines/duckdb/binary-manager.js.map +1 -0
- package/{engines/duckdb/binary-urls.ts → dist/engines/duckdb/binary-urls.js} +11 -16
- package/dist/engines/duckdb/binary-urls.js.map +1 -0
- package/dist/engines/duckdb/hostdb-releases.js +21 -0
- package/dist/engines/duckdb/hostdb-releases.js.map +1 -0
- package/dist/engines/duckdb/index.js +594 -0
- package/dist/engines/duckdb/index.js.map +1 -0
- package/dist/engines/duckdb/registry.js +265 -0
- package/dist/engines/duckdb/registry.js.map +1 -0
- package/dist/engines/duckdb/scanner.js +12 -0
- package/dist/engines/duckdb/scanner.js.map +1 -0
- package/dist/engines/duckdb/version-maps.js +67 -0
- package/dist/engines/duckdb/version-maps.js.map +1 -0
- package/dist/engines/duckdb/version-validator.js +62 -0
- package/dist/engines/duckdb/version-validator.js.map +1 -0
- package/dist/engines/ferretdb/backup.js +170 -0
- package/dist/engines/ferretdb/backup.js.map +1 -0
- package/dist/engines/ferretdb/binary-manager.js +765 -0
- package/dist/engines/ferretdb/binary-manager.js.map +1 -0
- package/dist/engines/ferretdb/binary-urls.js +135 -0
- package/dist/engines/ferretdb/binary-urls.js.map +1 -0
- package/dist/engines/ferretdb/index.js +1517 -0
- package/dist/engines/ferretdb/index.js.map +1 -0
- package/dist/engines/ferretdb/restore.js +310 -0
- package/dist/engines/ferretdb/restore.js.map +1 -0
- package/{engines/ferretdb/version-maps.ts → dist/engines/ferretdb/version-maps.js} +62 -79
- package/dist/engines/ferretdb/version-maps.js.map +1 -0
- package/dist/engines/file-based-utils.js +184 -0
- package/dist/engines/file-based-utils.js.map +1 -0
- package/dist/engines/index.js +124 -0
- package/dist/engines/index.js.map +1 -0
- package/dist/engines/influxdb/api-client.js +54 -0
- package/dist/engines/influxdb/api-client.js.map +1 -0
- package/dist/engines/influxdb/backup.js +119 -0
- package/dist/engines/influxdb/backup.js.map +1 -0
- package/dist/engines/influxdb/binary-manager.js +87 -0
- package/dist/engines/influxdb/binary-manager.js.map +1 -0
- package/dist/engines/influxdb/binary-urls.js +56 -0
- package/dist/engines/influxdb/binary-urls.js.map +1 -0
- package/dist/engines/influxdb/hostdb-releases.js +21 -0
- package/dist/engines/influxdb/hostdb-releases.js.map +1 -0
- package/dist/engines/influxdb/index.js +962 -0
- package/dist/engines/influxdb/index.js.map +1 -0
- package/dist/engines/influxdb/restore.js +329 -0
- package/dist/engines/influxdb/restore.js.map +1 -0
- package/dist/engines/influxdb/version-maps.js +64 -0
- package/dist/engines/influxdb/version-maps.js.map +1 -0
- package/dist/engines/influxdb/version-validator.js +109 -0
- package/dist/engines/influxdb/version-validator.js.map +1 -0
- package/dist/engines/mariadb/backup.js +178 -0
- package/dist/engines/mariadb/backup.js.map +1 -0
- package/dist/engines/mariadb/binary-manager.js +33 -0
- package/dist/engines/mariadb/binary-manager.js.map +1 -0
- package/{engines/mariadb/binary-urls.ts → dist/engines/mariadb/binary-urls.js} +38 -55
- package/dist/engines/mariadb/binary-urls.js.map +1 -0
- package/dist/engines/mariadb/hostdb-releases.js +21 -0
- package/dist/engines/mariadb/hostdb-releases.js.map +1 -0
- package/dist/engines/mariadb/index.js +1011 -0
- package/dist/engines/mariadb/index.js.map +1 -0
- package/dist/engines/mariadb/restore.js +322 -0
- package/dist/engines/mariadb/restore.js.map +1 -0
- package/dist/engines/mariadb/version-maps.js +63 -0
- package/dist/engines/mariadb/version-maps.js.map +1 -0
- package/dist/engines/mariadb/version-validator.js +143 -0
- package/dist/engines/mariadb/version-validator.js.map +1 -0
- package/dist/engines/meilisearch/api-client.js +50 -0
- package/dist/engines/meilisearch/api-client.js.map +1 -0
- package/dist/engines/meilisearch/backup.js +167 -0
- package/dist/engines/meilisearch/backup.js.map +1 -0
- package/dist/engines/meilisearch/binary-manager.js +31 -0
- package/dist/engines/meilisearch/binary-manager.js.map +1 -0
- package/dist/engines/meilisearch/binary-urls.js +56 -0
- package/dist/engines/meilisearch/binary-urls.js.map +1 -0
- package/dist/engines/meilisearch/hostdb-releases.js +21 -0
- package/dist/engines/meilisearch/hostdb-releases.js.map +1 -0
- package/dist/engines/meilisearch/index.js +992 -0
- package/dist/engines/meilisearch/index.js.map +1 -0
- package/dist/engines/meilisearch/restore.js +167 -0
- package/dist/engines/meilisearch/restore.js.map +1 -0
- package/dist/engines/meilisearch/version-maps.js +67 -0
- package/dist/engines/meilisearch/version-maps.js.map +1 -0
- package/dist/engines/meilisearch/version-validator.js +109 -0
- package/dist/engines/meilisearch/version-validator.js.map +1 -0
- package/dist/engines/mongodb/backup.js +109 -0
- package/dist/engines/mongodb/backup.js.map +1 -0
- package/dist/engines/mongodb/binary-manager.js +36 -0
- package/dist/engines/mongodb/binary-manager.js.map +1 -0
- package/dist/engines/mongodb/binary-urls.js +46 -0
- package/dist/engines/mongodb/binary-urls.js.map +1 -0
- package/dist/engines/mongodb/cli-utils.js +131 -0
- package/dist/engines/mongodb/cli-utils.js.map +1 -0
- package/dist/engines/mongodb/hostdb-releases.js +77 -0
- package/dist/engines/mongodb/hostdb-releases.js.map +1 -0
- package/dist/engines/mongodb/index.js +873 -0
- package/dist/engines/mongodb/index.js.map +1 -0
- package/dist/engines/mongodb/restore.js +276 -0
- package/dist/engines/mongodb/restore.js.map +1 -0
- package/dist/engines/mongodb/version-maps.js +79 -0
- package/dist/engines/mongodb/version-maps.js.map +1 -0
- package/dist/engines/mongodb/version-validator.js +133 -0
- package/dist/engines/mongodb/version-validator.js.map +1 -0
- package/dist/engines/mysql/backup.js +210 -0
- package/dist/engines/mysql/backup.js.map +1 -0
- package/dist/engines/mysql/binary-detection.js +325 -0
- package/dist/engines/mysql/binary-detection.js.map +1 -0
- package/dist/engines/mysql/binary-manager.js +30 -0
- package/dist/engines/mysql/binary-manager.js.map +1 -0
- package/dist/engines/mysql/binary-urls.js +87 -0
- package/dist/engines/mysql/binary-urls.js.map +1 -0
- package/{engines/mysql/hostdb-releases.ts → dist/engines/mysql/hostdb-releases.js} +20 -23
- package/dist/engines/mysql/hostdb-releases.js.map +1 -0
- package/dist/engines/mysql/index.js +1066 -0
- package/dist/engines/mysql/index.js.map +1 -0
- package/dist/engines/mysql/restore.js +361 -0
- package/dist/engines/mysql/restore.js.map +1 -0
- package/dist/engines/mysql/version-maps.js +79 -0
- package/dist/engines/mysql/version-maps.js.map +1 -0
- package/dist/engines/mysql/version-validator.js +266 -0
- package/dist/engines/mysql/version-validator.js.map +1 -0
- package/dist/engines/postgresql/backup.js +118 -0
- package/dist/engines/postgresql/backup.js.map +1 -0
- package/dist/engines/postgresql/binary-manager.js +85 -0
- package/dist/engines/postgresql/binary-manager.js.map +1 -0
- package/dist/engines/postgresql/binary-urls.js +80 -0
- package/dist/engines/postgresql/binary-urls.js.map +1 -0
- package/dist/engines/postgresql/hostdb-releases.js +21 -0
- package/dist/engines/postgresql/hostdb-releases.js.map +1 -0
- package/dist/engines/postgresql/index.js +852 -0
- package/dist/engines/postgresql/index.js.map +1 -0
- package/dist/engines/postgresql/remote-version.js +109 -0
- package/dist/engines/postgresql/remote-version.js.map +1 -0
- package/dist/engines/postgresql/restore.js +254 -0
- package/dist/engines/postgresql/restore.js.map +1 -0
- package/dist/engines/postgresql/version-maps.js +73 -0
- package/dist/engines/postgresql/version-maps.js.map +1 -0
- package/dist/engines/postgresql/version-validator.js +286 -0
- package/dist/engines/postgresql/version-validator.js.map +1 -0
- package/dist/engines/qdrant/api-client.js +50 -0
- package/dist/engines/qdrant/api-client.js.map +1 -0
- package/dist/engines/qdrant/backup.js +115 -0
- package/dist/engines/qdrant/backup.js.map +1 -0
- package/dist/engines/qdrant/binary-manager.js +31 -0
- package/dist/engines/qdrant/binary-manager.js.map +1 -0
- package/dist/engines/qdrant/binary-urls.js +92 -0
- package/dist/engines/qdrant/binary-urls.js.map +1 -0
- package/dist/engines/qdrant/cli-utils.js +39 -0
- package/dist/engines/qdrant/cli-utils.js.map +1 -0
- package/dist/engines/qdrant/hostdb-releases.js +21 -0
- package/dist/engines/qdrant/hostdb-releases.js.map +1 -0
- package/dist/engines/qdrant/index.js +1002 -0
- package/dist/engines/qdrant/index.js.map +1 -0
- package/dist/engines/qdrant/restore.js +154 -0
- package/dist/engines/qdrant/restore.js.map +1 -0
- package/dist/engines/qdrant/version-maps.js +67 -0
- package/dist/engines/qdrant/version-maps.js.map +1 -0
- package/dist/engines/qdrant/version-validator.js +109 -0
- package/dist/engines/qdrant/version-validator.js.map +1 -0
- package/dist/engines/questdb/backup.js +191 -0
- package/dist/engines/questdb/backup.js.map +1 -0
- package/dist/engines/questdb/binary-manager.js +247 -0
- package/dist/engines/questdb/binary-manager.js.map +1 -0
- package/dist/engines/questdb/binary-urls.js +27 -0
- package/dist/engines/questdb/binary-urls.js.map +1 -0
- package/dist/engines/questdb/hostdb-releases.js +21 -0
- package/dist/engines/questdb/hostdb-releases.js.map +1 -0
- package/dist/engines/questdb/index.js +814 -0
- package/dist/engines/questdb/index.js.map +1 -0
- package/dist/engines/questdb/restore.js +202 -0
- package/dist/engines/questdb/restore.js.map +1 -0
- package/dist/engines/questdb/version-maps.js +33 -0
- package/dist/engines/questdb/version-maps.js.map +1 -0
- package/dist/engines/questdb/version-validator.js +99 -0
- package/dist/engines/questdb/version-validator.js.map +1 -0
- package/dist/engines/redis/backup.js +292 -0
- package/dist/engines/redis/backup.js.map +1 -0
- package/dist/engines/redis/binary-manager.js +32 -0
- package/dist/engines/redis/binary-manager.js.map +1 -0
- package/dist/engines/redis/binary-urls.js +96 -0
- package/dist/engines/redis/binary-urls.js.map +1 -0
- package/dist/engines/redis/cli-utils.js +38 -0
- package/dist/engines/redis/cli-utils.js.map +1 -0
- package/dist/engines/redis/hostdb-releases.js +21 -0
- package/dist/engines/redis/hostdb-releases.js.map +1 -0
- package/dist/engines/redis/index.js +1263 -0
- package/dist/engines/redis/index.js.map +1 -0
- package/dist/engines/redis/restore.js +338 -0
- package/dist/engines/redis/restore.js.map +1 -0
- package/dist/engines/redis/version-maps.js +70 -0
- package/dist/engines/redis/version-maps.js.map +1 -0
- package/dist/engines/redis/version-validator.js +109 -0
- package/dist/engines/redis/version-validator.js.map +1 -0
- package/dist/engines/sqlite/binary-manager.js +39 -0
- package/dist/engines/sqlite/binary-manager.js.map +1 -0
- package/{engines/sqlite/binary-urls.ts → dist/engines/sqlite/binary-urls.js} +11 -16
- package/dist/engines/sqlite/binary-urls.js.map +1 -0
- package/dist/engines/sqlite/hostdb-releases.js +21 -0
- package/dist/engines/sqlite/hostdb-releases.js.map +1 -0
- package/dist/engines/sqlite/index.js +493 -0
- package/dist/engines/sqlite/index.js.map +1 -0
- package/dist/engines/sqlite/registry.js +163 -0
- package/dist/engines/sqlite/registry.js.map +1 -0
- package/dist/engines/sqlite/scanner.js +12 -0
- package/dist/engines/sqlite/scanner.js.map +1 -0
- package/dist/engines/sqlite/version-maps.js +57 -0
- package/dist/engines/sqlite/version-maps.js.map +1 -0
- package/dist/engines/surrealdb/backup.js +97 -0
- package/dist/engines/surrealdb/backup.js.map +1 -0
- package/dist/engines/surrealdb/binary-manager.js +33 -0
- package/dist/engines/surrealdb/binary-manager.js.map +1 -0
- package/dist/engines/surrealdb/binary-urls.js +33 -0
- package/dist/engines/surrealdb/binary-urls.js.map +1 -0
- package/dist/engines/surrealdb/cli-utils.js +147 -0
- package/dist/engines/surrealdb/cli-utils.js.map +1 -0
- package/dist/engines/surrealdb/hostdb-releases.js +21 -0
- package/dist/engines/surrealdb/hostdb-releases.js.map +1 -0
- package/dist/engines/surrealdb/index.js +1022 -0
- package/dist/engines/surrealdb/index.js.map +1 -0
- package/dist/engines/surrealdb/restore.js +224 -0
- package/dist/engines/surrealdb/restore.js.map +1 -0
- package/dist/engines/surrealdb/version-maps.js +36 -0
- package/dist/engines/surrealdb/version-maps.js.map +1 -0
- package/dist/engines/tigerbeetle/backup.js +36 -0
- package/dist/engines/tigerbeetle/backup.js.map +1 -0
- package/dist/engines/tigerbeetle/binary-manager.js +72 -0
- package/dist/engines/tigerbeetle/binary-manager.js.map +1 -0
- package/dist/engines/tigerbeetle/binary-urls.js +49 -0
- package/dist/engines/tigerbeetle/binary-urls.js.map +1 -0
- package/dist/engines/tigerbeetle/hostdb-releases.js +21 -0
- package/dist/engines/tigerbeetle/hostdb-releases.js.map +1 -0
- package/dist/engines/tigerbeetle/index.js +559 -0
- package/dist/engines/tigerbeetle/index.js.map +1 -0
- package/dist/engines/tigerbeetle/restore.js +91 -0
- package/dist/engines/tigerbeetle/restore.js.map +1 -0
- package/{engines/tigerbeetle/version-maps.ts → dist/engines/tigerbeetle/version-maps.js} +22 -31
- package/dist/engines/tigerbeetle/version-maps.js.map +1 -0
- package/dist/engines/tigerbeetle/version-validator.js +108 -0
- package/dist/engines/tigerbeetle/version-validator.js.map +1 -0
- package/dist/engines/typedb/backup.js +129 -0
- package/dist/engines/typedb/backup.js.map +1 -0
- package/dist/engines/typedb/binary-manager.js +151 -0
- package/dist/engines/typedb/binary-manager.js.map +1 -0
- package/dist/engines/typedb/binary-urls.js +33 -0
- package/dist/engines/typedb/binary-urls.js.map +1 -0
- package/dist/engines/typedb/cli-utils.js +163 -0
- package/dist/engines/typedb/cli-utils.js.map +1 -0
- package/dist/engines/typedb/hostdb-releases.js +21 -0
- package/dist/engines/typedb/hostdb-releases.js.map +1 -0
- package/dist/engines/typedb/index.js +1003 -0
- package/dist/engines/typedb/index.js.map +1 -0
- package/dist/engines/typedb/restore.js +279 -0
- package/dist/engines/typedb/restore.js.map +1 -0
- package/dist/engines/typedb/version-maps.js +40 -0
- package/dist/engines/typedb/version-maps.js.map +1 -0
- package/dist/engines/typedb/version-validator.js +103 -0
- package/dist/engines/typedb/version-validator.js.map +1 -0
- package/dist/engines/valkey/backup.js +292 -0
- package/dist/engines/valkey/backup.js.map +1 -0
- package/dist/engines/valkey/binary-manager.js +33 -0
- package/dist/engines/valkey/binary-manager.js.map +1 -0
- package/dist/engines/valkey/binary-urls.js +98 -0
- package/dist/engines/valkey/binary-urls.js.map +1 -0
- package/dist/engines/valkey/cli-utils.js +38 -0
- package/dist/engines/valkey/cli-utils.js.map +1 -0
- package/dist/engines/valkey/hostdb-releases.js +21 -0
- package/dist/engines/valkey/hostdb-releases.js.map +1 -0
- package/dist/engines/valkey/index.js +1257 -0
- package/dist/engines/valkey/index.js.map +1 -0
- package/dist/engines/valkey/restore.js +340 -0
- package/dist/engines/valkey/restore.js.map +1 -0
- package/dist/engines/valkey/version-maps.js +70 -0
- package/dist/engines/valkey/version-maps.js.map +1 -0
- package/dist/engines/valkey/version-validator.js +112 -0
- package/dist/engines/valkey/version-validator.js.map +1 -0
- package/dist/engines/weaviate/api-client.js +50 -0
- package/dist/engines/weaviate/api-client.js.map +1 -0
- package/dist/engines/weaviate/backup.js +95 -0
- package/dist/engines/weaviate/backup.js.map +1 -0
- package/dist/engines/weaviate/binary-manager.js +58 -0
- package/dist/engines/weaviate/binary-manager.js.map +1 -0
- package/dist/engines/weaviate/binary-urls.js +92 -0
- package/dist/engines/weaviate/binary-urls.js.map +1 -0
- package/dist/engines/weaviate/cli-utils.js +39 -0
- package/dist/engines/weaviate/cli-utils.js.map +1 -0
- package/dist/engines/weaviate/hostdb-releases.js +21 -0
- package/dist/engines/weaviate/hostdb-releases.js.map +1 -0
- package/dist/engines/weaviate/index.js +871 -0
- package/dist/engines/weaviate/index.js.map +1 -0
- package/dist/engines/weaviate/restore.js +185 -0
- package/dist/engines/weaviate/restore.js.map +1 -0
- package/dist/engines/weaviate/version-maps.js +67 -0
- package/dist/engines/weaviate/version-maps.js.map +1 -0
- package/dist/engines/weaviate/version-validator.js +109 -0
- package/dist/engines/weaviate/version-validator.js.map +1 -0
- package/dist/types/index.js +102 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +12 -9
- package/bin/cli.js +0 -68
- package/cli/bin.ts +0 -10
- package/cli/commands/attach.ts +0 -139
- package/cli/commands/backup.ts +0 -290
- package/cli/commands/backups.ts +0 -247
- package/cli/commands/clone.ts +0 -159
- package/cli/commands/config.ts +0 -367
- package/cli/commands/connect.ts +0 -684
- package/cli/commands/create.ts +0 -1201
- package/cli/commands/databases.ts +0 -630
- package/cli/commands/delete.ts +0 -133
- package/cli/commands/deps.ts +0 -342
- package/cli/commands/detach.ts +0 -107
- package/cli/commands/doctor.ts +0 -689
- package/cli/commands/duckdb.ts +0 -273
- package/cli/commands/edit.ts +0 -683
- package/cli/commands/engines.ts +0 -1914
- package/cli/commands/export.ts +0 -544
- package/cli/commands/info.ts +0 -340
- package/cli/commands/list.ts +0 -284
- package/cli/commands/logs.ts +0 -102
- package/cli/commands/menu/backup-handlers.ts +0 -1571
- package/cli/commands/menu/container-handlers.ts +0 -2288
- package/cli/commands/menu/engine-handlers.ts +0 -355
- package/cli/commands/menu/index.ts +0 -342
- package/cli/commands/menu/settings-handlers.ts +0 -365
- package/cli/commands/menu/shared.ts +0 -23
- package/cli/commands/menu/shell-handlers.ts +0 -1811
- package/cli/commands/menu/sql-handlers.ts +0 -231
- package/cli/commands/menu/update-handlers.ts +0 -378
- package/cli/commands/menu/validators.ts +0 -8
- package/cli/commands/ports.ts +0 -211
- package/cli/commands/pull.ts +0 -223
- package/cli/commands/query.ts +0 -241
- package/cli/commands/restore.ts +0 -587
- package/cli/commands/run.ts +0 -178
- package/cli/commands/self-update.ts +0 -121
- package/cli/commands/sqlite.ts +0 -273
- package/cli/commands/start.ts +0 -218
- package/cli/commands/stop.ts +0 -241
- package/cli/commands/url.ts +0 -104
- package/cli/commands/users.ts +0 -264
- package/cli/commands/version.ts +0 -55
- package/cli/commands/which.ts +0 -290
- package/cli/constants.ts +0 -233
- package/cli/helpers.ts +0 -1593
- package/cli/index.ts +0 -162
- package/cli/ui/prompts.ts +0 -1525
- package/cli/ui/spinner.ts +0 -88
- package/cli/ui/theme.ts +0 -128
- package/cli/utils/file-follower.ts +0 -93
- package/config/backup-formats.ts +0 -446
- package/config/defaults.ts +0 -56
- package/config/engine-defaults.ts +0 -336
- package/config/engines-registry.ts +0 -150
- package/config/engines.schema.json +0 -135
- package/config/os-dependencies.ts +0 -888
- package/config/paths.ts +0 -200
- package/core/backup-restore.ts +0 -330
- package/core/base-binary-manager.ts +0 -562
- package/core/base-document-binary-manager.ts +0 -523
- package/core/base-embedded-binary-manager.ts +0 -547
- package/core/base-server-binary-manager.ts +0 -523
- package/core/config-manager.ts +0 -652
- package/core/container-manager.ts +0 -787
- package/core/credential-generator.ts +0 -93
- package/core/credential-manager.ts +0 -259
- package/core/dblab-utils.ts +0 -113
- package/core/dependency-manager.ts +0 -512
- package/core/docker-exporter.ts +0 -1345
- package/core/error-handler.ts +0 -419
- package/core/fs-error-utils.ts +0 -82
- package/core/homebrew-version-manager.ts +0 -352
- package/core/hostdb-client.ts +0 -344
- package/core/hostdb-metadata.ts +0 -350
- package/core/hostdb-releases-factory.ts +0 -237
- package/core/library-env.ts +0 -118
- package/core/pgweb-utils.ts +0 -62
- package/core/platform-service.ts +0 -829
- package/core/port-manager.ts +0 -165
- package/core/process-manager.ts +0 -576
- package/core/pull-manager.ts +0 -511
- package/core/query-parser.ts +0 -514
- package/core/spawn-utils.ts +0 -122
- package/core/start-with-retry.ts +0 -130
- package/core/test-cleanup.ts +0 -108
- package/core/tls-generator.ts +0 -116
- package/core/transaction-manager.ts +0 -158
- package/core/update-manager.ts +0 -308
- package/core/version-migration.ts +0 -346
- package/core/version-utils.ts +0 -104
- package/engines/base-engine.ts +0 -340
- package/engines/clickhouse/README.md +0 -231
- package/engines/clickhouse/backup.ts +0 -398
- package/engines/clickhouse/binary-manager.ts +0 -201
- package/engines/clickhouse/binary-urls.ts +0 -125
- package/engines/clickhouse/cli-utils.ts +0 -176
- package/engines/clickhouse/hostdb-releases.ts +0 -30
- package/engines/clickhouse/index.ts +0 -1345
- package/engines/clickhouse/restore.ts +0 -466
- package/engines/clickhouse/version-maps.ts +0 -95
- package/engines/clickhouse/version-validator.ts +0 -154
- package/engines/cockroachdb/README.md +0 -170
- package/engines/cockroachdb/backup.ts +0 -376
- package/engines/cockroachdb/binary-manager.ts +0 -45
- package/engines/cockroachdb/binary-urls.ts +0 -40
- package/engines/cockroachdb/cli-utils.ts +0 -384
- package/engines/cockroachdb/hostdb-releases.ts +0 -26
- package/engines/cockroachdb/index.ts +0 -1276
- package/engines/cockroachdb/restore.ts +0 -455
- package/engines/cockroachdb/version-maps.ts +0 -42
- package/engines/couchdb/README.md +0 -257
- package/engines/couchdb/api-client.ts +0 -81
- package/engines/couchdb/backup.ts +0 -137
- package/engines/couchdb/binary-manager.ts +0 -86
- package/engines/couchdb/binary-urls.ts +0 -115
- package/engines/couchdb/hostdb-releases.ts +0 -23
- package/engines/couchdb/index.ts +0 -1429
- package/engines/couchdb/restore.ts +0 -290
- package/engines/couchdb/version-maps.ts +0 -78
- package/engines/couchdb/version-validator.ts +0 -111
- package/engines/duckdb/README.md +0 -154
- package/engines/duckdb/binary-manager.ts +0 -45
- package/engines/duckdb/hostdb-releases.ts +0 -23
- package/engines/duckdb/index.ts +0 -749
- package/engines/duckdb/registry.ts +0 -303
- package/engines/duckdb/scanner.ts +0 -22
- package/engines/duckdb/version-maps.ts +0 -78
- package/engines/duckdb/version-validator.ts +0 -78
- package/engines/ferretdb/README.md +0 -262
- package/engines/ferretdb/backup.ts +0 -173
- package/engines/ferretdb/binary-manager.ts +0 -1095
- package/engines/ferretdb/binary-urls.ts +0 -183
- package/engines/ferretdb/index.ts +0 -1907
- package/engines/ferretdb/restore.ts +0 -357
- package/engines/file-based-utils.ts +0 -262
- package/engines/index.ts +0 -131
- package/engines/influxdb/README.md +0 -180
- package/engines/influxdb/api-client.ts +0 -64
- package/engines/influxdb/backup.ts +0 -160
- package/engines/influxdb/binary-manager.ts +0 -110
- package/engines/influxdb/binary-urls.ts +0 -69
- package/engines/influxdb/hostdb-releases.ts +0 -23
- package/engines/influxdb/index.ts +0 -1272
- package/engines/influxdb/restore.ts +0 -417
- package/engines/influxdb/version-maps.ts +0 -75
- package/engines/influxdb/version-validator.ts +0 -128
- package/engines/mariadb/README.md +0 -141
- package/engines/mariadb/backup.ts +0 -233
- package/engines/mariadb/binary-manager.ts +0 -45
- package/engines/mariadb/hostdb-releases.ts +0 -23
- package/engines/mariadb/index.ts +0 -1300
- package/engines/mariadb/restore.ts +0 -447
- package/engines/mariadb/version-maps.ts +0 -72
- package/engines/mariadb/version-validator.ts +0 -181
- package/engines/meilisearch/README.md +0 -255
- package/engines/meilisearch/api-client.ts +0 -61
- package/engines/meilisearch/backup.ts +0 -233
- package/engines/meilisearch/binary-manager.ts +0 -43
- package/engines/meilisearch/binary-urls.ts +0 -69
- package/engines/meilisearch/hostdb-releases.ts +0 -26
- package/engines/meilisearch/index.ts +0 -1292
- package/engines/meilisearch/restore.ts +0 -219
- package/engines/meilisearch/version-maps.ts +0 -78
- package/engines/meilisearch/version-validator.ts +0 -128
- package/engines/mongodb/README.md +0 -162
- package/engines/mongodb/backup.ts +0 -127
- package/engines/mongodb/binary-manager.ts +0 -48
- package/engines/mongodb/binary-urls.ts +0 -63
- package/engines/mongodb/cli-utils.ts +0 -171
- package/engines/mongodb/hostdb-releases.ts +0 -91
- package/engines/mongodb/index.ts +0 -1118
- package/engines/mongodb/restore.ts +0 -361
- package/engines/mongodb/version-maps.ts +0 -91
- package/engines/mongodb/version-validator.ts +0 -160
- package/engines/mysql/README.md +0 -142
- package/engines/mysql/backup.ts +0 -270
- package/engines/mysql/binary-detection.ts +0 -408
- package/engines/mysql/binary-manager.ts +0 -42
- package/engines/mysql/binary-urls.ts +0 -104
- package/engines/mysql/index.ts +0 -1361
- package/engines/mysql/restore.ts +0 -500
- package/engines/mysql/version-maps.ts +0 -91
- package/engines/mysql/version-validator.ts +0 -369
- package/engines/postgresql/README.md +0 -158
- package/engines/postgresql/backup.ts +0 -151
- package/engines/postgresql/binary-manager.ts +0 -114
- package/engines/postgresql/binary-urls.ts +0 -99
- package/engines/postgresql/hostdb-releases.ts +0 -26
- package/engines/postgresql/index.ts +0 -1143
- package/engines/postgresql/remote-version.ts +0 -161
- package/engines/postgresql/restore.ts +0 -342
- package/engines/postgresql/version-maps.ts +0 -83
- package/engines/postgresql/version-validator.ts +0 -413
- package/engines/qdrant/README.md +0 -222
- package/engines/qdrant/api-client.ts +0 -61
- package/engines/qdrant/backup.ts +0 -165
- package/engines/qdrant/binary-manager.ts +0 -43
- package/engines/qdrant/binary-urls.ts +0 -115
- package/engines/qdrant/cli-utils.ts +0 -43
- package/engines/qdrant/hostdb-releases.ts +0 -23
- package/engines/qdrant/index.ts +0 -1312
- package/engines/qdrant/restore.ts +0 -203
- package/engines/qdrant/version-maps.ts +0 -78
- package/engines/qdrant/version-validator.ts +0 -128
- package/engines/questdb/README.md +0 -334
- package/engines/questdb/backup.ts +0 -220
- package/engines/questdb/binary-manager.ts +0 -310
- package/engines/questdb/binary-urls.ts +0 -34
- package/engines/questdb/hostdb-releases.ts +0 -23
- package/engines/questdb/index.ts +0 -1023
- package/engines/questdb/restore.ts +0 -260
- package/engines/questdb/version-maps.ts +0 -37
- package/engines/questdb/version-validator.ts +0 -121
- package/engines/redis/README.md +0 -173
- package/engines/redis/backup.ts +0 -389
- package/engines/redis/binary-manager.ts +0 -44
- package/engines/redis/binary-urls.ts +0 -117
- package/engines/redis/cli-utils.ts +0 -42
- package/engines/redis/hostdb-releases.ts +0 -23
- package/engines/redis/index.ts +0 -1583
- package/engines/redis/restore.ts +0 -443
- package/engines/redis/version-maps.ts +0 -81
- package/engines/redis/version-validator.ts +0 -131
- package/engines/sqlite/README.md +0 -162
- package/engines/sqlite/binary-manager.ts +0 -52
- package/engines/sqlite/hostdb-releases.ts +0 -23
- package/engines/sqlite/index.ts +0 -641
- package/engines/sqlite/registry.ts +0 -198
- package/engines/sqlite/scanner.ts +0 -22
- package/engines/sqlite/version-maps.ts +0 -64
- package/engines/surrealdb/README.md +0 -218
- package/engines/surrealdb/backup.ts +0 -131
- package/engines/surrealdb/binary-manager.ts +0 -45
- package/engines/surrealdb/binary-urls.ts +0 -40
- package/engines/surrealdb/cli-utils.ts +0 -173
- package/engines/surrealdb/hostdb-releases.ts +0 -23
- package/engines/surrealdb/index.ts +0 -1246
- package/engines/surrealdb/restore.ts +0 -302
- package/engines/surrealdb/version-maps.ts +0 -41
- package/engines/tigerbeetle/README.md +0 -61
- package/engines/tigerbeetle/backup.ts +0 -49
- package/engines/tigerbeetle/binary-manager.ts +0 -95
- package/engines/tigerbeetle/binary-urls.ts +0 -62
- package/engines/tigerbeetle/hostdb-releases.ts +0 -26
- package/engines/tigerbeetle/index.ts +0 -746
- package/engines/tigerbeetle/restore.ts +0 -130
- package/engines/tigerbeetle/version-validator.ts +0 -126
- package/engines/typedb/backup.ts +0 -167
- package/engines/typedb/binary-manager.ts +0 -200
- package/engines/typedb/binary-urls.ts +0 -40
- package/engines/typedb/cli-utils.ts +0 -210
- package/engines/typedb/hostdb-releases.ts +0 -23
- package/engines/typedb/index.ts +0 -1275
- package/engines/typedb/restore.ts +0 -377
- package/engines/typedb/version-maps.ts +0 -48
- package/engines/typedb/version-validator.ts +0 -127
- package/engines/valkey/README.md +0 -219
- package/engines/valkey/backup.ts +0 -389
- package/engines/valkey/binary-manager.ts +0 -45
- package/engines/valkey/binary-urls.ts +0 -122
- package/engines/valkey/cli-utils.ts +0 -42
- package/engines/valkey/hostdb-releases.ts +0 -23
- package/engines/valkey/index.ts +0 -1585
- package/engines/valkey/restore.ts +0 -446
- package/engines/valkey/version-maps.ts +0 -81
- package/engines/valkey/version-validator.ts +0 -131
- package/engines/weaviate/README.md +0 -302
- package/engines/weaviate/api-client.ts +0 -61
- package/engines/weaviate/backup.ts +0 -145
- package/engines/weaviate/binary-manager.ts +0 -80
- package/engines/weaviate/binary-urls.ts +0 -115
- package/engines/weaviate/cli-utils.ts +0 -43
- package/engines/weaviate/hostdb-releases.ts +0 -23
- package/engines/weaviate/index.ts +0 -1139
- package/engines/weaviate/restore.ts +0 -235
- package/engines/weaviate/version-maps.ts +0 -78
- package/engines/weaviate/version-validator.ts +0 -128
- package/types/index.ts +0 -624
- /package/{config → dist/config}/engines.json +0 -0
|
@@ -1,302 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SurrealDB restore module
|
|
3
|
-
* Supports SurrealQL-based restores using surreal import
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { spawn } from 'child_process'
|
|
7
|
-
import { open } from 'fs/promises'
|
|
8
|
-
import { existsSync, statSync } from 'fs'
|
|
9
|
-
import { logDebug } from '../../core/error-handler'
|
|
10
|
-
import { requireSurrealPath } from './cli-utils'
|
|
11
|
-
import type { BackupFormat, RestoreResult } from '../../types'
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* SurrealQL keywords that indicate a SurrealDB backup
|
|
15
|
-
*/
|
|
16
|
-
const SURREALQL_KEYWORDS = [
|
|
17
|
-
'DEFINE',
|
|
18
|
-
'CREATE',
|
|
19
|
-
'INSERT',
|
|
20
|
-
'UPDATE',
|
|
21
|
-
'SELECT',
|
|
22
|
-
'DELETE',
|
|
23
|
-
'RELATE',
|
|
24
|
-
'LET',
|
|
25
|
-
'BEGIN',
|
|
26
|
-
'COMMIT',
|
|
27
|
-
'USE NS',
|
|
28
|
-
'USE DB',
|
|
29
|
-
'OPTION IMPORT',
|
|
30
|
-
]
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Check if file content looks like SurrealQL
|
|
34
|
-
* Only reads first 8KB to avoid loading large files into memory
|
|
35
|
-
*/
|
|
36
|
-
async function looksLikeSurql(filePath: string): Promise<boolean> {
|
|
37
|
-
try {
|
|
38
|
-
const HEADER_SIZE = 8192
|
|
39
|
-
const buffer = Buffer.alloc(HEADER_SIZE)
|
|
40
|
-
|
|
41
|
-
const fd = await open(filePath, 'r')
|
|
42
|
-
let bytesRead: number
|
|
43
|
-
try {
|
|
44
|
-
const result = await fd.read(buffer, 0, HEADER_SIZE, 0)
|
|
45
|
-
bytesRead = result.bytesRead
|
|
46
|
-
} finally {
|
|
47
|
-
await fd.close()
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
const content = buffer.toString('utf-8', 0, bytesRead)
|
|
51
|
-
const lines = content.split(/\r?\n/)
|
|
52
|
-
|
|
53
|
-
let surqlStatementsFound = 0
|
|
54
|
-
const linesToCheck = 20
|
|
55
|
-
let checkedLines = 0
|
|
56
|
-
|
|
57
|
-
for (const line of lines) {
|
|
58
|
-
if (checkedLines >= linesToCheck) break
|
|
59
|
-
|
|
60
|
-
const trimmed = line.trim().toUpperCase()
|
|
61
|
-
|
|
62
|
-
// Skip empty lines and comments
|
|
63
|
-
if (!trimmed || trimmed.startsWith('--') || trimmed.startsWith('#'))
|
|
64
|
-
continue
|
|
65
|
-
|
|
66
|
-
checkedLines++
|
|
67
|
-
|
|
68
|
-
// Check for SurrealQL keywords
|
|
69
|
-
for (const keyword of SURREALQL_KEYWORDS) {
|
|
70
|
-
if (trimmed.startsWith(keyword)) {
|
|
71
|
-
surqlStatementsFound++
|
|
72
|
-
break
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
if (surqlStatementsFound >= 2) {
|
|
77
|
-
return true
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
return surqlStatementsFound > 0
|
|
82
|
-
} catch {
|
|
83
|
-
return false
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Detect backup format from file
|
|
89
|
-
* Supports:
|
|
90
|
-
* - SurrealQL: Schema + data statements
|
|
91
|
-
*/
|
|
92
|
-
export async function detectBackupFormat(
|
|
93
|
-
filePath: string,
|
|
94
|
-
): Promise<BackupFormat> {
|
|
95
|
-
if (!existsSync(filePath)) {
|
|
96
|
-
throw new Error(`Backup file not found: ${filePath}`)
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
const stats = statSync(filePath)
|
|
100
|
-
|
|
101
|
-
if (stats.isDirectory()) {
|
|
102
|
-
return {
|
|
103
|
-
format: 'unknown',
|
|
104
|
-
description: 'Directory found - SurrealDB restore expects a single file',
|
|
105
|
-
restoreCommand: 'SurrealDB requires a single .surql file for restore',
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
// Check file extension first for .surql files
|
|
110
|
-
if (filePath.endsWith('.surql')) {
|
|
111
|
-
return {
|
|
112
|
-
format: 'surql',
|
|
113
|
-
description: 'SurrealDB SurrealQL backup',
|
|
114
|
-
restoreCommand:
|
|
115
|
-
'Execute SurrealQL statements via surreal import (spindb restore handles this)',
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
// Content-based detection
|
|
120
|
-
if (await looksLikeSurql(filePath)) {
|
|
121
|
-
return {
|
|
122
|
-
format: 'surql',
|
|
123
|
-
description: 'SurrealDB SurrealQL backup (detected by content)',
|
|
124
|
-
restoreCommand:
|
|
125
|
-
'Execute SurrealQL statements via surreal import (spindb restore handles this)',
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
return {
|
|
130
|
-
format: 'unknown',
|
|
131
|
-
description: 'Unknown backup format',
|
|
132
|
-
restoreCommand: 'Use .surql file with SurrealQL statements',
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
// Restore options for SurrealDB
|
|
137
|
-
export type RestoreOptions = {
|
|
138
|
-
containerName: string
|
|
139
|
-
port: number
|
|
140
|
-
database?: string
|
|
141
|
-
version?: string
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Restore from SurrealQL backup using surreal import
|
|
146
|
-
*/
|
|
147
|
-
async function restoreSurqlBackup(
|
|
148
|
-
backupPath: string,
|
|
149
|
-
port: number,
|
|
150
|
-
namespace: string,
|
|
151
|
-
database: string,
|
|
152
|
-
version?: string,
|
|
153
|
-
): Promise<RestoreResult> {
|
|
154
|
-
const surrealPath = await requireSurrealPath(version)
|
|
155
|
-
|
|
156
|
-
return new Promise<RestoreResult>((resolve, reject) => {
|
|
157
|
-
const args = [
|
|
158
|
-
'import',
|
|
159
|
-
'--endpoint',
|
|
160
|
-
`http://127.0.0.1:${port}`,
|
|
161
|
-
'--user',
|
|
162
|
-
'root',
|
|
163
|
-
'--pass',
|
|
164
|
-
'root',
|
|
165
|
-
'--ns',
|
|
166
|
-
namespace,
|
|
167
|
-
'--db',
|
|
168
|
-
database,
|
|
169
|
-
backupPath,
|
|
170
|
-
]
|
|
171
|
-
|
|
172
|
-
logDebug(`Running: surreal ${args.join(' ')}`)
|
|
173
|
-
|
|
174
|
-
const proc = spawn(surrealPath, args, {
|
|
175
|
-
stdio: ['ignore', 'pipe', 'pipe'],
|
|
176
|
-
})
|
|
177
|
-
|
|
178
|
-
let stdout = ''
|
|
179
|
-
let stderr = ''
|
|
180
|
-
|
|
181
|
-
proc.stdout.on('data', (data: Buffer) => {
|
|
182
|
-
stdout += data.toString()
|
|
183
|
-
})
|
|
184
|
-
|
|
185
|
-
proc.stderr.on('data', (data: Buffer) => {
|
|
186
|
-
stderr += data.toString()
|
|
187
|
-
})
|
|
188
|
-
|
|
189
|
-
proc.on('close', (code) => {
|
|
190
|
-
if (code === 0) {
|
|
191
|
-
resolve({
|
|
192
|
-
format: 'surql',
|
|
193
|
-
stdout: stdout || 'SurrealQL statements imported successfully',
|
|
194
|
-
stderr: stderr || undefined,
|
|
195
|
-
code: 0,
|
|
196
|
-
})
|
|
197
|
-
} else {
|
|
198
|
-
reject(
|
|
199
|
-
new Error(
|
|
200
|
-
`surreal import exited with code ${code}${stderr ? `: ${stderr}` : ''}`,
|
|
201
|
-
),
|
|
202
|
-
)
|
|
203
|
-
}
|
|
204
|
-
})
|
|
205
|
-
|
|
206
|
-
proc.on('error', (error) => {
|
|
207
|
-
reject(new Error(`Failed to spawn surreal import: ${error.message}`))
|
|
208
|
-
})
|
|
209
|
-
})
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
/**
|
|
213
|
-
* Restore from backup
|
|
214
|
-
* Supports:
|
|
215
|
-
* - SurrealQL: Execute statements via surreal import
|
|
216
|
-
*/
|
|
217
|
-
export async function restoreBackup(
|
|
218
|
-
backupPath: string,
|
|
219
|
-
options: RestoreOptions,
|
|
220
|
-
): Promise<RestoreResult> {
|
|
221
|
-
const { containerName, port, database = 'default', version } = options
|
|
222
|
-
// Use container name as namespace (convert dashes to underscores)
|
|
223
|
-
const namespace = containerName.replace(/-/g, '_')
|
|
224
|
-
|
|
225
|
-
if (!existsSync(backupPath)) {
|
|
226
|
-
throw new Error(`Backup file not found: ${backupPath}`)
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
// Detect backup format
|
|
230
|
-
const format = await detectBackupFormat(backupPath)
|
|
231
|
-
logDebug(`Detected backup format: ${format.format}`)
|
|
232
|
-
|
|
233
|
-
if (format.format === 'surql') {
|
|
234
|
-
return restoreSurqlBackup(backupPath, port, namespace, database, version)
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
throw new Error(
|
|
238
|
-
`Invalid backup format: ${format.format}. Use .surql file with SurrealQL statements.`,
|
|
239
|
-
)
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
/**
|
|
243
|
-
* Parse SurrealDB connection string
|
|
244
|
-
* Format: surrealdb://[user:password@]host[:port][/namespace/database]
|
|
245
|
-
* Or: ws://host:port or http://host:port
|
|
246
|
-
*/
|
|
247
|
-
export function parseConnectionString(connectionString: string): {
|
|
248
|
-
host: string
|
|
249
|
-
port: number
|
|
250
|
-
namespace: string
|
|
251
|
-
database: string
|
|
252
|
-
user?: string
|
|
253
|
-
password?: string
|
|
254
|
-
} {
|
|
255
|
-
if (!connectionString || typeof connectionString !== 'string') {
|
|
256
|
-
throw new Error(
|
|
257
|
-
'Invalid SurrealDB connection string: expected a non-empty string',
|
|
258
|
-
)
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
let url: URL
|
|
262
|
-
try {
|
|
263
|
-
url = new URL(connectionString)
|
|
264
|
-
} catch (error) {
|
|
265
|
-
// Mask credentials in error message if present
|
|
266
|
-
const sanitized = connectionString.replace(
|
|
267
|
-
/\/\/([^:]+):([^@]+)@/,
|
|
268
|
-
'//***:***@',
|
|
269
|
-
)
|
|
270
|
-
throw new Error(
|
|
271
|
-
`Invalid SurrealDB connection string: "${sanitized}". ` +
|
|
272
|
-
`Expected format: surrealdb://[user:password@]host[:port][/namespace/database]`,
|
|
273
|
-
{ cause: error },
|
|
274
|
-
)
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
// Validate protocol
|
|
278
|
-
const validProtocols = ['surrealdb:', 'ws:', 'wss:', 'http:', 'https:']
|
|
279
|
-
if (!validProtocols.includes(url.protocol)) {
|
|
280
|
-
throw new Error(
|
|
281
|
-
`Invalid SurrealDB connection string: unsupported protocol "${url.protocol}". ` +
|
|
282
|
-
`Expected one of: ${validProtocols.join(', ')}`,
|
|
283
|
-
)
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
const host = url.hostname || '127.0.0.1'
|
|
287
|
-
const port = parseInt(url.port, 10) || 8000
|
|
288
|
-
|
|
289
|
-
// Parse namespace/database from pathname (e.g., /myns/mydb)
|
|
290
|
-
const pathParts = url.pathname.split('/').filter(Boolean)
|
|
291
|
-
const namespace = pathParts[0] || 'test'
|
|
292
|
-
const database = pathParts[1] || 'test'
|
|
293
|
-
|
|
294
|
-
return {
|
|
295
|
-
host,
|
|
296
|
-
port,
|
|
297
|
-
namespace,
|
|
298
|
-
database,
|
|
299
|
-
user: url.username || undefined,
|
|
300
|
-
password: url.password || undefined,
|
|
301
|
-
}
|
|
302
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SurrealDB version mapping
|
|
3
|
-
*
|
|
4
|
-
* Maps short version aliases to full versions from hostdb releases.
|
|
5
|
-
* MUST stay in sync with hostdb databases.json
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
// Full version map for SurrealDB
|
|
9
|
-
export const SURREALDB_VERSION_MAP: Record<string, string> = {
|
|
10
|
-
'2': '2.3.2',
|
|
11
|
-
'2.3': '2.3.2',
|
|
12
|
-
'2.3.2': '2.3.2',
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
// Supported major versions (for CLI display)
|
|
16
|
-
export const SUPPORTED_MAJOR_VERSIONS = ['2']
|
|
17
|
-
|
|
18
|
-
// Default version
|
|
19
|
-
export const DEFAULT_VERSION = '2'
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Normalize a version string to its full version
|
|
23
|
-
* e.g., '2' -> '2.3.2', '2.3' -> '2.3.2'
|
|
24
|
-
*/
|
|
25
|
-
export function normalizeVersion(version: string): string {
|
|
26
|
-
return SURREALDB_VERSION_MAP[version] || version
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Check if a version is supported
|
|
31
|
-
*/
|
|
32
|
-
export function isVersionSupported(version: string): boolean {
|
|
33
|
-
return version in SURREALDB_VERSION_MAP
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Get the latest patch version for a major version
|
|
38
|
-
*/
|
|
39
|
-
export function getLatestPatch(majorVersion: string): string | undefined {
|
|
40
|
-
return SURREALDB_VERSION_MAP[majorVersion]
|
|
41
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
# TigerBeetle Engine
|
|
2
|
-
|
|
3
|
-
TigerBeetle is a high-performance financial ledger database written in Zig,
|
|
4
|
-
designed for mission-critical safety and performance.
|
|
5
|
-
|
|
6
|
-
## Platform Support
|
|
7
|
-
|
|
8
|
-
All 5 platforms:
|
|
9
|
-
- darwin-arm64
|
|
10
|
-
- darwin-x64
|
|
11
|
-
- linux-arm64
|
|
12
|
-
- linux-x64
|
|
13
|
-
- win32-x64
|
|
14
|
-
|
|
15
|
-
## Binary Structure
|
|
16
|
-
|
|
17
|
-
Single binary: `tigerbeetle` (handles both server and REPL client)
|
|
18
|
-
|
|
19
|
-
## Two-Step Initialization
|
|
20
|
-
|
|
21
|
-
TigerBeetle requires a format step before starting:
|
|
22
|
-
|
|
23
|
-
1. **Format**: `tigerbeetle format --cluster=0 --replica=0 --replica-count=1 --development <data-file>`
|
|
24
|
-
2. **Start**: `tigerbeetle start --addresses=127.0.0.1:<port> --development <data-file>`
|
|
25
|
-
|
|
26
|
-
The `--development` flag is always passed since SpinDB is a local dev tool
|
|
27
|
-
(relaxes Direct I/O requirements).
|
|
28
|
-
|
|
29
|
-
## REPL Usage
|
|
30
|
-
|
|
31
|
-
Connect to a running instance:
|
|
32
|
-
```bash
|
|
33
|
-
tigerbeetle repl --cluster=0 --addresses=127.0.0.1:<port>
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Version Grouping
|
|
37
|
-
|
|
38
|
-
Uses xy-format: `0.16.70` groups as `0.16` (like MariaDB/ClickHouse).
|
|
39
|
-
|
|
40
|
-
## Backup/Restore
|
|
41
|
-
|
|
42
|
-
Stop-and-copy of the single `0_0.tigerbeetle` data file.
|
|
43
|
-
The server must be stopped before backup (the file is exclusively locked).
|
|
44
|
-
TigerBeetle is designed for abrupt shutdown (SIGTERM/SIGKILL are safe).
|
|
45
|
-
|
|
46
|
-
## Key Characteristics
|
|
47
|
-
|
|
48
|
-
- **Protocol**: Custom binary protocol (not REST, not SQL)
|
|
49
|
-
- **Auth**: None
|
|
50
|
-
- **Multi-database**: No (single ledger per instance)
|
|
51
|
-
- **Health check**: TCP port check + PID (no HTTP endpoint)
|
|
52
|
-
- **License**: Apache-2.0
|
|
53
|
-
- **Default port**: 3000
|
|
54
|
-
|
|
55
|
-
## Linux / Docker Note
|
|
56
|
-
|
|
57
|
-
TigerBeetle uses `io_uring` for I/O on Linux. This works on regular Linux systems
|
|
58
|
-
(bare metal, VMs, GitHub Actions runners) but Docker's default seccomp profile blocks
|
|
59
|
-
`io_uring_*` syscalls. When running TigerBeetle inside Docker, the container must be
|
|
60
|
-
started with `--security-opt seccomp=unconfined`. The `pnpm test:docker` wrapper
|
|
61
|
-
handles this automatically. This does not affect macOS or Windows.
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TigerBeetle backup module
|
|
3
|
-
* Supports stop-and-copy backup of the single data file.
|
|
4
|
-
*
|
|
5
|
-
* TigerBeetle stores all data in a single file (e.g., 0_0.tigerbeetle).
|
|
6
|
-
* Backup requires the server to be stopped first since the data file
|
|
7
|
-
* is exclusively locked by the running process.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import { copyFile, mkdir, stat } from 'fs/promises'
|
|
11
|
-
import { existsSync } from 'fs'
|
|
12
|
-
import { dirname, join } from 'path'
|
|
13
|
-
import { logDebug } from '../../core/error-handler'
|
|
14
|
-
import type { BackupOptions, BackupResult } from '../../types'
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Create a backup by copying the TigerBeetle data file.
|
|
18
|
-
* The server MUST be stopped before calling this function.
|
|
19
|
-
*/
|
|
20
|
-
export async function createBackup(
|
|
21
|
-
dataDir: string,
|
|
22
|
-
outputPath: string,
|
|
23
|
-
_options: BackupOptions,
|
|
24
|
-
): Promise<BackupResult> {
|
|
25
|
-
const dataFile = join(dataDir, '0_0.tigerbeetle')
|
|
26
|
-
|
|
27
|
-
if (!existsSync(dataFile)) {
|
|
28
|
-
throw new Error(
|
|
29
|
-
`TigerBeetle data file not found at ${dataFile}. Has the database been initialized?`,
|
|
30
|
-
)
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
// Ensure output parent directory exists
|
|
34
|
-
const outputDir = dirname(outputPath)
|
|
35
|
-
if (!existsSync(outputDir)) {
|
|
36
|
-
await mkdir(outputDir, { recursive: true })
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
logDebug(`Copying TigerBeetle data file to ${outputPath}`)
|
|
40
|
-
await copyFile(dataFile, outputPath)
|
|
41
|
-
|
|
42
|
-
const stats = await stat(outputPath)
|
|
43
|
-
|
|
44
|
-
return {
|
|
45
|
-
path: outputPath,
|
|
46
|
-
format: 'binary',
|
|
47
|
-
size: stats.size,
|
|
48
|
-
}
|
|
49
|
-
}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TigerBeetle Binary Manager
|
|
3
|
-
*
|
|
4
|
-
* Handles downloading, extracting, and managing TigerBeetle binaries from hostdb.
|
|
5
|
-
* Extends BaseBinaryManager for shared download/extraction logic.
|
|
6
|
-
*
|
|
7
|
-
* Note: TigerBeetle uses `tigerbeetle version` (subcommand, not --version flag).
|
|
8
|
-
* We override verify() to use the correct invocation.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
import { existsSync } from 'fs'
|
|
12
|
-
import { join } from 'path'
|
|
13
|
-
import {
|
|
14
|
-
BaseBinaryManager,
|
|
15
|
-
type BinaryManagerConfig,
|
|
16
|
-
} from '../../core/base-binary-manager'
|
|
17
|
-
import { spawnAsync } from '../../core/spawn-utils'
|
|
18
|
-
import { getBinaryUrl } from './binary-urls'
|
|
19
|
-
import { normalizeVersion } from './version-maps'
|
|
20
|
-
import { Engine, Platform, type Arch } from '../../types'
|
|
21
|
-
import { paths } from '../../config/paths'
|
|
22
|
-
import { logDebug } from '../../core/error-handler'
|
|
23
|
-
|
|
24
|
-
class TigerBeetleBinaryManager extends BaseBinaryManager {
|
|
25
|
-
protected readonly config: BinaryManagerConfig = {
|
|
26
|
-
engine: Engine.TigerBeetle,
|
|
27
|
-
engineName: 'tigerbeetle',
|
|
28
|
-
displayName: 'TigerBeetle',
|
|
29
|
-
serverBinary: 'tigerbeetle',
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
protected getBinaryUrlFromModule(
|
|
33
|
-
version: string,
|
|
34
|
-
platform: Platform,
|
|
35
|
-
arch: Arch,
|
|
36
|
-
): string {
|
|
37
|
-
return getBinaryUrl(version, platform, arch)
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
protected normalizeVersionFromModule(version: string): string {
|
|
41
|
-
return normalizeVersion(version)
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
protected parseVersionFromOutput(stdout: string): string | null {
|
|
45
|
-
// TigerBeetle outputs: "TigerBeetle v0.16.70" or similar
|
|
46
|
-
const match = stdout.match(/(?:TigerBeetle\s+)?v?(\d+\.\d+\.\d+)/)
|
|
47
|
-
return match?.[1] ?? null
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Override verify to use `tigerbeetle version` subcommand instead of `--version`.
|
|
52
|
-
*/
|
|
53
|
-
async verify(
|
|
54
|
-
version: string,
|
|
55
|
-
platform: Platform,
|
|
56
|
-
arch: Arch,
|
|
57
|
-
): Promise<boolean> {
|
|
58
|
-
const fullVersion = this.getFullVersion(version)
|
|
59
|
-
const binPath = paths.getBinaryPath({
|
|
60
|
-
engine: this.config.engineName,
|
|
61
|
-
version: fullVersion,
|
|
62
|
-
platform,
|
|
63
|
-
arch,
|
|
64
|
-
})
|
|
65
|
-
|
|
66
|
-
const ext = platform === Platform.Win32 ? '.exe' : ''
|
|
67
|
-
const serverPath = join(binPath, 'bin', `${this.config.serverBinary}${ext}`)
|
|
68
|
-
|
|
69
|
-
if (!existsSync(serverPath)) {
|
|
70
|
-
throw new Error(
|
|
71
|
-
`${this.config.displayName} binary not found at ${binPath}/bin/`,
|
|
72
|
-
)
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// TigerBeetle uses `tigerbeetle version` subcommand (not --version)
|
|
76
|
-
try {
|
|
77
|
-
const { stdout } = await spawnAsync(serverPath, ['version'], {
|
|
78
|
-
timeout: 10000,
|
|
79
|
-
})
|
|
80
|
-
const parsedVersion = this.parseVersionFromOutput(stdout)
|
|
81
|
-
if (parsedVersion) {
|
|
82
|
-
logDebug(
|
|
83
|
-
`TigerBeetle binary verified: ${parsedVersion} at ${serverPath}`,
|
|
84
|
-
)
|
|
85
|
-
}
|
|
86
|
-
return true
|
|
87
|
-
} catch (error) {
|
|
88
|
-
const msg = error instanceof Error ? error.message : String(error)
|
|
89
|
-
logDebug(`TigerBeetle version check failed for ${serverPath}: ${msg}`)
|
|
90
|
-
return false
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
export const tigerbeetleBinaryManager = new TigerBeetleBinaryManager()
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { normalizeVersion } from './version-maps'
|
|
2
|
-
import { buildHostdbUrl } from '../../core/hostdb-client'
|
|
3
|
-
import { Engine, Platform, type Arch } from '../../types'
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Supported platform identifiers for hostdb downloads.
|
|
7
|
-
* TigerBeetle supports all 5 platforms.
|
|
8
|
-
*/
|
|
9
|
-
const SUPPORTED_PLATFORMS = new Set([
|
|
10
|
-
'darwin-arm64',
|
|
11
|
-
'darwin-x64',
|
|
12
|
-
'linux-arm64',
|
|
13
|
-
'linux-x64',
|
|
14
|
-
'win32-x64',
|
|
15
|
-
])
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Get the hostdb platform identifier
|
|
19
|
-
*
|
|
20
|
-
* @param platform - Node.js platform (e.g., 'darwin', 'linux', 'win32')
|
|
21
|
-
* @param arch - Node.js architecture (e.g., 'arm64', 'x64')
|
|
22
|
-
* @returns hostdb platform identifier or null if unsupported
|
|
23
|
-
*/
|
|
24
|
-
export function getHostdbPlatform(
|
|
25
|
-
platform: Platform,
|
|
26
|
-
arch: Arch,
|
|
27
|
-
): string | null {
|
|
28
|
-
const key = `${platform}-${arch}`
|
|
29
|
-
return SUPPORTED_PLATFORMS.has(key) ? key : null
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Build the download URL for TigerBeetle binaries from hostdb
|
|
34
|
-
*
|
|
35
|
-
* @param version - TigerBeetle version (e.g., '0.16', '0.16.70')
|
|
36
|
-
* @param platform - Platform identifier (e.g., 'darwin', 'linux', 'win32')
|
|
37
|
-
* @param arch - Architecture identifier (e.g., 'arm64', 'x64')
|
|
38
|
-
* @returns Download URL for the binary
|
|
39
|
-
*/
|
|
40
|
-
export function getBinaryUrl(
|
|
41
|
-
version: string,
|
|
42
|
-
platform: Platform,
|
|
43
|
-
arch: Arch,
|
|
44
|
-
): string {
|
|
45
|
-
const platformKey = `${platform}-${arch}`
|
|
46
|
-
const hostdbPlatform = getHostdbPlatform(platform, arch)
|
|
47
|
-
if (!hostdbPlatform) {
|
|
48
|
-
const supported = Array.from(SUPPORTED_PLATFORMS).join(', ')
|
|
49
|
-
throw new Error(
|
|
50
|
-
`Unsupported platform: ${platformKey}. Supported platforms: ${supported}`,
|
|
51
|
-
)
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
const fullVersion = normalizeVersion(version)
|
|
55
|
-
const ext = platform === Platform.Win32 ? 'zip' : 'tar.gz'
|
|
56
|
-
|
|
57
|
-
return buildHostdbUrl(Engine.TigerBeetle, {
|
|
58
|
-
version: fullVersion,
|
|
59
|
-
hostdbPlatform,
|
|
60
|
-
extension: ext,
|
|
61
|
-
})
|
|
62
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* hostdb Releases Module for TigerBeetle
|
|
3
|
-
*
|
|
4
|
-
* Fetches TigerBeetle binary information from the hostdb repository at
|
|
5
|
-
* https://github.com/robertjbass/hostdb
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { createHostdbReleases } from '../../core/hostdb-releases-factory'
|
|
9
|
-
import {
|
|
10
|
-
TIGERBEETLE_VERSION_MAP,
|
|
11
|
-
SUPPORTED_MAJOR_VERSIONS,
|
|
12
|
-
} from './version-maps'
|
|
13
|
-
import { tigerbeetleBinaryManager } from './binary-manager'
|
|
14
|
-
import { Engine } from '../../types'
|
|
15
|
-
|
|
16
|
-
const hostdbReleases = createHostdbReleases({
|
|
17
|
-
engine: Engine.TigerBeetle,
|
|
18
|
-
displayName: 'TigerBeetle',
|
|
19
|
-
versionMap: TIGERBEETLE_VERSION_MAP,
|
|
20
|
-
supportedMajorVersions: SUPPORTED_MAJOR_VERSIONS,
|
|
21
|
-
groupingStrategy: 'xy-format',
|
|
22
|
-
listInstalled: () => tigerbeetleBinaryManager.listInstalled(),
|
|
23
|
-
})
|
|
24
|
-
|
|
25
|
-
export const fetchAvailableVersions = hostdbReleases.fetchAvailableVersions
|
|
26
|
-
export const getLatestVersion = hostdbReleases.getLatestVersion
|