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,350 +0,0 @@
1
- /**
2
- * Fetches metadata from hostdb (databases.json and downloads.json)
3
- * to understand what tools each engine needs and how to install them.
4
- *
5
- * Primary registry: registry.layerbase.host
6
- * Fallback registry: GitHub raw (robertjbass/hostdb)
7
- *
8
- * Architecture:
9
- * - databases.json: Lists server, client, utilities, and enhanced CLI tools for each engine
10
- * - downloads.json: Provides package manager commands for installing tools
11
- */
12
-
13
- import { logDebug } from './error-handler'
14
- import { LAYERBASE_REGISTRY_BASE } from './hostdb-client'
15
- import type { Engine } from '../types'
16
-
17
- const GITHUB_RAW_BASE =
18
- 'https://raw.githubusercontent.com/robertjbass/hostdb/main'
19
-
20
- const CACHE_TTL_MS = 5 * 60 * 1000 // 5 minutes
21
-
22
- type CliTools = {
23
- server: string | null
24
- client: string | null
25
- utilities: string[]
26
- enhanced: string[]
27
- }
28
-
29
- export type VersionEntryObject = {
30
- enabled?: boolean
31
- platforms?: string[]
32
- dependencies?: Array<{
33
- database: string
34
- cascadeDelete: boolean
35
- note?: string
36
- }>
37
- cliTools?: CliTools
38
- }
39
-
40
- type DatabaseEntry = {
41
- displayName: string
42
- cliTools: CliTools
43
- versions: Record<string, boolean | VersionEntryObject>
44
- platforms?: string[]
45
- dependencies?: Array<{
46
- database: string
47
- cascadeDelete: boolean
48
- note?: string
49
- }>
50
- spindbStatus?: string
51
- hostedServiceAllowed?: boolean
52
- }
53
-
54
- type PackageManagerDef = {
55
- name: string
56
- platforms: string[]
57
- installCmd: string
58
- checkCmd: string
59
- }
60
-
61
- type ToolPackageInfo = {
62
- package: string
63
- tap?: string // Homebrew tap
64
- repo?: string // apt repository
65
- }
66
-
67
- type ToolDownloadInfo = {
68
- packages?: {
69
- brew?: ToolPackageInfo
70
- apt?: ToolPackageInfo
71
- yum?: ToolPackageInfo
72
- dnf?: ToolPackageInfo
73
- choco?: ToolPackageInfo
74
- }
75
- }
76
-
77
- // databases.json is keyed directly by engine name
78
- type DatabasesJson = Record<string, DatabaseEntry>
79
-
80
- type DownloadsJson = {
81
- packageManagers: Record<string, PackageManagerDef>
82
- tools: Record<string, ToolDownloadInfo>
83
- }
84
-
85
- // Simple in-memory cache
86
- let databasesCache: { data: DatabasesJson; timestamp: number } | null = null
87
- let downloadsCache: { data: DownloadsJson; timestamp: number } | null = null
88
-
89
- // In-flight request deduplication to prevent parallel fetches for the same URL
90
- const inFlightRequests = new Map<string, Promise<unknown>>()
91
-
92
- async function fetchWithCache<T>(
93
- urls: string[],
94
- getCache: () => { data: T; timestamp: number } | null,
95
- setCache: (cache: { data: T; timestamp: number }) => void,
96
- ): Promise<T> {
97
- // Use getter to always check the freshest cache state
98
- const cache = getCache()
99
- const now = Date.now()
100
- if (cache && now - cache.timestamp < CACHE_TTL_MS) {
101
- return cache.data
102
- }
103
-
104
- // Check for in-flight request using the primary URL as key
105
- const cacheKey = urls[0]
106
- const inFlight = inFlightRequests.get(cacheKey)
107
- if (inFlight) {
108
- return inFlight as Promise<T>
109
- }
110
-
111
- // Create the fetch promise — try each URL in order
112
- const fetchPromise = (async () => {
113
- try {
114
- let lastError: Error | null = null
115
- for (const url of urls) {
116
- try {
117
- const response = await fetch(url)
118
- if (!response.ok) {
119
- throw new Error(`Failed to fetch ${url}: ${response.status}`)
120
- }
121
-
122
- const data = (await response.json()) as T
123
- setCache({ data, timestamp: Date.now() })
124
- return data
125
- } catch (error) {
126
- lastError = error as Error
127
- logDebug(`Metadata fetch from ${url} failed: ${lastError.message}`)
128
- }
129
- }
130
- throw lastError ?? new Error('All metadata URLs failed')
131
- } finally {
132
- inFlightRequests.delete(cacheKey)
133
- }
134
- })()
135
-
136
- inFlightRequests.set(cacheKey, fetchPromise)
137
- return fetchPromise
138
- }
139
-
140
- export async function fetchDatabasesJson(): Promise<DatabasesJson> {
141
- return fetchWithCache(
142
- [
143
- `${LAYERBASE_REGISTRY_BASE}/databases.json`,
144
- `${GITHUB_RAW_BASE}/databases.json`,
145
- ],
146
- () => databasesCache,
147
- (c) => {
148
- databasesCache = c
149
- },
150
- )
151
- }
152
-
153
- export async function fetchDownloadsJson(): Promise<DownloadsJson> {
154
- return fetchWithCache(
155
- [
156
- `${LAYERBASE_REGISTRY_BASE}/downloads.json`,
157
- `${GITHUB_RAW_BASE}/downloads.json`,
158
- ],
159
- () => downloadsCache,
160
- (c) => {
161
- downloadsCache = c
162
- },
163
- )
164
- }
165
-
166
- /**
167
- * Get the CLI tools definition for a database engine
168
- * @param engine Engine (e.g., Engine.PostgreSQL or 'postgresql')
169
- */
170
- export async function getDatabaseTools(
171
- engine: Engine | string,
172
- ): Promise<CliTools | null> {
173
- try {
174
- const data = await fetchDatabasesJson()
175
- // hostdb uses lowercase engine names
176
- const key = engine.toLowerCase()
177
- const entry = data[key]
178
- return entry?.cliTools || null
179
- } catch (error) {
180
- logDebug('Failed to fetch database tools from hostdb', {
181
- engine,
182
- error: error instanceof Error ? error.message : String(error),
183
- })
184
- return null
185
- }
186
- }
187
-
188
- /**
189
- * Get the client tools required for a database engine
190
- * Returns an array of tool names (client + utilities)
191
- */
192
- export async function getRequiredClientTools(
193
- engine: Engine | string,
194
- ): Promise<string[]> {
195
- const cliTools = await getDatabaseTools(engine)
196
- if (!cliTools) return []
197
-
198
- const required: string[] = []
199
- if (cliTools.client) {
200
- required.push(cliTools.client)
201
- }
202
- if (cliTools.utilities) {
203
- required.push(...cliTools.utilities)
204
- }
205
- return required
206
- }
207
-
208
- /**
209
- * Get package manager info for a specific tool
210
- * @param tool Tool name (e.g., 'psql', 'mysqldump')
211
- */
212
- export async function getToolPackageInfo(
213
- tool: string,
214
- ): Promise<ToolDownloadInfo | null> {
215
- try {
216
- const data = await fetchDownloadsJson()
217
- return data.tools[tool] || null
218
- } catch (error) {
219
- logDebug('Failed to fetch tool package info from hostdb', {
220
- tool,
221
- error: error instanceof Error ? error.message : String(error),
222
- })
223
- return null
224
- }
225
- }
226
-
227
- /**
228
- * Get the install command for a tool using a specific package manager
229
- * @param tool Tool name (e.g., 'psql', 'pg_dump')
230
- * @param packageManager Package manager key (e.g., 'brew', 'apt')
231
- * @returns The full install command, or null if not available
232
- */
233
- export async function getInstallCommand(
234
- tool: string,
235
- packageManager: 'brew' | 'apt' | 'yum' | 'dnf' | 'choco',
236
- ): Promise<string | null> {
237
- try {
238
- const data = await fetchDownloadsJson()
239
-
240
- // Get the package manager definition
241
- const pmDef = data.packageManagers[packageManager]
242
- if (!pmDef) return null
243
-
244
- // Get the tool's package info for this package manager
245
- const toolInfo = data.tools[tool]
246
- if (!toolInfo?.packages?.[packageManager]) return null
247
-
248
- const pkgInfo = toolInfo.packages[packageManager]
249
-
250
- // Build the command
251
- let cmd = pmDef.installCmd.replace('{package}', pkgInfo.package)
252
-
253
- // Handle Homebrew taps
254
- if (packageManager === 'brew' && pkgInfo.tap) {
255
- cmd = `brew tap ${pkgInfo.tap} && ${cmd}`
256
- }
257
-
258
- return cmd
259
- } catch (error) {
260
- logDebug('Failed to get install command from hostdb', {
261
- tool,
262
- packageManager,
263
- error: error instanceof Error ? error.message : String(error),
264
- })
265
- return null
266
- }
267
- }
268
-
269
- /**
270
- * Get the package to install that provides a set of tools
271
- * For many tools, a single package provides multiple binaries (e.g., postgresql provides psql, pg_dump, etc.)
272
- * This returns the unique packages needed to install all the requested tools
273
- */
274
- export async function getPackagesForTools(
275
- tools: string[],
276
- packageManager: 'brew' | 'apt' | 'yum' | 'dnf' | 'choco',
277
- ): Promise<Array<{ package: string; tap?: string; tools: string[] }>> {
278
- try {
279
- const data = await fetchDownloadsJson()
280
- const packageMap = new Map<string, { tap?: string; tools: string[] }>()
281
-
282
- for (const tool of tools) {
283
- const toolInfo = data.tools[tool]
284
- if (!toolInfo?.packages?.[packageManager]) continue
285
-
286
- const pkgInfo = toolInfo.packages[packageManager]
287
- const key = pkgInfo.package
288
-
289
- const existing = packageMap.get(key)
290
- if (existing) {
291
- existing.tools.push(tool)
292
- } else {
293
- packageMap.set(key, {
294
- tap: pkgInfo.tap,
295
- tools: [tool],
296
- })
297
- }
298
- }
299
-
300
- return Array.from(packageMap.entries()).map(([pkg, info]) => ({
301
- package: pkg,
302
- tap: info.tap,
303
- tools: info.tools,
304
- }))
305
- } catch (error) {
306
- logDebug('Failed to get packages for tools from hostdb', {
307
- tools,
308
- packageManager,
309
- error: error instanceof Error ? error.message : String(error),
310
- })
311
- return []
312
- }
313
- }
314
-
315
- /**
316
- * Check if a version entry is enabled.
317
- * Handles both old schema (boolean) and new schema (object with optional enabled field).
318
- * Objects are enabled by default unless explicitly `{ enabled: false }`.
319
- */
320
- export function isVersionEnabled(value: boolean | VersionEntryObject): boolean {
321
- if (typeof value === 'boolean') return value
322
- return value.enabled !== false
323
- }
324
-
325
- /**
326
- * Get available versions for a database engine from databases.json
327
- * This is the authoritative source for what versions are actually available in hostdb.
328
- * @param engine Engine (e.g., Engine.PostgreSQL or 'postgresql')
329
- * @returns Array of available version strings, or null if fetch fails
330
- */
331
- export async function getAvailableVersions(
332
- engine: Engine | string,
333
- ): Promise<string[] | null> {
334
- try {
335
- const data = await fetchDatabasesJson()
336
- const key = engine.toLowerCase()
337
- const entry = data[key]
338
- if (!entry?.versions) return null
339
-
340
- return Object.entries(entry.versions)
341
- .filter(([, value]) => isVersionEnabled(value))
342
- .map(([version]) => version)
343
- } catch (error) {
344
- logDebug('Failed to fetch available versions from hostdb', {
345
- engine,
346
- error: error instanceof Error ? error.message : String(error),
347
- })
348
- return null
349
- }
350
- }
@@ -1,237 +0,0 @@
1
- /**
2
- * hostdb Releases Factory
3
- *
4
- * Creates standardized hostdb-releases modules for database engines.
5
- * This reduces code duplication across engines that follow the same pattern.
6
- *
7
- * The factory creates two functions:
8
- * - fetchAvailableVersions(): Fetches available versions grouped by major version
9
- * - getLatestVersion(major): Gets the latest version for a major version
10
- */
11
-
12
- import { compareVersions } from './version-utils'
13
- import { getAvailableVersions as getHostdbVersions } from './hostdb-metadata'
14
- import { logDebug } from './error-handler'
15
- import type { Engine, InstalledBinary } from '../types'
16
-
17
- /**
18
- * Grouping strategy for version numbers:
19
- * - 'single-digit': Group by first segment (e.g., 17.7.0 → 17)
20
- * - 'xy-format': Group by first two segments (e.g., 8.0.40 → 8.0)
21
- */
22
- export type GroupingStrategy = 'single-digit' | 'xy-format'
23
-
24
- /**
25
- * Configuration for creating hostdb-releases functions
26
- */
27
- export type HostdbReleasesConfig = {
28
- /** Engine enum value */
29
- engine: Engine
30
- /** Display name for log messages */
31
- displayName: string
32
- /** Version map from major to full version */
33
- versionMap: Record<string, string>
34
- /** Supported major versions */
35
- supportedMajorVersions: readonly string[]
36
- /** Strategy for grouping versions by major version */
37
- groupingStrategy: GroupingStrategy
38
- /** Function to list installed binaries for offline fallback */
39
- listInstalled: () => Promise<InstalledBinary[]>
40
- /**
41
- * Optional custom function to extract major version.
42
- * Use this for engines with non-standard version grouping (e.g., ClickHouse's YY.MM,
43
- * MySQL's conditional X.Y vs X grouping).
44
- */
45
- getMajorVersion?: (version: string) => string
46
- }
47
-
48
- /**
49
- * Return type for the factory
50
- */
51
- export type HostdbReleasesModule = {
52
- fetchAvailableVersions: () => Promise<Record<string, string[]>>
53
- getLatestVersion: (major: string) => Promise<string>
54
- }
55
-
56
- /**
57
- * Default function to extract major version based on grouping strategy
58
- */
59
- function defaultGetMajorVersion(
60
- version: string,
61
- strategy: GroupingStrategy,
62
- ): string {
63
- const trimmed = version?.trim()
64
- if (!trimmed) {
65
- return ''
66
- }
67
- const parts = trimmed.split('.')
68
- if (strategy === 'xy-format') {
69
- return parts.length >= 2 ? `${parts[0]}.${parts[1]}` : (parts[0] ?? '')
70
- }
71
- return parts[0] ?? ''
72
- }
73
-
74
- /**
75
- * Create hostdb-releases functions for an engine
76
- */
77
- export function createHostdbReleases(
78
- config: HostdbReleasesConfig,
79
- ): HostdbReleasesModule {
80
- const {
81
- engine,
82
- displayName,
83
- versionMap,
84
- supportedMajorVersions,
85
- groupingStrategy,
86
- listInstalled,
87
- } = config
88
-
89
- // Use custom getMajorVersion if provided, otherwise use default
90
- const getMajorVersion =
91
- config.getMajorVersion ??
92
- ((version: string) => defaultGetMajorVersion(version, groupingStrategy))
93
-
94
- // Cache for fetchAvailableVersions to avoid repeated network requests
95
- let cachedVersions: Record<string, string[]> | null = null
96
- let cachedAt = 0
97
- const cacheTTLMs = 30_000 // 30 seconds
98
- let inflightFetchPromise: Promise<Record<string, string[]>> | null = null
99
-
100
- /**
101
- * Get hardcoded versions as last resort fallback
102
- */
103
- function getHardcodedVersions(): Record<string, string[]> {
104
- const grouped: Record<string, string[]> = {}
105
- for (const major of supportedMajorVersions) {
106
- const version = versionMap[major]
107
- if (version) {
108
- grouped[major] = [version]
109
- }
110
- }
111
- return grouped
112
- }
113
-
114
- /**
115
- * Get available versions from hostdb, grouped by major version
116
- */
117
- async function fetchAvailableVersions(): Promise<Record<string, string[]>> {
118
- // Try to fetch from hostdb databases.json (authoritative source)
119
- try {
120
- const versions = await getHostdbVersions(engine)
121
-
122
- if (versions && versions.length > 0) {
123
- // Group versions by major version
124
- const grouped: Record<string, string[]> = {}
125
-
126
- for (const version of versions) {
127
- const major = getMajorVersion(version)
128
- if (!grouped[major]) {
129
- grouped[major] = []
130
- }
131
- grouped[major].push(version)
132
- }
133
-
134
- // Sort each group descending (latest first)
135
- for (const major of Object.keys(grouped)) {
136
- grouped[major].sort((a, b) => compareVersions(b, a))
137
- }
138
-
139
- return grouped
140
- }
141
- } catch (error) {
142
- logDebug(
143
- `Failed to fetch ${displayName} versions from hostdb, checking local`,
144
- {
145
- error: error instanceof Error ? error.message : String(error),
146
- },
147
- )
148
- }
149
-
150
- // Offline fallback: return only locally installed versions
151
- const installed = await listInstalled()
152
- if (installed.length > 0) {
153
- const result: Record<string, string[]> = {}
154
- for (const binary of installed) {
155
- const major = getMajorVersion(binary.version)
156
- if (!result[major]) {
157
- result[major] = []
158
- }
159
- if (!result[major].includes(binary.version)) {
160
- result[major].push(binary.version)
161
- }
162
- }
163
- // Sort each major version group descending
164
- for (const major of Object.keys(result)) {
165
- result[major].sort((a, b) => compareVersions(b, a))
166
- }
167
- return result
168
- }
169
-
170
- // Last resort: return hardcoded version map
171
- return getHardcodedVersions()
172
- }
173
-
174
- /**
175
- * Get cached versions if fresh, otherwise fetch and cache.
176
- * Uses inflightFetchPromise to dedupe concurrent requests.
177
- */
178
- async function getCachedVersions(): Promise<Record<string, string[]>> {
179
- const now = Date.now()
180
-
181
- // Return cached result if fresh
182
- if (cachedVersions && now - cachedAt < cacheTTLMs) {
183
- return cachedVersions
184
- }
185
-
186
- // If there's an inflight request, await it instead of starting a new one
187
- if (inflightFetchPromise) {
188
- return inflightFetchPromise
189
- }
190
-
191
- // Start new fetch, store promise to dedupe concurrent calls
192
- inflightFetchPromise = fetchAvailableVersions()
193
- .then((versions) => {
194
- cachedVersions = versions
195
- cachedAt = Date.now()
196
- inflightFetchPromise = null
197
- return versions
198
- })
199
- .catch((error) => {
200
- // Clear inflight promise on error so subsequent calls can retry
201
- inflightFetchPromise = null
202
- throw error
203
- })
204
-
205
- return inflightFetchPromise
206
- }
207
-
208
- /**
209
- * Get the latest version for a major version from hostdb.
210
- * Uses cached fetchAvailableVersions result to avoid repeated network requests.
211
- */
212
- async function getLatestVersion(major: string): Promise<string> {
213
- const versions = await getCachedVersions()
214
- const majorVersions = versions[major]
215
- if (majorVersions && majorVersions.length > 0) {
216
- return majorVersions[0] // First is latest due to descending sort
217
- }
218
-
219
- // Fallback to version map
220
- if (versionMap[major]) {
221
- return versionMap[major]
222
- }
223
-
224
- // Generate default version based on grouping strategy
225
- if (groupingStrategy === 'xy-format') {
226
- // For X.Y format, add .0 to get X.Y.0
227
- return `${major}.0`
228
- }
229
- // For single-digit, add .0.0 to get X.0.0
230
- return `${major}.0.0`
231
- }
232
-
233
- return {
234
- fetchAvailableVersions: getCachedVersions,
235
- getLatestVersion,
236
- }
237
- }
@@ -1,118 +0,0 @@
1
- /**
2
- * Library environment utilities for dynamically-linked engine binaries.
3
- *
4
- * MariaDB, Redis, and Valkey hostdb binaries are linked against Homebrew's
5
- * OpenSSL at absolute paths (e.g. /opt/homebrew/opt/openssl@3/lib/libssl.3.dylib).
6
- * On systems without that library, they fail with cryptic dyld errors.
7
- *
8
- * This module provides:
9
- * - getLibraryEnv(): sets DYLD_FALLBACK_LIBRARY_PATH / LD_LIBRARY_PATH so
10
- * the dynamic linker checks {binPath}/lib first (preparing for when hostdb
11
- * bundles dylibs alongside binaries).
12
- * - detectLibraryError(): scans process output for library-loading patterns
13
- * and returns an actionable error message.
14
- */
15
-
16
- import { platform as osPlatform } from 'os'
17
- import { join } from 'path'
18
-
19
- /**
20
- * Returns env vars that point the dynamic linker at {binPath}/lib.
21
- * On macOS: DYLD_FALLBACK_LIBRARY_PATH
22
- * On Linux: LD_LIBRARY_PATH
23
- * On Windows: returns undefined (not applicable).
24
- *
25
- * Usage: spread into spawn env: `{ ...process.env, ...getLibraryEnv(binPath) }`
26
- */
27
- export function getLibraryEnv(
28
- binPath: string,
29
- ): Record<string, string> | undefined {
30
- const plat = osPlatform()
31
- const libDir = join(binPath, 'lib')
32
-
33
- if (plat === 'darwin') {
34
- return { DYLD_FALLBACK_LIBRARY_PATH: libDir }
35
- }
36
- if (plat === 'linux') {
37
- return { LD_LIBRARY_PATH: libDir }
38
- }
39
- return undefined
40
- }
41
-
42
- /**
43
- * Scans stderr/log output for dynamic library loading errors and returns
44
- * an actionable message, or null if no library error was detected.
45
- */
46
- export function detectLibraryError(
47
- output: string,
48
- engineName: string,
49
- ): string | null {
50
- if (!output) return null
51
-
52
- const plat = osPlatform()
53
- const lower = output.toLowerCase()
54
-
55
- // macOS dyld errors
56
- if (
57
- lower.includes('library not loaded') ||
58
- lower.includes('dyld:') ||
59
- lower.includes('dyld[')
60
- ) {
61
- const needsOpenssl = lower.includes('libssl') || lower.includes('libcrypto')
62
-
63
- if (needsOpenssl && plat === 'darwin') {
64
- return (
65
- `${engineName} failed to start: missing OpenSSL libraries.\n` +
66
- `The downloaded binary requires OpenSSL 3 which is not installed.\n` +
67
- `Fix: brew install openssl@3\n` +
68
- `Alternatively, re-download binaries after hostdb ships relocatable builds.`
69
- )
70
- }
71
-
72
- return (
73
- `${engineName} failed to start: a required dynamic library could not be loaded.\n` +
74
- `This typically means the hostdb binary was built against libraries not present on this system.\n` +
75
- (plat === 'darwin'
76
- ? `Try: brew install openssl@3\n`
77
- : `Try: sudo apt-get install libssl-dev (or the equivalent for your distro)\n`) +
78
- `See: https://github.com/robertjbass/hostdb/issues`
79
- )
80
- }
81
-
82
- // Linux GLIBC version errors
83
- if (lower.includes('glibc') || lower.includes('libc.so')) {
84
- return (
85
- `${engineName} failed to start: incompatible system C library (GLIBC).\n` +
86
- `The downloaded binary requires a newer GLIBC version than is installed.\n` +
87
- `Options:\n` +
88
- ` - Upgrade your OS to a newer version\n` +
89
- ` - Use Docker: spindb can run inside containers with newer GLIBC\n` +
90
- `See: https://github.com/robertjbass/hostdb/issues`
91
- )
92
- }
93
-
94
- // Generic shared library errors on Linux
95
- if (
96
- lower.includes('error while loading shared libraries') ||
97
- lower.includes('cannot open shared object file')
98
- ) {
99
- const needsOpenssl = lower.includes('libssl') || lower.includes('libcrypto')
100
-
101
- if (needsOpenssl) {
102
- return (
103
- `${engineName} failed to start: missing OpenSSL libraries.\n` +
104
- `Fix: sudo apt-get install libssl-dev (Debian/Ubuntu)\n` +
105
- ` sudo dnf install openssl-devel (Fedora/RHEL)\n` +
106
- `See: https://github.com/robertjbass/hostdb/issues`
107
- )
108
- }
109
-
110
- return (
111
- `${engineName} failed to start: a required shared library is missing.\n` +
112
- `Check the error output above for the specific library name and install it.\n` +
113
- `See: https://github.com/robertjbass/hostdb/issues`
114
- )
115
- }
116
-
117
- return null
118
- }