@supatype/cli 0.1.0-alpha.9 → 0.1.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 (383) hide show
  1. package/.turbo/turbo-build.log +2 -2
  2. package/.turbo/turbo-test.log +270 -65
  3. package/.turbo/turbo-typecheck.log +1 -1
  4. package/assets/supatype-logo-wordmark.ascii.txt +6 -0
  5. package/bin/dev-entry.ts +2 -1
  6. package/dist/app/framework.js +1 -3
  7. package/dist/app/framework.js.map +1 -1
  8. package/dist/app/proxy-dev-app.d.ts +14 -0
  9. package/dist/app/proxy-dev-app.d.ts.map +1 -1
  10. package/dist/app/proxy-dev-app.js +110 -6
  11. package/dist/app/proxy-dev-app.js.map +1 -1
  12. package/dist/app-config.d.ts +10 -0
  13. package/dist/app-config.d.ts.map +1 -1
  14. package/dist/app-config.js +72 -0
  15. package/dist/app-config.js.map +1 -1
  16. package/dist/assets/supatype-logo-wordmark.ascii.txt +6 -0
  17. package/dist/binary-cache.d.ts +19 -7
  18. package/dist/binary-cache.d.ts.map +1 -1
  19. package/dist/binary-cache.js +92 -46
  20. package/dist/binary-cache.js.map +1 -1
  21. package/dist/cli.d.ts +1 -1
  22. package/dist/cli.d.ts.map +1 -1
  23. package/dist/cli.js +17 -2
  24. package/dist/cli.js.map +1 -1
  25. package/dist/commands/add.d.ts +3 -0
  26. package/dist/commands/add.d.ts.map +1 -0
  27. package/dist/commands/add.js +86 -0
  28. package/dist/commands/add.js.map +1 -0
  29. package/dist/commands/admin.d.ts.map +1 -1
  30. package/dist/commands/admin.js +39 -53
  31. package/dist/commands/admin.js.map +1 -1
  32. package/dist/commands/adopt.d.ts +3 -0
  33. package/dist/commands/adopt.d.ts.map +1 -0
  34. package/dist/commands/adopt.js +55 -0
  35. package/dist/commands/adopt.js.map +1 -0
  36. package/dist/commands/app.d.ts.map +1 -1
  37. package/dist/commands/app.js +20 -17
  38. package/dist/commands/app.js.map +1 -1
  39. package/dist/commands/cache.d.ts.map +1 -1
  40. package/dist/commands/cache.js +11 -10
  41. package/dist/commands/cache.js.map +1 -1
  42. package/dist/commands/cloud.d.ts +4 -9
  43. package/dist/commands/cloud.d.ts.map +1 -1
  44. package/dist/commands/cloud.js +75 -125
  45. package/dist/commands/cloud.js.map +1 -1
  46. package/dist/commands/db.d.ts.map +1 -1
  47. package/dist/commands/db.js +37 -58
  48. package/dist/commands/db.js.map +1 -1
  49. package/dist/commands/deploy.d.ts.map +1 -1
  50. package/dist/commands/deploy.js +140 -96
  51. package/dist/commands/deploy.js.map +1 -1
  52. package/dist/commands/dev.d.ts.map +1 -1
  53. package/dist/commands/dev.js +72 -39
  54. package/dist/commands/dev.js.map +1 -1
  55. package/dist/commands/diff.d.ts.map +1 -1
  56. package/dist/commands/diff.js +39 -39
  57. package/dist/commands/diff.js.map +1 -1
  58. package/dist/commands/doctor.d.ts +3 -0
  59. package/dist/commands/doctor.d.ts.map +1 -0
  60. package/dist/commands/doctor.js +78 -0
  61. package/dist/commands/doctor.js.map +1 -0
  62. package/dist/commands/engine.d.ts.map +1 -1
  63. package/dist/commands/engine.js +5 -4
  64. package/dist/commands/engine.js.map +1 -1
  65. package/dist/commands/functions.d.ts.map +1 -1
  66. package/dist/commands/functions.js +172 -119
  67. package/dist/commands/functions.js.map +1 -1
  68. package/dist/commands/generate.d.ts.map +1 -1
  69. package/dist/commands/generate.js +5 -4
  70. package/dist/commands/generate.js.map +1 -1
  71. package/dist/commands/init.d.ts +30 -1
  72. package/dist/commands/init.d.ts.map +1 -1
  73. package/dist/commands/init.js +814 -107
  74. package/dist/commands/init.js.map +1 -1
  75. package/dist/commands/introspect.d.ts +3 -0
  76. package/dist/commands/introspect.d.ts.map +1 -0
  77. package/dist/commands/introspect.js +35 -0
  78. package/dist/commands/introspect.js.map +1 -0
  79. package/dist/commands/keys.d.ts +15 -1
  80. package/dist/commands/keys.d.ts.map +1 -1
  81. package/dist/commands/keys.js +46 -10
  82. package/dist/commands/keys.js.map +1 -1
  83. package/dist/commands/link-helpers.d.ts +15 -0
  84. package/dist/commands/link-helpers.d.ts.map +1 -0
  85. package/dist/commands/link-helpers.js +225 -0
  86. package/dist/commands/link-helpers.js.map +1 -0
  87. package/dist/commands/logs.d.ts.map +1 -1
  88. package/dist/commands/logs.js +5 -4
  89. package/dist/commands/logs.js.map +1 -1
  90. package/dist/commands/migrate-from-v1.d.ts.map +1 -1
  91. package/dist/commands/migrate-from-v1.js +3 -2
  92. package/dist/commands/migrate-from-v1.js.map +1 -1
  93. package/dist/commands/migrate.d.ts.map +1 -1
  94. package/dist/commands/migrate.js +119 -26
  95. package/dist/commands/migrate.js.map +1 -1
  96. package/dist/commands/pg.d.ts.map +1 -1
  97. package/dist/commands/pg.js +11 -12
  98. package/dist/commands/pg.js.map +1 -1
  99. package/dist/commands/plugins.d.ts.map +1 -1
  100. package/dist/commands/plugins.js +55 -46
  101. package/dist/commands/plugins.js.map +1 -1
  102. package/dist/commands/pull.d.ts.map +1 -1
  103. package/dist/commands/pull.js +33 -5
  104. package/dist/commands/pull.js.map +1 -1
  105. package/dist/commands/push.d.ts.map +1 -1
  106. package/dist/commands/push.js +110 -137
  107. package/dist/commands/push.js.map +1 -1
  108. package/dist/commands/seed.d.ts.map +1 -1
  109. package/dist/commands/seed.js +4 -3
  110. package/dist/commands/seed.js.map +1 -1
  111. package/dist/commands/self-host.d.ts +2 -2
  112. package/dist/commands/self-host.d.ts.map +1 -1
  113. package/dist/commands/self-host.js +65 -50
  114. package/dist/commands/self-host.js.map +1 -1
  115. package/dist/commands/self-update.d.ts.map +1 -1
  116. package/dist/commands/self-update.js +3 -2
  117. package/dist/commands/self-update.js.map +1 -1
  118. package/dist/commands/status.d.ts +1 -1
  119. package/dist/commands/status.d.ts.map +1 -1
  120. package/dist/commands/status.js +95 -29
  121. package/dist/commands/status.js.map +1 -1
  122. package/dist/commands/types.d.ts.map +1 -1
  123. package/dist/commands/types.js +3 -2
  124. package/dist/commands/types.js.map +1 -1
  125. package/dist/commands/update.d.ts.map +1 -1
  126. package/dist/commands/update.js +54 -21
  127. package/dist/commands/update.js.map +1 -1
  128. package/dist/config.d.ts +2 -1
  129. package/dist/config.d.ts.map +1 -1
  130. package/dist/config.js.map +1 -1
  131. package/dist/dev-compose.d.ts +26 -0
  132. package/dist/dev-compose.d.ts.map +1 -1
  133. package/dist/dev-compose.js +328 -34
  134. package/dist/dev-compose.js.map +1 -1
  135. package/dist/dev-log-bus.d.ts +30 -0
  136. package/dist/dev-log-bus.d.ts.map +1 -0
  137. package/dist/dev-log-bus.js +87 -0
  138. package/dist/dev-log-bus.js.map +1 -0
  139. package/dist/dev-log-filter.d.ts +10 -0
  140. package/dist/dev-log-filter.d.ts.map +1 -0
  141. package/dist/dev-log-filter.js +36 -0
  142. package/dist/dev-log-filter.js.map +1 -0
  143. package/dist/dev-logo.d.ts +12 -0
  144. package/dist/dev-logo.d.ts.map +1 -0
  145. package/dist/dev-logo.js +56 -0
  146. package/dist/dev-logo.js.map +1 -0
  147. package/dist/dev-session.d.ts +26 -0
  148. package/dist/dev-session.d.ts.map +1 -0
  149. package/dist/dev-session.js +106 -0
  150. package/dist/dev-session.js.map +1 -0
  151. package/dist/dev-shutdown.d.ts +9 -0
  152. package/dist/dev-shutdown.d.ts.map +1 -0
  153. package/dist/dev-shutdown.js +50 -0
  154. package/dist/dev-shutdown.js.map +1 -0
  155. package/dist/dev-task-colors.d.ts +13 -0
  156. package/dist/dev-task-colors.d.ts.map +1 -0
  157. package/dist/dev-task-colors.js +43 -0
  158. package/dist/dev-task-colors.js.map +1 -0
  159. package/dist/dev-tui.d.ts +24 -0
  160. package/dist/dev-tui.d.ts.map +1 -0
  161. package/dist/dev-tui.js +188 -0
  162. package/dist/dev-tui.js.map +1 -0
  163. package/dist/diff-output.d.ts +5 -1
  164. package/dist/diff-output.d.ts.map +1 -1
  165. package/dist/diff-output.js +69 -0
  166. package/dist/diff-output.js.map +1 -1
  167. package/dist/docker-runtime.d.ts +30 -0
  168. package/dist/docker-runtime.d.ts.map +1 -0
  169. package/dist/docker-runtime.js +118 -0
  170. package/dist/docker-runtime.js.map +1 -0
  171. package/dist/engine-client.d.ts +10 -1
  172. package/dist/engine-client.d.ts.map +1 -1
  173. package/dist/engine-client.js +76 -17
  174. package/dist/engine-client.js.map +1 -1
  175. package/dist/engine-push-output.d.ts +17 -0
  176. package/dist/engine-push-output.d.ts.map +1 -0
  177. package/dist/engine-push-output.js +64 -0
  178. package/dist/engine-push-output.js.map +1 -0
  179. package/dist/ensure-binary.js +2 -2
  180. package/dist/ensure-binary.js.map +1 -1
  181. package/dist/gitignore.d.ts +8 -0
  182. package/dist/gitignore.d.ts.map +1 -0
  183. package/dist/gitignore.js +41 -0
  184. package/dist/gitignore.js.map +1 -0
  185. package/dist/kong-config.d.ts +9 -0
  186. package/dist/kong-config.d.ts.map +1 -1
  187. package/dist/kong-config.js +18 -1
  188. package/dist/kong-config.js.map +1 -1
  189. package/dist/link.d.ts +66 -0
  190. package/dist/link.d.ts.map +1 -0
  191. package/dist/link.js +160 -0
  192. package/dist/link.js.map +1 -0
  193. package/dist/process-manager.d.ts +8 -0
  194. package/dist/process-manager.d.ts.map +1 -1
  195. package/dist/process-manager.js +53 -9
  196. package/dist/process-manager.js.map +1 -1
  197. package/dist/project-config.d.ts +30 -3
  198. package/dist/project-config.d.ts.map +1 -1
  199. package/dist/project-config.js +37 -4
  200. package/dist/project-config.js.map +1 -1
  201. package/dist/prompts.d.ts +3 -0
  202. package/dist/prompts.d.ts.map +1 -0
  203. package/dist/prompts.js +3 -0
  204. package/dist/prompts.js.map +1 -0
  205. package/dist/pull-utils.d.ts +50 -14
  206. package/dist/pull-utils.d.ts.map +1 -1
  207. package/dist/pull-utils.js +152 -12
  208. package/dist/pull-utils.js.map +1 -1
  209. package/dist/resolve-target.d.ts +86 -0
  210. package/dist/resolve-target.d.ts.map +1 -0
  211. package/dist/resolve-target.js +291 -0
  212. package/dist/resolve-target.js.map +1 -0
  213. package/dist/restore-system-relation-targets.d.ts +3 -0
  214. package/dist/restore-system-relation-targets.d.ts.map +1 -0
  215. package/dist/restore-system-relation-targets.js +45 -0
  216. package/dist/restore-system-relation-targets.js.map +1 -0
  217. package/dist/runtime-routes.d.ts.map +1 -1
  218. package/dist/runtime-routes.js +7 -0
  219. package/dist/runtime-routes.js.map +1 -1
  220. package/dist/schema-ast-v2.d.ts +1 -1
  221. package/dist/schema-ast-v2.d.ts.map +1 -1
  222. package/dist/schema-ast-v2.js +2 -2
  223. package/dist/schema-ast-v2.js.map +1 -1
  224. package/dist/schema-sources.d.ts +40 -0
  225. package/dist/schema-sources.d.ts.map +1 -0
  226. package/dist/schema-sources.js +183 -0
  227. package/dist/schema-sources.js.map +1 -0
  228. package/dist/scripts/postinstall.js +5 -1
  229. package/dist/scripts/postinstall.js.map +1 -1
  230. package/dist/self-host-compose.d.ts +37 -1
  231. package/dist/self-host-compose.d.ts.map +1 -1
  232. package/dist/self-host-compose.js +233 -43
  233. package/dist/self-host-compose.js.map +1 -1
  234. package/dist/storage-provision.d.ts +4 -0
  235. package/dist/storage-provision.d.ts.map +1 -1
  236. package/dist/storage-provision.js +24 -2
  237. package/dist/storage-provision.js.map +1 -1
  238. package/dist/supatype-eval-1781522769253.d.mts +2 -0
  239. package/dist/supatype-eval-1781522769253.d.mts.map +1 -0
  240. package/dist/supatype-eval-1781522769253.mjs +3 -0
  241. package/dist/supatype-eval-1781522769253.mjs.map +1 -0
  242. package/dist/systemd.js +2 -2
  243. package/dist/systemd.js.map +1 -1
  244. package/dist/target-client.d.ts +10 -0
  245. package/dist/target-client.d.ts.map +1 -0
  246. package/dist/target-client.js +22 -0
  247. package/dist/target-client.js.map +1 -0
  248. package/dist/type-extractor.d.ts +11 -0
  249. package/dist/type-extractor.d.ts.map +1 -1
  250. package/dist/type-extractor.js +95 -8
  251. package/dist/type-extractor.js.map +1 -1
  252. package/dist/ui/brand.d.ts +9 -0
  253. package/dist/ui/brand.d.ts.map +1 -0
  254. package/dist/ui/brand.js +11 -0
  255. package/dist/ui/brand.js.map +1 -0
  256. package/dist/ui/confirm.d.ts +12 -0
  257. package/dist/ui/confirm.d.ts.map +1 -0
  258. package/dist/ui/confirm.js +28 -0
  259. package/dist/ui/confirm.js.map +1 -0
  260. package/dist/ui/fatal.d.ts +10 -0
  261. package/dist/ui/fatal.d.ts.map +1 -0
  262. package/dist/ui/fatal.js +34 -0
  263. package/dist/ui/fatal.js.map +1 -0
  264. package/dist/ui/index.d.ts +9 -0
  265. package/dist/ui/index.d.ts.map +1 -0
  266. package/dist/ui/index.js +9 -0
  267. package/dist/ui/index.js.map +1 -0
  268. package/dist/ui/interactive.d.ts +3 -0
  269. package/dist/ui/interactive.d.ts.map +1 -0
  270. package/dist/ui/interactive.js +5 -0
  271. package/dist/ui/interactive.js.map +1 -0
  272. package/dist/ui/messages.d.ts +10 -0
  273. package/dist/ui/messages.d.ts.map +1 -0
  274. package/dist/ui/messages.js +35 -0
  275. package/dist/ui/messages.js.map +1 -0
  276. package/dist/ui/next-steps.d.ts +3 -0
  277. package/dist/ui/next-steps.d.ts.map +1 -0
  278. package/dist/ui/next-steps.js +10 -0
  279. package/dist/ui/next-steps.js.map +1 -0
  280. package/dist/ui/progress.d.ts +5 -0
  281. package/dist/ui/progress.d.ts.map +1 -0
  282. package/dist/ui/progress.js +24 -0
  283. package/dist/ui/progress.js.map +1 -0
  284. package/dist/ui/prompts.d.ts +14 -0
  285. package/dist/ui/prompts.d.ts.map +1 -0
  286. package/dist/ui/prompts.js +34 -0
  287. package/dist/ui/prompts.js.map +1 -0
  288. package/package.json +3 -2
  289. package/src/app/framework.ts +1 -3
  290. package/src/app/proxy-dev-app.ts +114 -6
  291. package/src/app-config.ts +80 -0
  292. package/src/binary-cache.ts +102 -52
  293. package/src/cli.ts +16 -2
  294. package/src/commands/add.ts +97 -0
  295. package/src/commands/admin.ts +39 -73
  296. package/src/commands/adopt.ts +82 -0
  297. package/src/commands/app.ts +20 -17
  298. package/src/commands/cache.ts +11 -10
  299. package/src/commands/cloud.ts +91 -142
  300. package/src/commands/db.ts +40 -63
  301. package/src/commands/deploy.ts +186 -126
  302. package/src/commands/dev.ts +95 -55
  303. package/src/commands/diff.ts +52 -43
  304. package/src/commands/doctor.ts +103 -0
  305. package/src/commands/engine.ts +5 -4
  306. package/src/commands/functions.ts +187 -123
  307. package/src/commands/generate.ts +5 -4
  308. package/src/commands/init.ts +996 -105
  309. package/src/commands/introspect.ts +48 -0
  310. package/src/commands/keys.ts +56 -14
  311. package/src/commands/link-helpers.ts +273 -0
  312. package/src/commands/logs.ts +5 -4
  313. package/src/commands/migrate-from-v1.ts +3 -2
  314. package/src/commands/migrate.ts +167 -27
  315. package/src/commands/pg.ts +13 -18
  316. package/src/commands/plugins.ts +55 -46
  317. package/src/commands/pull.ts +38 -9
  318. package/src/commands/push.ts +147 -174
  319. package/src/commands/seed.ts +5 -4
  320. package/src/commands/self-host.ts +85 -54
  321. package/src/commands/self-update.ts +3 -2
  322. package/src/commands/status.ts +102 -33
  323. package/src/commands/types.ts +3 -2
  324. package/src/commands/update.ts +59 -23
  325. package/src/config.ts +2 -1
  326. package/src/dev-compose.ts +426 -34
  327. package/src/dev-log-bus.ts +101 -0
  328. package/src/dev-log-filter.ts +32 -0
  329. package/src/dev-logo.ts +61 -0
  330. package/src/dev-session.ts +130 -0
  331. package/src/dev-shutdown.ts +54 -0
  332. package/src/dev-task-colors.ts +47 -0
  333. package/src/dev-tui.ts +232 -0
  334. package/src/diff-output.ts +79 -1
  335. package/src/docker-runtime.ts +151 -0
  336. package/src/engine-client.ts +81 -17
  337. package/src/engine-push-output.ts +75 -0
  338. package/src/ensure-binary.ts +2 -2
  339. package/src/gitignore.ts +48 -0
  340. package/src/kong-config.ts +24 -1
  341. package/src/link.ts +243 -0
  342. package/src/process-manager.ts +66 -10
  343. package/src/project-config.ts +62 -7
  344. package/src/prompts.ts +2 -0
  345. package/src/pull-utils.ts +217 -23
  346. package/src/resolve-target.ts +419 -0
  347. package/src/restore-system-relation-targets.ts +45 -0
  348. package/src/runtime-routes.ts +7 -0
  349. package/src/schema-ast-v2.ts +2 -1
  350. package/src/schema-sources.ts +248 -0
  351. package/src/scripts/postinstall.ts +7 -1
  352. package/src/self-host-compose.ts +261 -46
  353. package/src/storage-provision.ts +33 -1
  354. package/src/supatype-eval-1781522769253.mts +1 -0
  355. package/src/systemd.ts +2 -2
  356. package/src/target-client.ts +40 -0
  357. package/src/type-extractor.ts +124 -11
  358. package/src/ui/README.md +17 -0
  359. package/src/ui/brand.ts +12 -0
  360. package/src/ui/confirm.ts +38 -0
  361. package/src/ui/fatal.ts +43 -0
  362. package/src/ui/index.ts +8 -0
  363. package/src/ui/interactive.ts +4 -0
  364. package/src/ui/messages.ts +43 -0
  365. package/src/ui/next-steps.ts +10 -0
  366. package/src/ui/progress.ts +28 -0
  367. package/src/ui/prompts.ts +40 -0
  368. package/tests/cli-help.test.ts +27 -2
  369. package/tests/config.test.ts +29 -2
  370. package/tests/dev-ui.test.ts +139 -0
  371. package/tests/docker-runtime.test.ts +236 -0
  372. package/tests/engine-push-output.test.ts +67 -0
  373. package/tests/init.test.ts +197 -18
  374. package/tests/link.test.ts +148 -0
  375. package/tests/minisign.test.ts +102 -0
  376. package/tests/proxy-dev-app.test.ts +45 -1
  377. package/tests/pull-utils.test.ts +5 -4
  378. package/tests/runtime-contract.test.ts +186 -2
  379. package/tests/schema-sources.test.ts +119 -0
  380. package/tests/storage-provision.test.ts +100 -0
  381. package/tests/ui-confirm.test.ts +41 -0
  382. package/tests/ui-messages.test.ts +66 -0
  383. package/tsconfig.tsbuildinfo +1 -1
@@ -7,17 +7,30 @@ import { dirname, join, resolve } from "node:path";
7
7
  import { spawnSync } from "node:child_process";
8
8
  import { startProxyDevApp } from "./app/proxy-dev-app.js";
9
9
  import { loadSchemaAst } from "./config.js";
10
- import { COMPOSE_DEV_KONG_PORT, projectRootFromConfig, resolveRuntimeProvider, schemaPathFromProject, } from "./project-config.js";
10
+ import { COMPOSE_DEV_KONG_PORT, connectionString, projectRootFromConfig, resolveRuntimeProvider, schemaPathFromProject, } from "./project-config.js";
11
11
  import { signJwt } from "./jwt.js";
12
12
  import { isPortInUse } from "./postgres-ctl.js";
13
- import { composeProjectName, runDockerCompose, writeSelfHostCompose } from "./self-host-compose.js";
13
+ import { COMPOSE_PINNED_IMAGE_ENV_KEYS, composeDockerImageEnv, composeProjectName, exitComposeFailed, runDockerCompose, schemaEngineImageForPush, writeSelfHostCompose, } from "./self-host-compose.js";
14
14
  import { hasEngineOverride } from "./binary-cache.js";
15
15
  import { startStudioViteDevServer } from "./studio-dev-server.js";
16
16
  import { ensureEngine, engineRequest } from "./engine-client.js";
17
+ import { writeSchemaSourcePushArtifacts } from "./schema-sources.js";
18
+ import { endDevSession } from "./dev-session.js";
19
+ import { writeLocalEnvironment } from "./link.js";
20
+ import { registerDevShutdown } from "./dev-shutdown.js";
21
+ import { filterComposeNoise, formatEnginePushMessage, parseEngineJsonOutput, parseEnginePushOutput, } from "./engine-push-output.js";
17
22
  import { withAdminRoles } from "./studio-admin-roles.js";
23
+ import { restoreSystemRelationTargets } from "./restore-system-relation-targets.js";
24
+ import { provisionBucketsFromAst } from "./storage-provision.js";
18
25
  const LOCAL_JWT_SECRET = "super-secret-jwt-token-with-at-least-32-characters-long";
19
26
  /** Default host port for compose Postgres when `overrides.engine` is set (devLocal). */
20
27
  const COMPOSE_DEV_DB_PORT = 54329;
28
+ /** Sync optional Docker image pins from config into `.env` (no JWT rotation). */
29
+ export function syncComposeImagePins(cwd, config) {
30
+ const imagePins = composeDockerImageEnv(config);
31
+ const removeImageKeys = COMPOSE_PINNED_IMAGE_ENV_KEYS.filter((key) => !(key in imagePins));
32
+ upsertEnvFile(cwd, imagePins, removeImageKeys);
33
+ }
21
34
  /** In-compose Postgres URL (SCRAM; not published to the host). */
22
35
  export function composeDbUrl() {
23
36
  return "postgresql://supatype_admin:postgres@db:5432/supatype?sslmode=disable";
@@ -56,6 +69,63 @@ function hostComposeDbUrl(cwd) {
56
69
  const db = readEnvValue(cwd, "POSTGRES_DB", "supatype");
57
70
  return `postgresql://${user}:${pass}@127.0.0.1:${port}/${db}?sslmode=disable`;
58
71
  }
72
+ /**
73
+ * When `provider: docker` and `overrides.engine` is set, ensure Postgres is published
74
+ * on the host (SUPATYPE_DEV_DB_PORT) so the local engine binary can connect.
75
+ */
76
+ export async function ensureDockerDbPublishedForHostEngine(cwd, config, brand) {
77
+ if (resolveRuntimeProvider(config) !== "docker") {
78
+ throw new Error("ensureDockerDbPublishedForHostEngine requires provider: docker");
79
+ }
80
+ if (!hasEngineOverride(config)) {
81
+ throw new Error("Docker Postgres is not published to the host without overrides.engine. " +
82
+ "Set overrides.engine in supatype.local.config.ts or pass --connection.");
83
+ }
84
+ const project = composeProjectName(config.project.name);
85
+ const kongPort = await resolveKongPort(cwd);
86
+ const devDbPort = await resolveDevDbPort(cwd);
87
+ const now = Math.floor(Date.now() / 1000);
88
+ const jwtBase = { iss: "supatype", iat: now, exp: now + 315_360_000 };
89
+ const anonKey = signJwt({ ...jwtBase, role: "anon" }, LOCAL_JWT_SECRET);
90
+ const serviceRoleKey = signJwt({ ...jwtBase, role: "service_role" }, LOCAL_JWT_SECRET);
91
+ ensureDevComposeEnv(cwd, config, anonKey, serviceRoleKey, kongPort, devDbPort);
92
+ const paths = writeSelfHostCompose(cwd, config, { devLocal: true });
93
+ const up = runDockerCompose(paths.composePath, ["up", "-d", "db"], cwd, project, {
94
+ quiet: true,
95
+ ...(brand !== undefined && { brand }),
96
+ });
97
+ if (up !== 0) {
98
+ exitComposeFailed(up, "Could not start Postgres (compose db service).", brand);
99
+ }
100
+ await waitComposeHealthy(paths, cwd, 120_000, project);
101
+ }
102
+ /**
103
+ * True when CLI should publish local Compose Postgres for the host-side engine
104
+ * (local dev with overrides.engine). False for remote DB URLs via config or --connection.
105
+ */
106
+ export function usesLocalDockerEngineDb(config, explicitConnection) {
107
+ if (explicitConnection?.trim())
108
+ return false;
109
+ if (config.connection?.trim())
110
+ return false;
111
+ return resolveRuntimeProvider(config) === "docker" && hasEngineOverride(config);
112
+ }
113
+ /**
114
+ * Resolve a Postgres URL reachable from the host-side engine binary.
115
+ * Local docker + overrides.engine → SUPATYPE_DEV_DB_PORT on localhost.
116
+ * Remote self-host → set `connection` in config or pass `--connection`.
117
+ */
118
+ export async function resolveHostEngineDatabaseUrl(cwd, config, explicit) {
119
+ if (explicit?.trim())
120
+ return explicit;
121
+ if (config.connection?.trim())
122
+ return config.connection;
123
+ if (usesLocalDockerEngineDb(config)) {
124
+ await ensureDockerDbPublishedForHostEngine(cwd, config);
125
+ return hostComposeDbUrl(cwd);
126
+ }
127
+ return connectionString(config);
128
+ }
59
129
  async function resolveKongPort(cwd) {
60
130
  const envPath = join(cwd, ".env");
61
131
  if (existsSync(envPath)) {
@@ -68,10 +138,10 @@ async function resolveKongPort(cwd) {
68
138
  port++;
69
139
  return port;
70
140
  }
71
- function upsertEnvFile(cwd, updates) {
141
+ function upsertEnvFile(cwd, updates, removeKeys = []) {
72
142
  const envPath = join(cwd, ".env");
73
143
  const existing = existsSync(envPath) ? readFileSync(envPath, "utf8") : "";
74
- const keys = new Set(Object.keys(updates));
144
+ const keys = new Set([...Object.keys(updates), ...removeKeys]);
75
145
  const kept = existing
76
146
  .split("\n")
77
147
  .filter((line) => {
@@ -81,9 +151,10 @@ function upsertEnvFile(cwd, updates) {
81
151
  const merged = [...kept, ...Object.entries(updates).map(([key, value]) => `${key}=${value}`)];
82
152
  writeFileSync(envPath, `${merged.join("\n").trimEnd()}\n`, "utf8");
83
153
  }
84
- /** Keep compose + Studio + Astro on the same freshly signed dev JWTs every `dev` / `push`. */
85
- function ensureDevComposeEnv(cwd, anonKey, serviceRoleKey, kongPort, devDbPort) {
154
+ /** Keep compose + Studio on the same freshly signed dev JWTs; sync optional image pins from config. */
155
+ function ensureDevComposeEnv(cwd, config, anonKey, serviceRoleKey, kongPort, devDbPort) {
86
156
  const apiUrl = `http://localhost:${kongPort}`;
157
+ const imagePins = composeDockerImageEnv(config);
87
158
  const updates = {
88
159
  POSTGRES_USER: "supatype_admin",
89
160
  POSTGRES_PASSWORD: "postgres",
@@ -97,11 +168,15 @@ function ensureDevComposeEnv(cwd, anonKey, serviceRoleKey, kongPort, devDbPort)
97
168
  API_EXTERNAL_URL: apiUrl,
98
169
  SITE_URL: apiUrl,
99
170
  GOTRUE_MAILER_AUTOCONFIRM: "true",
171
+ ...imagePins,
100
172
  };
101
173
  if (devDbPort !== undefined) {
102
174
  updates.SUPATYPE_DEV_DB_PORT = String(devDbPort);
175
+ updates.DATABASE_URL =
176
+ `postgresql://supatype_admin:postgres@localhost:${devDbPort}/supatype?sslmode=disable`;
103
177
  }
104
- upsertEnvFile(cwd, updates);
178
+ const removeImageKeys = COMPOSE_PINNED_IMAGE_ENV_KEYS.filter((key) => !(key in imagePins));
179
+ upsertEnvFile(cwd, updates, removeImageKeys);
105
180
  }
106
181
  async function waitComposeHealthy(paths, cwd, maxMs, composeProject) {
107
182
  const composeDir = dirname(paths.composePath);
@@ -133,8 +208,13 @@ async function waitKongReady(kongPort, maxSec) {
133
208
  }
134
209
  throw new Error(`Kong gateway at ${base} did not become ready within ${maxSec}s`);
135
210
  }
211
+ async function provisionDockerStorageBuckets(ast, kongPort, serviceRoleKey) {
212
+ await provisionBucketsFromAst(ast, `http://localhost:${kongPort}/storage/v1`, serviceRoleKey);
213
+ }
136
214
  let _lastPushedAst = null;
137
215
  let _lastFailedAst = null;
216
+ let _composePushInFlight = false;
217
+ let _composePushQueued = false;
138
218
  /**
139
219
  * Regenerate admin-config + TypeScript types from the AST using the **host** engine.
140
220
  * Only schema push/migrate runs in compose (Postgres is not on the host).
@@ -175,6 +255,7 @@ async function refreshSchemaArtifacts(cwd, config, ast) {
175
255
  }
176
256
  try {
177
257
  const admin = withAdminRoles(await engineRequest("/admin", { ast }), config);
258
+ restoreSystemRelationTargets(admin, ast);
178
259
  writeFileSync(adminConfigPath, `${JSON.stringify(admin, null, 2)}\n`);
179
260
  console.log("[supatype] Admin config written to .supatype/admin-config.json");
180
261
  }
@@ -202,12 +283,19 @@ async function runComposeSchemaPush(cwd, config, paths, schemaPath, composeProje
202
283
  console.log("[supatype] Applying schema via local engine (overrides.engine)...");
203
284
  await ensureEngine();
204
285
  const pgSchema = config.schema?.pg_schema ?? "public";
286
+ const sources = writeSchemaSourcePushArtifacts(cwd);
205
287
  try {
206
288
  await engineRequest("/push", {
207
289
  ast,
208
290
  database_url: hostComposeDbUrl(cwd),
209
291
  schema: pgSchema,
210
292
  force: true,
293
+ ...(sources
294
+ ? {
295
+ schema_sources_gz_base64: sources.payload.dataBase64,
296
+ schema_sources_manifest: sources.payload.manifest,
297
+ }
298
+ : {}),
211
299
  });
212
300
  }
213
301
  catch (err) {
@@ -216,27 +304,51 @@ async function runComposeSchemaPush(cwd, config, paths, schemaPath, composeProje
216
304
  }
217
305
  _lastPushedAst = astJson;
218
306
  _lastFailedAst = null;
307
+ if (astHasSystemAuthRelation(ast)) {
308
+ grantAuthSchemaAccess(paths, cwd, composeProject);
309
+ }
219
310
  console.log("[supatype] Schema applied.");
220
311
  return;
221
312
  }
222
313
  console.log("[supatype] Applying schema via compose schema-engine...");
223
- let push = runComposeEnginePush(paths, cwd, composeProject);
314
+ const sources = writeSchemaSourcePushArtifacts(cwd);
315
+ let push = await runComposeEnginePush(paths, cwd, composeProject, config, sources);
224
316
  // Windows Docker bind mounts can lag briefly after the host write.
225
317
  if (push.status !== 0) {
226
318
  await new Promise((r) => setTimeout(r, 250));
227
- push = runComposeEnginePush(paths, cwd, composeProject);
319
+ push = await runComposeEnginePush(paths, cwd, composeProject, config, sources);
228
320
  }
229
321
  if (push.status !== 0) {
230
322
  _lastFailedAst = astJson;
231
- throw new Error(push.output || `Engine schema push failed (exit ${push.status})`);
323
+ const detail = filterComposeNoise(push.output) || push.output;
324
+ throw new Error(detail || `Engine schema push failed (exit ${push.status})`);
232
325
  }
233
326
  _lastPushedAst = astJson;
234
327
  _lastFailedAst = null;
235
- console.log("[supatype] Schema applied.");
328
+ if (astHasSystemAuthRelation(ast)) {
329
+ grantAuthSchemaAccess(paths, cwd, composeProject);
330
+ }
236
331
  }
237
- function runComposeEnginePush(paths, cwd, composeProject) {
332
+ /** Serialize watch-triggered pushes so docker output cannot interleave. */
333
+ async function runComposeSchemaPushQueued(cwd, config, paths, schemaPath, composeProject) {
334
+ if (_composePushInFlight) {
335
+ _composePushQueued = true;
336
+ return;
337
+ }
338
+ _composePushInFlight = true;
339
+ try {
340
+ do {
341
+ _composePushQueued = false;
342
+ await runComposeSchemaPush(cwd, config, paths, schemaPath, composeProject);
343
+ } while (_composePushQueued);
344
+ }
345
+ finally {
346
+ _composePushInFlight = false;
347
+ }
348
+ }
349
+ async function runComposeEnginePush(paths, cwd, composeProject, config, sources) {
238
350
  const envFile = resolve(cwd, ".env");
239
- const composeArgs = ["compose"];
351
+ const composeArgs = ["compose", "--progress", "quiet"];
240
352
  if (composeProject)
241
353
  composeArgs.push("-p", composeProject);
242
354
  composeArgs.push("--project-directory", cwd);
@@ -245,16 +357,125 @@ function runComposeEnginePush(paths, cwd, composeProject) {
245
357
  composeArgs.push("--env-file", envFile);
246
358
  }
247
359
  composeArgs.push("--profile", "tools", "run", "--rm", "schema-engine", "push", "-i", "/project/.supatype/schema.ast.json", "--database-url", composeDbUrl(), "--force", "--non-interactive");
360
+ if (sources) {
361
+ composeArgs.push("--schema-sources-gz", sources.dockerGzPath, "--schema-sources-manifest", sources.dockerManifestPath);
362
+ }
363
+ const pushEnv = {
364
+ ...process.env,
365
+ COMPOSE_PROGRESS: "quiet",
366
+ };
367
+ const engineImage = await schemaEngineImageForPush(config);
368
+ if (engineImage) {
369
+ pushEnv.SUPATYPE_ENGINE_IMAGE = engineImage;
370
+ }
248
371
  const result = spawnSync("docker", composeArgs, {
249
372
  cwd,
250
373
  encoding: "utf8",
251
374
  maxBuffer: 10 * 1024 * 1024,
375
+ env: pushEnv,
252
376
  });
253
377
  const output = `${result.stdout ?? ""}${result.stderr ?? ""}`.trim();
254
- if (output.length > 0) {
255
- console.error(output);
378
+ const exitStatus = result.status ?? 1;
379
+ const pushResult = parseEnginePushOutput(output);
380
+ if (exitStatus === 0) {
381
+ if (pushResult) {
382
+ console.log(`[supatype] ${formatEnginePushMessage(pushResult)}`);
383
+ }
384
+ else {
385
+ console.log("[supatype] Schema applied.");
386
+ }
256
387
  }
257
- return { status: result.status ?? 1, output };
388
+ return { status: exitStatus, output };
389
+ }
390
+ async function runComposeEngineDiff(paths, cwd, composeProject, config, pgSchema) {
391
+ const envFile = resolve(cwd, ".env");
392
+ const composeArgs = ["compose", "--progress", "quiet"];
393
+ if (composeProject)
394
+ composeArgs.push("-p", composeProject);
395
+ composeArgs.push("--project-directory", cwd);
396
+ composeArgs.push("-f", paths.composePath);
397
+ if (existsSync(envFile)) {
398
+ composeArgs.push("--env-file", envFile);
399
+ }
400
+ composeArgs.push("--profile", "tools", "run", "--rm", "schema-engine", "diff", "-i", "/project/.supatype/schema.ast.json", "--database-url", composeDbUrl(), "--schema", pgSchema);
401
+ const diffEnv = {
402
+ ...process.env,
403
+ COMPOSE_PROGRESS: "quiet",
404
+ };
405
+ const engineImage = await schemaEngineImageForPush(config);
406
+ if (engineImage) {
407
+ diffEnv.SUPATYPE_ENGINE_IMAGE = engineImage;
408
+ }
409
+ const result = spawnSync("docker", composeArgs, {
410
+ cwd,
411
+ encoding: "utf8",
412
+ maxBuffer: 10 * 1024 * 1024,
413
+ env: diffEnv,
414
+ });
415
+ const output = `${result.stdout ?? ""}${result.stderr ?? ""}`.trim();
416
+ const exitStatus = result.status ?? 1;
417
+ const diff = parseEngineJsonOutput(output);
418
+ return { status: exitStatus, output, diff };
419
+ }
420
+ /**
421
+ * `supatype diff` when `provider: docker`. Uses in-compose schema-engine unless
422
+ * `overrides.engine` is set — then Postgres is published to the host and diff runs
423
+ * through the local engine binary.
424
+ */
425
+ export async function diffSchemaDocker(cwd, config) {
426
+ if (resolveRuntimeProvider(config) !== "docker") {
427
+ throw new Error("diffSchemaDocker requires provider: docker");
428
+ }
429
+ const project = composeProjectName(config.project.name);
430
+ const pgSchema = config.schema?.pg_schema ?? "public";
431
+ if (hasEngineOverride(config)) {
432
+ const brand = { intro: "Schema diff" };
433
+ await ensureDockerDbPublishedForHostEngine(cwd, config, brand);
434
+ const schemaPath = schemaPathFromProject(config, cwd);
435
+ const ast = loadSchemaAst(schemaPath, cwd);
436
+ await ensureEngine();
437
+ return engineRequest("/diff", {
438
+ ast,
439
+ database_url: hostComposeDbUrl(cwd),
440
+ schema: pgSchema,
441
+ });
442
+ }
443
+ const kongPort = await resolveKongPort(cwd);
444
+ const now = Math.floor(Date.now() / 1000);
445
+ const jwtBase = { iss: "supatype", iat: now, exp: now + 315_360_000 };
446
+ const anonKey = signJwt({ ...jwtBase, role: "anon" }, LOCAL_JWT_SECRET);
447
+ const serviceRoleKey = signJwt({ ...jwtBase, role: "service_role" }, LOCAL_JWT_SECRET);
448
+ ensureDevComposeEnv(cwd, config, anonKey, serviceRoleKey, kongPort, undefined);
449
+ const paths = writeSelfHostCompose(cwd, config, { devLocal: true });
450
+ const diffBrand = { intro: "Schema diff" };
451
+ const up = runDockerCompose(paths.composePath, ["up", "-d", "db"], cwd, project, {
452
+ quiet: true,
453
+ brand: diffBrand,
454
+ });
455
+ if (up !== 0) {
456
+ exitComposeFailed(up, "Could not start Postgres (compose db service).", diffBrand);
457
+ }
458
+ await waitComposeHealthy(paths, cwd, 120_000, project);
459
+ const schemaPath = schemaPathFromProject(config, cwd);
460
+ const ast = loadSchemaAst(schemaPath, cwd);
461
+ const supatypeDir = join(cwd, ".supatype");
462
+ mkdirSync(supatypeDir, { recursive: true });
463
+ const astPath = join(supatypeDir, "schema.ast.json");
464
+ writeFileSync(astPath, JSON.stringify(ast));
465
+ let result = await runComposeEngineDiff(paths, cwd, project, config, pgSchema);
466
+ // Windows Docker bind mounts can lag briefly after the host write.
467
+ if (result.status !== 0) {
468
+ await new Promise((r) => setTimeout(r, 250));
469
+ result = await runComposeEngineDiff(paths, cwd, project, config, pgSchema);
470
+ }
471
+ if (result.status !== 0) {
472
+ const detail = filterComposeNoise(result.output) || result.output;
473
+ throw new Error(detail || `Engine schema diff failed (exit ${result.status})`);
474
+ }
475
+ if (!result.diff) {
476
+ throw new Error("Engine diff returned no result");
477
+ }
478
+ return result.diff;
258
479
  }
259
480
  /**
260
481
  * `supatype push` when `provider: docker`. Uses in-compose schema-engine unless
@@ -272,15 +493,30 @@ export async function pushSchemaDocker(cwd, config) {
272
493
  const jwtBase = { iss: "supatype", iat: now, exp: now + 315_360_000 };
273
494
  const anonKey = signJwt({ ...jwtBase, role: "anon" }, LOCAL_JWT_SECRET);
274
495
  const serviceRoleKey = signJwt({ ...jwtBase, role: "service_role" }, LOCAL_JWT_SECRET);
275
- ensureDevComposeEnv(cwd, anonKey, serviceRoleKey, kongPort, devDbPort);
496
+ ensureDevComposeEnv(cwd, config, anonKey, serviceRoleKey, kongPort, devDbPort);
276
497
  const paths = writeSelfHostCompose(cwd, config, { devLocal: true });
498
+ const pushBrand = { intro: "Push schema" };
277
499
  console.log(`[supatype] provider: docker — applying schema via compose (project ${project})...`);
278
- const up = runDockerCompose(paths.composePath, ["up", "-d", "db"], cwd, project);
279
- if (up !== 0)
280
- process.exit(up);
500
+ const up = runDockerCompose(paths.composePath, ["up", "-d", "db"], cwd, project, {
501
+ quiet: true,
502
+ brand: pushBrand,
503
+ });
504
+ if (up !== 0) {
505
+ exitComposeFailed(up, "Could not start Postgres (compose db service).", pushBrand);
506
+ }
281
507
  await waitComposeHealthy(paths, cwd, 120_000, project);
282
508
  const schemaPath = schemaPathFromProject(config, cwd);
509
+ const ast = loadSchemaAst(schemaPath, cwd);
283
510
  await runComposeSchemaPush(cwd, config, paths, schemaPath, project);
511
+ const upGateway = runDockerCompose(paths.composePath, ["up", "-d"], cwd, project, {
512
+ quiet: true,
513
+ brand: pushBrand,
514
+ });
515
+ if (upGateway !== 0) {
516
+ exitComposeFailed(upGateway, "Could not start the Compose gateway stack.", pushBrand);
517
+ }
518
+ await waitKongReady(kongPort, 120);
519
+ await provisionDockerStorageBuckets(ast, kongPort, serviceRoleKey);
284
520
  console.log("[supatype] Schema pushed.");
285
521
  }
286
522
  export async function runDevCompose(cwd, config, opts) {
@@ -296,18 +532,34 @@ export async function runDevCompose(cwd, config, opts) {
296
532
  const jwtBase = { iss: "supatype", iat: now, exp: now + 315_360_000 };
297
533
  const anonKey = signJwt({ ...jwtBase, role: "anon" }, LOCAL_JWT_SECRET);
298
534
  const serviceRoleKey = signJwt({ ...jwtBase, role: "service_role" }, LOCAL_JWT_SECRET);
299
- ensureDevComposeEnv(cwd, anonKey, serviceRoleKey, kongPort, devDbPort);
535
+ ensureDevComposeEnv(cwd, config, anonKey, serviceRoleKey, kongPort, devDbPort);
300
536
  console.log(`[supatype] provider: docker — starting self-host Compose stack (project ${project}, gateway :${kongPort})...`);
301
537
  const paths = writeSelfHostCompose(cwd, config, { devLocal: true });
302
- const upStatus = runDockerCompose(paths.composePath, ["up", "-d"], cwd, project);
303
- if (upStatus !== 0)
304
- process.exit(upStatus);
538
+ const devBrand = { intro: "Local development" };
539
+ const upStatus = runDockerCompose(paths.composePath, ["up", "-d"], cwd, project, {
540
+ quiet: true,
541
+ brand: devBrand,
542
+ });
543
+ if (upStatus !== 0) {
544
+ endDevSession();
545
+ exitComposeFailed(upStatus, "Could not start the local Compose stack.", devBrand);
546
+ }
305
547
  console.log("[supatype] Waiting for Postgres (compose)...");
306
548
  await waitComposeHealthy(paths, cwd, 180_000, project);
307
549
  const schemaPath = schemaPathFromProject(config, cwd);
308
550
  await runComposeSchemaPush(cwd, config, paths, schemaPath, project).catch((e) => console.error("[supatype] Initial schema push failed:", e.message));
309
551
  console.log("[supatype] Waiting for API gateway...");
310
552
  await waitKongReady(kongPort, 120);
553
+ writeLocalEnvironment(cwd, {
554
+ target: "local",
555
+ apiUrl: `http://localhost:${kongPort}`,
556
+ databaseUrl: hasEngineOverride(config) ? hostComposeDbUrl(cwd) : composeDbUrl(),
557
+ projectRef: config.project.name,
558
+ kongPort,
559
+ provider: "docker",
560
+ });
561
+ const ast = loadSchemaAst(schemaPath, cwd);
562
+ await provisionDockerStorageBuckets(ast, kongPort, serviceRoleKey);
311
563
  const pidDir = join(homedir(), ".supatype", "projects", config.project.name, "pid");
312
564
  mkdirSync(pidDir, { recursive: true });
313
565
  let studioProc = null;
@@ -343,21 +595,31 @@ export async function runDevCompose(cwd, config, opts) {
343
595
  Press Ctrl+C to stop.
344
596
  `);
345
597
  const appProc = startProxyDevApp(cwd, config, pidDir);
346
- const cleanup = async () => {
347
- console.log("\n[supatype] Shutting down compose...");
598
+ let schemaWatcher = null;
599
+ let debounceTimer = null;
600
+ registerDevShutdown(async () => {
601
+ schemaWatcher?.close();
602
+ schemaWatcher = null;
603
+ if (debounceTimer) {
604
+ clearTimeout(debounceTimer);
605
+ debounceTimer = null;
606
+ }
607
+ console.log("[supatype] Shutting down compose...");
348
608
  await studioProc?.stop();
349
609
  await appProc?.stop();
350
- runDockerCompose(paths.composePath, ["down"], cwd, project);
351
- process.exit(0);
352
- };
353
- process.once("SIGINT", () => void cleanup());
354
- process.once("SIGTERM", () => void cleanup());
610
+ const downStatus = runDockerCompose(paths.composePath, ["down"], cwd, project, { quiet: true });
611
+ if (downStatus === 0) {
612
+ console.log("[supatype] Compose stack stopped.");
613
+ }
614
+ else {
615
+ console.warn(`[supatype] Compose down exited with status ${downStatus}.`);
616
+ }
617
+ });
355
618
  if (opts.watch) {
356
619
  const schemaDir = join(projectRootFromConfig(config, cwd), config.schema?.path ?? "schema/index.ts", "..");
357
620
  console.log(`[supatype] Watching ${schemaDir} for changes...`);
358
621
  const { watch } = await import("node:fs");
359
- let debounceTimer = null;
360
- watch(schemaDir, { recursive: true }, (_eventType, filename) => {
622
+ schemaWatcher = watch(schemaDir, { recursive: true }, (_eventType, filename) => {
361
623
  if (!filename?.endsWith(".ts"))
362
624
  return;
363
625
  if (debounceTimer)
@@ -365,10 +627,42 @@ export async function runDevCompose(cwd, config, opts) {
365
627
  debounceTimer = setTimeout(() => {
366
628
  debounceTimer = null;
367
629
  console.log(`\n[supatype] Change detected in ${filename}, pushing schema...`);
368
- runComposeSchemaPush(cwd, config, paths, schemaPath, project).catch((e) => console.error("[supatype] Schema push failed:", e.message));
630
+ runComposeSchemaPushQueued(cwd, config, paths, schemaPath, project)
631
+ .then(async () => {
632
+ const updatedAst = loadSchemaAst(schemaPath, cwd);
633
+ await provisionDockerStorageBuckets(updatedAst, kongPort, serviceRoleKey);
634
+ })
635
+ .catch((e) => console.error("[supatype] Schema push failed:", e.message));
369
636
  }, 300);
370
637
  });
371
638
  }
372
639
  await new Promise(() => undefined);
373
640
  }
641
+ function astHasSystemAuthRelation(ast) {
642
+ const obj = ast;
643
+ if (!obj?.models)
644
+ return false;
645
+ for (const model of obj.models) {
646
+ if (!model.fields)
647
+ continue;
648
+ for (const field of Object.values(model.fields)) {
649
+ if (field.kind === "relation" && field.target === "supatype:user")
650
+ return true;
651
+ }
652
+ }
653
+ return false;
654
+ }
655
+ function grantAuthSchemaAccess(paths, cwd, composeProject) {
656
+ const composeDir = dirname(paths.composePath);
657
+ const baseArgs = [
658
+ "compose", "-p", composeProject,
659
+ "-f", paths.composePath,
660
+ ];
661
+ const sql = "GRANT USAGE ON SCHEMA auth TO service_role; GRANT SELECT ON auth.users TO service_role;";
662
+ const result = spawnSync("docker", [...baseArgs, "exec", "-T", "-e", "PGPASSWORD=postgres", "db",
663
+ "psql", "-U", "supatype_admin", "-d", "supatype", "-c", sql], { cwd: composeDir, encoding: "utf8", timeout: 10_000 });
664
+ if (result.status !== 0) {
665
+ console.warn("[supatype] Could not grant service_role access to auth.users — Studio relation preview may fail.");
666
+ }
667
+ }
374
668
  //# sourceMappingURL=dev-compose.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dev-compose.js","sourceRoot":"","sources":["../src/dev-compose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev-compose.js","sourceRoot":"","sources":["../src/dev-compose.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Per-task log buffers for `supatype dev` TUI mode.
3
+ */
4
+ export type DevLogLevel = "log" | "warn" | "error";
5
+ export interface DevTask {
6
+ id: string;
7
+ title: string;
8
+ lines: string[];
9
+ unread: boolean;
10
+ }
11
+ export declare class DevLogBus {
12
+ private readonly maxLines;
13
+ private readonly tasks;
14
+ private readonly order;
15
+ private readonly listeners;
16
+ private focusedTaskId;
17
+ constructor(maxLines?: number);
18
+ registerTask(id: string, title: string): void;
19
+ ensureTask(id: string, title?: string): void;
20
+ getTaskOrder(): readonly string[];
21
+ getTask(id: string): DevTask | undefined;
22
+ getFocusedTaskId(): string;
23
+ setFocusedTaskId(id: string): void;
24
+ focusNext(): void;
25
+ focusPrevious(): void;
26
+ append(taskId: string, line: string, level?: DevLogLevel): void;
27
+ onUpdate(listener: () => void): () => void;
28
+ private notify;
29
+ }
30
+ //# sourceMappingURL=dev-log-bus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-log-bus.d.ts","sourceRoot":"","sources":["../src/dev-log-bus.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAA;AAElD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,MAAM,EAAE,OAAO,CAAA;CAChB;AAID,qBAAa,SAAS;IAMR,OAAO,CAAC,QAAQ,CAAC,QAAQ;IALrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IACnD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,aAAa,CAAU;gBAEF,QAAQ,SAAoB;IAIzD,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAO7C,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,IAAI;IAIxC,YAAY,IAAI,SAAS,MAAM,EAAE;IAIjC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIxC,gBAAgB,IAAI,MAAM;IAI1B,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQlC,SAAS,IAAI,IAAI;IAMjB,aAAa,IAAI,IAAI;IAMrB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,WAAmB,GAAG,IAAI;IAwBtE,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAK1C,OAAO,CAAC,MAAM;CAGf"}