@supatype/cli 0.3.1 → 0.3.3

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 (148) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.turbo/turbo-test.log +168 -158
  3. package/.turbo/turbo-typecheck.log +1 -1
  4. package/CHANGELOG.md +77 -0
  5. package/dist/api-config-cache.d.ts +20 -0
  6. package/dist/api-config-cache.d.ts.map +1 -1
  7. package/dist/api-config-cache.js +27 -0
  8. package/dist/api-config-cache.js.map +1 -1
  9. package/dist/augmentation-generator.d.ts.map +1 -1
  10. package/dist/augmentation-generator.js +126 -26
  11. package/dist/augmentation-generator.js.map +1 -1
  12. package/dist/cli-version-embedded.js +1 -1
  13. package/dist/client-generator.d.ts +3 -0
  14. package/dist/client-generator.d.ts.map +1 -0
  15. package/dist/client-generator.js +108 -0
  16. package/dist/client-generator.js.map +1 -0
  17. package/dist/commands/functions.d.ts.map +1 -1
  18. package/dist/commands/functions.js +2 -2
  19. package/dist/commands/functions.js.map +1 -1
  20. package/dist/commands/generate.d.ts.map +1 -1
  21. package/dist/commands/generate.js +3 -3
  22. package/dist/commands/generate.js.map +1 -1
  23. package/dist/commands/init.d.ts.map +1 -1
  24. package/dist/commands/init.js +36 -29
  25. package/dist/commands/init.js.map +1 -1
  26. package/dist/commands/push.d.ts.map +1 -1
  27. package/dist/commands/push.js +14 -13
  28. package/dist/commands/push.js.map +1 -1
  29. package/dist/commands/seed.d.ts +27 -1
  30. package/dist/commands/seed.d.ts.map +1 -1
  31. package/dist/commands/seed.js +206 -33
  32. package/dist/commands/seed.js.map +1 -1
  33. package/dist/commands/update.d.ts.map +1 -1
  34. package/dist/commands/update.js +19 -1
  35. package/dist/commands/update.js.map +1 -1
  36. package/dist/db-port.d.ts +36 -0
  37. package/dist/db-port.d.ts.map +1 -0
  38. package/dist/db-port.js +90 -0
  39. package/dist/db-port.js.map +1 -0
  40. package/dist/dev-compose.d.ts.map +1 -1
  41. package/dist/dev-compose.js +108 -13
  42. package/dist/dev-compose.js.map +1 -1
  43. package/dist/engine-client.d.ts +1 -0
  44. package/dist/engine-client.d.ts.map +1 -1
  45. package/dist/engine-client.js +47 -2
  46. package/dist/engine-client.js.map +1 -1
  47. package/dist/engine-floor.d.ts +27 -4
  48. package/dist/engine-floor.d.ts.map +1 -1
  49. package/dist/engine-floor.js +90 -9
  50. package/dist/engine-floor.js.map +1 -1
  51. package/dist/functions-context-refresh.d.ts +4 -0
  52. package/dist/functions-context-refresh.d.ts.map +1 -0
  53. package/dist/functions-context-refresh.js +26 -0
  54. package/dist/functions-context-refresh.js.map +1 -0
  55. package/dist/functions-deno-types.d.ts +9 -0
  56. package/dist/functions-deno-types.d.ts.map +1 -1
  57. package/dist/functions-deno-types.js +21 -1
  58. package/dist/functions-deno-types.js.map +1 -1
  59. package/dist/gitignore.d.ts +3 -1
  60. package/dist/gitignore.d.ts.map +1 -1
  61. package/dist/gitignore.js +35 -6
  62. package/dist/gitignore.js.map +1 -1
  63. package/dist/hooks-generator.d.ts.map +1 -1
  64. package/dist/hooks-generator.js +18 -3
  65. package/dist/hooks-generator.js.map +1 -1
  66. package/dist/schema-ast-v2.d.ts.map +1 -1
  67. package/dist/schema-ast-v2.js +17 -8
  68. package/dist/schema-ast-v2.js.map +1 -1
  69. package/dist/seed-connection.d.ts +60 -0
  70. package/dist/seed-connection.d.ts.map +1 -0
  71. package/dist/seed-connection.js +90 -0
  72. package/dist/seed-connection.js.map +1 -0
  73. package/dist/seed-ir.d.ts +66 -0
  74. package/dist/seed-ir.d.ts.map +1 -0
  75. package/dist/seed-ir.js +265 -0
  76. package/dist/seed-ir.js.map +1 -0
  77. package/dist/seed-runner.d.ts +44 -0
  78. package/dist/seed-runner.d.ts.map +1 -0
  79. package/dist/seed-runner.js +83 -0
  80. package/dist/seed-runner.js.map +1 -0
  81. package/dist/seed.d.ts +345 -0
  82. package/dist/seed.d.ts.map +1 -1
  83. package/dist/seed.js +138 -0
  84. package/dist/seed.js.map +1 -1
  85. package/dist/self-host-compose.d.ts +10 -2
  86. package/dist/self-host-compose.d.ts.map +1 -1
  87. package/dist/self-host-compose.js +73 -6
  88. package/dist/self-host-compose.js.map +1 -1
  89. package/dist/strict.d.ts +29 -0
  90. package/dist/strict.d.ts.map +1 -0
  91. package/dist/strict.js +37 -0
  92. package/dist/strict.js.map +1 -0
  93. package/dist/studio-dev-server.d.ts +12 -2
  94. package/dist/studio-dev-server.d.ts.map +1 -1
  95. package/dist/studio-dev-server.js +12 -2
  96. package/dist/studio-dev-server.js.map +1 -1
  97. package/dist/type-extractor.d.ts.map +1 -1
  98. package/dist/type-extractor.js +81 -2
  99. package/dist/type-extractor.js.map +1 -1
  100. package/dist/type-generation.d.ts +43 -0
  101. package/dist/type-generation.d.ts.map +1 -1
  102. package/dist/type-generation.js +93 -2
  103. package/dist/type-generation.js.map +1 -1
  104. package/package.json +2 -2
  105. package/src/api-config-cache.ts +30 -0
  106. package/src/augmentation-generator.ts +142 -26
  107. package/src/cli-version-embedded.ts +1 -1
  108. package/src/client-generator.ts +122 -0
  109. package/src/commands/functions.ts +5 -2
  110. package/src/commands/generate.ts +7 -3
  111. package/src/commands/init.ts +41 -31
  112. package/src/commands/push.ts +14 -15
  113. package/src/commands/seed.ts +294 -44
  114. package/src/commands/update.ts +20 -1
  115. package/src/db-port.ts +99 -0
  116. package/src/dev-compose.ts +116 -16
  117. package/src/engine-client.ts +52 -3
  118. package/src/engine-floor.ts +100 -9
  119. package/src/functions-context-refresh.ts +25 -0
  120. package/src/functions-deno-types.ts +24 -1
  121. package/src/gitignore.ts +38 -10
  122. package/src/hooks-generator.ts +21 -6
  123. package/src/schema-ast-v2.ts +17 -8
  124. package/src/seed-connection.ts +146 -0
  125. package/src/seed-ir.ts +311 -0
  126. package/src/seed-runner.ts +109 -0
  127. package/src/seed.ts +408 -0
  128. package/src/self-host-compose.ts +74 -6
  129. package/src/strict.ts +40 -0
  130. package/src/studio-dev-server.ts +12 -2
  131. package/src/type-extractor.ts +109 -2
  132. package/src/type-generation.ts +111 -2
  133. package/tests/access-composition.test.ts +123 -0
  134. package/tests/ast-derived-outputs.test.ts +92 -0
  135. package/tests/augmentation-generator.test.ts +273 -7
  136. package/tests/client-generator.test.ts +103 -0
  137. package/tests/db-port.test.ts +128 -0
  138. package/tests/engine-floor.test.ts +93 -0
  139. package/tests/external-database-compose.test.ts +8 -1
  140. package/tests/fixtures/seed_golden_ir.json +186 -0
  141. package/tests/functions-context-refresh.test.ts +86 -0
  142. package/tests/gitignore-secrets.test.ts +90 -0
  143. package/tests/runtime-contract.test.ts +146 -8
  144. package/tests/seed-connection.test.ts +158 -0
  145. package/tests/seed-ir.test.ts +436 -0
  146. package/tests/strict.test.ts +78 -0
  147. package/tests/type-extractor.test.ts +34 -0
  148. package/tsconfig.tsbuildinfo +1 -1
@@ -8,6 +8,25 @@ export const ENGINE_MIN_FOR_BOUNDS = "0.2.0";
8
8
  * no snapshot table, and Studio saves drafts into nothing.
9
9
  */
10
10
  export const ENGINE_MIN_FOR_VERSIONS = "0.3.0";
11
+ /**
12
+ * First engine release that normalises a rich text column's contents (schema-engine v0.4.0).
13
+ *
14
+ * Silent in the same way `versions` is, and for a reason worth naming. The generated types accept
15
+ * a plain string on the way in and promise a Lexical document on the way out, and a trigger is
16
+ * what makes the second half true for every writer. An older engine emits no trigger and rejects
17
+ * nothing, so the string is stored exactly as it was written and every later read returns
18
+ * something the types say cannot happen.
19
+ */
20
+ export const ENGINE_MIN_FOR_RICHTEXT_TRIGGER = "0.4.0";
21
+ /**
22
+ * First engine release that has a `seed` subcommand (schema-engine v0.4.0).
23
+ *
24
+ * Unconditional, where everything else in this file is conditional on the schema. There is no way
25
+ * to write a seed that does not need the subcommand, so there is nothing to read the project for
26
+ * and nothing to point at. An older engine answers the request with a usage error about an
27
+ * unrecognised argument, which names no part of the project and reads like a broken install.
28
+ */
29
+ export const ENGINE_MIN_FOR_SEED = "0.4.0";
11
30
  /**
12
31
  * Compare two dotted versions numerically. Returns <0, 0 or >0.
13
32
  *
@@ -58,6 +77,17 @@ function modelsWithConstraints(models) {
58
77
  export function boundsRequiringHelpers(ast) {
59
78
  return [...fieldsWithBounds(ast.models), ...modelsWithConstraints(ast.models)];
60
79
  }
80
+ /** Rich text fields, which need a trigger only a new enough engine emits. */
81
+ export function fieldsNeedingRichTextTrigger(ast) {
82
+ const found = [];
83
+ for (const model of ast.models) {
84
+ for (const [fieldName, field] of Object.entries(model.fields)) {
85
+ if (field.kind === "richText")
86
+ found.push(`${model.name}.${fieldName}`);
87
+ }
88
+ }
89
+ return found;
90
+ }
61
91
  /** Models declaring `versions`, which needs a whole layer only a new enough engine emits. */
62
92
  export function modelsRequiringVersions(ast) {
63
93
  return ast.models
@@ -82,6 +112,16 @@ const ENGINE_REQUIREMENTS = [
82
112
  `push reports success and you get a model with no history, no drafts and an editor that ` +
83
113
  `saves into nothing. That silence is the reason this refuses.`,
84
114
  },
115
+ {
116
+ since: ENGINE_MIN_FOR_RICHTEXT_TRIGGER,
117
+ declaredBy: fieldsNeedingRichTextTrigger,
118
+ feature: "rich text columns",
119
+ consequence: `Only engine ${ENGINE_MIN_FOR_RICHTEXT_TRIGGER}+ emits the trigger that turns a plain ` +
120
+ `string written into one of these columns into a Lexical document. The generated types ` +
121
+ `accept a string on the way in and promise a document on the way out, and the trigger is ` +
122
+ `the only thing that makes the second half true. Without it the string is stored as it ` +
123
+ `was written and a later read returns what the types say is impossible.`,
124
+ },
85
125
  ];
86
126
  /**
87
127
  * Refuse a push whose schema needs something this engine cannot apply.
@@ -89,10 +129,30 @@ const ENGINE_REQUIREMENTS = [
89
129
  * Takes the pin from `versions.engine`, or undefined when unpinned. See the note above on why
90
130
  * that is the right source rather than the binary's own `--version`.
91
131
  */
132
+ /**
133
+ * Whether a pin can be compared at all.
134
+ *
135
+ * Unpinned resolves to latest, and `local` points at a build whose version the config does not
136
+ * know. Neither can be compared, and neither is the case that breaks.
137
+ */
138
+ function comparable(pin) {
139
+ return pin !== undefined && pin !== "local";
140
+ }
141
+ /**
142
+ * The parts every refusal here shares: what is needed, and what to do about it.
143
+ *
144
+ * One builder rather than one per check, because the remedy is the only part of this message
145
+ * anyone acts on, and a second copy is a second place for it to go stale.
146
+ */
147
+ function refusal(parts) {
148
+ return (`${parts.needs}, which needs schema-engine ${parts.since} or newer, and this project ` +
149
+ `pins ${parts.pinned}.\n\n` +
150
+ `${parts.body}\n\n` +
151
+ `Raise or remove the pin in supatype.config.ts:\n` +
152
+ ` versions: { engine: "${parts.since}" } // or omit it to track latest`);
153
+ }
92
154
  export function assertEngineSupportsSchema(ast, pinnedEngineVersion) {
93
- // Unpinned resolves to latest, and `local` points at a build whose version the config does not
94
- // know. Neither can be compared, and neither is the case that breaks.
95
- if (pinnedEngineVersion === undefined || pinnedEngineVersion === "local")
155
+ if (!comparable(pinnedEngineVersion))
96
156
  return;
97
157
  for (const requirement of ENGINE_REQUIREMENTS) {
98
158
  if (compareVersions(pinnedEngineVersion, requirement.since) >= 0)
@@ -102,12 +162,33 @@ export function assertEngineSupportsSchema(ast, pinnedEngineVersion) {
102
162
  continue;
103
163
  const shown = needed.slice(0, 3).join(", ");
104
164
  const more = needed.length > 3 ? `, and ${needed.length - 3} more` : "";
105
- throw new Error(`This schema declares ${requirement.feature}, which needs schema-engine ` +
106
- `${requirement.since} or newer, and this project pins ${pinnedEngineVersion}.\n\n` +
107
- ` Declared on: ${shown}${more}\n\n` +
108
- `${requirement.consequence}\n\n` +
109
- `Raise or remove the pin in supatype.config.ts:\n` +
110
- ` versions: { engine: "${requirement.since}" } // or omit it to track latest`);
165
+ throw new Error(refusal({
166
+ needs: `This schema declares ${requirement.feature}`,
167
+ since: requirement.since,
168
+ pinned: pinnedEngineVersion,
169
+ body: ` Declared on: ${shown}${more}\n\n${requirement.consequence}`,
170
+ }));
111
171
  }
112
172
  }
173
+ /**
174
+ * Why the pinned engine cannot run a seed, or undefined when it can.
175
+ *
176
+ * Returns rather than throws, because the seed command answers in exit codes and this is a `2`:
177
+ * the run could not start, alongside a missing builder or an unreachable database, rather than a
178
+ * `1` where the seed itself was wrong.
179
+ */
180
+ export function seedUnsupportedByPinnedEngine(pinnedEngineVersion) {
181
+ if (!comparable(pinnedEngineVersion))
182
+ return undefined;
183
+ if (compareVersions(pinnedEngineVersion, ENGINE_MIN_FOR_SEED) >= 0)
184
+ return undefined;
185
+ return refusal({
186
+ needs: "Seeding is done by the engine",
187
+ since: ENGINE_MIN_FOR_SEED,
188
+ pinned: pinnedEngineVersion,
189
+ body: `An engine older than ${ENGINE_MIN_FOR_SEED} has no \`seed\` subcommand. It would answer ` +
190
+ `this run with a usage error about an unrecognised argument, which names nothing about ` +
191
+ `your project and reads like a broken install.`,
192
+ });
193
+ }
113
194
  //# sourceMappingURL=engine-floor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine-floor.js","sourceRoot":"","sources":["../src/engine-floor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine-floor.js","sourceRoot":"","sources":["../src/engine-floor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type SupatypeProjectConfig } from "./project-config.js";
2
+ /** Rewrite the context module. True when this project has functions and one was written. */
3
+ export declare function refreshFunctionsContext(cwd: string, config: SupatypeProjectConfig): boolean;
4
+ //# sourceMappingURL=functions-context-refresh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions-context-refresh.d.ts","sourceRoot":"","sources":["../src/functions-context-refresh.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAqC,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAEnG,4FAA4F;AAC5F,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAI3F"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Keep `functions/_shared/context.ts` current on a project that already exists.
3
+ *
4
+ * The module is generated by `ensureFunctionsDenoTypes`, which `init` and `supatype functions new`
5
+ * call and nothing else did. So it reached new projects and new functions, and never reached a
6
+ * project that already had functions when the two-argument handler contract landed: those keep
7
+ * `(req)` handlers with no `FunctionContext` to import, while the generated file asserts
8
+ * "Regenerated by the CLI. Edits are overwritten."
9
+ *
10
+ * A claim about a file nothing maintains is worse than no claim, because it tells people not to
11
+ * edit it and not to expect it to change.
12
+ *
13
+ * Only when the project has a functions directory: writing `_shared/` into a project that has no
14
+ * functions would create the thing it describes out of nothing.
15
+ */
16
+ import { existsSync } from "node:fs";
17
+ import { ensureFunctionsDenoTypes } from "./functions-deno-types.js";
18
+ import { preferredFunctionsPathFromProject } from "./project-config.js";
19
+ /** Rewrite the context module. True when this project has functions and one was written. */
20
+ export function refreshFunctionsContext(cwd, config) {
21
+ const functionsDir = preferredFunctionsPathFromProject(config, cwd);
22
+ if (!existsSync(functionsDir))
23
+ return false;
24
+ return ensureFunctionsDenoTypes(cwd, functionsDir).wroteContextModule;
25
+ }
26
+ //# sourceMappingURL=functions-context-refresh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions-context-refresh.js","sourceRoot":"","sources":["../src/functions-context-refresh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,EAAE,iCAAiC,EAA8B,MAAM,qBAAqB,CAAA;AAEnG,4FAA4F;AAC5F,MAAM,UAAU,uBAAuB,CAAC,GAAW,EAAE,MAA6B;IAChF,MAAM,YAAY,GAAG,iCAAiC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACnE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,KAAK,CAAA;IAC3C,OAAO,wBAAwB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,kBAAkB,CAAA;AACvE,CAAC"}
@@ -16,6 +16,15 @@ export declare function functionsDenoAmbientSource(): string;
16
16
  * directory, but `deno check` builds its own type graph and does not look at either, so a function
17
17
  * naming an ambient type fails the check the runtime itself would run. An import works in both.
18
18
  */
19
+ /**
20
+ * The `_shared/README.md` both scaffolds write.
21
+ *
22
+ * One definition because there were two, identical, as string literals in `init.ts` and
23
+ * `functions.ts`. It lives here rather than in either because this module already owns what goes
24
+ * into `_shared/`, and because the next edit to this text would otherwise change it in one scaffold
25
+ * and not the other.
26
+ */
27
+ export declare function sharedFunctionsReadmeSource(): string;
19
28
  export declare function functionsContextModuleSource(): string;
20
29
  export declare function functionsTsConfigSource(): string;
21
30
  export type FunctionsDenoTypesResult = {
@@ -1 +1 @@
1
- {"version":3,"file":"functions-deno-types.d.ts","sourceRoot":"","sources":["../src/functions-deno-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH,6DAA6D;AAC7D,wBAAgB,0BAA0B,IAAI,MAAM,CAsDnD;AAED,yFAAyF;AACzF;;;;;;GAMG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,CA6BrD;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAiBhD;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,YAAY,EAAE,OAAO,CAAA;IACrB,kBAAkB,EAAE,OAAO,CAAA;IAC3B,aAAa,EAAE,OAAO,CAAA;IACtB,WAAW,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;IACzD,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB,CAAA;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,wBAAwB,CAyC1B"}
1
+ {"version":3,"file":"functions-deno-types.d.ts","sourceRoot":"","sources":["../src/functions-deno-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH,6DAA6D;AAC7D,wBAAgB,0BAA0B,IAAI,MAAM,CAsDnD;AAED,yFAAyF;AACzF;;;;;;GAMG;AACH;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAOpD;AAED,wBAAgB,4BAA4B,IAAI,MAAM,CAmCrD;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAiBhD;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,YAAY,EAAE,OAAO,CAAA;IACrB,kBAAkB,EAAE,OAAO,CAAA;IAC3B,aAAa,EAAE,OAAO,CAAA;IACtB,WAAW,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;IACzD,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB,CAAA;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,wBAAwB,CAyC1B"}
@@ -74,6 +74,20 @@ declare namespace Deno {
74
74
  * directory, but `deno check` builds its own type graph and does not look at either, so a function
75
75
  * naming an ambient type fails the check the runtime itself would run. An import works in both.
76
76
  */
77
+ /**
78
+ * The `_shared/README.md` both scaffolds write.
79
+ *
80
+ * One definition because there were two, identical, as string literals in `init.ts` and
81
+ * `functions.ts`. It lives here rather than in either because this module already owns what goes
82
+ * into `_shared/`, and because the next edit to this text would otherwise change it in one scaffold
83
+ * and not the other.
84
+ */
85
+ export function sharedFunctionsReadmeSource() {
86
+ return ("# Shared Code\n\n" +
87
+ "Files in `_shared/` are available to all functions via relative imports.\n" +
88
+ "This directory is not deployed as a function.\n\n" +
89
+ "Example: `import { sendEmail } from '../_shared/email.ts'`\n");
90
+ }
77
91
  export function functionsContextModuleSource() {
78
92
  return `/**
79
93
  * What a function is told about the call it is serving.
@@ -85,7 +99,13 @@ export function functionsContextModuleSource() {
85
99
  *
86
100
  * Passing them in removes the global, so functions run concurrently.
87
101
  *
88
- * Regenerated by the CLI. Edits are overwritten.
102
+ * Rewritten by supatype init, supatype functions new, supatype push and supatype dev.
103
+ * Edits are overwritten.
104
+ *
105
+ * Named explicitly because "regenerated by the CLI" was true of only the first two: a project that
106
+ * already had functions when this contract arrived never received the module at all, so its
107
+ * handlers had no type to import while this line told its author the file was maintained. Say
108
+ * which commands, so the claim can be checked rather than believed.
89
109
  */
90
110
  export interface FunctionContext {
91
111
  /** Unique to this invocation. Every log line it writes carries the same value. */
@@ -1 +1 @@
1
- {"version":3,"file":"functions-deno-types.js","sourceRoot":"","sources":["../src/functions-deno-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions-deno-types.js","sourceRoot":"","sources":["../src/functions-deno-types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  export declare const SUPATYPE_GITIGNORE_MARKER = "# Supatype, local runtime (contains secrets in link.json)";
2
- export declare const SUPATYPE_GITIGNORE_BLOCK = "# Supatype, local runtime (contains secrets in link.json)\n.env\n.supatype/\nsupatype.local.config.ts\nsupatype.local.config.js\nsupatype.local.config.mjs\n";
2
+ /** The paths above, for a scaffold that composes its own `.gitignore` around them. */
3
+ export declare const SUPATYPE_GITIGNORE_PATHS: readonly string[];
4
+ export declare const SUPATYPE_GITIGNORE_BLOCK: string;
3
5
  export declare function isSupatypeGitignored(cwd: string): boolean;
4
6
  export declare function ensureSupatypeGitignore(cwd: string, opts?: {
5
7
  silent?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"gitignore.d.ts","sourceRoot":"","sources":["../src/gitignore.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,yBAAyB,8DAA8D,CAAA;AACpG,eAAO,MAAM,wBAAwB,iKAMpC,CAAA;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAKzD;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAoBzF;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAMzD"}
1
+ {"version":3,"file":"gitignore.d.ts","sourceRoot":"","sources":["../src/gitignore.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,yBAAyB,8DAA8D,CAAA;AAgCpG,sFAAsF;AACtF,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAA2B,CAAA;AAEjF,eAAO,MAAM,wBAAwB,QAEpC,CAAA;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAKzD;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAkBzF;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAMzD"}
package/dist/gitignore.js CHANGED
@@ -1,12 +1,39 @@
1
1
  import { existsSync, readFileSync, writeFileSync } from "node:fs";
2
2
  import { resolve } from "node:path";
3
3
  export const SUPATYPE_GITIGNORE_MARKER = "# Supatype, local runtime (contains secrets in link.json)";
4
+ /**
5
+ * Every path Supatype writes that holds a secret, in one place.
6
+ *
7
+ * One list because there were two emitters, this one and `init`'s own template, and they had
8
+ * already drifted apart on content. Two lists of the same thing drift again, and the half that
9
+ * drifts is discovered by a key reaching a public repository.
10
+ *
11
+ * `.env.local` and `.env.*.local` are here because `.env` does not cover them. That pattern matches
12
+ * a file named exactly `.env`, while `supatype functions new` writes `functions/.env.local` with
13
+ * "These are NOT committed to git" at the top of it, and the worker reads
14
+ * `.env.<function>.local` beside that. Verified with `git check-ignore`: under `.env` alone both
15
+ * were tracked; with these two they are ignored at any depth, and no source file is caught.
16
+ */
17
+ const SUPATYPE_IGNORED_PATHS = [
18
+ ".env",
19
+ ".env.local",
20
+ ".env.*.local",
21
+ ".supatype/",
22
+ "supatype.local.config.ts",
23
+ "supatype.local.config.js",
24
+ "supatype.local.config.mjs",
25
+ // Generated from schema/index.ts by `supatype generate`, which needs no database and no
26
+ // running stack, so a clone can always rebuild it. Listed here rather than only in the
27
+ // `init` template so projects that already exist pick it up too.
28
+ //
29
+ // The default path. A project that moves `output.client` moves this with it, and would
30
+ // need its own line: there is no pattern that follows a value from the config file.
31
+ "supatype/generated/seed.ts",
32
+ ];
33
+ /** The paths above, for a scaffold that composes its own `.gitignore` around them. */
34
+ export const SUPATYPE_GITIGNORE_PATHS = SUPATYPE_IGNORED_PATHS;
4
35
  export const SUPATYPE_GITIGNORE_BLOCK = `${SUPATYPE_GITIGNORE_MARKER}
5
- .env
6
- .supatype/
7
- supatype.local.config.ts
8
- supatype.local.config.js
9
- supatype.local.config.mjs
36
+ ${SUPATYPE_IGNORED_PATHS.join("\n")}
10
37
  `;
11
38
  export function isSupatypeGitignored(cwd) {
12
39
  const gitignorePath = resolve(cwd, ".gitignore");
@@ -25,7 +52,9 @@ export function ensureSupatypeGitignore(cwd, opts) {
25
52
  writeFileSync(gitignorePath, `${next}\n${SUPATYPE_GITIGNORE_BLOCK}`, "utf8");
26
53
  }
27
54
  else {
28
- writeFileSync(gitignorePath, `.env\nnode_modules/\ndist/\n${SUPATYPE_GITIGNORE_BLOCK}`, "utf8");
55
+ // `.env` is not repeated here: the block below already carries it, along with the
56
+ // `.env.local` patterns it does not cover.
57
+ writeFileSync(gitignorePath, `node_modules/\ndist/\n${SUPATYPE_GITIGNORE_BLOCK}`, "utf8");
29
58
  }
30
59
  if (!opts?.silent) {
31
60
  console.warn("Added .supatype/ to .gitignore (link.json contains secrets, never commit).");
@@ -1 +1 @@
1
- {"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../src/gitignore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,CAAC,MAAM,yBAAyB,GAAG,2DAA2D,CAAA;AACpG,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,yBAAyB;;;;;;CAMnE,CAAA;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;IAChD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,KAAK,CAAA;IAC5C,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IACnD,OAAO,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;AAClF,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAW,EAAE,IAA2B;IAC9E,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;IAChD,IAAI,oBAAoB,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAE1C,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;QACnD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,CAAA;QAC9D,aAAa,CAAC,aAAa,EAAE,GAAG,IAAI,KAAK,wBAAwB,EAAE,EAAE,MAAM,CAAC,CAAA;IAC9E,CAAC;SAAM,CAAC;QACN,aAAa,CACX,aAAa,EACb,+BAA+B,wBAAwB,EAAE,EACzD,MAAM,CACP,CAAA;IACH,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAA;IAC5F,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAW;IACjD,IAAI,oBAAoB,CAAC,GAAG,CAAC;QAAE,OAAM;IACrC,OAAO,CAAC,IAAI,CACV,qGAAqG,CACtG,CAAA;IACD,OAAO,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAA;AAClF,CAAC"}
1
+ {"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../src/gitignore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,CAAC,MAAM,yBAAyB,GAAG,2DAA2D,CAAA;AAEpG;;;;;;;;;;;;GAYG;AACH,MAAM,sBAAsB,GAAG;IAC7B,MAAM;IACN,YAAY;IACZ,cAAc;IACd,YAAY;IACZ,0BAA0B;IAC1B,0BAA0B;IAC1B,2BAA2B;IAC3B,wFAAwF;IACxF,uFAAuF;IACvF,iEAAiE;IACjE,EAAE;IACF,uFAAuF;IACvF,oFAAoF;IACpF,4BAA4B;CACpB,CAAA;AAEV,sFAAsF;AACtF,MAAM,CAAC,MAAM,wBAAwB,GAAsB,sBAAsB,CAAA;AAEjF,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,yBAAyB;EAClE,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;CAClC,CAAA;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;IAChD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,KAAK,CAAA;IAC5C,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IACnD,OAAO,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;AAClF,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAW,EAAE,IAA2B;IAC9E,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;IAChD,IAAI,oBAAoB,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAE1C,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;QACnD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,CAAA;QAC9D,aAAa,CAAC,aAAa,EAAE,GAAG,IAAI,KAAK,wBAAwB,EAAE,EAAE,MAAM,CAAC,CAAA;IAC9E,CAAC;SAAM,CAAC;QACN,kFAAkF;QAClF,2CAA2C;QAC3C,aAAa,CAAC,aAAa,EAAE,yBAAyB,wBAAwB,EAAE,EAAE,MAAM,CAAC,CAAA;IAC3F,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAA;IAC5F,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAW;IACjD,IAAI,oBAAoB,CAAC,GAAG,CAAC;QAAE,OAAM;IACrC,OAAO,CAAC,IAAI,CACV,qGAAqG,CACtG,CAAA;IACD,OAAO,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAA;AAClF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-generator.d.ts","sourceRoot":"","sources":["../src/hooks-generator.ts"],"names":[],"mappings":"AA2CA;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAkW/D"}
1
+ {"version":3,"file":"hooks-generator.d.ts","sourceRoot":"","sources":["../src/hooks-generator.ts"],"names":[],"mappings":"AA2CA;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAwW/D"}
@@ -64,12 +64,18 @@ export function generateHooksModule(ast) {
64
64
  // })
65
65
 
66
66
  /**
67
- * Lexical editor state as JSON, or the plain string accepted for seeds and defaults.
67
+ * Lexical editor state as JSON.
68
68
  *
69
69
  * Structural rather than imported: the precise \`SerializedEditorState\` lives in
70
70
  * \`@supatype/types/lexical\`, which a Deno function has no way to resolve.
71
+ *
72
+ * A hook writing to a rich text column may hand back a plain string instead; a trigger
73
+ * normalises it into one of these, so what a later read returns is always the document.
71
74
  */
72
- export type RichTextValue = { readonly root: { readonly children: readonly unknown[] } } | string
75
+ export type RichTextValue = { readonly root: { readonly children: readonly unknown[] } }
76
+
77
+ /** A stored file, and the bucket it went to. */
78
+ export type StorageReference = { readonly bucket: string; readonly path: string }
73
79
 
74
80
  export interface HookTables {
75
81
  ${tableEntries}
@@ -392,8 +398,17 @@ function json(body: unknown, status: number): Response {
392
398
  * column emitted a module that failed to compile in the user's editor. Caught by compiling the
393
399
  * generated file in a test rather than by a reader reporting it.
394
400
  */
401
+ /**
402
+ * The shared type names, as a Deno module can spell them.
403
+ *
404
+ * `RichText` resolves through `@supatype/types/lexical`, which a Deno function has no way to
405
+ * reach, so the module declares a structural stand-in and the generated rows point at that.
406
+ * `StorageReference` needs no import and is declared here as itself.
407
+ */
395
408
  function denoSafe(source) {
396
- return source.replaceAll('import("@supatype/types/lexical").SerializedEditorState', "RichTextValue");
409
+ return source
410
+ .replaceAll("RichText", "RichTextValue")
411
+ .replaceAll('import("@supatype/types/lexical").SerializedEditorState', "RichTextValue");
397
412
  }
398
413
  /** Re-indent a generated type literal so the emitted file reads as if it were written by hand. */
399
414
  function indent(source, spaces) {
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-generator.js","sourceRoot":"","sources":["../src/hooks-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks-generator.js","sourceRoot":"","sources":["../src/hooks-generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema-ast-v2.d.ts","sourceRoot":"","sources":["../src/schema-ast-v2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-ast-v2.d.ts","sourceRoot":"","sources":["../src/schema-ast-v2.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,15 @@ export const FIELD_KINDS = [
66
66
  "publishable",
67
67
  "softDelete",
68
68
  ];
69
+ /**
70
+ * The Postgres type each field kind maps to, as published in the AST.
71
+ *
72
+ * A contract, not a hint: consumers generate parsers and casts from it. `money` and `decimal` said
73
+ * `TEXT` here while the engine creates `NUMERIC(19,4)` and `NUMERIC`, so anyone reading this wrote
74
+ * code that rejected every value the column returns. The engine's own `default_pg_type` agreed
75
+ * with the mistake for `money`, and was already right for `decimal`, which is what made it look
76
+ * considered.
77
+ */
69
78
  const DEFAULT_DB_BY_KIND = {
70
79
  text: { pgType: "TEXT" },
71
80
  richText: { pgType: "JSONB" },
@@ -83,17 +92,17 @@ const DEFAULT_DB_BY_KIND = {
83
92
  slug: { pgType: "TEXT" },
84
93
  enum: { pgType: "TEXT" },
85
94
  json: { pgType: "JSONB" },
86
- decimal: { pgType: "TEXT" },
95
+ decimal: { pgType: "NUMERIC" },
87
96
  bytes: { pgType: "BYTEA" },
88
97
  serial: { pgType: "SERIAL" },
89
98
  bigSerial: { pgType: "BIGSERIAL" },
90
- money: { pgType: "TEXT" },
91
- ip: { pgType: "TEXT" },
92
- cidr: { pgType: "TEXT" },
93
- macaddr: { pgType: "TEXT" },
94
- xml: { pgType: "TEXT" },
95
- tsQuery: { pgType: "TEXT" },
96
- tsVector: { pgType: "TEXT" },
99
+ money: { pgType: "NUMERIC(19,4)" },
100
+ ip: { pgType: "INET" },
101
+ cidr: { pgType: "CIDR" },
102
+ macaddr: { pgType: "MACADDR" },
103
+ xml: { pgType: "XML" },
104
+ tsQuery: { pgType: "TSQUERY" },
105
+ tsVector: { pgType: "TSVECTOR" },
97
106
  color: { pgType: "TEXT" },
98
107
  array: { pgType: "ARRAY" },
99
108
  image: { pgType: "JSONB" },
@@ -1 +1 @@
1
- {"version":3,"file":"schema-ast-v2.js","sourceRoot":"","sources":["../src/schema-ast-v2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-ast-v2.js","sourceRoot":"","sources":["../src/schema-ast-v2.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Which database a seed run targets, and how that was decided.
3
+ *
4
+ * Its own file so the failure is testable without spawning anything. The failure is the
5
+ * point: the old seed template carried a hardcoded fallback DSN, so a project with no
6
+ * `.env` did not fail, it silently tried `localhost:5432` with a guessed password and
7
+ * reported a connection error that named none of the things it had looked at. Someone
8
+ * reading that has no way to tell "I have not set DATABASE_URL" from "the stack is not
9
+ * running".
10
+ *
11
+ * So every source is recorded whether it was found or not, and the error prints the lot.
12
+ */
13
+ import { type SupatypeProjectConfig } from "./project-config.js";
14
+ /** One place a connection string could have come from. */
15
+ export interface DsnSource {
16
+ /** How it would be described to the person running the command. */
17
+ name: string;
18
+ /** What was found there, or why nothing was. */
19
+ detail: string;
20
+ found: boolean;
21
+ }
22
+ export interface ResolvedDsn {
23
+ dsn: string;
24
+ /** The `name` of the source it came from. */
25
+ source: string;
26
+ /** Every source, in the order they were considered. */
27
+ tried: readonly DsnSource[];
28
+ }
29
+ /** Nothing named a database, with every source tried. */
30
+ export declare class DsnNotFound extends Error {
31
+ readonly tried: readonly DsnSource[];
32
+ constructor(tried: readonly DsnSource[]);
33
+ }
34
+ export interface ResolveOptions {
35
+ /** `--connection`, which beats everything because it was typed just now. */
36
+ connection?: string | undefined;
37
+ /**
38
+ * Whether to fall back to the DSN derived from the project name.
39
+ *
40
+ * True for a project whose database Supatype manages, where the derived value is right by
41
+ * construction. A project pointed at someone else's Postgres has no such default, and
42
+ * inventing one would send the seed to a database nobody named.
43
+ */
44
+ allowDerived?: boolean;
45
+ }
46
+ /**
47
+ * Resolve the DSN, in the order the rest of the CLI already uses.
48
+ *
49
+ * `.env` is loaded first but ranks below a real environment variable, which is how every
50
+ * other dotenv reader behaves and how Compose resolves the same names.
51
+ */
52
+ export declare function resolveSeedDsn(cwd: string, config: SupatypeProjectConfig, options?: ResolveOptions): ResolvedDsn;
53
+ /**
54
+ * A connection string with its password removed.
55
+ *
56
+ * Every one of these reaches a terminal, and often a CI log. Printing a DSN to explain where
57
+ * it came from should not be how a password ends up somewhere it is kept.
58
+ */
59
+ export declare function redact(dsn: string): string;
60
+ //# sourceMappingURL=seed-connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seed-connection.d.ts","sourceRoot":"","sources":["../src/seed-connection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAA;AAE5B,0DAA0D;AAC1D,MAAM,WAAW,SAAS;IACxB,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAA;IACZ,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,OAAO,CAAA;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,uDAAuD;IACvD,KAAK,EAAE,SAAS,SAAS,EAAE,CAAA;CAC5B;AAED,yDAAyD;AACzD,qBAAa,WAAY,SAAQ,KAAK;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE;gBAA3B,KAAK,EAAE,SAAS,SAAS,EAAE;CAQjD;AAED,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,qBAAqB,EAC7B,OAAO,GAAE,cAAmB,GAC3B,WAAW,CA4Db;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE1C"}