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
@@ -3,364 +3,395 @@
3
3
  "engines": {
4
4
  "postgresql": {
5
5
  "displayName": "PostgreSQL",
6
- "icon": "🐘",
6
+ "icon": "\ud83d\udc18",
7
7
  "status": "integrated",
8
8
  "binarySource": "hostdb",
9
- "supportedVersions": ["15.15.0", "16.11.0", "17.7.0", "18.1.0"],
10
- "defaultVersion": "18.1.0",
11
9
  "defaultPort": 5432,
12
10
  "runtime": "server",
13
11
  "queryLanguage": "sql",
14
12
  "scriptFileLabel": "Run SQL file",
15
13
  "connectionScheme": "postgresql",
16
14
  "superuser": "postgres",
17
- "clientTools": ["psql", "pg_dump", "pg_restore"],
15
+ "clientTools": [
16
+ "psql",
17
+ "pg_dump",
18
+ "pg_restore"
19
+ ],
18
20
  "notes": "Windows uses EDB binaries instead of hostdb"
19
21
  },
20
22
  "mysql": {
21
23
  "displayName": "MySQL",
22
- "icon": "🐬",
24
+ "icon": "\ud83d\udc2c",
23
25
  "status": "integrated",
24
26
  "binarySource": "hostdb",
25
- "supportedVersions": ["8.4.3", "9.6.0"],
26
- "defaultVersion": "8.4.3",
27
27
  "defaultPort": 3306,
28
28
  "runtime": "server",
29
29
  "queryLanguage": "sql",
30
30
  "scriptFileLabel": "Run SQL file",
31
31
  "connectionScheme": "mysql",
32
32
  "superuser": "root",
33
- "clientTools": ["mysql", "mysqldump", "mysqladmin"],
33
+ "clientTools": [
34
+ "mysql",
35
+ "mysqldump",
36
+ "mysqladmin"
37
+ ],
34
38
  "licensing": "commercial"
35
39
  },
36
40
  "mariadb": {
37
41
  "displayName": "MariaDB",
38
- "icon": "🦭",
42
+ "icon": "\ud83e\uddad",
39
43
  "status": "integrated",
40
44
  "binarySource": "hostdb",
41
- "supportedVersions": ["10.11.15", "11.4.5", "11.8.5"],
42
- "defaultVersion": "11.8.5",
43
45
  "defaultPort": 3307,
44
46
  "runtime": "server",
45
47
  "queryLanguage": "sql",
46
48
  "scriptFileLabel": "Run SQL file",
47
49
  "connectionScheme": "mysql",
48
50
  "superuser": "root",
49
- "clientTools": ["mariadb", "mariadb-dump", "mariadb-admin"]
51
+ "clientTools": [
52
+ "mariadb",
53
+ "mariadb-dump",
54
+ "mariadb-admin"
55
+ ]
50
56
  },
51
57
  "sqlite": {
52
58
  "displayName": "SQLite",
53
- "icon": "🪶",
59
+ "icon": "\ud83e\udeb6",
54
60
  "status": "integrated",
55
61
  "binarySource": "hostdb",
56
- "supportedVersions": ["3.51.2"],
57
- "defaultVersion": "3.51.2",
58
62
  "defaultPort": null,
59
63
  "runtime": "embedded",
60
64
  "queryLanguage": "sql",
61
65
  "scriptFileLabel": "Run SQL file",
62
66
  "connectionScheme": "sqlite",
63
67
  "superuser": null,
64
- "clientTools": ["sqlite3", "sqldiff", "sqlite3_analyzer", "sqlite3_rsync"]
68
+ "clientTools": [
69
+ "sqlite3",
70
+ "sqldiff",
71
+ "sqlite3_analyzer",
72
+ "sqlite3_rsync"
73
+ ]
65
74
  },
66
75
  "duckdb": {
67
76
  "displayName": "DuckDB",
68
- "icon": "🦆",
77
+ "icon": "\ud83e\udd86",
69
78
  "status": "integrated",
70
79
  "binarySource": "hostdb",
71
- "supportedVersions": ["1.4.3"],
72
- "defaultVersion": "1.4.3",
73
80
  "defaultPort": null,
74
81
  "runtime": "embedded",
75
82
  "queryLanguage": "sql",
76
83
  "scriptFileLabel": "Run SQL file",
77
84
  "connectionScheme": "duckdb",
78
85
  "superuser": null,
79
- "clientTools": ["duckdb"],
86
+ "clientTools": [
87
+ "duckdb"
88
+ ],
80
89
  "licensing": "MIT",
81
90
  "notes": "Embedded OLAP database optimized for analytical queries. File-based like SQLite."
82
91
  },
83
92
  "mongodb": {
84
93
  "displayName": "MongoDB",
85
- "icon": "🍃",
94
+ "icon": "\ud83c\udf43",
86
95
  "status": "integrated",
87
96
  "binarySource": "hostdb",
88
- "supportedVersions": ["7.0.28", "8.0.17", "8.2.3"],
89
- "defaultVersion": "8.0.17",
90
97
  "defaultPort": 27017,
91
98
  "runtime": "server",
92
99
  "queryLanguage": "javascript",
93
100
  "scriptFileLabel": "Run script file",
94
101
  "connectionScheme": "mongodb",
95
102
  "superuser": null,
96
- "clientTools": ["mongod", "mongosh", "mongodump", "mongorestore"],
103
+ "clientTools": [
104
+ "mongod",
105
+ "mongosh",
106
+ "mongodump",
107
+ "mongorestore"
108
+ ],
97
109
  "licensing": "commercial"
98
110
  },
99
111
  "redis": {
100
112
  "displayName": "Redis",
101
- "icon": "🔴",
113
+ "icon": "\ud83d\udd34",
102
114
  "status": "integrated",
103
115
  "binarySource": "hostdb",
104
- "supportedVersions": ["7.4.7", "8.4.0"],
105
- "defaultVersion": "8.4.0",
106
116
  "defaultPort": 6379,
107
117
  "runtime": "server",
108
118
  "queryLanguage": "redis",
109
119
  "scriptFileLabel": "Run command file",
110
120
  "connectionScheme": "redis",
111
121
  "superuser": null,
112
- "clientTools": ["redis-server", "redis-cli"],
113
- "licensing": ["RSALv2", "SSPLv1", "AGPLv3"]
122
+ "clientTools": [
123
+ "redis-server",
124
+ "redis-cli"
125
+ ],
126
+ "licensing": [
127
+ "RSALv2",
128
+ "SSPLv1",
129
+ "AGPLv3"
130
+ ]
114
131
  },
115
132
  "valkey": {
116
133
  "displayName": "Valkey",
117
- "icon": "🔷",
134
+ "icon": "\ud83d\udd37",
118
135
  "status": "integrated",
119
136
  "binarySource": "hostdb",
120
- "supportedVersions": ["8.0.6", "9.0.1"],
121
- "defaultVersion": "9.0.1",
122
137
  "defaultPort": 6379,
123
138
  "runtime": "server",
124
139
  "queryLanguage": "redis",
125
140
  "scriptFileLabel": "Run command file",
126
141
  "connectionScheme": "redis",
127
142
  "superuser": null,
128
- "clientTools": ["valkey-server", "valkey-cli"],
143
+ "clientTools": [
144
+ "valkey-server",
145
+ "valkey-cli"
146
+ ],
129
147
  "licensing": "BSD-3-Clause",
130
148
  "notes": "Redis fork with permissive licensing. Shares default port 6379 with Redis; port conflicts are resolved automatically."
131
149
  },
132
150
  "clickhouse": {
133
151
  "displayName": "ClickHouse",
134
- "icon": "🏠",
152
+ "icon": "\ud83c\udfe0",
135
153
  "status": "integrated",
136
154
  "binarySource": "hostdb",
137
- "supportedVersions": ["25.12.3.21"],
138
- "defaultVersion": "25.12.3.21",
139
155
  "defaultPort": 9000,
140
156
  "runtime": "server",
141
157
  "queryLanguage": "sql",
142
158
  "scriptFileLabel": "Run SQL file",
143
159
  "connectionScheme": "clickhouse",
144
160
  "superuser": "default",
145
- "clientTools": ["clickhouse"],
161
+ "clientTools": [
162
+ "clickhouse"
163
+ ],
146
164
  "licensing": "Apache-2.0",
147
165
  "notes": "Column-oriented OLAP database. Uses YY.MM.X.build versioning. Native port 9000, HTTP port 8123. WSL only on Windows.",
148
- "platforms": ["darwin-arm64", "darwin-x64", "linux-arm64", "linux-x64"]
166
+ "platforms": [
167
+ "darwin-arm64",
168
+ "darwin-x64",
169
+ "linux-arm64",
170
+ "linux-x64"
171
+ ]
149
172
  },
150
173
  "qdrant": {
151
174
  "displayName": "Qdrant",
152
- "icon": "🧭",
175
+ "icon": "\ud83e\udded",
153
176
  "status": "integrated",
154
177
  "binarySource": "hostdb",
155
- "supportedVersions": ["1.16.3"],
156
- "defaultVersion": "1.16.3",
157
178
  "defaultPort": 6333,
158
179
  "runtime": "server",
159
180
  "queryLanguage": "rest",
160
181
  "scriptFileLabel": null,
161
182
  "connectionScheme": "http",
162
183
  "superuser": null,
163
- "clientTools": ["qdrant"],
184
+ "clientTools": [
185
+ "qdrant"
186
+ ],
164
187
  "licensing": "Apache-2.0",
165
188
  "notes": "Vector similarity search engine. REST API on port 6333, gRPC on 6334. Uses collections instead of databases."
166
189
  },
167
190
  "meilisearch": {
168
191
  "displayName": "Meilisearch",
169
- "icon": "🔍",
192
+ "icon": "\ud83d\udd0d",
170
193
  "status": "integrated",
171
194
  "binarySource": "hostdb",
172
- "supportedVersions": ["1.33.1"],
173
- "defaultVersion": "1.33.1",
174
195
  "defaultPort": 7700,
175
196
  "runtime": "server",
176
197
  "queryLanguage": "rest",
177
198
  "scriptFileLabel": null,
178
199
  "connectionScheme": "http",
179
200
  "superuser": null,
180
- "clientTools": ["meilisearch"],
201
+ "clientTools": [
202
+ "meilisearch"
203
+ ],
181
204
  "licensing": "MIT",
182
205
  "notes": "Full-text search engine. REST API on port 7700. Uses indexes instead of databases."
183
206
  },
184
207
  "ferretdb": {
185
208
  "displayName": "FerretDB",
186
- "icon": "🦔",
209
+ "icon": "\ud83e\udd94",
187
210
  "status": "integrated",
188
211
  "binarySource": "hostdb",
189
- "supportedVersions": ["1.24.2", "2.7.0"],
190
- "defaultVersion": "2.7.0",
191
212
  "defaultPort": 27017,
192
213
  "runtime": "server",
193
214
  "queryLanguage": "javascript",
194
215
  "scriptFileLabel": "Run script file",
195
216
  "connectionScheme": "mongodb",
196
217
  "superuser": null,
197
- "clientTools": ["ferretdb", "mongosh", "mongodump", "mongorestore"],
218
+ "clientTools": [
219
+ "ferretdb",
220
+ "mongosh",
221
+ "mongodump",
222
+ "mongorestore"
223
+ ],
198
224
  "licensing": "Apache-2.0",
199
- "notes": "MongoDB-compatible proxy. v2 uses postgresql-documentdb (macOS/Linux). v1 uses plain PostgreSQL (all platforms incl. Windows).",
200
- "versionPlatforms": {
201
- "1.24.2": [
202
- "darwin-arm64",
203
- "darwin-x64",
204
- "linux-arm64",
205
- "linux-x64",
206
- "win32-x64"
207
- ],
208
- "2.7.0": ["darwin-arm64", "darwin-x64", "linux-arm64", "linux-x64"]
209
- }
225
+ "notes": "MongoDB-compatible proxy. v2 uses postgresql-documentdb (macOS/Linux). v1 uses plain PostgreSQL (all platforms incl. Windows)."
210
226
  },
211
227
  "couchdb": {
212
228
  "displayName": "CouchDB",
213
- "icon": "🛋",
229
+ "icon": "\ud83d\udecb",
214
230
  "status": "integrated",
215
231
  "binarySource": "hostdb",
216
- "supportedVersions": ["3.5.1"],
217
- "defaultVersion": "3.5.1",
218
232
  "defaultPort": 5984,
219
233
  "runtime": "server",
220
234
  "queryLanguage": "rest",
221
235
  "scriptFileLabel": null,
222
236
  "connectionScheme": "http",
223
237
  "superuser": null,
224
- "clientTools": ["couchdb"],
238
+ "clientTools": [
239
+ "couchdb"
240
+ ],
225
241
  "licensing": "Apache-2.0",
226
242
  "notes": "Document database with REST API. Fauxton web UI at /_utils. Uses JSON documents."
227
243
  },
228
244
  "cockroachdb": {
229
245
  "displayName": "CockroachDB",
230
- "icon": "🪳",
246
+ "icon": "\ud83e\udeb3",
231
247
  "status": "integrated",
232
248
  "binarySource": "hostdb",
233
- "supportedVersions": ["25.4.2"],
234
- "defaultVersion": "25.4.2",
235
249
  "defaultPort": 26257,
236
250
  "runtime": "server",
237
251
  "queryLanguage": "sql",
238
252
  "scriptFileLabel": "Run SQL file",
239
253
  "connectionScheme": "postgresql",
240
254
  "superuser": "root",
241
- "clientTools": ["cockroach"],
242
- "licensing": ["BSL", "Apache-2.0"],
255
+ "clientTools": [
256
+ "cockroach"
257
+ ],
258
+ "licensing": [
259
+ "BSL",
260
+ "Apache-2.0"
261
+ ],
243
262
  "notes": "Distributed SQL database with PostgreSQL compatibility. HTTP admin UI at port+1 (default 8080). Single binary handles server and client."
244
263
  },
245
264
  "surrealdb": {
246
265
  "displayName": "SurrealDB",
247
- "icon": "🌀",
266
+ "icon": "\ud83c\udf00",
248
267
  "status": "integrated",
249
268
  "binarySource": "hostdb",
250
- "supportedVersions": ["2.3.2"],
251
- "defaultVersion": "2.3.2",
252
269
  "defaultPort": 8000,
253
270
  "runtime": "server",
254
271
  "queryLanguage": "surrealql",
255
272
  "scriptFileLabel": "Run SurrealQL file",
256
273
  "connectionScheme": "ws",
257
274
  "superuser": "root",
258
- "clientTools": ["surreal"],
259
- "licensing": ["BSL", "Apache-2.0"],
275
+ "clientTools": [
276
+ "surreal"
277
+ ],
278
+ "licensing": [
279
+ "BSL",
280
+ "Apache-2.0"
281
+ ],
260
282
  "notes": "Multi-model database supporting document, graph, and relational data. SurrealQL query language. Uses namespace/database hierarchy."
261
283
  },
262
284
  "questdb": {
263
285
  "displayName": "QuestDB",
264
- "icon": "⏱️",
286
+ "icon": "\u23f1\ufe0f",
265
287
  "status": "integrated",
266
288
  "binarySource": "hostdb",
267
- "supportedVersions": ["9.2.3"],
268
- "defaultVersion": "9.2.3",
269
289
  "defaultPort": 8812,
270
290
  "runtime": "server",
271
291
  "queryLanguage": "sql",
272
292
  "scriptFileLabel": "Run SQL file",
273
293
  "connectionScheme": "postgresql",
274
294
  "superuser": "admin",
275
- "clientTools": ["questdb"],
295
+ "clientTools": [
296
+ "questdb"
297
+ ],
276
298
  "licensing": "Apache-2.0",
277
299
  "notes": "High-performance time-series database. PostgreSQL wire protocol on port 8812. Web Console at port+188. Bundled JRE (no Java required)."
278
300
  },
279
301
  "typedb": {
280
302
  "displayName": "TypeDB",
281
- "icon": "🤖",
303
+ "icon": "\ud83e\udd16",
282
304
  "status": "integrated",
283
305
  "binarySource": "hostdb",
284
- "supportedVersions": ["3.8.0"],
285
- "defaultVersion": "3.8.0",
286
306
  "defaultPort": 1729,
287
307
  "runtime": "server",
288
308
  "queryLanguage": "typeql",
289
309
  "scriptFileLabel": "Run TypeQL file",
290
310
  "connectionScheme": "typedb",
291
311
  "superuser": "admin",
292
- "clientTools": ["typedb", "typedb-console"],
312
+ "clientTools": [
313
+ "typedb",
314
+ "typedb-console"
315
+ ],
293
316
  "licensing": "MPL-2.0",
294
317
  "notes": "Strongly-typed database for knowledge representation and reasoning. TypeQL query language. Main port 1729, HTTP port 8000. Default credentials: admin/password."
295
318
  },
296
319
  "influxdb": {
297
320
  "displayName": "InfluxDB",
298
- "icon": "📈",
321
+ "icon": "\ud83d\udcc8",
299
322
  "status": "integrated",
300
323
  "binarySource": "hostdb",
301
- "supportedVersions": ["3.8.0"],
302
- "defaultVersion": "3.8.0",
303
324
  "defaultPort": 8086,
304
325
  "runtime": "server",
305
326
  "queryLanguage": "rest",
306
327
  "scriptFileLabel": "Run LP/SQL file",
307
328
  "connectionScheme": "http",
308
329
  "superuser": null,
309
- "clientTools": ["influxdb3"],
310
- "licensing": ["Apache-2.0", "MIT"],
330
+ "clientTools": [
331
+ "influxdb3"
332
+ ],
333
+ "licensing": [
334
+ "Apache-2.0",
335
+ "MIT"
336
+ ],
311
337
  "notes": "Purpose-built time-series database with SQL support. InfluxDB 3.x is a Rust rewrite using Apache Arrow/DataFusion. HTTP API on port 8086."
312
338
  },
313
339
  "weaviate": {
314
340
  "displayName": "Weaviate",
315
- "icon": "🔮",
341
+ "icon": "\ud83d\udd2e",
316
342
  "status": "integrated",
317
343
  "binarySource": "hostdb",
318
- "supportedVersions": ["1.35.7"],
319
- "defaultVersion": "1.35.7",
320
344
  "defaultPort": 8080,
321
345
  "runtime": "server",
322
346
  "queryLanguage": "rest",
323
347
  "scriptFileLabel": null,
324
348
  "connectionScheme": "http",
325
349
  "superuser": null,
326
- "clientTools": ["weaviate"],
350
+ "clientTools": [
351
+ "weaviate"
352
+ ],
327
353
  "licensing": "BSD-3-Clause",
328
354
  "notes": "AI-native vector database. REST API on port 8080, gRPC on port+1. Uses classes/collections instead of databases."
329
355
  },
330
356
  "tigerbeetle": {
331
357
  "displayName": "TigerBeetle",
332
- "icon": "🐯",
358
+ "icon": "\ud83d\udc2f",
333
359
  "status": "integrated",
334
360
  "binarySource": "hostdb",
335
- "supportedVersions": ["0.16.70"],
336
- "defaultVersion": "0.16.70",
337
361
  "defaultPort": 3000,
338
362
  "runtime": "server",
339
363
  "queryLanguage": "custom",
340
364
  "scriptFileLabel": null,
341
365
  "connectionScheme": null,
342
366
  "superuser": null,
343
- "clientTools": ["tigerbeetle"],
367
+ "clientTools": [
368
+ "tigerbeetle"
369
+ ],
344
370
  "licensing": "Apache-2.0",
345
371
  "notes": "High-performance financial ledger database. Custom binary protocol, REPL client. Uses --development flag for local dev."
346
372
  },
347
373
  "libsql": {
348
374
  "displayName": "libSQL",
349
- "icon": "📚",
375
+ "icon": "\ud83d\udcda",
350
376
  "status": "in-progress",
351
377
  "binarySource": "hostdb",
352
- "supportedVersions": ["0.24.32"],
353
- "defaultVersion": "0.24.32",
354
378
  "defaultPort": 8080,
355
379
  "runtime": "server",
356
380
  "queryLanguage": "sql",
357
381
  "scriptFileLabel": null,
358
382
  "connectionScheme": "http",
359
383
  "superuser": null,
360
- "clientTools": ["sqld"],
384
+ "clientTools": [
385
+ "sqld"
386
+ ],
361
387
  "licensing": "MIT",
362
388
  "notes": "SQLite fork by Turso with server mode (sqld), HTTP API, replication support. No Windows binaries. Enhanced clients: litecli, usql.",
363
- "platforms": ["darwin-arm64", "darwin-x64", "linux-arm64", "linux-x64"]
389
+ "platforms": [
390
+ "darwin-arm64",
391
+ "darwin-x64",
392
+ "linux-arm64",
393
+ "linux-x64"
394
+ ]
364
395
  }
365
396
  }
366
397
  }
@@ -1,3 +1,3 @@
1
1
  // Auto-generated — do not edit manually
2
- export const VERSION = '0.49.0';
2
+ export const VERSION = '0.50.0';
3
3
  //# sourceMappingURL=version.js.map
@@ -9,6 +9,18 @@ import { getEngineDefaults, getSupportedEngines } from '../config/defaults.js';
9
9
  import { getEngine } from '../engines/index.js';
10
10
  import { sqliteRegistry } from '../engines/sqlite/registry.js';
11
11
  import { duckdbRegistry } from '../engines/duckdb/registry.js';
12
+ // File-based engines (SQLite, DuckDB) don't pin a specific binary version per
13
+ // container — the file format is library-managed and any matching-major
14
+ // version reads any file. But the ContainerConfig type requires a `version`
15
+ // string, so we report the hostdb-resolved full version for the engine's
16
+ // recommended major. This keeps the displayed version consistent with whatever
17
+ // binary spindb would currently use, instead of hardcoding shorthand `'3'` /
18
+ // `'1'` that drifts away from the actual binary.
19
+ function fileBasedEngineVersion(engine) {
20
+ const major = getEngineDefaults(engine).defaultVersion;
21
+ const dbEngine = getEngine(engine);
22
+ return dbEngine.resolveFullVersion(major);
23
+ }
12
24
  import { Engine, isFileBasedEngine, isRemoteContainer } from '../types/index.js';
13
25
  export class ContainerManager {
14
26
  async create(name, options) {
@@ -93,7 +105,7 @@ export class ContainerManager {
93
105
  return {
94
106
  name: entry.name,
95
107
  engine: Engine.SQLite,
96
- version: '3',
108
+ version: fileBasedEngineVersion('sqlite'),
97
109
  port: 0,
98
110
  database: entry.filePath, // For SQLite, database field stores file path
99
111
  databases: [entry.filePath],
@@ -111,7 +123,7 @@ export class ContainerManager {
111
123
  return {
112
124
  name: entry.name,
113
125
  engine: Engine.DuckDB,
114
- version: '1',
126
+ version: fileBasedEngineVersion('duckdb'),
115
127
  port: 0,
116
128
  database: entry.filePath, // For DuckDB, database field stores file path
117
129
  databases: [entry.filePath],
@@ -184,12 +196,13 @@ export class ContainerManager {
184
196
  const containers = [];
185
197
  // List SQLite containers from registry
186
198
  const sqliteEntries = await sqliteRegistry.list();
199
+ const sqliteVersion = fileBasedEngineVersion('sqlite');
187
200
  for (const entry of sqliteEntries) {
188
201
  const fileExists = existsSync(entry.filePath);
189
202
  containers.push({
190
203
  name: entry.name,
191
204
  engine: Engine.SQLite,
192
- version: '3',
205
+ version: sqliteVersion,
193
206
  port: 0,
194
207
  database: entry.filePath,
195
208
  databases: [entry.filePath],
@@ -199,12 +212,13 @@ export class ContainerManager {
199
212
  }
200
213
  // List DuckDB containers from registry
201
214
  const duckdbEntries = await duckdbRegistry.list();
215
+ const duckdbVersion = fileBasedEngineVersion('duckdb');
202
216
  for (const entry of duckdbEntries) {
203
217
  const fileExists = existsSync(entry.filePath);
204
218
  containers.push({
205
219
  name: entry.name,
206
220
  engine: Engine.DuckDB,
207
- version: '1',
221
+ version: duckdbVersion,
208
222
  port: 0,
209
223
  database: entry.filePath,
210
224
  databases: [entry.filePath],