@hexclave/shared 1.0.61 → 1.0.62

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 (140) hide show
  1. package/dist/{admin-interface-ChuyYSXj.d.ts → admin-interface-D63SFHX_.d.ts} +94 -12
  2. package/dist/admin-interface-D63SFHX_.d.ts.map +1 -0
  3. package/dist/{admin-metrics-1yiWGq9z.d.ts → admin-metrics-bsOkw4YQ.d.ts} +15 -15
  4. package/dist/{admin-metrics-1yiWGq9z.d.ts.map → admin-metrics-bsOkw4YQ.d.ts.map} +1 -1
  5. package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js +1 -1
  6. package/dist/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.d.ts +5 -0
  7. package/dist/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.d.ts.map +1 -0
  8. package/dist/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.js +128 -0
  9. package/dist/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.js.map +1 -0
  10. package/dist/ai/unified-prompts/skill-site-prompt.d.ts +3 -1
  11. package/dist/ai/unified-prompts/skill-site-prompt.d.ts.map +1 -1
  12. package/dist/ai/unified-prompts/skill-site-prompt.js +11 -0
  13. package/dist/ai/unified-prompts/skill-site-prompt.js.map +1 -1
  14. package/dist/apps/apps-config.d.ts +6 -0
  15. package/dist/apps/apps-config.d.ts.map +1 -1
  16. package/dist/apps/apps-config.js +6 -0
  17. package/dist/apps/apps-config.js.map +1 -1
  18. package/dist/{client-interface-C4H4gn_G.d.ts → client-interface-DvkciaL0.d.ts} +10 -10
  19. package/dist/{client-interface-C4H4gn_G.d.ts.map → client-interface-DvkciaL0.d.ts.map} +1 -1
  20. package/dist/config/schema-fuzzer.test.js +38 -1
  21. package/dist/config/schema-fuzzer.test.js.map +1 -1
  22. package/dist/config/schema.d.ts +2 -2
  23. package/dist/config/schema.js +45 -0
  24. package/dist/config/schema.js.map +1 -1
  25. package/dist/config-authoring.d.ts +1 -1
  26. package/dist/{current-user-BCkMYzHx.d.ts → current-user-BBoN3hsn.d.ts} +17 -17
  27. package/dist/{current-user-BCkMYzHx.d.ts.map → current-user-BBoN3hsn.d.ts.map} +1 -1
  28. package/dist/{email-outbox-BRZiK0ZG.d.ts → email-outbox-CqzwInBL.d.ts} +313 -313
  29. package/dist/{email-outbox-BRZiK0ZG.d.ts.map → email-outbox-CqzwInBL.d.ts.map} +1 -1
  30. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js +1 -1
  31. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.d.ts +5 -0
  32. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.d.ts.map +1 -0
  33. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.js +128 -0
  34. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.js.map +1 -0
  35. package/dist/esm/ai/unified-prompts/skill-site-prompt.d.ts +3 -1
  36. package/dist/esm/ai/unified-prompts/skill-site-prompt.d.ts.map +1 -1
  37. package/dist/esm/ai/unified-prompts/skill-site-prompt.js +10 -1
  38. package/dist/esm/ai/unified-prompts/skill-site-prompt.js.map +1 -1
  39. package/dist/esm/apps/apps-config.d.ts +6 -0
  40. package/dist/esm/apps/apps-config.d.ts.map +1 -1
  41. package/dist/esm/apps/apps-config.js +6 -0
  42. package/dist/esm/apps/apps-config.js.map +1 -1
  43. package/dist/esm/config/schema-fuzzer.test.js +38 -1
  44. package/dist/esm/config/schema-fuzzer.test.js.map +1 -1
  45. package/dist/esm/config/schema.d.ts +249 -119
  46. package/dist/esm/config/schema.d.ts.map +1 -1
  47. package/dist/esm/config/schema.js +42 -1
  48. package/dist/esm/config/schema.js.map +1 -1
  49. package/dist/esm/interface/admin-interface.d.ts +83 -1
  50. package/dist/esm/interface/admin-interface.d.ts.map +1 -1
  51. package/dist/esm/interface/admin-interface.js +48 -0
  52. package/dist/esm/interface/admin-interface.js.map +1 -1
  53. package/dist/esm/interface/admin-metrics.d.ts +14 -14
  54. package/dist/esm/interface/conversations.d.ts +37 -37
  55. package/dist/esm/interface/crud/current-user.d.ts +16 -16
  56. package/dist/esm/interface/crud/email-outbox.d.ts +312 -312
  57. package/dist/esm/interface/crud/invoices.d.ts +2 -2
  58. package/dist/esm/interface/crud/products.d.ts +23 -23
  59. package/dist/esm/interface/crud/project-api-keys.d.ts +4 -4
  60. package/dist/esm/interface/crud/projects.d.ts +59 -59
  61. package/dist/esm/interface/crud/team-member-profiles.d.ts +32 -32
  62. package/dist/esm/interface/crud/transactions.d.ts +29 -29
  63. package/dist/esm/interface/crud/transactions.d.ts.map +1 -1
  64. package/dist/esm/interface/crud/users.d.ts +22 -22
  65. package/dist/esm/interface/plan-usage.d.ts +1 -1
  66. package/dist/esm/interface/webhooks.d.ts +4 -4
  67. package/dist/esm/known-errors.d.ts +4 -4
  68. package/dist/esm/schema-fields.d.ts +12 -12
  69. package/dist/esm/sessions.d.ts +9 -9
  70. package/dist/esm/utils/tar.d.ts +26 -0
  71. package/dist/esm/utils/tar.d.ts.map +1 -0
  72. package/dist/esm/utils/tar.js +136 -0
  73. package/dist/esm/utils/tar.js.map +1 -0
  74. package/dist/helpers/password.d.ts +1 -1
  75. package/dist/helpers/production-mode.d.ts +1 -1
  76. package/dist/index.d.ts +4 -4
  77. package/dist/interface/admin-interface.d.ts +3 -3
  78. package/dist/interface/admin-interface.js +48 -0
  79. package/dist/interface/admin-interface.js.map +1 -1
  80. package/dist/interface/admin-metrics.d.ts +1 -1
  81. package/dist/interface/client-interface.d.ts +1 -1
  82. package/dist/interface/conversations.d.ts +37 -37
  83. package/dist/interface/crud/current-user.d.ts +1 -1
  84. package/dist/interface/crud/email-outbox.d.ts +1 -1
  85. package/dist/interface/crud/invoices.d.ts +1 -1
  86. package/dist/interface/crud/products.d.ts +1 -1
  87. package/dist/interface/crud/project-api-keys.d.ts +1 -1
  88. package/dist/interface/crud/projects.d.ts +1 -1
  89. package/dist/interface/crud/team-member-profiles.d.ts +1 -1
  90. package/dist/interface/crud/transactions.d.ts +1 -1
  91. package/dist/interface/crud/users.d.ts +1 -1
  92. package/dist/interface/plan-usage.d.ts +1 -1
  93. package/dist/interface/server-interface.d.ts +1 -1
  94. package/dist/interface/webhooks.d.ts +1 -1
  95. package/dist/{invoices-BGLLnTlR.d.ts → invoices-CHo9YKbI.d.ts} +3 -3
  96. package/dist/{invoices-BGLLnTlR.d.ts.map → invoices-CHo9YKbI.d.ts.map} +1 -1
  97. package/dist/{known-errors-Bhd0JAgh.d.ts → known-errors-Bm4a61wL.d.ts} +5 -5
  98. package/dist/{known-errors-Bhd0JAgh.d.ts.map → known-errors-Bm4a61wL.d.ts.map} +1 -1
  99. package/dist/known-errors.d.ts +1 -1
  100. package/dist/{plan-usage-COq9I00z.d.ts → plan-usage-BaDxcLZ1.d.ts} +2 -2
  101. package/dist/{plan-usage-COq9I00z.d.ts.map → plan-usage-BaDxcLZ1.d.ts.map} +1 -1
  102. package/dist/{products-BkPf1X78.d.ts → products-D4o8A2W0.d.ts} +24 -24
  103. package/dist/{products-BkPf1X78.d.ts.map → products-D4o8A2W0.d.ts.map} +1 -1
  104. package/dist/{project-api-keys-CK9SIo0q.d.ts → project-api-keys--7V5X_UW.d.ts} +5 -5
  105. package/dist/{project-api-keys-CK9SIo0q.d.ts.map → project-api-keys--7V5X_UW.d.ts.map} +1 -1
  106. package/dist/{projects-CVqfljhv.d.ts → projects-BX5Y50kJ.d.ts} +60 -60
  107. package/dist/{projects-CVqfljhv.d.ts.map → projects-BX5Y50kJ.d.ts.map} +1 -1
  108. package/dist/{schema-BPMGhu_7.d.ts → schema-dJ_7rUCO.d.ts} +250 -120
  109. package/dist/schema-dJ_7rUCO.d.ts.map +1 -0
  110. package/dist/{schema-fields-C8sIQVTq.d.ts → schema-fields-DZtDQEEO.d.ts} +13 -13
  111. package/dist/{schema-fields-C8sIQVTq.d.ts.map → schema-fields-DZtDQEEO.d.ts.map} +1 -1
  112. package/dist/schema-fields.d.ts +1 -1
  113. package/dist/{server-interface-CRp4VVZh.d.ts → server-interface-Ra_vIHP4.d.ts} +8 -8
  114. package/dist/{server-interface-CRp4VVZh.d.ts.map → server-interface-Ra_vIHP4.d.ts.map} +1 -1
  115. package/dist/{sessions-COluKK6_.d.ts → sessions-CI-0TBQb.d.ts} +11 -11
  116. package/dist/{sessions-COluKK6_.d.ts.map → sessions-CI-0TBQb.d.ts.map} +1 -1
  117. package/dist/sessions.d.ts +1 -1
  118. package/dist/{team-member-profiles-CgYXR-Rx.d.ts → team-member-profiles-BoDEqx-0.d.ts} +33 -33
  119. package/dist/{team-member-profiles-CgYXR-Rx.d.ts.map → team-member-profiles-BoDEqx-0.d.ts.map} +1 -1
  120. package/dist/{transactions-7q13mxhG.d.ts → transactions-CHNUJ42J.d.ts} +30 -30
  121. package/dist/transactions-CHNUJ42J.d.ts.map +1 -0
  122. package/dist/{users-7MKfEyyq.d.ts → users-DHNRwoSz.d.ts} +24 -24
  123. package/dist/{users-7MKfEyyq.d.ts.map → users-DHNRwoSz.d.ts.map} +1 -1
  124. package/dist/utils/tar.d.ts +26 -0
  125. package/dist/utils/tar.d.ts.map +1 -0
  126. package/dist/utils/tar.js +138 -0
  127. package/dist/utils/tar.js.map +1 -0
  128. package/dist/{webhooks-C5gG85Ce.d.ts → webhooks-8Ts1Clcb.d.ts} +5 -5
  129. package/dist/{webhooks-C5gG85Ce.d.ts.map → webhooks-8Ts1Clcb.d.ts.map} +1 -1
  130. package/package.json +1 -1
  131. package/src/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.ts +128 -0
  132. package/src/ai/unified-prompts/skill-site-prompt.ts +15 -0
  133. package/src/apps/apps-config.ts +9 -0
  134. package/src/config/schema-fuzzer.test.ts +37 -0
  135. package/src/config/schema.ts +193 -0
  136. package/src/interface/admin-interface.ts +173 -0
  137. package/src/utils/tar.tsx +261 -0
  138. package/dist/admin-interface-ChuyYSXj.d.ts.map +0 -1
  139. package/dist/schema-BPMGhu_7.d.ts.map +0 -1
  140. package/dist/transactions-7q13mxhG.d.ts.map +0 -1
@@ -1,24 +1,24 @@
1
1
  import { n as Result } from "./results-DP3BzoL6.js";
2
2
  import { n as ReadonlyJson } from "./json-a1QIXu5z.js";
3
- import { a as KnownErrors } from "./known-errors-Bhd0JAgh.js";
4
- import { X as inlineProductSchema } from "./schema-fields-C8sIQVTq.js";
5
- import { i as RefreshToken, r as InternalSession, t as AccessToken } from "./sessions-COluKK6_.js";
3
+ import { a as KnownErrors } from "./known-errors-Bm4a61wL.js";
4
+ import { X as inlineProductSchema } from "./schema-fields-DZtDQEEO.js";
5
+ import { i as RefreshToken, r as InternalSession, t as AccessToken } from "./sessions-CI-0TBQb.js";
6
6
  import { n as ProjectPermissionsCrud } from "./project-permissions-kdi675F-.js";
7
- import { n as ClientProjectsCrud, t as AdminUserProjectsCrud } from "./projects-CVqfljhv.js";
7
+ import { n as ClientProjectsCrud, t as AdminUserProjectsCrud } from "./projects-BX5Y50kJ.js";
8
8
  import { n as TeamPermissionsCrud } from "./team-permissions-DqOpaOWh.js";
9
9
  import { a as RegistrationResponseJSON, i as PublicKeyCredentialRequestOptionsJSON, r as PublicKeyCredentialCreationOptionsJSON, t as AuthenticationResponseJSON } from "./passkey-CKg87UH-.js";
10
10
  import { n as ConnectedAccountCrud, t as ConnectedAccountAccessTokenCrud } from "./connected-accounts-D5CKe50A.js";
11
11
  import { t as ContactChannelsCrud } from "./contact-channels-DW8yQxlc.js";
12
- import { t as CurrentUserCrud } from "./current-user-BCkMYzHx.js";
13
- import { n as CustomerInvoicesListResponse, r as ListCustomerInvoicesOptions } from "./invoices-BGLLnTlR.js";
12
+ import { t as CurrentUserCrud } from "./current-user-BBoN3hsn.js";
13
+ import { n as CustomerInvoicesListResponse, r as ListCustomerInvoicesOptions } from "./invoices-CHo9YKbI.js";
14
14
  import { t as ItemCrud } from "./items-DlLSlVUD.js";
15
15
  import { t as NotificationPreferenceCrud } from "./notification-preferences-Bmzr_EOY.js";
16
16
  import { t as OAuthProviderCrud } from "./oauth-providers-BMkKSSlA.js";
17
- import { n as CustomerProductsListResponse, r as ListCustomerProductsOptions } from "./products-BkPf1X78.js";
18
- import { i as teamApiKeysCreateOutputSchema, n as UserApiKeysCrud, o as userApiKeysCreateInputSchema, r as teamApiKeysCreateInputSchema, s as userApiKeysCreateOutputSchema, t as TeamApiKeysCrud } from "./project-api-keys-CK9SIo0q.js";
17
+ import { n as CustomerProductsListResponse, r as ListCustomerProductsOptions } from "./products-D4o8A2W0.js";
18
+ import { i as teamApiKeysCreateOutputSchema, n as UserApiKeysCrud, o as userApiKeysCreateInputSchema, r as teamApiKeysCreateInputSchema, s as userApiKeysCreateOutputSchema, t as TeamApiKeysCrud } from "./project-api-keys--7V5X_UW.js";
19
19
  import { t as SessionsCrud } from "./sessions-B7Ko2Ldr.js";
20
20
  import { t as TeamInvitationCrud } from "./team-invitation-Cyqt9oWw.js";
21
- import { t as TeamMemberProfilesCrud } from "./team-member-profiles-CgYXR-Rx.js";
21
+ import { t as TeamMemberProfilesCrud } from "./team-member-profiles-BoDEqx-0.js";
22
22
  import { t as TeamsCrud } from "./teams-CQMcBnjM.js";
23
23
  import * as yup$1 from "yup";
24
24
 
@@ -444,4 +444,4 @@ declare class HexclaveClientInterface {
444
444
  }
445
445
  //#endregion
446
446
  export { RequestLogEntry as i, HexclaveClientInterface as n, RequestListener as r, ClientInterfaceOptions as t };
447
- //# sourceMappingURL=client-interface-C4H4gn_G.d.ts.map
447
+ //# sourceMappingURL=client-interface-DvkciaL0.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-interface-C4H4gn_G.d.ts","names":[],"sources":["../src/interface/client-interface.ts"],"mappings":"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"}
1
+ {"version":3,"file":"client-interface-DvkciaL0.d.ts","names":[],"sources":["../src/interface/client-interface.ts"],"mappings":"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"}
@@ -227,7 +227,44 @@ const branchSchemaFuzzerConfig = [{
227
227
  }],
228
228
  domains: [{}],
229
229
  apps: [{ installed: [(0, ___utils_objects_js.typedFromEntries)((0, ___utils_objects_js.typedEntries)(___apps_apps_config_js.ALL_APPS).map(([key, value]) => [key, [{ enabled: [true, false] }]]))] }],
230
- onboarding: [{ requireEmailVerification: [true, false] }]
230
+ onboarding: [{ requireEmailVerification: [true, false] }],
231
+ "deployments-alpha": [{ services: [{ "some-service-id": [{
232
+ type: ["vercel"],
233
+ framework: [
234
+ "nextjs",
235
+ "vite",
236
+ ""
237
+ ],
238
+ installCommand: ["pnpm install", ""],
239
+ buildCommand: ["pnpm build", ""],
240
+ outputDirectory: [
241
+ ".next",
242
+ "dist",
243
+ ""
244
+ ],
245
+ rootDirectory: [
246
+ "./",
247
+ "./apps/web",
248
+ ""
249
+ ],
250
+ env: [{
251
+ "SOME_PLAIN_VAR": [{
252
+ type: [void 0],
253
+ value: ["some-value", ""],
254
+ key: [void 0]
255
+ }],
256
+ "SOME_CONNECTION_VAR": [{
257
+ type: ["connection"],
258
+ value: ["hexclave.projectId", "some-other-service.url"],
259
+ key: [void 0]
260
+ }],
261
+ "SOME_SECRET_VAR": [{
262
+ type: ["secret"],
263
+ value: [void 0],
264
+ key: [void 0]
265
+ }]
266
+ }]
267
+ }] }] }]
231
268
  }];
232
269
  ({ ...branchSchemaFuzzerConfig[0] }), { ...branchSchemaFuzzerConfig[0].auth[0] }, { ...branchSchemaFuzzerConfig[0].auth[0].oauth[0] }, (0, ___utils_objects_js.typedFromEntries)((0, ___utils_objects_js.typedEntries)(branchSchemaFuzzerConfig[0].auth[0].oauth[0].providers[0]).map(([key, value]) => [key, [{
233
270
  ...value[0],
@@ -1 +1 @@
1
- {"version":3,"file":"schema-fuzzer.test.js","names":["SUPPORTED_CURRENCIES","ALL_APPS"],"sources":["../../src/config/schema-fuzzer.test.ts"],"sourcesContent":["import { ALL_APPS } from \"../apps/apps-config\";\nimport { SUPPORTED_CURRENCIES } from \"../utils/currency-constants\";\nimport { HexclaveAssertionError } from \"../utils/errors\";\nimport { getOrUndefined, isObjectLike, set, typedEntries, typedFromEntries } from \"../utils/objects\";\nimport { nicify } from \"../utils/strings\";\nimport { normalize, override } from \"./format\";\nimport { BranchConfigNormalizedOverride, EnvironmentConfigNormalizedOverride, OrganizationConfigNormalizedOverride, ProjectConfigNormalizedOverride, applyBranchDefaults, applyEnvironmentDefaults, applyOrganizationDefaults, applyProjectDefaults, assertNoConfigOverrideErrors, branchConfigSchema, environmentConfigSchema, migrateConfigOverride, organizationConfigSchema, projectConfigSchema, sanitizeBranchConfig, sanitizeEnvironmentConfig, sanitizeOrganizationConfig, sanitizeProjectConfig } from \"./schema\";\n\ntype FuzzerConfig<T> = ReadonlyArray<T extends object ? ([T] extends [any[]] ? { readonly [K in keyof T]: FuzzerConfig<T[K]> } : Required<{\n [K in keyof T]: FuzzerConfig<T[K]>;\n}> & Record<string, FuzzerConfig<any>>) : T>;\n\nconst projectSchemaFuzzerConfig = [{\n sourceOfTruth: [{\n type: [\"hosted\"],\n }],\n project: [{\n requirePublishableClientKey: [true, false],\n }],\n}] satisfies FuzzerConfig<ProjectConfigNormalizedOverride>;\n\nconst branchSchemaFuzzerConfig = [{\n apiKeys: [{\n enabled: [{\n team: [true, false],\n user: [true, false],\n }],\n }],\n auth: [{\n allowSignUp: [true, false],\n password: [{\n allowSignIn: [true, false],\n }],\n otp: [{\n allowSignIn: [true, false],\n }],\n passkey: [{\n allowSignIn: [true, false],\n }],\n oauth: [{\n accountMergeStrategy: [\"link_method\", \"raise_error\", \"allow_duplicates\"],\n providers: [{\n \"google\": [{\n type: [\"google\", \"github\", \"x\"] as const,\n allowSignIn: [true, false],\n allowConnectedAccounts: [true, false],\n }],\n }],\n }],\n signUpRules: [{\n \"some-rule-id\": [{\n enabled: [true, false],\n displayName: [\"Block Test Emails\", \"Allow Only Company Domain\"],\n priority: [0, 1, 100],\n condition: ['email.endsWith(\"@test.com\")', 'emailDomain == \"company.com\"'],\n action: [{\n type: [\"allow\", \"reject\", \"restrict\", \"log\"] as const,\n message: [\"\", \"Sign up is not allowed for this email\"],\n }],\n }],\n }],\n signUpRulesDefaultAction: [\"allow\", \"reject\"],\n }],\n dataVault: [{\n stores: [{\n \"some-store-id\": [{\n displayName: [\"Some Store\", \"Some Other Store\"],\n }],\n \"some-other-store-id\": [{\n displayName: [\"Some Store\", \"Some Other Store\"],\n }],\n }],\n }],\n payments: [{\n blockNewPurchases: [false, true],\n autoPay: [{\n interval: [[[0, 1, -3, 100, 0.333, Infinity], [\"day\", \"week\", \"month\", \"year\"]]] as const,\n }],\n productLines: [{\n \"some-product-line-id\": [{\n displayName: [\"Some Product Line\", \"Some Other Product Line\"],\n customerType: [\"user\", \"team\", \"custom\"] as const,\n }],\n }],\n catalogs: [{ // ensure migration works\n \"some-product-line-id\": [{\n displayName: [\"Some Product Line\", \"Some Other Product Line\"],\n }],\n }],\n groups: [{ // ensure migration works\n \"some-product-line-id\": [{\n displayName: [\"Some Product Line\", \"Some Other Product Line\"],\n }],\n }],\n items: [{\n \"some-item-id\": [{\n customerType: [\"user\", \"team\", \"custom\"] as const,\n displayName: [\"Some Item\", \"Some Other Item\"],\n }],\n }],\n products: [{\n \"some-product-id\": [{\n displayName: [\"Some Product\", \"Some Other Product\"],\n customerType: [\"user\", \"team\", \"custom\"] as const,\n freeTrial: [[[0, 1, -3, 100, 0.333, Infinity], [\"day\", \"week\", \"month\", \"year\"]]] as const,\n serverOnly: [true, false],\n stackable: [true, false],\n productLineId: [\"some-product-line-id\", \"some-other-product-line-id\"],\n catalogId: [\"some-product-line-id\", \"some-other-product-line-id\"], // ensure migration works\n groupId: [\"some-product-line-id\", \"some-other-product-line-id\"], // ensure migration works\n isAddOnTo: [false, { \"some-product-id\": [true], \"some-other-product-id\": [true] }] as const,\n prices: [{\n \"some-price-id\": [{\n ...typedFromEntries(SUPPORTED_CURRENCIES.map(currency => [currency.code, [\"100_00\", \"not a number\", \"Infinity\", \"0\"]])),\n interval: [[[0, 1, -3, 100, 0.333, Infinity], [\"day\", \"week\", \"month\", \"year\"]]] as const,\n serverOnly: [true, false],\n freeTrial: [[[0, 1, -3, 100, 0.333, Infinity], [\"day\", \"week\", \"month\", \"year\"]]] as const,\n }],\n }],\n includedItems: [{\n \"some-item-id\": [{\n quantity: [0, 1, -3, 100, 0.333, Infinity],\n repeat: [\"never\", [[0, 1, -3, 100, 0.333, Infinity], [\"day\", \"week\", \"month\", \"year\"]]] as const,\n expires: [\"never\", \"when-purchase-expires\", \"when-repeated\"] as const,\n }],\n }],\n }],\n }],\n }],\n emails: [{\n themes: [{\n \"12345678-1234-4234-9234-123456789012\": [{\n displayName: [\"Some Theme\", \"Some Other Theme\"],\n tsxSource: [\"\", \"some typescript source code\"],\n }],\n }],\n selectedThemeId: [\"some-theme-id\", \"some-other-theme-id\"],\n templates: [{\n \"12345678-1234-4234-9234-123456789012\": [{\n themeId: [\"some-theme-id\", \"some-other-theme-id\"],\n displayName: [\"Some Template\", \"Some Other Template\"],\n tsxSource: [\"\", \"some typescript source code\"],\n }],\n }],\n }],\n teams: [{\n createPersonalTeamOnSignUp: [true, false],\n allowClientTeamCreation: [true, false],\n }],\n users: [{\n allowClientUserDeletion: [true, false],\n }],\n rbac: [{\n permissions: [{\n \"some_permission_id\": [{\n containedPermissionIds: [{\n \"some_permission_id\": [true],\n \"$some_other_permission_id\": [true],\n }] as const,\n description: [\"Some Permission\", \"Some Other Permission\"],\n scope: [\"team\", \"project\"] as const,\n }],\n }],\n defaultPermissions: [{\n teamCreator: [{\n \"some_permission_id\": [true],\n \"$some_other_permission_id\": [true],\n }] as const,\n teamMember: [{\n \"some_permission_id\": [true],\n \"$some_other_permission_id\": [true],\n }] as const,\n signUp: [{\n \"some_permission_id\": [true],\n \"$some_other_permission_id\": [true],\n }] as const,\n }],\n }],\n domains: [{}],\n apps: [{\n installed: [typedFromEntries(typedEntries(ALL_APPS).map(([key, value]) => [key, [{\n enabled: [true, false],\n }]]))],\n }],\n onboarding: [{\n requireEmailVerification: [true, false],\n }],\n}] satisfies FuzzerConfig<BranchConfigNormalizedOverride>;\n\nconst environmentSchemaFuzzerConfig = [{\n ...branchSchemaFuzzerConfig[0],\n auth: [{\n ...branchSchemaFuzzerConfig[0].auth[0],\n oauth: [{\n ...branchSchemaFuzzerConfig[0].auth[0].oauth[0],\n providers: [typedFromEntries(typedEntries(branchSchemaFuzzerConfig[0].auth[0].oauth[0].providers[0]).map(([key, value]) => [key, [{\n ...value[0],\n isShared: [true, false],\n clientId: [\"some-client-id\"],\n clientSecret: [\"some-client-secret\"],\n // Kept undefined: the schema forbids customCallbackUrl when isShared is\n // true, and the fuzzer randomizes each field independently so it cannot\n // honor that coupling. The accept path is covered by an e2e test.\n customCallbackUrl: [undefined] as (string | undefined)[],\n facebookConfigId: [\"some-facebook-config-id\"],\n microsoftTenantId: [\"some-microsoft-tenant-id\"],\n appleBundles: [{ \"some-bundle-id\": [{ bundleId: [\"com.example.app\"] }] }],\n issuerUrl: [undefined, \"https://accounts.google.com\"] as (string | undefined)[],\n scope: [undefined, \"openid email profile\"] as (string | undefined)[],\n displayName: [undefined, \"My OIDC Provider\"] as (string | undefined)[],\n }]]))] as const,\n }],\n }],\n domains: [{\n allowLocalhost: [true, false],\n trustedDomains: [{\n \"some-domain-id\": [{\n baseUrl: [\"https://example.com/something-here\"],\n handlerPath: [\"/something-here\"],\n }],\n }],\n }],\n emails: [{\n ...branchSchemaFuzzerConfig[0].emails[0],\n server: [{\n isShared: [true, false],\n provider: [\"resend\", \"smtp\", \"managed\"] as const,\n host: [\"example.com\", \"://super weird host that's not valid\"],\n port: [1234, 0.12543, -100, Infinity],\n username: [\"some-username\", \"some username with a space\"],\n password: [\"some-password\", \"some password with a space\"],\n senderName: [\"Some Sender\"],\n senderEmail: [\"some-sender@example.com\", \"some invalid email\"],\n managedSubdomain: [\"mail.example.com\", \"invalid subdomain\"],\n managedSenderLocalPart: [\"noreply\", \"some invalid local part\"],\n }],\n }],\n payments: [{\n ...branchSchemaFuzzerConfig[0].payments[0],\n testMode: [false, true],\n }],\n dbSync: [{\n externalDatabases: [{\n \"some-external-db-id\": [{\n type: [\"postgres\"] as const,\n connectionString: [\n \"postgres://user:password@db.example.com:5432/database\",\n \"postgresql://user:password@db.example.net/database\",\n ],\n }],\n }],\n }],\n analytics: [{\n queryFolders: [{\n \"some-folder-id\": [{\n displayName: [\"Some Folder\", \"Some Other Folder\"],\n sortOrder: [0, 1, 10, -5],\n queries: [{\n \"some-query-id\": [{\n displayName: [\"Some Query\", \"Some Other Query\"],\n sqlQuery: [\"\", \"SELECT * FROM events\", \"SELECT * FROM users\"],\n description: [\"\", \"A query description\", \"Another description\"],\n }],\n }],\n }],\n }],\n }],\n customDashboards: [{\n \"12345678-1234-4234-9234-123456789012\": [{\n displayName: [\"My Dashboard\", \"User Growth Dashboard\"],\n tsxSource: [\"\", \"function Dashboard() { return <div>Hello</div>; }\"],\n }],\n }],\n}] satisfies FuzzerConfig<EnvironmentConfigNormalizedOverride>;\n\nconst organizationSchemaFuzzerConfig = environmentSchemaFuzzerConfig satisfies FuzzerConfig<OrganizationConfigNormalizedOverride>;\n\nfunction setDeep<T>(obj: T, path: string[], value: any) {\n if (!isObjectLike(obj)) return obj;\n\n if (path.length === 0) {\n throw new Error(\"Path is empty\");\n } else if (path.length === 1) {\n set(obj as any, path[0], value);\n } else {\n const [key, ...rest] = path;\n setDeep(getOrUndefined(obj as any, key), rest, value);\n }\n}\n\nfunction createFuzzerInput<T>(config: FuzzerConfig<T>, progress: number): T {\n progress = Math.min(1, 2 * progress);\n const createShouldRandom = (strength: number) => {\n const chance = Math.random() * strength * 1.2 - 0.1;\n return () => Math.random() < chance;\n };\n const createShouldObjectDependent = (strength: number) => {\n const objectChance = Math.random() * strength * 1.2 - 0.1;\n const primitiveChance = Math.random() * strength * 1.2 - 0.1;\n return (v: any) => Math.random() * Math.random() < (isObjectLike(v) ? objectChance : primitiveChance);\n };\n\n const shouldKeep = createShouldObjectDependent(progress * 1);\n const shouldMakeNested = createShouldObjectDependent(1.25);\n const shouldNull = createShouldRandom(0.25);\n\n let res: any;\n const recurse = <U>(outputPath: string[], config: FuzzerConfig<U>, forceNested: boolean, forceNonNull: boolean) => {\n let subConfig: any = config[Math.floor(Math.random() * config.length)];\n const originalValue = isObjectLike(subConfig) ? (Array.isArray(subConfig) ? [] : {}) : subConfig;\n\n const newValue = forceNonNull || !shouldNull() ? originalValue : null;\n const newOutputPath = forceNested || shouldMakeNested(originalValue) || outputPath.length === 0 ? outputPath : [outputPath.join(\".\")];\n if (outputPath.length === 0) {\n res = newValue;\n } else {\n if (forceNested || shouldKeep(originalValue)) {\n setDeep(res, newOutputPath, newValue);\n }\n }\n if (isObjectLike(subConfig)) {\n for (const [key, newValue] of typedEntries(subConfig)) {\n recurse([...newOutputPath, key], newValue, Array.isArray(subConfig), Array.isArray(subConfig));\n }\n }\n };\n recurse<T>([], config, false, true);\n return res;\n}\n\nimport.meta.vitest?.test(\"fuzz schemas\", async ({ expect }) => {\n const totalIterations = process.env.CI ? 1000 : 200;\n for (let i = 0; i < totalIterations; i++) {\n const projectInput = createFuzzerInput<ProjectConfigNormalizedOverride>(projectSchemaFuzzerConfig, i / totalIterations);\n const branchInput = createFuzzerInput<BranchConfigNormalizedOverride>(branchSchemaFuzzerConfig, i / totalIterations);\n const environmentInput = createFuzzerInput<EnvironmentConfigNormalizedOverride>(environmentSchemaFuzzerConfig, i / totalIterations);\n const organizationInput = createFuzzerInput<OrganizationConfigNormalizedOverride>(organizationSchemaFuzzerConfig, i / totalIterations);\n\n try {\n const projectMigrated = migrateConfigOverride(\"project\", projectInput);\n await assertNoConfigOverrideErrors(projectConfigSchema, projectMigrated);\n const projectOverridden = override({}, projectMigrated);\n await sanitizeProjectConfig(normalize(applyProjectDefaults(projectOverridden), { onDotIntoNonObject: \"ignore\" }) as any);\n\n const branchMigrated = migrateConfigOverride(\"branch\", branchInput);\n await assertNoConfigOverrideErrors(branchConfigSchema, branchMigrated);\n const branchOverridden = override(projectOverridden, branchMigrated);\n await sanitizeBranchConfig(normalize(applyBranchDefaults(branchOverridden), { onDotIntoNonObject: \"ignore\" }) as any);\n\n const environmentMigrated = migrateConfigOverride(\"environment\", environmentInput);\n await assertNoConfigOverrideErrors(environmentConfigSchema, environmentMigrated);\n const environmentOverridden = override(branchOverridden, environmentMigrated);\n await sanitizeEnvironmentConfig(normalize(applyEnvironmentDefaults(environmentOverridden), { onDotIntoNonObject: \"ignore\" }) as any);\n\n const organizationMigrated = migrateConfigOverride(\"organization\", organizationInput);\n await assertNoConfigOverrideErrors(organizationConfigSchema, organizationMigrated);\n const organizationOverridden = override(environmentOverridden, organizationMigrated);\n await sanitizeOrganizationConfig(normalize(applyOrganizationDefaults(organizationOverridden), { onDotIntoNonObject: \"ignore\" }) as any);\n\n } catch (e) {\n const data = {\n cause: e,\n inputs: {\n projectInput,\n branchInput,\n environmentInput,\n organizationInput,\n },\n } as const;\n console.error(\"Failed to fuzz schema in iteration ${i}/${totalIterations}!\", nicify(data));\n throw new HexclaveAssertionError(`Error in iteration ${i}/${totalIterations} of schema fuzz: ${e}`, { cause: e });\n }\n }\n});\n\nimport.meta.vitest?.test(\"rejects include-by-default product prices in config overrides\", async ({ expect }) => {\n await expect(assertNoConfigOverrideErrors(branchConfigSchema, {\n \"payments.products.free.prices\": \"include-by-default\",\n })).rejects.toThrow(/payments\\.products\\.free\\.prices must not be one of the following values: include-by-default/);\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"schema-fuzzer.test.js","names":["SUPPORTED_CURRENCIES","ALL_APPS"],"sources":["../../src/config/schema-fuzzer.test.ts"],"sourcesContent":["import { ALL_APPS } from \"../apps/apps-config\";\nimport { SUPPORTED_CURRENCIES } from \"../utils/currency-constants\";\nimport { HexclaveAssertionError } from \"../utils/errors\";\nimport { getOrUndefined, isObjectLike, set, typedEntries, typedFromEntries } from \"../utils/objects\";\nimport { nicify } from \"../utils/strings\";\nimport { normalize, override } from \"./format\";\nimport { BranchConfigNormalizedOverride, EnvironmentConfigNormalizedOverride, OrganizationConfigNormalizedOverride, ProjectConfigNormalizedOverride, applyBranchDefaults, applyEnvironmentDefaults, applyOrganizationDefaults, applyProjectDefaults, assertNoConfigOverrideErrors, branchConfigSchema, environmentConfigSchema, migrateConfigOverride, organizationConfigSchema, projectConfigSchema, sanitizeBranchConfig, sanitizeEnvironmentConfig, sanitizeOrganizationConfig, sanitizeProjectConfig } from \"./schema\";\n\ntype FuzzerConfig<T> = ReadonlyArray<T extends object ? ([T] extends [any[]] ? { readonly [K in keyof T]: FuzzerConfig<T[K]> } : Required<{\n [K in keyof T]: FuzzerConfig<T[K]>;\n}> & Record<string, FuzzerConfig<any>>) : T>;\n\nconst projectSchemaFuzzerConfig = [{\n sourceOfTruth: [{\n type: [\"hosted\"],\n }],\n project: [{\n requirePublishableClientKey: [true, false],\n }],\n}] satisfies FuzzerConfig<ProjectConfigNormalizedOverride>;\n\nconst branchSchemaFuzzerConfig = [{\n apiKeys: [{\n enabled: [{\n team: [true, false],\n user: [true, false],\n }],\n }],\n auth: [{\n allowSignUp: [true, false],\n password: [{\n allowSignIn: [true, false],\n }],\n otp: [{\n allowSignIn: [true, false],\n }],\n passkey: [{\n allowSignIn: [true, false],\n }],\n oauth: [{\n accountMergeStrategy: [\"link_method\", \"raise_error\", \"allow_duplicates\"],\n providers: [{\n \"google\": [{\n type: [\"google\", \"github\", \"x\"] as const,\n allowSignIn: [true, false],\n allowConnectedAccounts: [true, false],\n }],\n }],\n }],\n signUpRules: [{\n \"some-rule-id\": [{\n enabled: [true, false],\n displayName: [\"Block Test Emails\", \"Allow Only Company Domain\"],\n priority: [0, 1, 100],\n condition: ['email.endsWith(\"@test.com\")', 'emailDomain == \"company.com\"'],\n action: [{\n type: [\"allow\", \"reject\", \"restrict\", \"log\"] as const,\n message: [\"\", \"Sign up is not allowed for this email\"],\n }],\n }],\n }],\n signUpRulesDefaultAction: [\"allow\", \"reject\"],\n }],\n dataVault: [{\n stores: [{\n \"some-store-id\": [{\n displayName: [\"Some Store\", \"Some Other Store\"],\n }],\n \"some-other-store-id\": [{\n displayName: [\"Some Store\", \"Some Other Store\"],\n }],\n }],\n }],\n payments: [{\n blockNewPurchases: [false, true],\n autoPay: [{\n interval: [[[0, 1, -3, 100, 0.333, Infinity], [\"day\", \"week\", \"month\", \"year\"]]] as const,\n }],\n productLines: [{\n \"some-product-line-id\": [{\n displayName: [\"Some Product Line\", \"Some Other Product Line\"],\n customerType: [\"user\", \"team\", \"custom\"] as const,\n }],\n }],\n catalogs: [{ // ensure migration works\n \"some-product-line-id\": [{\n displayName: [\"Some Product Line\", \"Some Other Product Line\"],\n }],\n }],\n groups: [{ // ensure migration works\n \"some-product-line-id\": [{\n displayName: [\"Some Product Line\", \"Some Other Product Line\"],\n }],\n }],\n items: [{\n \"some-item-id\": [{\n customerType: [\"user\", \"team\", \"custom\"] as const,\n displayName: [\"Some Item\", \"Some Other Item\"],\n }],\n }],\n products: [{\n \"some-product-id\": [{\n displayName: [\"Some Product\", \"Some Other Product\"],\n customerType: [\"user\", \"team\", \"custom\"] as const,\n freeTrial: [[[0, 1, -3, 100, 0.333, Infinity], [\"day\", \"week\", \"month\", \"year\"]]] as const,\n serverOnly: [true, false],\n stackable: [true, false],\n productLineId: [\"some-product-line-id\", \"some-other-product-line-id\"],\n catalogId: [\"some-product-line-id\", \"some-other-product-line-id\"], // ensure migration works\n groupId: [\"some-product-line-id\", \"some-other-product-line-id\"], // ensure migration works\n isAddOnTo: [false, { \"some-product-id\": [true], \"some-other-product-id\": [true] }] as const,\n prices: [{\n \"some-price-id\": [{\n ...typedFromEntries(SUPPORTED_CURRENCIES.map(currency => [currency.code, [\"100_00\", \"not a number\", \"Infinity\", \"0\"]])),\n interval: [[[0, 1, -3, 100, 0.333, Infinity], [\"day\", \"week\", \"month\", \"year\"]]] as const,\n serverOnly: [true, false],\n freeTrial: [[[0, 1, -3, 100, 0.333, Infinity], [\"day\", \"week\", \"month\", \"year\"]]] as const,\n }],\n }],\n includedItems: [{\n \"some-item-id\": [{\n quantity: [0, 1, -3, 100, 0.333, Infinity],\n repeat: [\"never\", [[0, 1, -3, 100, 0.333, Infinity], [\"day\", \"week\", \"month\", \"year\"]]] as const,\n expires: [\"never\", \"when-purchase-expires\", \"when-repeated\"] as const,\n }],\n }],\n }],\n }],\n }],\n emails: [{\n themes: [{\n \"12345678-1234-4234-9234-123456789012\": [{\n displayName: [\"Some Theme\", \"Some Other Theme\"],\n tsxSource: [\"\", \"some typescript source code\"],\n }],\n }],\n selectedThemeId: [\"some-theme-id\", \"some-other-theme-id\"],\n templates: [{\n \"12345678-1234-4234-9234-123456789012\": [{\n themeId: [\"some-theme-id\", \"some-other-theme-id\"],\n displayName: [\"Some Template\", \"Some Other Template\"],\n tsxSource: [\"\", \"some typescript source code\"],\n }],\n }],\n }],\n teams: [{\n createPersonalTeamOnSignUp: [true, false],\n allowClientTeamCreation: [true, false],\n }],\n users: [{\n allowClientUserDeletion: [true, false],\n }],\n rbac: [{\n permissions: [{\n \"some_permission_id\": [{\n containedPermissionIds: [{\n \"some_permission_id\": [true],\n \"$some_other_permission_id\": [true],\n }] as const,\n description: [\"Some Permission\", \"Some Other Permission\"],\n scope: [\"team\", \"project\"] as const,\n }],\n }],\n defaultPermissions: [{\n teamCreator: [{\n \"some_permission_id\": [true],\n \"$some_other_permission_id\": [true],\n }] as const,\n teamMember: [{\n \"some_permission_id\": [true],\n \"$some_other_permission_id\": [true],\n }] as const,\n signUp: [{\n \"some_permission_id\": [true],\n \"$some_other_permission_id\": [true],\n }] as const,\n }],\n }],\n domains: [{}],\n apps: [{\n installed: [typedFromEntries(typedEntries(ALL_APPS).map(([key, value]) => [key, [{\n enabled: [true, false],\n }]]))],\n }],\n onboarding: [{\n requireEmailVerification: [true, false],\n }],\n \"deployments-alpha\": [{\n services: [{\n \"some-service-id\": [{\n type: [\"vercel\"] as const,\n framework: [\"nextjs\", \"vite\", \"\"],\n installCommand: [\"pnpm install\", \"\"],\n buildCommand: [\"pnpm build\", \"\"],\n outputDirectory: [\".next\", \"dist\", \"\"],\n rootDirectory: [\"./\", \"./apps/web\", \"\"],\n env: [{\n \"SOME_PLAIN_VAR\": [{\n type: [undefined] as (\"secret\" | \"connection\" | undefined)[],\n value: [\"some-value\", \"\"],\n key: [undefined] as (string | undefined)[],\n }],\n \"SOME_CONNECTION_VAR\": [{\n type: [\"connection\"] as const,\n // Stays valid even when the fuzzer drops `type`: without it, the\n // entry reads as a plain env var whose literal value happens to be\n // \"hexclave.projectId\".\n value: [\"hexclave.projectId\", \"some-other-service.url\"],\n key: [undefined] as (string | undefined)[],\n }],\n \"SOME_SECRET_VAR\": [{\n type: [\"secret\"] as const,\n value: [undefined] as (string | undefined)[],\n // Kept undefined: `key` is only allowed when type is \"secret\", and\n // the fuzzer randomizes each field independently so it cannot honor\n // that coupling (same situation as oauth's customCallbackUrl). The\n // accept path is covered by the schema unit tests and the\n // deployments e2e tests.\n key: [undefined] as (string | undefined)[],\n }],\n }],\n }],\n }],\n }],\n}] satisfies FuzzerConfig<BranchConfigNormalizedOverride>;\n\nconst environmentSchemaFuzzerConfig = [{\n ...branchSchemaFuzzerConfig[0],\n auth: [{\n ...branchSchemaFuzzerConfig[0].auth[0],\n oauth: [{\n ...branchSchemaFuzzerConfig[0].auth[0].oauth[0],\n providers: [typedFromEntries(typedEntries(branchSchemaFuzzerConfig[0].auth[0].oauth[0].providers[0]).map(([key, value]) => [key, [{\n ...value[0],\n isShared: [true, false],\n clientId: [\"some-client-id\"],\n clientSecret: [\"some-client-secret\"],\n // Kept undefined: the schema forbids customCallbackUrl when isShared is\n // true, and the fuzzer randomizes each field independently so it cannot\n // honor that coupling. The accept path is covered by an e2e test.\n customCallbackUrl: [undefined] as (string | undefined)[],\n facebookConfigId: [\"some-facebook-config-id\"],\n microsoftTenantId: [\"some-microsoft-tenant-id\"],\n appleBundles: [{ \"some-bundle-id\": [{ bundleId: [\"com.example.app\"] }] }],\n issuerUrl: [undefined, \"https://accounts.google.com\"] as (string | undefined)[],\n scope: [undefined, \"openid email profile\"] as (string | undefined)[],\n displayName: [undefined, \"My OIDC Provider\"] as (string | undefined)[],\n }]]))] as const,\n }],\n }],\n domains: [{\n allowLocalhost: [true, false],\n trustedDomains: [{\n \"some-domain-id\": [{\n baseUrl: [\"https://example.com/something-here\"],\n handlerPath: [\"/something-here\"],\n }],\n }],\n }],\n emails: [{\n ...branchSchemaFuzzerConfig[0].emails[0],\n server: [{\n isShared: [true, false],\n provider: [\"resend\", \"smtp\", \"managed\"] as const,\n host: [\"example.com\", \"://super weird host that's not valid\"],\n port: [1234, 0.12543, -100, Infinity],\n username: [\"some-username\", \"some username with a space\"],\n password: [\"some-password\", \"some password with a space\"],\n senderName: [\"Some Sender\"],\n senderEmail: [\"some-sender@example.com\", \"some invalid email\"],\n managedSubdomain: [\"mail.example.com\", \"invalid subdomain\"],\n managedSenderLocalPart: [\"noreply\", \"some invalid local part\"],\n }],\n }],\n payments: [{\n ...branchSchemaFuzzerConfig[0].payments[0],\n testMode: [false, true],\n }],\n dbSync: [{\n externalDatabases: [{\n \"some-external-db-id\": [{\n type: [\"postgres\"] as const,\n connectionString: [\n \"postgres://user:password@db.example.com:5432/database\",\n \"postgresql://user:password@db.example.net/database\",\n ],\n }],\n }],\n }],\n analytics: [{\n queryFolders: [{\n \"some-folder-id\": [{\n displayName: [\"Some Folder\", \"Some Other Folder\"],\n sortOrder: [0, 1, 10, -5],\n queries: [{\n \"some-query-id\": [{\n displayName: [\"Some Query\", \"Some Other Query\"],\n sqlQuery: [\"\", \"SELECT * FROM events\", \"SELECT * FROM users\"],\n description: [\"\", \"A query description\", \"Another description\"],\n }],\n }],\n }],\n }],\n }],\n customDashboards: [{\n \"12345678-1234-4234-9234-123456789012\": [{\n displayName: [\"My Dashboard\", \"User Growth Dashboard\"],\n tsxSource: [\"\", \"function Dashboard() { return <div>Hello</div>; }\"],\n }],\n }],\n}] satisfies FuzzerConfig<EnvironmentConfigNormalizedOverride>;\n\nconst organizationSchemaFuzzerConfig = environmentSchemaFuzzerConfig satisfies FuzzerConfig<OrganizationConfigNormalizedOverride>;\n\nfunction setDeep<T>(obj: T, path: string[], value: any) {\n if (!isObjectLike(obj)) return obj;\n\n if (path.length === 0) {\n throw new Error(\"Path is empty\");\n } else if (path.length === 1) {\n set(obj as any, path[0], value);\n } else {\n const [key, ...rest] = path;\n setDeep(getOrUndefined(obj as any, key), rest, value);\n }\n}\n\nfunction createFuzzerInput<T>(config: FuzzerConfig<T>, progress: number): T {\n progress = Math.min(1, 2 * progress);\n const createShouldRandom = (strength: number) => {\n const chance = Math.random() * strength * 1.2 - 0.1;\n return () => Math.random() < chance;\n };\n const createShouldObjectDependent = (strength: number) => {\n const objectChance = Math.random() * strength * 1.2 - 0.1;\n const primitiveChance = Math.random() * strength * 1.2 - 0.1;\n return (v: any) => Math.random() * Math.random() < (isObjectLike(v) ? objectChance : primitiveChance);\n };\n\n const shouldKeep = createShouldObjectDependent(progress * 1);\n const shouldMakeNested = createShouldObjectDependent(1.25);\n const shouldNull = createShouldRandom(0.25);\n\n let res: any;\n const recurse = <U>(outputPath: string[], config: FuzzerConfig<U>, forceNested: boolean, forceNonNull: boolean) => {\n let subConfig: any = config[Math.floor(Math.random() * config.length)];\n const originalValue = isObjectLike(subConfig) ? (Array.isArray(subConfig) ? [] : {}) : subConfig;\n\n const newValue = forceNonNull || !shouldNull() ? originalValue : null;\n const newOutputPath = forceNested || shouldMakeNested(originalValue) || outputPath.length === 0 ? outputPath : [outputPath.join(\".\")];\n if (outputPath.length === 0) {\n res = newValue;\n } else {\n if (forceNested || shouldKeep(originalValue)) {\n setDeep(res, newOutputPath, newValue);\n }\n }\n if (isObjectLike(subConfig)) {\n for (const [key, newValue] of typedEntries(subConfig)) {\n recurse([...newOutputPath, key], newValue, Array.isArray(subConfig), Array.isArray(subConfig));\n }\n }\n };\n recurse<T>([], config, false, true);\n return res;\n}\n\nimport.meta.vitest?.test(\"fuzz schemas\", async ({ expect }) => {\n const totalIterations = process.env.CI ? 1000 : 200;\n for (let i = 0; i < totalIterations; i++) {\n const projectInput = createFuzzerInput<ProjectConfigNormalizedOverride>(projectSchemaFuzzerConfig, i / totalIterations);\n const branchInput = createFuzzerInput<BranchConfigNormalizedOverride>(branchSchemaFuzzerConfig, i / totalIterations);\n const environmentInput = createFuzzerInput<EnvironmentConfigNormalizedOverride>(environmentSchemaFuzzerConfig, i / totalIterations);\n const organizationInput = createFuzzerInput<OrganizationConfigNormalizedOverride>(organizationSchemaFuzzerConfig, i / totalIterations);\n\n try {\n const projectMigrated = migrateConfigOverride(\"project\", projectInput);\n await assertNoConfigOverrideErrors(projectConfigSchema, projectMigrated);\n const projectOverridden = override({}, projectMigrated);\n await sanitizeProjectConfig(normalize(applyProjectDefaults(projectOverridden), { onDotIntoNonObject: \"ignore\" }) as any);\n\n const branchMigrated = migrateConfigOverride(\"branch\", branchInput);\n await assertNoConfigOverrideErrors(branchConfigSchema, branchMigrated);\n const branchOverridden = override(projectOverridden, branchMigrated);\n await sanitizeBranchConfig(normalize(applyBranchDefaults(branchOverridden), { onDotIntoNonObject: \"ignore\" }) as any);\n\n const environmentMigrated = migrateConfigOverride(\"environment\", environmentInput);\n await assertNoConfigOverrideErrors(environmentConfigSchema, environmentMigrated);\n const environmentOverridden = override(branchOverridden, environmentMigrated);\n await sanitizeEnvironmentConfig(normalize(applyEnvironmentDefaults(environmentOverridden), { onDotIntoNonObject: \"ignore\" }) as any);\n\n const organizationMigrated = migrateConfigOverride(\"organization\", organizationInput);\n await assertNoConfigOverrideErrors(organizationConfigSchema, organizationMigrated);\n const organizationOverridden = override(environmentOverridden, organizationMigrated);\n await sanitizeOrganizationConfig(normalize(applyOrganizationDefaults(organizationOverridden), { onDotIntoNonObject: \"ignore\" }) as any);\n\n } catch (e) {\n const data = {\n cause: e,\n inputs: {\n projectInput,\n branchInput,\n environmentInput,\n organizationInput,\n },\n } as const;\n console.error(\"Failed to fuzz schema in iteration ${i}/${totalIterations}!\", nicify(data));\n throw new HexclaveAssertionError(`Error in iteration ${i}/${totalIterations} of schema fuzz: ${e}`, { cause: e });\n }\n }\n});\n\nimport.meta.vitest?.test(\"rejects include-by-default product prices in config overrides\", async ({ expect }) => {\n await expect(assertNoConfigOverrideErrors(branchConfigSchema, {\n \"payments.products.free.prices\": \"include-by-default\",\n })).rejects.toThrow(/payments\\.products\\.free\\.prices must not be one of the following values: include-by-default/);\n});\n"],"mappings":";;;;;;;;AAqBA,MAAM,2BAA2B,CAAC;CAChC,SAAS,CAAC,EACR,SAAS,CAAC;EACR,MAAM,CAAC,MAAM,KAAK;EAClB,MAAM,CAAC,MAAM,KAAK;CACpB,CAAC,EACH,CAAC;CACD,MAAM,CAAC;EACL,aAAa,CAAC,MAAM,KAAK;EACzB,UAAU,CAAC,EACT,aAAa,CAAC,MAAM,KAAK,EAC3B,CAAC;EACD,KAAK,CAAC,EACJ,aAAa,CAAC,MAAM,KAAK,EAC3B,CAAC;EACD,SAAS,CAAC,EACR,aAAa,CAAC,MAAM,KAAK,EAC3B,CAAC;EACD,OAAO,CAAC;GACN,sBAAsB;IAAC;IAAe;IAAe;GAAkB;GACvE,WAAW,CAAC,EACV,UAAU,CAAC;IACT,MAAM;KAAC;KAAU;KAAU;IAAG;IAC9B,aAAa,CAAC,MAAM,KAAK;IACzB,wBAAwB,CAAC,MAAM,KAAK;GACtC,CAAC,EACH,CAAC;EACH,CAAC;EACD,aAAa,CAAC,EACZ,gBAAgB,CAAC;GACf,SAAS,CAAC,MAAM,KAAK;GACrB,aAAa,CAAC,qBAAqB,2BAA2B;GAC9D,UAAU;IAAC;IAAG;IAAG;GAAG;GACpB,WAAW,CAAC,iCAA+B,gCAA8B;GACzE,QAAQ,CAAC;IACP,MAAM;KAAC;KAAS;KAAU;KAAY;IAAK;IAC3C,SAAS,CAAC,IAAI,uCAAuC;GACvD,CAAC;EACH,CAAC,EACH,CAAC;EACD,0BAA0B,CAAC,SAAS,QAAQ;CAC9C,CAAC;CACD,WAAW,CAAC,EACV,QAAQ,CAAC;EACP,iBAAiB,CAAC,EAChB,aAAa,CAAC,cAAc,kBAAkB,EAChD,CAAC;EACD,uBAAuB,CAAC,EACtB,aAAa,CAAC,cAAc,kBAAkB,EAChD,CAAC;CACH,CAAC,EACH,CAAC;CACD,UAAU,CAAC;EACT,mBAAmB,CAAC,OAAO,IAAI;EAC/B,SAAS,CAAC,EACR,UAAU,CAAC,CAAC;GAAC;GAAG;GAAG;GAAI;GAAK;GAAO;EAAQ,GAAG;GAAC;GAAO;GAAQ;GAAS;EAAM,CAAC,CAAC,EACjF,CAAC;EACD,cAAc,CAAC,EACb,wBAAwB,CAAC;GACvB,aAAa,CAAC,qBAAqB,yBAAyB;GAC5D,cAAc;IAAC;IAAQ;IAAQ;GAAQ;EACzC,CAAC,EACH,CAAC;EACD,UAAU,CAAC,EACT,wBAAwB,CAAC,EACvB,aAAa,CAAC,qBAAqB,yBAAyB,EAC9D,CAAC,EACH,CAAC;EACD,QAAQ,CAAC,EACP,wBAAwB,CAAC,EACvB,aAAa,CAAC,qBAAqB,yBAAyB,EAC9D,CAAC,EACH,CAAC;EACD,OAAO,CAAC,EACN,gBAAgB,CAAC;GACf,cAAc;IAAC;IAAQ;IAAQ;GAAQ;GACvC,aAAa,CAAC,aAAa,iBAAiB;EAC9C,CAAC,EACH,CAAC;EACD,UAAU,CAAC,EACT,mBAAmB,CAAC;GAClB,aAAa,CAAC,gBAAgB,oBAAoB;GAClD,cAAc;IAAC;IAAQ;IAAQ;GAAQ;GACvC,WAAW,CAAC,CAAC;IAAC;IAAG;IAAG;IAAI;IAAK;IAAO;GAAQ,GAAG;IAAC;IAAO;IAAQ;IAAS;GAAM,CAAC,CAAC;GAChF,YAAY,CAAC,MAAM,KAAK;GACxB,WAAW,CAAC,MAAM,KAAK;GACvB,eAAe,CAAC,wBAAwB,4BAA4B;GACpE,WAAW,CAAC,wBAAwB,4BAA4B;GAChE,SAAS,CAAC,wBAAwB,4BAA4B;GAC9D,WAAW,CAAC,OAAO;IAAE,mBAAmB,CAAC,IAAI;IAAG,yBAAyB,CAAC,IAAI;GAAE,CAAC;GACjF,QAAQ,CAAC,EACP,iBAAiB,CAAC;IAChB,IAAA,GAAA,oBAAA,iBAAA,CAAoBA,+BAAAA,qBAAqB,KAAI,aAAY,CAAC,SAAS,MAAM;KAAC;KAAU;KAAgB;KAAY;IAAG,CAAC,CAAC,CAAC;IACtH,UAAU,CAAC,CAAC;KAAC;KAAG;KAAG;KAAI;KAAK;KAAO;IAAQ,GAAG;KAAC;KAAO;KAAQ;KAAS;IAAM,CAAC,CAAC;IAC/E,YAAY,CAAC,MAAM,KAAK;IACxB,WAAW,CAAC,CAAC;KAAC;KAAG;KAAG;KAAI;KAAK;KAAO;IAAQ,GAAG;KAAC;KAAO;KAAQ;KAAS;IAAM,CAAC,CAAC;GAClF,CAAC,EACH,CAAC;GACD,eAAe,CAAC,EACd,gBAAgB,CAAC;IACf,UAAU;KAAC;KAAG;KAAG;KAAI;KAAK;KAAO;IAAQ;IACzC,QAAQ,CAAC,SAAS,CAAC;KAAC;KAAG;KAAG;KAAI;KAAK;KAAO;IAAQ,GAAG;KAAC;KAAO;KAAQ;KAAS;IAAM,CAAC,CAAC;IACtF,SAAS;KAAC;KAAS;KAAyB;IAAe;GAC7D,CAAC,EACH,CAAC;EACH,CAAC,EACH,CAAC;CACH,CAAC;CACD,QAAQ,CAAC;EACP,QAAQ,CAAC,EACP,wCAAwC,CAAC;GACvC,aAAa,CAAC,cAAc,kBAAkB;GAC9C,WAAW,CAAC,IAAI,6BAA6B;EAC/C,CAAC,EACH,CAAC;EACD,iBAAiB,CAAC,iBAAiB,qBAAqB;EACxD,WAAW,CAAC,EACV,wCAAwC,CAAC;GACvC,SAAS,CAAC,iBAAiB,qBAAqB;GAChD,aAAa,CAAC,iBAAiB,qBAAqB;GACpD,WAAW,CAAC,IAAI,6BAA6B;EAC/C,CAAC,EACH,CAAC;CACH,CAAC;CACD,OAAO,CAAC;EACN,4BAA4B,CAAC,MAAM,KAAK;EACxC,yBAAyB,CAAC,MAAM,KAAK;CACvC,CAAC;CACD,OAAO,CAAC,EACN,yBAAyB,CAAC,MAAM,KAAK,EACvC,CAAC;CACD,MAAM,CAAC;EACL,aAAa,CAAC,EACZ,sBAAsB,CAAC;GACrB,wBAAwB,CAAC;IACvB,sBAAsB,CAAC,IAAI;IAC3B,6BAA6B,CAAC,IAAI;GACpC,CAAC;GACD,aAAa,CAAC,mBAAmB,uBAAuB;GACxD,OAAO,CAAC,QAAQ,SAAS;EAC3B,CAAC,EACH,CAAC;EACD,oBAAoB,CAAC;GACnB,aAAa,CAAC;IACZ,sBAAsB,CAAC,IAAI;IAC3B,6BAA6B,CAAC,IAAI;GACpC,CAAC;GACD,YAAY,CAAC;IACX,sBAAsB,CAAC,IAAI;IAC3B,6BAA6B,CAAC,IAAI;GACpC,CAAC;GACD,QAAQ,CAAC;IACP,sBAAsB,CAAC,IAAI;IAC3B,6BAA6B,CAAC,IAAI;GACpC,CAAC;EACH,CAAC;CACH,CAAC;CACD,SAAS,CAAC,CAAC,CAAC;CACZ,MAAM,CAAC,EACL,WAAW,EAAA,GAAA,oBAAA,iBAAA,EAAA,GAAA,oBAAA,aAAA,CAA+BC,uBAAAA,QAAQ,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,KAAK,CAAC,EAC/E,SAAS,CAAC,MAAM,KAAK,EACvB,CAAC,CAAC,CAAC,CAAC,CAAC,EACP,CAAC;CACD,YAAY,CAAC,EACX,0BAA0B,CAAC,MAAM,KAAK,EACxC,CAAC;CACD,qBAAqB,CAAC,EACpB,UAAU,CAAC,EACT,mBAAmB,CAAC;EAClB,MAAM,CAAC,QAAQ;EACf,WAAW;GAAC;GAAU;GAAQ;EAAE;EAChC,gBAAgB,CAAC,gBAAgB,EAAE;EACnC,cAAc,CAAC,cAAc,EAAE;EAC/B,iBAAiB;GAAC;GAAS;GAAQ;EAAE;EACrC,eAAe;GAAC;GAAM;GAAc;EAAE;EACtC,KAAK,CAAC;GACJ,kBAAkB,CAAC;IACjB,MAAM,CAAC,KAAA,CAAS;IAChB,OAAO,CAAC,cAAc,EAAE;IACxB,KAAK,CAAC,KAAA,CAAS;GACjB,CAAC;GACD,uBAAuB,CAAC;IACtB,MAAM,CAAC,YAAY;IAInB,OAAO,CAAC,sBAAsB,wBAAwB;IACtD,KAAK,CAAC,KAAA,CAAS;GACjB,CAAC;GACD,mBAAmB,CAAC;IAClB,MAAM,CAAC,QAAQ;IACf,OAAO,CAAC,KAAA,CAAS;IAMjB,KAAK,CAAC,KAAA,CAAS;GACjB,CAAC;EACH,CAAC;CACH,CAAC,EACH,CAAC,EACH,CAAC;AACH,CAAC;CAIC,EADA,GAAG,yBAAyB,GAsB3B,IAnBC,EADA,GAAG,yBAAyB,EAAE,CAAC,KAAK,GAmBnC,GAhBC,EADA,GAAG,yBAAyB,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,GAgB/B,IAAA,GAAA,oBAAA,iBAAA,EAAA,GAAA,oBAAA,aAAA,CAf4B,yBAAyB,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,KAAK,CAAC;CAChI,GAAG,MAAM;CACT,UAAU,CAAC,MAAM,KAAK;CACtB,UAAU,CAAC,gBAAgB;CAC3B,cAAc,CAAC,oBAAoB;CAInC,mBAAmB,CAAC,KAAA,CAAS;CAC7B,kBAAkB,CAAC,yBAAyB;CAC5C,mBAAmB,CAAC,0BAA0B;CAC9C,cAAc,CAAC,EAAE,kBAAkB,CAAC,EAAE,UAAU,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;CACxE,WAAW,CAAC,KAAA,GAAW,6BAA6B;CACpD,OAAO,CAAC,KAAA,GAAW,sBAAsB;CACzC,aAAa,CAAC,KAAA,GAAW,kBAAkB;AAC7C,CAAC,CAAC,CAAC,CAAC,GAcN,EADA,GAAG,yBAAyB,EAAE,CAAC,OAAO,GAYrC,GAID,EADA,GAAG,yBAAyB,EAAE,CAAC,SAAS,GAClB"}
@@ -1,2 +1,2 @@
1
- import { A as branchConfigSchema, B as sanitizeEnvironmentConfig, C as ValidatedToHaveNoConfigOverrideErrors, D as applyOrganizationDefaults, E as applyEnvironmentDefaults, F as getIncompleteConfigWarnings, H as sanitizeProjectConfig, I as migrateConfigOverride, L as organizationConfigSchema, M as configLevels, N as environmentConfigSchema, O as applyProjectDefaults, P as getConfigOverrideErrors, R as projectConfigSchema, S as ProjectRenderedConfig, T as applyBranchDefaults, V as sanitizeOrganizationConfig, _ as OrganizationRenderedConfig, a as BranchRenderedConfig, b as ProjectConfigOverrideOverride, c as EnvironmentConfigNormalizedOverride, d as EnvironmentIncompleteConfig, f as EnvironmentRenderedConfig, g as OrganizationIncompleteConfig, h as OrganizationConfigOverrideOverride, i as BranchIncompleteConfig, j as branchPaymentsSchema, k as assertNoConfigOverrideErrors, l as EnvironmentConfigOverride, m as OrganizationConfigOverride, n as BranchConfigOverride, o as CompleteConfig, p as OrganizationConfigNormalizedOverride, r as BranchConfigOverrideOverride, s as ConfigLevel, t as BranchConfigNormalizedOverride, u as EnvironmentConfigOverrideOverride, v as ProjectConfigNormalizedOverride, w as ValidatedToHaveNoIncompleteConfigWarnings, x as ProjectIncompleteConfig, y as ProjectConfigOverride, z as sanitizeBranchConfig } from "../schema-BPMGhu_7.js";
2
- export { BranchConfigNormalizedOverride, BranchConfigOverride, BranchConfigOverrideOverride, BranchIncompleteConfig, BranchRenderedConfig, CompleteConfig, ConfigLevel, EnvironmentConfigNormalizedOverride, EnvironmentConfigOverride, EnvironmentConfigOverrideOverride, EnvironmentIncompleteConfig, EnvironmentRenderedConfig, OrganizationConfigNormalizedOverride, OrganizationConfigOverride, OrganizationConfigOverrideOverride, OrganizationIncompleteConfig, OrganizationRenderedConfig, ProjectConfigNormalizedOverride, ProjectConfigOverride, ProjectConfigOverrideOverride, ProjectIncompleteConfig, ProjectRenderedConfig, ValidatedToHaveNoConfigOverrideErrors, ValidatedToHaveNoIncompleteConfigWarnings, applyBranchDefaults, applyEnvironmentDefaults, applyOrganizationDefaults, applyProjectDefaults, assertNoConfigOverrideErrors, branchConfigSchema, branchPaymentsSchema, configLevels, environmentConfigSchema, getConfigOverrideErrors, getIncompleteConfigWarnings, migrateConfigOverride, organizationConfigSchema, projectConfigSchema, sanitizeBranchConfig, sanitizeEnvironmentConfig, sanitizeOrganizationConfig, sanitizeProjectConfig };
1
+ import { A as applyOrganizationDefaults, B as migrateConfigOverride, C as ProjectConfigOverrideOverride, D as ValidatedToHaveNoIncompleteConfigWarnings, E as ValidatedToHaveNoConfigOverrideErrors, F as configLevels, G as sanitizeOrganizationConfig, H as projectConfigSchema, I as deploymentEnvVarSchema, K as sanitizeProjectConfig, L as environmentConfigSchema, M as assertNoConfigOverrideErrors, N as branchConfigSchema, O as applyBranchDefaults, P as branchPaymentsSchema, R as getConfigOverrideErrors, S as ProjectConfigOverride, T as ProjectRenderedConfig, U as sanitizeBranchConfig, V as organizationConfigSchema, W as sanitizeEnvironmentConfig, _ as OrganizationConfigOverride, a as BranchRenderedConfig, b as OrganizationRenderedConfig, c as DEPLOYMENT_CONNECTION_VALUE_REGEX, d as EnvironmentConfigNormalizedOverride, f as EnvironmentConfigOverride, g as OrganizationConfigNormalizedOverride, h as EnvironmentRenderedConfig, i as BranchIncompleteConfig, j as applyProjectDefaults, k as applyEnvironmentDefaults, l as DEPLOYMENT_ENV_VAR_KEY_REGEX, m as EnvironmentIncompleteConfig, n as BranchConfigOverride, o as CompleteConfig, p as EnvironmentConfigOverrideOverride, r as BranchConfigOverrideOverride, s as ConfigLevel, t as BranchConfigNormalizedOverride, u as DEPLOYMENT_SECRET_KEY_REGEX, v as OrganizationConfigOverrideOverride, w as ProjectIncompleteConfig, x as ProjectConfigNormalizedOverride, y as OrganizationIncompleteConfig, z as getIncompleteConfigWarnings } from "../schema-dJ_7rUCO.js";
2
+ export { BranchConfigNormalizedOverride, BranchConfigOverride, BranchConfigOverrideOverride, BranchIncompleteConfig, BranchRenderedConfig, CompleteConfig, ConfigLevel, DEPLOYMENT_CONNECTION_VALUE_REGEX, DEPLOYMENT_ENV_VAR_KEY_REGEX, DEPLOYMENT_SECRET_KEY_REGEX, EnvironmentConfigNormalizedOverride, EnvironmentConfigOverride, EnvironmentConfigOverrideOverride, EnvironmentIncompleteConfig, EnvironmentRenderedConfig, OrganizationConfigNormalizedOverride, OrganizationConfigOverride, OrganizationConfigOverrideOverride, OrganizationIncompleteConfig, OrganizationRenderedConfig, ProjectConfigNormalizedOverride, ProjectConfigOverride, ProjectConfigOverrideOverride, ProjectIncompleteConfig, ProjectRenderedConfig, ValidatedToHaveNoConfigOverrideErrors, ValidatedToHaveNoIncompleteConfigWarnings, applyBranchDefaults, applyEnvironmentDefaults, applyOrganizationDefaults, applyProjectDefaults, assertNoConfigOverrideErrors, branchConfigSchema, branchPaymentsSchema, configLevels, deploymentEnvVarSchema, environmentConfigSchema, getConfigOverrideErrors, getIncompleteConfigWarnings, migrateConfigOverride, organizationConfigSchema, projectConfigSchema, sanitizeBranchConfig, sanitizeEnvironmentConfig, sanitizeOrganizationConfig, sanitizeProjectConfig };
@@ -130,6 +130,29 @@ const branchPaymentsSchema = (0, ___schema_fields_js.yupObject)({
130
130
  });
131
131
  const branchDomain = (0, ___schema_fields_js.yupObject)({});
132
132
  const branchOnboardingSchema = (0, ___schema_fields_js.yupObject)({ requireEmailVerification: (0, ___schema_fields_js.yupBoolean)() });
133
+ const DEPLOYMENT_ENV_VAR_KEY_REGEX = /^[A-Za-z_][A-Za-z0-9_]*$/;
134
+ const DEPLOYMENT_SECRET_KEY_REGEX = /^[a-zA-Z0-9_-]+$/;
135
+ const DEPLOYMENT_CONNECTION_VALUE_REGEX = /^[a-zA-Z0-9_-]+\.[A-Za-z0-9_]+$/;
136
+ const deploymentEnvVarSchema = (0, ___schema_fields_js.yupObject)({
137
+ type: (0, ___schema_fields_js.yupString)().oneOf(["secret", "connection"]).optional(),
138
+ value: (0, ___schema_fields_js.yupString)().when("type", ([type], schema) => {
139
+ switch (type) {
140
+ case "secret": return schema.oneOf([void 0], "deployment env vars with type \"secret\" must not have a value — the value is supplied at deploy time via `hexclave deploy --secret <key>=<value>`");
141
+ case "connection": return schema.defined().matches(DEPLOYMENT_CONNECTION_VALUE_REGEX, "deployment env vars with type \"connection\" must reference a service output like \"hexclave.projectId\"");
142
+ default: return schema.defined();
143
+ }
144
+ }),
145
+ key: (0, ___schema_fields_js.yupString)().when("type", ([type], schema) => type === "secret" ? schema.defined().matches(DEPLOYMENT_SECRET_KEY_REGEX, "deployment secret keys must contain only letters, numbers, underscores, and hyphens") : schema.oneOf([void 0], "deployment env vars may only have a key when their type is \"secret\""))
146
+ });
147
+ const branchDeploymentsSchema = (0, ___schema_fields_js.yupObject)({ services: (0, ___schema_fields_js.yupRecord)((0, ___schema_fields_js.userSpecifiedIdSchema)("serviceId").notOneOf(["hexclave"], "The service id \"hexclave\" is reserved for the managed Hexclave service"), (0, ___schema_fields_js.yupObject)({
148
+ type: (0, ___schema_fields_js.yupString)().oneOf(["vercel"]).defined(),
149
+ framework: (0, ___schema_fields_js.yupString)().optional(),
150
+ installCommand: (0, ___schema_fields_js.yupString)().optional(),
151
+ buildCommand: (0, ___schema_fields_js.yupString)().optional(),
152
+ outputDirectory: (0, ___schema_fields_js.yupString)().optional(),
153
+ rootDirectory: (0, ___schema_fields_js.yupString)().optional(),
154
+ env: (0, ___schema_fields_js.yupRecord)((0, ___schema_fields_js.yupString)().matches(DEPLOYMENT_ENV_VAR_KEY_REGEX, "deployment env var keys must start with a letter or underscore and contain only letters, digits, and underscores"), deploymentEnvVarSchema)
155
+ })) });
133
156
  const branchConfigSchema = canNoLongerBeOverridden(projectConfigSchema, ["sourceOfTruth", "project"]).concat((0, ___schema_fields_js.yupObject)({
134
157
  rbac: branchRbacSchema,
135
158
  teams: (0, ___schema_fields_js.yupObject)({
@@ -148,6 +171,7 @@ const branchConfigSchema = canNoLongerBeOverridden(projectConfigSchema, ["source
148
171
  templates: ___schema_fields_js.emailTemplateListSchema
149
172
  }),
150
173
  payments: branchPaymentsSchema,
174
+ "deployments-alpha": branchDeploymentsSchema,
151
175
  dataVault: (0, ___schema_fields_js.yupObject)({ stores: (0, ___schema_fields_js.yupRecord)((0, ___schema_fields_js.userSpecifiedIdSchema)("storeId"), (0, ___schema_fields_js.yupObject)({ displayName: (0, ___schema_fields_js.yupString)() })) })
152
176
  }));
153
177
  const environmentAnalyticsSchema = (0, ___schema_fields_js.yupObject)({ queryFolders: (0, ___schema_fields_js.yupRecord)((0, ___schema_fields_js.userSpecifiedIdSchema)("folderId"), (0, ___schema_fields_js.yupObject)({
@@ -264,6 +288,10 @@ function migrateConfigOverride(type, oldUnmigratedConfigOverride) {
264
288
  });
265
289
  if (type === "project") res = removeProperty(res, (p) => p[0] === "sourceOfTruth");
266
290
  if (type === "branch") res = removeProperty(res, (p) => p[0] === "dbSync");
291
+ if (isBranchOrHigher) {
292
+ res = renameProperty(res, "deployments", "deployments-alpha");
293
+ res = renameProperty(res, "apps.installed.deployments", "deployments-alpha");
294
+ }
267
295
  return res;
268
296
  }
269
297
  function removeProperty(obj, pathCond) {
@@ -430,6 +458,19 @@ const organizationConfigDefaults = {
430
458
  type: void 0,
431
459
  connectionString: void 0
432
460
  }) },
461
+ "deployments-alpha": { services: (key) => ({
462
+ type: void 0,
463
+ framework: void 0,
464
+ installCommand: void 0,
465
+ buildCommand: void 0,
466
+ outputDirectory: void 0,
467
+ rootDirectory: void 0,
468
+ env: (envVarKey) => ({
469
+ type: void 0,
470
+ value: void 0,
471
+ key: void 0
472
+ })
473
+ }) },
433
474
  dataVault: { stores: (key) => ({ displayName: "Unnamed Vault" }) },
434
475
  analytics: { queryFolders: (key) => ({
435
476
  displayName: "Unnamed Folder",
@@ -729,6 +770,9 @@ async function getIncompleteConfigWarnings(schema, incompleteConfig) {
729
770
  (0, ___utils_types_js.typeAssert)()();
730
771
  (0, ___utils_types_js.typeAssertExtends)()();
731
772
  //#endregion
773
+ exports.DEPLOYMENT_CONNECTION_VALUE_REGEX = DEPLOYMENT_CONNECTION_VALUE_REGEX;
774
+ exports.DEPLOYMENT_ENV_VAR_KEY_REGEX = DEPLOYMENT_ENV_VAR_KEY_REGEX;
775
+ exports.DEPLOYMENT_SECRET_KEY_REGEX = DEPLOYMENT_SECRET_KEY_REGEX;
732
776
  exports.applyBranchDefaults = applyBranchDefaults;
733
777
  exports.applyEnvironmentDefaults = applyEnvironmentDefaults;
734
778
  exports.applyOrganizationDefaults = applyOrganizationDefaults;
@@ -737,6 +781,7 @@ exports.assertNoConfigOverrideErrors = assertNoConfigOverrideErrors;
737
781
  exports.branchConfigSchema = branchConfigSchema;
738
782
  exports.branchPaymentsSchema = branchPaymentsSchema;
739
783
  exports.configLevels = configLevels;
784
+ exports.deploymentEnvVarSchema = deploymentEnvVarSchema;
740
785
  exports.environmentConfigSchema = environmentConfigSchema;
741
786
  exports.getConfigOverrideErrors = getConfigOverrideErrors;
742
787
  exports.getIncompleteConfigWarnings = getIncompleteConfigWarnings;