spindb 0.49.0 → 0.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) 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/version-maps.js +43 -55
  29. package/dist/engines/clickhouse/version-maps.js.map +1 -1
  30. package/dist/engines/cockroachdb/version-maps.js +26 -25
  31. package/dist/engines/cockroachdb/version-maps.js.map +1 -1
  32. package/dist/engines/couchdb/version-maps.js +28 -47
  33. package/dist/engines/couchdb/version-maps.js.map +1 -1
  34. package/dist/engines/duckdb/index.js +3 -0
  35. package/dist/engines/duckdb/index.js.map +1 -1
  36. package/dist/engines/duckdb/version-maps.js +28 -48
  37. package/dist/engines/duckdb/version-maps.js.map +1 -1
  38. package/dist/engines/ferretdb/version-maps.js +39 -115
  39. package/dist/engines/ferretdb/version-maps.js.map +1 -1
  40. package/dist/engines/influxdb/version-maps.js +28 -44
  41. package/dist/engines/influxdb/version-maps.js.map +1 -1
  42. package/dist/engines/libsql/version-maps.js +28 -43
  43. package/dist/engines/libsql/version-maps.js.map +1 -1
  44. package/dist/engines/mariadb/version-maps.js +34 -54
  45. package/dist/engines/mariadb/version-maps.js.map +1 -1
  46. package/dist/engines/meilisearch/version-maps.js +28 -49
  47. package/dist/engines/meilisearch/version-maps.js.map +1 -1
  48. package/dist/engines/mongodb/version-maps.js +34 -70
  49. package/dist/engines/mongodb/version-maps.js.map +1 -1
  50. package/dist/engines/mysql/version-maps.js +37 -65
  51. package/dist/engines/mysql/version-maps.js.map +1 -1
  52. package/dist/engines/postgresql/version-maps.js +28 -71
  53. package/dist/engines/postgresql/version-maps.js.map +1 -1
  54. package/dist/engines/qdrant/version-maps.js +28 -47
  55. package/dist/engines/qdrant/version-maps.js.map +1 -1
  56. package/dist/engines/questdb/version-maps.js +24 -25
  57. package/dist/engines/questdb/version-maps.js.map +1 -1
  58. package/dist/engines/redis/version-maps.js +28 -51
  59. package/dist/engines/redis/version-maps.js.map +1 -1
  60. package/dist/engines/sqlite/index.js +3 -0
  61. package/dist/engines/sqlite/index.js.map +1 -1
  62. package/dist/engines/sqlite/version-maps.js +32 -47
  63. package/dist/engines/sqlite/version-maps.js.map +1 -1
  64. package/dist/engines/surrealdb/version-maps.js +26 -24
  65. package/dist/engines/surrealdb/version-maps.js.map +1 -1
  66. package/dist/engines/tigerbeetle/version-maps.js +32 -47
  67. package/dist/engines/tigerbeetle/version-maps.js.map +1 -1
  68. package/dist/engines/typedb/version-maps.js +30 -27
  69. package/dist/engines/typedb/version-maps.js.map +1 -1
  70. package/dist/engines/valkey/version-maps.js +28 -52
  71. package/dist/engines/valkey/version-maps.js.map +1 -1
  72. package/dist/engines/weaviate/version-maps.js +28 -47
  73. package/dist/engines/weaviate/version-maps.js.map +1 -1
  74. package/package.json +4 -2
@@ -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"}
@@ -1,135 +1,59 @@
1
1
  /**
2
- * FerretDB version mapping
2
+ * FerretDB 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
- * FerretDB v2 requires two binaries:
9
- * - ferretdb: The MongoDB-compatible proxy
10
- * - postgresql-documentdb: PostgreSQL 17 with DocumentDB extension
11
- *
12
- * FerretDB v1 requires:
13
- * - ferretdb: The MongoDB-compatible proxy
14
- * - Plain PostgreSQL (reuses postgresqlBinaryManager)
15
- *
16
- * To update: Check releases.json, find databases.ferretdb,
17
- * copy all version strings (both v1.x and v2.x are under the same engine).
18
- */
19
- import { logDebug } from '../../core/error-handler.js';
20
- import { compareVersions } from '../../core/version-utils.js';
21
- /**
22
- * Map major versions to full versions for FerretDB proxy
23
- * Keys are major versions (e.g., "1", "2")
24
- * Values are full versions from hostdb releases.json
7
+ * FerretDB has two engines in hostdb: 'ferretdb' (the proxy) and
8
+ * 'postgresql-documentdb' (the v2 backend). Both are looked up here.
25
9
  *
26
10
  * v1.x uses plain PostgreSQL as backend (all platforms incl. Windows)
27
11
  * v2.x uses postgresql-documentdb as backend (macOS/Linux only)
28
12
  */
29
- export const FERRETDB_VERSION_MAP = {
30
- // v1: uses plain PostgreSQL backend
31
- '1': '1.24.2',
32
- '1.24': '1.24.2',
33
- '1.24.2': '1.24.2',
34
- // v2: uses postgresql-documentdb backend
35
- '2': '2.7.0',
36
- '2.7': '2.7.0',
37
- '2.7.0': '2.7.0',
38
- };
39
- /**
40
- * Map for postgresql-documentdb backend versions
41
- * Format: postgresql-{pg_version}-{documentdb_version}
42
- * e.g., "17-0.107.0" means PostgreSQL 17 with DocumentDB extension 0.107.0
43
- */
44
- export const DOCUMENTDB_VERSION_MAP = {
45
- // Default backend version
46
- '17': '17-0.107.0',
47
- // Full version (identity)
48
- '17-0.107.0': '17-0.107.0',
49
- };
50
- /**
51
- * Supported major FerretDB versions (1-part format).
52
- * Used for grouping and display purposes.
53
- */
54
- export const SUPPORTED_MAJOR_VERSIONS = ['1', '2'];
55
- /**
56
- * Default postgresql-documentdb version to use with FerretDB v2
57
- */
58
- export const DEFAULT_DOCUMENTDB_VERSION = '17-0.107.0';
59
- /**
60
- * Default PostgreSQL version to use as backend for FerretDB v1
61
- * v1 uses plain PostgreSQL (no DocumentDB extension needed)
62
- */
13
+ import { resolveVersion as hostdbResolveVersion, getSupportedMajorVersions, listVersions, } from 'hostdb';
14
+ import { logDebug } from '../../core/error-handler.js';
15
+ const ENGINE = 'ferretdb';
16
+ 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
+ export const FERRETDB_VERSION_MAP = buildVersionMap(ENGINE);
35
+ export const DOCUMENTDB_VERSION_MAP = buildVersionMap(DOCUMENTDB_ENGINE);
36
+ export const SUPPORTED_MAJOR_VERSIONS = getSupportedMajorVersions(ENGINE);
37
+ export const DEFAULT_DOCUMENTDB_VERSION = hostdbResolveVersion(DOCUMENTDB_ENGINE, '17') ?? '17-0.107.0';
63
38
  export const DEFAULT_V1_POSTGRESQL_VERSION = '17';
64
- /**
65
- * Check if a FerretDB version is v1.x (uses plain PostgreSQL backend)
66
- * vs v2.x (uses postgresql-documentdb backend)
67
- *
68
- * @param version - Version string (can be major, major.minor, or full)
69
- * @returns true if the version is v1.x
70
- */
39
+ export const FALLBACK_VERSION_MAP = {
40
+ ...FERRETDB_VERSION_MAP,
41
+ };
71
42
  export function isV1(version) {
72
43
  const normalized = normalizeVersion(version);
73
44
  return normalized.startsWith('1.');
74
45
  }
75
- /**
76
- * Fallback map of major versions to stable patch versions
77
- * Used when hostdb repository is unreachable.
78
- * Spread into a new object so it can diverge from FERRETDB_VERSION_MAP if needed.
79
- */
80
- export const FALLBACK_VERSION_MAP = {
81
- ...FERRETDB_VERSION_MAP,
82
- };
83
- /**
84
- * Get the full version for a FerretDB version string
85
- * @param version - Version string (e.g., "2", "2.7", "2.7.0")
86
- * @returns Full version or null if not found
87
- */
88
46
  export function getFullVersion(version) {
89
- // Try exact match first
90
- if (FERRETDB_VERSION_MAP[version]) {
91
- return FERRETDB_VERSION_MAP[version];
92
- }
93
- // Try matching major only (e.g., "2" -> highest 2.x version)
94
- const majorOnly = version.split('.')[0];
95
- const matchingVersions = Object.entries(FERRETDB_VERSION_MAP)
96
- .filter(([key]) => key.split('.')[0] === majorOnly)
97
- .sort(([, aValue], [, bValue]) => compareVersions(bValue, aValue)); // Sort descending by full semver value
98
- if (matchingVersions.length > 0) {
99
- return matchingVersions[0][1];
100
- }
101
- return null;
47
+ return hostdbResolveVersion(ENGINE, version);
102
48
  }
103
- /**
104
- * Normalize a version string to a full version
105
- * @param version - Version string (major, major.minor, or full)
106
- * @returns Full version string
107
- */
108
49
  export function normalizeVersion(version) {
109
- // If already a full version (x.y.z), return as-is
110
- if (/^\d+\.\d+\.\d+$/.test(version)) {
111
- return version;
112
- }
113
- // Delegate to getFullVersion for major/major.minor lookup
114
- const fullVersion = getFullVersion(version);
115
- if (fullVersion) {
116
- return fullVersion;
117
- }
118
- // Unknown version format - log debug and return as-is
119
- // This may cause download failures if the version doesn't exist in hostdb
120
- logDebug(`FerretDB version '${version}' not in version map, may not be available in hostdb`);
50
+ const resolved = hostdbResolveVersion(ENGINE, version);
51
+ if (resolved)
52
+ return resolved;
53
+ logDebug(`FerretDB version '${version}' not in hostdb, may not be available for download`);
121
54
  return version;
122
55
  }
123
- /**
124
- * Normalize a postgresql-documentdb version string
125
- * @param version - Version string (e.g., "17", "17-0.107.0")
126
- * @returns Full version string (e.g., "17-0.107.0")
127
- */
128
56
  export function normalizeDocumentDBVersion(version) {
129
- if (DOCUMENTDB_VERSION_MAP[version]) {
130
- return DOCUMENTDB_VERSION_MAP[version];
131
- }
132
- // Return as-is if not found
133
- return version;
57
+ return hostdbResolveVersion(DOCUMENTDB_ENGINE, version) ?? version;
134
58
  }
135
59
  //# sourceMappingURL=version-maps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/ferretdb/version-maps.ts"],"names":[],"mappings":"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"}
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,GAA2B,eAAe,CAAC,MAAM,CAAC,CAAA;AAEnF,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,54 +1,38 @@
1
1
  /**
2
2
  * InfluxDB 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 INFLUXDB_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 InfluxDB versions to their latest stable patch versions.
15
- * Must match versions available in hostdb releases.json.
16
- */
17
- export const INFLUXDB_VERSION_MAP = {
18
- // 1-part: major version -> latest
19
- '3': '3.8.0',
20
- // 2-part: major.minor -> latest patch
21
- '3.8': '3.8.0',
22
- // 3-part: exact version (identity mapping)
23
- '3.8.0': '3.8.0',
24
- };
25
- /**
26
- * Supported major InfluxDB 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.8.0') or null if not supported
35
- */
9
+ 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();
28
+ export const SUPPORTED_MAJOR_VERSIONS = getSupportedMajorVersions(ENGINE);
36
29
  export function getFullVersion(majorVersion) {
37
- return INFLUXDB_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.8', '3.8.0')
43
- * @returns Normalized version (e.g., '3.8.0')
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
- const fullVersion = INFLUXDB_VERSION_MAP[version];
48
- if (fullVersion) {
49
- return fullVersion;
50
- }
51
- // Unknown version - warn and return as-is
33
+ const resolved = hostdbResolveVersion(ENGINE, version);
34
+ if (resolved)
35
+ return resolved;
52
36
  const parts = version.split('.');
53
37
  const isValidFormat = parts.length >= 1 &&
54
38
  parts.length <= 3 &&
@@ -57,7 +41,7 @@ export function normalizeVersion(version) {
57
41
  logDebug(`InfluxDB version '${version}' has invalid format, may not be available in hostdb`);
58
42
  }
59
43
  else {
60
- logDebug(`InfluxDB version '${version}' not in version map, may not be available in hostdb`);
44
+ logDebug(`InfluxDB version '${version}' not in hostdb, may not be available for download`);
61
45
  }
62
46
  return version;
63
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"version-maps.js","sourceRoot":"","sources":["../../../engines/influxdb/version-maps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA2B;IAC1D,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,oBAAoB,CAAC,YAAY,CAAC,IAAI,IAAI,CAAA;AACnD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,4FAA4F;IAC5F,MAAM,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;IACjD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,0CAA0C;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEhC,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,sDAAsD,CACnF,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,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"}