@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":"cache.js","sourceRoot":"","sources":["../../src/commands/cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { Command } from "commander";
2
+ interface CloudConfig {
3
+ apiUrl: string;
4
+ token: string;
5
+ projectSlug?: string;
6
+ /** Organisation UUID — required for schema routes (`X-Org-Id`). */
7
+ orgId?: string;
8
+ }
9
+ export declare function loadCloudConfig(cwd: string): CloudConfig | null;
10
+ /** True when `.supatype/cloud.json` exists with a linked project slug. */
11
+ export declare function isCloudLinked(cwd: string): boolean;
12
+ /**
13
+ * Push schema AST to the linked cloud project (`POST /api/v1/projects/:ref/schema/push`).
14
+ * Credentials stay server-side; only AST is sent.
15
+ */
16
+ export declare function pushSchemaToLinkedProject(cwd: string, opts?: {
17
+ force?: boolean;
18
+ }): Promise<void>;
19
+ /** @deprecated Use pushSchemaToLinkedProject — kept for deploy command alias */
20
+ export declare function deploySchemaToLinkedProject(cwd: string, _environment: string): Promise<void>;
21
+ export declare function registerCloud(program: Command): void;
22
+ export {};
23
+ //# sourceMappingURL=cloud.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../../src/commands/cloud.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKxC,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAI/D;AAgCD,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGlD;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BtG;AAED,gFAAgF;AAChF,wBAAsB,2BAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAElG;AAcD,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4MpD"}
@@ -0,0 +1,254 @@
1
+ import { readFileSync, writeFileSync, existsSync } from "node:fs";
2
+ import { resolve } from "node:path";
3
+ import { createInterface } from "node:readline";
4
+ export function loadCloudConfig(cwd) {
5
+ const configPath = resolve(cwd, ".supatype/cloud.json");
6
+ if (!existsSync(configPath))
7
+ return null;
8
+ return JSON.parse(readFileSync(configPath, "utf8"));
9
+ }
10
+ function saveCloudConfig(cwd, config) {
11
+ const dir = resolve(cwd, ".supatype");
12
+ if (!existsSync(dir)) {
13
+ const { mkdirSync } = require("node:fs");
14
+ mkdirSync(dir, { recursive: true });
15
+ }
16
+ writeFileSync(resolve(cwd, ".supatype/cloud.json"), JSON.stringify(config, null, 2) + "\n", "utf8");
17
+ }
18
+ async function cloudFetch(config, method, path, body) {
19
+ const headers = {
20
+ "Content-Type": "application/json",
21
+ Authorization: `Bearer ${config.token}`,
22
+ };
23
+ if (config.orgId) {
24
+ headers["X-Org-Id"] = config.orgId;
25
+ }
26
+ const res = await fetch(`${config.apiUrl}/api/v1${path}`, {
27
+ method,
28
+ headers,
29
+ ...(body !== undefined ? { body: JSON.stringify(body) } : {}),
30
+ });
31
+ const json = await res.json();
32
+ if (!res.ok) {
33
+ throw new Error(json.message ?? json.error ?? `API error: ${res.status}`);
34
+ }
35
+ return json.data;
36
+ }
37
+ /** True when `.supatype/cloud.json` exists with a linked project slug. */
38
+ export function isCloudLinked(cwd) {
39
+ const cfg = loadCloudConfig(cwd);
40
+ return Boolean(cfg?.projectSlug && cfg.token);
41
+ }
42
+ /**
43
+ * Push schema AST to the linked cloud project (`POST /api/v1/projects/:ref/schema/push`).
44
+ * Credentials stay server-side; only AST is sent.
45
+ */
46
+ export async function pushSchemaToLinkedProject(cwd, opts) {
47
+ const config = loadCloudConfig(cwd);
48
+ if (!config?.projectSlug) {
49
+ console.error("Not linked to a cloud project. Run: supatype link");
50
+ process.exit(1);
51
+ }
52
+ if (!config.orgId) {
53
+ console.error("Missing orgId in .supatype/cloud.json. Re-run: supatype link --project <slug> (after cloud login).");
54
+ process.exit(1);
55
+ }
56
+ const { loadConfig: loadAppConfig, loadSchemaAst } = await import("../config.js");
57
+ const { schemaPathFromProject } = await import("../project-config.js");
58
+ const appConfig = loadAppConfig(cwd);
59
+ const ast = loadSchemaAst(schemaPathFromProject(appConfig, cwd), cwd);
60
+ console.log(`Pushing schema to cloud project ${config.projectSlug}...`);
61
+ const result = await cloudFetch(config, "POST", `/projects/${config.projectSlug}/schema/push`, {
62
+ ast,
63
+ force: opts?.force ?? true,
64
+ });
65
+ console.log(result.message ?? "Schema push completed.");
66
+ }
67
+ /** @deprecated Use pushSchemaToLinkedProject — kept for deploy command alias */
68
+ export async function deploySchemaToLinkedProject(cwd, _environment) {
69
+ await pushSchemaToLinkedProject(cwd);
70
+ }
71
+ function prompt(question) {
72
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
73
+ return new Promise((resolve) => {
74
+ rl.question(question, (answer) => {
75
+ rl.close();
76
+ resolve(answer.trim());
77
+ });
78
+ });
79
+ }
80
+ // ─── Registration ──────────────────────────────────────────────────────────────
81
+ export function registerCloud(program) {
82
+ // ── Link ───────────────────────────────────────────────────────────────────
83
+ program
84
+ .command("link")
85
+ .description("Link this local project to a Supatype cloud project")
86
+ .option("--project <slug>", "Project slug to link to")
87
+ .option("--api-url <url>", "Control plane API URL", "https://api.supatype.com")
88
+ .option("--token <token>", "Authentication token")
89
+ .action(async (opts) => {
90
+ const cwd = process.cwd();
91
+ const token = opts.token ?? process.env["SUPATYPE_TOKEN"];
92
+ if (!token) {
93
+ console.error("Authentication required. Set SUPATYPE_TOKEN or pass --token.");
94
+ process.exit(1);
95
+ }
96
+ const config = { apiUrl: opts.apiUrl, token };
97
+ if (opts.project) {
98
+ config.projectSlug = opts.project;
99
+ const one = await cloudFetch(config, "GET", `/projects/${opts.project}`);
100
+ config.orgId = one.orgId;
101
+ }
102
+ else {
103
+ const projects = await cloudFetch(config, "GET", "/projects");
104
+ if (projects.length === 0) {
105
+ console.error("No projects found. Create one with: supatype projects create <name>");
106
+ process.exit(1);
107
+ }
108
+ console.log("\nAvailable projects:\n");
109
+ projects.forEach((p, i) => {
110
+ console.log(` ${i + 1}. ${p.name} (${p.slug}) [${p.tier}] — ${p.status}`);
111
+ });
112
+ const answer = await prompt(`\nSelect project (1-${projects.length}): `);
113
+ const idx = parseInt(answer, 10) - 1;
114
+ if (isNaN(idx) || idx < 0 || idx >= projects.length) {
115
+ console.error("Invalid selection.");
116
+ process.exit(1);
117
+ }
118
+ const picked = projects[idx];
119
+ config.projectSlug = picked.slug;
120
+ config.orgId = picked.orgId;
121
+ }
122
+ saveCloudConfig(cwd, config);
123
+ console.log(`\nLinked to project: ${config.projectSlug}`);
124
+ console.log(`Config saved to .supatype/cloud.json\n`);
125
+ });
126
+ // ── Projects ───────────────────────────────────────────────────────────────
127
+ const projectsCmd = program
128
+ .command("projects")
129
+ .description("Manage cloud projects");
130
+ projectsCmd
131
+ .command("list")
132
+ .description("List all projects in your organisation")
133
+ .action(async () => {
134
+ const config = getCloudConfigOrExit();
135
+ const projects = await cloudFetch(config, "GET", "/projects");
136
+ if (projects.length === 0) {
137
+ console.log("No projects. Create one with: supatype projects create <name>");
138
+ return;
139
+ }
140
+ console.log("\n Name Slug Tier Region Status");
141
+ console.log(" " + "─".repeat(80));
142
+ for (const p of projects) {
143
+ console.log(` ${p.name.padEnd(24)}${p.slug.padEnd(25)}${p.tier.padEnd(8)}${p.region.padEnd(10)}${p.status}`);
144
+ }
145
+ console.log();
146
+ });
147
+ projectsCmd
148
+ .command("create <name>")
149
+ .description("Create a new project")
150
+ .option("--tier <tier>", "Project tier (free, pro, team)", "free")
151
+ .option("--region <region>", "Region (eu-fsn, eu-nbg, eu-hel)", "eu-fsn")
152
+ .action(async (name, opts) => {
153
+ const config = getCloudConfigOrExit();
154
+ console.log(`Creating project "${name}" (${opts.tier}, ${opts.region})...`);
155
+ const project = await cloudFetch(config, "POST", "/projects", { name, tier: opts.tier, region: opts.region });
156
+ console.log(`\nProject created: ${project.name} (${project.slug})`);
157
+ console.log(`Status: ${project.status}`);
158
+ console.log(`\nTo link this project: supatype link --project ${project.slug}\n`);
159
+ });
160
+ projectsCmd
161
+ .command("pause <slug>")
162
+ .description("Pause a project")
163
+ .action(async (slug) => {
164
+ const config = getCloudConfigOrExit();
165
+ await cloudFetch(config, "POST", `/projects/${slug}/pause`);
166
+ console.log(`Project ${slug} paused.`);
167
+ });
168
+ projectsCmd
169
+ .command("resume <slug>")
170
+ .description("Resume a paused project")
171
+ .action(async (slug) => {
172
+ const config = getCloudConfigOrExit();
173
+ await cloudFetch(config, "POST", `/projects/${slug}/resume`);
174
+ console.log(`Project ${slug} resumed.`);
175
+ });
176
+ // ── Domains ────────────────────────────────────────────────────────────────
177
+ const domainsCmd = program
178
+ .command("domains")
179
+ .description("Manage custom domains for a project");
180
+ domainsCmd
181
+ .command("list")
182
+ .description("List domains for the linked project")
183
+ .action(async () => {
184
+ const config = getCloudConfigOrExit();
185
+ if (!config.projectSlug) {
186
+ console.error("Not linked to a project. Run: supatype link");
187
+ process.exit(1);
188
+ }
189
+ const domains = await cloudFetch(config, "GET", `/projects/${config.projectSlug}/domains`);
190
+ if (domains.length === 0) {
191
+ console.log("No custom domains configured.");
192
+ return;
193
+ }
194
+ console.log("\n Domain Status CNAME Target");
195
+ console.log(" " + "─".repeat(80));
196
+ for (const d of domains) {
197
+ console.log(` ${d.domain.padEnd(34)}${d.status.padEnd(21)}${d.cnameTarget}`);
198
+ }
199
+ console.log();
200
+ });
201
+ domainsCmd
202
+ .command("add <domain>")
203
+ .description("Add a custom domain")
204
+ .action(async (domain) => {
205
+ const config = getCloudConfigOrExit();
206
+ if (!config.projectSlug) {
207
+ console.error("Not linked to a project. Run: supatype link");
208
+ process.exit(1);
209
+ }
210
+ const result = await cloudFetch(config, "POST", `/projects/${config.projectSlug}/domains`, { domain });
211
+ console.log(`\nDomain added: ${result.domain}`);
212
+ console.log(`\n${result.instructions}`);
213
+ console.log(`\nAfter adding the CNAME record, verify with: supatype domains verify ${domain}\n`);
214
+ });
215
+ domainsCmd
216
+ .command("remove <domainId>")
217
+ .description("Remove a custom domain")
218
+ .action(async (domainId) => {
219
+ const config = getCloudConfigOrExit();
220
+ if (!config.projectSlug) {
221
+ console.error("Not linked to a project. Run: supatype link");
222
+ process.exit(1);
223
+ }
224
+ await cloudFetch(config, "DELETE", `/projects/${config.projectSlug}/domains/${domainId}`);
225
+ console.log("Domain removed.");
226
+ });
227
+ domainsCmd
228
+ .command("verify <domainId>")
229
+ .description("Verify CNAME and provision SSL for a domain")
230
+ .action(async (domainId) => {
231
+ const config = getCloudConfigOrExit();
232
+ if (!config.projectSlug) {
233
+ console.error("Not linked to a project. Run: supatype link");
234
+ process.exit(1);
235
+ }
236
+ const result = await cloudFetch(config, "POST", `/projects/${config.projectSlug}/domains/${domainId}/verify`);
237
+ console.log(`Domain ${result.domain}: ${result.status}`);
238
+ });
239
+ }
240
+ function getCloudConfigOrExit() {
241
+ const cwd = process.cwd();
242
+ let config = loadCloudConfig(cwd);
243
+ if (!config) {
244
+ const token = process.env["SUPATYPE_TOKEN"];
245
+ const apiUrl = process.env["SUPATYPE_API_URL"] ?? "https://api.supatype.com";
246
+ if (!token) {
247
+ console.error("Not connected to Supatype Cloud. Run: supatype link, or set SUPATYPE_TOKEN.");
248
+ process.exit(1);
249
+ }
250
+ config = { apiUrl, token };
251
+ }
252
+ return config;
253
+ }
254
+ //# sourceMappingURL=cloud.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../src/commands/cloud.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Database connection commands:
3
+ * supatype db connection-string — show the connection string for the linked project
4
+ * supatype db reset-password — reset the database password
5
+ */
6
+ import type { Command } from "commander";
7
+ export declare function registerDb(program: Command): void;
8
+ //# sourceMappingURL=db.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/commands/db.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKxC,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4HjD"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Database connection commands:
3
+ * supatype db connection-string — show the connection string for the linked project
4
+ * supatype db reset-password — reset the database password
5
+ */
6
+ import { loadConfig } from "../config.js";
7
+ import { connectionString } from "../project-config.js";
8
+ import { loadCloudConfig } from "./cloud.js";
9
+ export function registerDb(program) {
10
+ const db = program
11
+ .command("db")
12
+ .description("Database connection management");
13
+ // supatype db connection-string
14
+ db
15
+ .command("connection-string")
16
+ .description("Show the database connection string for the linked project")
17
+ .option("--transaction", "Show the transaction pool URL (for serverless/edge functions)")
18
+ .option("--env <name>", "Environment name", "production")
19
+ .action(async (opts) => {
20
+ const cwd = process.cwd();
21
+ const config = loadConfig(cwd);
22
+ const cloudCfg = loadCloudConfig(cwd);
23
+ const localConn = connectionString(config);
24
+ // If no cloud project linked, show the local connection string.
25
+ if (!cloudCfg?.projectSlug) {
26
+ const connStr = opts.transaction ? localConn.replace(/:5432\//, ":6432/") : localConn;
27
+ console.log(connStr);
28
+ console.log();
29
+ console.log("Session mode (port 5432): for interactive tools (psql, DataGrip, TablePlus)");
30
+ console.log("Transaction mode (port 6432): for application servers and serverless functions");
31
+ return;
32
+ }
33
+ // If linked to a cloud project, fetch from the API
34
+ const apiUrl = cloudCfg.apiUrl || "https://api.supatype.com";
35
+ const token = cloudCfg.token || process.env["SUPATYPE_ACCESS_TOKEN"] || "";
36
+ const envName = opts.env || "production";
37
+ try {
38
+ const res = await fetch(`${apiUrl}/platform/v1/projects/${cloudCfg.projectSlug}/environments`, {
39
+ headers: {
40
+ Authorization: `Bearer ${token}`,
41
+ },
42
+ });
43
+ if (!res.ok) {
44
+ console.error(`Failed to fetch project info: ${res.status}`);
45
+ process.exitCode = 1;
46
+ return;
47
+ }
48
+ const { data } = (await res.json());
49
+ const env = data.find((e) => e.name === envName);
50
+ if (!env) {
51
+ console.error(`Environment "${envName}" not found`);
52
+ process.exitCode = 1;
53
+ return;
54
+ }
55
+ const connStr = env.databaseUrl || "Connection string not available";
56
+ if (opts.transaction) {
57
+ console.log(connStr.replace(/:5432\//, ":6432/"));
58
+ }
59
+ else {
60
+ console.log(connStr);
61
+ }
62
+ console.log();
63
+ console.log("Session mode (port 5432): for interactive tools (psql, DataGrip, TablePlus)");
64
+ console.log("Transaction mode (port 6432): for application servers and serverless functions");
65
+ }
66
+ catch (err) {
67
+ console.error("Failed to fetch connection string:", err.message);
68
+ process.exitCode = 1;
69
+ }
70
+ });
71
+ // supatype db reset-password
72
+ db
73
+ .command("reset-password")
74
+ .description("Reset the database password for the linked project")
75
+ .option("--env <name>", "Environment name", "production")
76
+ .action(async (opts) => {
77
+ const cwd = process.cwd();
78
+ const cloudCfg = loadCloudConfig(cwd);
79
+ if (!cloudCfg?.projectSlug) {
80
+ console.error("Not linked to a cloud project. Run: supatype link --project <ref>");
81
+ process.exitCode = 1;
82
+ return;
83
+ }
84
+ const apiUrl = cloudCfg.apiUrl || "https://api.supatype.com";
85
+ const token = cloudCfg.token || process.env["SUPATYPE_ACCESS_TOKEN"] || "";
86
+ const envName = opts.env || "production";
87
+ try {
88
+ const res = await fetch(`${apiUrl}/platform/v1/projects/${cloudCfg.projectSlug}/environments/${envName}/reset-db-password`, {
89
+ method: "POST",
90
+ headers: {
91
+ Authorization: `Bearer ${token}`,
92
+ "Content-Type": "application/json",
93
+ },
94
+ });
95
+ if (!res.ok) {
96
+ const body = await res.text();
97
+ console.error(`Failed to reset password: ${res.status} ${body}`);
98
+ process.exitCode = 1;
99
+ return;
100
+ }
101
+ const { data } = (await res.json());
102
+ console.log("Database password reset successfully.");
103
+ console.log();
104
+ console.log(`New password: ${data.password}`);
105
+ console.log(`Connection string: ${data.connectionString}`);
106
+ console.log();
107
+ console.log("Warning: Existing database connections have been terminated.");
108
+ console.log("Update your application with the new connection string.");
109
+ }
110
+ catch (err) {
111
+ console.error("Failed to reset password:", err.message);
112
+ process.exitCode = 1;
113
+ }
114
+ });
115
+ }
116
+ //# sourceMappingURL=db.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/commands/db.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Deployment tier limits for static site hosting.
3
+ */
4
+ export type Tier = "free" | "pro" | "team" | "enterprise";
5
+ export interface DeploymentLimits {
6
+ maxBuildOutputMb: number;
7
+ buildMinutesPerMonth: number;
8
+ maxPreviewDeployments: number;
9
+ deploymentRetention: number;
10
+ cdnEnabled: boolean;
11
+ buildMinuteOverageRate: number;
12
+ }
13
+ export declare const TIER_LIMITS: Record<Tier, DeploymentLimits>;
14
+ //# sourceMappingURL=deploy-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-types.d.ts","sourceRoot":"","sources":["../../src/commands/deploy-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,YAAY,CAAA;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,UAAU,EAAE,OAAO,CAAA;IACnB,sBAAsB,EAAE,MAAM,CAAA;CAC/B;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAiCtD,CAAA"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Deployment tier limits for static site hosting.
3
+ */
4
+ export const TIER_LIMITS = {
5
+ free: {
6
+ maxBuildOutputMb: 50,
7
+ buildMinutesPerMonth: 100,
8
+ maxPreviewDeployments: 1,
9
+ deploymentRetention: 3,
10
+ cdnEnabled: false,
11
+ buildMinuteOverageRate: 0,
12
+ },
13
+ pro: {
14
+ maxBuildOutputMb: 500,
15
+ buildMinutesPerMonth: 1000,
16
+ maxPreviewDeployments: 5,
17
+ deploymentRetention: 10,
18
+ cdnEnabled: true,
19
+ buildMinuteOverageRate: 0.01,
20
+ },
21
+ team: {
22
+ maxBuildOutputMb: 2048,
23
+ buildMinutesPerMonth: 5000,
24
+ maxPreviewDeployments: 20,
25
+ deploymentRetention: 25,
26
+ cdnEnabled: true,
27
+ buildMinuteOverageRate: 0.01,
28
+ },
29
+ enterprise: {
30
+ maxBuildOutputMb: -1,
31
+ buildMinutesPerMonth: -1,
32
+ maxPreviewDeployments: -1,
33
+ deploymentRetention: -1,
34
+ cdnEnabled: true,
35
+ buildMinuteOverageRate: 0,
36
+ },
37
+ };
38
+ //# sourceMappingURL=deploy-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-types.js","sourceRoot":"","sources":["../../src/commands/deploy-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,MAAM,CAAC,MAAM,WAAW,GAAmC;IACzD,IAAI,EAAE;QACJ,gBAAgB,EAAE,EAAE;QACpB,oBAAoB,EAAE,GAAG;QACzB,qBAAqB,EAAE,CAAC;QACxB,mBAAmB,EAAE,CAAC;QACtB,UAAU,EAAE,KAAK;QACjB,sBAAsB,EAAE,CAAC;KAC1B;IACD,GAAG,EAAE;QACH,gBAAgB,EAAE,GAAG;QACrB,oBAAoB,EAAE,IAAI;QAC1B,qBAAqB,EAAE,CAAC;QACxB,mBAAmB,EAAE,EAAE;QACvB,UAAU,EAAE,IAAI;QAChB,sBAAsB,EAAE,IAAI;KAC7B;IACD,IAAI,EAAE;QACJ,gBAAgB,EAAE,IAAI;QACtB,oBAAoB,EAAE,IAAI;QAC1B,qBAAqB,EAAE,EAAE;QACzB,mBAAmB,EAAE,EAAE;QACvB,UAAU,EAAE,IAAI;QAChB,sBAAsB,EAAE,IAAI;KAC7B;IACD,UAAU,EAAE;QACV,gBAAgB,EAAE,CAAC,CAAC;QACpB,oBAAoB,EAAE,CAAC,CAAC;QACxB,qBAAqB,EAAE,CAAC,CAAC;QACzB,mBAAmB,EAAE,CAAC,CAAC;QACvB,UAAU,EAAE,IAAI;QAChB,sBAAsB,EAAE,CAAC;KAC1B;CACF,CAAA"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Deploy commands:
3
+ * supatype deploy — Supatype Cloud by default (linked via supatype link), else platform projectRef; use --local for engine + DB
4
+ * supatype deploy --local — push schema via local engine + optional static app to .supatype/static
5
+ * supatype deploy --app-only — only build & deploy the static site
6
+ * supatype deploy --schema-only — only push schema changes
7
+ * supatype deploy --skip-build — deploy existing build output (no build step)
8
+ * supatype deploy --preview — deploy to a preview URL
9
+ * supatype deploy rollback — roll back to previous deployment
10
+ * supatype deploy status — show current deployment info
11
+ * supatype deploy logs <version> — show build logs
12
+ */
13
+ import type { Command } from "commander";
14
+ export declare function registerDeploy(program: Command): void;
15
+ //# sourceMappingURL=deploy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAWxC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsRrD"}