@supatype/cli 0.1.0-alpha.10 → 0.1.0-alpha.12

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 (188) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.turbo/turbo-test.log +98 -65
  3. package/.turbo/turbo-typecheck.log +1 -1
  4. package/dist/app/framework.js +1 -3
  5. package/dist/app/framework.js.map +1 -1
  6. package/dist/app/proxy-dev-app.d.ts +14 -0
  7. package/dist/app/proxy-dev-app.d.ts.map +1 -1
  8. package/dist/app/proxy-dev-app.js +109 -6
  9. package/dist/app/proxy-dev-app.js.map +1 -1
  10. package/dist/binary-cache.d.ts +1 -1
  11. package/dist/binary-cache.d.ts.map +1 -1
  12. package/dist/binary-cache.js +6 -1
  13. package/dist/binary-cache.js.map +1 -1
  14. package/dist/cli.d.ts.map +1 -1
  15. package/dist/cli.js +6 -0
  16. package/dist/cli.js.map +1 -1
  17. package/dist/commands/adopt.d.ts +3 -0
  18. package/dist/commands/adopt.d.ts.map +1 -0
  19. package/dist/commands/adopt.js +58 -0
  20. package/dist/commands/adopt.js.map +1 -0
  21. package/dist/commands/cloud.d.ts +4 -9
  22. package/dist/commands/cloud.d.ts.map +1 -1
  23. package/dist/commands/cloud.js +49 -91
  24. package/dist/commands/cloud.js.map +1 -1
  25. package/dist/commands/db.d.ts.map +1 -1
  26. package/dist/commands/db.js +25 -47
  27. package/dist/commands/db.js.map +1 -1
  28. package/dist/commands/deploy.d.ts.map +1 -1
  29. package/dist/commands/deploy.js +117 -74
  30. package/dist/commands/deploy.js.map +1 -1
  31. package/dist/commands/dev.d.ts.map +1 -1
  32. package/dist/commands/dev.js +21 -3
  33. package/dist/commands/dev.js.map +1 -1
  34. package/dist/commands/diff.d.ts.map +1 -1
  35. package/dist/commands/diff.js +37 -37
  36. package/dist/commands/diff.js.map +1 -1
  37. package/dist/commands/doctor.d.ts +3 -0
  38. package/dist/commands/doctor.d.ts.map +1 -0
  39. package/dist/commands/doctor.js +77 -0
  40. package/dist/commands/doctor.js.map +1 -0
  41. package/dist/commands/functions.d.ts.map +1 -1
  42. package/dist/commands/functions.js +80 -33
  43. package/dist/commands/functions.js.map +1 -1
  44. package/dist/commands/init.d.ts +1 -0
  45. package/dist/commands/init.d.ts.map +1 -1
  46. package/dist/commands/init.js +26 -4
  47. package/dist/commands/init.js.map +1 -1
  48. package/dist/commands/introspect.d.ts +3 -0
  49. package/dist/commands/introspect.d.ts.map +1 -0
  50. package/dist/commands/introspect.js +34 -0
  51. package/dist/commands/introspect.js.map +1 -0
  52. package/dist/commands/link-helpers.d.ts +15 -0
  53. package/dist/commands/link-helpers.d.ts.map +1 -0
  54. package/dist/commands/link-helpers.js +187 -0
  55. package/dist/commands/link-helpers.js.map +1 -0
  56. package/dist/commands/migrate.d.ts.map +1 -1
  57. package/dist/commands/migrate.js +116 -14
  58. package/dist/commands/migrate.js.map +1 -1
  59. package/dist/commands/pull.d.ts.map +1 -1
  60. package/dist/commands/pull.js +32 -5
  61. package/dist/commands/pull.js.map +1 -1
  62. package/dist/commands/push.d.ts.map +1 -1
  63. package/dist/commands/push.js +102 -129
  64. package/dist/commands/push.js.map +1 -1
  65. package/dist/commands/status.d.ts +1 -1
  66. package/dist/commands/status.d.ts.map +1 -1
  67. package/dist/commands/status.js +93 -29
  68. package/dist/commands/status.js.map +1 -1
  69. package/dist/commands/update.d.ts.map +1 -1
  70. package/dist/commands/update.js +6 -2
  71. package/dist/commands/update.js.map +1 -1
  72. package/dist/config.d.ts +2 -1
  73. package/dist/config.d.ts.map +1 -1
  74. package/dist/config.js.map +1 -1
  75. package/dist/dev-compose.d.ts +23 -0
  76. package/dist/dev-compose.d.ts.map +1 -1
  77. package/dist/dev-compose.js +183 -6
  78. package/dist/dev-compose.js.map +1 -1
  79. package/dist/diff-output.d.ts +5 -1
  80. package/dist/diff-output.d.ts.map +1 -1
  81. package/dist/diff-output.js +69 -0
  82. package/dist/diff-output.js.map +1 -1
  83. package/dist/engine-client.d.ts +10 -1
  84. package/dist/engine-client.d.ts.map +1 -1
  85. package/dist/engine-client.js +64 -13
  86. package/dist/engine-client.js.map +1 -1
  87. package/dist/engine-push-output.d.ts +1 -0
  88. package/dist/engine-push-output.d.ts.map +1 -1
  89. package/dist/engine-push-output.js +4 -1
  90. package/dist/engine-push-output.js.map +1 -1
  91. package/dist/gitignore.d.ts +8 -0
  92. package/dist/gitignore.d.ts.map +1 -0
  93. package/dist/gitignore.js +41 -0
  94. package/dist/gitignore.js.map +1 -0
  95. package/dist/link.d.ts +66 -0
  96. package/dist/link.d.ts.map +1 -0
  97. package/dist/link.js +159 -0
  98. package/dist/link.js.map +1 -0
  99. package/dist/process-manager.d.ts +2 -0
  100. package/dist/process-manager.d.ts.map +1 -1
  101. package/dist/process-manager.js +2 -0
  102. package/dist/process-manager.js.map +1 -1
  103. package/dist/project-config.d.ts +8 -0
  104. package/dist/project-config.d.ts.map +1 -1
  105. package/dist/project-config.js.map +1 -1
  106. package/dist/pull-utils.d.ts +50 -14
  107. package/dist/pull-utils.d.ts.map +1 -1
  108. package/dist/pull-utils.js +152 -12
  109. package/dist/pull-utils.js.map +1 -1
  110. package/dist/resolve-target.d.ts +86 -0
  111. package/dist/resolve-target.d.ts.map +1 -0
  112. package/dist/resolve-target.js +291 -0
  113. package/dist/resolve-target.js.map +1 -0
  114. package/dist/runtime-routes.d.ts.map +1 -1
  115. package/dist/runtime-routes.js +7 -0
  116. package/dist/runtime-routes.js.map +1 -1
  117. package/dist/schema-ast-v2.d.ts +1 -1
  118. package/dist/schema-ast-v2.d.ts.map +1 -1
  119. package/dist/schema-ast-v2.js +2 -2
  120. package/dist/schema-ast-v2.js.map +1 -1
  121. package/dist/schema-sources.d.ts +40 -0
  122. package/dist/schema-sources.d.ts.map +1 -0
  123. package/dist/schema-sources.js +183 -0
  124. package/dist/schema-sources.js.map +1 -0
  125. package/dist/self-host-compose.d.ts +10 -0
  126. package/dist/self-host-compose.d.ts.map +1 -1
  127. package/dist/self-host-compose.js +85 -3
  128. package/dist/self-host-compose.js.map +1 -1
  129. package/dist/storage-provision.d.ts +4 -0
  130. package/dist/storage-provision.d.ts.map +1 -1
  131. package/dist/storage-provision.js +24 -2
  132. package/dist/storage-provision.js.map +1 -1
  133. package/dist/target-client.d.ts +10 -0
  134. package/dist/target-client.d.ts.map +1 -0
  135. package/dist/target-client.js +22 -0
  136. package/dist/target-client.js.map +1 -0
  137. package/dist/type-extractor.d.ts +11 -0
  138. package/dist/type-extractor.d.ts.map +1 -1
  139. package/dist/type-extractor.js +95 -8
  140. package/dist/type-extractor.js.map +1 -1
  141. package/package.json +1 -1
  142. package/src/app/framework.ts +1 -3
  143. package/src/app/proxy-dev-app.ts +113 -6
  144. package/src/binary-cache.ts +6 -1
  145. package/src/cli.ts +6 -0
  146. package/src/commands/adopt.ts +83 -0
  147. package/src/commands/cloud.ts +66 -108
  148. package/src/commands/db.ts +28 -52
  149. package/src/commands/deploy.ts +162 -104
  150. package/src/commands/dev.ts +24 -10
  151. package/src/commands/diff.ts +40 -41
  152. package/src/commands/doctor.ts +102 -0
  153. package/src/commands/functions.ts +95 -37
  154. package/src/commands/init.ts +25 -4
  155. package/src/commands/introspect.ts +47 -0
  156. package/src/commands/link-helpers.ts +228 -0
  157. package/src/commands/migrate.ts +163 -15
  158. package/src/commands/pull.ts +37 -9
  159. package/src/commands/push.ts +132 -166
  160. package/src/commands/status.ts +100 -33
  161. package/src/commands/update.ts +6 -2
  162. package/src/config.ts +2 -1
  163. package/src/dev-compose.ts +240 -6
  164. package/src/diff-output.ts +79 -1
  165. package/src/engine-client.ts +70 -13
  166. package/src/engine-push-output.ts +7 -3
  167. package/src/gitignore.ts +48 -0
  168. package/src/link.ts +242 -0
  169. package/src/process-manager.ts +4 -0
  170. package/src/project-config.ts +8 -0
  171. package/src/pull-utils.ts +217 -23
  172. package/src/resolve-target.ts +419 -0
  173. package/src/runtime-routes.ts +7 -0
  174. package/src/schema-ast-v2.ts +2 -1
  175. package/src/schema-sources.ts +248 -0
  176. package/src/self-host-compose.ts +87 -3
  177. package/src/storage-provision.ts +33 -1
  178. package/src/target-client.ts +40 -0
  179. package/src/type-extractor.ts +124 -11
  180. package/tests/cli-help.test.ts +27 -2
  181. package/tests/init.test.ts +1 -1
  182. package/tests/link.test.ts +148 -0
  183. package/tests/proxy-dev-app.test.ts +45 -1
  184. package/tests/pull-utils.test.ts +5 -4
  185. package/tests/runtime-contract.test.ts +44 -1
  186. package/tests/schema-sources.test.ts +119 -0
  187. package/tests/storage-provision.test.ts +100 -0
  188. package/tsconfig.tsbuildinfo +1 -1
@@ -1,9 +1,52 @@
1
1
  import { createInterface } from "node:readline";
2
+ import { join } from "node:path";
2
3
  import { loadConfig, loadSchemaAst } from "../config.js";
3
- import { connectionString, schemaPathFromProject } from "../project-config.js";
4
+ import { connectionString, projectRootFromConfig, schemaPathFromProject } from "../project-config.js";
4
5
  import { ensureEngine, engineRequest } from "../engine-client.js";
6
+ import { loadProjectLink } from "../link.js";
7
+ import { resolveTarget, targetSchemaDiff, targetSchemaRollback, targetListMigrations, schemaPgSchema, } from "../resolve-target.js";
8
+ import { restoreSchemaSourcesFromGz, findOrphanSchemaFiles, } from "../schema-sources.js";
5
9
  export function registerMigrate(program) {
6
- // migrate apply all pending migrations
10
+ const migrations = program
11
+ .command("migrations")
12
+ .description("Migration history utilities");
13
+ migrations
14
+ .command("list")
15
+ .description("List applied migrations with schema snapshot metadata")
16
+ .option("--connection <url>", "Database connection URL (overrides config)")
17
+ .option("--env <name>", "Target environment when linked")
18
+ .option("--direct", "Use local engine subprocess (skip control plane)")
19
+ .action(async (opts) => {
20
+ const cwd = process.cwd();
21
+ const link = loadProjectLink(cwd);
22
+ const useDirect = opts.direct || Boolean(opts.connection);
23
+ let target;
24
+ if (link && !useDirect && !opts.connection) {
25
+ target = resolveTarget(cwd, { env: opts.env });
26
+ }
27
+ else {
28
+ target = resolveTarget(cwd, {
29
+ env: opts.env,
30
+ direct: true,
31
+ connection: opts.connection,
32
+ });
33
+ }
34
+ const list = await targetListMigrations(target);
35
+ if (list.length === 0) {
36
+ console.log("No migrations applied.");
37
+ return;
38
+ }
39
+ for (const m of list) {
40
+ const manifest = m.schemaSourcesManifest;
41
+ const size = manifest?.compressedBytes !== undefined
42
+ ? `${(manifest.compressedBytes / 1024).toFixed(1)} KB`
43
+ : "—";
44
+ const files = manifest?.fileCount ?? "—";
45
+ const author = manifest?.pushedBy ?? "—";
46
+ const rolled = m.rolledBack ? " (rolled back)" : "";
47
+ console.log(`${m.name}${rolled}\n applied: ${m.appliedAt} status: ${m.status}\n author: ${author} files: ${files} snapshot: ${size}`);
48
+ }
49
+ });
7
50
  program
8
51
  .command("migrate")
9
52
  .description("Apply pending migrations from the migration history")
@@ -19,23 +62,37 @@ export function registerMigrate(program) {
19
62
  });
20
63
  console.log(result.message ?? "Migrations applied.");
21
64
  });
22
- // rollback — undo the last applied migration
23
65
  program
24
66
  .command("rollback")
25
67
  .description("Roll back the last applied migration")
26
68
  .option("--connection <url>", "Database connection URL (overrides config)")
69
+ .option("--env <name>", "Target environment when linked")
70
+ .option("--direct", "Use local engine subprocess (skip control plane)")
71
+ .option("--sync-schema", "Restore schema source files from DB snapshot without prompting")
72
+ .option("--no-sync-schema", "Revert database only; do not restore schema files")
27
73
  .action(async (opts) => {
28
- const config = loadConfig();
29
- const connection = opts.connection ?? connectionString(config);
30
- await ensureEngine();
31
- const result = await engineRequest("/migrations", {
32
- database_url: connection,
33
- schema: "public",
34
- action: "rollback",
35
- });
74
+ const cwd = process.cwd();
75
+ const config = loadConfig(cwd);
76
+ const pgSchema = schemaPgSchema(cwd);
77
+ const link = loadProjectLink(cwd);
78
+ const useDirect = opts.direct || Boolean(opts.connection);
79
+ let target;
80
+ if (link && !useDirect && !opts.connection) {
81
+ target = resolveTarget(cwd, { env: opts.env });
82
+ }
83
+ else {
84
+ target = resolveTarget(cwd, {
85
+ env: opts.env,
86
+ direct: true,
87
+ connection: opts.connection,
88
+ });
89
+ }
90
+ const result = await targetSchemaRollback(target, { schema: pgSchema });
36
91
  console.log(result.message ?? "Rolled back.");
92
+ if (!opts.noSyncSchema) {
93
+ await offerSchemaRestore(cwd, config, target, result, pgSchema, opts.syncSchema ?? false);
94
+ }
37
95
  });
38
- // reset — drop all tables and re-apply from scratch
39
96
  program
40
97
  .command("reset")
41
98
  .description("Drop all managed tables and re-apply the schema from scratch (destructive)")
@@ -63,12 +120,57 @@ export function registerMigrate(program) {
63
120
  console.log(result.message ?? "Reset complete.");
64
121
  });
65
122
  }
123
+ async function offerSchemaRestore(cwd, config, target, result, pgSchema, autoSync) {
124
+ const manifest = result.schemaSourcesManifest;
125
+ const gzB64 = result.schemaSourcesBase64;
126
+ if (!gzB64 || !manifest) {
127
+ console.warn("No schema source snapshot on the restored migration (legacy push). Run `supatype pull` to draft from DB if needed.");
128
+ return;
129
+ }
130
+ const ast = loadSchemaAst(schemaPathFromProject(config, cwd), cwd);
131
+ const diff = await targetSchemaDiff(target, ast, { schema: pgSchema });
132
+ const drift = (diff.operations ?? []).length > 0;
133
+ if (!drift && !autoSync) {
134
+ console.log("Schema files match reverted database (no restore needed).");
135
+ return;
136
+ }
137
+ const fileList = manifest.files.map((f) => f.path).join(", ");
138
+ const sizeKb = (manifest.compressedBytes / 1024).toFixed(1);
139
+ const label = result.restoredMigrationName ?? result.name;
140
+ let proceed = autoSync;
141
+ if (!proceed) {
142
+ proceed = await confirm(`\nRolled back migration ${result.name}.\nRestore ${manifest.fileCount} schema files from database snapshot (${sizeKb} KB)?\n ${fileList}\n [Y/n] `);
143
+ }
144
+ if (!proceed) {
145
+ console.log("Skipped schema file restore. Run `supatype diff` to review drift.");
146
+ return;
147
+ }
148
+ const root = projectRootFromConfig(config, cwd);
149
+ const backupDir = join(cwd, ".supatype", "schema-backups", `${Date.now()}`);
150
+ const gz = Buffer.from(gzB64, "base64");
151
+ restoreSchemaSourcesFromGz(gz, manifest, root, { backupDir });
152
+ const manifestPaths = new Set(manifest.files.map((f) => f.path));
153
+ const orphans = findOrphanSchemaFiles(root, manifest.entryPoint, manifestPaths);
154
+ for (const orphan of orphans) {
155
+ console.warn(`Warning: ${orphan} not in snapshot — review manually`);
156
+ }
157
+ console.log(`Restored schema files from migration ${label}.`);
158
+ console.log(`Backup saved to ${backupDir}`);
159
+ const postDiff = await targetSchemaDiff(target, ast, { schema: pgSchema });
160
+ if ((postDiff.operations ?? []).length === 0) {
161
+ console.log("Schema matches database after restore.");
162
+ }
163
+ else {
164
+ console.log("Run `supatype diff` — schema may still differ from database.");
165
+ }
166
+ }
66
167
  async function confirm(prompt) {
67
168
  const rl = createInterface({ input: process.stdin, output: process.stdout });
68
- return new Promise((resolve) => {
169
+ return new Promise((resolveConfirm) => {
69
170
  rl.question(prompt, (answer) => {
70
171
  rl.close();
71
- resolve(answer.toLowerCase() === "y");
172
+ const trimmed = answer.trim().toLowerCase();
173
+ resolveConfirm(trimmed === "" || trimmed === "y" || trimmed === "yes");
72
174
  });
73
175
  });
74
176
  }
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC9E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEjE,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,yCAAyC;IACzC,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,qDAAqD,CAAC;SAClE,MAAM,CAAC,oBAAoB,EAAE,4CAA4C,CAAC;SAC1E,MAAM,CAAC,KAAK,EAAE,IAA6B,EAAE,EAAE;QAC9C,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAE9D,MAAM,YAAY,EAAE,CAAA;QACpB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAuB,aAAa,EAAE;YACtE,YAAY,EAAE,UAAU;YACxB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,SAAS;SAClB,CAAC,CAAA;QACF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,qBAAqB,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;IAEJ,6CAA6C;IAC7C,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,oBAAoB,EAAE,4CAA4C,CAAC;SAC1E,MAAM,CAAC,KAAK,EAAE,IAA6B,EAAE,EAAE;QAC9C,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAE9D,MAAM,YAAY,EAAE,CAAA;QACpB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAuB,aAAa,EAAE;YACtE,YAAY,EAAE,UAAU;YACxB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,UAAU;SACnB,CAAC,CAAA;QACF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,cAAc,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;IAEJ,oDAAoD;IACpD,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CACV,4EAA4E,CAC7E;SACA,MAAM,CAAC,OAAO,EAAE,0BAA0B,CAAC;SAC3C,MAAM,CAAC,oBAAoB,EAAE,4CAA4C,CAAC;SAC1E,MAAM,CAAC,KAAK,EAAE,IAA4C,EAAE,EAAE;QAC7D,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,SAAS,GAAG,MAAM,OAAO,CAC7B,4EAA4E,CAC7E,CAAA;YACD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;gBACvB,OAAM;YACR,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QAEzB,MAAM,YAAY,EAAE,CAAA;QACpB,MAAM,GAAG,GAAG,aAAa,CAAC,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;QAClE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAuB,OAAO,EAAE;YAChE,GAAG;YACH,YAAY,EAAE,UAAU;YACxB,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,IAAI;SACZ,CAAC,CAAA;QACF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,iBAAiB,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;AACN,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,MAAc;IACnC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC5E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAC7B,EAAE,CAAC,KAAK,EAAE,CAAA;YACV,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAanD"}
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQxC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoCnD"}
@@ -1,12 +1,39 @@
1
- import { ensureEngine } from "../engine-client.js";
1
+ import { writeFileSync } from "node:fs";
2
+ import { loadConfig } from "../config.js";
3
+ import { schemaPathFromProject } from "../project-config.js";
4
+ import { ensureEngine, engineRequest } from "../engine-client.js";
5
+ import { resolveHostEngineDatabaseUrl } from "../dev-compose.js";
6
+ import { databaseStateToSchemaScaffold } from "../pull-utils.js";
2
7
  export function registerPull(program) {
3
8
  program
4
9
  .command("pull")
5
- .description("Introspect an existing Postgres database (deprecated in type-first mode)")
6
- .action(async () => {
10
+ .description("Scaffold schema/index.ts from live database introspection (draft review before push)")
11
+ .option("--connection <url>", "Database connection URL (overrides config)")
12
+ .option("--out <path>", "Write scaffold to file (default: stdout)")
13
+ .option("--dry-run", "Print scaffold to stdout without writing files")
14
+ .action(async (opts) => {
15
+ const cwd = process.cwd();
16
+ const config = loadConfig(cwd);
17
+ const connection = await resolveHostEngineDatabaseUrl(cwd, config, opts.connection);
18
+ const pgSchema = config.schema?.pg_schema ?? "public";
7
19
  await ensureEngine();
8
- throw new Error("The legacy `supatype pull` schema generator has been removed.\n" +
9
- "Use type-based models with @supatype/types and run `supatype generate`.");
20
+ console.error("Introspecting database...");
21
+ const state = await engineRequest("/introspect", {
22
+ database_url: connection,
23
+ schema: pgSchema,
24
+ });
25
+ const scaffold = databaseStateToSchemaScaffold(state);
26
+ const defaultOut = schemaPathFromProject(config, cwd);
27
+ if (opts.dryRun || !opts.out) {
28
+ console.log(scaffold);
29
+ if (!opts.dryRun && !opts.out) {
30
+ console.error("\n(draft printed to stdout — use --out to write a file)");
31
+ }
32
+ return;
33
+ }
34
+ writeFileSync(opts.out ?? defaultOut, scaffold, "utf8");
35
+ console.log(`Wrote draft schema to ${opts.out ?? defaultOut}`);
36
+ console.log("Review access rules and relations, then run `supatype generate`.");
10
37
  });
11
38
  }
12
39
  //# sourceMappingURL=pull.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAElD,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CACV,0EAA0E,CAC3E;SACA,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,YAAY,EAAE,CAAA;QACpB,MAAM,IAAI,KAAK,CACb,iEAAiE;YAC/D,yEAAyE,CAC5E,CAAA;IACH,CAAC,CAAC,CAAA;AACN,CAAC"}
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,6BAA6B,EAA0B,MAAM,kBAAkB,CAAA;AAExF,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,wFAAwF,CAAC;SACrG,MAAM,CAAC,oBAAoB,EAAE,4CAA4C,CAAC;SAC1E,MAAM,CAAC,cAAc,EAAE,0CAA0C,CAAC;SAClE,MAAM,CAAC,WAAW,EAAE,gDAAgD,CAAC;SACrE,MAAM,CAAC,KAAK,EAAE,IAA6D,EAAE,EAAE;QAC9E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QACzB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;QAC9B,MAAM,UAAU,GAAG,MAAM,4BAA4B,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;QACnF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,IAAI,QAAQ,CAAA;QAErD,MAAM,YAAY,EAAE,CAAA;QAEpB,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC1C,MAAM,KAAK,GAAG,MAAM,aAAa,CAAoB,aAAa,EAAE;YAClE,YAAY,EAAE,UAAU;YACxB,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAA;QACrD,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAErD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACrB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC9B,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAA;YAC1E,CAAC;YACD,OAAM;QACR,CAAC;QAED,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;QACvD,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC,CAAA;QAC9D,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAA;IACjF,CAAC,CAAC,CAAA;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAkBxC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqJnD"}
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA+BxC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkDnD"}
@@ -2,15 +2,17 @@ import { mkdirSync, writeFileSync } from "node:fs";
2
2
  import { createInterface } from "node:readline";
3
3
  import { join } from "node:path";
4
4
  import { loadConfig, loadSchemaAst } from "../config.js";
5
- import { connectionString, resolveRuntimeProvider, schemaPathFromProject, serverBaseUrl } from "../project-config.js";
6
- import { isCloudLinked, pushSchemaToLinkedProject } from "./cloud.js";
5
+ import { resolveRuntimeProvider, schemaPathFromProject, serverBaseUrl } from "../project-config.js";
7
6
  import { ensureEngine, engineRequest } from "../engine-client.js";
8
- import { printDiffWarnings } from "../diff-output.js";
7
+ import { printDiffOperations, printDiffWarnings } from "../diff-output.js";
9
8
  import { signJwt } from "../jwt.js";
10
- import { provisionBuckets } from "../storage-provision.js";
9
+ import { provisionBucketsFromAst } from "../storage-provision.js";
11
10
  import { promptFirstAdminUser } from "./admin.js";
12
11
  import { withAdminRoles } from "../studio-admin-roles.js";
13
12
  import { restoreSystemRelationTargets } from "../restore-system-relation-targets.js";
13
+ import { resolveTarget, targetSchemaDiff, targetSchemaPush, schemaPgSchema, } from "../resolve-target.js";
14
+ import { loadProjectLink } from "../link.js";
15
+ import { buildSchemaSourcesPayload, cacheSchemaSourcesLocally, resolvePushedBy, } from "../schema-sources.js";
14
16
  const DEV_JWT_SECRET = "super-secret-jwt-token-with-at-least-32-characters-long";
15
17
  export function registerPush(program) {
16
18
  program
@@ -18,160 +20,131 @@ export function registerPush(program) {
18
20
  .description("Push schema to the database: diff, prompt for destructive changes, apply migration, generate types")
19
21
  .option("--yes", "Skip confirmation prompts for destructive changes")
20
22
  .option("--connection <url>", "Database connection URL (overrides config)")
23
+ .option("--env <name>", "Target environment when linked")
24
+ .option("--direct", "Use local engine subprocess (skip control plane)")
25
+ .option("--local", "Alias for --direct")
21
26
  .action(async (opts) => {
22
27
  const cwd = process.cwd();
23
- if (isCloudLinked(cwd)) {
24
- if (opts.connection) {
25
- console.error("--connection is not allowed when linked to a cloud project (credentials stay server-side).");
26
- process.exit(1);
27
- }
28
- await pushSchemaToLinkedProject(cwd, { force: opts.yes ?? true });
28
+ const config = loadConfig(cwd);
29
+ const pgSchema = schemaPgSchema(cwd);
30
+ const ast = loadSchemaAst(schemaPathFromProject(config, cwd), cwd);
31
+ const linked = loadProjectLink(cwd);
32
+ const useDirect = opts.direct || opts.local || Boolean(opts.connection);
33
+ if (linked && !useDirect && !opts.connection) {
34
+ const target = resolveTarget(cwd, { env: opts.env });
35
+ await pushViaTarget(cwd, config, target, ast, pgSchema, opts.yes ?? false);
29
36
  return;
30
37
  }
31
- const config = loadConfig(cwd);
32
- // Docker provider: the compose Postgres isn't published to the host, so
33
- // apply the schema through the in-compose schema-engine (unless the user
34
- // gave an explicit --connection to a reachable database).
35
- if (!opts.connection && resolveRuntimeProvider(config) === "docker") {
38
+ if (!opts.connection && !useDirect && resolveRuntimeProvider(config) === "docker") {
39
+ const localTarget = resolveTarget(cwd, { env: opts.env });
40
+ if (localTarget.mode === "local" && localTarget.token) {
41
+ await pushViaTarget(cwd, config, localTarget, ast, pgSchema, opts.yes ?? false);
42
+ return;
43
+ }
36
44
  const { pushSchemaDocker } = await import("../dev-compose.js");
37
45
  await pushSchemaDocker(cwd, config);
38
46
  return;
39
47
  }
40
- const connection = opts.connection ?? connectionString(config);
41
- await ensureEngine();
42
- console.log("Loading schema...");
43
- const ast = loadSchemaAst(schemaPathFromProject(config, cwd), cwd);
44
- console.log("Diffing against database...");
45
- const diff = await engineRequest("/diff", {
46
- ast,
47
- database_url: connection,
48
- schema: "public",
48
+ const target = resolveTarget(cwd, {
49
+ env: opts.env,
50
+ direct: true,
51
+ connection: opts.connection,
49
52
  });
50
- const ops = diff.operations ?? [];
51
- printDiffWarnings(diff);
52
- if (ops.length === 0) {
53
- console.log("Schema matches the database (no DDL). Syncing Studio metadata...");
54
- }
55
- else {
56
- printDiff(ops);
57
- const risky = ops.filter((o) => o.risk === "cautious" || o.risk === "destructive" || o.risk === "warn" || o.risk === "danger");
58
- if (risky.length > 0 && !opts.yes) {
59
- const confirmed = await confirm(`\n${risky.length} risky operation(s) above (type changes or data loss). Proceed? [y/N] `);
60
- if (!confirmed) {
61
- console.log("Aborted.");
62
- return;
63
- }
53
+ await pushViaTarget(cwd, config, target, ast, pgSchema, opts.yes ?? false);
54
+ });
55
+ }
56
+ async function pushViaTarget(cwd, config, target, ast, pgSchema, skipConfirm) {
57
+ console.log("Diffing against database...");
58
+ const diff = await targetSchemaDiff(target, ast, { schema: pgSchema });
59
+ const ops = diff.operations ?? [];
60
+ printDiffWarnings(diff);
61
+ if (ops.length === 0) {
62
+ console.log("Schema matches the database (no DDL). Syncing Studio metadata...");
63
+ }
64
+ else {
65
+ printDiffOperations({ operations: ops });
66
+ const risky = ops.filter((o) => o.risk === "cautious" || o.risk === "destructive" || o.risk === "warn" || o.risk === "danger");
67
+ if (risky.length > 0 && !skipConfirm) {
68
+ const confirmed = await confirm(`\n${risky.length} risky operation(s) above. Proceed? [y/N] `);
69
+ if (!confirmed) {
70
+ console.log("Aborted.");
71
+ return;
64
72
  }
65
73
  }
66
- console.log(ops.length > 0 ? "\nApplying migration..." : "\nSyncing with engine...");
67
- const pushResult = await engineRequest("/push", {
68
- ast,
69
- database_url: connection,
70
- schema: "public",
71
- force: true,
72
- });
73
- if (pushResult.status === "up_to_date") {
74
- console.log(pushResult.admin_refreshed
75
- ? "Database schema unchanged Studio metadata synced."
76
- : "Schema is up to date.");
77
- }
78
- else {
79
- console.log(pushResult.message ?? "Migration applied.");
74
+ }
75
+ console.log(ops.length > 0 ? "\nApplying migration..." : "\nSyncing with engine...");
76
+ const schemaSources = buildSchemaSourcesPayload(cwd, resolvePushedBy());
77
+ const pushResult = await targetSchemaPush(target, ast, {
78
+ force: true,
79
+ schema: pgSchema,
80
+ schemaSources,
81
+ });
82
+ if (pushResult.status === "up_to_date") {
83
+ console.log("Schema is up to date.");
84
+ }
85
+ else {
86
+ console.log(pushResult.message ?? "Migration applied.");
87
+ const migrationName = pushResult.name;
88
+ if (migrationName && schemaSources) {
89
+ cacheSchemaSourcesLocally(cwd, migrationName, schemaSources.gz);
80
90
  }
91
+ }
92
+ if (target.mode === "direct" || target.mode === "local") {
81
93
  await writeLocalAdminConfig(ast, config);
82
- // After a DDL migration, check if this is the first push and offer to create an
83
- // admin user if none exist (Gap Appendices task 48).
84
- if (ops.length > 0) {
85
- await promptFirstAdminUser(connection);
86
- }
87
- // Provision storage buckets declared in the schema.
88
- const baseUrl = serverBaseUrl(config);
89
- const serviceRoleKey = process.env["SUPATYPE_SERVICE_ROLE_KEY"] ??
90
- (config.server.mode === "dev"
91
- ? signJwt({ role: "service_role", iss: "supatype", iat: Math.floor(Date.now() / 1000) }, DEV_JWT_SECRET)
92
- : undefined);
93
- if (baseUrl && serviceRoleKey) {
94
- const parsedAst = await engineRequest("/parse", { ast });
95
- const buckets = (parsedAst.storageBuckets ?? []).map((b) => ({
96
- id: b.id,
97
- public: b.public,
98
- ...(b.accessMode !== undefined && { access_mode: b.accessMode }),
99
- ...(b.allowedMimeTypes != null && { allowed_mime_types: b.allowedMimeTypes }),
100
- ...(b.fileSizeLimit != null && { file_size_limit: b.fileSizeLimit }),
101
- ...(b.s3BucketPolicy != null &&
102
- b.s3BucketPolicy !== "" && { s3_bucket_policy: b.s3BucketPolicy }),
103
- }));
104
- if (buckets.length > 0) {
105
- console.log("Provisioning storage buckets...");
106
- await provisionBuckets(`${baseUrl}/storage/v1`, serviceRoleKey, buckets);
107
- }
108
- }
109
- if (config.output?.types ?? config.output?.client) {
110
- console.log("Generating types...");
111
- const genBody = { ast, lang: "typescript" };
112
- if (config.output?.types)
113
- genBody["types_path"] = config.output.types;
114
- if (config.output?.client)
115
- genBody["client_path"] = config.output.client;
116
- const genResult = await engineRequest("/generate", genBody);
117
- console.log(genResult.message ?? "Types generated.");
118
- }
119
- const studioBase = baseUrl?.replace(/\/$/, "") ?? "";
120
- if (studioBase) {
121
- console.log(`\nStudio: ${studioBase}/studio/ — sign in with the admin user you created.`);
122
- }
123
- else {
124
- console.log("\nDone.");
94
+ if (ops.length > 0 && target.databaseUrl) {
95
+ await promptFirstAdminUser(target.databaseUrl);
125
96
  }
126
- });
127
- }
128
- function printDiff(ops) {
129
- const symbol = {
130
- safe: "+",
131
- warn: "~",
132
- cautious: "~",
133
- danger: "!",
134
- destructive: "!",
135
- };
136
- console.log(`\n${ops.length} change(s) planned:\n`);
137
- for (const op of ops) {
138
- const riskKey = op.risk ?? "safe";
139
- const s = symbol[riskKey] ?? "?";
140
- const label = op.warning ?? op.description ?? formatOperation(op);
141
- console.log(` [${s}] ${label}`);
142
- }
143
- }
144
- function formatOperation(op) {
145
- if (typeof op.description === "string" && op.description.trim().length > 0) {
146
- return op.description;
97
+ await generateTypesLocal(ast, config);
98
+ await provisionLocalStorage(ast, config);
147
99
  }
148
- const kind = typeof op.kind === "string" ? op.kind : "operation";
149
- const raw = op;
150
- const table = raw["table"];
151
- const column = raw["column"];
152
- if (typeof table === "string" && typeof column === "string") {
153
- return `${kind} ${table}.${column}`;
100
+ else {
101
+ console.log(`Pushed to ${target.mode} (${target.environment}).`);
154
102
  }
155
- if (typeof table === "string") {
156
- return `${kind} ${table}`;
103
+ const baseUrl = (serverBaseUrl(config) ?? "").replace(/\/$/, "");
104
+ if (baseUrl) {
105
+ console.log(`\nStudio: ${baseUrl}/studio/`);
157
106
  }
158
- // Last resort: show operation kind with compact payload.
159
- return `${kind} ${JSON.stringify(op)}`;
107
+ }
108
+ async function generateTypesLocal(ast, config) {
109
+ if (!config.output?.types && !config.output?.client)
110
+ return;
111
+ console.log("Generating types...");
112
+ await ensureEngine();
113
+ const genBody = { ast, lang: "typescript" };
114
+ if (config.output?.types)
115
+ genBody["types_path"] = config.output.types;
116
+ if (config.output?.client)
117
+ genBody["client_path"] = config.output.client;
118
+ const genResult = await engineRequest("/generate", genBody);
119
+ console.log(genResult.message ?? "Types generated.");
120
+ }
121
+ async function provisionLocalStorage(ast, config) {
122
+ const baseUrl = serverBaseUrl(config);
123
+ const serviceRoleKey = process.env["SUPATYPE_SERVICE_ROLE_KEY"] ??
124
+ process.env["SERVICE_ROLE_KEY"] ??
125
+ (config.server.mode === "dev"
126
+ ? signJwt({ role: "service_role", iss: "supatype", iat: Math.floor(Date.now() / 1000) }, DEV_JWT_SECRET)
127
+ : undefined);
128
+ if (!baseUrl || !serviceRoleKey)
129
+ return;
130
+ await ensureEngine();
131
+ const parsedAst = await engineRequest("/parse", { ast });
132
+ await provisionBucketsFromAst(parsedAst, `${baseUrl}/storage/v1`, serviceRoleKey);
160
133
  }
161
134
  async function confirm(prompt) {
162
135
  const rl = createInterface({ input: process.stdin, output: process.stdout });
163
- return new Promise((resolve) => {
136
+ return new Promise((resolveConfirm) => {
164
137
  rl.question(prompt, (answer) => {
165
138
  rl.close();
166
- resolve(answer.toLowerCase() === "y");
139
+ resolveConfirm(answer.toLowerCase() === "y");
167
140
  });
168
141
  });
169
142
  }
170
- /** Write `.supatype/admin-config.json` for local Studio (same layout as `supatype dev`). */
171
143
  async function writeLocalAdminConfig(ast, config) {
172
144
  const cwd = process.cwd();
173
145
  const dir = join(cwd, ".supatype");
174
146
  mkdirSync(dir, { recursive: true });
147
+ await ensureEngine();
175
148
  const admin = withAdminRoles(await engineRequest("/admin", { ast }), config);
176
149
  restoreSystemRelationTargets(admin, ast);
177
150
  writeFileSync(join(dir, "admin-config.json"), `${JSON.stringify(admin, null, 2)}\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * supatype status — show current state of local dev services.
2
+ * supatype status — show linked target or local dev stack state.
3
3
  */
4
4
  import type { Command } from "commander";
5
5
  export declare function registerStatus(program: Command): void;
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAYxC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuCrD"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAgBxC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0BrD"}