@supatype/cli 0.1.0-alpha.10

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 (416) hide show
  1. package/.turbo/turbo-build.log +4 -0
  2. package/.turbo/turbo-test.log +221 -0
  3. package/.turbo/turbo-typecheck.log +4 -0
  4. package/assets/supatype-logo-wordmark.ascii.txt +6 -0
  5. package/bin/dev-entry.ts +2 -0
  6. package/bin/supatype.js +5 -0
  7. package/dist/app/framework.d.ts +44 -0
  8. package/dist/app/framework.d.ts.map +1 -0
  9. package/dist/app/framework.js +200 -0
  10. package/dist/app/framework.js.map +1 -0
  11. package/dist/app/proxy-dev-app.d.ts +13 -0
  12. package/dist/app/proxy-dev-app.d.ts.map +1 -0
  13. package/dist/app/proxy-dev-app.js +54 -0
  14. package/dist/app/proxy-dev-app.js.map +1 -0
  15. package/dist/app-config.d.ts +7 -0
  16. package/dist/app-config.d.ts.map +1 -0
  17. package/dist/app-config.js +113 -0
  18. package/dist/app-config.js.map +1 -0
  19. package/dist/assets/supatype-logo-wordmark.ascii.txt +6 -0
  20. package/dist/augmentation-generator.d.ts +2 -0
  21. package/dist/augmentation-generator.d.ts.map +1 -0
  22. package/dist/augmentation-generator.js +111 -0
  23. package/dist/augmentation-generator.js.map +1 -0
  24. package/dist/binary-cache.d.ts +98 -0
  25. package/dist/binary-cache.d.ts.map +1 -0
  26. package/dist/binary-cache.js +687 -0
  27. package/dist/binary-cache.js.map +1 -0
  28. package/dist/cli.d.ts +2 -0
  29. package/dist/cli.d.ts.map +1 -0
  30. package/dist/cli.js +61 -0
  31. package/dist/cli.js.map +1 -0
  32. package/dist/commands/admin.d.ts +4 -0
  33. package/dist/commands/admin.d.ts.map +1 -0
  34. package/dist/commands/admin.js +271 -0
  35. package/dist/commands/admin.js.map +1 -0
  36. package/dist/commands/app.d.ts +3 -0
  37. package/dist/commands/app.d.ts.map +1 -0
  38. package/dist/commands/app.js +82 -0
  39. package/dist/commands/app.js.map +1 -0
  40. package/dist/commands/cache.d.ts +6 -0
  41. package/dist/commands/cache.d.ts.map +1 -0
  42. package/dist/commands/cache.js +105 -0
  43. package/dist/commands/cache.js.map +1 -0
  44. package/dist/commands/cloud.d.ts +23 -0
  45. package/dist/commands/cloud.d.ts.map +1 -0
  46. package/dist/commands/cloud.js +254 -0
  47. package/dist/commands/cloud.js.map +1 -0
  48. package/dist/commands/db.d.ts +8 -0
  49. package/dist/commands/db.d.ts.map +1 -0
  50. package/dist/commands/db.js +116 -0
  51. package/dist/commands/db.js.map +1 -0
  52. package/dist/commands/deploy-types.d.ts +14 -0
  53. package/dist/commands/deploy-types.d.ts.map +1 -0
  54. package/dist/commands/deploy-types.js +38 -0
  55. package/dist/commands/deploy-types.js.map +1 -0
  56. package/dist/commands/deploy.d.ts +15 -0
  57. package/dist/commands/deploy.d.ts.map +1 -0
  58. package/dist/commands/deploy.js +322 -0
  59. package/dist/commands/deploy.js.map +1 -0
  60. package/dist/commands/dev.d.ts +14 -0
  61. package/dist/commands/dev.d.ts.map +1 -0
  62. package/dist/commands/dev.js +806 -0
  63. package/dist/commands/dev.js.map +1 -0
  64. package/dist/commands/diff.d.ts +3 -0
  65. package/dist/commands/diff.d.ts.map +1 -0
  66. package/dist/commands/diff.js +54 -0
  67. package/dist/commands/diff.js.map +1 -0
  68. package/dist/commands/engine.d.ts +7 -0
  69. package/dist/commands/engine.d.ts.map +1 -0
  70. package/dist/commands/engine.js +27 -0
  71. package/dist/commands/engine.js.map +1 -0
  72. package/dist/commands/functions.d.ts +3 -0
  73. package/dist/commands/functions.d.ts.map +1 -0
  74. package/dist/commands/functions.js +749 -0
  75. package/dist/commands/functions.js.map +1 -0
  76. package/dist/commands/generate.d.ts +3 -0
  77. package/dist/commands/generate.d.ts.map +1 -0
  78. package/dist/commands/generate.js +38 -0
  79. package/dist/commands/generate.js.map +1 -0
  80. package/dist/commands/init.d.ts +7 -0
  81. package/dist/commands/init.d.ts.map +1 -0
  82. package/dist/commands/init.js +228 -0
  83. package/dist/commands/init.js.map +1 -0
  84. package/dist/commands/keys.d.ts +4 -0
  85. package/dist/commands/keys.d.ts.map +1 -0
  86. package/dist/commands/keys.js +57 -0
  87. package/dist/commands/keys.js.map +1 -0
  88. package/dist/commands/logs.d.ts +6 -0
  89. package/dist/commands/logs.d.ts.map +1 -0
  90. package/dist/commands/logs.js +52 -0
  91. package/dist/commands/logs.js.map +1 -0
  92. package/dist/commands/migrate-from-v1.d.ts +5 -0
  93. package/dist/commands/migrate-from-v1.d.ts.map +1 -0
  94. package/dist/commands/migrate-from-v1.js +125 -0
  95. package/dist/commands/migrate-from-v1.js.map +1 -0
  96. package/dist/commands/migrate.d.ts +3 -0
  97. package/dist/commands/migrate.d.ts.map +1 -0
  98. package/dist/commands/migrate.js +75 -0
  99. package/dist/commands/migrate.js.map +1 -0
  100. package/dist/commands/pg.d.ts +8 -0
  101. package/dist/commands/pg.d.ts.map +1 -0
  102. package/dist/commands/pg.js +102 -0
  103. package/dist/commands/pg.js.map +1 -0
  104. package/dist/commands/plugins.d.ts +3 -0
  105. package/dist/commands/plugins.d.ts.map +1 -0
  106. package/dist/commands/plugins.js +431 -0
  107. package/dist/commands/plugins.js.map +1 -0
  108. package/dist/commands/pull.d.ts +3 -0
  109. package/dist/commands/pull.d.ts.map +1 -0
  110. package/dist/commands/pull.js +12 -0
  111. package/dist/commands/pull.js.map +1 -0
  112. package/dist/commands/push.d.ts +3 -0
  113. package/dist/commands/push.d.ts.map +1 -0
  114. package/dist/commands/push.js +179 -0
  115. package/dist/commands/push.js.map +1 -0
  116. package/dist/commands/seed.d.ts +5 -0
  117. package/dist/commands/seed.d.ts.map +1 -0
  118. package/dist/commands/seed.js +55 -0
  119. package/dist/commands/seed.js.map +1 -0
  120. package/dist/commands/self-host.d.ts +9 -0
  121. package/dist/commands/self-host.d.ts.map +1 -0
  122. package/dist/commands/self-host.js +310 -0
  123. package/dist/commands/self-host.js.map +1 -0
  124. package/dist/commands/self-update.d.ts +9 -0
  125. package/dist/commands/self-update.d.ts.map +1 -0
  126. package/dist/commands/self-update.js +33 -0
  127. package/dist/commands/self-update.js.map +1 -0
  128. package/dist/commands/status.d.ts +6 -0
  129. package/dist/commands/status.d.ts.map +1 -0
  130. package/dist/commands/status.js +70 -0
  131. package/dist/commands/status.js.map +1 -0
  132. package/dist/commands/types.d.ts +3 -0
  133. package/dist/commands/types.d.ts.map +1 -0
  134. package/dist/commands/types.js +62 -0
  135. package/dist/commands/types.js.map +1 -0
  136. package/dist/commands/update.d.ts +7 -0
  137. package/dist/commands/update.d.ts.map +1 -0
  138. package/dist/commands/update.js +118 -0
  139. package/dist/commands/update.js.map +1 -0
  140. package/dist/components.d.ts +5 -0
  141. package/dist/components.d.ts.map +1 -0
  142. package/dist/components.js +3 -0
  143. package/dist/components.js.map +1 -0
  144. package/dist/config.d.ts +65 -0
  145. package/dist/config.d.ts.map +1 -0
  146. package/dist/config.js +134 -0
  147. package/dist/config.js.map +1 -0
  148. package/dist/dev-compose.d.ts +19 -0
  149. package/dist/dev-compose.d.ts.map +1 -0
  150. package/dist/dev-compose.js +468 -0
  151. package/dist/dev-compose.js.map +1 -0
  152. package/dist/dev-log-bus.d.ts +30 -0
  153. package/dist/dev-log-bus.d.ts.map +1 -0
  154. package/dist/dev-log-bus.js +87 -0
  155. package/dist/dev-log-bus.js.map +1 -0
  156. package/dist/dev-log-filter.d.ts +10 -0
  157. package/dist/dev-log-filter.d.ts.map +1 -0
  158. package/dist/dev-log-filter.js +36 -0
  159. package/dist/dev-log-filter.js.map +1 -0
  160. package/dist/dev-logo.d.ts +12 -0
  161. package/dist/dev-logo.d.ts.map +1 -0
  162. package/dist/dev-logo.js +57 -0
  163. package/dist/dev-logo.js.map +1 -0
  164. package/dist/dev-session.d.ts +26 -0
  165. package/dist/dev-session.d.ts.map +1 -0
  166. package/dist/dev-session.js +106 -0
  167. package/dist/dev-session.js.map +1 -0
  168. package/dist/dev-shutdown.d.ts +9 -0
  169. package/dist/dev-shutdown.d.ts.map +1 -0
  170. package/dist/dev-shutdown.js +50 -0
  171. package/dist/dev-shutdown.js.map +1 -0
  172. package/dist/dev-task-colors.d.ts +14 -0
  173. package/dist/dev-task-colors.d.ts.map +1 -0
  174. package/dist/dev-task-colors.js +44 -0
  175. package/dist/dev-task-colors.js.map +1 -0
  176. package/dist/dev-tui.d.ts +24 -0
  177. package/dist/dev-tui.d.ts.map +1 -0
  178. package/dist/dev-tui.js +188 -0
  179. package/dist/dev-tui.js.map +1 -0
  180. package/dist/diff-output.d.ts +4 -0
  181. package/dist/diff-output.d.ts.map +1 -0
  182. package/dist/diff-output.js +12 -0
  183. package/dist/diff-output.js.map +1 -0
  184. package/dist/docker-postgres.d.ts +57 -0
  185. package/dist/docker-postgres.d.ts.map +1 -0
  186. package/dist/docker-postgres.js +208 -0
  187. package/dist/docker-postgres.js.map +1 -0
  188. package/dist/engine-client.d.ts +69 -0
  189. package/dist/engine-client.d.ts.map +1 -0
  190. package/dist/engine-client.js +157 -0
  191. package/dist/engine-client.js.map +1 -0
  192. package/dist/engine-push-output.d.ts +16 -0
  193. package/dist/engine-push-output.d.ts.map +1 -0
  194. package/dist/engine-push-output.js +61 -0
  195. package/dist/engine-push-output.js.map +1 -0
  196. package/dist/ensure-binary.d.ts +7 -0
  197. package/dist/ensure-binary.d.ts.map +1 -0
  198. package/dist/ensure-binary.js +17 -0
  199. package/dist/ensure-binary.js.map +1 -0
  200. package/dist/functions-router-gen.d.ts +14 -0
  201. package/dist/functions-router-gen.d.ts.map +1 -0
  202. package/dist/functions-router-gen.js +199 -0
  203. package/dist/functions-router-gen.js.map +1 -0
  204. package/dist/index.d.ts +11 -0
  205. package/dist/index.d.ts.map +1 -0
  206. package/dist/index.js +9 -0
  207. package/dist/index.js.map +1 -0
  208. package/dist/jwt.d.ts +3 -0
  209. package/dist/jwt.d.ts.map +1 -0
  210. package/dist/jwt.js +13 -0
  211. package/dist/jwt.js.map +1 -0
  212. package/dist/kong-config.d.ts +25 -0
  213. package/dist/kong-config.d.ts.map +1 -0
  214. package/dist/kong-config.js +71 -0
  215. package/dist/kong-config.js.map +1 -0
  216. package/dist/local-gateway.d.ts +7 -0
  217. package/dist/local-gateway.d.ts.map +1 -0
  218. package/dist/local-gateway.js +9 -0
  219. package/dist/local-gateway.js.map +1 -0
  220. package/dist/local-storage.d.ts +8 -0
  221. package/dist/local-storage.d.ts.map +1 -0
  222. package/dist/local-storage.js +14 -0
  223. package/dist/local-storage.js.map +1 -0
  224. package/dist/pgbouncer-userlist.d.ts +5 -0
  225. package/dist/pgbouncer-userlist.d.ts.map +1 -0
  226. package/dist/pgbouncer-userlist.js +14 -0
  227. package/dist/pgbouncer-userlist.js.map +1 -0
  228. package/dist/postgres-ctl.d.ts +44 -0
  229. package/dist/postgres-ctl.d.ts.map +1 -0
  230. package/dist/postgres-ctl.js +137 -0
  231. package/dist/postgres-ctl.js.map +1 -0
  232. package/dist/process-manager.d.ts +49 -0
  233. package/dist/process-manager.d.ts.map +1 -0
  234. package/dist/process-manager.js +177 -0
  235. package/dist/process-manager.js.map +1 -0
  236. package/dist/project-config.d.ts +238 -0
  237. package/dist/project-config.d.ts.map +1 -0
  238. package/dist/project-config.js +159 -0
  239. package/dist/project-config.js.map +1 -0
  240. package/dist/pull-utils.d.ts +31 -0
  241. package/dist/pull-utils.d.ts.map +1 -0
  242. package/dist/pull-utils.js +77 -0
  243. package/dist/pull-utils.js.map +1 -0
  244. package/dist/release-pins.d.ts +7 -0
  245. package/dist/release-pins.d.ts.map +1 -0
  246. package/dist/release-pins.js +27 -0
  247. package/dist/release-pins.js.map +1 -0
  248. package/dist/release-public-key.d.ts +8 -0
  249. package/dist/release-public-key.d.ts.map +1 -0
  250. package/dist/release-public-key.js +13 -0
  251. package/dist/release-public-key.js.map +1 -0
  252. package/dist/restore-system-relation-targets.d.ts +3 -0
  253. package/dist/restore-system-relation-targets.d.ts.map +1 -0
  254. package/dist/restore-system-relation-targets.js +45 -0
  255. package/dist/restore-system-relation-targets.js.map +1 -0
  256. package/dist/runtime-routes.d.ts +34 -0
  257. package/dist/runtime-routes.d.ts.map +1 -0
  258. package/dist/runtime-routes.js +252 -0
  259. package/dist/runtime-routes.js.map +1 -0
  260. package/dist/schema-ast-v2.d.ts +127 -0
  261. package/dist/schema-ast-v2.d.ts.map +1 -0
  262. package/dist/schema-ast-v2.js +226 -0
  263. package/dist/schema-ast-v2.js.map +1 -0
  264. package/dist/scripts/postinstall.d.ts +11 -0
  265. package/dist/scripts/postinstall.d.ts.map +1 -0
  266. package/dist/scripts/postinstall.js +47 -0
  267. package/dist/scripts/postinstall.js.map +1 -0
  268. package/dist/seed.d.ts +8 -0
  269. package/dist/seed.d.ts.map +1 -0
  270. package/dist/seed.js +32 -0
  271. package/dist/seed.js.map +1 -0
  272. package/dist/self-host-compose.d.ts +43 -0
  273. package/dist/self-host-compose.d.ts.map +1 -0
  274. package/dist/self-host-compose.js +400 -0
  275. package/dist/self-host-compose.js.map +1 -0
  276. package/dist/storage-provision.d.ts +24 -0
  277. package/dist/storage-provision.d.ts.map +1 -0
  278. package/dist/storage-provision.js +44 -0
  279. package/dist/storage-provision.js.map +1 -0
  280. package/dist/studio-admin-roles.d.ts +7 -0
  281. package/dist/studio-admin-roles.d.ts.map +1 -0
  282. package/dist/studio-admin-roles.js +14 -0
  283. package/dist/studio-admin-roles.js.map +1 -0
  284. package/dist/studio-dev-server.d.ts +22 -0
  285. package/dist/studio-dev-server.d.ts.map +1 -0
  286. package/dist/studio-dev-server.js +28 -0
  287. package/dist/studio-dev-server.js.map +1 -0
  288. package/dist/supatype-eval-1781522769253.d.mts +2 -0
  289. package/dist/supatype-eval-1781522769253.d.mts.map +1 -0
  290. package/dist/supatype-eval-1781522769253.mjs +3 -0
  291. package/dist/supatype-eval-1781522769253.mjs.map +1 -0
  292. package/dist/systemd.d.ts +26 -0
  293. package/dist/systemd.d.ts.map +1 -0
  294. package/dist/systemd.js +102 -0
  295. package/dist/systemd.js.map +1 -0
  296. package/dist/tsx-runner.d.ts +18 -0
  297. package/dist/tsx-runner.d.ts.map +1 -0
  298. package/dist/tsx-runner.js +69 -0
  299. package/dist/tsx-runner.js.map +1 -0
  300. package/dist/type-extractor.d.ts +4 -0
  301. package/dist/type-extractor.d.ts.map +1 -0
  302. package/dist/type-extractor.js +1213 -0
  303. package/dist/type-extractor.js.map +1 -0
  304. package/dist/type-resolver.d.ts +33 -0
  305. package/dist/type-resolver.d.ts.map +1 -0
  306. package/dist/type-resolver.js +338 -0
  307. package/dist/type-resolver.js.map +1 -0
  308. package/package.json +41 -0
  309. package/releases/deno/VERSION +1 -0
  310. package/scripts/mirror-deno-release.sh +76 -0
  311. package/src/TYPE-RESOLUTION.md +294 -0
  312. package/src/app/framework.ts +249 -0
  313. package/src/app/proxy-dev-app.ts +68 -0
  314. package/src/app-config.ts +128 -0
  315. package/src/augmentation-generator.ts +126 -0
  316. package/src/binary-cache.ts +845 -0
  317. package/src/cli.ts +63 -0
  318. package/src/commands/admin.ts +372 -0
  319. package/src/commands/app.ts +97 -0
  320. package/src/commands/cache.ts +117 -0
  321. package/src/commands/cloud.ts +325 -0
  322. package/src/commands/db.ts +136 -0
  323. package/src/commands/deploy-types.ts +49 -0
  324. package/src/commands/deploy.ts +400 -0
  325. package/src/commands/dev.ts +1009 -0
  326. package/src/commands/diff.ts +63 -0
  327. package/src/commands/engine.ts +30 -0
  328. package/src/commands/functions.ts +901 -0
  329. package/src/commands/generate.ts +44 -0
  330. package/src/commands/init.ts +253 -0
  331. package/src/commands/keys.ts +66 -0
  332. package/src/commands/logs.ts +58 -0
  333. package/src/commands/migrate-from-v1.ts +131 -0
  334. package/src/commands/migrate.ts +87 -0
  335. package/src/commands/pg.ts +133 -0
  336. package/src/commands/plugins.ts +508 -0
  337. package/src/commands/pull.ts +17 -0
  338. package/src/commands/push.ts +226 -0
  339. package/src/commands/seed.ts +68 -0
  340. package/src/commands/self-host.ts +364 -0
  341. package/src/commands/self-update.ts +45 -0
  342. package/src/commands/status.ts +84 -0
  343. package/src/commands/types.ts +76 -0
  344. package/src/commands/update.ts +136 -0
  345. package/src/components.ts +6 -0
  346. package/src/config.ts +223 -0
  347. package/src/dev-compose.ts +583 -0
  348. package/src/dev-log-bus.ts +101 -0
  349. package/src/dev-log-filter.ts +32 -0
  350. package/src/dev-logo.ts +62 -0
  351. package/src/dev-session.ts +130 -0
  352. package/src/dev-shutdown.ts +54 -0
  353. package/src/dev-task-colors.ts +47 -0
  354. package/src/dev-tui.ts +232 -0
  355. package/src/diff-output.ts +12 -0
  356. package/src/docker-postgres.ts +295 -0
  357. package/src/engine-client.ts +236 -0
  358. package/src/engine-push-output.ts +71 -0
  359. package/src/ensure-binary.ts +28 -0
  360. package/src/functions-router-gen.ts +224 -0
  361. package/src/index.ts +11 -0
  362. package/src/jwt.ts +14 -0
  363. package/src/kong-config.ts +93 -0
  364. package/src/local-gateway.ts +9 -0
  365. package/src/local-storage.ts +14 -0
  366. package/src/pgbouncer-userlist.ts +15 -0
  367. package/src/postgres-ctl.ts +171 -0
  368. package/src/process-manager.ts +220 -0
  369. package/src/project-config.ts +388 -0
  370. package/src/pull-utils.ts +81 -0
  371. package/src/release-pins.ts +31 -0
  372. package/src/release-public-key.ts +12 -0
  373. package/src/restore-system-relation-targets.ts +45 -0
  374. package/src/runtime-routes.ts +291 -0
  375. package/src/schema-ast-v2.ts +324 -0
  376. package/src/scripts/postinstall.ts +51 -0
  377. package/src/seed.ts +43 -0
  378. package/src/self-host-compose.ts +452 -0
  379. package/src/storage-provision.ts +58 -0
  380. package/src/studio-admin-roles.ts +16 -0
  381. package/src/studio-dev-server.ts +53 -0
  382. package/src/supatype-eval-1781522769253.mts +1 -0
  383. package/src/systemd.ts +137 -0
  384. package/src/tsx-runner.ts +89 -0
  385. package/src/type-extractor.ts +1479 -0
  386. package/src/type-resolver.ts +457 -0
  387. package/tests/app-command.test.ts +54 -0
  388. package/tests/augmentation-generator.test.ts +59 -0
  389. package/tests/binary-cache-cloud-overrides.test.ts +123 -0
  390. package/tests/cached-artifact-format.test.ts +84 -0
  391. package/tests/cli-help.test.ts +133 -0
  392. package/tests/config.test.ts +252 -0
  393. package/tests/dev-ui.test.ts +139 -0
  394. package/tests/docker-postgres.test.ts +39 -0
  395. package/tests/engine-distribution.test.ts +418 -0
  396. package/tests/engine-push-output.test.ts +67 -0
  397. package/tests/ensure-binary.test.ts +59 -0
  398. package/tests/init.test.ts +127 -0
  399. package/tests/keys.test.ts +160 -0
  400. package/tests/migrate-from-v1.test.ts +29 -0
  401. package/tests/normalize-admin-config.test.ts +48 -0
  402. package/tests/pg-spawn-env.test.ts +18 -0
  403. package/tests/postgres-archive-tag.test.ts +9 -0
  404. package/tests/proxy-dev-app.test.ts +33 -0
  405. package/tests/pull-utils.test.ts +150 -0
  406. package/tests/release-pins.test.ts +28 -0
  407. package/tests/runtime-contract.test.ts +370 -0
  408. package/tests/seed-discover.test.ts +31 -0
  409. package/tests/studio-admin-roles.test.ts +27 -0
  410. package/tests/tsconfig.json +9 -0
  411. package/tests/tsx-runner.test.ts +66 -0
  412. package/tests/type-extractor.test.ts +985 -0
  413. package/tests/type-resolver.test.ts +59 -0
  414. package/tsconfig.json +10 -0
  415. package/tsconfig.tsbuildinfo +1 -0
  416. package/vitest.config.ts +12 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { Command } from "commander";
2
+ /** Seed entries under `seeds/`, sorted by filename (Phase 10.6 C19). */
3
+ export declare function discoverSeedsDir(cwd: string, seedsDir: string): string[];
4
+ export declare function registerSeed(program: Command): void;
5
+ //# sourceMappingURL=seed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../src/commands/seed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAUxC,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAKxE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiDnD"}
@@ -0,0 +1,55 @@
1
+ import { existsSync, readdirSync } from "node:fs";
2
+ import { join, resolve } from "node:path";
3
+ import { isLinkedToCloudProject } from "../binary-cache.js";
4
+ import { loadConfig } from "../config.js";
5
+ import { projectRootFromConfig } from "../project-config.js";
6
+ import { runTsFile } from "../tsx-runner.js";
7
+ const SEED_EXT = /\.(ts|mts|tsx)$/;
8
+ /** Seed entries under `seeds/`, sorted by filename (Phase 10.6 C19). */
9
+ export function discoverSeedsDir(cwd, seedsDir) {
10
+ if (!existsSync(seedsDir))
11
+ return [];
12
+ const names = readdirSync(seedsDir).filter((n) => SEED_EXT.test(n));
13
+ names.sort((a, b) => a.localeCompare(b));
14
+ return names.map((n) => join(seedsDir, n));
15
+ }
16
+ export function registerSeed(program) {
17
+ program
18
+ .command("seed [file]")
19
+ .description("Run database seeds: optional single file; else all seeds/*.ts (alphabetical); else seed.ts")
20
+ .option("--force", "Allow running when the project is linked to Supatype Cloud (dangerous)", false)
21
+ .action(async (file, opts) => {
22
+ const cwd = process.cwd();
23
+ const config = loadConfig(cwd);
24
+ if (isLinkedToCloudProject(cwd, config) && !opts.force) {
25
+ console.error("[supatype] This project is linked to Supatype Cloud. Refusing to run seeds locally.\n" +
26
+ " Pass --force only if you intend to target this linked project (advanced).");
27
+ process.exit(1);
28
+ }
29
+ const root = projectRootFromConfig(config, cwd);
30
+ const seedsDir = join(root, "seeds");
31
+ let paths;
32
+ if (file !== undefined && file.trim() !== "") {
33
+ paths = [resolve(cwd, file)];
34
+ }
35
+ else {
36
+ paths = discoverSeedsDir(cwd, seedsDir);
37
+ if (paths.length === 0) {
38
+ paths = [resolve(root, "seed.ts")];
39
+ }
40
+ }
41
+ const missing = paths.filter((p) => !existsSync(p));
42
+ if (missing.length > 0) {
43
+ console.error(`Seed file(s) not found:\n ${missing.join("\n ")}`);
44
+ process.exit(1);
45
+ }
46
+ for (const seedFile of paths) {
47
+ console.log(`[supatype] Running ${seedFile}...`);
48
+ const result = runTsFile(seedFile, { cwd, stdio: "inherit" });
49
+ if (result.exitCode !== 0) {
50
+ process.exit(result.exitCode);
51
+ }
52
+ }
53
+ });
54
+ }
55
+ //# sourceMappingURL=seed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seed.js","sourceRoot":"","sources":["../../src/commands/seed.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * self-host commands — manage self-hosted deployments.
3
+ *
4
+ * Compose-based commands are the canonical path.
5
+ * Native/systemd commands are kept temporarily for migration compatibility.
6
+ */
7
+ import { Command } from "commander";
8
+ export declare function registerSelfHost(program: Command): void;
9
+ //# sourceMappingURL=self-host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"self-host.d.ts","sourceRoot":"","sources":["../../src/commands/self-host.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAcnC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+UvD"}
@@ -0,0 +1,310 @@
1
+ /**
2
+ * self-host commands — manage self-hosted deployments.
3
+ *
4
+ * Compose-based commands are the canonical path.
5
+ * Native/systemd commands are kept temporarily for migration compatibility.
6
+ */
7
+ import { Command } from "commander";
8
+ import { existsSync, readFileSync, mkdirSync, writeFileSync } from "node:fs";
9
+ import { join, resolve } from "node:path";
10
+ import { homedir } from "node:os";
11
+ import { spawnSync } from "node:child_process";
12
+ import { gzipSync } from "node:zlib";
13
+ import { loadConfig } from "../config.js";
14
+ import { connectionString } from "../project-config.js";
15
+ import { resolveBinary } from "../binary-cache.js";
16
+ import { generateUnits } from "../systemd.js";
17
+ import { readPid } from "../process-manager.js";
18
+ import { localStorageEnv } from "../local-storage.js";
19
+ import { runDockerCompose, writeSelfHostCompose } from "../self-host-compose.js";
20
+ export function registerSelfHost(program) {
21
+ const selfHostCmd = program
22
+ .command("self-host")
23
+ .description("Manage self-hosted deployments (Docker Compose only)");
24
+ const composeCmd = selfHostCmd
25
+ .command("compose")
26
+ .description("Manage compose-based self-host runtime");
27
+ composeCmd
28
+ .command("render")
29
+ .description("Render deterministic self-host compose artifacts")
30
+ .action(() => {
31
+ const cwd = process.cwd();
32
+ const config = loadConfig(cwd);
33
+ const out = writeSelfHostCompose(cwd, config);
34
+ console.log(`Wrote ${out.composePath}`);
35
+ console.log(`Wrote ${out.kongPath}`);
36
+ });
37
+ composeCmd
38
+ .command("up")
39
+ .description("Render and start compose services")
40
+ .option("-d, --detach", "Start in detached mode", true)
41
+ .action((opts) => {
42
+ const cwd = process.cwd();
43
+ const config = loadConfig(cwd);
44
+ const out = writeSelfHostCompose(cwd, config);
45
+ const status = runDockerCompose(out.composePath, opts.detach ? ["up", "-d"] : ["up"], cwd);
46
+ process.exitCode = status;
47
+ });
48
+ composeCmd
49
+ .command("down")
50
+ .description("Stop compose services")
51
+ .action(() => {
52
+ const cwd = process.cwd();
53
+ const config = loadConfig(cwd);
54
+ const out = writeSelfHostCompose(cwd, config);
55
+ process.exitCode = runDockerCompose(out.composePath, ["down"], cwd);
56
+ });
57
+ composeCmd
58
+ .command("status")
59
+ .description("Show compose service status")
60
+ .action(() => {
61
+ const cwd = process.cwd();
62
+ const config = loadConfig(cwd);
63
+ const out = writeSelfHostCompose(cwd, config);
64
+ process.exitCode = runDockerCompose(out.composePath, ["ps"], cwd);
65
+ });
66
+ composeCmd
67
+ .command("logs")
68
+ .description("Tail compose logs")
69
+ .option("--service <name>", "Filter to one service")
70
+ .option("-f, --follow", "Follow log output", true)
71
+ .action((opts) => {
72
+ const cwd = process.cwd();
73
+ const config = loadConfig(cwd);
74
+ const out = writeSelfHostCompose(cwd, config);
75
+ const args = ["logs"];
76
+ if (opts.follow)
77
+ args.push("-f");
78
+ if (opts.service)
79
+ args.push(opts.service);
80
+ process.exitCode = runDockerCompose(out.composePath, args, cwd);
81
+ });
82
+ // ── Legacy native/systemd helpers (hidden; use compose for self-host) ─────
83
+ const legacyCmd = new Command("native");
84
+ selfHostCmd.addCommand(legacyCmd, { hidden: true });
85
+ legacyCmd
86
+ .command("install-service", "Generate systemd unit files and (on Linux) install + enable them")
87
+ .option("--output-dir <path>", "Write unit files here instead of /etc/systemd/system/")
88
+ .option("--user <name>", "User to run services as")
89
+ .option("--no-enable", "Generate unit files but do not enable/start them")
90
+ .action(async (opts) => {
91
+ logLegacyWarning("install-service");
92
+ const cwd = process.cwd();
93
+ const config = loadConfig(cwd);
94
+ const systemdDir = opts.outputDir ?? ".supatype/systemd";
95
+ const absSystemdDir = resolve(cwd, systemdDir);
96
+ console.log("Generating systemd unit files...");
97
+ const { postgres, server } = generateUnits(config, cwd, {
98
+ outputDir: absSystemdDir,
99
+ ...(opts.user !== undefined && { user: opts.user }),
100
+ });
101
+ console.log(` wrote ${postgres}`);
102
+ console.log(` wrote ${server}`);
103
+ if (!opts.enable) {
104
+ console.log(`\nTo install manually:\n` +
105
+ ` sudo cp ${postgres} /etc/systemd/system/\n` +
106
+ ` sudo cp ${server} /etc/systemd/system/\n` +
107
+ ` sudo systemctl daemon-reload\n` +
108
+ ` sudo systemctl enable --now supatype-postgres supatype-server`);
109
+ return;
110
+ }
111
+ if (process.platform !== "linux") {
112
+ console.log("\nNote: systemd unit installation is only supported on Linux.\n" +
113
+ `Unit files are at ${absSystemdDir}/`);
114
+ return;
115
+ }
116
+ // Install to /etc/systemd/system/
117
+ console.log("\nInstalling to /etc/systemd/system/ (requires sudo)...");
118
+ const units = [
119
+ { src: postgres, dest: "/etc/systemd/system/supatype-postgres.service" },
120
+ { src: server, dest: "/etc/systemd/system/supatype-server.service" },
121
+ ];
122
+ for (const { src, dest } of units) {
123
+ const cp = spawnSync("sudo", ["cp", src, dest], { stdio: "inherit" });
124
+ if (cp.status !== 0) {
125
+ console.error(`Failed to copy ${src} to ${dest}`);
126
+ process.exit(1);
127
+ }
128
+ }
129
+ const daemonReload = spawnSync("sudo", ["systemctl", "daemon-reload"], { stdio: "inherit" });
130
+ if (daemonReload.status !== 0) {
131
+ process.exit(1);
132
+ }
133
+ const enable = spawnSync("sudo", ["systemctl", "enable", "--now", "supatype-postgres", "supatype-server"], { stdio: "inherit" });
134
+ if (enable.status !== 0) {
135
+ process.exit(1);
136
+ }
137
+ console.log("\nServices installed and started.");
138
+ console.log(" supatype-postgres.service");
139
+ console.log(" supatype-server.service");
140
+ });
141
+ // ── serve ──────────────────────────────────────────────────────────────────
142
+ legacyCmd
143
+ .command("serve", "Start supatype-server in the foreground (for standalone mode)")
144
+ .option("--port <port>", "Override port from config")
145
+ .action(async (opts) => {
146
+ logLegacyWarning("serve");
147
+ const cwd = process.cwd();
148
+ const config = loadConfig(cwd);
149
+ const serverBin = await resolveBinary("server", config);
150
+ const port = opts.port ?? String(config.server.port ?? 54321);
151
+ const args = [
152
+ "--port", port,
153
+ "--mode", config.server.mode,
154
+ ...(config.server.domain ? ["--domain", config.server.domain] : []),
155
+ ];
156
+ const stateDir = join(homedir(), ".supatype", "projects", config.project.name);
157
+ const storageEnv = config.storage?.provider !== "s3" ? localStorageEnv(stateDir) : {};
158
+ console.log(`Starting supatype-server on port ${port}...`);
159
+ const result = spawnSync(serverBin, args, {
160
+ stdio: "inherit",
161
+ cwd,
162
+ env: { ...process.env, ...storageEnv },
163
+ });
164
+ process.exitCode = result.status ?? 1;
165
+ });
166
+ // ── reload ─────────────────────────────────────────────────────────────────
167
+ legacyCmd
168
+ .command("reload", "Reload the running supatype-server (SIGHUP for config reload)")
169
+ .action(() => {
170
+ logLegacyWarning("reload");
171
+ const cwd = process.cwd();
172
+ const config = loadConfig(cwd);
173
+ const stateDir = join(homedir(), ".supatype", "projects", config.project.name);
174
+ const pid = readPid(join(stateDir, "pid"), "server");
175
+ if (!pid) {
176
+ // Try systemctl if running as a service
177
+ if (process.platform === "linux") {
178
+ const result = spawnSync("systemctl", ["reload", "supatype-server"], { stdio: "inherit" });
179
+ process.exitCode = result.status ?? 1;
180
+ return;
181
+ }
182
+ console.error("Server does not appear to be running (no PID file found).");
183
+ process.exitCode = 1;
184
+ return;
185
+ }
186
+ try {
187
+ process.kill(pid, "SIGHUP");
188
+ console.log(`Sent SIGHUP to supatype-server (pid ${pid}).`);
189
+ }
190
+ catch (err) {
191
+ console.error(`Failed to signal pid ${pid}:`, err.message);
192
+ process.exitCode = 1;
193
+ }
194
+ });
195
+ // ── status ─────────────────────────────────────────────────────────────────
196
+ legacyCmd
197
+ .command("status", "Show running status of supatype services")
198
+ .action(() => {
199
+ logLegacyWarning("status");
200
+ const cwd = process.cwd();
201
+ const config = loadConfig(cwd);
202
+ const stateDir = join(homedir(), ".supatype", "projects", config.project.name);
203
+ console.log(`Project: ${config.project.name}\n`);
204
+ if (process.platform === "linux" && existsSync("/run/systemd/system")) {
205
+ // systemd is active
206
+ for (const svc of ["supatype-postgres", "supatype-server"]) {
207
+ const result = spawnSync("systemctl", ["status", "--no-pager", "--lines=0", svc], {
208
+ encoding: "utf8",
209
+ });
210
+ const active = result.stdout?.includes("active (running)") ? "running" : "stopped";
211
+ console.log(` ${svc}: ${active}`);
212
+ }
213
+ }
214
+ else {
215
+ // PID file check
216
+ const serverPid = readPid(join(stateDir, "pid"), "server");
217
+ const pgPid = readPid(join(stateDir, "pid"), "postgres");
218
+ console.log(` postgres: ${pgPid ? `running (pid ${pgPid})` : "stopped"}`);
219
+ console.log(` supatype-server: ${serverPid ? `running (pid ${serverPid})` : "stopped"}`);
220
+ }
221
+ const logDir = join(stateDir, "logs");
222
+ if (existsSync(logDir)) {
223
+ console.log(`\nLogs: ${logDir}`);
224
+ }
225
+ });
226
+ // ── logs ───────────────────────────────────────────────────────────────────
227
+ selfHostCmd
228
+ .command("logs", "Tail supatype service logs", { hidden: true })
229
+ .option("--service <name>", "Show logs for: postgres | server")
230
+ .option("--lines <n>", "Number of lines to show", "50")
231
+ .option("-f, --follow", "Follow log output")
232
+ .action((opts) => {
233
+ logLegacyWarning("logs");
234
+ const cwd = process.cwd();
235
+ const config = loadConfig(cwd);
236
+ const stateDir = join(homedir(), ".supatype", "projects", config.project.name);
237
+ const logDir = join(stateDir, "logs");
238
+ if (process.platform === "linux" && existsSync("/run/systemd/system")) {
239
+ const args = ["--no-pager", "--lines", opts.lines];
240
+ if (opts.follow)
241
+ args.push("--follow");
242
+ if (opts.service)
243
+ args.push(`-u`, `supatype-${opts.service}`);
244
+ else
245
+ args.push("-u", "supatype-postgres", "-u", "supatype-server");
246
+ spawnSync("journalctl", args, { stdio: "inherit" });
247
+ return;
248
+ }
249
+ // File-based logs
250
+ const targets = [];
251
+ if (!opts.service || opts.service === "postgres") {
252
+ targets.push({ label: "postgres", file: join(logDir, "postgres.log") });
253
+ }
254
+ if (!opts.service || opts.service === "server") {
255
+ targets.push({ label: "server", file: join(logDir, "server.log") });
256
+ }
257
+ for (const { label, file } of targets) {
258
+ if (!existsSync(file)) {
259
+ console.log(`[${label}] log file not found: ${file}`);
260
+ continue;
261
+ }
262
+ if (opts.follow) {
263
+ const tail = spawnSync("tail", ["-f", "-n", opts.lines, file], { stdio: "inherit" });
264
+ process.exitCode = tail.status ?? 0;
265
+ }
266
+ else {
267
+ const n = parseInt(opts.lines, 10);
268
+ const content = readFileSync(file, "utf8");
269
+ const lines = content.split("\n");
270
+ console.log(lines.slice(-n).join("\n"));
271
+ }
272
+ }
273
+ });
274
+ // ── backup ─────────────────────────────────────────────────────────────────
275
+ legacyCmd
276
+ .command("backup", "Create a Postgres dump of the project database")
277
+ .option("--output <path>", "Output file path (default: ./backups/backup-<timestamp>.sql.gz)")
278
+ .option("--connection <url>", "Database connection URL (overrides config)")
279
+ .action((opts) => {
280
+ logLegacyWarning("backup");
281
+ const cwd = process.cwd();
282
+ const config = loadConfig(cwd);
283
+ const conn = opts.connection ?? connectionString(config);
284
+ const outFile = opts.output ?? resolve(cwd, "backups", `backup-${new Date().toISOString().replace(/[:.]/g, "-")}.sql.gz`);
285
+ mkdirSync(resolve(outFile, ".."), { recursive: true });
286
+ console.log(`Backing up database to ${outFile}...`);
287
+ try {
288
+ // Avoid shell interpolation of user-supplied values.
289
+ const pgDump = spawnSync("pg_dump", [conn], {
290
+ stdio: ["ignore", "pipe", "pipe"],
291
+ });
292
+ if (pgDump.status !== 0) {
293
+ const stderr = pgDump.stderr?.toString("utf8") ?? "";
294
+ throw new Error(stderr.trim() || "pg_dump failed");
295
+ }
296
+ const compressed = gzipSync(pgDump.stdout);
297
+ writeFileSync(outFile, compressed);
298
+ console.log("Backup complete.");
299
+ }
300
+ catch (err) {
301
+ console.error("Backup failed:", err.message);
302
+ process.exit(1);
303
+ }
304
+ });
305
+ }
306
+ function logLegacyWarning(cmd) {
307
+ console.warn(`[supatype] self-host native ${cmd} is deprecated. ` +
308
+ "Use `supatype self-host compose` commands instead.");
309
+ }
310
+ //# sourceMappingURL=self-host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"self-host.js","sourceRoot":"","sources":["../../src/commands/self-host.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * supatype self-update — Phase 10.6C8.
3
+ *
4
+ * npm-installed CLI: instruct to use `npm update -g`.
5
+ * Standalone / future curl|sh installs: CDN-published CLI binary replacement is not wired yet.
6
+ */
7
+ import type { Command } from "commander";
8
+ export declare function registerSelfUpdate(program: Command): void;
9
+ //# sourceMappingURL=self-update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"self-update.d.ts","sourceRoot":"","sources":["../../src/commands/self-update.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAcxC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuBzD"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * supatype self-update — Phase 10.6C8.
3
+ *
4
+ * npm-installed CLI: instruct to use `npm update -g`.
5
+ * Standalone / future curl|sh installs: CDN-published CLI binary replacement is not wired yet.
6
+ */
7
+ import { sep } from "node:path";
8
+ function looksLikeNpmOrWorkspaceCLI() {
9
+ const main = process.argv[1] ?? "";
10
+ return (main.includes("node_modules") ||
11
+ main.includes(`${sep}dist${sep}cli`) ||
12
+ main.includes(`${sep}bin${sep}supatype.js`) ||
13
+ Boolean(process.env["npm_execpath"]) ||
14
+ Boolean(process.env["npm_lifecycle_event"]));
15
+ }
16
+ export function registerSelfUpdate(program) {
17
+ program
18
+ .command("self-update")
19
+ .description("Update the supatype CLI (npm: use npm update; standalone binary swap from CDN is not available yet)")
20
+ .action(() => {
21
+ if (looksLikeNpmOrWorkspaceCLI()) {
22
+ console.log("This CLI was installed via npm (or runs from the package workspace).\n" +
23
+ "Update with:\n\n npm update -g @supatype/cli\n\n" +
24
+ "To bump engine/server/postgres/deno pinned in supatype.config.ts, use:\n\n supatype update\n");
25
+ return;
26
+ }
27
+ console.error("Standalone CLI self-update (replace binary from CDN) is not published yet.\n\n" +
28
+ "Install or upgrade via npm:\n npm install -g @supatype/cli\n\n" +
29
+ "Component binaries (engine, server, postgres, deno):\n supatype update\n");
30
+ process.exit(1);
31
+ });
32
+ }
33
+ //# sourceMappingURL=self-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"self-update.js","sourceRoot":"","sources":["../../src/commands/self-update.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAE/B,SAAS,0BAA0B;IACjC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAClC,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,OAAO,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,GAAG,aAAa,CAAC;QAC3C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACpC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAC5C,CAAA;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CACV,qGAAqG,CACtG;SACA,MAAM,CAAC,GAAG,EAAE;QACX,IAAI,0BAA0B,EAAE,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CACT,wEAAwE;gBACtE,mDAAmD;gBACnD,+FAA+F,CAClG,CAAA;YACD,OAAM;QACR,CAAC;QAED,OAAO,CAAC,KAAK,CACX,gFAAgF;YAC9E,iEAAiE;YACjE,2EAA2E,CAC9E,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;AACN,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * supatype status — show current state of local dev services.
3
+ */
4
+ import type { Command } from "commander";
5
+ export declare function registerStatus(program: Command): void;
6
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAYxC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuCrD"}
@@ -0,0 +1,70 @@
1
+ import { spawnSync } from "node:child_process";
2
+ import { LOCAL_KONG_HOST_PORT, localKongBaseUrl } from "../local-gateway.js";
3
+ export function registerStatus(program) {
4
+ program
5
+ .command("status")
6
+ .description("Show current state of local dev services")
7
+ .action(() => {
8
+ const services = [
9
+ { name: "Postgres", container: "supatype-postgres", port: 5432 },
10
+ { name: "PostgREST", container: "supatype-postgrest", port: 3000 },
11
+ { name: "GoTrue", container: "supatype-gotrue", port: 9999 },
12
+ { name: "Kong", container: "supatype-kong", port: LOCAL_KONG_HOST_PORT },
13
+ { name: "MinIO", container: "supatype-minio", port: 9000 },
14
+ { name: "Realtime", container: "supatype-realtime", port: 4000 },
15
+ { name: "Studio", container: "supatype-studio", port: 3100 },
16
+ ].map((svc) => {
17
+ const status = getContainerStatus(svc.container);
18
+ const uptime = getContainerUptime(svc.container);
19
+ return { ...svc, status, ...(uptime !== undefined && { uptime }) };
20
+ });
21
+ console.log("Supatype Local Development Stack\n");
22
+ const maxName = Math.max(...services.map((s) => s.name.length));
23
+ for (const svc of services) {
24
+ const icon = svc.status === "running" ? "●" : svc.status === "stopped" ? "○" : "✕";
25
+ const status = svc.status.padEnd(8);
26
+ const port = svc.port ? `:${svc.port}` : "";
27
+ const uptime = svc.uptime ? ` (${svc.uptime})` : "";
28
+ console.log(` ${icon} ${svc.name.padEnd(maxName)} ${status} ${port}${uptime}`);
29
+ }
30
+ const running = services.filter((s) => s.status === "running");
31
+ console.log(`\n${running.length}/${services.length} services running`);
32
+ if (running.length > 0) {
33
+ console.log(`\nAPI URL: ${localKongBaseUrl()}`);
34
+ console.log(`Studio: http://localhost:3100`);
35
+ console.log(`Database: postgresql://supatype_admin:postgres@localhost:5432/postgres`);
36
+ }
37
+ });
38
+ }
39
+ function getContainerStatus(name) {
40
+ const result = spawnSync("docker", ["inspect", "--format", "{{.State.Status}}", name], {
41
+ timeout: 5000,
42
+ });
43
+ const status = result.stdout?.toString().trim();
44
+ if (status === "running")
45
+ return "running";
46
+ if (result.status !== 0)
47
+ return "stopped";
48
+ return "error";
49
+ }
50
+ function getContainerUptime(name) {
51
+ const result = spawnSync("docker", ["inspect", "--format", "{{.State.StartedAt}}", name], {
52
+ timeout: 5000,
53
+ });
54
+ if (result.status !== 0)
55
+ return undefined;
56
+ const startedAt = result.stdout?.toString().trim();
57
+ if (!startedAt)
58
+ return undefined;
59
+ const started = new Date(startedAt);
60
+ const now = new Date();
61
+ const diffMs = now.getTime() - started.getTime();
62
+ if (diffMs < 0)
63
+ return undefined;
64
+ const hours = Math.floor(diffMs / (1000 * 60 * 60));
65
+ const minutes = Math.floor((diffMs % (1000 * 60 * 60)) / (1000 * 60));
66
+ if (hours > 0)
67
+ return `${hours}h ${minutes}m`;
68
+ return `${minutes}m`;
69
+ }
70
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerTypes(program: Command): void;
3
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/commands/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAMxC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiEpD"}