spindb 0.61.7 → 0.62.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 (74) hide show
  1. package/README.md +7 -0
  2. package/dist/cli/commands/create.js +14 -1
  3. package/dist/cli/commands/create.js.map +1 -1
  4. package/dist/cli/commands/engines.js +14 -0
  5. package/dist/cli/commands/engines.js.map +1 -1
  6. package/dist/cli/ui/prompts.js +26 -7
  7. package/dist/cli/ui/prompts.js.map +1 -1
  8. package/dist/config/paths.js +5 -24
  9. package/dist/config/paths.js.map +1 -1
  10. package/dist/config/version.js +1 -1
  11. package/dist/core/base-server-binary-manager.js +6 -0
  12. package/dist/core/base-server-binary-manager.js.map +1 -1
  13. package/dist/core/credential-generator.js +1 -1
  14. package/dist/core/credential-generator.js.map +1 -1
  15. package/dist/core/hostdb-client.js.map +1 -1
  16. package/dist/core/hostdb-metadata.js +40 -0
  17. package/dist/core/hostdb-metadata.js.map +1 -1
  18. package/dist/core/hostdb-releases-factory.js +22 -1
  19. package/dist/core/hostdb-releases-factory.js.map +1 -1
  20. package/dist/core/version-migration.js +16 -3
  21. package/dist/core/version-migration.js.map +1 -1
  22. package/dist/core/version-utils.js +51 -0
  23. package/dist/core/version-utils.js.map +1 -1
  24. package/dist/engines/base-engine.js +8 -0
  25. package/dist/engines/base-engine.js.map +1 -1
  26. package/dist/engines/clickhouse/version-maps.js +10 -17
  27. package/dist/engines/clickhouse/version-maps.js.map +1 -1
  28. package/dist/engines/cockroachdb/version-maps.js +3 -19
  29. package/dist/engines/cockroachdb/version-maps.js.map +1 -1
  30. package/dist/engines/couchdb/version-maps.js +3 -19
  31. package/dist/engines/couchdb/version-maps.js.map +1 -1
  32. package/dist/engines/duckdb/version-maps.js +3 -19
  33. package/dist/engines/duckdb/version-maps.js.map +1 -1
  34. package/dist/engines/ferretdb/version-maps.js +2 -18
  35. package/dist/engines/ferretdb/version-maps.js.map +1 -1
  36. package/dist/engines/influxdb/version-maps.js +3 -19
  37. package/dist/engines/influxdb/version-maps.js.map +1 -1
  38. package/dist/engines/libsql/version-maps.js +3 -19
  39. package/dist/engines/libsql/version-maps.js.map +1 -1
  40. package/dist/engines/mariadb/version-maps.js +3 -19
  41. package/dist/engines/mariadb/version-maps.js.map +1 -1
  42. package/dist/engines/meilisearch/version-maps.js +3 -19
  43. package/dist/engines/meilisearch/version-maps.js.map +1 -1
  44. package/dist/engines/mongodb/version-maps.js +3 -19
  45. package/dist/engines/mongodb/version-maps.js.map +1 -1
  46. package/dist/engines/mysql/version-maps.js +3 -19
  47. package/dist/engines/mysql/version-maps.js.map +1 -1
  48. package/dist/engines/postgresql/binary-manager.js +9 -2
  49. package/dist/engines/postgresql/binary-manager.js.map +1 -1
  50. package/dist/engines/postgresql/index.js +3 -2
  51. package/dist/engines/postgresql/index.js.map +1 -1
  52. package/dist/engines/postgresql/version-maps.js +3 -19
  53. package/dist/engines/postgresql/version-maps.js.map +1 -1
  54. package/dist/engines/qdrant/version-maps.js +3 -19
  55. package/dist/engines/qdrant/version-maps.js.map +1 -1
  56. package/dist/engines/questdb/version-maps.js +3 -19
  57. package/dist/engines/questdb/version-maps.js.map +1 -1
  58. package/dist/engines/redis/version-maps.js +3 -19
  59. package/dist/engines/redis/version-maps.js.map +1 -1
  60. package/dist/engines/sqlite/version-maps.js +3 -19
  61. package/dist/engines/sqlite/version-maps.js.map +1 -1
  62. package/dist/engines/surrealdb/version-maps.js +3 -19
  63. package/dist/engines/surrealdb/version-maps.js.map +1 -1
  64. package/dist/engines/tigerbeetle/version-maps.js +3 -19
  65. package/dist/engines/tigerbeetle/version-maps.js.map +1 -1
  66. package/dist/engines/typedb/version-maps.js +3 -19
  67. package/dist/engines/typedb/version-maps.js.map +1 -1
  68. package/dist/engines/valkey/version-maps.js +3 -19
  69. package/dist/engines/valkey/version-maps.js.map +1 -1
  70. package/dist/engines/version-map-builder.js +33 -0
  71. package/dist/engines/version-map-builder.js.map +1 -0
  72. package/dist/engines/weaviate/version-maps.js +3 -19
  73. package/dist/engines/weaviate/version-maps.js.map +1 -1
  74. package/package.json +2 -2
@@ -68,6 +68,57 @@ export function compareVersions(a, b) {
68
68
  export function isNewerVersion(versionA, versionB) {
69
69
  return compareVersions(versionA, versionB) > 0;
70
70
  }
71
+ /**
72
+ * Parse a prerelease version string into its components.
73
+ *
74
+ * Accepts two shapes:
75
+ * - hostdb canonical form: "19.0.0-beta.1" (X.Y.Z-type.N)
76
+ * - upstream self-reported form: "19beta1" (X<type>N, e.g. `postgres --version`)
77
+ *
78
+ * Returns null for GA versions and any string that is not a recognised
79
+ * prerelease.
80
+ */
81
+ export function parsePrereleaseVersion(version) {
82
+ const canonical = version.match(/^(\d+)(?:\.\d+)*-(alpha|beta|rc)\.(\d+)$/);
83
+ if (canonical) {
84
+ return {
85
+ major: parseInt(canonical[1], 10),
86
+ type: canonical[2],
87
+ num: parseInt(canonical[3], 10),
88
+ };
89
+ }
90
+ const reported = version.match(/^(\d+)(alpha|beta|rc)(\d+)$/);
91
+ if (reported) {
92
+ return {
93
+ major: parseInt(reported[1], 10),
94
+ type: reported[2],
95
+ num: parseInt(reported[3], 10),
96
+ };
97
+ }
98
+ return null;
99
+ }
100
+ /**
101
+ * Return true if a version string is a prerelease (alpha/beta/rc), in either
102
+ * the canonical "19.0.0-beta.1" or self-reported "19beta1" form.
103
+ */
104
+ export function isPrereleaseVersion(version) {
105
+ return parsePrereleaseVersion(version) !== null;
106
+ }
107
+ /**
108
+ * Verify that an expected prerelease version matches a binary's self-reported
109
+ * version. This bridges hostdb's canonical form ("19.0.0-beta.1") and the
110
+ * upstream form a server reports ("19beta1").
111
+ *
112
+ * Returns false when either side is not a prerelease so GA verification is
113
+ * never loosened.
114
+ */
115
+ export function prereleaseVersionMatches(expected, reported) {
116
+ const e = parsePrereleaseVersion(expected);
117
+ const r = parsePrereleaseVersion(reported);
118
+ if (!e || !r)
119
+ return false;
120
+ return e.major === r.major && e.type === r.type && e.num === r.num;
121
+ }
71
122
  /**
72
123
  * Regex pattern for validating semver-like version strings.
73
124
  * Matches: X, X.Y, or X.Y.Z where each component is numeric.
@@ -1 +1 @@
1
- {"version":3,"file":"version-utils.js","sourceRoot":"","sources":["../../core/version-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"version-utils.js","sourceRoot":"","sources":["../../core/version-utils.ts"],"names":[],"mappings":"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"}
@@ -158,6 +158,14 @@ export class BaseEngine {
158
158
  async fetchDeprecatedVersions() {
159
159
  return new Set();
160
160
  }
161
+ /**
162
+ * Fetch the map of prerelease version strings to their release channel
163
+ * (alpha/beta/rc) from hostdb. Prereleases are opt-in: they are downloadable
164
+ * but never the default or "latest" pick.
165
+ */
166
+ async fetchPrereleaseVersions() {
167
+ return new Map();
168
+ }
161
169
  /**
162
170
  * Terminate all active connections to a database.
163
171
  * Required before dropping a database that may have active connections.
@@ -1 +1 @@
1
- {"version":3,"file":"base-engine.js","sourceRoot":"","sources":["../../engines/base-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-engine.js","sourceRoot":"","sources":["../../engines/base-engine.ts"],"names":[],"mappings":"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"}
@@ -8,26 +8,19 @@
8
8
  * is the major-minor key used everywhere in spindb. SUPPORTED_MAJOR_VERSIONS
9
9
  * is 2-part to preserve that convention; '25' still resolves via the MAP.
10
10
  */
11
- import { resolveVersion as hostdbResolveVersion, getSupportedMajorVersions, listVersions, } from 'hostdb';
11
+ import { resolveVersion as hostdbResolveVersion, listVersions } from 'hostdb';
12
+ import { buildVersionMap as buildBaseVersionMap } from '../version-map-builder.js';
12
13
  import { logDebug } from '../../core/error-handler.js';
13
14
  const ENGINE = 'clickhouse';
14
15
  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.
16
+ const map = buildBaseVersionMap(ENGINE);
17
+ // ClickHouse 4-part full versions have a 3-part prefix (e.g., 25.12.3) that
18
+ // should also resolve. Add 3-part prefix to the MAP for spindb's existing
19
+ // identity-match call paths.
20
+ for (const full of listVersions(ENGINE, {
21
+ format: 'full',
22
+ includePrerelease: true,
23
+ })) {
31
24
  const parts = full.split('.');
32
25
  if (parts.length === 4) {
33
26
  const threePartPrefix = `${parts[0]}.${parts[1]}.${parts[2]}`;
@@ -1 +1 @@
1
- {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/clickhouse/version-maps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/clickhouse/version-maps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,cAAc,IAAI,oBAAoB,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAC7E,OAAO,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,MAAM,MAAM,GAAG,YAAY,CAAA;AAE3B,SAAS,eAAe;IACtB,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;IACvC,4EAA4E;IAC5E,0EAA0E;IAC1E,6BAA6B;IAC7B,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,MAAM,EAAE;QACtC,MAAM,EAAE,MAAM;QACd,iBAAiB,EAAE,IAAI;KACxB,CAAC,EAAE,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,eAAe,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;YAC7D,MAAM,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;YACvD,IAAI,CAAC;gBAAE,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAA2B,eAAe,EAAE,CAAA;AAE/E,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC,MAAM,EAAE;IAC3D,MAAM,EAAE,aAAa;CACtB,CAAC,CAAA;AAEF,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAC9C,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,uBAAuB,OAAO,sDAAsD,CACrF,CAAA;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,CACN,uBAAuB,OAAO,oDAAoD,CACnF,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,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"}
@@ -4,26 +4,10 @@
4
4
  * Thin wrapper around the `hostdb` npm package. See engines/sqlite/version-maps.ts
5
5
  * for the architecture rationale — hostdb is the single source of truth.
6
6
  */
7
- import { resolveVersion as hostdbResolveVersion, getSupportedMajorVersions, listVersions, } from 'hostdb';
7
+ import { resolveVersion as hostdbResolveVersion, getSupportedMajorVersions, } from 'hostdb';
8
+ import { buildVersionMap } from '../version-map-builder.js';
8
9
  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();
10
+ export const COCKROACHDB_VERSION_MAP = buildVersionMap(ENGINE);
27
11
  export const SUPPORTED_MAJOR_VERSIONS = getSupportedMajorVersions(ENGINE);
28
12
  export const DEFAULT_VERSION = SUPPORTED_MAJOR_VERSIONS[0] ?? '25';
29
13
  export function normalizeVersion(version) {
@@ -1 +1 @@
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
+ {"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,GAC1B,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,MAAM,MAAM,GAAG,aAAa,CAAA;AAE5B,MAAM,CAAC,MAAM,uBAAuB,GAA2B,eAAe,CAAC,MAAM,CAAC,CAAA;AAEtF,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"}
@@ -4,27 +4,11 @@
4
4
  * Thin wrapper around the `hostdb` npm package. See engines/sqlite/version-maps.ts
5
5
  * for the architecture rationale — hostdb is the single source of truth.
6
6
  */
7
- import { resolveVersion as hostdbResolveVersion, getSupportedMajorVersions, listVersions, } from 'hostdb';
7
+ import { resolveVersion as hostdbResolveVersion, getSupportedMajorVersions, } from 'hostdb';
8
+ import { buildVersionMap } from '../version-map-builder.js';
8
9
  import { logDebug } from '../../core/error-handler.js';
9
10
  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();
11
+ export const COUCHDB_VERSION_MAP = buildVersionMap(ENGINE);
28
12
  export const SUPPORTED_MAJOR_VERSIONS = getSupportedMajorVersions(ENGINE);
29
13
  export function getFullVersion(majorVersion) {
30
14
  return hostdbResolveVersion(ENGINE, majorVersion);
@@ -1 +1 @@
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"}
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,GAC1B,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,MAAM,MAAM,GAAG,SAAS,CAAA;AAExB,MAAM,CAAC,MAAM,mBAAmB,GAA2B,eAAe,CAAC,MAAM,CAAC,CAAA;AAElF,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"}
@@ -4,27 +4,11 @@
4
4
  * Thin wrapper around the `hostdb` npm package. See engines/sqlite/version-maps.ts
5
5
  * for the architecture rationale — hostdb is the single source of truth.
6
6
  */
7
- import { resolveVersion as hostdbResolveVersion, getSupportedMajorVersions, listVersions, } from 'hostdb';
7
+ import { resolveVersion as hostdbResolveVersion, getSupportedMajorVersions, } from 'hostdb';
8
+ import { buildVersionMap } from '../version-map-builder.js';
8
9
  import { logDebug } from '../../core/error-handler.js';
9
10
  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();
11
+ export const DUCKDB_VERSION_MAP = buildVersionMap(ENGINE);
28
12
  export const SUPPORTED_MAJOR_VERSIONS = getSupportedMajorVersions(ENGINE);
29
13
  export function getFullVersion(majorVersion) {
30
14
  return hostdbResolveVersion(ENGINE, majorVersion);
@@ -1 +1 @@
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"}
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,GAC1B,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,MAAM,MAAM,GAAG,QAAQ,CAAA;AAEvB,MAAM,CAAC,MAAM,kBAAkB,GAA2B,eAAe,CAAC,MAAM,CAAC,CAAA;AAEjF,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"}
@@ -10,27 +10,11 @@
10
10
  * v1.x uses plain PostgreSQL as backend (all platforms incl. Windows)
11
11
  * v2.x uses postgresql-documentdb as backend (macOS/Linux only)
12
12
  */
13
- import { resolveVersion as hostdbResolveVersion, getSupportedMajorVersions, listVersions, } from 'hostdb';
13
+ import { resolveVersion as hostdbResolveVersion, getSupportedMajorVersions, } from 'hostdb';
14
+ import { buildVersionMap } from '../version-map-builder.js';
14
15
  import { logDebug } from '../../core/error-handler.js';
15
16
  const ENGINE = 'ferretdb';
16
17
  const DOCUMENTDB_ENGINE = 'postgresql-documentdb';
17
- function buildVersionMap(engine) {
18
- const map = {};
19
- for (const major of getSupportedMajorVersions(engine)) {
20
- const r = hostdbResolveVersion(engine, major);
21
- if (r)
22
- map[major] = r;
23
- }
24
- for (const minor of listVersions(engine, { format: 'major-minor' })) {
25
- const r = hostdbResolveVersion(engine, minor);
26
- if (r)
27
- map[minor] = r;
28
- }
29
- for (const full of listVersions(engine, { format: 'full' })) {
30
- map[full] = full;
31
- }
32
- return map;
33
- }
34
18
  export const FERRETDB_VERSION_MAP = buildVersionMap(ENGINE);
35
19
  export const DOCUMENTDB_VERSION_MAP = buildVersionMap(DOCUMENTDB_ENGINE);
36
20
  export const SUPPORTED_MAJOR_VERSIONS = getSupportedMajorVersions(ENGINE);
@@ -1 +1 @@
1
- {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/ferretdb/version-maps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;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,UAAU,CAAA;AACzB,MAAM,iBAAiB,GAAG,uBAAuB,CAAA;AAEjD,SAAS,eAAe,CAAC,MAAc;IACrC,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,oBAAoB,GAC/B,eAAe,CAAC,MAAM,CAAC,CAAA;AAEzB,MAAM,CAAC,MAAM,sBAAsB,GACjC,eAAe,CAAC,iBAAiB,CAAC,CAAA;AAEpC,MAAM,CAAC,MAAM,wBAAwB,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAA;AAEzE,MAAM,CAAC,MAAM,0BAA0B,GACrC,oBAAoB,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,YAAY,CAAA;AAE/D,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,CAAA;AAEjD,MAAM,CAAC,MAAM,oBAAoB,GAA2B;IAC1D,GAAG,oBAAoB;CACxB,CAAA;AAED,MAAM,UAAU,IAAI,CAAC,OAAe;IAClC,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC5C,OAAO,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAC9C,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;IAC7B,QAAQ,CACN,qBAAqB,OAAO,oDAAoD,CACjF,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAe;IACxD,OAAO,oBAAoB,CAAC,iBAAiB,EAAE,OAAO,CAAC,IAAI,OAAO,CAAA;AACpE,CAAC"}
1
+ {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/ferretdb/version-maps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,cAAc,IAAI,oBAAoB,EACtC,yBAAyB,GAC1B,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,MAAM,MAAM,GAAG,UAAU,CAAA;AACzB,MAAM,iBAAiB,GAAG,uBAAuB,CAAA;AAEjD,MAAM,CAAC,MAAM,oBAAoB,GAC/B,eAAe,CAAC,MAAM,CAAC,CAAA;AAEzB,MAAM,CAAC,MAAM,sBAAsB,GACjC,eAAe,CAAC,iBAAiB,CAAC,CAAA;AAEpC,MAAM,CAAC,MAAM,wBAAwB,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAA;AAEzE,MAAM,CAAC,MAAM,0BAA0B,GACrC,oBAAoB,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,YAAY,CAAA;AAE/D,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,CAAA;AAEjD,MAAM,CAAC,MAAM,oBAAoB,GAA2B;IAC1D,GAAG,oBAAoB;CACxB,CAAA;AAED,MAAM,UAAU,IAAI,CAAC,OAAe;IAClC,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC5C,OAAO,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAC9C,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;IAC7B,QAAQ,CACN,qBAAqB,OAAO,oDAAoD,CACjF,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAe;IACxD,OAAO,oBAAoB,CAAC,iBAAiB,EAAE,OAAO,CAAC,IAAI,OAAO,CAAA;AACpE,CAAC"}
@@ -4,27 +4,11 @@
4
4
  * Thin wrapper around the `hostdb` npm package. See engines/sqlite/version-maps.ts
5
5
  * for the architecture rationale — hostdb is the single source of truth.
6
6
  */
7
- import { resolveVersion as hostdbResolveVersion, getSupportedMajorVersions, listVersions, } from 'hostdb';
7
+ import { resolveVersion as hostdbResolveVersion, getSupportedMajorVersions, } from 'hostdb';
8
+ import { buildVersionMap } from '../version-map-builder.js';
8
9
  import { logDebug } from '../../core/error-handler.js';
9
10
  const ENGINE = 'influxdb';
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 INFLUXDB_VERSION_MAP = buildVersionMap();
11
+ export const INFLUXDB_VERSION_MAP = buildVersionMap(ENGINE);
28
12
  export const SUPPORTED_MAJOR_VERSIONS = getSupportedMajorVersions(ENGINE);
29
13
  export function getFullVersion(majorVersion) {
30
14
  return hostdbResolveVersion(ENGINE, majorVersion);
@@ -1 +1 @@
1
- {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/influxdb/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,UAAU,CAAA;AAEzB,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,oBAAoB,GAA2B,eAAe,EAAE,CAAA;AAE7E,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,qBAAqB,OAAO,sDAAsD,CACnF,CAAA;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,CACN,qBAAqB,OAAO,oDAAoD,CACjF,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/influxdb/version-maps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,cAAc,IAAI,oBAAoB,EACtC,yBAAyB,GAC1B,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,MAAM,MAAM,GAAG,UAAU,CAAA;AAEzB,MAAM,CAAC,MAAM,oBAAoB,GAA2B,eAAe,CAAC,MAAM,CAAC,CAAA;AAEnF,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,qBAAqB,OAAO,sDAAsD,CACnF,CAAA;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,CACN,qBAAqB,OAAO,oDAAoD,CACjF,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -4,27 +4,11 @@
4
4
  * Thin wrapper around the `hostdb` npm package. See engines/sqlite/version-maps.ts
5
5
  * for the architecture rationale — hostdb is the single source of truth.
6
6
  */
7
- import { resolveVersion as hostdbResolveVersion, getSupportedMajorVersions, listVersions, } from 'hostdb';
7
+ import { resolveVersion as hostdbResolveVersion, getSupportedMajorVersions, } from 'hostdb';
8
+ import { buildVersionMap } from '../version-map-builder.js';
8
9
  import { logDebug } from '../../core/error-handler.js';
9
10
  const ENGINE = 'libsql';
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 LIBSQL_VERSION_MAP = buildVersionMap();
11
+ export const LIBSQL_VERSION_MAP = buildVersionMap(ENGINE);
28
12
  export const SUPPORTED_MAJOR_VERSIONS = getSupportedMajorVersions(ENGINE);
29
13
  export function getFullVersion(majorVersion) {
30
14
  return hostdbResolveVersion(ENGINE, majorVersion);
@@ -1 +1 @@
1
- {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/libsql/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"}
1
+ {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/libsql/version-maps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,cAAc,IAAI,oBAAoB,EACtC,yBAAyB,GAC1B,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,MAAM,MAAM,GAAG,QAAQ,CAAA;AAEvB,MAAM,CAAC,MAAM,kBAAkB,GAA2B,eAAe,CAAC,MAAM,CAAC,CAAA;AAEjF,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"}
@@ -9,27 +9,11 @@
9
9
  * groups patch versions under their major.minor LTS line. 1-part keys like
10
10
  * '10' and '11' are still resolvable via the MAP (LTS-pick).
11
11
  */
12
- import { resolveVersion as hostdbResolveVersion, getSupportedMajorVersions, listVersions, } from 'hostdb';
12
+ import { resolveVersion as hostdbResolveVersion, listVersions, } from 'hostdb';
13
+ import { buildVersionMap } from '../version-map-builder.js';
13
14
  import { logDebug } from '../../core/error-handler.js';
14
15
  const ENGINE = 'mariadb';
15
- function buildVersionMap() {
16
- const map = {};
17
- for (const major of getSupportedMajorVersions(ENGINE)) {
18
- const r = hostdbResolveVersion(ENGINE, major);
19
- if (r)
20
- map[major] = r;
21
- }
22
- for (const minor of listVersions(ENGINE, { format: 'major-minor' })) {
23
- const r = hostdbResolveVersion(ENGINE, minor);
24
- if (r)
25
- map[minor] = r;
26
- }
27
- for (const full of listVersions(ENGINE, { format: 'full' })) {
28
- map[full] = full;
29
- }
30
- return map;
31
- }
32
- export const MARIADB_VERSION_MAP = buildVersionMap();
16
+ export const MARIADB_VERSION_MAP = buildVersionMap(ENGINE);
33
17
  export const SUPPORTED_MAJOR_VERSIONS = listVersions(ENGINE, {
34
18
  format: 'major-minor',
35
19
  });
@@ -1 +1 @@
1
- {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/mariadb/version-maps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;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,YAAY,CAAC,MAAM,EAAE;IAC3D,MAAM,EAAE,aAAa;CACtB,CAAC,CAAA;AAEF,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;IAC7B,QAAQ,CACN,oBAAoB,OAAO,oDAAoD,CAChF,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/mariadb/version-maps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,cAAc,IAAI,oBAAoB,EACtC,YAAY,GACb,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,MAAM,MAAM,GAAG,SAAS,CAAA;AAExB,MAAM,CAAC,MAAM,mBAAmB,GAA2B,eAAe,CAAC,MAAM,CAAC,CAAA;AAElF,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC,MAAM,EAAE;IAC3D,MAAM,EAAE,aAAa;CACtB,CAAC,CAAA;AAEF,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;IAC7B,QAAQ,CACN,oBAAoB,OAAO,oDAAoD,CAChF,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -4,27 +4,11 @@
4
4
  * Thin wrapper around the `hostdb` npm package. See engines/sqlite/version-maps.ts
5
5
  * for the architecture rationale — hostdb is the single source of truth.
6
6
  */
7
- import { resolveVersion as hostdbResolveVersion, getSupportedMajorVersions, listVersions, } from 'hostdb';
7
+ import { resolveVersion as hostdbResolveVersion, getSupportedMajorVersions, } from 'hostdb';
8
+ import { buildVersionMap } from '../version-map-builder.js';
8
9
  import { logDebug } from '../../core/error-handler.js';
9
10
  const ENGINE = 'meilisearch';
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 MEILISEARCH_VERSION_MAP = buildVersionMap();
11
+ export const MEILISEARCH_VERSION_MAP = buildVersionMap(ENGINE);
28
12
  export const SUPPORTED_MAJOR_VERSIONS = getSupportedMajorVersions(ENGINE);
29
13
  export function getFullVersion(majorVersion) {
30
14
  return hostdbResolveVersion(ENGINE, majorVersion);
@@ -1 +1 @@
1
- {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/meilisearch/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,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,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,wBAAwB,OAAO,sDAAsD,CACtF,CAAA;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,CACN,wBAAwB,OAAO,oDAAoD,CACpF,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/meilisearch/version-maps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,cAAc,IAAI,oBAAoB,EACtC,yBAAyB,GAC1B,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,MAAM,MAAM,GAAG,aAAa,CAAA;AAE5B,MAAM,CAAC,MAAM,uBAAuB,GAA2B,eAAe,CAAC,MAAM,CAAC,CAAA;AAEtF,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,wBAAwB,OAAO,sDAAsD,CACtF,CAAA;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,CACN,wBAAwB,OAAO,oDAAoD,CACpF,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -8,27 +8,11 @@
8
8
  * convention used by `core/version-migration.ts:getMajorVersion()`. 1-part
9
9
  * keys '7' and '8' still resolve via the MAP (LTS-pick: '8' → 8.0.23, not 8.2.9).
10
10
  */
11
- import { resolveVersion as hostdbResolveVersion, getSupportedMajorVersions, listVersions, } from 'hostdb';
11
+ import { resolveVersion as hostdbResolveVersion, listVersions, } from 'hostdb';
12
+ import { buildVersionMap } from '../version-map-builder.js';
12
13
  import { logDebug } from '../../core/error-handler.js';
13
14
  const ENGINE = 'mongodb';
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
- }
29
- return map;
30
- }
31
- export const MONGODB_VERSION_MAP = buildVersionMap();
15
+ export const MONGODB_VERSION_MAP = buildVersionMap(ENGINE);
32
16
  export const SUPPORTED_MAJOR_VERSIONS = listVersions(ENGINE, {
33
17
  format: 'major-minor',
34
18
  });
@@ -1 +1 @@
1
- {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/mongodb/version-maps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;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,YAAY,CAAC,MAAM,EAAE;IAC3D,MAAM,EAAE,aAAa;CACtB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAA2B,mBAAmB,CAAA;AAE/E,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;IAC7B,QAAQ,CACN,oBAAoB,OAAO,oDAAoD,CAChF,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/mongodb/version-maps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,cAAc,IAAI,oBAAoB,EACtC,YAAY,GACb,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,MAAM,MAAM,GAAG,SAAS,CAAA;AAExB,MAAM,CAAC,MAAM,mBAAmB,GAA2B,eAAe,CAAC,MAAM,CAAC,CAAA;AAElF,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC,MAAM,EAAE;IAC3D,MAAM,EAAE,aAAa;CACtB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAA2B,mBAAmB,CAAA;AAE/E,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;IAC7B,QAAQ,CACN,oBAAoB,OAAO,oDAAoD,CAChF,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -12,27 +12,11 @@
12
12
  * containers keep working — hostdb's `enabled !== false` check keeps them in
13
13
  * the available-versions list; only `enabled: false` removes a version entirely.
14
14
  */
15
- import { resolveVersion as hostdbResolveVersion, getSupportedMajorVersions, listVersions, } from 'hostdb';
15
+ import { resolveVersion as hostdbResolveVersion, listVersions, } from 'hostdb';
16
+ import { buildVersionMap } from '../version-map-builder.js';
16
17
  import { logDebug } from '../../core/error-handler.js';
17
18
  const ENGINE = 'mysql';
18
- function buildVersionMap() {
19
- const map = {};
20
- for (const major of getSupportedMajorVersions(ENGINE)) {
21
- const r = hostdbResolveVersion(ENGINE, major);
22
- if (r)
23
- map[major] = r;
24
- }
25
- for (const minor of listVersions(ENGINE, { format: 'major-minor' })) {
26
- const r = hostdbResolveVersion(ENGINE, minor);
27
- if (r)
28
- map[minor] = r;
29
- }
30
- for (const full of listVersions(ENGINE, { format: 'full' })) {
31
- map[full] = full;
32
- }
33
- return map;
34
- }
35
- export const MYSQL_VERSION_MAP = buildVersionMap();
19
+ export const MYSQL_VERSION_MAP = buildVersionMap(ENGINE);
36
20
  export const SUPPORTED_MAJOR_VERSIONS = listVersions(ENGINE, {
37
21
  format: 'major-minor',
38
22
  });
@@ -1 +1 @@
1
- {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/mysql/version-maps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;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,OAAO,CAAA;AAEtB,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,iBAAiB,GAA2B,eAAe,EAAE,CAAA;AAE1E,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC,MAAM,EAAE;IAC3D,MAAM,EAAE,aAAa;CACtB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAA2B,iBAAiB,CAAA;AAE7E,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,kBAAkB,OAAO,sDAAsD,CAChF,CAAA;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,CACN,kBAAkB,OAAO,oDAAoD,CAC9E,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/mysql/version-maps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,cAAc,IAAI,oBAAoB,EACtC,YAAY,GACb,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,MAAM,MAAM,GAAG,OAAO,CAAA;AAEtB,MAAM,CAAC,MAAM,iBAAiB,GAA2B,eAAe,CAAC,MAAM,CAAC,CAAA;AAEhF,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC,MAAM,EAAE;IAC3D,MAAM,EAAE,aAAa;CACtB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAA2B,iBAAiB,CAAA;AAE7E,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,kBAAkB,OAAO,sDAAsD,CAChF,CAAA;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,CACN,kBAAkB,OAAO,oDAAoD,CAC9E,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -13,6 +13,7 @@ import { paths } from '../../config/paths.js';
13
13
  import { spawnAsync } from '../../core/spawn-utils.js';
14
14
  import { getBinaryUrl } from './binary-urls.js';
15
15
  import { normalizeVersion } from './version-maps.js';
16
+ import { prereleaseVersionMatches } from '../../core/version-utils.js';
16
17
  import { Engine, Platform } from '../../types/index.js';
17
18
  class PostgreSQLBinaryManager extends BaseServerBinaryManager {
18
19
  config = {
@@ -28,8 +29,9 @@ class PostgreSQLBinaryManager extends BaseServerBinaryManager {
28
29
  return normalizeVersion(version);
29
30
  }
30
31
  parseVersionFromOutput(stdout) {
31
- // Extract version from output like "postgres (PostgreSQL) 18.1"
32
- const match = stdout.match(/postgres \(PostgreSQL\) ([\d.]+)/);
32
+ // Extract version from output like "postgres (PostgreSQL) 18.1" or a
33
+ // prerelease like "postgres (PostgreSQL) 19beta1".
34
+ const match = stdout.match(/postgres \(PostgreSQL\) ([\d.]+(?:(?:alpha|beta|rc)\d+)?)/);
33
35
  return match?.[1] ?? null;
34
36
  }
35
37
  /**
@@ -78,6 +80,11 @@ class PostgreSQLBinaryManager extends BaseServerBinaryManager {
78
80
  if (expectedMajorMinor === reportedMajorMinor) {
79
81
  return true;
80
82
  }
83
+ // Prerelease binaries self-report the upstream form (e.g. "19beta1") which
84
+ // maps to hostdb's canonical "19.0.0-beta.1".
85
+ if (prereleaseVersionMatches(fullVersion, reportedVersion)) {
86
+ return true;
87
+ }
81
88
  throw new Error(`Version mismatch: expected ${fullVersion}, got ${reportedVersion}`);
82
89
  }
83
90
  }