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.
- package/README.md +6 -3
- package/dist/cli/commands/create.js +10 -0
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/engines.js +26 -4
- package/dist/cli/commands/engines.js.map +1 -1
- package/dist/cli/commands/menu/backup-handlers.js +8 -1
- package/dist/cli/commands/menu/backup-handlers.js.map +1 -1
- package/dist/cli/commands/menu/container-handlers.js +9 -1
- package/dist/cli/commands/menu/container-handlers.js.map +1 -1
- package/dist/cli/commands/start.js +24 -1
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/ui/prompts.js +6 -3
- package/dist/cli/ui/prompts.js.map +1 -1
- package/dist/config/engine-defaults.js +25 -26
- package/dist/config/engine-defaults.js.map +1 -1
- package/dist/config/engines-registry.js +0 -46
- package/dist/config/engines-registry.js.map +1 -1
- package/dist/config/engines.json +132 -101
- package/dist/config/version.js +1 -1
- package/dist/core/container-manager.js +18 -4
- package/dist/core/container-manager.js.map +1 -1
- package/dist/core/hostdb-metadata.js +57 -14
- package/dist/core/hostdb-metadata.js.map +1 -1
- package/dist/core/version-utils.js +35 -0
- package/dist/core/version-utils.js.map +1 -1
- package/dist/engines/base-engine.js +12 -0
- package/dist/engines/base-engine.js.map +1 -1
- package/dist/engines/clickhouse/version-maps.js +43 -55
- package/dist/engines/clickhouse/version-maps.js.map +1 -1
- package/dist/engines/cockroachdb/version-maps.js +26 -25
- package/dist/engines/cockroachdb/version-maps.js.map +1 -1
- package/dist/engines/couchdb/version-maps.js +28 -47
- package/dist/engines/couchdb/version-maps.js.map +1 -1
- package/dist/engines/duckdb/index.js +3 -0
- package/dist/engines/duckdb/index.js.map +1 -1
- package/dist/engines/duckdb/version-maps.js +28 -48
- package/dist/engines/duckdb/version-maps.js.map +1 -1
- package/dist/engines/ferretdb/version-maps.js +39 -115
- package/dist/engines/ferretdb/version-maps.js.map +1 -1
- package/dist/engines/influxdb/version-maps.js +28 -44
- package/dist/engines/influxdb/version-maps.js.map +1 -1
- package/dist/engines/libsql/version-maps.js +28 -43
- package/dist/engines/libsql/version-maps.js.map +1 -1
- package/dist/engines/mariadb/version-maps.js +34 -54
- package/dist/engines/mariadb/version-maps.js.map +1 -1
- package/dist/engines/meilisearch/version-maps.js +28 -49
- package/dist/engines/meilisearch/version-maps.js.map +1 -1
- package/dist/engines/mongodb/version-maps.js +34 -70
- package/dist/engines/mongodb/version-maps.js.map +1 -1
- package/dist/engines/mysql/version-maps.js +37 -65
- package/dist/engines/mysql/version-maps.js.map +1 -1
- package/dist/engines/postgresql/version-maps.js +28 -71
- package/dist/engines/postgresql/version-maps.js.map +1 -1
- package/dist/engines/qdrant/version-maps.js +28 -47
- package/dist/engines/qdrant/version-maps.js.map +1 -1
- package/dist/engines/questdb/version-maps.js +24 -25
- package/dist/engines/questdb/version-maps.js.map +1 -1
- package/dist/engines/redis/version-maps.js +28 -51
- package/dist/engines/redis/version-maps.js.map +1 -1
- package/dist/engines/sqlite/index.js +3 -0
- package/dist/engines/sqlite/index.js.map +1 -1
- package/dist/engines/sqlite/version-maps.js +32 -47
- package/dist/engines/sqlite/version-maps.js.map +1 -1
- package/dist/engines/surrealdb/version-maps.js +26 -24
- package/dist/engines/surrealdb/version-maps.js.map +1 -1
- package/dist/engines/tigerbeetle/version-maps.js +32 -47
- package/dist/engines/tigerbeetle/version-maps.js.map +1 -1
- package/dist/engines/typedb/version-maps.js +30 -27
- package/dist/engines/typedb/version-maps.js.map +1 -1
- package/dist/engines/valkey/version-maps.js +28 -52
- package/dist/engines/valkey/version-maps.js.map +1 -1
- package/dist/engines/weaviate/version-maps.js +28 -47
- package/dist/engines/weaviate/version-maps.js.map +1 -1
- package/package.json +4 -2
package/dist/config/engines.json
CHANGED
|
@@ -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": [
|
|
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": [
|
|
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": [
|
|
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": [
|
|
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": [
|
|
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": [
|
|
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": [
|
|
113
|
-
|
|
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": [
|
|
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": [
|
|
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": [
|
|
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": [
|
|
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": [
|
|
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": [
|
|
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": [
|
|
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": [
|
|
242
|
-
|
|
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": [
|
|
259
|
-
|
|
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": [
|
|
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": [
|
|
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": [
|
|
310
|
-
|
|
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": [
|
|
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": [
|
|
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": [
|
|
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": [
|
|
389
|
+
"platforms": [
|
|
390
|
+
"darwin-arm64",
|
|
391
|
+
"darwin-x64",
|
|
392
|
+
"linux-arm64",
|
|
393
|
+
"linux-x64"
|
|
394
|
+
]
|
|
364
395
|
}
|
|
365
396
|
}
|
|
366
397
|
}
|
package/dist/config/version.js
CHANGED
|
@@ -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: '
|
|
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: '
|
|
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:
|
|
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:
|
|
221
|
+
version: duckdbVersion,
|
|
208
222
|
port: 0,
|
|
209
223
|
database: entry.filePath,
|
|
210
224
|
databases: [entry.filePath],
|