@supatype/cli 0.1.0-alpha.6

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 (200) hide show
  1. package/.turbo/turbo-build.log +4 -0
  2. package/.turbo/turbo-test.log +7 -0
  3. package/.turbo/turbo-typecheck.log +4 -0
  4. package/bin/dev-entry.ts +2 -0
  5. package/bin/supatype.js +5 -0
  6. package/dist/app/framework.d.ts +44 -0
  7. package/dist/app/framework.d.ts.map +1 -0
  8. package/dist/app/framework.js +200 -0
  9. package/dist/app/framework.js.map +1 -0
  10. package/dist/cli.d.ts +2 -0
  11. package/dist/cli.d.ts.map +1 -0
  12. package/dist/cli.js +55 -0
  13. package/dist/cli.js.map +1 -0
  14. package/dist/commands/admin.d.ts +4 -0
  15. package/dist/commands/admin.d.ts.map +1 -0
  16. package/dist/commands/admin.js +270 -0
  17. package/dist/commands/admin.js.map +1 -0
  18. package/dist/commands/app.d.ts +3 -0
  19. package/dist/commands/app.d.ts.map +1 -0
  20. package/dist/commands/app.js +235 -0
  21. package/dist/commands/app.js.map +1 -0
  22. package/dist/commands/cloud.d.ts +3 -0
  23. package/dist/commands/cloud.d.ts.map +1 -0
  24. package/dist/commands/cloud.js +256 -0
  25. package/dist/commands/cloud.js.map +1 -0
  26. package/dist/commands/db.d.ts +8 -0
  27. package/dist/commands/db.d.ts.map +1 -0
  28. package/dist/commands/db.js +123 -0
  29. package/dist/commands/db.js.map +1 -0
  30. package/dist/commands/deploy-types.d.ts +14 -0
  31. package/dist/commands/deploy-types.d.ts.map +1 -0
  32. package/dist/commands/deploy-types.js +38 -0
  33. package/dist/commands/deploy-types.js.map +1 -0
  34. package/dist/commands/deploy.d.ts +14 -0
  35. package/dist/commands/deploy.d.ts.map +1 -0
  36. package/dist/commands/deploy.js +295 -0
  37. package/dist/commands/deploy.js.map +1 -0
  38. package/dist/commands/dev.d.ts +3 -0
  39. package/dist/commands/dev.d.ts.map +1 -0
  40. package/dist/commands/dev.js +428 -0
  41. package/dist/commands/dev.js.map +1 -0
  42. package/dist/commands/diff.d.ts +3 -0
  43. package/dist/commands/diff.d.ts.map +1 -0
  44. package/dist/commands/diff.js +39 -0
  45. package/dist/commands/diff.js.map +1 -0
  46. package/dist/commands/engine.d.ts +9 -0
  47. package/dist/commands/engine.d.ts.map +1 -0
  48. package/dist/commands/engine.js +99 -0
  49. package/dist/commands/engine.js.map +1 -0
  50. package/dist/commands/functions.d.ts +3 -0
  51. package/dist/commands/functions.d.ts.map +1 -0
  52. package/dist/commands/functions.js +762 -0
  53. package/dist/commands/functions.js.map +1 -0
  54. package/dist/commands/generate.d.ts +3 -0
  55. package/dist/commands/generate.d.ts.map +1 -0
  56. package/dist/commands/generate.js +28 -0
  57. package/dist/commands/generate.js.map +1 -0
  58. package/dist/commands/init.d.ts +7 -0
  59. package/dist/commands/init.d.ts.map +1 -0
  60. package/dist/commands/init.js +515 -0
  61. package/dist/commands/init.js.map +1 -0
  62. package/dist/commands/keys.d.ts +4 -0
  63. package/dist/commands/keys.d.ts.map +1 -0
  64. package/dist/commands/keys.js +57 -0
  65. package/dist/commands/keys.js.map +1 -0
  66. package/dist/commands/logs.d.ts +6 -0
  67. package/dist/commands/logs.d.ts.map +1 -0
  68. package/dist/commands/logs.js +52 -0
  69. package/dist/commands/logs.js.map +1 -0
  70. package/dist/commands/migrate.d.ts +3 -0
  71. package/dist/commands/migrate.d.ts.map +1 -0
  72. package/dist/commands/migrate.js +71 -0
  73. package/dist/commands/migrate.js.map +1 -0
  74. package/dist/commands/plugins.d.ts +3 -0
  75. package/dist/commands/plugins.d.ts.map +1 -0
  76. package/dist/commands/plugins.js +431 -0
  77. package/dist/commands/plugins.js.map +1 -0
  78. package/dist/commands/pull.d.ts +3 -0
  79. package/dist/commands/pull.d.ts.map +1 -0
  80. package/dist/commands/pull.js +73 -0
  81. package/dist/commands/pull.js.map +1 -0
  82. package/dist/commands/push.d.ts +3 -0
  83. package/dist/commands/push.d.ts.map +1 -0
  84. package/dist/commands/push.js +87 -0
  85. package/dist/commands/push.js.map +1 -0
  86. package/dist/commands/seed.d.ts +3 -0
  87. package/dist/commands/seed.d.ts.map +1 -0
  88. package/dist/commands/seed.js +22 -0
  89. package/dist/commands/seed.js.map +1 -0
  90. package/dist/commands/self-host.d.ts +3 -0
  91. package/dist/commands/self-host.d.ts.map +1 -0
  92. package/dist/commands/self-host.js +796 -0
  93. package/dist/commands/self-host.js.map +1 -0
  94. package/dist/commands/status.d.ts +6 -0
  95. package/dist/commands/status.d.ts.map +1 -0
  96. package/dist/commands/status.js +69 -0
  97. package/dist/commands/status.js.map +1 -0
  98. package/dist/config.d.ts +106 -0
  99. package/dist/config.d.ts.map +1 -0
  100. package/dist/config.js +66 -0
  101. package/dist/config.js.map +1 -0
  102. package/dist/engine/cache.d.ts +37 -0
  103. package/dist/engine/cache.d.ts.map +1 -0
  104. package/dist/engine/cache.js +121 -0
  105. package/dist/engine/cache.js.map +1 -0
  106. package/dist/engine/download.d.ts +19 -0
  107. package/dist/engine/download.d.ts.map +1 -0
  108. package/dist/engine/download.js +108 -0
  109. package/dist/engine/download.js.map +1 -0
  110. package/dist/engine/platform.d.ts +24 -0
  111. package/dist/engine/platform.d.ts.map +1 -0
  112. package/dist/engine/platform.js +50 -0
  113. package/dist/engine/platform.js.map +1 -0
  114. package/dist/engine/resolve.d.ts +37 -0
  115. package/dist/engine/resolve.d.ts.map +1 -0
  116. package/dist/engine/resolve.js +133 -0
  117. package/dist/engine/resolve.js.map +1 -0
  118. package/dist/engine/update-notify.d.ts +11 -0
  119. package/dist/engine/update-notify.d.ts.map +1 -0
  120. package/dist/engine/update-notify.js +43 -0
  121. package/dist/engine/update-notify.js.map +1 -0
  122. package/dist/engine/verify.d.ts +50 -0
  123. package/dist/engine/verify.d.ts.map +1 -0
  124. package/dist/engine/verify.js +161 -0
  125. package/dist/engine/verify.js.map +1 -0
  126. package/dist/engine-version.d.ts +35 -0
  127. package/dist/engine-version.d.ts.map +1 -0
  128. package/dist/engine-version.js +35 -0
  129. package/dist/engine-version.js.map +1 -0
  130. package/dist/engine.d.ts +34 -0
  131. package/dist/engine.d.ts.map +1 -0
  132. package/dist/engine.js +76 -0
  133. package/dist/engine.js.map +1 -0
  134. package/dist/index.d.ts +12 -0
  135. package/dist/index.d.ts.map +1 -0
  136. package/dist/index.js +10 -0
  137. package/dist/index.js.map +1 -0
  138. package/dist/jwt.d.ts +3 -0
  139. package/dist/jwt.d.ts.map +1 -0
  140. package/dist/jwt.js +13 -0
  141. package/dist/jwt.js.map +1 -0
  142. package/dist/pull-utils.d.ts +16 -0
  143. package/dist/pull-utils.d.ts.map +1 -0
  144. package/dist/pull-utils.js +65 -0
  145. package/dist/pull-utils.js.map +1 -0
  146. package/dist/scripts/postinstall.d.ts +12 -0
  147. package/dist/scripts/postinstall.d.ts.map +1 -0
  148. package/dist/scripts/postinstall.js +31 -0
  149. package/dist/scripts/postinstall.js.map +1 -0
  150. package/dist/tsx-runner.d.ts +18 -0
  151. package/dist/tsx-runner.d.ts.map +1 -0
  152. package/dist/tsx-runner.js +62 -0
  153. package/dist/tsx-runner.js.map +1 -0
  154. package/package.json +36 -0
  155. package/src/app/framework.ts +249 -0
  156. package/src/cli.ts +58 -0
  157. package/src/commands/admin.ts +371 -0
  158. package/src/commands/app.ts +261 -0
  159. package/src/commands/cloud.ts +326 -0
  160. package/src/commands/db.ts +145 -0
  161. package/src/commands/deploy-types.ts +49 -0
  162. package/src/commands/deploy.ts +366 -0
  163. package/src/commands/dev.ts +477 -0
  164. package/src/commands/diff.ts +61 -0
  165. package/src/commands/engine.ts +133 -0
  166. package/src/commands/functions.ts +919 -0
  167. package/src/commands/generate.ts +31 -0
  168. package/src/commands/init.ts +532 -0
  169. package/src/commands/keys.ts +66 -0
  170. package/src/commands/logs.ts +58 -0
  171. package/src/commands/migrate.ts +83 -0
  172. package/src/commands/plugins.ts +508 -0
  173. package/src/commands/pull.ts +96 -0
  174. package/src/commands/push.ts +119 -0
  175. package/src/commands/seed.ts +26 -0
  176. package/src/commands/self-host.ts +932 -0
  177. package/src/commands/status.ts +83 -0
  178. package/src/config.ts +190 -0
  179. package/src/engine/cache.ts +135 -0
  180. package/src/engine/download.ts +143 -0
  181. package/src/engine/platform.ts +66 -0
  182. package/src/engine/resolve.ts +197 -0
  183. package/src/engine/update-notify.ts +50 -0
  184. package/src/engine/verify.ts +206 -0
  185. package/src/engine-version.ts +39 -0
  186. package/src/engine.ts +99 -0
  187. package/src/index.ts +19 -0
  188. package/src/jwt.ts +14 -0
  189. package/src/pull-utils.ts +57 -0
  190. package/src/scripts/postinstall.ts +40 -0
  191. package/src/tsx-runner.ts +79 -0
  192. package/tests/cli-help.test.ts +107 -0
  193. package/tests/config.test.ts +117 -0
  194. package/tests/engine-distribution.test.ts +418 -0
  195. package/tests/init.test.ts +184 -0
  196. package/tests/keys.test.ts +160 -0
  197. package/tests/pull-utils.test.ts +115 -0
  198. package/tests/tsx-runner.test.ts +66 -0
  199. package/tsconfig.json +10 -0
  200. package/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/commands/admin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerApp(program: Command): void;
3
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/commands/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKxC,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoBlD"}
@@ -0,0 +1,235 @@
1
+ import { readFileSync, writeFileSync, existsSync } from "node:fs";
2
+ import { resolve } from "node:path";
3
+ import { APP_COMPOSE_MARKER, KONG_APP_MARKER } from "./init.js";
4
+ export function registerApp(program) {
5
+ const appCmd = program
6
+ .command("app")
7
+ .description("Manage your application container in the Supatype stack");
8
+ appCmd
9
+ .command("add")
10
+ .description("Add your application to the docker-compose stack at /")
11
+ .option("--dockerfile <path>", "Path to your Dockerfile", "./Dockerfile")
12
+ .option("--port <port>", "Port your app listens on", "3000")
13
+ .action((opts) => {
14
+ addApp(process.cwd(), opts.dockerfile, opts.port);
15
+ });
16
+ appCmd
17
+ .command("remove")
18
+ .description("Remove your application from the docker-compose stack")
19
+ .action(() => {
20
+ removeApp(process.cwd());
21
+ });
22
+ }
23
+ // ─── Implementation ───────────────────────────────────────────────────────────
24
+ function addApp(cwd, dockerfile, port) {
25
+ const composePath = resolve(cwd, "docker-compose.yml");
26
+ if (!existsSync(composePath)) {
27
+ console.error("docker-compose.yml not found. Run: supatype init");
28
+ process.exit(1);
29
+ }
30
+ let compose = readFileSync(composePath, "utf8");
31
+ if (!compose.includes(APP_COMPOSE_MARKER)) {
32
+ console.error("App service slot not found in docker-compose.yml. Is this a supatype project?");
33
+ process.exit(1);
34
+ }
35
+ if (isAppActive(compose)) {
36
+ console.error("App service is already configured. Run: supatype app remove first.");
37
+ process.exit(1);
38
+ }
39
+ compose = uncommentServiceBlock(compose, APP_COMPOSE_MARKER, { dockerfile, port });
40
+ writeFileSync(composePath, compose, "utf8");
41
+ console.log(" updated docker-compose.yml");
42
+ const kongPath = resolve(cwd, ".supatype/kong.yml");
43
+ if (existsSync(kongPath)) {
44
+ let kong = readFileSync(kongPath, "utf8");
45
+ if (kong.includes(KONG_APP_MARKER)) {
46
+ kong = uncommentKongBlock(kong, KONG_APP_MARKER, port);
47
+ writeFileSync(kongPath, kong, "utf8");
48
+ console.log(" updated .supatype/kong.yml");
49
+ }
50
+ }
51
+ console.log(`\nApp service added (port ${port}). Your app will be available at http://localhost:8000/\n`);
52
+ console.log("Run: supatype dev");
53
+ }
54
+ function removeApp(cwd) {
55
+ const composePath = resolve(cwd, "docker-compose.yml");
56
+ if (!existsSync(composePath)) {
57
+ console.error("docker-compose.yml not found.");
58
+ process.exit(1);
59
+ }
60
+ let compose = readFileSync(composePath, "utf8");
61
+ if (!isAppActive(compose)) {
62
+ console.error("No active app service found.");
63
+ process.exit(1);
64
+ }
65
+ compose = recommentServiceBlock(compose, APP_COMPOSE_MARKER);
66
+ writeFileSync(composePath, compose, "utf8");
67
+ console.log(" updated docker-compose.yml");
68
+ const kongPath = resolve(cwd, ".supatype/kong.yml");
69
+ if (existsSync(kongPath)) {
70
+ let kong = readFileSync(kongPath, "utf8");
71
+ if (!kong.includes(KONG_APP_MARKER)) {
72
+ // Active route — re-comment it
73
+ kong = recommentKongBlock(kong);
74
+ }
75
+ writeFileSync(kongPath, kong, "utf8");
76
+ console.log(" updated .supatype/kong.yml");
77
+ }
78
+ console.log("\nApp service removed.\n");
79
+ }
80
+ // ─── Block manipulation helpers ───────────────────────────────────────────────
81
+ /** Returns true if the docker-compose has an active (uncommented) app: service. */
82
+ function isAppActive(compose) {
83
+ return /^ app:/m.test(compose);
84
+ }
85
+ /**
86
+ * Finds the commented app service block after the marker line and uncomments it,
87
+ * substituting the dockerfile path and port.
88
+ */
89
+ function uncommentServiceBlock(compose, marker, opts) {
90
+ const lines = compose.split("\n");
91
+ const markerIdx = lines.findIndex((l) => l === marker);
92
+ if (markerIdx === -1)
93
+ return compose;
94
+ const result = [];
95
+ let i = 0;
96
+ while (i < lines.length) {
97
+ if (i === markerIdx) {
98
+ // Skip the marker line itself, then uncomment the block
99
+ i++;
100
+ while (i < lines.length) {
101
+ const line = lines[i];
102
+ // End of block: empty line followed by a non-commented service-level line
103
+ if (line === "" && i + 1 < lines.length && !/^ #/.test(lines[i + 1])) {
104
+ result.push(line);
105
+ i++;
106
+ break;
107
+ }
108
+ if (/^ # /.test(line)) {
109
+ // Uncomment: replace " # " prefix with " "
110
+ let uncommented = line.replace(/^ # /, " ");
111
+ // Substitute placeholders
112
+ uncommented = uncommented.replace("./Dockerfile", opts.dockerfile);
113
+ uncommented = uncommented.replace(/- "3000:3000"/, `- "${opts.port}:${opts.port}"`);
114
+ result.push(uncommented);
115
+ }
116
+ else if (line === "" || /^ #─/.test(line)) {
117
+ // Skip remaining marker-style comment lines
118
+ }
119
+ else {
120
+ result.push(line);
121
+ }
122
+ i++;
123
+ }
124
+ }
125
+ else {
126
+ result.push(lines[i]);
127
+ i++;
128
+ }
129
+ }
130
+ return result.join("\n");
131
+ }
132
+ /**
133
+ * Finds the active app: service block and re-comments it, restoring the marker.
134
+ */
135
+ function recommentServiceBlock(compose, marker) {
136
+ const lines = compose.split("\n");
137
+ const appIdx = lines.findIndex((l) => l === " app:");
138
+ if (appIdx === -1)
139
+ return compose;
140
+ const result = [];
141
+ let i = 0;
142
+ while (i < lines.length) {
143
+ if (i === appIdx) {
144
+ result.push(marker);
145
+ // Re-comment lines until we hit an empty line or the volumes: section
146
+ while (i < lines.length) {
147
+ const line = lines[i];
148
+ if (line === "" || /^volumes:/.test(line) || /^ \w/.test(line)) {
149
+ result.push(line);
150
+ i++;
151
+ break;
152
+ }
153
+ // Re-comment: " X..." → " # X..."
154
+ result.push(line.replace(/^ /, " # "));
155
+ i++;
156
+ }
157
+ }
158
+ else {
159
+ result.push(lines[i]);
160
+ i++;
161
+ }
162
+ }
163
+ return result.join("\n");
164
+ }
165
+ /**
166
+ * Uncomments the Kong app route block after the marker.
167
+ */
168
+ function uncommentKongBlock(kong, marker, port) {
169
+ const lines = kong.split("\n");
170
+ const markerIdx = lines.findIndex((l) => l === marker);
171
+ if (markerIdx === -1)
172
+ return kong;
173
+ const result = [];
174
+ let i = 0;
175
+ while (i < lines.length) {
176
+ if (i === markerIdx) {
177
+ i++; // skip marker
178
+ while (i < lines.length) {
179
+ const line = lines[i];
180
+ if (line === "" && (i + 1 >= lines.length || !/^ #/.test(lines[i + 1]))) {
181
+ result.push(line);
182
+ i++;
183
+ break;
184
+ }
185
+ if (/^ # /.test(line)) {
186
+ let uncommented = line.replace(/^ # /, " ");
187
+ uncommented = uncommented.replace(":3000", `:${port}`);
188
+ result.push(uncommented);
189
+ }
190
+ else {
191
+ result.push(line);
192
+ }
193
+ i++;
194
+ }
195
+ }
196
+ else {
197
+ result.push(lines[i]);
198
+ i++;
199
+ }
200
+ }
201
+ return result.join("\n");
202
+ }
203
+ /**
204
+ * Finds the active Kong app route and re-comments it, restoring the marker.
205
+ */
206
+ function recommentKongBlock(kong) {
207
+ const lines = kong.split("\n");
208
+ // Find " - name: app" (the active route)
209
+ const appIdx = lines.findIndex((l) => /^ - name: app$/.test(l));
210
+ if (appIdx === -1)
211
+ return kong;
212
+ const result = [];
213
+ let i = 0;
214
+ while (i < lines.length) {
215
+ if (i === appIdx) {
216
+ result.push(KONG_APP_MARKER);
217
+ while (i < lines.length) {
218
+ const line = lines[i];
219
+ if (line === "" || (i > appIdx && /^ - /.test(line))) {
220
+ result.push(line);
221
+ i++;
222
+ break;
223
+ }
224
+ result.push(line.replace(/^ /, " # "));
225
+ i++;
226
+ }
227
+ }
228
+ else {
229
+ result.push(lines[i]);
230
+ i++;
231
+ }
232
+ }
233
+ return result.join("\n");
234
+ }
235
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/commands/app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerCloud(program: Command): void;
3
+ //# 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;AAuDxC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+PpD"}
@@ -0,0 +1,256 @@
1
+ import { readFileSync, writeFileSync, existsSync } from "node:fs";
2
+ import { resolve } from "node:path";
3
+ import { createInterface } from "node:readline";
4
+ 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 res = await fetch(`${config.apiUrl}/api/v1${path}`, {
20
+ method,
21
+ headers: {
22
+ "Content-Type": "application/json",
23
+ Authorization: `Bearer ${config.token}`,
24
+ },
25
+ ...(body !== undefined ? { body: JSON.stringify(body) } : {}),
26
+ });
27
+ const json = await res.json();
28
+ if (!res.ok) {
29
+ throw new Error(json.message ?? json.error ?? `API error: ${res.status}`);
30
+ }
31
+ return json.data;
32
+ }
33
+ function prompt(question) {
34
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
35
+ return new Promise((resolve) => {
36
+ rl.question(question, (answer) => {
37
+ rl.close();
38
+ resolve(answer.trim());
39
+ });
40
+ });
41
+ }
42
+ // ─── Registration ──────────────────────────────────────────────────────────────
43
+ export function registerCloud(program) {
44
+ // ── Link ───────────────────────────────────────────────────────────────────
45
+ program
46
+ .command("link")
47
+ .description("Link this local project to a Supatype cloud project")
48
+ .option("--project <slug>", "Project slug to link to")
49
+ .option("--api-url <url>", "Control plane API URL", "https://api.supatype.io")
50
+ .option("--token <token>", "Authentication token")
51
+ .action(async (opts) => {
52
+ const cwd = process.cwd();
53
+ const token = opts.token ?? process.env["SUPATYPE_TOKEN"];
54
+ if (!token) {
55
+ console.error("Authentication required. Set SUPATYPE_TOKEN or pass --token.");
56
+ process.exit(1);
57
+ }
58
+ const config = { apiUrl: opts.apiUrl, token };
59
+ if (opts.project) {
60
+ config.projectSlug = opts.project;
61
+ }
62
+ else {
63
+ // List projects and let user choose
64
+ const projects = await cloudFetch(config, "GET", "/projects");
65
+ if (projects.length === 0) {
66
+ console.error("No projects found. Create one with: supatype projects create <name>");
67
+ process.exit(1);
68
+ }
69
+ console.log("\nAvailable projects:\n");
70
+ projects.forEach((p, i) => {
71
+ console.log(` ${i + 1}. ${p.name} (${p.slug}) [${p.tier}] — ${p.status}`);
72
+ });
73
+ const answer = await prompt(`\nSelect project (1-${projects.length}): `);
74
+ const idx = parseInt(answer, 10) - 1;
75
+ if (isNaN(idx) || idx < 0 || idx >= projects.length) {
76
+ console.error("Invalid selection.");
77
+ process.exit(1);
78
+ }
79
+ config.projectSlug = projects[idx].slug;
80
+ }
81
+ saveCloudConfig(cwd, config);
82
+ console.log(`\nLinked to project: ${config.projectSlug}`);
83
+ console.log(`Config saved to .supatype/cloud.json\n`);
84
+ });
85
+ // ── Deploy ─────────────────────────────────────────────────────────────────
86
+ program
87
+ .command("deploy")
88
+ .description("Deploy schema to the linked cloud project")
89
+ .option("--environment <name>", "Target environment", "production")
90
+ .action(async (opts) => {
91
+ const cwd = process.cwd();
92
+ const config = loadCloudConfig(cwd);
93
+ if (!config?.projectSlug) {
94
+ console.error("Not linked to a cloud project. Run: supatype link");
95
+ process.exit(1);
96
+ }
97
+ console.log(`Deploying to ${config.projectSlug} (${opts.environment})...`);
98
+ // Load schema AST
99
+ const { loadConfig: loadAppConfig, loadSchemaAst } = await import("../config.js");
100
+ const { ensureEngine, invokeEngine } = await import("../engine.js");
101
+ const appConfig = loadAppConfig(cwd);
102
+ const ast = loadSchemaAst(appConfig.schema, cwd);
103
+ // Generate migration SQL locally using the engine
104
+ await ensureEngine();
105
+ const migrateResult = invokeEngine(["migrate", "--format", "sql"], JSON.stringify(ast));
106
+ if (migrateResult.exitCode !== 0) {
107
+ console.error("Failed to generate migration:", migrateResult.stderr || migrateResult.stdout);
108
+ process.exit(1);
109
+ }
110
+ const { createHash } = await import("node:crypto");
111
+ const schemaHash = createHash("sha256").update(JSON.stringify(ast)).digest("hex").slice(0, 16);
112
+ const deployment = await cloudFetch(config, "POST", `/projects/${config.projectSlug}/deploy`, {
113
+ environment: opts.environment,
114
+ schemaHash,
115
+ migrationSql: migrateResult.stdout,
116
+ });
117
+ if (deployment.status === "success") {
118
+ console.log(`\nDeployment successful (${deployment.id})`);
119
+ }
120
+ else if (deployment.status === "failed") {
121
+ console.error(`\nDeployment failed: ${deployment.errorMessage}`);
122
+ process.exit(1);
123
+ }
124
+ else {
125
+ console.log(`\nDeployment ${deployment.status} (${deployment.id})`);
126
+ }
127
+ });
128
+ // ── Projects ───────────────────────────────────────────────────────────────
129
+ const projectsCmd = program
130
+ .command("projects")
131
+ .description("Manage cloud projects");
132
+ projectsCmd
133
+ .command("list")
134
+ .description("List all projects in your organisation")
135
+ .action(async () => {
136
+ const config = getCloudConfigOrExit();
137
+ const projects = await cloudFetch(config, "GET", "/projects");
138
+ if (projects.length === 0) {
139
+ console.log("No projects. Create one with: supatype projects create <name>");
140
+ return;
141
+ }
142
+ console.log("\n Name Slug Tier Region Status");
143
+ console.log(" " + "─".repeat(80));
144
+ for (const p of projects) {
145
+ console.log(` ${p.name.padEnd(24)}${p.slug.padEnd(25)}${p.tier.padEnd(8)}${p.region.padEnd(10)}${p.status}`);
146
+ }
147
+ console.log();
148
+ });
149
+ projectsCmd
150
+ .command("create <name>")
151
+ .description("Create a new project")
152
+ .option("--tier <tier>", "Project tier (free, pro, team)", "free")
153
+ .option("--region <region>", "Region (eu-fsn, eu-nbg, eu-hel)", "eu-fsn")
154
+ .action(async (name, opts) => {
155
+ const config = getCloudConfigOrExit();
156
+ console.log(`Creating project "${name}" (${opts.tier}, ${opts.region})...`);
157
+ const project = await cloudFetch(config, "POST", "/projects", { name, tier: opts.tier, region: opts.region });
158
+ console.log(`\nProject created: ${project.name} (${project.slug})`);
159
+ console.log(`Status: ${project.status}`);
160
+ console.log(`\nTo link this project: supatype link --project ${project.slug}\n`);
161
+ });
162
+ projectsCmd
163
+ .command("pause <slug>")
164
+ .description("Pause a project")
165
+ .action(async (slug) => {
166
+ const config = getCloudConfigOrExit();
167
+ await cloudFetch(config, "POST", `/projects/${slug}/pause`);
168
+ console.log(`Project ${slug} paused.`);
169
+ });
170
+ projectsCmd
171
+ .command("resume <slug>")
172
+ .description("Resume a paused project")
173
+ .action(async (slug) => {
174
+ const config = getCloudConfigOrExit();
175
+ await cloudFetch(config, "POST", `/projects/${slug}/resume`);
176
+ console.log(`Project ${slug} resumed.`);
177
+ });
178
+ // ── Domains ────────────────────────────────────────────────────────────────
179
+ const domainsCmd = program
180
+ .command("domains")
181
+ .description("Manage custom domains for a project");
182
+ domainsCmd
183
+ .command("list")
184
+ .description("List domains for the linked project")
185
+ .action(async () => {
186
+ const config = getCloudConfigOrExit();
187
+ if (!config.projectSlug) {
188
+ console.error("Not linked to a project. Run: supatype link");
189
+ process.exit(1);
190
+ }
191
+ const domains = await cloudFetch(config, "GET", `/projects/${config.projectSlug}/domains`);
192
+ if (domains.length === 0) {
193
+ console.log("No custom domains configured.");
194
+ return;
195
+ }
196
+ console.log("\n Domain Status CNAME Target");
197
+ console.log(" " + "─".repeat(80));
198
+ for (const d of domains) {
199
+ console.log(` ${d.domain.padEnd(34)}${d.status.padEnd(21)}${d.cnameTarget}`);
200
+ }
201
+ console.log();
202
+ });
203
+ domainsCmd
204
+ .command("add <domain>")
205
+ .description("Add a custom domain")
206
+ .action(async (domain) => {
207
+ const config = getCloudConfigOrExit();
208
+ if (!config.projectSlug) {
209
+ console.error("Not linked to a project. Run: supatype link");
210
+ process.exit(1);
211
+ }
212
+ const result = await cloudFetch(config, "POST", `/projects/${config.projectSlug}/domains`, { domain });
213
+ console.log(`\nDomain added: ${result.domain}`);
214
+ console.log(`\n${result.instructions}`);
215
+ console.log(`\nAfter adding the CNAME record, verify with: supatype domains verify ${domain}\n`);
216
+ });
217
+ domainsCmd
218
+ .command("remove <domainId>")
219
+ .description("Remove a custom domain")
220
+ .action(async (domainId) => {
221
+ const config = getCloudConfigOrExit();
222
+ if (!config.projectSlug) {
223
+ console.error("Not linked to a project. Run: supatype link");
224
+ process.exit(1);
225
+ }
226
+ await cloudFetch(config, "DELETE", `/projects/${config.projectSlug}/domains/${domainId}`);
227
+ console.log("Domain removed.");
228
+ });
229
+ domainsCmd
230
+ .command("verify <domainId>")
231
+ .description("Verify CNAME and provision SSL for a domain")
232
+ .action(async (domainId) => {
233
+ const config = getCloudConfigOrExit();
234
+ if (!config.projectSlug) {
235
+ console.error("Not linked to a project. Run: supatype link");
236
+ process.exit(1);
237
+ }
238
+ const result = await cloudFetch(config, "POST", `/projects/${config.projectSlug}/domains/${domainId}/verify`);
239
+ console.log(`Domain ${result.domain}: ${result.status}`);
240
+ });
241
+ }
242
+ function getCloudConfigOrExit() {
243
+ const cwd = process.cwd();
244
+ let config = loadCloudConfig(cwd);
245
+ if (!config) {
246
+ const token = process.env["SUPATYPE_TOKEN"];
247
+ const apiUrl = process.env["SUPATYPE_API_URL"] ?? "https://api.supatype.io";
248
+ if (!token) {
249
+ console.error("Not connected to Supatype Cloud. Run: supatype link, or set SUPATYPE_TOKEN.");
250
+ process.exit(1);
251
+ }
252
+ config = { apiUrl, token };
253
+ }
254
+ return config;
255
+ }
256
+ //# 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;AAGxC,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuIjD"}