spindb 0.37.2 → 0.38.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 (811) hide show
  1. package/dist/cli/bin.js +9 -0
  2. package/dist/cli/bin.js.map +1 -0
  3. package/dist/cli/commands/attach.js +102 -0
  4. package/dist/cli/commands/attach.js.map +1 -0
  5. package/dist/cli/commands/backup.js +197 -0
  6. package/dist/cli/commands/backup.js.map +1 -0
  7. package/dist/cli/commands/backups.js +190 -0
  8. package/dist/cli/commands/backups.js.map +1 -0
  9. package/dist/cli/commands/clone.js +119 -0
  10. package/dist/cli/commands/clone.js.map +1 -0
  11. package/dist/cli/commands/config.js +276 -0
  12. package/dist/cli/commands/config.js.map +1 -0
  13. package/dist/cli/commands/connect.js +559 -0
  14. package/dist/cli/commands/connect.js.map +1 -0
  15. package/dist/cli/commands/create.js +952 -0
  16. package/dist/cli/commands/create.js.map +1 -0
  17. package/dist/cli/commands/databases.js +485 -0
  18. package/dist/cli/commands/databases.js.map +1 -0
  19. package/dist/cli/commands/delete.js +106 -0
  20. package/dist/cli/commands/delete.js.map +1 -0
  21. package/dist/cli/commands/deps.js +238 -0
  22. package/dist/cli/commands/deps.js.map +1 -0
  23. package/dist/cli/commands/detach.js +81 -0
  24. package/dist/cli/commands/detach.js.map +1 -0
  25. package/dist/cli/commands/doctor.js +567 -0
  26. package/dist/cli/commands/doctor.js.map +1 -0
  27. package/dist/cli/commands/duckdb.js +207 -0
  28. package/dist/cli/commands/duckdb.js.map +1 -0
  29. package/dist/cli/commands/edit.js +524 -0
  30. package/dist/cli/commands/edit.js.map +1 -0
  31. package/dist/cli/commands/engines.js +1414 -0
  32. package/dist/cli/commands/engines.js.map +1 -0
  33. package/dist/cli/commands/export.js +383 -0
  34. package/dist/cli/commands/export.js.map +1 -0
  35. package/dist/cli/commands/info.js +270 -0
  36. package/dist/cli/commands/info.js.map +1 -0
  37. package/dist/cli/commands/list.js +215 -0
  38. package/dist/cli/commands/list.js.map +1 -0
  39. package/dist/cli/commands/logs.js +81 -0
  40. package/dist/cli/commands/logs.js.map +1 -0
  41. package/dist/cli/commands/menu/backup-handlers.js +1202 -0
  42. package/dist/cli/commands/menu/backup-handlers.js.map +1 -0
  43. package/dist/cli/commands/menu/container-handlers.js +1788 -0
  44. package/dist/cli/commands/menu/container-handlers.js.map +1 -0
  45. package/dist/cli/commands/menu/engine-handlers.js +235 -0
  46. package/dist/cli/commands/menu/engine-handlers.js.map +1 -0
  47. package/dist/cli/commands/menu/index.js +266 -0
  48. package/dist/cli/commands/menu/index.js.map +1 -0
  49. package/dist/cli/commands/menu/settings-handlers.js +320 -0
  50. package/dist/cli/commands/menu/settings-handlers.js.map +1 -0
  51. package/dist/cli/commands/menu/shared.js +13 -0
  52. package/dist/cli/commands/menu/shared.js.map +1 -0
  53. package/dist/cli/commands/menu/shell-handlers.js +1573 -0
  54. package/dist/cli/commands/menu/shell-handlers.js.map +1 -0
  55. package/dist/cli/commands/menu/sql-handlers.js +185 -0
  56. package/dist/cli/commands/menu/sql-handlers.js.map +1 -0
  57. package/dist/cli/commands/menu/update-handlers.js +322 -0
  58. package/dist/cli/commands/menu/update-handlers.js.map +1 -0
  59. package/dist/cli/commands/menu/validators.js +9 -0
  60. package/dist/cli/commands/menu/validators.js.map +1 -0
  61. package/dist/cli/commands/ports.js +166 -0
  62. package/dist/cli/commands/ports.js.map +1 -0
  63. package/dist/cli/commands/pull.js +166 -0
  64. package/dist/cli/commands/pull.js.map +1 -0
  65. package/dist/cli/commands/query.js +180 -0
  66. package/dist/cli/commands/query.js.map +1 -0
  67. package/dist/cli/commands/restore.js +428 -0
  68. package/dist/cli/commands/restore.js.map +1 -0
  69. package/dist/cli/commands/run.js +115 -0
  70. package/dist/cli/commands/run.js.map +1 -0
  71. package/dist/cli/commands/self-update.js +99 -0
  72. package/dist/cli/commands/self-update.js.map +1 -0
  73. package/dist/cli/commands/sqlite.js +207 -0
  74. package/dist/cli/commands/sqlite.js.map +1 -0
  75. package/dist/cli/commands/start.js +196 -0
  76. package/dist/cli/commands/start.js.map +1 -0
  77. package/dist/cli/commands/stop.js +182 -0
  78. package/dist/cli/commands/stop.js.map +1 -0
  79. package/dist/cli/commands/url.js +88 -0
  80. package/dist/cli/commands/url.js.map +1 -0
  81. package/dist/cli/commands/users.js +189 -0
  82. package/dist/cli/commands/users.js.map +1 -0
  83. package/dist/cli/commands/version.js +52 -0
  84. package/dist/cli/commands/version.js.map +1 -0
  85. package/dist/cli/commands/which.js +258 -0
  86. package/dist/cli/commands/which.js.map +1 -0
  87. package/dist/cli/constants.js +212 -0
  88. package/dist/cli/constants.js.map +1 -0
  89. package/dist/cli/helpers.js +1120 -0
  90. package/dist/cli/helpers.js.map +1 -0
  91. package/dist/cli/index.js +146 -0
  92. package/dist/cli/index.js.map +1 -0
  93. package/dist/cli/ui/prompts.js +1002 -0
  94. package/dist/cli/ui/prompts.js.map +1 -0
  95. package/dist/cli/ui/spinner.js +74 -0
  96. package/dist/cli/ui/spinner.js.map +1 -0
  97. package/dist/cli/ui/theme.js +99 -0
  98. package/dist/cli/ui/theme.js.map +1 -0
  99. package/dist/cli/utils/file-follower.js +79 -0
  100. package/dist/cli/utils/file-follower.js.map +1 -0
  101. package/dist/config/backup-formats.js +363 -0
  102. package/dist/config/backup-formats.js.map +1 -0
  103. package/dist/config/defaults.js +25 -0
  104. package/dist/config/defaults.js.map +1 -0
  105. package/dist/config/engine-defaults.js +303 -0
  106. package/dist/config/engine-defaults.js.map +1 -0
  107. package/dist/config/engines-registry.js +103 -0
  108. package/dist/config/engines-registry.js.map +1 -0
  109. package/dist/config/os-dependencies.js +767 -0
  110. package/dist/config/os-dependencies.js.map +1 -0
  111. package/dist/config/paths.js +156 -0
  112. package/dist/config/paths.js.map +1 -0
  113. package/dist/config/version.js +3 -0
  114. package/dist/config/version.js.map +1 -0
  115. package/dist/core/backup-restore.js +219 -0
  116. package/dist/core/backup-restore.js.map +1 -0
  117. package/dist/core/base-binary-manager.js +403 -0
  118. package/dist/core/base-binary-manager.js.map +1 -0
  119. package/dist/core/base-document-binary-manager.js +364 -0
  120. package/dist/core/base-document-binary-manager.js.map +1 -0
  121. package/dist/core/base-embedded-binary-manager.js +364 -0
  122. package/dist/core/base-embedded-binary-manager.js.map +1 -0
  123. package/dist/core/base-server-binary-manager.js +368 -0
  124. package/dist/core/base-server-binary-manager.js.map +1 -0
  125. package/dist/core/config-manager.js +495 -0
  126. package/dist/core/config-manager.js.map +1 -0
  127. package/dist/core/container-manager.js +609 -0
  128. package/dist/core/container-manager.js.map +1 -0
  129. package/dist/core/credential-generator.js +67 -0
  130. package/dist/core/credential-generator.js.map +1 -0
  131. package/dist/core/credential-manager.js +211 -0
  132. package/dist/core/credential-manager.js.map +1 -0
  133. package/dist/core/dblab-utils.js +105 -0
  134. package/dist/core/dblab-utils.js.map +1 -0
  135. package/dist/core/dependency-manager.js +359 -0
  136. package/dist/core/dependency-manager.js.map +1 -0
  137. package/dist/core/docker-exporter.js +1077 -0
  138. package/dist/core/docker-exporter.js.map +1 -0
  139. package/dist/core/error-handler.js +295 -0
  140. package/dist/core/error-handler.js.map +1 -0
  141. package/dist/core/fs-error-utils.js +74 -0
  142. package/dist/core/fs-error-utils.js.map +1 -0
  143. package/dist/core/homebrew-version-manager.js +280 -0
  144. package/dist/core/homebrew-version-manager.js.map +1 -0
  145. package/dist/core/hostdb-client.js +252 -0
  146. package/dist/core/hostdb-client.js.map +1 -0
  147. package/dist/core/hostdb-metadata.js +243 -0
  148. package/dist/core/hostdb-metadata.js.map +1 -0
  149. package/dist/core/hostdb-releases-factory.js +161 -0
  150. package/dist/core/hostdb-releases-factory.js.map +1 -0
  151. package/dist/core/library-env.js +88 -0
  152. package/dist/core/library-env.js.map +1 -0
  153. package/dist/core/pgweb-utils.js +53 -0
  154. package/dist/core/pgweb-utils.js.map +1 -0
  155. package/dist/core/platform-service.js +632 -0
  156. package/dist/core/platform-service.js.map +1 -0
  157. package/dist/core/port-manager.js +136 -0
  158. package/dist/core/port-manager.js.map +1 -0
  159. package/dist/core/process-manager.js +445 -0
  160. package/dist/core/process-manager.js.map +1 -0
  161. package/dist/core/pull-manager.js +418 -0
  162. package/dist/core/pull-manager.js.map +1 -0
  163. package/dist/core/query-parser.js +449 -0
  164. package/dist/core/query-parser.js.map +1 -0
  165. package/dist/core/spawn-utils.js +90 -0
  166. package/dist/core/spawn-utils.js.map +1 -0
  167. package/dist/core/start-with-retry.js +90 -0
  168. package/dist/core/start-with-retry.js.map +1 -0
  169. package/dist/core/test-cleanup.js +85 -0
  170. package/dist/core/test-cleanup.js.map +1 -0
  171. package/dist/core/tls-generator.js +84 -0
  172. package/dist/core/tls-generator.js.map +1 -0
  173. package/dist/core/transaction-manager.js +139 -0
  174. package/dist/core/transaction-manager.js.map +1 -0
  175. package/dist/core/update-manager.js +241 -0
  176. package/dist/core/update-manager.js.map +1 -0
  177. package/dist/core/version-migration.js +260 -0
  178. package/dist/core/version-migration.js.map +1 -0
  179. package/dist/core/version-utils.js +91 -0
  180. package/dist/core/version-utils.js.map +1 -0
  181. package/dist/engines/base-engine.js +179 -0
  182. package/dist/engines/base-engine.js.map +1 -0
  183. package/dist/engines/clickhouse/backup.js +289 -0
  184. package/dist/engines/clickhouse/backup.js.map +1 -0
  185. package/dist/engines/clickhouse/binary-manager.js +145 -0
  186. package/dist/engines/clickhouse/binary-manager.js.map +1 -0
  187. package/dist/engines/clickhouse/binary-urls.js +100 -0
  188. package/dist/engines/clickhouse/binary-urls.js.map +1 -0
  189. package/dist/engines/clickhouse/cli-utils.js +143 -0
  190. package/dist/engines/clickhouse/cli-utils.js.map +1 -0
  191. package/dist/engines/clickhouse/hostdb-releases.js +24 -0
  192. package/dist/engines/clickhouse/hostdb-releases.js.map +1 -0
  193. package/dist/engines/clickhouse/index.js +1077 -0
  194. package/dist/engines/clickhouse/index.js.map +1 -0
  195. package/dist/engines/clickhouse/restore.js +335 -0
  196. package/dist/engines/clickhouse/restore.js.map +1 -0
  197. package/dist/engines/clickhouse/version-maps.js +83 -0
  198. package/dist/engines/clickhouse/version-maps.js.map +1 -0
  199. package/dist/engines/clickhouse/version-validator.js +133 -0
  200. package/dist/engines/clickhouse/version-validator.js.map +1 -0
  201. package/dist/engines/cockroachdb/backup.js +261 -0
  202. package/dist/engines/cockroachdb/backup.js.map +1 -0
  203. package/dist/engines/cockroachdb/binary-manager.js +33 -0
  204. package/dist/engines/cockroachdb/binary-manager.js.map +1 -0
  205. package/dist/engines/cockroachdb/binary-urls.js +33 -0
  206. package/dist/engines/cockroachdb/binary-urls.js.map +1 -0
  207. package/dist/engines/cockroachdb/cli-utils.js +338 -0
  208. package/dist/engines/cockroachdb/cli-utils.js.map +1 -0
  209. package/dist/engines/cockroachdb/hostdb-releases.js +21 -0
  210. package/dist/engines/cockroachdb/hostdb-releases.js.map +1 -0
  211. package/dist/engines/cockroachdb/index.js +1016 -0
  212. package/dist/engines/cockroachdb/index.js.map +1 -0
  213. package/dist/engines/cockroachdb/restore.js +323 -0
  214. package/dist/engines/cockroachdb/restore.js.map +1 -0
  215. package/dist/engines/cockroachdb/version-maps.js +37 -0
  216. package/dist/engines/cockroachdb/version-maps.js.map +1 -0
  217. package/dist/engines/couchdb/api-client.js +64 -0
  218. package/dist/engines/couchdb/api-client.js.map +1 -0
  219. package/dist/engines/couchdb/backup.js +90 -0
  220. package/dist/engines/couchdb/backup.js.map +1 -0
  221. package/dist/engines/couchdb/binary-manager.js +62 -0
  222. package/dist/engines/couchdb/binary-manager.js.map +1 -0
  223. package/dist/engines/couchdb/binary-urls.js +92 -0
  224. package/dist/engines/couchdb/binary-urls.js.map +1 -0
  225. package/dist/engines/couchdb/hostdb-releases.js +21 -0
  226. package/dist/engines/couchdb/hostdb-releases.js.map +1 -0
  227. package/dist/engines/couchdb/index.js +1043 -0
  228. package/dist/engines/couchdb/index.js.map +1 -0
  229. package/dist/engines/couchdb/restore.js +198 -0
  230. package/dist/engines/couchdb/restore.js.map +1 -0
  231. package/dist/engines/couchdb/version-maps.js +67 -0
  232. package/dist/engines/couchdb/version-maps.js.map +1 -0
  233. package/dist/engines/couchdb/version-validator.js +88 -0
  234. package/dist/engines/couchdb/version-validator.js.map +1 -0
  235. package/dist/engines/duckdb/binary-manager.js +33 -0
  236. package/dist/engines/duckdb/binary-manager.js.map +1 -0
  237. package/{engines/duckdb/binary-urls.ts → dist/engines/duckdb/binary-urls.js} +11 -16
  238. package/dist/engines/duckdb/binary-urls.js.map +1 -0
  239. package/dist/engines/duckdb/hostdb-releases.js +21 -0
  240. package/dist/engines/duckdb/hostdb-releases.js.map +1 -0
  241. package/dist/engines/duckdb/index.js +594 -0
  242. package/dist/engines/duckdb/index.js.map +1 -0
  243. package/dist/engines/duckdb/registry.js +265 -0
  244. package/dist/engines/duckdb/registry.js.map +1 -0
  245. package/dist/engines/duckdb/scanner.js +12 -0
  246. package/dist/engines/duckdb/scanner.js.map +1 -0
  247. package/dist/engines/duckdb/version-maps.js +67 -0
  248. package/dist/engines/duckdb/version-maps.js.map +1 -0
  249. package/dist/engines/duckdb/version-validator.js +62 -0
  250. package/dist/engines/duckdb/version-validator.js.map +1 -0
  251. package/dist/engines/ferretdb/backup.js +170 -0
  252. package/dist/engines/ferretdb/backup.js.map +1 -0
  253. package/dist/engines/ferretdb/binary-manager.js +765 -0
  254. package/dist/engines/ferretdb/binary-manager.js.map +1 -0
  255. package/dist/engines/ferretdb/binary-urls.js +135 -0
  256. package/dist/engines/ferretdb/binary-urls.js.map +1 -0
  257. package/dist/engines/ferretdb/index.js +1517 -0
  258. package/dist/engines/ferretdb/index.js.map +1 -0
  259. package/dist/engines/ferretdb/restore.js +310 -0
  260. package/dist/engines/ferretdb/restore.js.map +1 -0
  261. package/{engines/ferretdb/version-maps.ts → dist/engines/ferretdb/version-maps.js} +62 -79
  262. package/dist/engines/ferretdb/version-maps.js.map +1 -0
  263. package/dist/engines/file-based-utils.js +184 -0
  264. package/dist/engines/file-based-utils.js.map +1 -0
  265. package/dist/engines/index.js +124 -0
  266. package/dist/engines/index.js.map +1 -0
  267. package/dist/engines/influxdb/api-client.js +54 -0
  268. package/dist/engines/influxdb/api-client.js.map +1 -0
  269. package/dist/engines/influxdb/backup.js +119 -0
  270. package/dist/engines/influxdb/backup.js.map +1 -0
  271. package/dist/engines/influxdb/binary-manager.js +87 -0
  272. package/dist/engines/influxdb/binary-manager.js.map +1 -0
  273. package/dist/engines/influxdb/binary-urls.js +56 -0
  274. package/dist/engines/influxdb/binary-urls.js.map +1 -0
  275. package/dist/engines/influxdb/hostdb-releases.js +21 -0
  276. package/dist/engines/influxdb/hostdb-releases.js.map +1 -0
  277. package/dist/engines/influxdb/index.js +962 -0
  278. package/dist/engines/influxdb/index.js.map +1 -0
  279. package/dist/engines/influxdb/restore.js +329 -0
  280. package/dist/engines/influxdb/restore.js.map +1 -0
  281. package/dist/engines/influxdb/version-maps.js +64 -0
  282. package/dist/engines/influxdb/version-maps.js.map +1 -0
  283. package/dist/engines/influxdb/version-validator.js +109 -0
  284. package/dist/engines/influxdb/version-validator.js.map +1 -0
  285. package/dist/engines/mariadb/backup.js +178 -0
  286. package/dist/engines/mariadb/backup.js.map +1 -0
  287. package/dist/engines/mariadb/binary-manager.js +33 -0
  288. package/dist/engines/mariadb/binary-manager.js.map +1 -0
  289. package/{engines/mariadb/binary-urls.ts → dist/engines/mariadb/binary-urls.js} +38 -55
  290. package/dist/engines/mariadb/binary-urls.js.map +1 -0
  291. package/dist/engines/mariadb/hostdb-releases.js +21 -0
  292. package/dist/engines/mariadb/hostdb-releases.js.map +1 -0
  293. package/dist/engines/mariadb/index.js +1011 -0
  294. package/dist/engines/mariadb/index.js.map +1 -0
  295. package/dist/engines/mariadb/restore.js +322 -0
  296. package/dist/engines/mariadb/restore.js.map +1 -0
  297. package/dist/engines/mariadb/version-maps.js +63 -0
  298. package/dist/engines/mariadb/version-maps.js.map +1 -0
  299. package/dist/engines/mariadb/version-validator.js +143 -0
  300. package/dist/engines/mariadb/version-validator.js.map +1 -0
  301. package/dist/engines/meilisearch/api-client.js +50 -0
  302. package/dist/engines/meilisearch/api-client.js.map +1 -0
  303. package/dist/engines/meilisearch/backup.js +167 -0
  304. package/dist/engines/meilisearch/backup.js.map +1 -0
  305. package/dist/engines/meilisearch/binary-manager.js +31 -0
  306. package/dist/engines/meilisearch/binary-manager.js.map +1 -0
  307. package/dist/engines/meilisearch/binary-urls.js +56 -0
  308. package/dist/engines/meilisearch/binary-urls.js.map +1 -0
  309. package/dist/engines/meilisearch/hostdb-releases.js +21 -0
  310. package/dist/engines/meilisearch/hostdb-releases.js.map +1 -0
  311. package/dist/engines/meilisearch/index.js +992 -0
  312. package/dist/engines/meilisearch/index.js.map +1 -0
  313. package/dist/engines/meilisearch/restore.js +167 -0
  314. package/dist/engines/meilisearch/restore.js.map +1 -0
  315. package/dist/engines/meilisearch/version-maps.js +67 -0
  316. package/dist/engines/meilisearch/version-maps.js.map +1 -0
  317. package/dist/engines/meilisearch/version-validator.js +109 -0
  318. package/dist/engines/meilisearch/version-validator.js.map +1 -0
  319. package/dist/engines/mongodb/backup.js +109 -0
  320. package/dist/engines/mongodb/backup.js.map +1 -0
  321. package/dist/engines/mongodb/binary-manager.js +36 -0
  322. package/dist/engines/mongodb/binary-manager.js.map +1 -0
  323. package/dist/engines/mongodb/binary-urls.js +46 -0
  324. package/dist/engines/mongodb/binary-urls.js.map +1 -0
  325. package/dist/engines/mongodb/cli-utils.js +131 -0
  326. package/dist/engines/mongodb/cli-utils.js.map +1 -0
  327. package/dist/engines/mongodb/hostdb-releases.js +77 -0
  328. package/dist/engines/mongodb/hostdb-releases.js.map +1 -0
  329. package/dist/engines/mongodb/index.js +873 -0
  330. package/dist/engines/mongodb/index.js.map +1 -0
  331. package/dist/engines/mongodb/restore.js +276 -0
  332. package/dist/engines/mongodb/restore.js.map +1 -0
  333. package/dist/engines/mongodb/version-maps.js +79 -0
  334. package/dist/engines/mongodb/version-maps.js.map +1 -0
  335. package/dist/engines/mongodb/version-validator.js +133 -0
  336. package/dist/engines/mongodb/version-validator.js.map +1 -0
  337. package/dist/engines/mysql/backup.js +210 -0
  338. package/dist/engines/mysql/backup.js.map +1 -0
  339. package/dist/engines/mysql/binary-detection.js +325 -0
  340. package/dist/engines/mysql/binary-detection.js.map +1 -0
  341. package/dist/engines/mysql/binary-manager.js +30 -0
  342. package/dist/engines/mysql/binary-manager.js.map +1 -0
  343. package/dist/engines/mysql/binary-urls.js +87 -0
  344. package/dist/engines/mysql/binary-urls.js.map +1 -0
  345. package/{engines/mysql/hostdb-releases.ts → dist/engines/mysql/hostdb-releases.js} +20 -23
  346. package/dist/engines/mysql/hostdb-releases.js.map +1 -0
  347. package/dist/engines/mysql/index.js +1066 -0
  348. package/dist/engines/mysql/index.js.map +1 -0
  349. package/dist/engines/mysql/restore.js +361 -0
  350. package/dist/engines/mysql/restore.js.map +1 -0
  351. package/dist/engines/mysql/version-maps.js +79 -0
  352. package/dist/engines/mysql/version-maps.js.map +1 -0
  353. package/dist/engines/mysql/version-validator.js +266 -0
  354. package/dist/engines/mysql/version-validator.js.map +1 -0
  355. package/dist/engines/postgresql/backup.js +118 -0
  356. package/dist/engines/postgresql/backup.js.map +1 -0
  357. package/dist/engines/postgresql/binary-manager.js +85 -0
  358. package/dist/engines/postgresql/binary-manager.js.map +1 -0
  359. package/dist/engines/postgresql/binary-urls.js +80 -0
  360. package/dist/engines/postgresql/binary-urls.js.map +1 -0
  361. package/dist/engines/postgresql/hostdb-releases.js +21 -0
  362. package/dist/engines/postgresql/hostdb-releases.js.map +1 -0
  363. package/dist/engines/postgresql/index.js +852 -0
  364. package/dist/engines/postgresql/index.js.map +1 -0
  365. package/dist/engines/postgresql/remote-version.js +109 -0
  366. package/dist/engines/postgresql/remote-version.js.map +1 -0
  367. package/dist/engines/postgresql/restore.js +254 -0
  368. package/dist/engines/postgresql/restore.js.map +1 -0
  369. package/dist/engines/postgresql/version-maps.js +73 -0
  370. package/dist/engines/postgresql/version-maps.js.map +1 -0
  371. package/dist/engines/postgresql/version-validator.js +286 -0
  372. package/dist/engines/postgresql/version-validator.js.map +1 -0
  373. package/dist/engines/qdrant/api-client.js +50 -0
  374. package/dist/engines/qdrant/api-client.js.map +1 -0
  375. package/dist/engines/qdrant/backup.js +115 -0
  376. package/dist/engines/qdrant/backup.js.map +1 -0
  377. package/dist/engines/qdrant/binary-manager.js +31 -0
  378. package/dist/engines/qdrant/binary-manager.js.map +1 -0
  379. package/dist/engines/qdrant/binary-urls.js +92 -0
  380. package/dist/engines/qdrant/binary-urls.js.map +1 -0
  381. package/dist/engines/qdrant/cli-utils.js +39 -0
  382. package/dist/engines/qdrant/cli-utils.js.map +1 -0
  383. package/dist/engines/qdrant/hostdb-releases.js +21 -0
  384. package/dist/engines/qdrant/hostdb-releases.js.map +1 -0
  385. package/dist/engines/qdrant/index.js +1002 -0
  386. package/dist/engines/qdrant/index.js.map +1 -0
  387. package/dist/engines/qdrant/restore.js +154 -0
  388. package/dist/engines/qdrant/restore.js.map +1 -0
  389. package/dist/engines/qdrant/version-maps.js +67 -0
  390. package/dist/engines/qdrant/version-maps.js.map +1 -0
  391. package/dist/engines/qdrant/version-validator.js +109 -0
  392. package/dist/engines/qdrant/version-validator.js.map +1 -0
  393. package/dist/engines/questdb/backup.js +191 -0
  394. package/dist/engines/questdb/backup.js.map +1 -0
  395. package/dist/engines/questdb/binary-manager.js +247 -0
  396. package/dist/engines/questdb/binary-manager.js.map +1 -0
  397. package/dist/engines/questdb/binary-urls.js +27 -0
  398. package/dist/engines/questdb/binary-urls.js.map +1 -0
  399. package/dist/engines/questdb/hostdb-releases.js +21 -0
  400. package/dist/engines/questdb/hostdb-releases.js.map +1 -0
  401. package/dist/engines/questdb/index.js +814 -0
  402. package/dist/engines/questdb/index.js.map +1 -0
  403. package/dist/engines/questdb/restore.js +202 -0
  404. package/dist/engines/questdb/restore.js.map +1 -0
  405. package/dist/engines/questdb/version-maps.js +33 -0
  406. package/dist/engines/questdb/version-maps.js.map +1 -0
  407. package/dist/engines/questdb/version-validator.js +99 -0
  408. package/dist/engines/questdb/version-validator.js.map +1 -0
  409. package/dist/engines/redis/backup.js +292 -0
  410. package/dist/engines/redis/backup.js.map +1 -0
  411. package/dist/engines/redis/binary-manager.js +32 -0
  412. package/dist/engines/redis/binary-manager.js.map +1 -0
  413. package/dist/engines/redis/binary-urls.js +96 -0
  414. package/dist/engines/redis/binary-urls.js.map +1 -0
  415. package/dist/engines/redis/cli-utils.js +38 -0
  416. package/dist/engines/redis/cli-utils.js.map +1 -0
  417. package/dist/engines/redis/hostdb-releases.js +21 -0
  418. package/dist/engines/redis/hostdb-releases.js.map +1 -0
  419. package/dist/engines/redis/index.js +1263 -0
  420. package/dist/engines/redis/index.js.map +1 -0
  421. package/dist/engines/redis/restore.js +338 -0
  422. package/dist/engines/redis/restore.js.map +1 -0
  423. package/dist/engines/redis/version-maps.js +70 -0
  424. package/dist/engines/redis/version-maps.js.map +1 -0
  425. package/dist/engines/redis/version-validator.js +109 -0
  426. package/dist/engines/redis/version-validator.js.map +1 -0
  427. package/dist/engines/sqlite/binary-manager.js +39 -0
  428. package/dist/engines/sqlite/binary-manager.js.map +1 -0
  429. package/{engines/sqlite/binary-urls.ts → dist/engines/sqlite/binary-urls.js} +11 -16
  430. package/dist/engines/sqlite/binary-urls.js.map +1 -0
  431. package/dist/engines/sqlite/hostdb-releases.js +21 -0
  432. package/dist/engines/sqlite/hostdb-releases.js.map +1 -0
  433. package/dist/engines/sqlite/index.js +493 -0
  434. package/dist/engines/sqlite/index.js.map +1 -0
  435. package/dist/engines/sqlite/registry.js +163 -0
  436. package/dist/engines/sqlite/registry.js.map +1 -0
  437. package/dist/engines/sqlite/scanner.js +12 -0
  438. package/dist/engines/sqlite/scanner.js.map +1 -0
  439. package/dist/engines/sqlite/version-maps.js +57 -0
  440. package/dist/engines/sqlite/version-maps.js.map +1 -0
  441. package/dist/engines/surrealdb/backup.js +97 -0
  442. package/dist/engines/surrealdb/backup.js.map +1 -0
  443. package/dist/engines/surrealdb/binary-manager.js +33 -0
  444. package/dist/engines/surrealdb/binary-manager.js.map +1 -0
  445. package/dist/engines/surrealdb/binary-urls.js +33 -0
  446. package/dist/engines/surrealdb/binary-urls.js.map +1 -0
  447. package/dist/engines/surrealdb/cli-utils.js +147 -0
  448. package/dist/engines/surrealdb/cli-utils.js.map +1 -0
  449. package/dist/engines/surrealdb/hostdb-releases.js +21 -0
  450. package/dist/engines/surrealdb/hostdb-releases.js.map +1 -0
  451. package/dist/engines/surrealdb/index.js +1022 -0
  452. package/dist/engines/surrealdb/index.js.map +1 -0
  453. package/dist/engines/surrealdb/restore.js +224 -0
  454. package/dist/engines/surrealdb/restore.js.map +1 -0
  455. package/dist/engines/surrealdb/version-maps.js +36 -0
  456. package/dist/engines/surrealdb/version-maps.js.map +1 -0
  457. package/dist/engines/tigerbeetle/backup.js +36 -0
  458. package/dist/engines/tigerbeetle/backup.js.map +1 -0
  459. package/dist/engines/tigerbeetle/binary-manager.js +72 -0
  460. package/dist/engines/tigerbeetle/binary-manager.js.map +1 -0
  461. package/dist/engines/tigerbeetle/binary-urls.js +49 -0
  462. package/dist/engines/tigerbeetle/binary-urls.js.map +1 -0
  463. package/dist/engines/tigerbeetle/hostdb-releases.js +21 -0
  464. package/dist/engines/tigerbeetle/hostdb-releases.js.map +1 -0
  465. package/dist/engines/tigerbeetle/index.js +559 -0
  466. package/dist/engines/tigerbeetle/index.js.map +1 -0
  467. package/dist/engines/tigerbeetle/restore.js +91 -0
  468. package/dist/engines/tigerbeetle/restore.js.map +1 -0
  469. package/{engines/tigerbeetle/version-maps.ts → dist/engines/tigerbeetle/version-maps.js} +22 -31
  470. package/dist/engines/tigerbeetle/version-maps.js.map +1 -0
  471. package/dist/engines/tigerbeetle/version-validator.js +108 -0
  472. package/dist/engines/tigerbeetle/version-validator.js.map +1 -0
  473. package/dist/engines/typedb/backup.js +129 -0
  474. package/dist/engines/typedb/backup.js.map +1 -0
  475. package/dist/engines/typedb/binary-manager.js +151 -0
  476. package/dist/engines/typedb/binary-manager.js.map +1 -0
  477. package/dist/engines/typedb/binary-urls.js +33 -0
  478. package/dist/engines/typedb/binary-urls.js.map +1 -0
  479. package/dist/engines/typedb/cli-utils.js +163 -0
  480. package/dist/engines/typedb/cli-utils.js.map +1 -0
  481. package/dist/engines/typedb/hostdb-releases.js +21 -0
  482. package/dist/engines/typedb/hostdb-releases.js.map +1 -0
  483. package/dist/engines/typedb/index.js +1003 -0
  484. package/dist/engines/typedb/index.js.map +1 -0
  485. package/dist/engines/typedb/restore.js +279 -0
  486. package/dist/engines/typedb/restore.js.map +1 -0
  487. package/dist/engines/typedb/version-maps.js +40 -0
  488. package/dist/engines/typedb/version-maps.js.map +1 -0
  489. package/dist/engines/typedb/version-validator.js +103 -0
  490. package/dist/engines/typedb/version-validator.js.map +1 -0
  491. package/dist/engines/valkey/backup.js +292 -0
  492. package/dist/engines/valkey/backup.js.map +1 -0
  493. package/dist/engines/valkey/binary-manager.js +33 -0
  494. package/dist/engines/valkey/binary-manager.js.map +1 -0
  495. package/dist/engines/valkey/binary-urls.js +98 -0
  496. package/dist/engines/valkey/binary-urls.js.map +1 -0
  497. package/dist/engines/valkey/cli-utils.js +38 -0
  498. package/dist/engines/valkey/cli-utils.js.map +1 -0
  499. package/dist/engines/valkey/hostdb-releases.js +21 -0
  500. package/dist/engines/valkey/hostdb-releases.js.map +1 -0
  501. package/dist/engines/valkey/index.js +1257 -0
  502. package/dist/engines/valkey/index.js.map +1 -0
  503. package/dist/engines/valkey/restore.js +340 -0
  504. package/dist/engines/valkey/restore.js.map +1 -0
  505. package/dist/engines/valkey/version-maps.js +70 -0
  506. package/dist/engines/valkey/version-maps.js.map +1 -0
  507. package/dist/engines/valkey/version-validator.js +112 -0
  508. package/dist/engines/valkey/version-validator.js.map +1 -0
  509. package/dist/engines/weaviate/api-client.js +50 -0
  510. package/dist/engines/weaviate/api-client.js.map +1 -0
  511. package/dist/engines/weaviate/backup.js +95 -0
  512. package/dist/engines/weaviate/backup.js.map +1 -0
  513. package/dist/engines/weaviate/binary-manager.js +58 -0
  514. package/dist/engines/weaviate/binary-manager.js.map +1 -0
  515. package/dist/engines/weaviate/binary-urls.js +92 -0
  516. package/dist/engines/weaviate/binary-urls.js.map +1 -0
  517. package/dist/engines/weaviate/cli-utils.js +39 -0
  518. package/dist/engines/weaviate/cli-utils.js.map +1 -0
  519. package/dist/engines/weaviate/hostdb-releases.js +21 -0
  520. package/dist/engines/weaviate/hostdb-releases.js.map +1 -0
  521. package/dist/engines/weaviate/index.js +871 -0
  522. package/dist/engines/weaviate/index.js.map +1 -0
  523. package/dist/engines/weaviate/restore.js +185 -0
  524. package/dist/engines/weaviate/restore.js.map +1 -0
  525. package/dist/engines/weaviate/version-maps.js +67 -0
  526. package/dist/engines/weaviate/version-maps.js.map +1 -0
  527. package/dist/engines/weaviate/version-validator.js +109 -0
  528. package/dist/engines/weaviate/version-validator.js.map +1 -0
  529. package/dist/types/index.js +102 -0
  530. package/dist/types/index.js.map +1 -0
  531. package/package.json +12 -9
  532. package/bin/cli.js +0 -68
  533. package/cli/bin.ts +0 -10
  534. package/cli/commands/attach.ts +0 -139
  535. package/cli/commands/backup.ts +0 -290
  536. package/cli/commands/backups.ts +0 -247
  537. package/cli/commands/clone.ts +0 -159
  538. package/cli/commands/config.ts +0 -367
  539. package/cli/commands/connect.ts +0 -684
  540. package/cli/commands/create.ts +0 -1201
  541. package/cli/commands/databases.ts +0 -630
  542. package/cli/commands/delete.ts +0 -133
  543. package/cli/commands/deps.ts +0 -342
  544. package/cli/commands/detach.ts +0 -107
  545. package/cli/commands/doctor.ts +0 -689
  546. package/cli/commands/duckdb.ts +0 -273
  547. package/cli/commands/edit.ts +0 -683
  548. package/cli/commands/engines.ts +0 -1914
  549. package/cli/commands/export.ts +0 -544
  550. package/cli/commands/info.ts +0 -340
  551. package/cli/commands/list.ts +0 -284
  552. package/cli/commands/logs.ts +0 -102
  553. package/cli/commands/menu/backup-handlers.ts +0 -1571
  554. package/cli/commands/menu/container-handlers.ts +0 -2288
  555. package/cli/commands/menu/engine-handlers.ts +0 -355
  556. package/cli/commands/menu/index.ts +0 -342
  557. package/cli/commands/menu/settings-handlers.ts +0 -365
  558. package/cli/commands/menu/shared.ts +0 -23
  559. package/cli/commands/menu/shell-handlers.ts +0 -1811
  560. package/cli/commands/menu/sql-handlers.ts +0 -231
  561. package/cli/commands/menu/update-handlers.ts +0 -378
  562. package/cli/commands/menu/validators.ts +0 -8
  563. package/cli/commands/ports.ts +0 -211
  564. package/cli/commands/pull.ts +0 -223
  565. package/cli/commands/query.ts +0 -241
  566. package/cli/commands/restore.ts +0 -587
  567. package/cli/commands/run.ts +0 -178
  568. package/cli/commands/self-update.ts +0 -121
  569. package/cli/commands/sqlite.ts +0 -273
  570. package/cli/commands/start.ts +0 -218
  571. package/cli/commands/stop.ts +0 -241
  572. package/cli/commands/url.ts +0 -104
  573. package/cli/commands/users.ts +0 -264
  574. package/cli/commands/version.ts +0 -55
  575. package/cli/commands/which.ts +0 -290
  576. package/cli/constants.ts +0 -233
  577. package/cli/helpers.ts +0 -1593
  578. package/cli/index.ts +0 -162
  579. package/cli/ui/prompts.ts +0 -1525
  580. package/cli/ui/spinner.ts +0 -88
  581. package/cli/ui/theme.ts +0 -128
  582. package/cli/utils/file-follower.ts +0 -93
  583. package/config/backup-formats.ts +0 -446
  584. package/config/defaults.ts +0 -56
  585. package/config/engine-defaults.ts +0 -336
  586. package/config/engines-registry.ts +0 -150
  587. package/config/engines.schema.json +0 -135
  588. package/config/os-dependencies.ts +0 -888
  589. package/config/paths.ts +0 -200
  590. package/core/backup-restore.ts +0 -330
  591. package/core/base-binary-manager.ts +0 -562
  592. package/core/base-document-binary-manager.ts +0 -523
  593. package/core/base-embedded-binary-manager.ts +0 -547
  594. package/core/base-server-binary-manager.ts +0 -523
  595. package/core/config-manager.ts +0 -652
  596. package/core/container-manager.ts +0 -787
  597. package/core/credential-generator.ts +0 -93
  598. package/core/credential-manager.ts +0 -259
  599. package/core/dblab-utils.ts +0 -113
  600. package/core/dependency-manager.ts +0 -512
  601. package/core/docker-exporter.ts +0 -1345
  602. package/core/error-handler.ts +0 -419
  603. package/core/fs-error-utils.ts +0 -82
  604. package/core/homebrew-version-manager.ts +0 -352
  605. package/core/hostdb-client.ts +0 -344
  606. package/core/hostdb-metadata.ts +0 -350
  607. package/core/hostdb-releases-factory.ts +0 -237
  608. package/core/library-env.ts +0 -118
  609. package/core/pgweb-utils.ts +0 -62
  610. package/core/platform-service.ts +0 -829
  611. package/core/port-manager.ts +0 -165
  612. package/core/process-manager.ts +0 -576
  613. package/core/pull-manager.ts +0 -511
  614. package/core/query-parser.ts +0 -514
  615. package/core/spawn-utils.ts +0 -122
  616. package/core/start-with-retry.ts +0 -130
  617. package/core/test-cleanup.ts +0 -108
  618. package/core/tls-generator.ts +0 -116
  619. package/core/transaction-manager.ts +0 -158
  620. package/core/update-manager.ts +0 -308
  621. package/core/version-migration.ts +0 -346
  622. package/core/version-utils.ts +0 -104
  623. package/engines/base-engine.ts +0 -340
  624. package/engines/clickhouse/README.md +0 -231
  625. package/engines/clickhouse/backup.ts +0 -398
  626. package/engines/clickhouse/binary-manager.ts +0 -201
  627. package/engines/clickhouse/binary-urls.ts +0 -125
  628. package/engines/clickhouse/cli-utils.ts +0 -176
  629. package/engines/clickhouse/hostdb-releases.ts +0 -30
  630. package/engines/clickhouse/index.ts +0 -1345
  631. package/engines/clickhouse/restore.ts +0 -466
  632. package/engines/clickhouse/version-maps.ts +0 -95
  633. package/engines/clickhouse/version-validator.ts +0 -154
  634. package/engines/cockroachdb/README.md +0 -170
  635. package/engines/cockroachdb/backup.ts +0 -376
  636. package/engines/cockroachdb/binary-manager.ts +0 -45
  637. package/engines/cockroachdb/binary-urls.ts +0 -40
  638. package/engines/cockroachdb/cli-utils.ts +0 -384
  639. package/engines/cockroachdb/hostdb-releases.ts +0 -26
  640. package/engines/cockroachdb/index.ts +0 -1276
  641. package/engines/cockroachdb/restore.ts +0 -455
  642. package/engines/cockroachdb/version-maps.ts +0 -42
  643. package/engines/couchdb/README.md +0 -257
  644. package/engines/couchdb/api-client.ts +0 -81
  645. package/engines/couchdb/backup.ts +0 -137
  646. package/engines/couchdb/binary-manager.ts +0 -86
  647. package/engines/couchdb/binary-urls.ts +0 -115
  648. package/engines/couchdb/hostdb-releases.ts +0 -23
  649. package/engines/couchdb/index.ts +0 -1429
  650. package/engines/couchdb/restore.ts +0 -290
  651. package/engines/couchdb/version-maps.ts +0 -78
  652. package/engines/couchdb/version-validator.ts +0 -111
  653. package/engines/duckdb/README.md +0 -154
  654. package/engines/duckdb/binary-manager.ts +0 -45
  655. package/engines/duckdb/hostdb-releases.ts +0 -23
  656. package/engines/duckdb/index.ts +0 -749
  657. package/engines/duckdb/registry.ts +0 -303
  658. package/engines/duckdb/scanner.ts +0 -22
  659. package/engines/duckdb/version-maps.ts +0 -78
  660. package/engines/duckdb/version-validator.ts +0 -78
  661. package/engines/ferretdb/README.md +0 -262
  662. package/engines/ferretdb/backup.ts +0 -173
  663. package/engines/ferretdb/binary-manager.ts +0 -1095
  664. package/engines/ferretdb/binary-urls.ts +0 -183
  665. package/engines/ferretdb/index.ts +0 -1907
  666. package/engines/ferretdb/restore.ts +0 -357
  667. package/engines/file-based-utils.ts +0 -262
  668. package/engines/index.ts +0 -131
  669. package/engines/influxdb/README.md +0 -180
  670. package/engines/influxdb/api-client.ts +0 -64
  671. package/engines/influxdb/backup.ts +0 -160
  672. package/engines/influxdb/binary-manager.ts +0 -110
  673. package/engines/influxdb/binary-urls.ts +0 -69
  674. package/engines/influxdb/hostdb-releases.ts +0 -23
  675. package/engines/influxdb/index.ts +0 -1272
  676. package/engines/influxdb/restore.ts +0 -417
  677. package/engines/influxdb/version-maps.ts +0 -75
  678. package/engines/influxdb/version-validator.ts +0 -128
  679. package/engines/mariadb/README.md +0 -141
  680. package/engines/mariadb/backup.ts +0 -233
  681. package/engines/mariadb/binary-manager.ts +0 -45
  682. package/engines/mariadb/hostdb-releases.ts +0 -23
  683. package/engines/mariadb/index.ts +0 -1300
  684. package/engines/mariadb/restore.ts +0 -447
  685. package/engines/mariadb/version-maps.ts +0 -72
  686. package/engines/mariadb/version-validator.ts +0 -181
  687. package/engines/meilisearch/README.md +0 -255
  688. package/engines/meilisearch/api-client.ts +0 -61
  689. package/engines/meilisearch/backup.ts +0 -233
  690. package/engines/meilisearch/binary-manager.ts +0 -43
  691. package/engines/meilisearch/binary-urls.ts +0 -69
  692. package/engines/meilisearch/hostdb-releases.ts +0 -26
  693. package/engines/meilisearch/index.ts +0 -1292
  694. package/engines/meilisearch/restore.ts +0 -219
  695. package/engines/meilisearch/version-maps.ts +0 -78
  696. package/engines/meilisearch/version-validator.ts +0 -128
  697. package/engines/mongodb/README.md +0 -162
  698. package/engines/mongodb/backup.ts +0 -127
  699. package/engines/mongodb/binary-manager.ts +0 -48
  700. package/engines/mongodb/binary-urls.ts +0 -63
  701. package/engines/mongodb/cli-utils.ts +0 -171
  702. package/engines/mongodb/hostdb-releases.ts +0 -91
  703. package/engines/mongodb/index.ts +0 -1118
  704. package/engines/mongodb/restore.ts +0 -361
  705. package/engines/mongodb/version-maps.ts +0 -91
  706. package/engines/mongodb/version-validator.ts +0 -160
  707. package/engines/mysql/README.md +0 -142
  708. package/engines/mysql/backup.ts +0 -270
  709. package/engines/mysql/binary-detection.ts +0 -408
  710. package/engines/mysql/binary-manager.ts +0 -42
  711. package/engines/mysql/binary-urls.ts +0 -104
  712. package/engines/mysql/index.ts +0 -1361
  713. package/engines/mysql/restore.ts +0 -500
  714. package/engines/mysql/version-maps.ts +0 -91
  715. package/engines/mysql/version-validator.ts +0 -369
  716. package/engines/postgresql/README.md +0 -158
  717. package/engines/postgresql/backup.ts +0 -151
  718. package/engines/postgresql/binary-manager.ts +0 -114
  719. package/engines/postgresql/binary-urls.ts +0 -99
  720. package/engines/postgresql/hostdb-releases.ts +0 -26
  721. package/engines/postgresql/index.ts +0 -1143
  722. package/engines/postgresql/remote-version.ts +0 -161
  723. package/engines/postgresql/restore.ts +0 -342
  724. package/engines/postgresql/version-maps.ts +0 -83
  725. package/engines/postgresql/version-validator.ts +0 -413
  726. package/engines/qdrant/README.md +0 -222
  727. package/engines/qdrant/api-client.ts +0 -61
  728. package/engines/qdrant/backup.ts +0 -165
  729. package/engines/qdrant/binary-manager.ts +0 -43
  730. package/engines/qdrant/binary-urls.ts +0 -115
  731. package/engines/qdrant/cli-utils.ts +0 -43
  732. package/engines/qdrant/hostdb-releases.ts +0 -23
  733. package/engines/qdrant/index.ts +0 -1312
  734. package/engines/qdrant/restore.ts +0 -203
  735. package/engines/qdrant/version-maps.ts +0 -78
  736. package/engines/qdrant/version-validator.ts +0 -128
  737. package/engines/questdb/README.md +0 -334
  738. package/engines/questdb/backup.ts +0 -220
  739. package/engines/questdb/binary-manager.ts +0 -310
  740. package/engines/questdb/binary-urls.ts +0 -34
  741. package/engines/questdb/hostdb-releases.ts +0 -23
  742. package/engines/questdb/index.ts +0 -1023
  743. package/engines/questdb/restore.ts +0 -260
  744. package/engines/questdb/version-maps.ts +0 -37
  745. package/engines/questdb/version-validator.ts +0 -121
  746. package/engines/redis/README.md +0 -173
  747. package/engines/redis/backup.ts +0 -389
  748. package/engines/redis/binary-manager.ts +0 -44
  749. package/engines/redis/binary-urls.ts +0 -117
  750. package/engines/redis/cli-utils.ts +0 -42
  751. package/engines/redis/hostdb-releases.ts +0 -23
  752. package/engines/redis/index.ts +0 -1583
  753. package/engines/redis/restore.ts +0 -443
  754. package/engines/redis/version-maps.ts +0 -81
  755. package/engines/redis/version-validator.ts +0 -131
  756. package/engines/sqlite/README.md +0 -162
  757. package/engines/sqlite/binary-manager.ts +0 -52
  758. package/engines/sqlite/hostdb-releases.ts +0 -23
  759. package/engines/sqlite/index.ts +0 -641
  760. package/engines/sqlite/registry.ts +0 -198
  761. package/engines/sqlite/scanner.ts +0 -22
  762. package/engines/sqlite/version-maps.ts +0 -64
  763. package/engines/surrealdb/README.md +0 -218
  764. package/engines/surrealdb/backup.ts +0 -131
  765. package/engines/surrealdb/binary-manager.ts +0 -45
  766. package/engines/surrealdb/binary-urls.ts +0 -40
  767. package/engines/surrealdb/cli-utils.ts +0 -173
  768. package/engines/surrealdb/hostdb-releases.ts +0 -23
  769. package/engines/surrealdb/index.ts +0 -1246
  770. package/engines/surrealdb/restore.ts +0 -302
  771. package/engines/surrealdb/version-maps.ts +0 -41
  772. package/engines/tigerbeetle/README.md +0 -61
  773. package/engines/tigerbeetle/backup.ts +0 -49
  774. package/engines/tigerbeetle/binary-manager.ts +0 -95
  775. package/engines/tigerbeetle/binary-urls.ts +0 -62
  776. package/engines/tigerbeetle/hostdb-releases.ts +0 -26
  777. package/engines/tigerbeetle/index.ts +0 -746
  778. package/engines/tigerbeetle/restore.ts +0 -130
  779. package/engines/tigerbeetle/version-validator.ts +0 -126
  780. package/engines/typedb/backup.ts +0 -167
  781. package/engines/typedb/binary-manager.ts +0 -200
  782. package/engines/typedb/binary-urls.ts +0 -40
  783. package/engines/typedb/cli-utils.ts +0 -210
  784. package/engines/typedb/hostdb-releases.ts +0 -23
  785. package/engines/typedb/index.ts +0 -1275
  786. package/engines/typedb/restore.ts +0 -377
  787. package/engines/typedb/version-maps.ts +0 -48
  788. package/engines/typedb/version-validator.ts +0 -127
  789. package/engines/valkey/README.md +0 -219
  790. package/engines/valkey/backup.ts +0 -389
  791. package/engines/valkey/binary-manager.ts +0 -45
  792. package/engines/valkey/binary-urls.ts +0 -122
  793. package/engines/valkey/cli-utils.ts +0 -42
  794. package/engines/valkey/hostdb-releases.ts +0 -23
  795. package/engines/valkey/index.ts +0 -1585
  796. package/engines/valkey/restore.ts +0 -446
  797. package/engines/valkey/version-maps.ts +0 -81
  798. package/engines/valkey/version-validator.ts +0 -131
  799. package/engines/weaviate/README.md +0 -302
  800. package/engines/weaviate/api-client.ts +0 -61
  801. package/engines/weaviate/backup.ts +0 -145
  802. package/engines/weaviate/binary-manager.ts +0 -80
  803. package/engines/weaviate/binary-urls.ts +0 -115
  804. package/engines/weaviate/cli-utils.ts +0 -43
  805. package/engines/weaviate/hostdb-releases.ts +0 -23
  806. package/engines/weaviate/index.ts +0 -1139
  807. package/engines/weaviate/restore.ts +0 -235
  808. package/engines/weaviate/version-maps.ts +0 -78
  809. package/engines/weaviate/version-validator.ts +0 -128
  810. package/types/index.ts +0 -624
  811. /package/{config → dist/config}/engines.json +0 -0
@@ -1,302 +0,0 @@
1
- # Weaviate Engine Implementation
2
-
3
- ## Overview
4
-
5
- Weaviate is an AI-native vector database with REST and gRPC APIs. Like Qdrant and Meilisearch, it uses HTTP for all operations. Uses classes/collections instead of traditional databases.
6
-
7
- ## Platform Support
8
-
9
- | Platform | Architecture | Status | Notes |
10
- |----------|--------------|--------|-------|
11
- | darwin | x64 | Supported | Uses hostdb binaries |
12
- | darwin | arm64 | Supported | Uses hostdb binaries (Apple Silicon) |
13
- | linux | x64 | Supported | Uses hostdb binaries |
14
- | linux | arm64 | Supported | Uses hostdb binaries |
15
- | win32 | x64 | Supported | Uses hostdb binaries |
16
-
17
- ## Binary Packaging
18
-
19
- ### Archive Format
20
- - **Unix (macOS/Linux)**: `tar.gz`
21
- - **Windows**: `zip`
22
-
23
- ### Archive Structure
24
- ```text
25
- weaviate/
26
- └── bin/
27
- └── weaviate # Server binary
28
- ```
29
-
30
- ### Version Map Sync
31
-
32
- ```typescript
33
- export const WEAVIATE_VERSION_MAP: Record<string, string> = {
34
- '1': '1.35.7',
35
- }
36
- ```
37
-
38
- ## Implementation Details
39
-
40
- ### Binary Manager
41
-
42
- Weaviate uses `BaseBinaryManager` with a custom `verify()` override:
43
-
44
- ```typescript
45
- // Weaviate doesn't support --version (as of v1.35.x)
46
- // Verification just checks binary existence
47
- async verify(): Promise<boolean> {
48
- return existsSync(binaryPath)
49
- }
50
- ```
51
-
52
- See: https://github.com/weaviate/weaviate/issues/6571
53
-
54
- ### Version Parsing
55
-
56
- Not applicable for current version (no `--version` flag). The `parseVersionFromOutput` method is implemented for forward compatibility when the flag is added:
57
- - **Parse pattern**: `/(?:weaviate\s+)?v?(\d+\.\d+\.\d+)/`
58
-
59
- ### REST API Engine
60
-
61
- Weaviate is a **REST API engine** - it doesn't have a CLI shell:
62
- - `spindb run` is **NOT applicable**
63
- - `spindb connect` opens the web dashboard in browser
64
- - All data operations use HTTP REST API
65
-
66
- ### Dual Ports
67
-
68
- Weaviate uses two ports:
69
- - **HTTP Port** (default 8080): REST API
70
- - **gRPC Port** (default 8081): gRPC API (typically HTTP + 1)
71
-
72
- ### Default Configuration
73
-
74
- - **Default HTTP Port**: 8080 (auto-increments on conflict)
75
- - **gRPC Port**: HTTP port + 1
76
- - **Health Endpoint**: `/v1/.well-known/ready`
77
- - **Schema Endpoint**: `/v1/schema`
78
- - **PID File**: `weaviate.pid` in container directory
79
-
80
- ### Environment Variable Configuration
81
-
82
- Weaviate uses environment variables (not a config file):
83
-
84
- ```bash
85
- PERSISTENCE_DATA_PATH=/path/to/data
86
- BACKUP_FILESYSTEM_PATH=/path/to/data/backups
87
- QUERY_DEFAULTS_LIMIT=25
88
- AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED=true
89
- DEFAULT_VECTORIZER_MODULE=none
90
- ENABLE_MODULES=backup-filesystem
91
- GRPC_PORT=8081
92
- CLUSTER_HOSTNAME=node-{port} # Must be unique per container
93
- CLUSTER_GOSSIP_BIND_PORT={port+100} # Memberlist gossip (default 7946)
94
- CLUSTER_DATA_BIND_PORT={port+101} # Memberlist data (default 7947)
95
- RAFT_PORT={port+200} # Raft consensus (default 8300)
96
- RAFT_INTERNAL_RPC_PORT={port+201} # Raft internal RPC (default 8301)
97
- ```
98
-
99
- ### Internal Cluster Ports
100
-
101
- Weaviate uses 4 internal cluster ports in addition to HTTP and gRPC. These **must be unique per container** or Weaviate will fail to start (or silently conflict with other instances):
102
-
103
- | Port | Default | SpinDB Formula | Purpose |
104
- |------|---------|----------------|---------|
105
- | HTTP | 8080 | `{port}` | REST API |
106
- | gRPC | 8081 | `{port}+1` | gRPC API |
107
- | Gossip | 7946 | `{port}+100` | Memberlist gossip |
108
- | Data | 7947 | `{port}+101` | Memberlist data |
109
- | Raft | 8300 | `{port}+200` | Raft consensus |
110
- | Raft RPC | 8301 | `{port}+201` | Raft internal RPC |
111
-
112
- ### Connection String Format
113
-
114
- ```text
115
- http://127.0.0.1:{port}
116
- ```
117
-
118
- ### Web Dashboard
119
-
120
- The `connect` command opens the root URL in the default browser:
121
- ```text
122
- http://localhost:{port}/
123
- ```
124
-
125
- ## Backup & Restore
126
-
127
- ### Backup Formats
128
-
129
- | Format | Extension | Tool | Notes |
130
- |--------|-----------|------|-------|
131
- | snapshot | `.snapshot` | REST API | Weaviate filesystem backup |
132
-
133
- ### Backup API
134
-
135
- Backup and restore use Weaviate's filesystem backup endpoints:
136
- - `POST /v1/backups/filesystem` - Create backup (with status polling)
137
- - `GET /v1/backups/filesystem/{id}` - Check backup status
138
- - `POST /v1/backups/filesystem/{id}/restore` - Restore backup
139
-
140
- ### Backup Flow
141
-
142
- 1. `BACKUP_FILESYSTEM_PATH` env var points to `{dataDir}/backups`
143
- 2. `ENABLE_MODULES=backup-filesystem` must be set (or backup API returns 404)
144
- 3. Trigger backup via `POST /v1/backups/filesystem` with `{ id: "spindb-backup-{ts}" }`
145
- 4. Poll status via `GET /v1/backups/filesystem/{id}` until `SUCCESS`
146
- 5. Copy backup **directory** (not a single file) from `{backupsDir}/{id}/` to output path
147
-
148
- ### Restore Flow
149
-
150
- 1. Copy backup directory into target container's `{backupsDir}/{backupId}/`
151
- 2. **The directory name MUST match the internal backup ID** stored in `backup_config.json` inside the backup. Weaviate validates this and returns 422 on mismatch.
152
- 3. Start Weaviate
153
- 4. Trigger restore via `POST /v1/backups/filesystem/{backupId}/restore`
154
- 5. If restoring to a container with a different `CLUSTER_HOSTNAME`, pass `node_mapping` in the request body:
155
- ```json
156
- { "node_mapping": { "node-8080": "node-9090" } }
157
- ```
158
- 6. Poll restore status until `SUCCESS`
159
-
160
- ## Integration Test Notes
161
-
162
- ### REST API Testing
163
-
164
- Integration tests use `fetch()` for operations, not CLI tools.
165
-
166
- ### Test Ports
167
-
168
- ```typescript
169
- weaviate: { base: 8090, clone: 8092, renamed: 8091 }
170
- ```
171
-
172
- ## Docker E2E Test Notes
173
-
174
- Weaviate Docker E2E uses `curl` for all operations:
175
-
176
- ```bash
177
- # Health check
178
- curl http://localhost:8080/v1/.well-known/ready
179
-
180
- # Create class
181
- curl -X POST http://localhost:8080/v1/schema \
182
- -H 'Content-Type: application/json' \
183
- -d '{"class":"TestVectors","vectorizer":"none","properties":[...]}'
184
-
185
- # Insert objects (batch)
186
- curl -X POST http://localhost:8080/v1/batch/objects \
187
- -H 'Content-Type: application/json' \
188
- -d '{"objects":[...]}'
189
- ```
190
-
191
- ## Known Issues & Gotchas
192
-
193
- ### 1. No --version Flag
194
-
195
- Weaviate binary doesn't support `--version` as of v1.35.x. Tracked in [weaviate/weaviate#6571](https://github.com/weaviate/weaviate/issues/6571). Binary verification only checks file existence. Same pattern as CouchDB.
196
-
197
- ### 2. No CLI Shell
198
-
199
- `spindb run` does nothing for Weaviate. Use the REST API or web dashboard.
200
-
201
- ### 3. Vector Database Semantics
202
-
203
- Weaviate uses "classes" (or "collections") instead of "databases". Operations are vector-centric:
204
- - Create classes with property schemas
205
- - Insert objects with optional vectors
206
- - Search by vector similarity or filters
207
-
208
- ### 4. Internal Cluster Ports Must Be Unique
209
-
210
- Weaviate binds 4 internal ports (gossip 7946, data 7947, raft 8300, raft RPC 8301) by default. Running multiple Weaviate containers without unique ports causes silent conflicts or startup failures. SpinDB derives unique ports from the HTTP port (see "Internal Cluster Ports" above).
211
-
212
- ### 5. ENABLE_MODULES Required for Backup
213
-
214
- `ENABLE_MODULES=backup-filesystem` must be set at startup or the backup/restore API endpoints return 404.
215
-
216
- ### 6. Backup Directory Name Must Match Internal ID
217
-
218
- Weaviate backups are directories (not single files). The backup directory name **must match** the internal backup ID in `backup_config.json`. When copying a backup to a new location, `restore.ts` reads `backup_config.json` to discover the real ID and names the target directory accordingly.
219
-
220
- ### 7. Node Mapping for Cross-Container Restore
221
-
222
- When restoring a backup to a container with a different `CLUSTER_HOSTNAME`, the Weaviate restore API requires a `node_mapping` parameter. Without it, restore fails with "cannot resolve hostname" (422).
223
-
224
- ### 8. Windows Backup Fails (LSM File Locking)
225
-
226
- Weaviate on Windows holds exclusive locks on LSM storage files, preventing `fsync` during backup while the server is running. The backup API returns "Access is denied" errors. Integration tests skip the backup/restore clone test on Windows. Same pattern as Meilisearch.
227
-
228
- ### 9. gRPC Port
229
-
230
- The gRPC port is separate from HTTP (HTTP + 1). Ensure both ports are available if using gRPC clients.
231
-
232
- ### 10. Snapshot Format
233
-
234
- Snapshots are Weaviate's native backup format and are not compatible with other databases.
235
-
236
- ### 11. Health Check Endpoint
237
-
238
- Use `/v1/.well-known/ready` for health checks (returns 200 when ready).
239
-
240
- ### 12. Class/Collection Naming
241
-
242
- Weaviate class names must start with an uppercase letter (PascalCase). Container names with dashes are auto-converted (e.g., `my-app` becomes class `My_app`).
243
-
244
- ## CI/CD Notes
245
-
246
- ### curl-Based Testing
247
-
248
- CI tests use `curl` commands rather than database CLI tools.
249
-
250
- ### GitHub Actions Cache Step
251
-
252
- ```yaml
253
- - name: Cache Weaviate binaries
254
- uses: actions/cache@v4
255
- with:
256
- path: ~/.spindb/bin/weaviate-*
257
- key: weaviate-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('engines/weaviate/version-maps.ts') }}
258
- ```
259
-
260
- ## REST API Quick Reference
261
-
262
- ### Schema (Classes)
263
- ```bash
264
- # List all classes
265
- GET /v1/schema
266
-
267
- # Get class info
268
- GET /v1/schema/{class}
269
-
270
- # Create class
271
- POST /v1/schema
272
-
273
- # Delete class
274
- DELETE /v1/schema/{class}
275
- ```
276
-
277
- ### Objects
278
- ```bash
279
- # Batch insert objects
280
- POST /v1/batch/objects
281
-
282
- # Get object
283
- GET /v1/objects/{class}/{id}
284
-
285
- # Delete object
286
- DELETE /v1/objects/{class}/{id}
287
- ```
288
-
289
- ### Search
290
- ```bash
291
- # GraphQL query
292
- POST /v1/graphql
293
- ```
294
-
295
- ### Meta
296
- ```bash
297
- # Server meta info (includes version)
298
- GET /v1/meta
299
-
300
- # Health/ready check
301
- GET /v1/.well-known/ready
302
- ```
@@ -1,61 +0,0 @@
1
- /**
2
- * Shared Weaviate REST API client utilities
3
- */
4
-
5
- /**
6
- * Make an HTTP request to Weaviate REST API
7
- *
8
- * @param port - The HTTP port Weaviate is listening on
9
- * @param method - HTTP method (GET, POST, PUT, DELETE)
10
- * @param path - API path (e.g., '/v1/schema', '/v1/.well-known/ready')
11
- * @param body - Optional JSON body for POST/PUT requests
12
- * @param timeoutMs - Request timeout in milliseconds (default: 30s)
13
- */
14
- export async function weaviateApiRequest(
15
- port: number,
16
- method: string,
17
- path: string,
18
- body?: Record<string, unknown>,
19
- timeoutMs = 30000,
20
- ): Promise<{ status: number; data: unknown }> {
21
- const url = `http://127.0.0.1:${port}${path}`
22
-
23
- const controller = new AbortController()
24
- const timeoutId = setTimeout(() => controller.abort(), timeoutMs)
25
-
26
- const options: RequestInit = {
27
- method,
28
- headers: {
29
- 'Content-Type': 'application/json',
30
- },
31
- signal: controller.signal,
32
- }
33
-
34
- if (body) {
35
- options.body = JSON.stringify(body)
36
- }
37
-
38
- try {
39
- const response = await fetch(url, options)
40
-
41
- // Try to parse as JSON, fall back to text for endpoints like /v1/.well-known/ready
42
- let data: unknown
43
- const contentType = response.headers.get('content-type') || ''
44
- if (contentType.includes('application/json')) {
45
- data = await response.json()
46
- } else {
47
- data = await response.text()
48
- }
49
-
50
- return { status: response.status, data }
51
- } catch (error) {
52
- if (error instanceof Error && error.name === 'AbortError') {
53
- throw new Error(
54
- `Weaviate API request timed out after ${timeoutMs / 1000}s: ${method} ${path}`,
55
- )
56
- }
57
- throw error
58
- } finally {
59
- clearTimeout(timeoutId)
60
- }
61
- }
@@ -1,145 +0,0 @@
1
- /**
2
- * Weaviate backup module
3
- * Supports snapshot-based backup using Weaviate's filesystem backup API.
4
- *
5
- * Weaviate's filesystem backup creates a directory at BACKUP_FILESYSTEM_PATH/<id>/
6
- * containing backup metadata and class data. We copy this entire directory
7
- * as the "snapshot" for backup/restore.
8
- */
9
-
10
- import { mkdir, stat, cp, readdir } from 'fs/promises'
11
- import { existsSync } from 'fs'
12
- import { join, dirname } from 'path'
13
- import { logDebug } from '../../core/error-handler'
14
- import { paths } from '../../config/paths'
15
- import { weaviateApiRequest } from './api-client'
16
- import type { ContainerConfig, BackupOptions, BackupResult } from '../../types'
17
-
18
- /**
19
- * Create a snapshot backup using Weaviate's REST API.
20
- * Triggers a filesystem backup, polls for completion, then copies the
21
- * backup directory to the output path.
22
- */
23
- export async function createBackup(
24
- container: ContainerConfig,
25
- outputPath: string,
26
- _options: BackupOptions,
27
- ): Promise<BackupResult> {
28
- const { port, name } = container
29
-
30
- // Ensure output parent directory exists
31
- const outputDir = dirname(outputPath)
32
- if (!existsSync(outputDir)) {
33
- await mkdir(outputDir, { recursive: true })
34
- }
35
-
36
- // Generate a unique backup ID
37
- const backupId = `spindb-backup-${Date.now()}`
38
-
39
- // Trigger backup creation via REST API
40
- logDebug(
41
- `Creating Weaviate backup '${backupId}' via REST API on port ${port}`,
42
- )
43
-
44
- const response = await weaviateApiRequest(
45
- port,
46
- 'POST',
47
- '/v1/backups/filesystem',
48
- { id: backupId },
49
- 600000, // 10 minute timeout
50
- )
51
-
52
- if (response.status !== 200) {
53
- throw new Error(
54
- `Failed to create Weaviate backup: ${JSON.stringify(response.data)}`,
55
- )
56
- }
57
-
58
- logDebug(`Weaviate backup initiated: ${backupId}`)
59
-
60
- // Poll for backup completion
61
- const maxWait = 300000 // 5 minutes
62
- const startTime = Date.now()
63
-
64
- let backupCompleted = false
65
-
66
- while (Date.now() - startTime < maxWait) {
67
- const statusResponse = await weaviateApiRequest(
68
- port,
69
- 'GET',
70
- `/v1/backups/filesystem/${backupId}`,
71
- )
72
-
73
- if (statusResponse.status === 200) {
74
- const statusData = statusResponse.data as {
75
- status?: string
76
- path?: string
77
- }
78
-
79
- if (statusData.status === 'SUCCESS') {
80
- logDebug(`Weaviate backup completed: ${backupId}`)
81
- backupCompleted = true
82
- break
83
- }
84
-
85
- if (statusData.status === 'FAILED') {
86
- throw new Error(`Weaviate backup failed: ${JSON.stringify(statusData)}`)
87
- }
88
-
89
- logDebug(`Backup status: ${statusData.status}, waiting...`)
90
- }
91
-
92
- await new Promise((r) => setTimeout(r, 1000))
93
- }
94
-
95
- if (!backupCompleted) {
96
- throw new Error(
97
- `Weaviate backup '${backupId}' timed out after ${maxWait / 1000}s without completing`,
98
- )
99
- }
100
-
101
- // Weaviate stores backup at BACKUP_FILESYSTEM_PATH/<backupId>/
102
- // BACKUP_FILESYSTEM_PATH is set to <dataDir>/backups in start()
103
- const dataDir = paths.getContainerDataPath(name, { engine: 'weaviate' })
104
- const backupDir = join(dataDir, 'backups', backupId)
105
-
106
- if (!existsSync(backupDir)) {
107
- throw new Error(
108
- `Weaviate backup directory not found at ${backupDir} after completion`,
109
- )
110
- }
111
-
112
- // Copy entire backup directory to output path
113
- await cp(backupDir, outputPath, { recursive: true })
114
-
115
- // Get total size of backup directory
116
- const files = await readdir(backupDir, { recursive: true })
117
- let totalSize = 0
118
- for (const file of files) {
119
- try {
120
- const filePath = join(backupDir, String(file))
121
- const stats = await stat(filePath)
122
- if (stats.isFile()) {
123
- totalSize += stats.size
124
- }
125
- } catch {
126
- // Skip inaccessible files
127
- }
128
- }
129
-
130
- return {
131
- path: outputPath,
132
- format: 'snapshot',
133
- size: totalSize,
134
- }
135
- }
136
-
137
- /**
138
- * Create a backup for cloning purposes
139
- */
140
- export async function createCloneBackup(
141
- container: ContainerConfig,
142
- outputPath: string,
143
- ): Promise<BackupResult> {
144
- return createBackup(container, outputPath, { database: 'default' })
145
- }
@@ -1,80 +0,0 @@
1
- /**
2
- * Weaviate Binary Manager
3
- *
4
- * Handles downloading, extracting, and managing Weaviate binaries from hostdb.
5
- * Extends BaseBinaryManager for shared download/extraction logic.
6
- *
7
- * Note: Weaviate doesn't support --version flag (as of v1.35.x). We override
8
- * verify() to just check binary existence instead of running it.
9
- */
10
-
11
- import { existsSync } from 'fs'
12
- import { join } from 'path'
13
- import {
14
- BaseBinaryManager,
15
- type BinaryManagerConfig,
16
- } from '../../core/base-binary-manager'
17
- import { getBinaryUrl } from './binary-urls'
18
- import { normalizeVersion } from './version-maps'
19
- import { Engine, Platform, type Arch } from '../../types'
20
- import { paths } from '../../config/paths'
21
-
22
- class WeaviateBinaryManager extends BaseBinaryManager {
23
- protected readonly config: BinaryManagerConfig = {
24
- engine: Engine.Weaviate,
25
- engineName: 'weaviate',
26
- displayName: 'Weaviate',
27
- serverBinary: 'weaviate',
28
- }
29
-
30
- protected getBinaryUrlFromModule(
31
- version: string,
32
- platform: Platform,
33
- arch: Arch,
34
- ): string {
35
- return getBinaryUrl(version, platform, arch)
36
- }
37
-
38
- protected normalizeVersionFromModule(version: string): string {
39
- return normalizeVersion(version)
40
- }
41
-
42
- protected parseVersionFromOutput(stdout: string): string | null {
43
- // Extract version from output like "weaviate v1.35.7" or "1.35.7"
44
- const match = stdout.match(/(?:weaviate\s+)?v?(\d+\.\d+\.\d+)/)
45
- return match?.[1] ?? null
46
- }
47
-
48
- /**
49
- * Override verify to just check binary existence.
50
- * Weaviate doesn't support --version flag (as of v1.35.x).
51
- * See: https://github.com/weaviate/weaviate/issues/6571
52
- */
53
- async verify(
54
- version: string,
55
- platform: Platform,
56
- arch: Arch,
57
- ): Promise<boolean> {
58
- const fullVersion = this.getFullVersion(version)
59
- const binPath = paths.getBinaryPath({
60
- engine: this.config.engineName,
61
- version: fullVersion,
62
- platform,
63
- arch,
64
- })
65
-
66
- const ext = platform === Platform.Win32 ? '.exe' : ''
67
- const serverPath = join(binPath, 'bin', `${this.config.serverBinary}${ext}`)
68
-
69
- if (!existsSync(serverPath)) {
70
- throw new Error(
71
- `${this.config.displayName} binary not found at ${binPath}/bin/`,
72
- )
73
- }
74
-
75
- // Just verify the binary exists - we can't run --version on Weaviate
76
- return true
77
- }
78
- }
79
-
80
- export const weaviateBinaryManager = new WeaviateBinaryManager()
@@ -1,115 +0,0 @@
1
- import { WEAVIATE_VERSION_MAP } from './version-maps'
2
- import { buildHostdbUrl } from '../../core/hostdb-client'
3
- import { logDebug } from '../../core/error-handler'
4
- import { Engine, Platform, type Arch } from '../../types'
5
-
6
- /**
7
- * Supported platform identifiers for hostdb downloads.
8
- * hostdb uses standard Node.js platform naming - this set validates
9
- * that a platform/arch combination is supported, not transforms it.
10
- */
11
- const SUPPORTED_PLATFORMS = new Set([
12
- 'darwin-arm64',
13
- 'darwin-x64',
14
- 'linux-arm64',
15
- 'linux-x64',
16
- 'win32-x64',
17
- ])
18
-
19
- /**
20
- * Get the hostdb platform identifier
21
- *
22
- * hostdb uses standard platform naming that matches Node.js identifiers directly.
23
- * This function validates the platform/arch combination is supported.
24
- *
25
- * @param platform - Node.js platform (e.g., 'darwin', 'linux', 'win32')
26
- * @param arch - Node.js architecture (e.g., 'arm64', 'x64')
27
- * @returns hostdb platform identifier or null if unsupported
28
- */
29
- export function getHostdbPlatform(
30
- platform: Platform,
31
- arch: Arch,
32
- ): string | null {
33
- const key = `${platform}-${arch}`
34
- return SUPPORTED_PLATFORMS.has(key) ? key : null
35
- }
36
-
37
- /**
38
- * Build the download URL for Weaviate binaries from hostdb
39
- *
40
- * Format: https://registry.layerbase.host/weaviate-{version}/weaviate-{version}-{platform}-{arch}.{ext}
41
- *
42
- * @param version - Weaviate version (e.g., '1', '1.35.7')
43
- * @param platform - Platform identifier (e.g., 'darwin', 'linux', 'win32')
44
- * @param arch - Architecture identifier (e.g., 'arm64', 'x64')
45
- * @returns Download URL for the binary
46
- */
47
- export function getBinaryUrl(
48
- version: string,
49
- platform: Platform,
50
- arch: Arch,
51
- ): string {
52
- const platformKey = `${platform}-${arch}`
53
- const hostdbPlatform = getHostdbPlatform(platform, arch)
54
- if (!hostdbPlatform) {
55
- const supported = Array.from(SUPPORTED_PLATFORMS).join(', ')
56
- throw new Error(
57
- `Unsupported platform: ${platformKey}. Supported platforms: ${supported}`,
58
- )
59
- }
60
-
61
- // Normalize version (handles major version lookup and X.Y -> X.Y.Z conversion)
62
- const fullVersion = normalizeVersion(version, WEAVIATE_VERSION_MAP)
63
- const ext = platform === Platform.Win32 ? 'zip' : 'tar.gz'
64
-
65
- return buildHostdbUrl(Engine.Weaviate, {
66
- version: fullVersion,
67
- hostdbPlatform,
68
- extension: ext,
69
- })
70
- }
71
-
72
- /**
73
- * Normalize version string to X.Y.Z format
74
- *
75
- * @param version - Version string (e.g., '1', '1.35', '1.35.7')
76
- * @param versionMap - Optional version map for major version lookup
77
- * @returns Normalized version (e.g., '1.35.7')
78
- */
79
- function normalizeVersion(
80
- version: string,
81
- versionMap: Record<string, string> = WEAVIATE_VERSION_MAP,
82
- ): string {
83
- // Check if it's an exact key in the map (handles "1", "1.35", etc.)
84
- if (versionMap[version]) {
85
- return versionMap[version]
86
- }
87
-
88
- const parts = version.split('.')
89
-
90
- // If it's already a full version (X.Y.Z), return as-is
91
- if (parts.length === 3) {
92
- return version
93
- }
94
-
95
- // For two-part versions (e.g., "1.35"), first try exact two-part key, then fall back to major
96
- if (parts.length === 2) {
97
- const twoPart = `${parts[0]}.${parts[1]}`
98
- if (versionMap[twoPart]) {
99
- return versionMap[twoPart]
100
- }
101
- // Fall back to major version for latest patch
102
- const major = parts[0]
103
- const mapped = versionMap[major]
104
- if (mapped) {
105
- return mapped
106
- }
107
- }
108
-
109
- // Unknown version format - log and return as-is
110
- // This may cause download failures if the version doesn't exist in hostdb
111
- logDebug(
112
- `Weaviate version '${version}' not in version map, may not be available in hostdb`,
113
- )
114
- return version
115
- }