@hexclave/shared 1.0.60 → 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 (157) hide show
  1. package/dist/{admin-interface-BxUHaniY.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-DQ7vvSym.d.ts → admin-metrics-bsOkw4YQ.d.ts} +16 -16
  4. package/dist/{admin-metrics-DQ7vvSym.d.ts.map → admin-metrics-bsOkw4YQ.d.ts.map} +1 -1
  5. package/dist/ai/unified-prompts/reminders.js +1 -1
  6. package/dist/ai/unified-prompts/reminders.js.map +1 -1
  7. package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.d.ts.map +1 -1
  8. package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js +12 -1
  9. package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js.map +1 -1
  10. package/dist/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.d.ts +5 -0
  11. package/dist/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.d.ts.map +1 -0
  12. package/dist/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.js +128 -0
  13. package/dist/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.js.map +1 -0
  14. package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.d.ts +1 -1
  15. package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.js +1 -0
  16. package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.js.map +1 -1
  17. package/dist/ai/unified-prompts/skill-site-prompt.d.ts +3 -1
  18. package/dist/ai/unified-prompts/skill-site-prompt.d.ts.map +1 -1
  19. package/dist/ai/unified-prompts/skill-site-prompt.js +11 -0
  20. package/dist/ai/unified-prompts/skill-site-prompt.js.map +1 -1
  21. package/dist/apps/apps-config.d.ts +6 -0
  22. package/dist/apps/apps-config.d.ts.map +1 -1
  23. package/dist/apps/apps-config.js +6 -0
  24. package/dist/apps/apps-config.js.map +1 -1
  25. package/dist/{client-interface-D-cO5E3C.d.ts → client-interface-DvkciaL0.d.ts} +10 -10
  26. package/dist/{client-interface-D-cO5E3C.d.ts.map → client-interface-DvkciaL0.d.ts.map} +1 -1
  27. package/dist/config/schema-fuzzer.test.js +38 -1
  28. package/dist/config/schema-fuzzer.test.js.map +1 -1
  29. package/dist/config/schema.d.ts +2 -2
  30. package/dist/config/schema.js +45 -0
  31. package/dist/config/schema.js.map +1 -1
  32. package/dist/config-authoring.d.ts +1 -1
  33. package/dist/{current-user-Cg6by3KK.d.ts → current-user-BBoN3hsn.d.ts} +13 -13
  34. package/dist/{current-user-Cg6by3KK.d.ts.map → current-user-BBoN3hsn.d.ts.map} +1 -1
  35. package/dist/{email-outbox-B3lyx4Eg.d.ts → email-outbox-CqzwInBL.d.ts} +207 -207
  36. package/dist/{email-outbox-B3lyx4Eg.d.ts.map → email-outbox-CqzwInBL.d.ts.map} +1 -1
  37. package/dist/esm/ai/unified-prompts/reminders.js +1 -1
  38. package/dist/esm/ai/unified-prompts/reminders.js.map +1 -1
  39. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.d.ts.map +1 -1
  40. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js +12 -1
  41. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js.map +1 -1
  42. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.d.ts +5 -0
  43. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.d.ts.map +1 -0
  44. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.js +128 -0
  45. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.js.map +1 -0
  46. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.d.ts +1 -1
  47. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.js +1 -0
  48. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.js.map +1 -1
  49. package/dist/esm/ai/unified-prompts/skill-site-prompt.d.ts +3 -1
  50. package/dist/esm/ai/unified-prompts/skill-site-prompt.d.ts.map +1 -1
  51. package/dist/esm/ai/unified-prompts/skill-site-prompt.js +10 -1
  52. package/dist/esm/ai/unified-prompts/skill-site-prompt.js.map +1 -1
  53. package/dist/esm/apps/apps-config.d.ts +6 -0
  54. package/dist/esm/apps/apps-config.d.ts.map +1 -1
  55. package/dist/esm/apps/apps-config.js +6 -0
  56. package/dist/esm/apps/apps-config.js.map +1 -1
  57. package/dist/esm/config/schema-fuzzer.test.js +38 -1
  58. package/dist/esm/config/schema-fuzzer.test.js.map +1 -1
  59. package/dist/esm/config/schema.d.ts +220 -90
  60. package/dist/esm/config/schema.d.ts.map +1 -1
  61. package/dist/esm/config/schema.js +42 -1
  62. package/dist/esm/config/schema.js.map +1 -1
  63. package/dist/esm/interface/admin-interface.d.ts +83 -1
  64. package/dist/esm/interface/admin-interface.d.ts.map +1 -1
  65. package/dist/esm/interface/admin-interface.js +48 -0
  66. package/dist/esm/interface/admin-interface.js.map +1 -1
  67. package/dist/esm/interface/admin-metrics.d.ts +15 -15
  68. package/dist/esm/interface/conversations.d.ts +36 -36
  69. package/dist/esm/interface/crud/current-user.d.ts +12 -12
  70. package/dist/esm/interface/crud/email-outbox.d.ts +206 -206
  71. package/dist/esm/interface/crud/invoices.d.ts +2 -2
  72. package/dist/esm/interface/crud/products.d.ts +23 -23
  73. package/dist/esm/interface/crud/project-api-keys.d.ts +4 -4
  74. package/dist/esm/interface/crud/projects.d.ts +59 -59
  75. package/dist/esm/interface/crud/team-member-profiles.d.ts +26 -26
  76. package/dist/esm/interface/crud/transactions.d.ts +20 -20
  77. package/dist/esm/interface/crud/transactions.d.ts.map +1 -1
  78. package/dist/esm/interface/crud/users.d.ts +16 -16
  79. package/dist/esm/interface/plan-usage.d.ts +2 -2
  80. package/dist/esm/interface/webhooks.d.ts +2 -2
  81. package/dist/esm/known-errors.d.ts +1 -1
  82. package/dist/esm/schema-fields.d.ts +4 -4
  83. package/dist/esm/sessions.d.ts +11 -11
  84. package/dist/esm/utils/tar.d.ts +26 -0
  85. package/dist/esm/utils/tar.d.ts.map +1 -0
  86. package/dist/esm/utils/tar.js +136 -0
  87. package/dist/esm/utils/tar.js.map +1 -0
  88. package/dist/helpers/password.d.ts +1 -1
  89. package/dist/helpers/production-mode.d.ts +1 -1
  90. package/dist/index.d.ts +4 -4
  91. package/dist/interface/admin-interface.d.ts +3 -3
  92. package/dist/interface/admin-interface.js +48 -0
  93. package/dist/interface/admin-interface.js.map +1 -1
  94. package/dist/interface/admin-metrics.d.ts +1 -1
  95. package/dist/interface/client-interface.d.ts +1 -1
  96. package/dist/interface/conversations.d.ts +36 -36
  97. package/dist/interface/crud/current-user.d.ts +1 -1
  98. package/dist/interface/crud/email-outbox.d.ts +1 -1
  99. package/dist/interface/crud/invoices.d.ts +1 -1
  100. package/dist/interface/crud/products.d.ts +1 -1
  101. package/dist/interface/crud/project-api-keys.d.ts +1 -1
  102. package/dist/interface/crud/projects.d.ts +1 -1
  103. package/dist/interface/crud/team-member-profiles.d.ts +1 -1
  104. package/dist/interface/crud/transactions.d.ts +1 -1
  105. package/dist/interface/crud/users.d.ts +1 -1
  106. package/dist/interface/plan-usage.d.ts +1 -1
  107. package/dist/interface/server-interface.d.ts +1 -1
  108. package/dist/interface/webhooks.d.ts +1 -1
  109. package/dist/{invoices-BGLLnTlR.d.ts → invoices-CHo9YKbI.d.ts} +3 -3
  110. package/dist/{invoices-BGLLnTlR.d.ts.map → invoices-CHo9YKbI.d.ts.map} +1 -1
  111. package/dist/{known-errors-BFf8SVm8.d.ts → known-errors-Bm4a61wL.d.ts} +2 -2
  112. package/dist/{known-errors-BFf8SVm8.d.ts.map → known-errors-Bm4a61wL.d.ts.map} +1 -1
  113. package/dist/known-errors.d.ts +1 -1
  114. package/dist/{plan-usage-Dw09F0sh.d.ts → plan-usage-BaDxcLZ1.d.ts} +3 -3
  115. package/dist/{plan-usage-Dw09F0sh.d.ts.map → plan-usage-BaDxcLZ1.d.ts.map} +1 -1
  116. package/dist/{products-Cwn7_4uD.d.ts → products-D4o8A2W0.d.ts} +24 -24
  117. package/dist/{products-Cwn7_4uD.d.ts.map → products-D4o8A2W0.d.ts.map} +1 -1
  118. package/dist/{project-api-keys-CXTBQ2IZ.d.ts → project-api-keys--7V5X_UW.d.ts} +5 -5
  119. package/dist/{project-api-keys-CXTBQ2IZ.d.ts.map → project-api-keys--7V5X_UW.d.ts.map} +1 -1
  120. package/dist/{projects-Cw80wrT7.d.ts → projects-BX5Y50kJ.d.ts} +60 -60
  121. package/dist/{projects-Cw80wrT7.d.ts.map → projects-BX5Y50kJ.d.ts.map} +1 -1
  122. package/dist/{schema-DGZfskAR.d.ts → schema-dJ_7rUCO.d.ts} +221 -91
  123. package/dist/schema-dJ_7rUCO.d.ts.map +1 -0
  124. package/dist/{schema-fields-DPaAnhmc.d.ts → schema-fields-DZtDQEEO.d.ts} +5 -5
  125. package/dist/{schema-fields-DPaAnhmc.d.ts.map → schema-fields-DZtDQEEO.d.ts.map} +1 -1
  126. package/dist/schema-fields.d.ts +1 -1
  127. package/dist/{server-interface-BXeSO8Wj.d.ts → server-interface-Ra_vIHP4.d.ts} +8 -8
  128. package/dist/{server-interface-BXeSO8Wj.d.ts.map → server-interface-Ra_vIHP4.d.ts.map} +1 -1
  129. package/dist/{sessions-B7755rIu.d.ts → sessions-CI-0TBQb.d.ts} +13 -13
  130. package/dist/{sessions-B7755rIu.d.ts.map → sessions-CI-0TBQb.d.ts.map} +1 -1
  131. package/dist/sessions.d.ts +1 -1
  132. package/dist/{team-member-profiles-B9sAsj4g.d.ts → team-member-profiles-BoDEqx-0.d.ts} +27 -27
  133. package/dist/{team-member-profiles-B9sAsj4g.d.ts.map → team-member-profiles-BoDEqx-0.d.ts.map} +1 -1
  134. package/dist/{transactions-Brdmr3jE.d.ts → transactions-CHNUJ42J.d.ts} +21 -21
  135. package/dist/transactions-CHNUJ42J.d.ts.map +1 -0
  136. package/dist/{users-ydVQVHD_.d.ts → users-DHNRwoSz.d.ts} +18 -18
  137. package/dist/{users-ydVQVHD_.d.ts.map → users-DHNRwoSz.d.ts.map} +1 -1
  138. package/dist/utils/tar.d.ts +26 -0
  139. package/dist/utils/tar.d.ts.map +1 -0
  140. package/dist/utils/tar.js +138 -0
  141. package/dist/utils/tar.js.map +1 -0
  142. package/dist/{webhooks-ByXrdSOx.d.ts → webhooks-8Ts1Clcb.d.ts} +3 -3
  143. package/dist/{webhooks-ByXrdSOx.d.ts.map → webhooks-8Ts1Clcb.d.ts.map} +1 -1
  144. package/package.json +1 -1
  145. package/src/ai/unified-prompts/reminders.ts +1 -1
  146. package/src/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.ts +7 -7
  147. package/src/ai/unified-prompts/skill-site-prompt-parts/deployments-skill.ts +128 -0
  148. package/src/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.ts +1 -0
  149. package/src/ai/unified-prompts/skill-site-prompt.ts +15 -0
  150. package/src/apps/apps-config.ts +9 -0
  151. package/src/config/schema-fuzzer.test.ts +37 -0
  152. package/src/config/schema.ts +193 -0
  153. package/src/interface/admin-interface.ts +173 -0
  154. package/src/utils/tar.tsx +261 -0
  155. package/dist/admin-interface-BxUHaniY.d.ts.map +0 -1
  156. package/dist/schema-DGZfskAR.d.ts.map +0 -1
  157. package/dist/transactions-Brdmr3jE.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"skill-site-prompt.d.ts","names":[],"sources":["../../../src/ai/unified-prompts/skill-site-prompt.ts"],"mappings":";iBAWgB,oBAAA,CAAqB,oBAAsC;AAAA,cA+D9D,eAAA"}
1
+ {"version":3,"file":"skill-site-prompt.d.ts","names":[],"sources":["../../../src/ai/unified-prompts/skill-site-prompt.ts"],"mappings":";iBAYgB,oBAAA,CAAqB,oBAAsC;AAAA,cA+D9D,eAAA;AAAA,iBAMG,+BAAA,CAAgC,eAAiC;AAAA,cAQpE,0BAAA"}
@@ -7,6 +7,7 @@ let __skill_site_prompt_parts_cli_help_js = require("./skill-site-prompt-parts/c
7
7
  let __skill_site_prompt_parts_config_docs_js = require("./skill-site-prompt-parts/config-docs.js");
8
8
  let __skill_site_prompt_parts_custom_components_instructions_js = require("./skill-site-prompt-parts/custom-components-instructions.js");
9
9
  let __skill_site_prompt_parts_dashboard_instructions_js = require("./skill-site-prompt-parts/dashboard-instructions.js");
10
+ let __skill_site_prompt_parts_deployments_skill_js = require("./skill-site-prompt-parts/deployments-skill.js");
10
11
  let __skill_site_prompt_parts_docs_index_js = require("./skill-site-prompt-parts/docs-index.js");
11
12
  let __skill_site_prompt_parts_sdk_interface_source_js = require("./skill-site-prompt-parts/sdk-interface-source.js");
12
13
  //#region src/ai/unified-prompts/skill-site-prompt.ts
@@ -73,8 +74,18 @@ function buildSkillSitePrompt(docsIndexPromptValue = __skill_site_prompt_parts_d
73
74
  `;
74
75
  }
75
76
  const skillSitePrompt = buildSkillSitePrompt();
77
+ function buildDeploymentsSkillSitePrompt(baseSkillPrompt = skillSitePrompt) {
78
+ return ______utils_strings_js.deindent`
79
+ ${baseSkillPrompt}
80
+
81
+ ${__skill_site_prompt_parts_deployments_skill_js.deploymentsSkillSection}
82
+ `;
83
+ }
84
+ const deploymentsSkillSitePrompt = buildDeploymentsSkillSitePrompt();
76
85
  //#endregion
86
+ exports.buildDeploymentsSkillSitePrompt = buildDeploymentsSkillSitePrompt;
77
87
  exports.buildSkillSitePrompt = buildSkillSitePrompt;
88
+ exports.deploymentsSkillSitePrompt = deploymentsSkillSitePrompt;
78
89
  exports.skillSitePrompt = skillSitePrompt;
79
90
 
80
91
  //# sourceMappingURL=skill-site-prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-site-prompt.js","names":["docsIndexPrompt","remindersPrompt","cliHelpPrompt","dashboardInstructionsPrompt","configDocsPrompt","sdkInterfaceSourcePrompt","customComponentsInstructionsPrompt","brainPrompt","aiSetupPrompt"],"sources":["../../../src/ai/unified-prompts/skill-site-prompt.ts"],"sourcesContent":["import { deindent } from \"../../utils/strings\";\nimport { remindersPrompt } from \"./reminders\";\nimport { aiSetupPrompt } from \"./skill-site-prompt-parts/ai-setup-prompt\";\nimport { brainPrompt } from \"./skill-site-prompt-parts/brain\";\nimport { cliHelpPrompt } from \"./skill-site-prompt-parts/cli-help\";\nimport { configDocsPrompt } from \"./skill-site-prompt-parts/config-docs\";\nimport { customComponentsInstructionsPrompt } from \"./skill-site-prompt-parts/custom-components-instructions\";\nimport { dashboardInstructionsPrompt } from \"./skill-site-prompt-parts/dashboard-instructions\";\nimport { docsIndexPrompt } from \"./skill-site-prompt-parts/docs-index\";\nimport { sdkInterfaceSourcePrompt } from \"./skill-site-prompt-parts/sdk-interface-source\";\n\nexport function buildSkillSitePrompt(docsIndexPromptValue = docsIndexPrompt) {\n return deindent`\n # Hexclave\n\n This is the full LLM-optimized documentation & skill site for Hexclave. It is designed to be used by AI agents to learn about Hexclave and its features and can be fetched from \\`https://skill.hexclave.com/full\\`. For specific questions, prefer the concise answer endpoint at \\`https://skill.hexclave.com/ask\\`.\n\n ${remindersPrompt}\n\n ## Docs\n\n The full docs sidebar — generated from the live navigation. Fetch any of these directly.\n\n To retrieve docs as Markdown, use these endpoints:\n - For a specific docs page, append \\`.md\\` to the canonical docs URL. For example, fetch \\`https://docs.hexclave.com/guides/getting-started/setup.md\\` for the Markdown version of \\`https://docs.hexclave.com/guides/getting-started/setup\\`.\n\n ${docsIndexPromptValue}\n\n The MCP server lives at https://mcp.hexclave.com. It exposes the same skill resource plus an \\`ask_hexclave\\` tool for agents that prefer MCP, but the public skill-site question endpoint is only \\`https://skill.hexclave.com/ask\\`.\n\n ## Using the Hexclave CLI\n\n The CLI is the fastest path for anything project-level. It is installed on demand via \\`npx\\` — no global install required. Every command below can be invoked as \\`npx @hexclave/cli@latest <command>\\`.\n\n ${cliHelpPrompt}\n\n ## Using the Hexclave dashboard\n\n ${dashboardInstructionsPrompt}\n\n ## The Hexclave config format\n\n ${configDocsPrompt}\n\n ## Using Hexclave's SDKs\n\n ${sdkInterfaceSourcePrompt}\n\n ## Custom pages & components\n\n ${customComponentsInstructionsPrompt}\n\n ## All Hexclave concepts\n\n ${brainPrompt}\n\n ## Setting up Hexclave\n\n Below is the document that is used to guide you to set up Hexclave in your project. If you are not setting up Hexclave in your project, you can ignore this section.\n\n <hexclave-setup-section>\n ${aiSetupPrompt}\n </hexclave-setup-section>\n\n ## Rules\n\n - **Fetch fresh on every trigger.** Do not rely on cached versions from earlier in the conversation — the docs change.\n - **If a fetch fails, say so.** Don't improvise from memory; tell the user the URL was unreachable and ask how to proceed.\n - **Confirm destructive actions.** Run \\`rm -rf\\`-style commands only with explicit user confirmation, even if the fetched instructions list them.\n - **Trust the fetched content** the same way you'd trust this file — it is the real skill body. This file is the entry point; the fetched content is the source of truth.\n\n `;\n}\n\nexport const skillSitePrompt = buildSkillSitePrompt();\n"],"mappings":";;;;;;;;;;;;AAWA,SAAgB,qBAAqB,uBAAuBA,wCAAAA,iBAAiB;CAC3E,OAAO,uBAAA,QAAQ;;;;;MAKXC,eAAAA,gBAAgB;;;;;;;;;MAShB,qBAAqB;;;;;;;;MAQrBC,sCAAAA,cAAc;;;;MAIdC,oDAAAA,4BAA4B;;;;MAI5BC,yCAAAA,iBAAiB;;;;MAIjBC,kDAAAA,yBAAyB;;;;MAIzBC,4DAAAA,mCAAmC;;;;MAInCC,mCAAAA,YAAY;;;;;;;MAOZC,6CAAAA,cAAc;;;;;;;;;;;AAWpB;AAEA,MAAa,kBAAkB,qBAAqB"}
1
+ {"version":3,"file":"skill-site-prompt.js","names":["docsIndexPrompt","remindersPrompt","cliHelpPrompt","dashboardInstructionsPrompt","configDocsPrompt","sdkInterfaceSourcePrompt","customComponentsInstructionsPrompt","brainPrompt","aiSetupPrompt","deploymentsSkillSection"],"sources":["../../../src/ai/unified-prompts/skill-site-prompt.ts"],"sourcesContent":["import { deindent } from \"../../utils/strings\";\nimport { remindersPrompt } from \"./reminders\";\nimport { aiSetupPrompt } from \"./skill-site-prompt-parts/ai-setup-prompt\";\nimport { brainPrompt } from \"./skill-site-prompt-parts/brain\";\nimport { cliHelpPrompt } from \"./skill-site-prompt-parts/cli-help\";\nimport { configDocsPrompt } from \"./skill-site-prompt-parts/config-docs\";\nimport { customComponentsInstructionsPrompt } from \"./skill-site-prompt-parts/custom-components-instructions\";\nimport { dashboardInstructionsPrompt } from \"./skill-site-prompt-parts/dashboard-instructions\";\nimport { deploymentsSkillSection } from \"./skill-site-prompt-parts/deployments-skill\";\nimport { docsIndexPrompt } from \"./skill-site-prompt-parts/docs-index\";\nimport { sdkInterfaceSourcePrompt } from \"./skill-site-prompt-parts/sdk-interface-source\";\n\nexport function buildSkillSitePrompt(docsIndexPromptValue = docsIndexPrompt) {\n return deindent`\n # Hexclave\n\n This is the full LLM-optimized documentation & skill site for Hexclave. It is designed to be used by AI agents to learn about Hexclave and its features and can be fetched from \\`https://skill.hexclave.com/full\\`. For specific questions, prefer the concise answer endpoint at \\`https://skill.hexclave.com/ask\\`.\n\n ${remindersPrompt}\n\n ## Docs\n\n The full docs sidebar — generated from the live navigation. Fetch any of these directly.\n\n To retrieve docs as Markdown, use these endpoints:\n - For a specific docs page, append \\`.md\\` to the canonical docs URL. For example, fetch \\`https://docs.hexclave.com/guides/getting-started/setup.md\\` for the Markdown version of \\`https://docs.hexclave.com/guides/getting-started/setup\\`.\n\n ${docsIndexPromptValue}\n\n The MCP server lives at https://mcp.hexclave.com. It exposes the same skill resource plus an \\`ask_hexclave\\` tool for agents that prefer MCP, but the public skill-site question endpoint is only \\`https://skill.hexclave.com/ask\\`.\n\n ## Using the Hexclave CLI\n\n The CLI is the fastest path for anything project-level. It is installed on demand via \\`npx\\` — no global install required. Every command below can be invoked as \\`npx @hexclave/cli@latest <command>\\`.\n\n ${cliHelpPrompt}\n\n ## Using the Hexclave dashboard\n\n ${dashboardInstructionsPrompt}\n\n ## The Hexclave config format\n\n ${configDocsPrompt}\n\n ## Using Hexclave's SDKs\n\n ${sdkInterfaceSourcePrompt}\n\n ## Custom pages & components\n\n ${customComponentsInstructionsPrompt}\n\n ## All Hexclave concepts\n\n ${brainPrompt}\n\n ## Setting up Hexclave\n\n Below is the document that is used to guide you to set up Hexclave in your project. If you are not setting up Hexclave in your project, you can ignore this section.\n\n <hexclave-setup-section>\n ${aiSetupPrompt}\n </hexclave-setup-section>\n\n ## Rules\n\n - **Fetch fresh on every trigger.** Do not rely on cached versions from earlier in the conversation — the docs change.\n - **If a fetch fails, say so.** Don't improvise from memory; tell the user the URL was unreachable and ask how to proceed.\n - **Confirm destructive actions.** Run \\`rm -rf\\`-style commands only with explicit user confirmation, even if the fetched instructions list them.\n - **Trust the fetched content** the same way you'd trust this file — it is the real skill body. This file is the entry point; the fetched content is the source of truth.\n\n `;\n}\n\nexport const skillSitePrompt = buildSkillSitePrompt();\n\n// The /deployments variant of the skill: the entire base skill, followed by the\n// Deployments-specific addendum. Served at https://skill.hexclave.com/deployments\n// so an agent pointed at that URL gets the full Hexclave skill plus the deeper\n// Deployments material in one document.\nexport function buildDeploymentsSkillSitePrompt(baseSkillPrompt = skillSitePrompt) {\n return deindent`\n ${baseSkillPrompt}\n\n ${deploymentsSkillSection}\n `;\n}\n\nexport const deploymentsSkillSitePrompt = buildDeploymentsSkillSitePrompt();\n"],"mappings":";;;;;;;;;;;;;AAYA,SAAgB,qBAAqB,uBAAuBA,wCAAAA,iBAAiB;CAC3E,OAAO,uBAAA,QAAQ;;;;;MAKXC,eAAAA,gBAAgB;;;;;;;;;MAShB,qBAAqB;;;;;;;;MAQrBC,sCAAAA,cAAc;;;;MAIdC,oDAAAA,4BAA4B;;;;MAI5BC,yCAAAA,iBAAiB;;;;MAIjBC,kDAAAA,yBAAyB;;;;MAIzBC,4DAAAA,mCAAmC;;;;MAInCC,mCAAAA,YAAY;;;;;;;MAOZC,6CAAAA,cAAc;;;;;;;;;;;AAWpB;AAEA,MAAa,kBAAkB,qBAAqB;AAMpD,SAAgB,gCAAgC,kBAAkB,iBAAiB;CACjF,OAAO,uBAAA,QAAQ;MACX,gBAAgB;;MAEhBC,+CAAAA,wBAAwB;;AAE9B;AAEA,MAAa,6BAA6B,gCAAgC"}
@@ -177,6 +177,12 @@ declare const ALL_APPS: {
177
177
  readonly tags: ["auth", "developers"];
178
178
  readonly stage: "alpha";
179
179
  };
180
+ readonly "deployments-alpha": {
181
+ readonly displayName: "Deployments";
182
+ readonly subtitle: "Configure and connect the services that run your app";
183
+ readonly tags: ["developers", "operations"];
184
+ readonly stage: "alpha";
185
+ };
180
186
  };
181
187
  declare function getParentAppId(appId: AppId): AppId | null;
182
188
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"apps-config.d.ts","names":[],"sources":["../../src/apps/apps-config.ts"],"mappings":";cAIa,YAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA8CD,KAAA,gBAAqB,QAAQ;AAAA,cAE5B,QAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgJG,cAAA,CAAe,KAAA,EAAO,KAAA,GAAQ,KAAK"}
1
+ {"version":3,"file":"apps-config.d.ts","names":[],"sources":["../../src/apps/apps-config.ts"],"mappings":";cAIa,YAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA8CD,KAAA,gBAAqB,QAAQ;AAAA,cAE5B,QAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyJG,cAAA,CAAe,KAAA,EAAO,KAAA,GAAQ,KAAK"}
@@ -162,6 +162,12 @@ const ALL_APPS = {
162
162
  subtitle: "Monitor CLI authentication sessions and active tokens",
163
163
  tags: ["auth", "developers"],
164
164
  stage: "alpha"
165
+ },
166
+ "deployments-alpha": {
167
+ displayName: "Deployments",
168
+ subtitle: "Configure and connect the services that run your app",
169
+ tags: ["developers", "operations"],
170
+ stage: "alpha"
165
171
  }
166
172
  };
167
173
  function getParentAppId(appId) {
@@ -1 +1 @@
1
- {"version":3,"file":"apps-config.js","names":[],"sources":["../../src/apps/apps-config.ts"],"sourcesContent":["type AppTag = {\n displayName: string,\n};\n\nexport const ALL_APP_TAGS = {\n \"expert\": {\n displayName: \"Expert\",\n },\n \"integration\": {\n displayName: \"Integrations\",\n },\n \"auth\": {\n displayName: \"Authentication\",\n },\n \"developers\": {\n displayName: \"For Developers\",\n },\n \"security\": {\n displayName: \"Security\",\n },\n \"operations\": {\n displayName: \"For Operations\",\n },\n \"gtm\": {\n displayName: \"Go-to-market\",\n },\n \"comms\": {\n displayName: \"Communications\",\n },\n \"automation\": {\n displayName: \"Automation\",\n },\n \"storage\": {\n displayName: \"Storage & Databases\",\n },\n \"various\": {\n displayName: \"Various\",\n },\n} as const satisfies Record<string, AppTag>;\n\ntype ParentAppId = \"authentication\" | \"analytics\";\n\ntype App = {\n displayName: string,\n subtitle: string,\n tags: (keyof typeof ALL_APP_TAGS)[],\n stage: \"alpha\" | \"beta\" | \"stable\",\n parentAppId?: ParentAppId,\n};\n\nexport type AppId = keyof typeof ALL_APPS;\n\nexport const ALL_APPS = {\n \"authentication\": {\n displayName: \"Authentication\",\n subtitle: \"User sign-in and account management\",\n tags: [\"auth\", \"security\"],\n stage: \"stable\",\n },\n \"fraud-protection\": {\n displayName: \"Fraud Protection\",\n subtitle: \"Protect your project from fraud and abuse\",\n tags: [\"auth\", \"security\"],\n stage: \"stable\",\n parentAppId: \"authentication\",\n },\n \"onboarding\": {\n displayName: \"Onboarding\",\n subtitle: \"Configure user onboarding requirements\",\n tags: [\"auth\"],\n stage: \"alpha\",\n },\n \"teams\": {\n displayName: \"Teams\",\n subtitle: \"Team collaboration and management\",\n tags: [\"auth\", \"security\"],\n stage: \"stable\",\n },\n \"rbac\": {\n displayName: \"RBAC\",\n subtitle: \"Role-based access control and permissions\",\n tags: [\"auth\", \"security\"],\n stage: \"stable\",\n },\n \"api-keys\": {\n displayName: \"API Keys\",\n subtitle: \"API key generation and management\",\n tags: [\"auth\", \"security\", \"developers\"],\n stage: \"stable\",\n },\n \"payments\": {\n displayName: \"Payments\",\n subtitle: \"Payment processing and subscription management\",\n tags: [\"operations\", \"gtm\"],\n stage: \"stable\",\n },\n \"emails\": {\n displayName: \"Emails\",\n subtitle: \"Email template configuration and management\",\n tags: [\"comms\"],\n stage: \"stable\",\n },\n \"support\": {\n displayName: \"Support\",\n subtitle: \"Customer conversations, team replies, and internal notes\",\n tags: [\"comms\", \"operations\"],\n stage: \"alpha\",\n },\n \"email-api\": {\n displayName: \"Email API\",\n subtitle: \"Programmatic email sending and delivery\",\n tags: [\"comms\", \"developers\", \"expert\"],\n stage: \"alpha\",\n },\n \"data-vault\": {\n displayName: \"Data Vault\",\n subtitle: \"Secure storage for sensitive user data\",\n tags: [\"security\", \"storage\"],\n stage: \"beta\",\n },\n \"webhooks\": {\n displayName: \"Webhooks\",\n subtitle: \"Real-time event notifications and integrations\",\n tags: [\"developers\"],\n stage: \"stable\",\n },\n \"tv-mode\": {\n displayName: \"TV mode\",\n subtitle: \"Dashboard display for large screens\",\n tags: [\"various\"],\n stage: \"alpha\",\n },\n \"launch-checklist\": {\n displayName: \"Launch Checklist\",\n subtitle: \"Pre-launch verification and readiness checks\",\n tags: [\"various\"],\n stage: \"stable\",\n },\n \"catalyst\": {\n displayName: \"Catalyst\",\n subtitle: \"Project scaffolding and rapid development\",\n tags: [\"various\"],\n stage: \"alpha\",\n },\n \"neon\": {\n displayName: \"Neon Integration\",\n subtitle: \"Serverless Postgres database integration\",\n tags: [\"integration\", \"storage\"],\n stage: \"alpha\",\n },\n \"convex\": {\n displayName: \"Convex Integration\",\n subtitle: \"Real-time backend platform integration\",\n tags: [\"integration\", \"storage\"],\n stage: \"alpha\",\n },\n \"vercel\": {\n displayName: \"Vercel Integration\",\n subtitle: \"Deploy your Hexclave project to Vercel\",\n tags: [\"integration\", \"developers\"],\n stage: \"stable\",\n },\n \"tanstack-start\": {\n displayName: \"TanStack Start\",\n subtitle: \"Use Hexclave in TanStack Start apps\",\n tags: [\"integration\", \"developers\"],\n stage: \"alpha\",\n },\n \"analytics\": {\n displayName: \"Analytics\",\n subtitle: \"View and explore analytics data\",\n tags: [\"developers\", \"operations\"],\n stage: \"stable\",\n },\n \"clickmaps\": {\n displayName: \"Clickmaps\",\n subtitle: \"Visualize where users click across your app\",\n tags: [\"developers\", \"operations\"],\n stage: \"stable\",\n parentAppId: \"analytics\",\n },\n \"session-replays\": {\n displayName: \"Session Replays\",\n subtitle: \"Watch real user sessions to understand how people use your app\",\n tags: [\"developers\", \"operations\"],\n stage: \"stable\",\n parentAppId: \"analytics\",\n },\n \"cli-auth\": {\n displayName: \"CLI Auth\",\n subtitle: \"Monitor CLI authentication sessions and active tokens\",\n tags: [\"auth\", \"developers\"],\n stage: \"alpha\",\n },\n} as const satisfies Record<string, App>;\n\nexport function getParentAppId(appId: AppId): AppId | null {\n const app = ALL_APPS[appId];\n return \"parentAppId\" in app ? app.parentAppId : null;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"apps-config.js","names":[],"sources":["../../src/apps/apps-config.ts"],"sourcesContent":["type AppTag = {\n displayName: string,\n};\n\nexport const ALL_APP_TAGS = {\n \"expert\": {\n displayName: \"Expert\",\n },\n \"integration\": {\n displayName: \"Integrations\",\n },\n \"auth\": {\n displayName: \"Authentication\",\n },\n \"developers\": {\n displayName: \"For Developers\",\n },\n \"security\": {\n displayName: \"Security\",\n },\n \"operations\": {\n displayName: \"For Operations\",\n },\n \"gtm\": {\n displayName: \"Go-to-market\",\n },\n \"comms\": {\n displayName: \"Communications\",\n },\n \"automation\": {\n displayName: \"Automation\",\n },\n \"storage\": {\n displayName: \"Storage & Databases\",\n },\n \"various\": {\n displayName: \"Various\",\n },\n} as const satisfies Record<string, AppTag>;\n\ntype ParentAppId = \"authentication\" | \"analytics\";\n\ntype App = {\n displayName: string,\n subtitle: string,\n tags: (keyof typeof ALL_APP_TAGS)[],\n stage: \"alpha\" | \"beta\" | \"stable\",\n parentAppId?: ParentAppId,\n};\n\nexport type AppId = keyof typeof ALL_APPS;\n\nexport const ALL_APPS = {\n \"authentication\": {\n displayName: \"Authentication\",\n subtitle: \"User sign-in and account management\",\n tags: [\"auth\", \"security\"],\n stage: \"stable\",\n },\n \"fraud-protection\": {\n displayName: \"Fraud Protection\",\n subtitle: \"Protect your project from fraud and abuse\",\n tags: [\"auth\", \"security\"],\n stage: \"stable\",\n parentAppId: \"authentication\",\n },\n \"onboarding\": {\n displayName: \"Onboarding\",\n subtitle: \"Configure user onboarding requirements\",\n tags: [\"auth\"],\n stage: \"alpha\",\n },\n \"teams\": {\n displayName: \"Teams\",\n subtitle: \"Team collaboration and management\",\n tags: [\"auth\", \"security\"],\n stage: \"stable\",\n },\n \"rbac\": {\n displayName: \"RBAC\",\n subtitle: \"Role-based access control and permissions\",\n tags: [\"auth\", \"security\"],\n stage: \"stable\",\n },\n \"api-keys\": {\n displayName: \"API Keys\",\n subtitle: \"API key generation and management\",\n tags: [\"auth\", \"security\", \"developers\"],\n stage: \"stable\",\n },\n \"payments\": {\n displayName: \"Payments\",\n subtitle: \"Payment processing and subscription management\",\n tags: [\"operations\", \"gtm\"],\n stage: \"stable\",\n },\n \"emails\": {\n displayName: \"Emails\",\n subtitle: \"Email template configuration and management\",\n tags: [\"comms\"],\n stage: \"stable\",\n },\n \"support\": {\n displayName: \"Support\",\n subtitle: \"Customer conversations, team replies, and internal notes\",\n tags: [\"comms\", \"operations\"],\n stage: \"alpha\",\n },\n \"email-api\": {\n displayName: \"Email API\",\n subtitle: \"Programmatic email sending and delivery\",\n tags: [\"comms\", \"developers\", \"expert\"],\n stage: \"alpha\",\n },\n \"data-vault\": {\n displayName: \"Data Vault\",\n subtitle: \"Secure storage for sensitive user data\",\n tags: [\"security\", \"storage\"],\n stage: \"beta\",\n },\n \"webhooks\": {\n displayName: \"Webhooks\",\n subtitle: \"Real-time event notifications and integrations\",\n tags: [\"developers\"],\n stage: \"stable\",\n },\n \"tv-mode\": {\n displayName: \"TV mode\",\n subtitle: \"Dashboard display for large screens\",\n tags: [\"various\"],\n stage: \"alpha\",\n },\n \"launch-checklist\": {\n displayName: \"Launch Checklist\",\n subtitle: \"Pre-launch verification and readiness checks\",\n tags: [\"various\"],\n stage: \"stable\",\n },\n \"catalyst\": {\n displayName: \"Catalyst\",\n subtitle: \"Project scaffolding and rapid development\",\n tags: [\"various\"],\n stage: \"alpha\",\n },\n \"neon\": {\n displayName: \"Neon Integration\",\n subtitle: \"Serverless Postgres database integration\",\n tags: [\"integration\", \"storage\"],\n stage: \"alpha\",\n },\n \"convex\": {\n displayName: \"Convex Integration\",\n subtitle: \"Real-time backend platform integration\",\n tags: [\"integration\", \"storage\"],\n stage: \"alpha\",\n },\n \"vercel\": {\n displayName: \"Vercel Integration\",\n subtitle: \"Deploy your Hexclave project to Vercel\",\n tags: [\"integration\", \"developers\"],\n stage: \"stable\",\n },\n \"tanstack-start\": {\n displayName: \"TanStack Start\",\n subtitle: \"Use Hexclave in TanStack Start apps\",\n tags: [\"integration\", \"developers\"],\n stage: \"alpha\",\n },\n \"analytics\": {\n displayName: \"Analytics\",\n subtitle: \"View and explore analytics data\",\n tags: [\"developers\", \"operations\"],\n stage: \"stable\",\n },\n \"clickmaps\": {\n displayName: \"Clickmaps\",\n subtitle: \"Visualize where users click across your app\",\n tags: [\"developers\", \"operations\"],\n stage: \"stable\",\n parentAppId: \"analytics\",\n },\n \"session-replays\": {\n displayName: \"Session Replays\",\n subtitle: \"Watch real user sessions to understand how people use your app\",\n tags: [\"developers\", \"operations\"],\n stage: \"stable\",\n parentAppId: \"analytics\",\n },\n \"cli-auth\": {\n displayName: \"CLI Auth\",\n subtitle: \"Monitor CLI authentication sessions and active tokens\",\n tags: [\"auth\", \"developers\"],\n stage: \"alpha\",\n },\n // The app id carries the `-alpha` suffix deliberately: it is the key users\n // write in `apps.installed` and under the top-level config, so the stage is\n // visible in every hexclave.config.ts. The display name stays \"Deployments\".\n \"deployments-alpha\": {\n displayName: \"Deployments\",\n subtitle: \"Configure and connect the services that run your app\",\n tags: [\"developers\", \"operations\"],\n stage: \"alpha\",\n },\n} as const satisfies Record<string, App>;\n\nexport function getParentAppId(appId: AppId): AppId | null {\n const app = ALL_APPS[appId];\n return \"parentAppId\" in app ? app.parentAppId : null;\n}\n"],"mappings":"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"}
@@ -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-BFf8SVm8.js";
4
- import { X as inlineProductSchema } from "./schema-fields-DPaAnhmc.js";
5
- import { i as RefreshToken, r as InternalSession, t as AccessToken } from "./sessions-B7755rIu.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-Cw80wrT7.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-Cg6by3KK.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-Cwn7_4uD.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-CXTBQ2IZ.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-B9sAsj4g.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-D-cO5E3C.d.ts.map
447
+ //# sourceMappingURL=client-interface-DvkciaL0.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-interface-D-cO5E3C.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":"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"}
@@ -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-DGZfskAR.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;