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,290 +0,0 @@
1
- /**
2
- * CouchDB restore module
3
- * Supports JSON-based restore using CouchDB's REST API
4
- */
5
-
6
- import { readFile, open } from 'fs/promises'
7
- import { existsSync, statSync } from 'fs'
8
- import { logDebug } from '../../core/error-handler'
9
- import { couchdbApiRequest } from './api-client'
10
- import type { BackupFormat, RestoreResult } from '../../types'
11
-
12
- // Restore operations may take longer than the default timeout
13
- const RESTORE_TIMEOUT_MS = 600000 // 10 minutes
14
-
15
- type CouchDBBackup = {
16
- version: string
17
- created: string
18
- databases: Array<{
19
- name: string
20
- docs: unknown[]
21
- }>
22
- }
23
-
24
- /**
25
- * Detect backup format from file
26
- * CouchDB backups are JSON files
27
- */
28
- export async function detectBackupFormat(
29
- filePath: string,
30
- ): Promise<BackupFormat> {
31
- if (!existsSync(filePath)) {
32
- throw new Error(`Backup file not found: ${filePath}`)
33
- }
34
-
35
- const stats = statSync(filePath)
36
-
37
- if (stats.isDirectory()) {
38
- return {
39
- format: 'unknown',
40
- description: 'Directory found - CouchDB uses single JSON files',
41
- restoreCommand: 'CouchDB requires a single .json file for restore',
42
- }
43
- }
44
-
45
- // Check file extension
46
- if (filePath.endsWith('.json') || filePath.endsWith('.couchdb')) {
47
- return {
48
- format: 'json',
49
- description: 'CouchDB JSON backup',
50
- restoreCommand: 'spindb restore handles this automatically',
51
- }
52
- }
53
-
54
- // Check file contents for JSON structure
55
- try {
56
- const buffer = Buffer.alloc(100)
57
- const fd = await open(filePath, 'r')
58
- try {
59
- await fd.read(buffer, 0, 100, 0)
60
- const content = buffer.toString('utf-8').trim()
61
-
62
- // Check if it looks like our backup format
63
- if (content.startsWith('{') && content.includes('"version"')) {
64
- return {
65
- format: 'json',
66
- description: 'CouchDB JSON backup (detected by content)',
67
- restoreCommand: 'spindb restore handles this automatically',
68
- }
69
- }
70
- } finally {
71
- await fd.close().catch(() => {})
72
- }
73
- } catch (error) {
74
- logDebug(`Error reading backup file header: ${error}`)
75
- }
76
-
77
- return {
78
- format: 'unknown',
79
- description: 'Unknown backup format',
80
- restoreCommand: 'Use .json or .couchdb file for restore',
81
- }
82
- }
83
-
84
- // Restore options for CouchDB
85
- export type RestoreOptions = {
86
- port: number
87
- database?: string
88
- flush?: boolean
89
- }
90
-
91
- /**
92
- * Restore from JSON backup
93
- *
94
- * @param backupPath - Path to the backup file
95
- * @param options - Restore options including port and optional target database
96
- */
97
- export async function restoreBackup(
98
- backupPath: string,
99
- options: RestoreOptions,
100
- ): Promise<RestoreResult> {
101
- const { port, database: targetDatabase, flush } = options
102
-
103
- if (!existsSync(backupPath)) {
104
- throw new Error(`Backup file not found: ${backupPath}`)
105
- }
106
-
107
- // Detect backup format
108
- const format = await detectBackupFormat(backupPath)
109
- logDebug(`Detected backup format: ${format.format}`)
110
-
111
- if (format.format !== 'json') {
112
- throw new Error(
113
- `Invalid backup format: ${format.format}. Use .json or .couchdb file for restore.`,
114
- )
115
- }
116
-
117
- // Read and parse backup file
118
- const content = await readFile(backupPath, 'utf-8')
119
- let backup: CouchDBBackup
120
-
121
- try {
122
- backup = JSON.parse(content) as CouchDBBackup
123
- } catch (error) {
124
- throw new Error(`Invalid backup file: failed to parse JSON - ${error}`)
125
- }
126
-
127
- if (!backup.databases || !Array.isArray(backup.databases)) {
128
- throw new Error('Invalid backup file: missing databases array')
129
- }
130
-
131
- logDebug(`Restoring ${backup.databases.length} database(s) from backup`)
132
-
133
- let restoredCount = 0
134
- const errors: string[] = []
135
-
136
- for (const dbBackup of backup.databases) {
137
- // Skip if targeting a specific database and this isn't it
138
- if (targetDatabase && dbBackup.name !== targetDatabase) {
139
- continue
140
- }
141
-
142
- const dbName = dbBackup.name
143
- logDebug(
144
- `Restoring database: ${dbName} (${dbBackup.docs.length} documents)`,
145
- )
146
-
147
- // Check if database exists
148
- const checkResponse = await couchdbApiRequest(
149
- port,
150
- 'GET',
151
- `/${encodeURIComponent(dbName)}`,
152
- )
153
-
154
- if (checkResponse.status === 200) {
155
- if (flush) {
156
- // Delete existing database
157
- const deleteResponse = await couchdbApiRequest(
158
- port,
159
- 'DELETE',
160
- `/${encodeURIComponent(dbName)}`,
161
- )
162
- // Accept 200 (OK) or 202 (Accepted) for async deletes
163
- if (deleteResponse.status !== 200 && deleteResponse.status !== 202) {
164
- errors.push(
165
- `Failed to delete existing database ${dbName}: ${JSON.stringify(deleteResponse.data)}`,
166
- )
167
- continue
168
- }
169
- } else {
170
- logDebug(`Database ${dbName} exists, merging documents`)
171
- }
172
- }
173
-
174
- // Create database if it doesn't exist (or was just deleted)
175
- if (checkResponse.status === 404 || flush) {
176
- const createResponse = await couchdbApiRequest(
177
- port,
178
- 'PUT',
179
- `/${encodeURIComponent(dbName)}`,
180
- )
181
- if (createResponse.status !== 201 && createResponse.status !== 412) {
182
- // 412 means database already exists, which is fine
183
- errors.push(
184
- `Failed to create database ${dbName}: ${JSON.stringify(createResponse.data)}`,
185
- )
186
- continue
187
- }
188
- }
189
-
190
- // Prepare documents for bulk insert
191
- // Remove _rev to allow inserting as new documents
192
- const docsToInsert = dbBackup.docs.map((doc) => {
193
- const d = doc as Record<string, unknown>
194
- const { _rev: _, ...rest } = d
195
- return rest
196
- })
197
-
198
- if (docsToInsert.length === 0) {
199
- logDebug(`No documents to restore for ${dbName}`)
200
- restoredCount++
201
- continue
202
- }
203
-
204
- // Bulk insert documents
205
- const bulkResponse = await couchdbApiRequest(
206
- port,
207
- 'POST',
208
- `/${encodeURIComponent(dbName)}/_bulk_docs`,
209
- { docs: docsToInsert },
210
- RESTORE_TIMEOUT_MS,
211
- )
212
-
213
- if (bulkResponse.status !== 201) {
214
- errors.push(
215
- `Failed to restore documents to ${dbName}: ${JSON.stringify(bulkResponse.data)}`,
216
- )
217
- continue
218
- }
219
-
220
- restoredCount++
221
- logDebug(`Restored ${docsToInsert.length} documents to ${dbName}`)
222
- }
223
-
224
- const message =
225
- `Restored ${restoredCount} database(s)` +
226
- (errors.length > 0 ? ` with ${errors.length} error(s)` : '')
227
-
228
- return {
229
- format: 'json',
230
- stdout: message,
231
- stderr: errors.length > 0 ? errors.join('\n') : undefined,
232
- code: errors.length > 0 ? 1 : 0,
233
- }
234
- }
235
-
236
- /**
237
- * Parse CouchDB connection string
238
- * Format: http://host[:port][/database] or https://host[:port][/database]
239
- */
240
- export function parseConnectionString(connectionString: string): {
241
- host: string
242
- port: number
243
- protocol: 'http' | 'https'
244
- database?: string
245
- } {
246
- if (!connectionString || typeof connectionString !== 'string') {
247
- throw new Error(
248
- 'Invalid CouchDB connection string: expected a non-empty string',
249
- )
250
- }
251
-
252
- let url: URL
253
- try {
254
- url = new URL(connectionString)
255
- } catch (error) {
256
- throw new Error(
257
- `Invalid CouchDB connection string: "${connectionString}". ` +
258
- `Expected format: http://host[:port][/database]`,
259
- { cause: error },
260
- )
261
- }
262
-
263
- // Validate protocol
264
- let protocol: 'http' | 'https'
265
- if (url.protocol === 'http:') {
266
- protocol = 'http'
267
- } else if (url.protocol === 'https:') {
268
- protocol = 'https'
269
- } else {
270
- throw new Error(
271
- `Invalid CouchDB connection string: unsupported protocol "${url.protocol}". ` +
272
- `Expected "http://" or "https://"`,
273
- )
274
- }
275
-
276
- const host = url.hostname || '127.0.0.1'
277
- const port = parseInt(url.port, 10) || 5984
278
-
279
- // Extract database from pathname (e.g., /mydb)
280
- const pathname = url.pathname || ''
281
- const database =
282
- pathname.length > 1 ? pathname.slice(1).split('/')[0] : undefined
283
-
284
- return {
285
- host,
286
- port,
287
- protocol,
288
- database,
289
- }
290
- }
@@ -1,78 +0,0 @@
1
- /**
2
- * CouchDB Version Maps
3
- *
4
- * TEMPORARY: This version map will be replaced by the hostdb npm package once published.
5
- * Until then, manually keep this in sync with robertjbass/hostdb releases.json:
6
- * https://github.com/robertjbass/hostdb/blob/main/releases.json
7
- *
8
- * When updating versions:
9
- * 1. Check hostdb releases.json for available versions
10
- * 2. Update COUCHDB_VERSION_MAP to match
11
- */
12
-
13
- import { logDebug } from '../../core/error-handler'
14
-
15
- /**
16
- * Map of major CouchDB versions to their latest stable patch versions.
17
- * Must match versions available in hostdb releases.json.
18
- */
19
- export const COUCHDB_VERSION_MAP: Record<string, string> = {
20
- // 1-part: major version -> latest
21
- '3': '3.5.1',
22
- // 2-part: major.minor -> latest patch
23
- '3.5': '3.5.1',
24
- // 3-part: exact version (identity mapping)
25
- '3.5.1': '3.5.1',
26
- }
27
-
28
- /**
29
- * Supported major CouchDB versions (1-part format).
30
- * Used for grouping and display purposes.
31
- */
32
- export const SUPPORTED_MAJOR_VERSIONS = ['3']
33
-
34
- /**
35
- * Get the full version string for a major version.
36
- *
37
- * @param majorVersion - Major version (e.g., '3')
38
- * @returns Full version string (e.g., '3.5.1') or null if not supported
39
- */
40
- export function getFullVersion(majorVersion: string): string | null {
41
- return COUCHDB_VERSION_MAP[majorVersion] || null
42
- }
43
-
44
- /**
45
- * Normalize a version string to X.Y.Z format.
46
- *
47
- * @param version - Version string (e.g., '3', '3.5', '3.5.1')
48
- * @returns Normalized version (e.g., '3.5.1')
49
- */
50
- export function normalizeVersion(version: string): string {
51
- // If it's in the version map (major, major.minor, or full version), return the mapped value
52
- // Note: Full versions have identity mappings (e.g., '3.5.1' => '3.5.1')
53
- const fullVersion = COUCHDB_VERSION_MAP[version]
54
- if (fullVersion) {
55
- return fullVersion
56
- }
57
-
58
- // Unknown version - warn and return as-is
59
- // This may cause download failures if the version doesn't exist in hostdb
60
- const parts = version.split('.')
61
-
62
- // Validate format: must be 1-3 numeric segments (e.g., "3", "3.5", "3.5.1")
63
- const isValidFormat =
64
- parts.length >= 1 &&
65
- parts.length <= 3 &&
66
- parts.every((p) => /^\d+$/.test(p))
67
-
68
- if (!isValidFormat) {
69
- logDebug(
70
- `CouchDB version '${version}' has invalid format, may not be available in hostdb`,
71
- )
72
- } else {
73
- logDebug(
74
- `CouchDB version '${version}' not in version map, may not be available in hostdb`,
75
- )
76
- }
77
- return version
78
- }
@@ -1,111 +0,0 @@
1
- /**
2
- * CouchDB Version Validator
3
- *
4
- * Utilities for parsing, validating, and comparing CouchDB versions.
5
- */
6
-
7
- import { COUCHDB_VERSION_MAP, SUPPORTED_MAJOR_VERSIONS } from './version-maps'
8
-
9
- /**
10
- * Parsed CouchDB version
11
- */
12
- export type ParsedVersion = {
13
- major: number
14
- minor: number
15
- patch: number
16
- full: string
17
- }
18
-
19
- /**
20
- * Parse a CouchDB version string into components.
21
- *
22
- * @param version - Version string (e.g., '3.5.1')
23
- * @returns Parsed version object or null if invalid
24
- */
25
- export function parseVersion(version: string): ParsedVersion | null {
26
- const match = version.match(/^(\d+)\.(\d+)\.(\d+)$/)
27
- if (!match) {
28
- return null
29
- }
30
-
31
- const [, major, minor, patch] = match
32
- return {
33
- major: parseInt(major, 10),
34
- minor: parseInt(minor, 10),
35
- patch: parseInt(patch, 10),
36
- full: version,
37
- }
38
- }
39
-
40
- /**
41
- * Check if a version string is supported.
42
- *
43
- * @param version - Version string (e.g., '3', '3.5', '3.5.1')
44
- * @returns true if the version is supported
45
- */
46
- export function isVersionSupported(version: string): boolean {
47
- // Check if it's in the version map
48
- if (COUCHDB_VERSION_MAP[version]) {
49
- return true
50
- }
51
-
52
- // Check if major version is supported
53
- const parts = version.split('.')
54
- const major = parts[0]
55
- return SUPPORTED_MAJOR_VERSIONS.includes(major)
56
- }
57
-
58
- /**
59
- * Get the major version from a version string.
60
- *
61
- * @param version - Version string (e.g., '3.5.1')
62
- * @returns Major version string (e.g., '3')
63
- */
64
- export function getMajorVersion(version: string): string {
65
- const parts = version.split('.')
66
- return parts[0]
67
- }
68
-
69
- /**
70
- * Compare two version strings.
71
- *
72
- * @param a - First version string
73
- * @param b - Second version string
74
- * @returns -1 if a < b, 0 if a == b, 1 if a > b
75
- */
76
- export function compareVersions(a: string, b: string): number {
77
- const parsedA = parseVersion(a)
78
- const parsedB = parseVersion(b)
79
-
80
- if (!parsedA || !parsedB) {
81
- // Fall back to string comparison for invalid versions
82
- return a.localeCompare(b)
83
- }
84
-
85
- if (parsedA.major !== parsedB.major) {
86
- return parsedA.major - parsedB.major
87
- }
88
- if (parsedA.minor !== parsedB.minor) {
89
- return parsedA.minor - parsedB.minor
90
- }
91
- return parsedA.patch - parsedB.patch
92
- }
93
-
94
- /**
95
- * Check if two versions are compatible for backup/restore operations.
96
- * CouchDB versions within the same major version are generally compatible.
97
- *
98
- * @param sourceVersion - Source version
99
- * @param targetVersion - Target version
100
- * @returns true if versions are compatible
101
- */
102
- export function isVersionCompatible(
103
- sourceVersion: string,
104
- targetVersion: string,
105
- ): boolean {
106
- const sourceMajor = getMajorVersion(sourceVersion)
107
- const targetMajor = getMajorVersion(targetVersion)
108
-
109
- // Same major version is compatible
110
- return sourceMajor === targetMajor
111
- }
@@ -1,154 +0,0 @@
1
- # DuckDB Engine Implementation
2
-
3
- ## Overview
4
-
5
- DuckDB is an embedded OLAP (analytical) database. Like SQLite, it's file-based with no server process. DuckDB is optimized for analytical queries and columnar storage.
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 - FLAT (No bin/ Subdirectory)
24
-
25
- Like SQLite, DuckDB archives have a **flat structure**:
26
-
27
- ```
28
- duckdb # Main CLI binary
29
- ```
30
-
31
- The `BaseEmbeddedBinaryManager` handles moving this to `bin/` during extraction.
32
-
33
- ### Version Map Sync
34
-
35
- ```typescript
36
- export const DUCKDB_VERSION_MAP: Record<string, string> = {
37
- '1': '1.4.3',
38
- }
39
- ```
40
-
41
- ## Implementation Details
42
-
43
- ### Binary Manager
44
-
45
- DuckDB uses `BaseEmbeddedBinaryManager` with the same file-based model as SQLite.
46
-
47
- ### Version Parsing
48
-
49
- - **Version output format**: `v1.4.3 abcdef123`
50
- - **Parse pattern**: `/v?(\d+\.\d+\.\d+)/`
51
-
52
- ### File-Based Model
53
-
54
- Same as SQLite:
55
- - **No start/stop**: No-ops
56
- - **No port**: Port is always 0
57
- - **No container directory**: Data in user's project directory
58
- - **Registry tracking**: `~/.spindb/config.json` tracks files
59
-
60
- ### Attach/Detach Commands
61
-
62
- - `spindb attach <path>` - Register existing DuckDB file
63
- - `spindb detach <name>` - Unregister (keeps file)
64
-
65
- ### Connection String Format
66
-
67
- ```
68
- duckdb:/path/to/database.duckdb
69
- ```
70
-
71
- Or simply the file path.
72
-
73
- ## Backup & Restore
74
-
75
- ### Backup Formats
76
-
77
- | Format | Extension | Tool | Notes |
78
- |--------|-----------|------|-------|
79
- | sql | `.sql` | Custom export | SQL statements |
80
- | binary | `.duckdb` | File copy | Direct file copy |
81
-
82
- ### OLAP Considerations
83
-
84
- DuckDB backups may be larger than equivalent SQLite backups due to columnar storage format. Binary backup preserves columnar layout for fast analytical queries.
85
-
86
- ## Integration Test Notes
87
-
88
- ### Test Fixtures
89
-
90
- Located in `tests/fixtures/duckdb/seeds/`:
91
- - Test data for OLAP operations
92
-
93
- ### No Port Allocation
94
-
95
- Like SQLite, no server means no ports.
96
-
97
- ## Docker E2E Test Notes
98
-
99
- DuckDB Docker E2E tests verify:
100
- - File operations
101
- - SQL execution
102
- - Backup/restore
103
- - Attach/detach workflow
104
-
105
- ## Known Issues & Gotchas
106
-
107
- ### 1. Flat Archive Structure
108
-
109
- Same as SQLite - binaries at root, not in `bin/`.
110
-
111
- ### 2. OLAP vs OLTP
112
-
113
- DuckDB is optimized for analytical (OLAP) workloads:
114
- - Fast columnar scans
115
- - Efficient aggregations
116
- - May be slower for single-row operations
117
-
118
- ### 3. Memory Usage
119
-
120
- DuckDB uses memory aggressively for performance. Large analytical queries may consume significant RAM.
121
-
122
- ### 4. File Extensions
123
-
124
- DuckDB databases typically use `.duckdb` or `.db` extension. The engine accepts any extension.
125
-
126
- ### 5. Concurrent Access
127
-
128
- DuckDB allows multiple readers but only one writer. Similar to SQLite's locking model.
129
-
130
- ### 6. Extensions
131
-
132
- DuckDB supports extensions (parquet, httpfs, etc.). Extension loading requires the binary to be in a writable location.
133
-
134
- ## DuckDB vs SQLite
135
-
136
- | Feature | DuckDB | SQLite |
137
- |---------|--------|--------|
138
- | Workload | OLAP (analytical) | OLTP (transactional) |
139
- | Storage | Columnar | Row-based |
140
- | Large scans | Very fast | Slower |
141
- | Single rows | Slower | Very fast |
142
- | Memory | Aggressive | Conservative |
143
-
144
- ## CI/CD Notes
145
-
146
- ### GitHub Actions Cache Step
147
-
148
- ```yaml
149
- - name: Cache DuckDB binaries
150
- uses: actions/cache@v4
151
- with:
152
- path: ~/.spindb/bin/duckdb-*
153
- key: duckdb-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('engines/duckdb/version-maps.ts') }}
154
- ```
@@ -1,45 +0,0 @@
1
- /**
2
- * DuckDB Binary Manager
3
- *
4
- * Handles downloading, extracting, and managing DuckDB binaries from hostdb.
5
- * Unlike other engines, DuckDB is an embedded database (not a server).
6
- * This manager handles the duckdb CLI tool.
7
- */
8
-
9
- import {
10
- BaseEmbeddedBinaryManager,
11
- type EmbeddedBinaryManagerConfig,
12
- } from '../../core/base-embedded-binary-manager'
13
- import { getBinaryUrl } from './binary-urls'
14
- import { normalizeVersion } from './version-maps'
15
- import { Engine, type Platform, type Arch } from '../../types'
16
-
17
- class DuckDBBinaryManager extends BaseEmbeddedBinaryManager {
18
- protected readonly config: EmbeddedBinaryManagerConfig = {
19
- engine: Engine.DuckDB,
20
- engineName: 'duckdb',
21
- displayName: 'DuckDB',
22
- primaryBinary: 'duckdb',
23
- executableNames: ['duckdb'],
24
- }
25
-
26
- protected getBinaryUrlFromModule(
27
- version: string,
28
- platform: Platform,
29
- arch: Arch,
30
- ): string {
31
- return getBinaryUrl(version, platform, arch)
32
- }
33
-
34
- protected normalizeVersionFromModule(version: string): string {
35
- return normalizeVersion(version)
36
- }
37
-
38
- protected parseVersionFromOutput(stdout: string): string | null {
39
- // Extract version from output like "v1.4.3 abcdef123"
40
- const match = stdout.match(/v?(\d+\.\d+\.\d+)/)
41
- return match?.[1] ?? null
42
- }
43
- }
44
-
45
- export const duckdbBinaryManager = new DuckDBBinaryManager()
@@ -1,23 +0,0 @@
1
- /**
2
- * hostdb Releases Module for DuckDB
3
- *
4
- * Fetches DuckDB binary information from the hostdb repository at
5
- * https://github.com/robertjbass/hostdb
6
- */
7
-
8
- import { createHostdbReleases } from '../../core/hostdb-releases-factory'
9
- import { DUCKDB_VERSION_MAP, SUPPORTED_MAJOR_VERSIONS } from './version-maps'
10
- import { duckdbBinaryManager } from './binary-manager'
11
- import { Engine } from '../../types'
12
-
13
- const hostdbReleases = createHostdbReleases({
14
- engine: Engine.DuckDB,
15
- displayName: 'DuckDB',
16
- versionMap: DUCKDB_VERSION_MAP,
17
- supportedMajorVersions: SUPPORTED_MAJOR_VERSIONS,
18
- groupingStrategy: 'single-digit',
19
- listInstalled: () => duckdbBinaryManager.listInstalled(),
20
- })
21
-
22
- export const fetchAvailableVersions = hostdbReleases.fetchAvailableVersions
23
- export const getLatestVersion = hostdbReleases.getLatestVersion