flingit 0.0.70 → 0.0.71

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 (185) hide show
  1. package/dist/cli/commands/cron.d.ts +1 -1
  2. package/dist/cli/commands/cron.d.ts.map +1 -1
  3. package/dist/cli/commands/cron.js +2 -2
  4. package/dist/cli/commands/cron.js.map +1 -1
  5. package/dist/cli/commands/dev.js.map +1 -1
  6. package/dist/cli/commands/email.d.ts +23 -1
  7. package/dist/cli/commands/email.d.ts.map +1 -1
  8. package/dist/cli/commands/email.js +123 -17
  9. package/dist/cli/commands/email.js.map +1 -1
  10. package/dist/cli/commands/feedback.d.ts +1 -1
  11. package/dist/cli/commands/feedback.d.ts.map +1 -1
  12. package/dist/cli/commands/feedback.js.map +1 -1
  13. package/dist/cli/commands/launch.js.map +1 -1
  14. package/dist/cli/commands/login.d.ts +1 -1
  15. package/dist/cli/commands/login.d.ts.map +1 -1
  16. package/dist/cli/commands/login.js +33 -19
  17. package/dist/cli/commands/login.js.map +1 -1
  18. package/dist/cli/commands/logout.js.map +1 -1
  19. package/dist/cli/commands/logs.d.ts +3 -4
  20. package/dist/cli/commands/logs.d.ts.map +1 -1
  21. package/dist/cli/commands/logs.js.map +1 -1
  22. package/dist/cli/commands/plugin.d.ts +2 -2
  23. package/dist/cli/commands/plugin.d.ts.map +1 -1
  24. package/dist/cli/commands/plugin.js +14 -5
  25. package/dist/cli/commands/plugin.js.map +1 -1
  26. package/dist/cli/commands/project.d.ts +20 -1
  27. package/dist/cli/commands/project.d.ts.map +1 -1
  28. package/dist/cli/commands/project.js +41 -17
  29. package/dist/cli/commands/project.js.map +1 -1
  30. package/dist/cli/commands/push.d.ts +2 -1
  31. package/dist/cli/commands/push.d.ts.map +1 -1
  32. package/dist/cli/commands/push.js +249 -87
  33. package/dist/cli/commands/push.js.map +1 -1
  34. package/dist/cli/commands/secret.d.ts.map +1 -1
  35. package/dist/cli/commands/secret.js +18 -3
  36. package/dist/cli/commands/secret.js.map +1 -1
  37. package/dist/cli/commands/signup.js.map +1 -1
  38. package/dist/cli/commands/verify.d.ts.map +1 -1
  39. package/dist/cli/commands/verify.js +8 -3
  40. package/dist/cli/commands/verify.js.map +1 -1
  41. package/dist/cli/commands/whoami.d.ts.map +1 -1
  42. package/dist/cli/commands/whoami.js +11 -2
  43. package/dist/cli/commands/whoami.js.map +1 -1
  44. package/dist/cli/commands/workflow.d.ts +1 -1
  45. package/dist/cli/commands/workflow.d.ts.map +1 -1
  46. package/dist/cli/commands/workflow.js +2 -2
  47. package/dist/cli/commands/workflow.js.map +1 -1
  48. package/dist/cli/deploy/bundler.d.ts +5 -0
  49. package/dist/cli/deploy/bundler.d.ts.map +1 -1
  50. package/dist/cli/deploy/bundler.js +29 -0
  51. package/dist/cli/deploy/bundler.js.map +1 -1
  52. package/dist/cli/index.d.ts +51 -1
  53. package/dist/cli/index.d.ts.map +1 -1
  54. package/dist/cli/index.js +71 -10
  55. package/dist/cli/index.js.map +1 -1
  56. package/dist/cli/utils/cli-io-impl.d.ts.map +1 -1
  57. package/dist/cli/utils/cli-io-impl.js +1 -1
  58. package/dist/cli/utils/cli-io-impl.js.map +1 -1
  59. package/dist/cli/utils/cli-io.d.ts +15 -5
  60. package/dist/cli/utils/cli-io.d.ts.map +1 -1
  61. package/dist/cli/utils/config.d.ts +22 -0
  62. package/dist/cli/utils/config.d.ts.map +1 -1
  63. package/dist/cli/utils/config.js +26 -0
  64. package/dist/cli/utils/config.js.map +1 -1
  65. package/dist/cli/utils/create-project.d.ts +58 -0
  66. package/dist/cli/utils/create-project.d.ts.map +1 -0
  67. package/dist/cli/utils/create-project.js +77 -0
  68. package/dist/cli/utils/create-project.js.map +1 -0
  69. package/dist/cli/utils/environment.d.ts +1 -1
  70. package/dist/cli/utils/environment.d.ts.map +1 -1
  71. package/dist/cli/utils/format.js.map +1 -1
  72. package/dist/cli/utils/node-version.js.map +1 -1
  73. package/dist/cli/utils/project-name.js.map +1 -1
  74. package/dist/cli/utils/prompt-new-project.d.ts +2 -2
  75. package/dist/cli/utils/prompt-new-project.d.ts.map +1 -1
  76. package/dist/cli/utils/prompt-new-project.js.map +1 -1
  77. package/dist/cli/utils/retry.d.ts +20 -2
  78. package/dist/cli/utils/retry.d.ts.map +1 -1
  79. package/dist/cli/utils/retry.js +37 -12
  80. package/dist/cli/utils/retry.js.map +1 -1
  81. package/dist/repo-shared/constants.d.ts.map +1 -1
  82. package/dist/repo-shared/cost.d.ts +13 -0
  83. package/dist/repo-shared/cost.d.ts.map +1 -1
  84. package/dist/repo-shared/cost.js.map +1 -1
  85. package/dist/repo-shared/deploy-protocol.d.ts +34 -0
  86. package/dist/repo-shared/deploy-protocol.d.ts.map +1 -0
  87. package/dist/repo-shared/deploy-protocol.js +168 -0
  88. package/dist/repo-shared/deploy-protocol.js.map +1 -0
  89. package/dist/repo-shared/package-metadata.js +1 -1
  90. package/dist/repo-shared/package-metadata.js.map +1 -1
  91. package/dist/repo-shared/slug-validation.d.ts.map +1 -1
  92. package/dist/repo-shared/slug-validation.js +7 -0
  93. package/dist/repo-shared/slug-validation.js.map +1 -1
  94. package/dist/runtime/auth.d.ts.map +1 -1
  95. package/dist/runtime/auth.js +2 -1
  96. package/dist/runtime/auth.js.map +1 -1
  97. package/dist/runtime/db.d.ts.map +1 -1
  98. package/dist/runtime/discord.d.ts.map +1 -1
  99. package/dist/runtime/email-send.d.ts.map +1 -1
  100. package/dist/runtime/entry.js.map +1 -1
  101. package/dist/runtime/log.d.ts.map +1 -1
  102. package/dist/runtime/log.js.map +1 -1
  103. package/dist/runtime/secrets.d.ts.map +1 -1
  104. package/dist/runtime/slack.d.ts.map +1 -1
  105. package/dist/runtime/storage.js +1 -1
  106. package/dist/runtime/storage.js.map +1 -1
  107. package/dist/shared/non-json-response.d.ts +90 -0
  108. package/dist/shared/non-json-response.d.ts.map +1 -0
  109. package/dist/shared/non-json-response.js +211 -0
  110. package/dist/shared/non-json-response.js.map +1 -0
  111. package/dist/worker-runtime/auth.d.ts.map +1 -1
  112. package/dist/worker-runtime/auth.js +59 -18
  113. package/dist/worker-runtime/auth.js.map +1 -1
  114. package/dist/worker-runtime/d1-event-store.d.ts.map +1 -1
  115. package/dist/worker-runtime/discord.d.ts.map +1 -1
  116. package/dist/worker-runtime/email-send.d.ts.map +1 -1
  117. package/dist/worker-runtime/entry-extract.d.ts +38 -6
  118. package/dist/worker-runtime/entry-extract.d.ts.map +1 -1
  119. package/dist/worker-runtime/entry-extract.js +30 -18
  120. package/dist/worker-runtime/entry-extract.js.map +1 -1
  121. package/dist/worker-runtime/entry.d.ts +1 -0
  122. package/dist/worker-runtime/entry.d.ts.map +1 -1
  123. package/dist/worker-runtime/entry.js +89 -1
  124. package/dist/worker-runtime/entry.js.map +1 -1
  125. package/dist/worker-runtime/index.d.ts.map +1 -1
  126. package/dist/worker-runtime/slack.d.ts.map +1 -1
  127. package/dist/worker-runtime/types.d.ts +2 -0
  128. package/dist/worker-runtime/types.d.ts.map +1 -1
  129. package/dist/workflow/runtime.d.ts +22 -1
  130. package/dist/workflow/runtime.d.ts.map +1 -1
  131. package/dist/workflow/runtime.js +25 -16
  132. package/dist/workflow/runtime.js.map +1 -1
  133. package/node_modules/better-sqlite3/deps/defines.gypi +1 -0
  134. package/node_modules/better-sqlite3/deps/download.sh +2 -1
  135. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.c +7696 -4295
  136. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.h +482 -103
  137. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3ext.h +10 -1
  138. package/node_modules/better-sqlite3/package.json +3 -3
  139. package/node_modules/better-sqlite3/src/better_sqlite3.cpp +1 -1
  140. package/node_modules/better-sqlite3/src/util/helpers.cpp +1 -1
  141. package/node_modules/better-sqlite3/src/util/macros.cpp +8 -1
  142. package/node_modules/flingflow/biome.json +15 -0
  143. package/node_modules/flingflow/dist/backoff.js +1 -1
  144. package/node_modules/flingflow/dist/backoff.js.map +1 -1
  145. package/node_modules/flingflow/dist/engine.js +0 -1
  146. package/node_modules/flingflow/dist/engine.js.map +1 -1
  147. package/node_modules/flingflow/dist/store-memory.js +0 -1
  148. package/node_modules/flingflow/dist/store-memory.js.map +1 -1
  149. package/node_modules/flingflow/dist/store-sqlite.js +0 -1
  150. package/node_modules/flingflow/dist/store-sqlite.js.map +1 -1
  151. package/node_modules/flingflow/dist/stress.js +7 -8
  152. package/node_modules/flingflow/dist/stress.js.map +1 -1
  153. package/node_modules/flingflow/dist/transitions.js.map +1 -1
  154. package/node_modules/flingflow/package.json +7 -10
  155. package/node_modules/flingflow/src/backoff.ts +1 -1
  156. package/node_modules/flingflow/src/engine.ts +1 -2
  157. package/node_modules/flingflow/src/store-memory.ts +0 -1
  158. package/node_modules/flingflow/src/store-sqlite.ts +0 -1
  159. package/node_modules/flingflow/src/stress.ts +9 -10
  160. package/node_modules/flingflow/test/engine.test.ts +16 -15
  161. package/node_modules/flingflow/test/recovery.test.ts +5 -4
  162. package/node_modules/flingflow/test/simulation.test.ts +21 -20
  163. package/node_modules/flingflow/test/store-conformance.ts +25 -21
  164. package/node_modules/flingflow/tsconfig.typecheck.json +1 -1
  165. package/node_modules/semver/README.md +22 -6
  166. package/node_modules/semver/bin/semver.js +15 -11
  167. package/node_modules/semver/classes/range.js +24 -4
  168. package/node_modules/semver/classes/semver.js +19 -2
  169. package/node_modules/semver/functions/diff.js +1 -1
  170. package/node_modules/semver/functions/truncate.js +48 -0
  171. package/node_modules/semver/index.js +2 -0
  172. package/node_modules/semver/internal/re.js +3 -3
  173. package/node_modules/semver/package.json +4 -4
  174. package/node_modules/semver/range.bnf +5 -4
  175. package/node_modules/semver/ranges/subset.js +3 -3
  176. package/package.json +36 -32
  177. package/templates/default/dot-claude/skills/fling/.hash +1 -1
  178. package/templates/default/dot-claude/skills/fling/SKILL.md +0 -1
  179. package/templates/default/package.json +9 -9
  180. package/dist/cli/commands/tunnel.d.ts +0 -41
  181. package/dist/cli/commands/tunnel.d.ts.map +0 -1
  182. package/dist/cli/commands/tunnel.js +0 -211
  183. package/dist/cli/commands/tunnel.js.map +0 -1
  184. package/node_modules/flingflow/eslint.config.js +0 -94
  185. package/node_modules/flingflow/tsconfig.lint.json +0 -5
@@ -12,13 +12,89 @@ import { hasWorkerEntry, isFlingProject } from "../utils/project.js";
12
12
  import { getProjectName } from "../utils/project-name.js";
13
13
  import { loadLocalSecrets } from "./secret.js";
14
14
  import { withRetry } from "../utils/retry.js";
15
+ import { readCreateProjectResponse, shouldRetryProjectCreation, } from "../utils/create-project.js";
15
16
  import { bundleForPlatform } from "../deploy/bundler.js";
16
17
  import { checkForUpdates, } from "../utils/version-check.js";
17
18
  import { collectAssets, buildManifest, validateAssetSizes, } from "../deploy/assets.js";
18
19
  import { createBucketUploadStream } from "../deploy/bucket-stream.js";
19
20
  import { consoleIO, processIO, fileIOWithRead, projectFileDeps, projectNameFileDeps, registryDeps } from "../utils/cli-io-impl.js";
20
21
  import { checkAndWarnDuplicateNames } from "../utils/duplicate-check.js";
22
+ import { encodeDeployV2Envelope, isValidSecretName, validateDeploySecrets, } from "#repo-shared/deploy-protocol";
23
+ import { parseJsonBody } from "../../shared/non-json-response.js";
21
24
  const __dirname = dirname(fileURLToPath(import.meta.url));
25
+ /**
26
+ * Escape a value the way `JSON.stringify` would, without the surrounding
27
+ * quotes: a newline becomes `\n`, a quote becomes `\"`.
28
+ *
29
+ * Every secrets-bearing request this file makes sends JSON — `{"value": ...}`
30
+ * for a secret, the deploy envelope's manifest — so an intermediary that echoes
31
+ * the request back emits the *escaped* form, which a matcher holding the raw
32
+ * value does not recognise. Both forms therefore go into the redaction set.
33
+ */
34
+ function jsonEscape(value) {
35
+ const encoded = JSON.stringify(value);
36
+ return encoded.slice(1, -1);
37
+ }
38
+ /**
39
+ * Build a function that replaces every given secret — in raw and JSON-escaped
40
+ * form — with `[REDACTED]`.
41
+ *
42
+ * Longest first, so a secret that contains a shorter one is replaced whole:
43
+ * replacing the short one first would leave the remainder of the long one in
44
+ * the clear. Empty values are dropped; they would match everywhere.
45
+ */
46
+ function createSecretRedactor(values) {
47
+ const variants = [
48
+ ...new Set(values.flatMap((value) => [value, jsonEscape(value)]).filter(Boolean)),
49
+ ].sort((left, right) => right.length - left.length);
50
+ return (text) => {
51
+ let redacted = text;
52
+ for (const variant of variants) {
53
+ redacted = redacted.split(variant).join("[REDACTED]");
54
+ }
55
+ return redacted;
56
+ };
57
+ }
58
+ /**
59
+ * A platform response parsed *tolerantly*: an unparseable body yields
60
+ * `result: null` plus the diagnostic `parseJsonBody` would have thrown.
61
+ *
62
+ * Used only where a body that is not JSON must not abort the caller — the
63
+ * deploy path branches on the response's *status* before it can trust any body
64
+ * (a 422 is a permanent validation failure whatever came back, and must stay
65
+ * non-retryable), and a failed Discord registration is only warned about. The
66
+ * strict `parseJsonBody` is the default everywhere else.
67
+ *
68
+ * The point of returning the diagnostic rather than discarding it (issue #379):
69
+ * these call sites used to swallow the status and body of an HTML error page
70
+ * and report "Deployment failed with HTTP 404" or "invalid JSON response",
71
+ * telling whoever reads the output nothing about what actually arrived.
72
+ *
73
+ * `redact` is applied to the response body *before* it is summarized into the
74
+ * message, which is the only point at which a secret is still there to match:
75
+ * afterwards its newlines are spaces and it may have been cut by the 200-char
76
+ * truncation, so a matcher for the value finds nothing while the material
77
+ * remains in the text (review of #379). Callers whose request carried no secret
78
+ * omit it.
79
+ *
80
+ * The audience is hardcoded to `"user"`: this file is the user-facing CLI, whose
81
+ * reader has no ADMIN_KEY. A copy of this helper anywhere else would have to
82
+ * take the audience as a parameter.
83
+ */
84
+ async function parseJsonBodyTolerantly(response, redact) {
85
+ try {
86
+ return { result: await parseJsonBody(response, "user", redact), parseError: null };
87
+ }
88
+ catch (error) {
89
+ return { result: null, parseError: error instanceof Error ? error.message : String(error) };
90
+ }
91
+ }
92
+ function shellQuote(value) {
93
+ return `'${value.replaceAll("'", `'\\''`)}'`;
94
+ }
95
+ class NonRetryableDeployError extends Error {
96
+ name = "NonRetryableDeployError";
97
+ }
22
98
  // ═══════════════════════════════════════════════════════
23
99
  // DEFAULT IMPLEMENTATIONS
24
100
  // ═══════════════════════════════════════════════════════
@@ -75,6 +151,7 @@ export function createDefaultPushDeps() {
75
151
  hasWorkerEntry: (cwd) => hasWorkerEntry(cwd, projectFileDeps),
76
152
  getProjectName: (cwd) => getProjectName(projectNameFileDeps, () => process.cwd(), cwd),
77
153
  loadLocalSecrets,
154
+ generateDeployRevision: () => crypto.randomUUID(),
78
155
  bundleForPlatform,
79
156
  collectAssets,
80
157
  buildManifest,
@@ -93,8 +170,7 @@ export const defaultPushDeps = createDefaultPushDeps();
93
170
  * Sync local secrets to production.
94
171
  * Reads from .fling/secrets and uploads to the platform API.
95
172
  */
96
- async function syncSecrets(verbose, deps) {
97
- const secrets = deps.loadLocalSecrets();
173
+ async function syncSecrets(secrets, verbose, deps) {
98
174
  if (secrets.size === 0) {
99
175
  if (verbose) {
100
176
  deps.console.log("[verbose] No secrets to sync");
@@ -114,8 +190,21 @@ async function syncSecrets(verbose, deps) {
114
190
  body: JSON.stringify({ value }),
115
191
  });
116
192
  if (!response.ok) {
117
- const data = (await response.json());
118
- throw new Error(`Failed to sync secret ${key}: ${data.error ?? `API error: ${response.status}`}`);
193
+ // Tolerant rather than strict, uniquely here: a thrown parse error
194
+ // would carry a prefix of the response body past the redaction below,
195
+ // and this request's body is a secret value. Routed through the same
196
+ // redactor as the platform's own text, an HTML error page from a
197
+ // rolling-out worker reports its status and body with the secret
198
+ // stripped, instead of the engine's context-free SyntaxError (#379).
199
+ //
200
+ // The redactor runs twice, and both are needed: once on the raw body
201
+ // inside the parse, where a multi-line or truncation-straddling
202
+ // secret is still matchable, and once on the finished message, which
203
+ // is where the platform's own `error` string arrives.
204
+ const redactSecret = createSecretRedactor([value]);
205
+ const { result, parseError } = await parseJsonBodyTolerantly(response, redactSecret);
206
+ const providerMessage = result?.error ?? parseError ?? `API error: ${response.status}`;
207
+ throw new Error(`Failed to sync secret ${key}: ${redactSecret(providerMessage)}`);
119
208
  }
120
209
  }, { label: `Secret sync (${key})`, verbose });
121
210
  }
@@ -214,7 +303,11 @@ async function uploadAssets(assets, verbose, deps) {
214
303
  const err = await sessionRes.text();
215
304
  throw new Error(err);
216
305
  }
217
- return (await sessionRes.json());
306
+ // parseJsonBody, not response.json(): an HTML error page from a
307
+ // rolling-out worker reports its status and a body prefix instead of the
308
+ // engine's "Unexpected token '<'" (issue #379). Retryable either way —
309
+ // this block retries every failure — but now diagnosable.
310
+ return await parseJsonBody(sessionRes, "user");
218
311
  }, { label: "Asset upload session", verbose });
219
312
  if (verbose) {
220
313
  deps.console.log(`[verbose] Upload session created, ${buckets.length} bucket(s) to upload`);
@@ -252,7 +345,7 @@ async function uploadAssets(assets, verbose, deps) {
252
345
  const err = await uploadRes.text();
253
346
  throw new Error(err);
254
347
  }
255
- const result = (await uploadRes.json());
348
+ const result = await parseJsonBody(uploadRes, "user");
256
349
  if (!result.ok) {
257
350
  throw new Error(result.error ?? "Unknown error");
258
351
  }
@@ -275,14 +368,33 @@ async function uploadAssets(assets, verbose, deps) {
275
368
  async function deployViaPlatform(projectDir, verbose, deps) {
276
369
  // Get project name from local package.json (defaults to "default" for backwards compatibility)
277
370
  const projectName = deps.getProjectName(projectDir);
371
+ // Reject legacy or manually edited local files before any remote request,
372
+ // project creation, asset upload, or plugin mutation can occur.
373
+ const localSecrets = deps.loadLocalSecrets();
374
+ const invalidSecretName = [...localSecrets.keys()].find((name) => !isValidSecretName(name));
375
+ if (invalidSecretName) {
376
+ throw new Error(`Secret name ${shellQuote(invalidSecretName)} is invalid or reserved and cannot be deployed. Remove it with: fling secret remove -- ${shellQuote(invalidSecretName)}`);
377
+ }
378
+ try {
379
+ validateDeploySecrets(Object.fromEntries(localSecrets));
380
+ }
381
+ catch (error) {
382
+ const message = error instanceof Error ? error.message : "Local secrets are not deployable";
383
+ throw new Error(`${message}. Fix the local file with 'fling secret set' or 'fling secret remove'.`);
384
+ }
278
385
  // Fetch user info (needed for asset hashing)
279
386
  const meData = await deps.withRetry(async () => {
280
387
  const meRes = await deps.platformFetch("/me");
388
+ // One parse for both branches — a response body can only be read once —
389
+ // and a strict one: an unparseable body used to be discarded here, so a
390
+ // rolling-out worker's HTML 500 was reported as the bare "Failed to fetch
391
+ // user info", with neither the status nor a hint of what came back
392
+ // (issue #379). Every failure in this block is retried either way.
393
+ const meData = await parseJsonBody(meRes, "user");
281
394
  if (!meRes.ok) {
282
- const errData = (await meRes.json().catch(() => ({})));
283
- throw new Error(errData.error ?? "Failed to fetch user info");
395
+ throw new Error(meData.error ?? "Failed to fetch user info");
284
396
  }
285
- return (await meRes.json());
397
+ return meData;
286
398
  }, { label: "Fetch user info", verbose });
287
399
  const userId = meData.user.id;
288
400
  // Find the matching project (if it exists) for base path detection
@@ -301,13 +413,12 @@ async function deployViaPlatform(projectDir, verbose, deps) {
301
413
  const createRes = await deps.platformFetch(`/project/${encodeURIComponent(projectName)}`, {
302
414
  method: "POST",
303
415
  });
304
- // 201 = created, 409 = already exists (both are fine)
305
- if (createRes.ok || createRes.status === 409) {
306
- return (await createRes.json());
307
- }
308
- const errorData = await createRes.json().catch(() => ({ error: "Unknown error" }));
309
- throw new Error(`Failed to create project: ${errorData.error ?? `HTTP ${createRes.status}`}`);
310
- }, { label: "Create project", verbose });
416
+ // 201 = created, 409-with-a-slug = already exists (both are fine).
417
+ // A 423 means the name is still locked by the previous project's
418
+ // cleanup; retrying that one is what makes "takedown, then push" work
419
+ // instead of failing on an unrelated 404 later.
420
+ return readCreateProjectResponse(createRes);
421
+ }, { label: "Create project", verbose, shouldRetry: shouldRetryProjectCreation });
311
422
  projectUrl = createData.url;
312
423
  projectSlug = createData.slug;
313
424
  if (verbose) {
@@ -407,85 +518,129 @@ async function deployViaPlatform(projectDir, verbose, deps) {
407
518
  }
408
519
  // Step 4: Deploy via API
409
520
  deps.console.log("\nDeploying to Fling platform...\n");
410
- const data = await deps.withRetry(async () => {
411
- let response;
412
- if (wasmModules.length > 0) {
413
- // New format: multi-part deployment with WASM modules
414
- // Build parts list: worker.js followed by WASM modules
415
- const parts = [];
416
- // Part 1: JavaScript code
417
- const codeBytes = new TextEncoder().encode(code);
418
- parts.push({ name: "worker.js", content: codeBytes });
419
- // Part 2+: WASM modules
420
- for (const mod of wasmModules) {
421
- const name = mod.importPath.replace("./", ""); // Remove './' prefix
422
- parts.push({ name, content: mod.content });
521
+ // Keep one revision/envelope stable across transport retries.
522
+ const revision = deps.generateDeployRevision();
523
+ const codeBytes = new TextEncoder().encode(code);
524
+ const deployParts = [
525
+ { name: "worker.js", content: codeBytes },
526
+ ...wasmModules.map((module) => ({ name: module.importPath.replace("./", ""), content: module.content })),
527
+ ];
528
+ const codeBodyLength = deployParts.reduce((sum, part) => sum + part.content.length, 0);
529
+ const codeBody = new Uint8Array(codeBodyLength);
530
+ let bodyOffset = 0;
531
+ for (const part of deployParts) {
532
+ codeBody.set(part.content, bodyOffset);
533
+ bodyOffset += part.content.length;
534
+ }
535
+ const secrets = Object.fromEntries(localSecrets);
536
+ const manifest = {
537
+ version: 2,
538
+ revision,
539
+ codeSize: codeBody.length,
540
+ secrets,
541
+ ...(wasmModules.length > 0 ? { parts: deployParts.map((part) => ({ name: part.name, size: part.content.length })) } : {}),
542
+ ...(assetsJwt ? { assetsJwt } : {}),
543
+ // Always sent, even when empty: the manifest is the authoritative list of
544
+ // this deployment's cron jobs, so `{}` tells the platform to remove every
545
+ // cron job the project previously registered.
546
+ cronSchedules,
547
+ };
548
+ const envelope = encodeDeployV2Envelope(manifest, codeBody);
549
+ /**
550
+ * Strip anything secret from text about the deploy request.
551
+ *
552
+ * The request body is the v2 envelope — every local secret plus the assets
553
+ * JWT — so any text derived from the response can echo one back. That was
554
+ * true of the platform's own `error` string before, and is now true of the
555
+ * non-JSON body prefix too, so the redaction is a function every failure
556
+ * branch calls rather than a loop inside one of them (review on #379).
557
+ *
558
+ * It is applied to the *raw* body inside the parse as well as to the finished
559
+ * message, because the body summary destroys exactly what the match needs:
560
+ * see `parseJsonBodyTolerantly`.
561
+ */
562
+ const redactSecrets = createSecretRedactor([...localSecrets.values(), assetsJwt ?? ""]);
563
+ const deployment = await deps.withRetry(async () => {
564
+ let usedLegacy = false;
565
+ let response = await deps.platformFetch(`/project/${encodeURIComponent(projectName)}/deploy/v2`, {
566
+ method: "POST",
567
+ headers: { "Content-Type": "application/vnd.fling.deploy-v2" },
568
+ body: envelope,
569
+ });
570
+ let { result, parseError } = await parseJsonBodyTolerantly(response, redactSecrets);
571
+ // Fall back only for the exact JSON response emitted by an older Hono
572
+ // app with no v2 route. A transient Cloudflare HTML 404 must never cause
573
+ // a second, non-atomic deployment.
574
+ if (response.status === 404 &&
575
+ result?.error === "Not found" &&
576
+ Object.keys(result).length === 1) {
577
+ usedLegacy = true;
578
+ const headers = {};
579
+ let legacyBody;
580
+ if (wasmModules.length > 0) {
581
+ headers["Content-Type"] = "application/octet-stream";
582
+ headers["X-Deploy-Parts"] = deployParts.map((part) => `${part.name}:${part.content.length}`).join(",");
583
+ legacyBody = codeBody;
423
584
  }
424
- // Build X-Deploy-Parts header: "worker.js:123456,wasm-abc.wasm:2345678"
425
- const partsHeader = parts.map((p) => `${p.name}:${p.content.length}`).join(",");
426
- // Concatenate all parts into single body
427
- const totalSize = parts.reduce((sum, p) => sum + p.content.length, 0);
428
- const body = new Uint8Array(totalSize);
429
- let offset = 0;
430
- for (const part of parts) {
431
- body.set(part.content, offset);
432
- offset += part.content.length;
585
+ else {
586
+ headers["Content-Type"] = "text/javascript";
587
+ headers["X-Code-Size"] = String(codeBytes.length);
588
+ legacyBody = code;
433
589
  }
434
- const headers = {
435
- "Content-Type": "application/octet-stream",
436
- "X-Deploy-Parts": partsHeader,
437
- };
438
- // Include assets JWT if we uploaded assets
439
- if (assetsJwt) {
590
+ if (assetsJwt)
440
591
  headers["X-Assets-Jwt"] = assetsJwt;
441
- }
442
- // Include cron schedules if any
443
- if (cronCount > 0) {
592
+ if (cronCount > 0)
444
593
  headers["X-Cron-Schedules"] = JSON.stringify(cronSchedules);
445
- }
446
- if (verbose) {
447
- deps.console.log("[verbose] Using multi-part deployment with WASM");
448
- deps.console.log(`[verbose] X-Deploy-Parts: ${partsHeader}`);
449
- }
450
594
  response = await deps.platformFetch(`/project/${encodeURIComponent(projectName)}/deploy`, {
451
595
  method: "POST",
452
596
  headers,
453
- body,
597
+ body: legacyBody,
454
598
  });
599
+ ({ result, parseError } = await parseJsonBodyTolerantly(response, redactSecrets));
455
600
  }
456
- else {
457
- // Legacy format: text/javascript with X-Code-Size (backwards compatible)
458
- // Use Buffer.byteLength for accurate byte count (handles multi-byte UTF-8 chars)
459
- const codeByteLength = Buffer.byteLength(code, "utf-8");
460
- const headers = {
461
- "Content-Type": "text/javascript",
462
- "X-Code-Size": String(codeByteLength),
463
- };
464
- // Include assets JWT if we uploaded assets
465
- if (assetsJwt) {
466
- headers["X-Assets-Jwt"] = assetsJwt;
467
- }
468
- // Include cron schedules if any
469
- if (cronCount > 0) {
470
- headers["X-Cron-Schedules"] = JSON.stringify(cronSchedules);
471
- }
472
- response = await deps.platformFetch(`/project/${encodeURIComponent(projectName)}/deploy`, {
473
- method: "POST",
474
- headers,
475
- body: code,
476
- });
477
- }
478
- const result = (await response.json());
479
601
  if (!response.ok) {
480
- throw new Error(result.error ?? "Deployment failed");
602
+ // The platform's own message when it sent one, else the non-JSON
603
+ // diagnostic (status + body prefix + next steps), else the status
604
+ // alone — redacted, so neither an error string echoing a secret nor a
605
+ // body prefix containing one can escape.
606
+ const message = redactSecrets(result?.error ?? parseError ?? `Deployment failed with HTTP ${response.status}`);
607
+ throw response.status === 422
608
+ ? new NonRetryableDeployError(message)
609
+ : new Error(message);
610
+ }
611
+ if (!result) {
612
+ // A 2xx whose body is not JSON: the deployment may or may not have
613
+ // happened, so this stays a retryable failure — but it now says what
614
+ // came back instead of only that it was invalid. Redacted like the
615
+ // branch above: this body is just as capable of echoing the envelope's
616
+ // secrets back, and a 2xx is no guarantee that it did not.
617
+ //
618
+ // Belt and braces here, unlike above: `parseError` is the only variable
619
+ // text this message has, and the parse already redacted the body it
620
+ // came from. The branch above also carries `result.error`, which comes
621
+ // from a body that *did* parse and so never met `redactBody` — there,
622
+ // this call is the only thing standing between a secret the platform
623
+ // echoed and the terminal.
624
+ throw new Error(redactSecrets(`Deployment returned an invalid JSON response. ${parseError ?? ""}`.trimEnd()));
481
625
  }
482
- return result;
483
- }, { label: "Deploy", verbose });
626
+ return { result, usedLegacy };
627
+ }, {
628
+ label: "Deploy",
629
+ verbose,
630
+ shouldRetry: (error) => !(error instanceof NonRetryableDeployError),
631
+ });
632
+ const data = deployment.result;
633
+ // A legacy platform cannot accept inline secrets, so retain the old sync only
634
+ // for the exact-404 compatibility path. The already-loaded map is reused.
635
+ if (deployment.usedLegacy) {
636
+ deps.console.warn("Warning: This platform does not support atomic code-and-secret deployment. Falling back to legacy secret sync; upgrade the platform to eliminate the rollout race.");
637
+ await syncSecrets(localSecrets, verbose, deps);
638
+ }
484
639
  deps.console.log("Deployed successfully!");
485
640
  deps.console.log(`URL: ${data.url}`);
486
641
  deps.console.log(`Version: ${data.version}`);
642
+ deps.console.log(`Revision: ${data.revision ?? revision}`);
487
643
  deps.console.log("");
488
- // Show tip about customizing slug on first deploy or for auto-generated slugs
489
644
  const urlSlug = data.url?.split("//")[1]?.split(".")[0];
490
645
  const isAutoGeneratedSlug = urlSlug?.startsWith("proj-");
491
646
  const isFirstDeploy = data.version === 1;
@@ -493,8 +648,6 @@ async function deployViaPlatform(projectDir, verbose, deps) {
493
648
  deps.console.log("Tip: Want a custom URL? Run: fling project slug:set my-custom-slug");
494
649
  deps.console.log("");
495
650
  }
496
- // Step 5: Sync secrets to production
497
- await syncSecrets(verbose, deps);
498
651
  // Step 6: Register Discord slash commands (non-fatal)
499
652
  if (discordCommands.length > 0) {
500
653
  try {
@@ -507,11 +660,20 @@ async function deployViaPlatform(projectDir, verbose, deps) {
507
660
  headers: { "Content-Type": "application/json", "X-Project-Name": projectName },
508
661
  body: JSON.stringify({ commands: discordCommands }),
509
662
  });
663
+ // Tolerant: registration is best-effort — its outcome is warned
664
+ // about, never fatal — so the platform's own `error` string, when it
665
+ // sent one, must still win over the fact that the body did not
666
+ // parse. The diagnostic is used when there is no better message, so a
667
+ // plugin worker serving an error page no longer degrades to a bare
668
+ // "Unknown error" (issue #379).
669
+ const { result, parseError } = await parseJsonBodyTolerantly(deployRes);
510
670
  if (deployRes.ok) {
511
- return (await deployRes.json());
671
+ if (!result) {
672
+ throw new Error(parseError ?? `HTTP ${deployRes.status}`);
673
+ }
674
+ return result;
512
675
  }
513
- const err = await deployRes.json().catch(() => ({ error: "Unknown error" }));
514
- throw new Error(err.error ?? `HTTP ${deployRes.status}`);
676
+ throw new Error(result?.error ?? parseError ?? `HTTP ${deployRes.status}`);
515
677
  }, { label: "Discord command registration", verbose, maxAttempts: 3 });
516
678
  for (const msg of result.messages ?? []) {
517
679
  deps.console.log(msg);
@@ -585,8 +747,8 @@ What it does:
585
747
  1. Builds frontend with Vite (outputs to dist/client/)
586
748
  2. Uploads static assets from dist/client/
587
749
  3. Bundles your backend code with esbuild
588
- 4. Deploys to Cloudflare Workers
589
- 5. Syncs secrets from .fling/secrets to production
750
+ 4. Atomically deploys code and local secrets to Cloudflare Workers
751
+ 5. Verifies the deployed revision and secret bindings through the runtime
590
752
 
591
753
  Static assets:
592
754
  Vite outputs to dist/client/ automatically.
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/cli/commands/push.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,KAAK,EAAwC,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,IAAI,eAAe,EAAwB,MAAM,oBAAoB,CAAC;AACrH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAqB,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAqB,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EACL,eAAe,GAEhB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,aAAa,EACb,aAAa,EACb,kBAAkB,GAGnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACnI,OAAO,EAAE,0BAA0B,EAA6B,MAAM,6BAA6B,CAAC;AAGpG,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AA6C1D,0DAA0D;AAC1D,0BAA0B;AAC1B,0DAA0D;AAE1D;;;GAGG;AACH,SAAS,sBAAsB;IAC7B,OAAO;QACL,iBAAiB,EAAE,GAAG,EAAE;YACtB,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;YAC1E,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAE5D,CAAC;gBACF,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QACD,kBAAkB,EAAE,KAAK,IAAI,EAAE;YAC7B,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;gBACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC9B,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,CAAC,EAAE,IAAI,CAAC,CAAC;gBAET,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,2CAA2C,EAC3C,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAC9B,CAAC;gBAEF,YAAY,CAAC,OAAO,CAAC,CAAC;gBAEtB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAyB,CAAC;gBAC7D,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,MAAM,gBAAgB,GAAuB;QAC3C,QAAQ,EAAE,YAAY;QACtB,qBAAqB,EAAE,CAAC,IAAY,EAAE,EAAE,CACtC,cAAc,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC;KACjE,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,cAAc;QACpB,KAAK;QACL,aAAa;QACb,WAAW,EAAE,eAAe;QAC5B,UAAU;QACV,cAAc,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,eAAe,CAAC;QACrE,cAAc,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,eAAe,CAAC;QACrE,cAAc,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,cAAc,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC;QAC/F,gBAAgB;QAChB,iBAAiB;QACjB,aAAa;QACb,aAAa;QACb,kBAAkB;QAClB,sBAAsB;QACtB,eAAe;QACf,mBAAmB,EAAE,CAAC,GAAW,EAAE,EAAE,CACnC,0BAA0B,CAAC,GAAG,EAAE,gBAAgB,EAAE,SAAS,CAAC;QAC9D,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,qBAAqB,EAAE,CAAC;AAEvD,0DAA0D;AAC1D,2BAA2B;AAC3B,0DAA0D;AAE1D;;;GAGG;AACH,KAAK,UAAU,WAAW,CAAC,OAAgB,EAAE,IAAc;IACzD,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAExC,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QACnD,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,IAAI,UAAU,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAEtF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACnC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,MAAM,IAAI,CAAC,SAAS,CAClB,KAAK,IAAI,EAAE;YACT,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,kBAAkB,CAAC,WAAW,CAAC,YAAY,GAAG,EAAE,EAAE;gBACtG,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;aAChC,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAuB,CAAC;gBAC3D,MAAM,IAAI,KAAK,CACb,yBAAyB,GAAG,KAAK,IAAI,CAAC,KAAK,IAAI,cAAc,QAAQ,CAAC,MAAM,EAAE,EAAE,CACjF,CAAC;YACJ,CAAC;QACH,CAAC,EACD,EAAE,KAAK,EAAE,gBAAgB,GAAG,GAAG,EAAE,OAAO,EAAE,CAC3C,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,YAAY,CACzB,UAAkB,EAClB,OAAgB,EAChB,IAAc,EACd,QAAiB;IAEjB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAErD,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IACpC,IAAI,QAAQ,EAAE,CAAC;QACb,GAAG,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;QAC5B,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,QAAQ,yBAAyB,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;YAChD,GAAG,EAAE,UAAU;YACf,GAAG;YACH,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SACxD,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACxC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACxC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE;YACjD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,CACJ,IAAI,KAAK,CACP,8CAA8C;oBAC5C,+DAA+D,CAClE,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAClE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,EAAE;YACxC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;gBAC/C,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC;gBAChC,MAAM,CACJ,IAAI,KAAK,CACP,oCAAoC,IAAI,OAAO;oBAC7C,kBAAkB,MAAM,MAAM;oBAC9B,6CAA6C;oBAC7C,iBAAiB;oBACjB,8DAA8D;oBAC9D,8CAA8C;oBAC9C,gDAAgD,CACnD,CACF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,YAAY,CACzB,MAAmB,EACnB,OAAgB,EAChB,IAAc;IAEd,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,iBAAiB;IACjB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IACrC,MAAM,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC;IAEvC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CACd,kBAAkB,MAAM,CAAC,MAAM,WAAW,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CACvE,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,OAAO,CAAC,GAAG,CACd,kBAAkB,MAAM,CAAC,MAAM,WAAW,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CACvE,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1C,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAClD,KAAK,IAAI,EAAE;QACT,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,kBAAkB,CAAC,WAAW,CAAC,gBAAgB,EAAE;YACvG,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;SACnC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,CAAC,MAAM,UAAU,CAAC,IAAI,EAAE,CAG9B,CAAC;IACJ,CAAC,EACD,EAAE,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAE,CAC3C,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,OAAO,CAAC,GAAG,CACd,qCAAqC,OAAO,CAAC,MAAM,sBAAsB,CAC1E,CAAC;IACJ,CAAC;IAED,sFAAsF;IACtF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QAC9C,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,0EAA0E;IAC1E,IAAI,SAA6B,CAAC;IAElC,KAAK,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnE,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,CAAC,GAAG,CACd,8BAA8B,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,SAAS,CACvF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CACjC,KAAK,IAAI,EAAE;YACT,0FAA0F;YAC1F,MAAM,EAAE,MAAM,EAAE,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC;YAE1D,8CAA8C;YAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAA+B,CAAC;YAEvE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CACxC,YAAY,kBAAkB,CAAC,WAAW,CAAC,uBAAuB,EAClE;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,0BAA0B;oBAC1C,eAAe,EAAE,UAAU;iBAC5B;gBACD,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,MAAM;aACA,CACjB,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;gBAClB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;YAED,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,CAIrC,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC;YACnD,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,EACD,EAAE,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAC9D,CAAC;QAEF,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC;QACnC,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,iBAAiB,CAC9B,UAAkB,EAClB,OAAgB,EAChB,IAAc;IAEd,+FAA+F;IAC/F,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAEpD,6CAA6C;IAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CACjC,KAAK,IAAI,EAAE;QACT,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAEpD,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,2BAA2B,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAIzB,CAAC;IACJ,CAAC,EACD,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,CACtC,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IAE9B,mEAAmE;IACnE,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAC1E,IAAI,UAAU,GAAG,eAAe,EAAE,GAAG,CAAC;IACtC,IAAI,WAAW,GAAG,eAAe,EAAE,IAAI,CAAC;IAExC,yEAAyE;IACzE,IAAI,QAA4B,CAAC;IAEjC,4DAA4D;IAC5D,4DAA4D;IAC5D,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,WAAW,6BAA6B,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CACrC,KAAK,IAAI,EAAE;YACT,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,kBAAkB,CAAC,WAAW,CAAC,EAAE,EAAE;gBACxF,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YAEH,sDAAsD;YACtD,IAAI,SAAS,CAAC,EAAE,IAAI,SAAS,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC7C,OAAO,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,CAAgD,CAAC;YACjF,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAuB,CAAC;YACzG,MAAM,IAAI,KAAK,CAAC,6BAA6B,SAAS,CAAC,KAAK,IAAI,QAAQ,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChG,CAAC,EACD,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,CACrC,CAAC;QACF,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC;QAC5B,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC;QAE9B,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,+CAA+C,WAAW,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;YACnC,IAAI,MAAM,CAAC,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC,EAAE,CAAC;gBAC7E,QAAQ,GAAG,IAAI,WAAW,GAAG,CAAC;gBAC9B,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gDAAgD,QAAQ,EAAE,CAAC,CAAC;gBAC/E,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,uCAAuC;QACzC,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,MAAM,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAExD,6CAA6C;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrD,IAAI,SAA6B,CAAC;IAElC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACzE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,SAAS,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,6BAA6B;QACrD,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IAE1D,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAE3H,6EAA6E;IAC7E,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAA4E,CAAC;IAClH,MAAM,eAAe,GAAG,WAAW,EAAE,QAAQ,IAAI,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAE7B,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,8BAA8B;IAC9B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAChF,MAAM,UAAU,GAAG,aAAa,GAAG,IAAI,CAAC;QACxC,MAAM,UAAU,GAAG,UAAU,GAAG,IAAI,CAAC;QACrC,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,WAAW,CAAC,MAAM,KAAK,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACxF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,WAAW,CAAC,MAAM,KAAK,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,UAAU,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC;IACpD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,SAAS,EAAE,CAAC,CAAC;QAC5C,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,QAAQ,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;QAChE,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+CAA+C,iBAAiB,iCAAiC,CAAC,CAAC;IACvH,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,YAAwD,CAAC;IACvF,IAAI,iBAAiB,GAAG,CAAC,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;QAC9E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mIAAmI,CAAC,CAAC;IACzJ,CAAC;IAED,yBAAyB;IACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAEvD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAC/B,KAAK,IAAI,EAAE;QACT,IAAI,QAAkB,CAAC;QAEvB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,sDAAsD;YACtD,uDAAuD;YACvD,MAAM,KAAK,GAAiD,EAAE,CAAC;YAE/D,0BAA0B;YAC1B,MAAM,SAAS,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YAEtD,wBAAwB;YACxB,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB;gBACpE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7C,CAAC;YAED,wEAAwE;YACxE,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEhF,yCAAyC;YACzC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACtE,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC/B,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAChC,CAAC;YAED,MAAM,OAAO,GAA2B;gBACtC,cAAc,EAAE,0BAA0B;gBAC1C,gBAAgB,EAAE,WAAW;aAC9B,CAAC;YAEF,2CAA2C;YAC3C,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;YACtC,CAAC;YAED,gCAAgC;YAChC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAC9D,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;gBACpE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,WAAW,EAAE,CAAC,CAAC;YAC/D,CAAC;YAED,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,kBAAkB,CAAC,WAAW,CAAC,SAAS,EAAE;gBACxF,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI;aACL,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,yEAAyE;YACzE,iFAAiF;YACjF,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACxD,MAAM,OAAO,GAA2B;gBACtC,cAAc,EAAE,iBAAiB;gBACjC,aAAa,EAAE,MAAM,CAAC,cAAc,CAAC;aACtC,CAAC;YAEF,2CAA2C;YAC3C,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;YACtC,CAAC;YAED,gCAAgC;YAChC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAC9D,CAAC;YAED,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,kBAAkB,CAAC,WAAW,CAAC,SAAS,EAAE;gBACxF,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAKpC,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,EACD,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAC7B,CAAC;IAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAErB,8EAA8E;IAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,mBAAmB,GAAG,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC;IAEzC,IAAI,aAAa,IAAI,mBAAmB,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;QACvF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAED,qCAAqC;IACrC,MAAM,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAEjC,sDAAsD;IACtD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CACjC,KAAK,IAAI,EAAE;gBACT,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE;oBAC7D,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,EAAE;oBAC9E,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;iBACpD,CAAC,CAAC;gBAEH,IAAI,SAAS,CAAC,EAAE,EAAE,CAAC;oBACjB,OAAO,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,CAA4B,CAAC;gBAC7D,CAAC;gBAED,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAuB,CAAC;gBACnG,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,QAAQ,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3D,CAAC,EACD,EAAE,KAAK,EAAE,8BAA8B,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,CACnE,CAAC;YAEF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;gBACxC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iDAAiD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/H,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,OAA8B,EAC9B,OAAiB,eAAe;IAEhC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;IACzC,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAE/B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAC1E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,2DAA2D;IAC3D,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAE9B,+BAA+B;IAC/B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,sEAAsE,CACvE,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC5E,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACvF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,CAAC;QACH,IAAI,OAAO;YAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACrE,MAAM,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAE5C,4DAA4D;QAC5D,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;IACrE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnG,IAAI,OAAO;YAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;KAC3C,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,sDAAsD,CAAC;KACnE,MAAM,CAAC,WAAW,EAAE,mDAAmD,CAAC;KACxE,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;;;;;;;;CAwBH,CACE;KACA,MAAM,CAAC,KAAK,EAAE,OAA8B,EAAE,EAAE;IAC/C,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/cli/commands/push.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"secret.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/secret.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAEtD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAEnE;AAMD,eAAO,MAAM,aAAa,SASxB,CAAC"}
1
+ {"version":3,"file":"secret.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/secret.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAEtD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAEnE;AAMD,eAAO,MAAM,aAAa,SAUxB,CAAC"}
@@ -7,6 +7,7 @@
7
7
  */
8
8
  import { Command } from "commander";
9
9
  import { readSecretsFile, writeSecretsFile } from "../../runtime/secrets.js";
10
+ import { isValidSecretName, validateDeploySecrets, } from "#repo-shared/deploy-protocol";
10
11
  // ============================================================================
11
12
  // Local secrets management
12
13
  // ============================================================================
@@ -36,6 +37,7 @@ Environment:
36
37
 
37
38
  Secret naming:
38
39
  Names must be UPPER_SNAKE_CASE (e.g., GITHUB_TOKEN, API_KEY, DB_PASSWORD).
40
+ Names beginning with FLING_ and platform binding names such as DB and STORAGE are reserved.
39
41
  `);
40
42
  secretCommand
41
43
  .command("set <keyvalue...>")
@@ -47,7 +49,8 @@ Examples:
47
49
  fling secret set KEY1=value1 KEY2=value2 KEY3=value3
48
50
  `)
49
51
  .action((keyvalues) => {
50
- const secrets = loadLocalSecrets();
52
+ const existingSecrets = loadLocalSecrets();
53
+ const secrets = new Map(existingSecrets);
51
54
  const results = [];
52
55
  for (const keyvalue of keyvalues) {
53
56
  const eqIndex = keyvalue.indexOf("=");
@@ -57,14 +60,26 @@ Examples:
57
60
  }
58
61
  const key = keyvalue.slice(0, eqIndex);
59
62
  const value = keyvalue.slice(eqIndex + 1);
60
- if (!key.match(/^[A-Z_][A-Z0-9_]*$/)) {
61
- console.error(`Error: Secret name "${key}" must be uppercase with underscores (e.g., GITHUB_TOKEN)`);
63
+ if (!isValidSecretName(key)) {
64
+ console.error(`Error: Secret name "${key}" must be uppercase UPPER_SNAKE_CASE and must not use a reserved platform binding (for example FLING_*, DB, STORAGE, or ASSETS)`);
65
+ process.exit(1);
66
+ }
67
+ if (value.includes("\n") || value.includes("\r") || value.trimEnd() !== value) {
68
+ console.error(`Error: Secret ${key} cannot contain line breaks or trailing whitespace because .fling/secrets uses one line per value`);
62
69
  process.exit(1);
63
70
  }
64
71
  const exists = secrets.has(key);
65
72
  secrets.set(key, value);
66
73
  results.push({ key, updated: exists });
67
74
  }
75
+ try {
76
+ validateDeploySecrets(Object.fromEntries(secrets));
77
+ }
78
+ catch (error) {
79
+ const message = error instanceof Error ? error.message : "Secrets are not deployable";
80
+ console.error(`Error: ${message}`);
81
+ process.exit(1);
82
+ }
68
83
  saveLocalSecrets(secrets);
69
84
  for (const { key, updated } of results) {
70
85
  console.log(updated ? `Updated secret: ${key}` : `Set secret: ${key}`);
@@ -1 +1 @@
1
- {"version":3,"file":"secret.js","sourceRoot":"","sources":["../../../src/cli/commands/secret.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secret.js","sourceRoot":"","sources":["../../../src/cli/commands/secret.ts"],"names":[],"mappings":"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"}