@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
package/dist/link.js ADDED
@@ -0,0 +1,159 @@
1
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
+ import { resolve } from "node:path";
3
+ export const LINK_VERSION = 1;
4
+ export const LINK_FILE = ".supatype/link.json";
5
+ export const LEGACY_CLOUD_FILE = ".supatype/cloud.json";
6
+ export const LEGACY_LINKED_FILE = ".supatype/linked.json";
7
+ export function writeLocalEnvironment(cwd, env) {
8
+ const dir = resolve(cwd, ".supatype");
9
+ mkdirSync(dir, { recursive: true });
10
+ writeFileSync(resolve(dir, "environment.json"), `${JSON.stringify(env, null, 2)}\n`, "utf8");
11
+ }
12
+ export function loadLocalEnvironment(cwd) {
13
+ const path = resolve(cwd, ".supatype/environment.json");
14
+ if (!existsSync(path))
15
+ return null;
16
+ return JSON.parse(readFileSync(path, "utf8"));
17
+ }
18
+ export function linkPath(cwd) {
19
+ return resolve(cwd, LINK_FILE);
20
+ }
21
+ export function loadProjectLink(cwd) {
22
+ migrateLegacyLinkFiles(cwd);
23
+ const path = linkPath(cwd);
24
+ if (!existsSync(path))
25
+ return null;
26
+ return JSON.parse(readFileSync(path, "utf8"));
27
+ }
28
+ export function saveProjectLink(cwd, link) {
29
+ const dir = resolve(cwd, ".supatype");
30
+ mkdirSync(dir, { recursive: true });
31
+ writeFileSync(linkPath(cwd), `${JSON.stringify(link, null, 2)}\n`, "utf8");
32
+ }
33
+ export function isProjectLinked(cwd) {
34
+ const link = loadProjectLink(cwd);
35
+ return Boolean(link?.projectRef && Object.keys(link.environments).length > 0);
36
+ }
37
+ export function resolveEnvironmentName(link, envFlag) {
38
+ if (envFlag?.trim())
39
+ return envFlag.trim();
40
+ return link.defaultEnvironment || "production";
41
+ }
42
+ export function getEnvironmentTarget(link, envName) {
43
+ return link.environments[envName] ?? null;
44
+ }
45
+ export function resolveEnvironmentToken(link, env) {
46
+ return env.token ?? link.token;
47
+ }
48
+ let migrationWarned = false;
49
+ /** Merge legacy cloud.json + linked.json into link.json once. */
50
+ export function migrateLegacyLinkFiles(cwd) {
51
+ const target = linkPath(cwd);
52
+ if (existsSync(target))
53
+ return;
54
+ const cloudPath = resolve(cwd, LEGACY_CLOUD_FILE);
55
+ const linkedPath = resolve(cwd, LEGACY_LINKED_FILE);
56
+ const hasCloud = existsSync(cloudPath);
57
+ const hasLinked = existsSync(linkedPath);
58
+ if (!hasCloud && !hasLinked)
59
+ return;
60
+ let cloud = null;
61
+ let linked = null;
62
+ if (hasCloud) {
63
+ cloud = JSON.parse(readFileSync(cloudPath, "utf8"));
64
+ }
65
+ if (hasLinked) {
66
+ linked = JSON.parse(readFileSync(linkedPath, "utf8"));
67
+ }
68
+ const projectRef = cloud?.projectSlug ?? linked?.ref;
69
+ if (!projectRef || !cloud?.token) {
70
+ return;
71
+ }
72
+ const now = new Date().toISOString();
73
+ const link = {
74
+ version: LINK_VERSION,
75
+ kind: "cloud",
76
+ projectRef,
77
+ defaultEnvironment: "production",
78
+ token: cloud.token,
79
+ cloudApiUrl: cloud.apiUrl ?? "https://api.supatype.com",
80
+ linkedAt: now,
81
+ environments: {
82
+ production: {
83
+ name: "production",
84
+ apiUrl: cloud.apiUrl ?? "https://api.supatype.com",
85
+ linkedAt: now,
86
+ },
87
+ },
88
+ ...(cloud.orgId !== undefined
89
+ ? { orgId: cloud.orgId }
90
+ : linked?.orgId !== undefined
91
+ ? { orgId: linked.orgId }
92
+ : {}),
93
+ };
94
+ saveProjectLink(cwd, link);
95
+ if (!migrationWarned) {
96
+ migrationWarned = true;
97
+ console.warn("Migrated .supatype/cloud.json → .supatype/link.json (legacy files kept; remove manually when ready).");
98
+ }
99
+ }
100
+ export function createSelfHostLink(params) {
101
+ const envName = params.envName ?? "production";
102
+ const now = new Date().toISOString();
103
+ const env = {
104
+ name: envName,
105
+ apiUrl: params.apiUrl.replace(/\/$/, ""),
106
+ token: params.token,
107
+ linkedAt: now,
108
+ };
109
+ if (params.existing) {
110
+ return {
111
+ ...params.existing,
112
+ kind: params.existing.kind === "cloud" ? "self-host" : params.existing.kind,
113
+ projectRef: params.projectRef,
114
+ defaultEnvironment: params.existing.defaultEnvironment || envName,
115
+ linkedAt: now,
116
+ environments: {
117
+ ...params.existing.environments,
118
+ [envName]: env,
119
+ },
120
+ };
121
+ }
122
+ return {
123
+ version: LINK_VERSION,
124
+ kind: "self-host",
125
+ projectRef: params.projectRef,
126
+ defaultEnvironment: envName,
127
+ token: params.token,
128
+ linkedAt: now,
129
+ environments: { [envName]: env },
130
+ };
131
+ }
132
+ export function createCloudLink(params) {
133
+ const now = new Date().toISOString();
134
+ const envMap = {};
135
+ const envs = params.environments?.length
136
+ ? params.environments
137
+ : [{ name: "production", apiUrl: params.cloudApiUrl }];
138
+ for (const e of envs) {
139
+ envMap[e.name] = {
140
+ name: e.name,
141
+ apiUrl: e.apiUrl.replace(/\/$/, ""),
142
+ linkedAt: now,
143
+ };
144
+ }
145
+ return {
146
+ version: LINK_VERSION,
147
+ kind: "cloud",
148
+ projectRef: params.projectRef,
149
+ defaultEnvironment: "production",
150
+ token: params.token,
151
+ cloudApiUrl: params.cloudApiUrl.replace(/\/$/, ""),
152
+ linkedAt: now,
153
+ environments: params.existing
154
+ ? { ...params.existing.environments, ...envMap }
155
+ : envMap,
156
+ ...(params.orgId !== undefined ? { orgId: params.orgId } : {}),
157
+ };
158
+ }
159
+ //# sourceMappingURL=link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.js","sourceRoot":"","sources":["../src/link.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,8 @@ export interface ProcessOptions {
25
25
  onLine?: (line: string, stream: "stdout" | "stderr") => void;
26
26
  /** Return false to drop a line before logging. */
27
27
  shouldLogLine?: (line: string) => boolean;
28
+ /** Called before auto-restart after a non-zero exit (e.g. free a stale port). */
29
+ beforeRestart?: () => void;
28
30
  }
29
31
  export declare class ProcessManager {
30
32
  private readonly bin;
@@ -1 +1 @@
1
- {"version":3,"file":"process-manager.d.ts","sourceRoot":"","sources":["../src/process-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAA;IACb,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAA;IACd,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,4EAA4E;IAC5E,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,kFAAkF;IAClF,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAA;IAC5D,kDAAkD;IAClD,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;CAC1C;AAID,qBAAa,cAAc;IAiBvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAjBvB,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,IAAI,CAQX;IACD,kFAAkF;IAClF,OAAO,CAAC,cAAc,CAAK;gBAGR,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EAC/B,IAAI,EAAE,cAAc;IAgBtB,mFAAmF;IACnF,KAAK,IAAI,IAAI;IAKb,+CAA+C;IACzC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgC3B,OAAO,CAAC,KAAK;IAkFb,OAAO,CAAC,QAAQ;YASF,QAAQ;CAOvB;AAED,mEAAmE;AACnE,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMpE"}
1
+ {"version":3,"file":"process-manager.d.ts","sourceRoot":"","sources":["../src/process-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAA;IACb,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAA;IACd,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,4EAA4E;IAC5E,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,kFAAkF;IAClF,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAA;IAC5D,kDAAkD;IAClD,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;IACzC,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;CAC3B;AAID,qBAAa,cAAc;IAiBvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAjBvB,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,IAAI,CAQX;IACD,kFAAkF;IAClF,OAAO,CAAC,cAAc,CAAK;gBAGR,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EAC/B,IAAI,EAAE,cAAc;IAgBtB,mFAAmF;IACnF,KAAK,IAAI,IAAI;IAKb,+CAA+C;IACzC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgC3B,OAAO,CAAC,KAAK;IAoFb,OAAO,CAAC,QAAQ;YASF,QAAQ;CAOvB;AAED,mEAAmE;AACnE,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMpE"}
@@ -122,6 +122,7 @@ export class ProcessManager {
122
122
  process.stderr.write(message);
123
123
  }
124
124
  setTimeout(() => {
125
+ this.opts.beforeRestart?.();
125
126
  this.backoffMs = Math.min(this.backoffMs * 2, this.opts.maxBackoffMs);
126
127
  this.spawn();
127
128
  }, this.backoffMs);
@@ -142,6 +143,7 @@ export class ProcessManager {
142
143
  process.stderr.write(restartMsg);
143
144
  }
144
145
  setTimeout(() => {
146
+ this.opts.beforeRestart?.();
145
147
  this.backoffMs = Math.min(this.backoffMs * 2, this.opts.maxBackoffMs);
146
148
  this.spawn();
147
149
  }, this.backoffMs);
@@ -1 +1 @@
1
- {"version":3,"file":"process-manager.js","sourceRoot":"","sources":["../src/process-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process-manager.js","sourceRoot":"","sources":["../src/process-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAqB,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AA6BxD,MAAM,KAAK,GAAG,SAAS,CAAA;AAEvB,MAAM,OAAO,cAAc;IAiBN;IACA;IAjBX,KAAK,GAAwB,IAAI,CAAA;IACjC,OAAO,GAAG,KAAK,CAAA;IACf,SAAS,CAAQ;IACjB,IAAI,CAQX;IACD,kFAAkF;IAC1E,cAAc,GAAG,EAAE,CAAA;IAE3B,YACmB,GAAW,EACX,IAAc,EAC/B,IAAoB;QAFH,QAAG,GAAH,GAAG,CAAQ;QACX,SAAI,GAAJ,IAAI,CAAU;QAG/B,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACtD,IAAI,CAAC,IAAI,GAAG;YACV,MAAM,EAAE,UAAU;YAClB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,GAAG,EAAE,EAAE;YACP,gBAAgB,EAAE,KAAK;YACvB,YAAY,EAAE,MAAM;YACpB,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;YAChB,KAAK,EAAE,KAAK;YACZ,GAAG,MAAM;SACV,CAAA;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAA;IAC7C,CAAC;IAED,mFAAmF;IACnF,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,KAAK,EAAE,CAAA;IACd,CAAC;IAED,+CAA+C;IAC/C,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;YACrB,OAAM;QACR,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAA;QAC1B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC;YAC3D,SAAS,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;YAC7E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;YACjB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;YACrB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC1B,+CAA+C;YAC/C,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC9B,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;oBAC3B,OAAO,EAAE,CAAA;gBACX,CAAC,EAAE,KAAK,CAAC,CAAA;gBACT,IAAI,CAAC,KAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;oBAC5B,YAAY,CAAC,OAAO,CAAC,CAAA;oBACrB,OAAO,EAAE,CAAA;gBACX,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;IACvB,CAAC;IAEO,KAAK;QACX,IAAI,IAAI,CAAC,OAAO;YAAE,OAAM;QAExB,MAAM,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAuB,CAAA;QACrE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE;YACtC,GAAG;YACH,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;YAClB,KAAK,EAAE,MAAM;YACb,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAA;QAC1B,IAAI,GAAG;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM;YAC7B,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG;YACpD,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAA;QAE3B,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,MAA0B,EAAQ,EAAE;YACjE,IAAI,CAAC,IAAI;gBAAE,OAAM;YACjB,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,OAAM;YACrE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACrB,IAAI,IAAI,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;oBACjC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;oBAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;gBACzE,CAAC;gBACD,OAAM;YACR,CAAC;YACD,IAAI,IAAI,KAAK,IAAI,CAAC,cAAc;gBAAE,OAAM;YACxC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;YAC1B,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,CAAA;QACpC,CAAC,CAAA;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC/B,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAM;YACxB,MAAM,OAAO,GAAG,GAAG,MAAM,oBAAoB,GAAG,CAAC,OAAO,IAAI,CAAA;YAC5D,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACrB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAA;YAC/D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC/B,CAAC;YACD,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAA;gBAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;gBACrE,IAAI,CAAC,KAAK,EAAE,CAAA;YACd,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QACpB,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACvC,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAM;YAExB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;gBAClB,OAAM;YACR,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAA;YAC3D,MAAM,UAAU,GAAG,GAAG,MAAM,mBAAmB,MAAM,oBAAoB,IAAI,CAAC,SAAS,MAAM,CAAA;YAC7F,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACrB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,MAAM,oBAAoB,IAAI,CAAC,SAAS,IAAI,EAAE,QAAQ,CAAC,CAAA;YAC7F,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YAClC,CAAC;YAED,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAA;gBAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;gBACrE,IAAI,CAAC,KAAK,EAAE,CAAA;YACd,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QACpB,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,QAAQ,CAAC,GAAW;QAC1B,IAAI,CAAC;YACH,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAChD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC9E,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC,CAAA;QAChE,CAAC;QAAC,MAAM,CAAC;YACP,qCAAqC;QACvC,CAAC;IACH,CAAC;CACF;AAED,mEAAmE;AACnE,MAAM,UAAU,OAAO,CAAC,MAAc,EAAE,KAAa;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,MAAM,CAAC,CAAA;IAC5C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAA;IACrC,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;IAChD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IACvB,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;AACrD,CAAC"}
@@ -194,6 +194,14 @@ export interface SupatypeProjectConfig {
194
194
  /** Custom response headers for the deployed static site. */
195
195
  headers?: Record<string, string>;
196
196
  };
197
+ /**
198
+ * Persistent environment defaults for `resolveTarget()` when `--env` is omitted.
199
+ * Ephemeral schema branches (Phase 22) use `.supatype/branch.json`, not this block.
200
+ */
201
+ environments?: {
202
+ default?: string;
203
+ branchDefaults?: Record<string, string>;
204
+ };
197
205
  /**
198
206
  * Optional Postgres URL for CLI commands that talk to the DB (`push`, `migrate`, …).
199
207
  * When omitted, `DATABASE_URL` from the environment is used, then a local default DSN.
@@ -1 +1 @@
1
- {"version":3,"file":"project-config.d.ts","sourceRoot":"","sources":["../src/project-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-config.d.ts","sourceRoot":"","sources":["../src/project-config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"project-config.js","sourceRoot":"","sources":["../src/project-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-config.js","sourceRoot":"","sources":["../src/project-config.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,43 @@
1
1
  /**
2
- * Utilities for the `pull` commandextracted for unit testability.
2
+ * Utilities for `pull` and `introspect` map engine DatabaseState to Model<> scaffold.
3
3
  */
4
+ export interface DbColumnState {
5
+ name: string;
6
+ dataType: string;
7
+ udtName: string;
8
+ nullable: boolean;
9
+ default?: string | null;
10
+ ordinalPosition?: number;
11
+ }
12
+ export interface DbTableState {
13
+ schema?: string;
14
+ name: string;
15
+ columns: DbColumnState[];
16
+ }
17
+ export interface DbConstraintState {
18
+ table: string;
19
+ name: string;
20
+ constraintType: string;
21
+ columns: string[];
22
+ foreignTable?: string | null;
23
+ foreignColumns?: string[] | null;
24
+ comment?: string | null;
25
+ }
26
+ export interface DbIndexState {
27
+ table: string;
28
+ name: string;
29
+ columns: string[];
30
+ unique: boolean;
31
+ method: string;
32
+ isPrimary: boolean;
33
+ comment?: string | null;
34
+ }
35
+ export interface DatabaseStateJson {
36
+ schema?: string;
37
+ tables: DbTableState[];
38
+ constraints?: DbConstraintState[];
39
+ indexes?: DbIndexState[];
40
+ }
4
41
  export interface ColumnInfo {
5
42
  name: string;
6
43
  pgType: string;
@@ -8,24 +45,23 @@ export interface ColumnInfo {
8
45
  isPrimary: boolean;
9
46
  isUnique: boolean;
10
47
  hasDefault: boolean;
11
- }
12
- /** Engine `/introspect` column shape (see {@link IntrospectResult} in engine-client). */
13
- export interface IntrospectColumn {
14
- name: string;
15
- type: string;
16
- nullable: boolean;
17
- default?: string;
18
- primaryKey?: boolean;
19
- unique?: boolean;
20
48
  references?: {
21
49
  table: string;
22
50
  column: string;
23
51
  };
24
52
  }
25
- /** Map engine introspection JSON to {@link ColumnInfo} for {@link pgTypeToField}. */
26
- export declare function introspectColumnToColumnInfo(col: IntrospectColumn): ColumnInfo;
27
- /** Map a Postgres column type to the corresponding field.X() call string. */
28
- export declare function pgTypeToField(col: ColumnInfo): string;
53
+ /** Map engine introspection column to {@link ColumnInfo}. */
54
+ export declare function introspectColumnToColumnInfo(col: DbColumnState): ColumnInfo;
55
+ /** Map a Postgres column to a Model<> field type string (draft). */
56
+ export declare function pgTypeToModelField(col: ColumnInfo): string;
29
57
  /** Convert snake_case table name to PascalCase model export name. */
58
+ export declare function toModelName(s: string): string;
59
+ /** Generate draft schema/index.ts content from introspected DatabaseState. */
60
+ export declare function databaseStateToSchemaScaffold(state: DatabaseStateJson): string;
61
+ /** Human-readable introspection summary for `supatype introspect`. */
62
+ export declare function printIntrospectSummary(state: DatabaseStateJson): void;
63
+ /** @deprecated Legacy pull helper — use {@link pgTypeToModelField}. */
64
+ export declare function pgTypeToField(col: ColumnInfo): string;
65
+ /** @deprecated Use {@link toModelName}. */
30
66
  export declare function toCamelCase(s: string): string;
31
67
  //# sourceMappingURL=pull-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pull-utils.d.ts","sourceRoot":"","sources":["../src/pull-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,yFAAyF;AACzF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAC/C;AAED,qFAAqF;AACrF,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,gBAAgB,GAAG,UAAU,CAU9E;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAmCrD;AAED,qEAAqE;AACrE,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAI7C"}
1
+ {"version":3,"file":"pull-utils.d.ts","sourceRoot":"","sources":["../src/pull-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,aAAa,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAChC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,YAAY,EAAE,CAAA;IACtB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAA;IACjC,OAAO,CAAC,EAAE,YAAY,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAC/C;AAED,6DAA6D;AAC7D,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,aAAa,GAAG,UAAU,CAS3E;AA0BD,oEAAoE;AACpE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAqD1D;AAED,qEAAqE;AACrE,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAI7C;AAED,8EAA8E;AAC9E,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAyD9E;AAED,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAerE;AAED,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAmCrD;AAED,2CAA2C;AAC3C,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE7C"}
@@ -1,19 +1,161 @@
1
1
  /**
2
- * Utilities for the `pull` commandextracted for unit testability.
2
+ * Utilities for `pull` and `introspect` map engine DatabaseState to Model<> scaffold.
3
3
  */
4
- /** Map engine introspection JSON to {@link ColumnInfo} for {@link pgTypeToField}. */
4
+ /** Map engine introspection column to {@link ColumnInfo}. */
5
5
  export function introspectColumnToColumnInfo(col) {
6
- const def = col.default;
7
6
  return {
8
7
  name: col.name,
9
- pgType: col.type,
8
+ pgType: col.udtName || col.dataType,
10
9
  nullable: col.nullable,
11
- isPrimary: col.primaryKey ?? false,
12
- isUnique: col.unique ?? false,
13
- hasDefault: def !== undefined && def !== "",
10
+ isPrimary: col.name === "id" && (col.udtName === "uuid" || col.dataType.includes("uuid")),
11
+ isUnique: false,
12
+ hasDefault: col.default != null && col.default !== "",
14
13
  };
15
14
  }
16
- /** Map a Postgres column type to the corresponding field.X() call string. */
15
+ function singleColumnUniques(table, constraints) {
16
+ const out = new Map();
17
+ for (const c of constraints ?? []) {
18
+ if (c.table !== table || c.constraintType !== "unique" || c.columns.length !== 1)
19
+ continue;
20
+ out.set(c.columns[0], true);
21
+ }
22
+ return out;
23
+ }
24
+ function compositeIndexes(table, indexes) {
25
+ const out = [];
26
+ for (const idx of indexes ?? []) {
27
+ if (idx.table !== table || idx.isPrimary || idx.columns.length < 2)
28
+ continue;
29
+ out.push({ fields: idx.columns, unique: idx.unique });
30
+ }
31
+ return out;
32
+ }
33
+ /** Map a Postgres column to a Model<> field type string (draft). */
34
+ export function pgTypeToModelField(col) {
35
+ const name = col.name;
36
+ const type = col.pgType.toLowerCase();
37
+ const optional = col.nullable ? "Optional<" : "";
38
+ const optionalClose = col.nullable ? ">" : "";
39
+ if (name === "id" && type.includes("uuid")) {
40
+ return `id: SupatypeAuthUserId`;
41
+ }
42
+ if (name.endsWith("_id") && type.includes("uuid")) {
43
+ const base = name.replace(/_id$/, "");
44
+ const rel = base.replace(/_([a-z])/g, (_, c) => c.toUpperCase());
45
+ const relName = rel.charAt(0).toUpperCase() + rel.slice(1);
46
+ return `${name}: UUID\n // TODO: relation — RelatedTo<"${relName}">`;
47
+ }
48
+ if (name === "created_at" || name === "updated_at") {
49
+ return `${name}: Timestamp`;
50
+ }
51
+ if (name === "deleted_at") {
52
+ return `${name}: Optional<Timestamp>`;
53
+ }
54
+ if (type.includes("timestamptz") || type.includes("timestamp with time zone")) {
55
+ return `${name}: ${optional}Timestamp${optionalClose}`;
56
+ }
57
+ if (type.includes("uuid")) {
58
+ const inner = col.isUnique ? "Unique<UUID>" : "UUID";
59
+ return `${name}: ${optional}${inner}${optionalClose}`;
60
+ }
61
+ if (name.includes("email") && (type.includes("text") || type.includes("varchar"))) {
62
+ const inner = col.isUnique ? "Unique<Email>" : "Email";
63
+ return `${name}: ${optional}${inner}${optionalClose}`;
64
+ }
65
+ if (name === "slug" || name.endsWith("_slug")) {
66
+ return `${name}: Slug<"title">`;
67
+ }
68
+ if (type.includes("jsonb")) {
69
+ return `${name}: ${optional}JSON${optionalClose}`;
70
+ }
71
+ if (type.includes("bool")) {
72
+ return `${name}: ${optional}boolean${optionalClose}`;
73
+ }
74
+ if (type.includes("int8") || type.includes("bigint")) {
75
+ return `${name}: ${optional}BigInt${optionalClose}`;
76
+ }
77
+ if (type.includes("int")) {
78
+ return `${name}: ${optional}Int${optionalClose}`;
79
+ }
80
+ if (type.includes("text") || type.includes("varchar")) {
81
+ const inner = col.isUnique ? "Unique<string>" : "string";
82
+ return `${name}: ${optional}${inner}${optionalClose}`;
83
+ }
84
+ return `${name}: string /* TODO: ${col.pgType} */`;
85
+ }
86
+ /** Convert snake_case table name to PascalCase model export name. */
87
+ export function toModelName(s) {
88
+ return s
89
+ .replace(/_([a-z])/g, (_, c) => c.toUpperCase())
90
+ .replace(/^([a-z])/, (c) => c.toUpperCase());
91
+ }
92
+ /** Generate draft schema/index.ts content from introspected DatabaseState. */
93
+ export function databaseStateToSchemaScaffold(state) {
94
+ const constraints = state.constraints ?? [];
95
+ const indexes = state.indexes ?? [];
96
+ const skipTables = new Set(["spatial_ref_sys", "schema_migrations"]);
97
+ const lines = [
98
+ "// DRAFT — generated by `supatype pull`. Review access rules, relations, and indexes before push.",
99
+ 'import type { Model, Public, UUID, Timestamp, Optional, Unique, Email, Slug, SupatypeAuthUserId, JSON, Int, BigInt } from "@supatype/types"',
100
+ "",
101
+ ];
102
+ for (const table of state.tables) {
103
+ if (skipTables.has(table.name) || table.name.startsWith("_"))
104
+ continue;
105
+ const modelName = toModelName(table.name);
106
+ const uniques = singleColumnUniques(table.name, constraints);
107
+ const modelIndexes = compositeIndexes(table.name, indexes);
108
+ const fieldLines = [];
109
+ for (const col of table.columns) {
110
+ if (col.name === "created_at" || col.name === "updated_at")
111
+ continue;
112
+ const info = introspectColumnToColumnInfo(col);
113
+ info.isPrimary = col.name === "id";
114
+ info.isUnique = uniques.get(col.name) ?? false;
115
+ fieldLines.push(` ${pgTypeToModelField(info)}`);
116
+ }
117
+ const hasTimestamps = table.columns.some((c) => c.name === "created_at");
118
+ if (hasTimestamps) {
119
+ fieldLines.push(" created_at: Timestamp");
120
+ fieldLines.push(" updated_at: Timestamp");
121
+ }
122
+ const indexBlock = modelIndexes.length > 0
123
+ ? `\n indexes: [\n${modelIndexes
124
+ .map((idx) => ` { fields: [${idx.fields.map((f) => `"${f}"`).join(", ")}]${idx.unique ? ", unique: true" : ""} },`)
125
+ .join("\n")}\n ],`
126
+ : "";
127
+ lines.push(`export type ${modelName} = Model<{`);
128
+ lines.push(fieldLines.join("\n"));
129
+ lines.push(`}, {`);
130
+ lines.push(` access: {`);
131
+ lines.push(` read: Public`);
132
+ lines.push(` create: Public`);
133
+ lines.push(` update: Public`);
134
+ lines.push(` delete: Public`);
135
+ lines.push(` },${indexBlock}`);
136
+ lines.push(`}>`);
137
+ lines.push("");
138
+ }
139
+ return lines.join("\n");
140
+ }
141
+ /** Human-readable introspection summary for `supatype introspect`. */
142
+ export function printIntrospectSummary(state) {
143
+ console.log(`Schema: ${state.schema ?? "public"}`);
144
+ console.log(`Tables: ${state.tables.length}`);
145
+ for (const table of state.tables) {
146
+ console.log(`\n ${table.name} (${table.columns.length} columns)`);
147
+ for (const col of table.columns) {
148
+ const nullMark = col.nullable ? "?" : "";
149
+ console.log(` ${col.name}${nullMark}: ${col.udtName || col.dataType}`);
150
+ }
151
+ }
152
+ const constraintCount = state.constraints?.length ?? 0;
153
+ const indexCount = state.indexes?.length ?? 0;
154
+ if (constraintCount + indexCount > 0) {
155
+ console.log(`\nConstraints: ${constraintCount}, Indexes: ${indexCount}`);
156
+ }
157
+ }
158
+ /** @deprecated Legacy pull helper — use {@link pgTypeToModelField}. */
17
159
  export function pgTypeToField(col) {
18
160
  const opts = { required: !col.nullable };
19
161
  if (col.isPrimary)
@@ -68,10 +210,8 @@ export function pgTypeToField(col) {
68
210
  return `field.tsquery(${optsStr})`;
69
211
  return `field.text({ ...${optsStr} }) /* TODO: ${col.pgType} */`;
70
212
  }
71
- /** Convert snake_case table name to PascalCase model export name. */
213
+ /** @deprecated Use {@link toModelName}. */
72
214
  export function toCamelCase(s) {
73
- return s
74
- .replace(/_([a-z])/g, (_, c) => c.toUpperCase())
75
- .replace(/^([a-z])/, (c) => c.toUpperCase());
215
+ return toModelName(s);
76
216
  }
77
217
  //# sourceMappingURL=pull-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pull-utils.js","sourceRoot":"","sources":["../src/pull-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pull-utils.js","sourceRoot":"","sources":["../src/pull-utils.ts"],"names":[],"mappings":"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"}