spindb 0.49.0 → 0.50.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/README.md +6 -3
  2. package/dist/cli/commands/create.js +10 -0
  3. package/dist/cli/commands/create.js.map +1 -1
  4. package/dist/cli/commands/engines.js +26 -4
  5. package/dist/cli/commands/engines.js.map +1 -1
  6. package/dist/cli/commands/menu/backup-handlers.js +8 -1
  7. package/dist/cli/commands/menu/backup-handlers.js.map +1 -1
  8. package/dist/cli/commands/menu/container-handlers.js +9 -1
  9. package/dist/cli/commands/menu/container-handlers.js.map +1 -1
  10. package/dist/cli/commands/start.js +24 -1
  11. package/dist/cli/commands/start.js.map +1 -1
  12. package/dist/cli/ui/prompts.js +6 -3
  13. package/dist/cli/ui/prompts.js.map +1 -1
  14. package/dist/config/engine-defaults.js +25 -26
  15. package/dist/config/engine-defaults.js.map +1 -1
  16. package/dist/config/engines-registry.js +0 -46
  17. package/dist/config/engines-registry.js.map +1 -1
  18. package/dist/config/engines.json +132 -101
  19. package/dist/config/version.js +1 -1
  20. package/dist/core/container-manager.js +18 -4
  21. package/dist/core/container-manager.js.map +1 -1
  22. package/dist/core/hostdb-metadata.js +57 -14
  23. package/dist/core/hostdb-metadata.js.map +1 -1
  24. package/dist/core/version-utils.js +35 -0
  25. package/dist/core/version-utils.js.map +1 -1
  26. package/dist/engines/base-engine.js +12 -0
  27. package/dist/engines/base-engine.js.map +1 -1
  28. package/dist/engines/clickhouse/index.js +72 -20
  29. package/dist/engines/clickhouse/index.js.map +1 -1
  30. package/dist/engines/clickhouse/version-maps.js +43 -55
  31. package/dist/engines/clickhouse/version-maps.js.map +1 -1
  32. package/dist/engines/cockroachdb/version-maps.js +26 -25
  33. package/dist/engines/cockroachdb/version-maps.js.map +1 -1
  34. package/dist/engines/couchdb/version-maps.js +28 -47
  35. package/dist/engines/couchdb/version-maps.js.map +1 -1
  36. package/dist/engines/duckdb/index.js +3 -0
  37. package/dist/engines/duckdb/index.js.map +1 -1
  38. package/dist/engines/duckdb/version-maps.js +28 -48
  39. package/dist/engines/duckdb/version-maps.js.map +1 -1
  40. package/dist/engines/ferretdb/version-maps.js +39 -115
  41. package/dist/engines/ferretdb/version-maps.js.map +1 -1
  42. package/dist/engines/influxdb/version-maps.js +28 -44
  43. package/dist/engines/influxdb/version-maps.js.map +1 -1
  44. package/dist/engines/libsql/version-maps.js +28 -43
  45. package/dist/engines/libsql/version-maps.js.map +1 -1
  46. package/dist/engines/mariadb/version-maps.js +34 -54
  47. package/dist/engines/mariadb/version-maps.js.map +1 -1
  48. package/dist/engines/meilisearch/version-maps.js +28 -49
  49. package/dist/engines/meilisearch/version-maps.js.map +1 -1
  50. package/dist/engines/mongodb/version-maps.js +34 -70
  51. package/dist/engines/mongodb/version-maps.js.map +1 -1
  52. package/dist/engines/mysql/version-maps.js +37 -65
  53. package/dist/engines/mysql/version-maps.js.map +1 -1
  54. package/dist/engines/postgresql/version-maps.js +28 -71
  55. package/dist/engines/postgresql/version-maps.js.map +1 -1
  56. package/dist/engines/qdrant/version-maps.js +28 -47
  57. package/dist/engines/qdrant/version-maps.js.map +1 -1
  58. package/dist/engines/questdb/version-maps.js +24 -25
  59. package/dist/engines/questdb/version-maps.js.map +1 -1
  60. package/dist/engines/redis/version-maps.js +28 -51
  61. package/dist/engines/redis/version-maps.js.map +1 -1
  62. package/dist/engines/sqlite/index.js +3 -0
  63. package/dist/engines/sqlite/index.js.map +1 -1
  64. package/dist/engines/sqlite/version-maps.js +32 -47
  65. package/dist/engines/sqlite/version-maps.js.map +1 -1
  66. package/dist/engines/surrealdb/version-maps.js +26 -24
  67. package/dist/engines/surrealdb/version-maps.js.map +1 -1
  68. package/dist/engines/tigerbeetle/version-maps.js +32 -47
  69. package/dist/engines/tigerbeetle/version-maps.js.map +1 -1
  70. package/dist/engines/typedb/version-maps.js +30 -27
  71. package/dist/engines/typedb/version-maps.js.map +1 -1
  72. package/dist/engines/valkey/version-maps.js +28 -52
  73. package/dist/engines/valkey/version-maps.js.map +1 -1
  74. package/dist/engines/weaviate/version-maps.js +28 -47
  75. package/dist/engines/weaviate/version-maps.js.map +1 -1
  76. package/package.json +4 -2
@@ -1,61 +1,55 @@
1
1
  /**
2
2
  * ClickHouse Version Maps
3
3
  *
4
- * TEMPORARY: This version map will be replaced by the hostdb npm package once published.
5
- * Until then, manually keep this in sync with robertjbass/hostdb releases.json:
6
- * https://github.com/robertjbass/hostdb/blob/main/releases.json
4
+ * Thin wrapper around the `hostdb` npm package. See engines/sqlite/version-maps.ts
5
+ * for the architecture rationale hostdb is the single source of truth.
7
6
  *
8
- * When updating versions:
9
- * 1. Check hostdb releases.json for available versions
10
- * 2. Update CLICKHOUSE_VERSION_MAP to match
11
- *
12
- * ClickHouse uses YY.MM.X.build versioning (e.g., 25.12.3.21)
13
- * We use the YY.MM format as the major version identifier.
7
+ * ClickHouse uses YY.MM.X.build versioning (e.g., 25.12.3.21). The YY.MM form
8
+ * is the major-minor key used everywhere in spindb. SUPPORTED_MAJOR_VERSIONS
9
+ * is 2-part to preserve that convention; '25' still resolves via the MAP.
14
10
  */
11
+ import { resolveVersion as hostdbResolveVersion, getSupportedMajorVersions, listVersions, } from 'hostdb';
15
12
  import { logDebug } from '../../core/error-handler.js';
16
- /**
17
- * Map of ClickHouse versions to their latest stable patch versions.
18
- * Must match versions available in hostdb releases.json.
19
- */
20
- export const CLICKHOUSE_VERSION_MAP = {
21
- // 1-part: year -> latest release for that year
22
- '25': '25.12.3.21',
23
- // 2-part: year.month -> latest
24
- '25.12': '25.12.3.21',
25
- // 3-part: year.month.patch -> latest build
26
- '25.12.3': '25.12.3.21',
27
- // 4-part: exact version (identity mapping)
28
- '25.12.3.21': '25.12.3.21',
29
- };
30
- /**
31
- * Supported major ClickHouse versions (YY.MM format).
32
- * Used for grouping and display purposes.
33
- */
34
- export const SUPPORTED_MAJOR_VERSIONS = ['25.12'];
35
- /**
36
- * Get the full version string for a version.
37
- *
38
- * @param version - Version (e.g., '25.12', '25.12.3', '25.12.3.21')
39
- * @returns Full version string (e.g., '25.12.3.21') or null if not supported
40
- */
13
+ const ENGINE = 'clickhouse';
14
+ function buildVersionMap() {
15
+ const map = {};
16
+ for (const major of getSupportedMajorVersions(ENGINE)) {
17
+ const r = hostdbResolveVersion(ENGINE, major);
18
+ if (r)
19
+ map[major] = r;
20
+ }
21
+ for (const minor of listVersions(ENGINE, { format: 'major-minor' })) {
22
+ const r = hostdbResolveVersion(ENGINE, minor);
23
+ if (r)
24
+ map[minor] = r;
25
+ }
26
+ for (const full of listVersions(ENGINE, { format: 'full' })) {
27
+ map[full] = full;
28
+ // ClickHouse 4-part full versions have a 3-part prefix (e.g., 25.12.3) that
29
+ // should also resolve. Add 3-part prefix to the MAP for spindb's existing
30
+ // identity-match call paths.
31
+ const parts = full.split('.');
32
+ if (parts.length === 4) {
33
+ const threePartPrefix = `${parts[0]}.${parts[1]}.${parts[2]}`;
34
+ const r = hostdbResolveVersion(ENGINE, threePartPrefix);
35
+ if (r)
36
+ map[threePartPrefix] = r;
37
+ }
38
+ }
39
+ return map;
40
+ }
41
+ export const CLICKHOUSE_VERSION_MAP = buildVersionMap();
42
+ export const SUPPORTED_MAJOR_VERSIONS = listVersions(ENGINE, {
43
+ format: 'major-minor',
44
+ });
41
45
  export function getFullVersion(version) {
42
- return CLICKHOUSE_VERSION_MAP[version] || null;
46
+ return hostdbResolveVersion(ENGINE, version);
43
47
  }
44
- /**
45
- * Normalize a version string to full version format.
46
- *
47
- * @param version - Version string (e.g., '25.12', '25.12.3', '25.12.3.21')
48
- * @returns Normalized version (e.g., '25.12.3.21')
49
- */
50
48
  export function normalizeVersion(version) {
51
- // If it's in the version map, return the mapped value
52
- const fullVersion = CLICKHOUSE_VERSION_MAP[version];
53
- if (fullVersion) {
54
- return fullVersion;
55
- }
56
- // Unknown version - warn and return as-is
49
+ const resolved = hostdbResolveVersion(ENGINE, version);
50
+ if (resolved)
51
+ return resolved;
57
52
  const parts = version.split('.');
58
- // ClickHouse versions can be 2-4 parts (YY.MM, YY.MM.X, YY.MM.X.build)
59
53
  const isValidFormat = parts.length >= 2 &&
60
54
  parts.length <= 4 &&
61
55
  parts.every((p) => /^\d+$/.test(p));
@@ -63,16 +57,10 @@ export function normalizeVersion(version) {
63
57
  logDebug(`ClickHouse version '${version}' has invalid format, may not be available in hostdb`);
64
58
  }
65
59
  else {
66
- logDebug(`ClickHouse version '${version}' not in version map, may not be available in hostdb`);
60
+ logDebug(`ClickHouse version '${version}' not in hostdb, may not be available for download`);
67
61
  }
68
62
  return version;
69
63
  }
70
- /**
71
- * Get the major version (YY.MM) from a full version string.
72
- *
73
- * @param version - Full version (e.g., '25.12.3.21')
74
- * @returns Major version (e.g., '25.12')
75
- */
76
64
  export function getMajorVersion(version) {
77
65
  const parts = version.split('.');
78
66
  if (parts.length >= 2) {
@@ -1 +1 @@
1
- {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/clickhouse/version-maps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA2B;IAC5D,+CAA+C;IAC/C,IAAI,EAAE,YAAY;IAClB,+BAA+B;IAC/B,OAAO,EAAE,YAAY;IACrB,2CAA2C;IAC3C,SAAS,EAAE,YAAY;IACvB,2CAA2C;IAC3C,YAAY,EAAE,YAAY;CAC3B,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,OAAO,CAAC,CAAA;AAEjD;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,sBAAsB,CAAC,OAAO,CAAC,IAAI,IAAI,CAAA;AAChD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,sDAAsD;IACtD,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAA;IACnD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,0CAA0C;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEhC,uEAAuE;IACvE,MAAM,aAAa,GACjB,KAAK,CAAC,MAAM,IAAI,CAAC;QACjB,KAAK,CAAC,MAAM,IAAI,CAAC;QACjB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAErC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,QAAQ,CACN,uBAAuB,OAAO,sDAAsD,CACrF,CAAA;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,CACN,uBAAuB,OAAO,sDAAsD,CACrF,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;IAClC,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/clickhouse/version-maps.ts"],"names":[],"mappings":"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"}
@@ -1,36 +1,37 @@
1
1
  /**
2
- * CockroachDB version mapping
2
+ * CockroachDB Version Maps
3
3
  *
4
- * Maps short version aliases to full versions from hostdb releases.
5
- * MUST stay in sync with hostdb databases.json
6
- */
7
- // Full version map for CockroachDB
8
- // Format: YY.MM.patch (similar to ClickHouse)
9
- export const COCKROACHDB_VERSION_MAP = {
10
- '25': '25.4.2',
11
- '25.4': '25.4.2',
12
- '25.4.2': '25.4.2',
13
- };
14
- // Supported major versions (for CLI display)
15
- export const SUPPORTED_MAJOR_VERSIONS = ['25'];
16
- // Default version
17
- export const DEFAULT_VERSION = '25';
18
- /**
19
- * Normalize a version string to its full version
20
- * e.g., '25' -> '25.4.2', '25.4' -> '25.4.2'
4
+ * Thin wrapper around the `hostdb` npm package. See engines/sqlite/version-maps.ts
5
+ * for the architecture rationale hostdb is the single source of truth.
21
6
  */
7
+ import { resolveVersion as hostdbResolveVersion, getSupportedMajorVersions, listVersions, } from 'hostdb';
8
+ const ENGINE = 'cockroachdb';
9
+ function buildVersionMap() {
10
+ const map = {};
11
+ for (const major of getSupportedMajorVersions(ENGINE)) {
12
+ const r = hostdbResolveVersion(ENGINE, major);
13
+ if (r)
14
+ map[major] = r;
15
+ }
16
+ for (const minor of listVersions(ENGINE, { format: 'major-minor' })) {
17
+ const r = hostdbResolveVersion(ENGINE, minor);
18
+ if (r)
19
+ map[minor] = r;
20
+ }
21
+ for (const full of listVersions(ENGINE, { format: 'full' })) {
22
+ map[full] = full;
23
+ }
24
+ return map;
25
+ }
26
+ export const COCKROACHDB_VERSION_MAP = buildVersionMap();
27
+ export const SUPPORTED_MAJOR_VERSIONS = getSupportedMajorVersions(ENGINE);
28
+ export const DEFAULT_VERSION = SUPPORTED_MAJOR_VERSIONS[0] ?? '25';
22
29
  export function normalizeVersion(version) {
23
- return COCKROACHDB_VERSION_MAP[version] || version;
30
+ return hostdbResolveVersion(ENGINE, version) ?? version;
24
31
  }
25
- /**
26
- * Check if a version is supported
27
- */
28
32
  export function isVersionSupported(version) {
29
33
  return version in COCKROACHDB_VERSION_MAP;
30
34
  }
31
- /**
32
- * Get the latest patch version for a major version
33
- */
34
35
  export function getLatestPatch(majorVersion) {
35
36
  return COCKROACHDB_VERSION_MAP[majorVersion];
36
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/cockroachdb/version-maps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,mCAAmC;AACnC,8CAA8C;AAC9C,MAAM,CAAC,MAAM,uBAAuB,GAA2B;IAC7D,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,QAAQ;CACnB,CAAA;AAED,6CAA6C;AAC7C,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,IAAI,CAAC,CAAA;AAE9C,kBAAkB;AAClB,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAA;AAEnC;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,uBAAuB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAA;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,OAAO,OAAO,IAAI,uBAAuB,CAAA;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,YAAoB;IACjD,OAAO,uBAAuB,CAAC,YAAY,CAAC,CAAA;AAC9C,CAAC"}
1
+ {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/cockroachdb/version-maps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,cAAc,IAAI,oBAAoB,EACtC,yBAAyB,EACzB,YAAY,GACb,MAAM,QAAQ,CAAA;AAEf,MAAM,MAAM,GAAG,aAAa,CAAA;AAE5B,SAAS,eAAe;IACtB,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAK,MAAM,KAAK,IAAI,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;QACtD,MAAM,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC7C,IAAI,CAAC;YAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;QACpE,MAAM,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC7C,IAAI,CAAC;YAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAClB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAA2B,eAAe,EAAE,CAAA;AAEhF,MAAM,CAAC,MAAM,wBAAwB,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAA;AAEzE,MAAM,CAAC,MAAM,eAAe,GAAG,wBAAwB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;AAElE,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,OAAO,CAAA;AACzD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,OAAO,OAAO,IAAI,uBAAuB,CAAA;AAC3C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,YAAoB;IACjD,OAAO,uBAAuB,CAAC,YAAY,CAAC,CAAA;AAC9C,CAAC"}
@@ -1,58 +1,39 @@
1
1
  /**
2
2
  * CouchDB Version Maps
3
3
  *
4
- * TEMPORARY: This version map will be replaced by the hostdb npm package once published.
5
- * Until then, manually keep this in sync with robertjbass/hostdb releases.json:
6
- * https://github.com/robertjbass/hostdb/blob/main/releases.json
7
- *
8
- * When updating versions:
9
- * 1. Check hostdb releases.json for available versions
10
- * 2. Update COUCHDB_VERSION_MAP to match
4
+ * Thin wrapper around the `hostdb` npm package. See engines/sqlite/version-maps.ts
5
+ * for the architecture rationale hostdb is the single source of truth.
11
6
  */
7
+ import { resolveVersion as hostdbResolveVersion, getSupportedMajorVersions, listVersions, } from 'hostdb';
12
8
  import { logDebug } from '../../core/error-handler.js';
13
- /**
14
- * Map of major CouchDB versions to their latest stable patch versions.
15
- * Must match versions available in hostdb releases.json.
16
- */
17
- export const COUCHDB_VERSION_MAP = {
18
- // 1-part: major version -> latest
19
- '3': '3.5.1',
20
- // 2-part: major.minor -> latest patch
21
- '3.5': '3.5.1',
22
- // 3-part: exact version (identity mapping)
23
- '3.5.1': '3.5.1',
24
- };
25
- /**
26
- * Supported major CouchDB versions (1-part format).
27
- * Used for grouping and display purposes.
28
- */
29
- export const SUPPORTED_MAJOR_VERSIONS = ['3'];
30
- /**
31
- * Get the full version string for a major version.
32
- *
33
- * @param majorVersion - Major version (e.g., '3')
34
- * @returns Full version string (e.g., '3.5.1') or null if not supported
35
- */
9
+ const ENGINE = 'couchdb';
10
+ function buildVersionMap() {
11
+ const map = {};
12
+ for (const major of getSupportedMajorVersions(ENGINE)) {
13
+ const r = hostdbResolveVersion(ENGINE, major);
14
+ if (r)
15
+ map[major] = r;
16
+ }
17
+ for (const minor of listVersions(ENGINE, { format: 'major-minor' })) {
18
+ const r = hostdbResolveVersion(ENGINE, minor);
19
+ if (r)
20
+ map[minor] = r;
21
+ }
22
+ for (const full of listVersions(ENGINE, { format: 'full' })) {
23
+ map[full] = full;
24
+ }
25
+ return map;
26
+ }
27
+ export const COUCHDB_VERSION_MAP = buildVersionMap();
28
+ export const SUPPORTED_MAJOR_VERSIONS = getSupportedMajorVersions(ENGINE);
36
29
  export function getFullVersion(majorVersion) {
37
- return COUCHDB_VERSION_MAP[majorVersion] || null;
30
+ return hostdbResolveVersion(ENGINE, majorVersion);
38
31
  }
39
- /**
40
- * Normalize a version string to X.Y.Z format.
41
- *
42
- * @param version - Version string (e.g., '3', '3.5', '3.5.1')
43
- * @returns Normalized version (e.g., '3.5.1')
44
- */
45
32
  export function normalizeVersion(version) {
46
- // If it's in the version map (major, major.minor, or full version), return the mapped value
47
- // Note: Full versions have identity mappings (e.g., '3.5.1' => '3.5.1')
48
- const fullVersion = COUCHDB_VERSION_MAP[version];
49
- if (fullVersion) {
50
- return fullVersion;
51
- }
52
- // Unknown version - warn and return as-is
53
- // This may cause download failures if the version doesn't exist in hostdb
33
+ const resolved = hostdbResolveVersion(ENGINE, version);
34
+ if (resolved)
35
+ return resolved;
54
36
  const parts = version.split('.');
55
- // Validate format: must be 1-3 numeric segments (e.g., "3", "3.5", "3.5.1")
56
37
  const isValidFormat = parts.length >= 1 &&
57
38
  parts.length <= 3 &&
58
39
  parts.every((p) => /^\d+$/.test(p));
@@ -60,7 +41,7 @@ export function normalizeVersion(version) {
60
41
  logDebug(`CouchDB version '${version}' has invalid format, may not be available in hostdb`);
61
42
  }
62
43
  else {
63
- logDebug(`CouchDB version '${version}' not in version map, may not be available in hostdb`);
44
+ logDebug(`CouchDB version '${version}' not in hostdb, may not be available for download`);
64
45
  }
65
46
  return version;
66
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/couchdb/version-maps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD,kCAAkC;IAClC,GAAG,EAAE,OAAO;IACZ,sCAAsC;IACtC,KAAK,EAAE,OAAO;IACd,2CAA2C;IAC3C,OAAO,EAAE,OAAO;CACjB,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,GAAG,CAAC,CAAA;AAE7C;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,YAAoB;IACjD,OAAO,mBAAmB,CAAC,YAAY,CAAC,IAAI,IAAI,CAAA;AAClD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,4FAA4F;IAC5F,wEAAwE;IACxE,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAChD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,0CAA0C;IAC1C,0EAA0E;IAC1E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEhC,4EAA4E;IAC5E,MAAM,aAAa,GACjB,KAAK,CAAC,MAAM,IAAI,CAAC;QACjB,KAAK,CAAC,MAAM,IAAI,CAAC;QACjB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAErC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,QAAQ,CACN,oBAAoB,OAAO,sDAAsD,CAClF,CAAA;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,CACN,oBAAoB,OAAO,sDAAsD,CAClF,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/couchdb/version-maps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,cAAc,IAAI,oBAAoB,EACtC,yBAAyB,EACzB,YAAY,GACb,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,MAAM,MAAM,GAAG,SAAS,CAAA;AAExB,SAAS,eAAe;IACtB,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAK,MAAM,KAAK,IAAI,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;QACtD,MAAM,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC7C,IAAI,CAAC;YAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;QACpE,MAAM,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC7C,IAAI,CAAC;YAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAClB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAA2B,eAAe,EAAE,CAAA;AAE5E,MAAM,CAAC,MAAM,wBAAwB,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAA;AAEzE,MAAM,UAAU,cAAc,CAAC,YAAoB;IACjD,OAAO,oBAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;AACnD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAE7B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChC,MAAM,aAAa,GACjB,KAAK,CAAC,MAAM,IAAI,CAAC;QACjB,KAAK,CAAC,MAAM,IAAI,CAAC;QACjB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAErC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,QAAQ,CACN,oBAAoB,OAAO,sDAAsD,CAClF,CAAA;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,CACN,oBAAoB,OAAO,oDAAoD,CAChF,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -38,6 +38,9 @@ export class DuckDBEngine extends BaseEngine {
38
38
  getBinaryUrl(version, platform, arch) {
39
39
  return getBinaryUrl(version, platform, arch);
40
40
  }
41
+ resolveFullVersion(version) {
42
+ return normalizeVersion(version);
43
+ }
41
44
  async verifyBinary() {
42
45
  return this.isBinaryInstalled('1');
43
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../engines/duckdb/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../engines/duckdb/index.ts"],"names":[],"mappings":"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"}
@@ -1,59 +1,39 @@
1
1
  /**
2
2
  * DuckDB Version Maps
3
3
  *
4
- * TEMPORARY: This version map will be replaced by the hostdb npm package once published.
5
- * Until then, manually keep this in sync with robertjbass/hostdb releases.json:
6
- * https://github.com/robertjbass/hostdb/blob/main/releases.json
7
- *
8
- * When updating versions:
9
- * 1. Check hostdb releases.json for available versions
10
- * 2. Update DUCKDB_VERSION_MAP to match
4
+ * Thin wrapper around the `hostdb` npm package. See engines/sqlite/version-maps.ts
5
+ * for the architecture rationale hostdb is the single source of truth.
11
6
  */
7
+ import { resolveVersion as hostdbResolveVersion, getSupportedMajorVersions, listVersions, } from 'hostdb';
12
8
  import { logDebug } from '../../core/error-handler.js';
13
- /**
14
- * Map of major DuckDB versions to their latest stable patch versions.
15
- * Must match versions available in hostdb releases.json.
16
- */
17
- export const DUCKDB_VERSION_MAP = {
18
- // 1-part: major version → latest
19
- '1': '1.4.4',
20
- // 2-part: major.minor → latest patch
21
- '1.4': '1.4.4',
22
- // 3-part: exact version (identity mapping)
23
- '1.4.3': '1.4.3',
24
- '1.4.4': '1.4.4',
25
- };
26
- /**
27
- * Supported major DuckDB versions (1-part format).
28
- * Used for grouping and display purposes.
29
- */
30
- export const SUPPORTED_MAJOR_VERSIONS = ['1'];
31
- /**
32
- * Get the full version string for a major version.
33
- *
34
- * @param majorVersion - Major version (e.g., '1')
35
- * @returns Full version string (e.g., '1.4.3') or null if not supported
36
- */
9
+ const ENGINE = 'duckdb';
10
+ function buildVersionMap() {
11
+ const map = {};
12
+ for (const major of getSupportedMajorVersions(ENGINE)) {
13
+ const r = hostdbResolveVersion(ENGINE, major);
14
+ if (r)
15
+ map[major] = r;
16
+ }
17
+ for (const minor of listVersions(ENGINE, { format: 'major-minor' })) {
18
+ const r = hostdbResolveVersion(ENGINE, minor);
19
+ if (r)
20
+ map[minor] = r;
21
+ }
22
+ for (const full of listVersions(ENGINE, { format: 'full' })) {
23
+ map[full] = full;
24
+ }
25
+ return map;
26
+ }
27
+ export const DUCKDB_VERSION_MAP = buildVersionMap();
28
+ export const SUPPORTED_MAJOR_VERSIONS = getSupportedMajorVersions(ENGINE);
37
29
  export function getFullVersion(majorVersion) {
38
- return DUCKDB_VERSION_MAP[majorVersion] || null;
30
+ return hostdbResolveVersion(ENGINE, majorVersion);
39
31
  }
40
- /**
41
- * Normalize a version string to X.Y.Z format.
42
- *
43
- * @param version - Version string (e.g., '1', '1.4', '1.4.3')
44
- * @returns Normalized version (e.g., '1.4.3')
45
- */
46
32
  export function normalizeVersion(version) {
47
- // If it's a version key in the map (major, major.minor, or full), return the mapped version
48
- // Identity mappings for 3-part versions (e.g., '1.4.3' -> '1.4.3') are already in the map
49
- const fullVersion = DUCKDB_VERSION_MAP[version];
50
- if (fullVersion) {
51
- return fullVersion;
52
- }
53
- // Unknown version - validate format and log at debug level
54
- // This may cause download failures if the version doesn't exist in hostdb
33
+ const resolved = hostdbResolveVersion(ENGINE, version);
34
+ if (resolved)
35
+ return resolved;
55
36
  const parts = version.split('.');
56
- // Validate format: must be 1-3 numeric segments (e.g., "1", "1.4", "1.4.3")
57
37
  const isValidFormat = parts.length >= 1 &&
58
38
  parts.length <= 3 &&
59
39
  parts.every((p) => /^\d+$/.test(p));
@@ -61,7 +41,7 @@ export function normalizeVersion(version) {
61
41
  logDebug(`DuckDB version '${version}' has invalid format, may not be available in hostdb`);
62
42
  }
63
43
  else {
64
- logDebug(`DuckDB version '${version}' not in version map, may not be available in hostdb`);
44
+ logDebug(`DuckDB version '${version}' not in hostdb, may not be available for download`);
65
45
  }
66
46
  return version;
67
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/duckdb/version-maps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA2B;IACxD,iCAAiC;IACjC,GAAG,EAAE,OAAO;IACZ,qCAAqC;IACrC,KAAK,EAAE,OAAO;IACd,2CAA2C;IAC3C,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,OAAO;CACjB,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,GAAG,CAAC,CAAA;AAE7C;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,YAAoB;IACjD,OAAO,kBAAkB,CAAC,YAAY,CAAC,IAAI,IAAI,CAAA;AACjD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,4FAA4F;IAC5F,0FAA0F;IAC1F,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC/C,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,2DAA2D;IAC3D,0EAA0E;IAC1E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEhC,4EAA4E;IAC5E,MAAM,aAAa,GACjB,KAAK,CAAC,MAAM,IAAI,CAAC;QACjB,KAAK,CAAC,MAAM,IAAI,CAAC;QACjB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAErC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,QAAQ,CACN,mBAAmB,OAAO,sDAAsD,CACjF,CAAA;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,CACN,mBAAmB,OAAO,sDAAsD,CACjF,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/duckdb/version-maps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,cAAc,IAAI,oBAAoB,EACtC,yBAAyB,EACzB,YAAY,GACb,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,MAAM,MAAM,GAAG,QAAQ,CAAA;AAEvB,SAAS,eAAe;IACtB,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAK,MAAM,KAAK,IAAI,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;QACtD,MAAM,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC7C,IAAI,CAAC;YAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;QACpE,MAAM,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC7C,IAAI,CAAC;YAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAClB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAA2B,eAAe,EAAE,CAAA;AAE3E,MAAM,CAAC,MAAM,wBAAwB,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAA;AAEzE,MAAM,UAAU,cAAc,CAAC,YAAoB;IACjD,OAAO,oBAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;AACnD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAE7B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChC,MAAM,aAAa,GACjB,KAAK,CAAC,MAAM,IAAI,CAAC;QACjB,KAAK,CAAC,MAAM,IAAI,CAAC;QACjB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAErC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,QAAQ,CACN,mBAAmB,OAAO,sDAAsD,CACjF,CAAA;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,CACN,mBAAmB,OAAO,oDAAoD,CAC/E,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}