@sylphx/contract 0.2.0
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.
- package/CHANGELOG.md +44 -0
- package/LICENSE +21 -0
- package/README.md +164 -0
- package/dist/endpoint.d.ts +65 -0
- package/dist/endpoint.d.ts.map +1 -0
- package/dist/endpoint.js +22 -0
- package/dist/endpoints/admin-ai-playground.d.ts +93 -0
- package/dist/endpoints/admin-ai-playground.d.ts.map +1 -0
- package/dist/endpoints/admin-ai-playground.js +37 -0
- package/dist/endpoints/admin-anomalies.d.ts +108 -0
- package/dist/endpoints/admin-anomalies.d.ts.map +1 -0
- package/dist/endpoints/admin-anomalies.js +72 -0
- package/dist/endpoints/admin-apm.d.ts +102 -0
- package/dist/endpoints/admin-apm.d.ts.map +1 -0
- package/dist/endpoints/admin-apm.js +70 -0
- package/dist/endpoints/admin-audit.d.ts +714 -0
- package/dist/endpoints/admin-audit.d.ts.map +1 -0
- package/dist/endpoints/admin-audit.js +494 -0
- package/dist/endpoints/admin-billing.d.ts +82 -0
- package/dist/endpoints/admin-billing.d.ts.map +1 -0
- package/dist/endpoints/admin-billing.js +190 -0
- package/dist/endpoints/admin-bootstrap.d.ts +16 -0
- package/dist/endpoints/admin-bootstrap.d.ts.map +1 -0
- package/dist/endpoints/admin-bootstrap.js +28 -0
- package/dist/endpoints/admin-broadcasts.d.ts +105 -0
- package/dist/endpoints/admin-broadcasts.d.ts.map +1 -0
- package/dist/endpoints/admin-broadcasts.js +60 -0
- package/dist/endpoints/admin-builds.d.ts +33 -0
- package/dist/endpoints/admin-builds.d.ts.map +1 -0
- package/dist/endpoints/admin-builds.js +36 -0
- package/dist/endpoints/admin-config.d.ts +180 -0
- package/dist/endpoints/admin-config.d.ts.map +1 -0
- package/dist/endpoints/admin-config.js +108 -0
- package/dist/endpoints/admin-consent.d.ts +123 -0
- package/dist/endpoints/admin-consent.d.ts.map +1 -0
- package/dist/endpoints/admin-consent.js +126 -0
- package/dist/endpoints/admin-env-services.d.ts +28 -0
- package/dist/endpoints/admin-env-services.d.ts.map +1 -0
- package/dist/endpoints/admin-env-services.js +35 -0
- package/dist/endpoints/admin-impersonation.d.ts +105 -0
- package/dist/endpoints/admin-impersonation.d.ts.map +1 -0
- package/dist/endpoints/admin-impersonation.js +88 -0
- package/dist/endpoints/admin-invitations.d.ts +73 -0
- package/dist/endpoints/admin-invitations.d.ts.map +1 -0
- package/dist/endpoints/admin-invitations.js +55 -0
- package/dist/endpoints/admin-jwt-keys.d.ts +75 -0
- package/dist/endpoints/admin-jwt-keys.d.ts.map +1 -0
- package/dist/endpoints/admin-jwt-keys.js +63 -0
- package/dist/endpoints/admin-logs.d.ts +109 -0
- package/dist/endpoints/admin-logs.d.ts.map +1 -0
- package/dist/endpoints/admin-logs.js +78 -0
- package/dist/endpoints/admin-plans.d.ts +63 -0
- package/dist/endpoints/admin-plans.d.ts.map +1 -0
- package/dist/endpoints/admin-plans.js +47 -0
- package/dist/endpoints/admin-project-users.d.ts +148 -0
- package/dist/endpoints/admin-project-users.d.ts.map +1 -0
- package/dist/endpoints/admin-project-users.js +89 -0
- package/dist/endpoints/admin-projects.d.ts +124 -0
- package/dist/endpoints/admin-projects.d.ts.map +1 -0
- package/dist/endpoints/admin-projects.js +74 -0
- package/dist/endpoints/admin-quotas.d.ts +98 -0
- package/dist/endpoints/admin-quotas.d.ts.map +1 -0
- package/dist/endpoints/admin-quotas.js +67 -0
- package/dist/endpoints/admin-rate-limits.d.ts +50 -0
- package/dist/endpoints/admin-rate-limits.d.ts.map +1 -0
- package/dist/endpoints/admin-rate-limits.js +53 -0
- package/dist/endpoints/admin-reconcile.d.ts +28 -0
- package/dist/endpoints/admin-reconcile.d.ts.map +1 -0
- package/dist/endpoints/admin-reconcile.js +33 -0
- package/dist/endpoints/admin-resources.d.ts +51 -0
- package/dist/endpoints/admin-resources.d.ts.map +1 -0
- package/dist/endpoints/admin-resources.js +53 -0
- package/dist/endpoints/admin-secrets.d.ts +41 -0
- package/dist/endpoints/admin-secrets.d.ts.map +1 -0
- package/dist/endpoints/admin-secrets.js +33 -0
- package/dist/endpoints/admin-services.d.ts +29 -0
- package/dist/endpoints/admin-services.d.ts.map +1 -0
- package/dist/endpoints/admin-services.js +35 -0
- package/dist/endpoints/admin-tasks.d.ts +186 -0
- package/dist/endpoints/admin-tasks.d.ts.map +1 -0
- package/dist/endpoints/admin-tasks.js +67 -0
- package/dist/endpoints/admin-tenants.d.ts +26 -0
- package/dist/endpoints/admin-tenants.d.ts.map +1 -0
- package/dist/endpoints/admin-tenants.js +30 -0
- package/dist/endpoints/admin-traces.d.ts +124 -0
- package/dist/endpoints/admin-traces.d.ts.map +1 -0
- package/dist/endpoints/admin-traces.js +59 -0
- package/dist/endpoints/admin-users.d.ts +106 -0
- package/dist/endpoints/admin-users.d.ts.map +1 -0
- package/dist/endpoints/admin-users.js +83 -0
- package/dist/endpoints/admin-webhook-signature-versions.d.ts +59 -0
- package/dist/endpoints/admin-webhook-signature-versions.d.ts.map +1 -0
- package/dist/endpoints/admin-webhook-signature-versions.js +57 -0
- package/dist/endpoints/ai-admin.d.ts +30 -0
- package/dist/endpoints/ai-admin.d.ts.map +1 -0
- package/dist/endpoints/ai-admin.js +59 -0
- package/dist/endpoints/analytics-admin.d.ts +279 -0
- package/dist/endpoints/analytics-admin.d.ts.map +1 -0
- package/dist/endpoints/analytics-admin.js +308 -0
- package/dist/endpoints/analytics.d.ts +58 -0
- package/dist/endpoints/analytics.d.ts.map +1 -0
- package/dist/endpoints/analytics.js +43 -0
- package/dist/endpoints/audit-chain.d.ts +49 -0
- package/dist/endpoints/audit-chain.d.ts.map +1 -0
- package/dist/endpoints/audit-chain.js +29 -0
- package/dist/endpoints/audit.d.ts +50 -0
- package/dist/endpoints/audit.d.ts.map +1 -0
- package/dist/endpoints/audit.js +30 -0
- package/dist/endpoints/auth-admin.d.ts +65 -0
- package/dist/endpoints/auth-admin.d.ts.map +1 -0
- package/dist/endpoints/auth-admin.js +55 -0
- package/dist/endpoints/auth.d.ts +157 -0
- package/dist/endpoints/auth.d.ts.map +1 -0
- package/dist/endpoints/auth.js +214 -0
- package/dist/endpoints/backups.d.ts +51 -0
- package/dist/endpoints/backups.d.ts.map +1 -0
- package/dist/endpoints/backups.js +47 -0
- package/dist/endpoints/billing-console.d.ts +294 -0
- package/dist/endpoints/billing-console.d.ts.map +1 -0
- package/dist/endpoints/billing-console.js +167 -0
- package/dist/endpoints/billing-settings.d.ts +107 -0
- package/dist/endpoints/billing-settings.d.ts.map +1 -0
- package/dist/endpoints/billing-settings.js +117 -0
- package/dist/endpoints/branch-databases.d.ts +75 -0
- package/dist/endpoints/branch-databases.d.ts.map +1 -0
- package/dist/endpoints/branch-databases.js +61 -0
- package/dist/endpoints/challenge.d.ts +62 -0
- package/dist/endpoints/challenge.d.ts.map +1 -0
- package/dist/endpoints/challenge.js +52 -0
- package/dist/endpoints/ci-settings.d.ts +89 -0
- package/dist/endpoints/ci-settings.d.ts.map +1 -0
- package/dist/endpoints/ci-settings.js +78 -0
- package/dist/endpoints/consent-admin.d.ts +134 -0
- package/dist/endpoints/consent-admin.d.ts.map +1 -0
- package/dist/endpoints/consent-admin.js +83 -0
- package/dist/endpoints/databases.d.ts +251 -0
- package/dist/endpoints/databases.d.ts.map +1 -0
- package/dist/endpoints/databases.js +150 -0
- package/dist/endpoints/deployments.d.ts +280 -0
- package/dist/endpoints/deployments.d.ts.map +1 -0
- package/dist/endpoints/deployments.js +205 -0
- package/dist/endpoints/domains.d.ts +356 -0
- package/dist/endpoints/domains.d.ts.map +1 -0
- package/dist/endpoints/domains.js +149 -0
- package/dist/endpoints/edge-deployments.d.ts +92 -0
- package/dist/endpoints/edge-deployments.d.ts.map +1 -0
- package/dist/endpoints/edge-deployments.js +58 -0
- package/dist/endpoints/email-admin.d.ts +415 -0
- package/dist/endpoints/email-admin.d.ts.map +1 -0
- package/dist/endpoints/email-admin.js +253 -0
- package/dist/endpoints/email.d.ts +37 -0
- package/dist/endpoints/email.d.ts.map +1 -0
- package/dist/endpoints/email.js +42 -0
- package/dist/endpoints/engagement-admin.d.ts +98 -0
- package/dist/endpoints/engagement-admin.d.ts.map +1 -0
- package/dist/endpoints/engagement-admin.js +64 -0
- package/dist/endpoints/env-vars.d.ts +66 -0
- package/dist/endpoints/env-vars.d.ts.map +1 -0
- package/dist/endpoints/env-vars.js +47 -0
- package/dist/endpoints/environments.d.ts +456 -0
- package/dist/endpoints/environments.d.ts.map +1 -0
- package/dist/endpoints/environments.js +237 -0
- package/dist/endpoints/experiments.d.ts +500 -0
- package/dist/endpoints/experiments.d.ts.map +1 -0
- package/dist/endpoints/experiments.js +93 -0
- package/dist/endpoints/flags-admin.d.ts +74 -0
- package/dist/endpoints/flags-admin.d.ts.map +1 -0
- package/dist/endpoints/flags-admin.js +84 -0
- package/dist/endpoints/flags.d.ts +23 -0
- package/dist/endpoints/flags.d.ts.map +1 -0
- package/dist/endpoints/flags.js +17 -0
- package/dist/endpoints/github.d.ts +30 -0
- package/dist/endpoints/github.d.ts.map +1 -0
- package/dist/endpoints/github.js +37 -0
- package/dist/endpoints/image-opt.d.ts +43 -0
- package/dist/endpoints/image-opt.d.ts.map +1 -0
- package/dist/endpoints/image-opt.js +44 -0
- package/dist/endpoints/kv-admin.d.ts +58 -0
- package/dist/endpoints/kv-admin.d.ts.map +1 -0
- package/dist/endpoints/kv-admin.js +69 -0
- package/dist/endpoints/kv.d.ts +63 -0
- package/dist/endpoints/kv.d.ts.map +1 -0
- package/dist/endpoints/kv.js +82 -0
- package/dist/endpoints/monitoring-admin.d.ts +204 -0
- package/dist/endpoints/monitoring-admin.d.ts.map +1 -0
- package/dist/endpoints/monitoring-admin.js +119 -0
- package/dist/endpoints/monitoring.d.ts +63 -0
- package/dist/endpoints/monitoring.d.ts.map +1 -0
- package/dist/endpoints/monitoring.js +27 -0
- package/dist/endpoints/newsletter.d.ts +366 -0
- package/dist/endpoints/newsletter.d.ts.map +1 -0
- package/dist/endpoints/newsletter.js +232 -0
- package/dist/endpoints/notifications-admin.d.ts +268 -0
- package/dist/endpoints/notifications-admin.d.ts.map +1 -0
- package/dist/endpoints/notifications-admin.js +172 -0
- package/dist/endpoints/notifications.d.ts +225 -0
- package/dist/endpoints/notifications.d.ts.map +1 -0
- package/dist/endpoints/notifications.js +150 -0
- package/dist/endpoints/oidc.d.ts +67 -0
- package/dist/endpoints/oidc.d.ts.map +1 -0
- package/dist/endpoints/oidc.js +49 -0
- package/dist/endpoints/organizations.d.ts +702 -0
- package/dist/endpoints/organizations.d.ts.map +1 -0
- package/dist/endpoints/organizations.js +460 -0
- package/dist/endpoints/plans.d.ts +136 -0
- package/dist/endpoints/plans.d.ts.map +1 -0
- package/dist/endpoints/plans.js +83 -0
- package/dist/endpoints/privacy.d.ts +131 -0
- package/dist/endpoints/privacy.d.ts.map +1 -0
- package/dist/endpoints/privacy.js +98 -0
- package/dist/endpoints/project-manifest.d.ts +1044 -0
- package/dist/endpoints/project-manifest.d.ts.map +1 -0
- package/dist/endpoints/project-manifest.js +59 -0
- package/dist/endpoints/projects.d.ts +187 -0
- package/dist/endpoints/projects.d.ts.map +1 -0
- package/dist/endpoints/projects.js +58 -0
- package/dist/endpoints/rate-limits.d.ts +83 -0
- package/dist/endpoints/rate-limits.d.ts.map +1 -0
- package/dist/endpoints/rate-limits.js +54 -0
- package/dist/endpoints/realtime-admin.d.ts +42 -0
- package/dist/endpoints/realtime-admin.d.ts.map +1 -0
- package/dist/endpoints/realtime-admin.js +50 -0
- package/dist/endpoints/realtime.d.ts +35 -0
- package/dist/endpoints/realtime.d.ts.map +1 -0
- package/dist/endpoints/realtime.js +39 -0
- package/dist/endpoints/referrals-admin.d.ts +118 -0
- package/dist/endpoints/referrals-admin.d.ts.map +1 -0
- package/dist/endpoints/referrals-admin.js +59 -0
- package/dist/endpoints/refresh.d.ts +19 -0
- package/dist/endpoints/refresh.d.ts.map +1 -0
- package/dist/endpoints/refresh.js +25 -0
- package/dist/endpoints/regions.d.ts +41 -0
- package/dist/endpoints/regions.d.ts.map +1 -0
- package/dist/endpoints/regions.js +43 -0
- package/dist/endpoints/runners.d.ts +55 -0
- package/dist/endpoints/runners.d.ts.map +1 -0
- package/dist/endpoints/runners.js +45 -0
- package/dist/endpoints/saml.d.ts +147 -0
- package/dist/endpoints/saml.d.ts.map +1 -0
- package/dist/endpoints/saml.js +106 -0
- package/dist/endpoints/search.d.ts +62 -0
- package/dist/endpoints/search.d.ts.map +1 -0
- package/dist/endpoints/search.js +40 -0
- package/dist/endpoints/secrets.d.ts +95 -0
- package/dist/endpoints/secrets.d.ts.map +1 -0
- package/dist/endpoints/secrets.js +81 -0
- package/dist/endpoints/security.d.ts +231 -0
- package/dist/endpoints/security.d.ts.map +1 -0
- package/dist/endpoints/security.js +291 -0
- package/dist/endpoints/service-tokens.d.ts +392 -0
- package/dist/endpoints/service-tokens.d.ts.map +1 -0
- package/dist/endpoints/service-tokens.js +125 -0
- package/dist/endpoints/session-replay.d.ts +142 -0
- package/dist/endpoints/session-replay.d.ts.map +1 -0
- package/dist/endpoints/session-replay.js +53 -0
- package/dist/endpoints/storage-admin.d.ts +96 -0
- package/dist/endpoints/storage-admin.d.ts.map +1 -0
- package/dist/endpoints/storage-admin.js +113 -0
- package/dist/endpoints/storage.d.ts +167 -0
- package/dist/endpoints/storage.d.ts.map +1 -0
- package/dist/endpoints/storage.js +117 -0
- package/dist/endpoints/tasks.d.ts +141 -0
- package/dist/endpoints/tasks.d.ts.map +1 -0
- package/dist/endpoints/tasks.js +97 -0
- package/dist/endpoints/users.d.ts +103 -0
- package/dist/endpoints/users.d.ts.map +1 -0
- package/dist/endpoints/users.js +98 -0
- package/dist/endpoints/webhooks.d.ts +201 -0
- package/dist/endpoints/webhooks.d.ts.map +1 -0
- package/dist/endpoints/webhooks.js +120 -0
- package/dist/errors.d.ts +153 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +73 -0
- package/dist/index.d.ts +12303 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +390 -0
- package/dist/schemas/_primitives.d.ts +37 -0
- package/dist/schemas/_primitives.d.ts.map +1 -0
- package/dist/schemas/_primitives.js +38 -0
- package/dist/schemas/admin-ai-playground.d.ts +128 -0
- package/dist/schemas/admin-ai-playground.d.ts.map +1 -0
- package/dist/schemas/admin-ai-playground.js +84 -0
- package/dist/schemas/admin-anomalies.d.ts +131 -0
- package/dist/schemas/admin-anomalies.d.ts.map +1 -0
- package/dist/schemas/admin-anomalies.js +106 -0
- package/dist/schemas/admin-apm.d.ts +151 -0
- package/dist/schemas/admin-apm.d.ts.map +1 -0
- package/dist/schemas/admin-apm.js +96 -0
- package/dist/schemas/admin-audit.d.ts +625 -0
- package/dist/schemas/admin-audit.d.ts.map +1 -0
- package/dist/schemas/admin-audit.js +508 -0
- package/dist/schemas/admin-billing.d.ts +73 -0
- package/dist/schemas/admin-billing.d.ts.map +1 -0
- package/dist/schemas/admin-billing.js +60 -0
- package/dist/schemas/admin-bootstrap.d.ts +32 -0
- package/dist/schemas/admin-bootstrap.d.ts.map +1 -0
- package/dist/schemas/admin-bootstrap.js +37 -0
- package/dist/schemas/admin-broadcasts.d.ts +181 -0
- package/dist/schemas/admin-broadcasts.d.ts.map +1 -0
- package/dist/schemas/admin-broadcasts.js +93 -0
- package/dist/schemas/admin-builds.d.ts +108 -0
- package/dist/schemas/admin-builds.d.ts.map +1 -0
- package/dist/schemas/admin-builds.js +127 -0
- package/dist/schemas/admin-config.d.ts +248 -0
- package/dist/schemas/admin-config.d.ts.map +1 -0
- package/dist/schemas/admin-config.js +145 -0
- package/dist/schemas/admin-consent.d.ts +129 -0
- package/dist/schemas/admin-consent.d.ts.map +1 -0
- package/dist/schemas/admin-consent.js +76 -0
- package/dist/schemas/admin-env-services.d.ts +63 -0
- package/dist/schemas/admin-env-services.d.ts.map +1 -0
- package/dist/schemas/admin-env-services.js +81 -0
- package/dist/schemas/admin-impersonation.d.ts +150 -0
- package/dist/schemas/admin-impersonation.d.ts.map +1 -0
- package/dist/schemas/admin-impersonation.js +114 -0
- package/dist/schemas/admin-invitations.d.ts +119 -0
- package/dist/schemas/admin-invitations.d.ts.map +1 -0
- package/dist/schemas/admin-invitations.js +80 -0
- package/dist/schemas/admin-jwt-keys.d.ts +130 -0
- package/dist/schemas/admin-jwt-keys.d.ts.map +1 -0
- package/dist/schemas/admin-jwt-keys.js +83 -0
- package/dist/schemas/admin-logs.d.ts +170 -0
- package/dist/schemas/admin-logs.d.ts.map +1 -0
- package/dist/schemas/admin-logs.js +108 -0
- package/dist/schemas/admin-plans.d.ts +92 -0
- package/dist/schemas/admin-plans.d.ts.map +1 -0
- package/dist/schemas/admin-plans.js +62 -0
- package/dist/schemas/admin-project-users.d.ts +183 -0
- package/dist/schemas/admin-project-users.d.ts.map +1 -0
- package/dist/schemas/admin-project-users.js +108 -0
- package/dist/schemas/admin-projects.d.ts +237 -0
- package/dist/schemas/admin-projects.d.ts.map +1 -0
- package/dist/schemas/admin-projects.js +129 -0
- package/dist/schemas/admin-quotas.d.ts +161 -0
- package/dist/schemas/admin-quotas.d.ts.map +1 -0
- package/dist/schemas/admin-quotas.js +107 -0
- package/dist/schemas/admin-rate-limits.d.ts +90 -0
- package/dist/schemas/admin-rate-limits.d.ts.map +1 -0
- package/dist/schemas/admin-rate-limits.js +72 -0
- package/dist/schemas/admin-reconcile.d.ts +89 -0
- package/dist/schemas/admin-reconcile.d.ts.map +1 -0
- package/dist/schemas/admin-reconcile.js +86 -0
- package/dist/schemas/admin-resources.d.ts +129 -0
- package/dist/schemas/admin-resources.d.ts.map +1 -0
- package/dist/schemas/admin-resources.js +143 -0
- package/dist/schemas/admin-secrets.d.ts +113 -0
- package/dist/schemas/admin-secrets.d.ts.map +1 -0
- package/dist/schemas/admin-secrets.js +94 -0
- package/dist/schemas/admin-services.d.ts +71 -0
- package/dist/schemas/admin-services.d.ts.map +1 -0
- package/dist/schemas/admin-services.js +61 -0
- package/dist/schemas/admin-tasks.d.ts +239 -0
- package/dist/schemas/admin-tasks.d.ts.map +1 -0
- package/dist/schemas/admin-tasks.js +103 -0
- package/dist/schemas/admin-tenants.d.ts +45 -0
- package/dist/schemas/admin-tenants.d.ts.map +1 -0
- package/dist/schemas/admin-tenants.js +54 -0
- package/dist/schemas/admin-traces.d.ts +203 -0
- package/dist/schemas/admin-traces.d.ts.map +1 -0
- package/dist/schemas/admin-traces.js +128 -0
- package/dist/schemas/admin-users.d.ts +158 -0
- package/dist/schemas/admin-users.d.ts.map +1 -0
- package/dist/schemas/admin-users.js +110 -0
- package/dist/schemas/admin-webhook-signature-versions.d.ts +103 -0
- package/dist/schemas/admin-webhook-signature-versions.d.ts.map +1 -0
- package/dist/schemas/admin-webhook-signature-versions.js +73 -0
- package/dist/schemas/ai-admin.d.ts +39 -0
- package/dist/schemas/ai-admin.d.ts.map +1 -0
- package/dist/schemas/ai-admin.js +29 -0
- package/dist/schemas/ai.d.ts +120 -0
- package/dist/schemas/ai.d.ts.map +1 -0
- package/dist/schemas/ai.js +84 -0
- package/dist/schemas/analytics-admin.d.ts +104 -0
- package/dist/schemas/analytics-admin.d.ts.map +1 -0
- package/dist/schemas/analytics-admin.js +61 -0
- package/dist/schemas/analytics.d.ts +118 -0
- package/dist/schemas/analytics.d.ts.map +1 -0
- package/dist/schemas/analytics.js +80 -0
- package/dist/schemas/audit-chain.d.ts +81 -0
- package/dist/schemas/audit-chain.d.ts.map +1 -0
- package/dist/schemas/audit-chain.js +62 -0
- package/dist/schemas/auth-admin.d.ts +55 -0
- package/dist/schemas/auth-admin.d.ts.map +1 -0
- package/dist/schemas/auth-admin.js +48 -0
- package/dist/schemas/auth.d.ts +865 -0
- package/dist/schemas/auth.d.ts.map +1 -0
- package/dist/schemas/auth.js +815 -0
- package/dist/schemas/backups.d.ts +70 -0
- package/dist/schemas/backups.d.ts.map +1 -0
- package/dist/schemas/backups.js +38 -0
- package/dist/schemas/billing-console.d.ts +414 -0
- package/dist/schemas/billing-console.d.ts.map +1 -0
- package/dist/schemas/billing-console.js +298 -0
- package/dist/schemas/billing-settings.d.ts +156 -0
- package/dist/schemas/billing-settings.d.ts.map +1 -0
- package/dist/schemas/billing-settings.js +119 -0
- package/dist/schemas/billing.d.ts +211 -0
- package/dist/schemas/billing.d.ts.map +1 -0
- package/dist/schemas/billing.js +147 -0
- package/dist/schemas/branch-database.d.ts +98 -0
- package/dist/schemas/branch-database.d.ts.map +1 -0
- package/dist/schemas/branch-database.js +68 -0
- package/dist/schemas/challenge.d.ts +104 -0
- package/dist/schemas/challenge.d.ts.map +1 -0
- package/dist/schemas/challenge.js +74 -0
- package/dist/schemas/ci-settings.d.ts +122 -0
- package/dist/schemas/ci-settings.d.ts.map +1 -0
- package/dist/schemas/ci-settings.js +65 -0
- package/dist/schemas/consent-admin.d.ts +187 -0
- package/dist/schemas/consent-admin.d.ts.map +1 -0
- package/dist/schemas/consent-admin.js +114 -0
- package/dist/schemas/consent.d.ts +78 -0
- package/dist/schemas/consent.d.ts.map +1 -0
- package/dist/schemas/consent.js +68 -0
- package/dist/schemas/database.d.ts +104 -0
- package/dist/schemas/database.d.ts.map +1 -0
- package/dist/schemas/database.js +89 -0
- package/dist/schemas/deployment.d.ts +386 -0
- package/dist/schemas/deployment.d.ts.map +1 -0
- package/dist/schemas/deployment.js +282 -0
- package/dist/schemas/domain.d.ts +148 -0
- package/dist/schemas/domain.d.ts.map +1 -0
- package/dist/schemas/domain.js +86 -0
- package/dist/schemas/edge-deployments.d.ts +140 -0
- package/dist/schemas/edge-deployments.d.ts.map +1 -0
- package/dist/schemas/edge-deployments.js +87 -0
- package/dist/schemas/email-admin.d.ts +384 -0
- package/dist/schemas/email-admin.d.ts.map +1 -0
- package/dist/schemas/email-admin.js +313 -0
- package/dist/schemas/email.d.ts +46 -0
- package/dist/schemas/email.d.ts.map +1 -0
- package/dist/schemas/email.js +34 -0
- package/dist/schemas/engagement-admin.d.ts +148 -0
- package/dist/schemas/engagement-admin.d.ts.map +1 -0
- package/dist/schemas/engagement-admin.js +107 -0
- package/dist/schemas/env-var.d.ts +68 -0
- package/dist/schemas/env-var.d.ts.map +1 -0
- package/dist/schemas/env-var.js +52 -0
- package/dist/schemas/environment.d.ts +392 -0
- package/dist/schemas/environment.d.ts.map +1 -0
- package/dist/schemas/environment.js +211 -0
- package/dist/schemas/experiments.d.ts +540 -0
- package/dist/schemas/experiments.d.ts.map +1 -0
- package/dist/schemas/experiments.js +150 -0
- package/dist/schemas/flags-admin.d.ts +112 -0
- package/dist/schemas/flags-admin.d.ts.map +1 -0
- package/dist/schemas/flags-admin.js +84 -0
- package/dist/schemas/flags.d.ts +43 -0
- package/dist/schemas/flags.d.ts.map +1 -0
- package/dist/schemas/flags.js +27 -0
- package/dist/schemas/github.d.ts +34 -0
- package/dist/schemas/github.d.ts.map +1 -0
- package/dist/schemas/github.js +24 -0
- package/dist/schemas/ids.d.ts +39 -0
- package/dist/schemas/ids.d.ts.map +1 -0
- package/dist/schemas/ids.js +26 -0
- package/dist/schemas/image-opt.d.ts +70 -0
- package/dist/schemas/image-opt.d.ts.map +1 -0
- package/dist/schemas/image-opt.js +68 -0
- package/dist/schemas/kv-admin.d.ts +60 -0
- package/dist/schemas/kv-admin.d.ts.map +1 -0
- package/dist/schemas/kv-admin.js +43 -0
- package/dist/schemas/kv.d.ts +79 -0
- package/dist/schemas/kv.d.ts.map +1 -0
- package/dist/schemas/kv.js +54 -0
- package/dist/schemas/monitoring-admin.d.ts +314 -0
- package/dist/schemas/monitoring-admin.d.ts.map +1 -0
- package/dist/schemas/monitoring-admin.js +196 -0
- package/dist/schemas/monitoring.d.ts +143 -0
- package/dist/schemas/monitoring.d.ts.map +1 -0
- package/dist/schemas/monitoring.js +96 -0
- package/dist/schemas/newsletter.d.ts +366 -0
- package/dist/schemas/newsletter.d.ts.map +1 -0
- package/dist/schemas/newsletter.js +245 -0
- package/dist/schemas/notifications-admin.d.ts +337 -0
- package/dist/schemas/notifications-admin.d.ts.map +1 -0
- package/dist/schemas/notifications-admin.js +261 -0
- package/dist/schemas/notifications.d.ts +312 -0
- package/dist/schemas/notifications.d.ts.map +1 -0
- package/dist/schemas/notifications.js +235 -0
- package/dist/schemas/oidc.d.ts +74 -0
- package/dist/schemas/oidc.d.ts.map +1 -0
- package/dist/schemas/oidc.js +46 -0
- package/dist/schemas/organization-billing.d.ts +165 -0
- package/dist/schemas/organization-billing.d.ts.map +1 -0
- package/dist/schemas/organization-billing.js +156 -0
- package/dist/schemas/organization-project-users.d.ts +126 -0
- package/dist/schemas/organization-project-users.d.ts.map +1 -0
- package/dist/schemas/organization-project-users.js +88 -0
- package/dist/schemas/organization-projects.d.ts +129 -0
- package/dist/schemas/organization-projects.d.ts.map +1 -0
- package/dist/schemas/organization-projects.js +119 -0
- package/dist/schemas/organization-referrals.d.ts +129 -0
- package/dist/schemas/organization-referrals.d.ts.map +1 -0
- package/dist/schemas/organization-referrals.js +126 -0
- package/dist/schemas/organization-team.d.ts +123 -0
- package/dist/schemas/organization-team.d.ts.map +1 -0
- package/dist/schemas/organization-team.js +119 -0
- package/dist/schemas/organization.d.ts +210 -0
- package/dist/schemas/organization.d.ts.map +1 -0
- package/dist/schemas/organization.js +169 -0
- package/dist/schemas/plans.d.ts +211 -0
- package/dist/schemas/plans.d.ts.map +1 -0
- package/dist/schemas/plans.js +131 -0
- package/dist/schemas/privacy.d.ts +174 -0
- package/dist/schemas/privacy.d.ts.map +1 -0
- package/dist/schemas/privacy.js +132 -0
- package/dist/schemas/project-manifest.d.ts +1421 -0
- package/dist/schemas/project-manifest.d.ts.map +1 -0
- package/dist/schemas/project-manifest.js +318 -0
- package/dist/schemas/project.d.ts +132 -0
- package/dist/schemas/project.d.ts.map +1 -0
- package/dist/schemas/project.js +76 -0
- package/dist/schemas/realtime-admin.d.ts +51 -0
- package/dist/schemas/realtime-admin.d.ts.map +1 -0
- package/dist/schemas/realtime-admin.js +29 -0
- package/dist/schemas/realtime.d.ts +46 -0
- package/dist/schemas/realtime.d.ts.map +1 -0
- package/dist/schemas/realtime.js +32 -0
- package/dist/schemas/referrals-admin.d.ts +166 -0
- package/dist/schemas/referrals-admin.d.ts.map +1 -0
- package/dist/schemas/referrals-admin.js +123 -0
- package/dist/schemas/referrals.d.ts +148 -0
- package/dist/schemas/referrals.d.ts.map +1 -0
- package/dist/schemas/referrals.js +102 -0
- package/dist/schemas/refresh.d.ts +29 -0
- package/dist/schemas/refresh.d.ts.map +1 -0
- package/dist/schemas/refresh.js +18 -0
- package/dist/schemas/region.d.ts +118 -0
- package/dist/schemas/region.d.ts.map +1 -0
- package/dist/schemas/region.js +86 -0
- package/dist/schemas/resources.d.ts +345 -0
- package/dist/schemas/resources.d.ts.map +1 -0
- package/dist/schemas/resources.js +220 -0
- package/dist/schemas/runners.d.ts +93 -0
- package/dist/schemas/runners.d.ts.map +1 -0
- package/dist/schemas/runners.js +49 -0
- package/dist/schemas/saml.d.ts +254 -0
- package/dist/schemas/saml.d.ts.map +1 -0
- package/dist/schemas/saml.js +159 -0
- package/dist/schemas/search.d.ts +96 -0
- package/dist/schemas/search.d.ts.map +1 -0
- package/dist/schemas/search.js +57 -0
- package/dist/schemas/secret.d.ts +101 -0
- package/dist/schemas/secret.d.ts.map +1 -0
- package/dist/schemas/secret.js +79 -0
- package/dist/schemas/security.d.ts +345 -0
- package/dist/schemas/security.d.ts.map +1 -0
- package/dist/schemas/security.js +248 -0
- package/dist/schemas/service-tokens.d.ts +342 -0
- package/dist/schemas/service-tokens.d.ts.map +1 -0
- package/dist/schemas/service-tokens.js +101 -0
- package/dist/schemas/session-replay.d.ts +285 -0
- package/dist/schemas/session-replay.d.ts.map +1 -0
- package/dist/schemas/session-replay.js +145 -0
- package/dist/schemas/storage-admin.d.ts +351 -0
- package/dist/schemas/storage-admin.d.ts.map +1 -0
- package/dist/schemas/storage-admin.js +197 -0
- package/dist/schemas/storage.d.ts +257 -0
- package/dist/schemas/storage.d.ts.map +1 -0
- package/dist/schemas/storage.js +173 -0
- package/dist/schemas/tasks.d.ts +178 -0
- package/dist/schemas/tasks.d.ts.map +1 -0
- package/dist/schemas/tasks.js +102 -0
- package/dist/schemas/user.d.ts +103 -0
- package/dist/schemas/user.d.ts.map +1 -0
- package/dist/schemas/user.js +79 -0
- package/dist/schemas/webhooks.d.ts +259 -0
- package/dist/schemas/webhooks.d.ts.map +1 -0
- package/dist/schemas/webhooks.js +198 -0
- package/package.json +154 -0
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Billing — BaaS plane schemas for the deployed-app SDK (`@sylphx/sdk`).
|
|
3
|
+
* Mirrors the runtime API at `GET /billing/plans`, `/billing/subscription`,
|
|
4
|
+
* `POST /billing/checkout`, `/billing/portal`, `GET /billing/balance`,
|
|
5
|
+
* `/billing/usage` (see `apps/runtime/src/server/runtime/schemas/billing.ts`).
|
|
6
|
+
*
|
|
7
|
+
* Distinct from `billing-console.ts` (Management plane; Console UI / dev
|
|
8
|
+
* subscription management), `billing-settings.ts` (org billing configuration),
|
|
9
|
+
* and `admin-billing.ts` (super-admin cross-org ops). The BaaS surface is the
|
|
10
|
+
* end-user subscription flow a deployed application exposes to *its* users —
|
|
11
|
+
* the plan catalog shape, checkout/portal envelope, and balance/usage metrics
|
|
12
|
+
* all evolve independently of the Console counterparts (different enum
|
|
13
|
+
* values, different field names, different envelope keys).
|
|
14
|
+
*
|
|
15
|
+
* Names are prefixed `SdkBilling*` to disambiguate from the Management-plane
|
|
16
|
+
* `BillingPlan` / `Subscription` symbols that share the contract barrel.
|
|
17
|
+
*/
|
|
18
|
+
import { Schema } from 'effect';
|
|
19
|
+
/** Billing interval for the end-user subscription. */
|
|
20
|
+
export declare const SdkBillingInterval: Schema.Literal<["monthly", "annual", "lifetime"]>;
|
|
21
|
+
export type SdkBillingInterval = typeof SdkBillingInterval.Type;
|
|
22
|
+
/** Lifecycle status for a BaaS-plane subscription (note: spells `canceled`,
|
|
23
|
+
* whereas the Console plane uses `cancelled` — reflects the underlying REST
|
|
24
|
+
* contract). */
|
|
25
|
+
export declare const SdkBillingSubscriptionStatus: Schema.Literal<["active", "canceled", "past_due", "incomplete", "trialing", "paused"]>;
|
|
26
|
+
export type SdkBillingSubscriptionStatus = typeof SdkBillingSubscriptionStatus.Type;
|
|
27
|
+
/** Health status bucket for the end-user balance response. */
|
|
28
|
+
export declare const SdkBillingStatusLevel: Schema.Literal<["healthy", "low", "critical", "exhausted"]>;
|
|
29
|
+
export type SdkBillingStatusLevel = typeof SdkBillingStatusLevel.Type;
|
|
30
|
+
/** Billing type surfaced to the deployed app. */
|
|
31
|
+
export declare const SdkBillingType: Schema.Literal<["prepaid", "postpaid", "enterprise"]>;
|
|
32
|
+
export type SdkBillingType = typeof SdkBillingType.Type;
|
|
33
|
+
/** Trust level surfaced to the deployed app (note literal values differ from
|
|
34
|
+
* the Console-plane `TrustLevel` — `standard` here vs `verified` there). */
|
|
35
|
+
export declare const SdkBillingTrustLevel: Schema.Literal<["new", "standard", "trusted", "enterprise"]>;
|
|
36
|
+
export type SdkBillingTrustLevel = typeof SdkBillingTrustLevel.Type;
|
|
37
|
+
/** Single plan row exposed to the deployed app's subscription UI. Note the
|
|
38
|
+
* `monthlyPrice` / `annualPrice` / `lifetimePrice` field names (Console uses
|
|
39
|
+
* `priceMonthly` / `priceAnnual` / `priceLifetime`). */
|
|
40
|
+
export declare const SdkBillingPlan: Schema.Struct<{
|
|
41
|
+
id: typeof Schema.String;
|
|
42
|
+
slug: typeof Schema.String;
|
|
43
|
+
name: typeof Schema.String;
|
|
44
|
+
description: Schema.NullOr<typeof Schema.String>;
|
|
45
|
+
features: Schema.Array$<typeof Schema.String>;
|
|
46
|
+
monthlyPrice: typeof Schema.Number;
|
|
47
|
+
annualPrice: typeof Schema.Number;
|
|
48
|
+
lifetimePrice: Schema.NullOr<typeof Schema.Number>;
|
|
49
|
+
isPopular: typeof Schema.Boolean;
|
|
50
|
+
isActive: typeof Schema.Boolean;
|
|
51
|
+
sortOrder: typeof Schema.Number;
|
|
52
|
+
}>;
|
|
53
|
+
export type SdkBillingPlan = typeof SdkBillingPlan.Type;
|
|
54
|
+
/** `GET /billing/plans` response — flat array (no envelope). */
|
|
55
|
+
export declare const BillingPlansListResponse: Schema.Array$<Schema.Struct<{
|
|
56
|
+
id: typeof Schema.String;
|
|
57
|
+
slug: typeof Schema.String;
|
|
58
|
+
name: typeof Schema.String;
|
|
59
|
+
description: Schema.NullOr<typeof Schema.String>;
|
|
60
|
+
features: Schema.Array$<typeof Schema.String>;
|
|
61
|
+
monthlyPrice: typeof Schema.Number;
|
|
62
|
+
annualPrice: typeof Schema.Number;
|
|
63
|
+
lifetimePrice: Schema.NullOr<typeof Schema.Number>;
|
|
64
|
+
isPopular: typeof Schema.Boolean;
|
|
65
|
+
isActive: typeof Schema.Boolean;
|
|
66
|
+
sortOrder: typeof Schema.Number;
|
|
67
|
+
}>>;
|
|
68
|
+
export type BillingPlansListResponse = typeof BillingPlansListResponse.Type;
|
|
69
|
+
/** Resolved subscription for a single end user. */
|
|
70
|
+
export declare const SdkBillingSubscription: Schema.Struct<{
|
|
71
|
+
id: typeof Schema.String;
|
|
72
|
+
userId: typeof Schema.String;
|
|
73
|
+
planId: typeof Schema.String;
|
|
74
|
+
planSlug: typeof Schema.String;
|
|
75
|
+
planName: typeof Schema.String;
|
|
76
|
+
status: Schema.Literal<["active", "canceled", "past_due", "incomplete", "trialing", "paused"]>;
|
|
77
|
+
interval: Schema.Literal<["monthly", "annual", "lifetime"]>;
|
|
78
|
+
currentPeriodStart: Schema.NullOr<typeof Schema.String>;
|
|
79
|
+
currentPeriodEnd: Schema.NullOr<typeof Schema.String>;
|
|
80
|
+
cancelAtPeriodEnd: typeof Schema.Boolean;
|
|
81
|
+
trialEnd: Schema.NullOr<typeof Schema.String>;
|
|
82
|
+
}>;
|
|
83
|
+
export type SdkBillingSubscription = typeof SdkBillingSubscription.Type;
|
|
84
|
+
/** `GET /billing/subscription` response — `null` when the user has none. */
|
|
85
|
+
export declare const BillingSubscriptionResponse: Schema.NullOr<Schema.Struct<{
|
|
86
|
+
id: typeof Schema.String;
|
|
87
|
+
userId: typeof Schema.String;
|
|
88
|
+
planId: typeof Schema.String;
|
|
89
|
+
planSlug: typeof Schema.String;
|
|
90
|
+
planName: typeof Schema.String;
|
|
91
|
+
status: Schema.Literal<["active", "canceled", "past_due", "incomplete", "trialing", "paused"]>;
|
|
92
|
+
interval: Schema.Literal<["monthly", "annual", "lifetime"]>;
|
|
93
|
+
currentPeriodStart: Schema.NullOr<typeof Schema.String>;
|
|
94
|
+
currentPeriodEnd: Schema.NullOr<typeof Schema.String>;
|
|
95
|
+
cancelAtPeriodEnd: typeof Schema.Boolean;
|
|
96
|
+
trialEnd: Schema.NullOr<typeof Schema.String>;
|
|
97
|
+
}>>;
|
|
98
|
+
export type BillingSubscriptionResponse = typeof BillingSubscriptionResponse.Type;
|
|
99
|
+
/** `POST /billing/checkout` request body. */
|
|
100
|
+
export declare const BillingCheckoutRequest: Schema.Struct<{
|
|
101
|
+
userId: typeof Schema.String;
|
|
102
|
+
planSlug: typeof Schema.String;
|
|
103
|
+
interval: Schema.Literal<["monthly", "annual", "lifetime"]>;
|
|
104
|
+
successUrl: typeof Schema.String;
|
|
105
|
+
cancelUrl: typeof Schema.String;
|
|
106
|
+
}>;
|
|
107
|
+
export type BillingCheckoutRequest = typeof BillingCheckoutRequest.Type;
|
|
108
|
+
/** `POST /billing/checkout` response — Stripe session URL + id. */
|
|
109
|
+
export declare const BillingCheckoutResponse: Schema.Struct<{
|
|
110
|
+
checkoutUrl: Schema.NullOr<typeof Schema.String>;
|
|
111
|
+
sessionId: typeof Schema.String;
|
|
112
|
+
}>;
|
|
113
|
+
export type BillingCheckoutResponse = typeof BillingCheckoutResponse.Type;
|
|
114
|
+
/** `POST /billing/portal` request body. */
|
|
115
|
+
export declare const BillingPortalRequest: Schema.Struct<{
|
|
116
|
+
userId: typeof Schema.String;
|
|
117
|
+
returnUrl: typeof Schema.String;
|
|
118
|
+
}>;
|
|
119
|
+
export type BillingPortalRequest = typeof BillingPortalRequest.Type;
|
|
120
|
+
/** `POST /billing/portal` response — Stripe portal URL. */
|
|
121
|
+
export declare const BillingPortalResponse: Schema.Struct<{
|
|
122
|
+
portalUrl: typeof Schema.String;
|
|
123
|
+
}>;
|
|
124
|
+
export type BillingPortalResponse = typeof BillingPortalResponse.Type;
|
|
125
|
+
/** Balance envelope — microdollars + pre-formatted display string. */
|
|
126
|
+
export declare const SdkBillingBalanceInfo: Schema.Struct<{
|
|
127
|
+
current: typeof Schema.Number;
|
|
128
|
+
currentFormatted: typeof Schema.String;
|
|
129
|
+
}>;
|
|
130
|
+
export type SdkBillingBalanceInfo = typeof SdkBillingBalanceInfo.Type;
|
|
131
|
+
/** Status envelope for the end-user balance response. */
|
|
132
|
+
export declare const SdkBillingStatusInfo: Schema.Struct<{
|
|
133
|
+
level: Schema.Literal<["healthy", "low", "critical", "exhausted"]>;
|
|
134
|
+
isHealthy: typeof Schema.Boolean;
|
|
135
|
+
isLow: typeof Schema.Boolean;
|
|
136
|
+
alertThreshold: typeof Schema.Number;
|
|
137
|
+
}>;
|
|
138
|
+
export type SdkBillingStatusInfo = typeof SdkBillingStatusInfo.Type;
|
|
139
|
+
/** `GET /billing/balance` response. */
|
|
140
|
+
export declare const BillingBalanceResponse: Schema.Struct<{
|
|
141
|
+
balance: Schema.Struct<{
|
|
142
|
+
current: typeof Schema.Number;
|
|
143
|
+
currentFormatted: typeof Schema.String;
|
|
144
|
+
}>;
|
|
145
|
+
status: Schema.Struct<{
|
|
146
|
+
level: Schema.Literal<["healthy", "low", "critical", "exhausted"]>;
|
|
147
|
+
isHealthy: typeof Schema.Boolean;
|
|
148
|
+
isLow: typeof Schema.Boolean;
|
|
149
|
+
alertThreshold: typeof Schema.Number;
|
|
150
|
+
}>;
|
|
151
|
+
billingType: Schema.Literal<["prepaid", "postpaid", "enterprise"]>;
|
|
152
|
+
trustLevel: Schema.Literal<["new", "standard", "trusted", "enterprise"]>;
|
|
153
|
+
spendingCap: Schema.NullOr<typeof Schema.Number>;
|
|
154
|
+
currentMonthSpend: typeof Schema.Number;
|
|
155
|
+
spendingCapPercent: Schema.NullOr<typeof Schema.Number>;
|
|
156
|
+
gracePeriodEndsAt: Schema.NullOr<typeof Schema.String>;
|
|
157
|
+
isAdminOrg: typeof Schema.Boolean;
|
|
158
|
+
}>;
|
|
159
|
+
export type BillingBalanceResponse = typeof BillingBalanceResponse.Type;
|
|
160
|
+
/** Usage period info — currently fixed to `month`. */
|
|
161
|
+
export declare const SdkBillingUsagePeriod: Schema.Struct<{
|
|
162
|
+
type: Schema.Literal<["month"]>;
|
|
163
|
+
start: typeof Schema.String;
|
|
164
|
+
end: typeof Schema.String;
|
|
165
|
+
}>;
|
|
166
|
+
export type SdkBillingUsagePeriod = typeof SdkBillingUsagePeriod.Type;
|
|
167
|
+
/** Per-service usage metrics for the current billing period. */
|
|
168
|
+
export declare const SdkBillingUsageMetrics: Schema.Struct<{
|
|
169
|
+
aiCostMicrodollars: typeof Schema.Number;
|
|
170
|
+
storageBytesUsed: typeof Schema.Number;
|
|
171
|
+
storageEgressBytes: typeof Schema.Number;
|
|
172
|
+
storageUploads: typeof Schema.Number;
|
|
173
|
+
dbStorageBytes: typeof Schema.Number;
|
|
174
|
+
dbComputeSeconds: typeof Schema.Number;
|
|
175
|
+
emailSentCount: typeof Schema.Number;
|
|
176
|
+
jobInvocationCount: typeof Schema.Number;
|
|
177
|
+
cronActiveCount: typeof Schema.Number;
|
|
178
|
+
notificationsSentCount: typeof Schema.Number;
|
|
179
|
+
analyticsEventCount: typeof Schema.Number;
|
|
180
|
+
webhookDeliveryCount: typeof Schema.Number;
|
|
181
|
+
errorEventCount: typeof Schema.Number;
|
|
182
|
+
authMau: typeof Schema.Number;
|
|
183
|
+
}>;
|
|
184
|
+
export type SdkBillingUsageMetrics = typeof SdkBillingUsageMetrics.Type;
|
|
185
|
+
/** `GET /billing/usage` response — `metrics` is `null` when no usage data
|
|
186
|
+
* exists for the period. */
|
|
187
|
+
export declare const BillingUsageResponse: Schema.Struct<{
|
|
188
|
+
period: Schema.Struct<{
|
|
189
|
+
type: Schema.Literal<["month"]>;
|
|
190
|
+
start: typeof Schema.String;
|
|
191
|
+
end: typeof Schema.String;
|
|
192
|
+
}>;
|
|
193
|
+
metrics: Schema.NullOr<Schema.Struct<{
|
|
194
|
+
aiCostMicrodollars: typeof Schema.Number;
|
|
195
|
+
storageBytesUsed: typeof Schema.Number;
|
|
196
|
+
storageEgressBytes: typeof Schema.Number;
|
|
197
|
+
storageUploads: typeof Schema.Number;
|
|
198
|
+
dbStorageBytes: typeof Schema.Number;
|
|
199
|
+
dbComputeSeconds: typeof Schema.Number;
|
|
200
|
+
emailSentCount: typeof Schema.Number;
|
|
201
|
+
jobInvocationCount: typeof Schema.Number;
|
|
202
|
+
cronActiveCount: typeof Schema.Number;
|
|
203
|
+
notificationsSentCount: typeof Schema.Number;
|
|
204
|
+
analyticsEventCount: typeof Schema.Number;
|
|
205
|
+
webhookDeliveryCount: typeof Schema.Number;
|
|
206
|
+
errorEventCount: typeof Schema.Number;
|
|
207
|
+
authMau: typeof Schema.Number;
|
|
208
|
+
}>>;
|
|
209
|
+
}>;
|
|
210
|
+
export type BillingUsageResponse = typeof BillingUsageResponse.Type;
|
|
211
|
+
//# sourceMappingURL=billing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../src/schemas/billing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAI/B,sDAAsD;AACtD,eAAO,MAAM,kBAAkB,mDAAkD,CAAA;AACjF,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAA;AAE/D;;gBAEgB;AAChB,eAAO,MAAM,4BAA4B,wFAOxC,CAAA;AACD,MAAM,MAAM,4BAA4B,GAAG,OAAO,4BAA4B,CAAC,IAAI,CAAA;AAEnF,8DAA8D;AAC9D,eAAO,MAAM,qBAAqB,6DAA4D,CAAA;AAC9F,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAErE,iDAAiD;AACjD,eAAO,MAAM,cAAc,uDAAsD,CAAA;AACjF,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD;4EAC4E;AAC5E,eAAO,MAAM,oBAAoB,8DAA6D,CAAA;AAC9F,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAC,IAAI,CAAA;AAInE;;wDAEwD;AACxD,eAAO,MAAM,cAAc;;;;;;;;;;;;EAYzB,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD,gEAAgE;AAChE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;GAA+B,CAAA;AACpE,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA;AAI3E,mDAAmD;AACnD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAYjC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AAEvE,4EAA4E;AAC5E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;GAAwC,CAAA;AAChF,MAAM,MAAM,2BAA2B,GAAG,OAAO,2BAA2B,CAAC,IAAI,CAAA;AAIjF,6CAA6C;AAC7C,eAAO,MAAM,sBAAsB;;;;;;EAMjC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AAEvE,mEAAmE;AACnE,eAAO,MAAM,uBAAuB;;;EAGlC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAIzE,2CAA2C;AAC3C,eAAO,MAAM,oBAAoB;;;EAG/B,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAC,IAAI,CAAA;AAEnE,2DAA2D;AAC3D,eAAO,MAAM,qBAAqB;;EAEhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAIrE,sEAAsE;AACtE,eAAO,MAAM,qBAAqB;;;EAGhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAErE,yDAAyD;AACzD,eAAO,MAAM,oBAAoB;;;;;EAK/B,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAC,IAAI,CAAA;AAEnE,uCAAuC;AACvC,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;EAUjC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AAIvE,sDAAsD;AACtD,eAAO,MAAM,qBAAqB;;;;EAIhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAErE,gEAAgE;AAChE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;EAejC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AAEvE;4BAC4B;AAC5B,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;EAG/B,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAC,IAAI,CAAA"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Billing — BaaS plane schemas for the deployed-app SDK (`@sylphx/sdk`).
|
|
3
|
+
* Mirrors the runtime API at `GET /billing/plans`, `/billing/subscription`,
|
|
4
|
+
* `POST /billing/checkout`, `/billing/portal`, `GET /billing/balance`,
|
|
5
|
+
* `/billing/usage` (see `apps/runtime/src/server/runtime/schemas/billing.ts`).
|
|
6
|
+
*
|
|
7
|
+
* Distinct from `billing-console.ts` (Management plane; Console UI / dev
|
|
8
|
+
* subscription management), `billing-settings.ts` (org billing configuration),
|
|
9
|
+
* and `admin-billing.ts` (super-admin cross-org ops). The BaaS surface is the
|
|
10
|
+
* end-user subscription flow a deployed application exposes to *its* users —
|
|
11
|
+
* the plan catalog shape, checkout/portal envelope, and balance/usage metrics
|
|
12
|
+
* all evolve independently of the Console counterparts (different enum
|
|
13
|
+
* values, different field names, different envelope keys).
|
|
14
|
+
*
|
|
15
|
+
* Names are prefixed `SdkBilling*` to disambiguate from the Management-plane
|
|
16
|
+
* `BillingPlan` / `Subscription` symbols that share the contract barrel.
|
|
17
|
+
*/
|
|
18
|
+
import { Schema } from 'effect';
|
|
19
|
+
// ── Enums ──────────────────────────────────────────────────────────────────
|
|
20
|
+
/** Billing interval for the end-user subscription. */
|
|
21
|
+
export const SdkBillingInterval = Schema.Literal('monthly', 'annual', 'lifetime');
|
|
22
|
+
/** Lifecycle status for a BaaS-plane subscription (note: spells `canceled`,
|
|
23
|
+
* whereas the Console plane uses `cancelled` — reflects the underlying REST
|
|
24
|
+
* contract). */
|
|
25
|
+
export const SdkBillingSubscriptionStatus = Schema.Literal('active', 'canceled', 'past_due', 'incomplete', 'trialing', 'paused');
|
|
26
|
+
/** Health status bucket for the end-user balance response. */
|
|
27
|
+
export const SdkBillingStatusLevel = Schema.Literal('healthy', 'low', 'critical', 'exhausted');
|
|
28
|
+
/** Billing type surfaced to the deployed app. */
|
|
29
|
+
export const SdkBillingType = Schema.Literal('prepaid', 'postpaid', 'enterprise');
|
|
30
|
+
/** Trust level surfaced to the deployed app (note literal values differ from
|
|
31
|
+
* the Console-plane `TrustLevel` — `standard` here vs `verified` there). */
|
|
32
|
+
export const SdkBillingTrustLevel = Schema.Literal('new', 'standard', 'trusted', 'enterprise');
|
|
33
|
+
// ── Plan catalog (`GET /billing/plans`) ───────────────────────────────────
|
|
34
|
+
/** Single plan row exposed to the deployed app's subscription UI. Note the
|
|
35
|
+
* `monthlyPrice` / `annualPrice` / `lifetimePrice` field names (Console uses
|
|
36
|
+
* `priceMonthly` / `priceAnnual` / `priceLifetime`). */
|
|
37
|
+
export const SdkBillingPlan = Schema.Struct({
|
|
38
|
+
id: Schema.String,
|
|
39
|
+
slug: Schema.String,
|
|
40
|
+
name: Schema.String,
|
|
41
|
+
description: Schema.NullOr(Schema.String),
|
|
42
|
+
features: Schema.Array(Schema.String),
|
|
43
|
+
monthlyPrice: Schema.Number,
|
|
44
|
+
annualPrice: Schema.Number,
|
|
45
|
+
lifetimePrice: Schema.NullOr(Schema.Number),
|
|
46
|
+
isPopular: Schema.Boolean,
|
|
47
|
+
isActive: Schema.Boolean,
|
|
48
|
+
sortOrder: Schema.Number,
|
|
49
|
+
});
|
|
50
|
+
/** `GET /billing/plans` response — flat array (no envelope). */
|
|
51
|
+
export const BillingPlansListResponse = Schema.Array(SdkBillingPlan);
|
|
52
|
+
// ── Subscription (`GET /billing/subscription`) ────────────────────────────
|
|
53
|
+
/** Resolved subscription for a single end user. */
|
|
54
|
+
export const SdkBillingSubscription = Schema.Struct({
|
|
55
|
+
id: Schema.String,
|
|
56
|
+
userId: Schema.String,
|
|
57
|
+
planId: Schema.String,
|
|
58
|
+
planSlug: Schema.String,
|
|
59
|
+
planName: Schema.String,
|
|
60
|
+
status: SdkBillingSubscriptionStatus,
|
|
61
|
+
interval: SdkBillingInterval,
|
|
62
|
+
currentPeriodStart: Schema.NullOr(Schema.String),
|
|
63
|
+
currentPeriodEnd: Schema.NullOr(Schema.String),
|
|
64
|
+
cancelAtPeriodEnd: Schema.Boolean,
|
|
65
|
+
trialEnd: Schema.NullOr(Schema.String),
|
|
66
|
+
});
|
|
67
|
+
/** `GET /billing/subscription` response — `null` when the user has none. */
|
|
68
|
+
export const BillingSubscriptionResponse = Schema.NullOr(SdkBillingSubscription);
|
|
69
|
+
// ── Checkout (`POST /billing/checkout`) ───────────────────────────────────
|
|
70
|
+
/** `POST /billing/checkout` request body. */
|
|
71
|
+
export const BillingCheckoutRequest = Schema.Struct({
|
|
72
|
+
userId: Schema.String,
|
|
73
|
+
planSlug: Schema.String,
|
|
74
|
+
interval: SdkBillingInterval,
|
|
75
|
+
successUrl: Schema.String,
|
|
76
|
+
cancelUrl: Schema.String,
|
|
77
|
+
});
|
|
78
|
+
/** `POST /billing/checkout` response — Stripe session URL + id. */
|
|
79
|
+
export const BillingCheckoutResponse = Schema.Struct({
|
|
80
|
+
checkoutUrl: Schema.NullOr(Schema.String),
|
|
81
|
+
sessionId: Schema.String,
|
|
82
|
+
});
|
|
83
|
+
// ── Portal (`POST /billing/portal`) ───────────────────────────────────────
|
|
84
|
+
/** `POST /billing/portal` request body. */
|
|
85
|
+
export const BillingPortalRequest = Schema.Struct({
|
|
86
|
+
userId: Schema.String,
|
|
87
|
+
returnUrl: Schema.String,
|
|
88
|
+
});
|
|
89
|
+
/** `POST /billing/portal` response — Stripe portal URL. */
|
|
90
|
+
export const BillingPortalResponse = Schema.Struct({
|
|
91
|
+
portalUrl: Schema.String,
|
|
92
|
+
});
|
|
93
|
+
// ── Balance (`GET /billing/balance`) ──────────────────────────────────────
|
|
94
|
+
/** Balance envelope — microdollars + pre-formatted display string. */
|
|
95
|
+
export const SdkBillingBalanceInfo = Schema.Struct({
|
|
96
|
+
current: Schema.Number,
|
|
97
|
+
currentFormatted: Schema.String,
|
|
98
|
+
});
|
|
99
|
+
/** Status envelope for the end-user balance response. */
|
|
100
|
+
export const SdkBillingStatusInfo = Schema.Struct({
|
|
101
|
+
level: SdkBillingStatusLevel,
|
|
102
|
+
isHealthy: Schema.Boolean,
|
|
103
|
+
isLow: Schema.Boolean,
|
|
104
|
+
alertThreshold: Schema.Number,
|
|
105
|
+
});
|
|
106
|
+
/** `GET /billing/balance` response. */
|
|
107
|
+
export const BillingBalanceResponse = Schema.Struct({
|
|
108
|
+
balance: SdkBillingBalanceInfo,
|
|
109
|
+
status: SdkBillingStatusInfo,
|
|
110
|
+
billingType: SdkBillingType,
|
|
111
|
+
trustLevel: SdkBillingTrustLevel,
|
|
112
|
+
spendingCap: Schema.NullOr(Schema.Number),
|
|
113
|
+
currentMonthSpend: Schema.Number,
|
|
114
|
+
spendingCapPercent: Schema.NullOr(Schema.Number),
|
|
115
|
+
gracePeriodEndsAt: Schema.NullOr(Schema.String),
|
|
116
|
+
isAdminOrg: Schema.Boolean,
|
|
117
|
+
});
|
|
118
|
+
// ── Usage (`GET /billing/usage`) ──────────────────────────────────────────
|
|
119
|
+
/** Usage period info — currently fixed to `month`. */
|
|
120
|
+
export const SdkBillingUsagePeriod = Schema.Struct({
|
|
121
|
+
type: Schema.Literal('month'),
|
|
122
|
+
start: Schema.String,
|
|
123
|
+
end: Schema.String,
|
|
124
|
+
});
|
|
125
|
+
/** Per-service usage metrics for the current billing period. */
|
|
126
|
+
export const SdkBillingUsageMetrics = Schema.Struct({
|
|
127
|
+
aiCostMicrodollars: Schema.Number,
|
|
128
|
+
storageBytesUsed: Schema.Number,
|
|
129
|
+
storageEgressBytes: Schema.Number,
|
|
130
|
+
storageUploads: Schema.Number,
|
|
131
|
+
dbStorageBytes: Schema.Number,
|
|
132
|
+
dbComputeSeconds: Schema.Number,
|
|
133
|
+
emailSentCount: Schema.Number,
|
|
134
|
+
jobInvocationCount: Schema.Number,
|
|
135
|
+
cronActiveCount: Schema.Number,
|
|
136
|
+
notificationsSentCount: Schema.Number,
|
|
137
|
+
analyticsEventCount: Schema.Number,
|
|
138
|
+
webhookDeliveryCount: Schema.Number,
|
|
139
|
+
errorEventCount: Schema.Number,
|
|
140
|
+
authMau: Schema.Number,
|
|
141
|
+
});
|
|
142
|
+
/** `GET /billing/usage` response — `metrics` is `null` when no usage data
|
|
143
|
+
* exists for the period. */
|
|
144
|
+
export const BillingUsageResponse = Schema.Struct({
|
|
145
|
+
period: SdkBillingUsagePeriod,
|
|
146
|
+
metrics: Schema.NullOr(SdkBillingUsageMetrics),
|
|
147
|
+
});
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Branch Database — per-preview-env Postgres branch (P0 Gap #2).
|
|
3
|
+
*
|
|
4
|
+
* Schema SSOT for the "branch DB per preview env" feature documented in
|
|
5
|
+
* `docs/design/branch-db-per-preview.md`. Every branch database is a
|
|
6
|
+
* short-lived Postgres instance cloned from a source DB (usually prod) via
|
|
7
|
+
* Rook-Ceph RBD snapshot + CNPG volume bootstrap. Lifecycle is tied to the
|
|
8
|
+
* preview env — destroying the env GCs the branch.
|
|
9
|
+
*
|
|
10
|
+
* Plane: `management` (CRUD). BaaS runtime reads `DATABASE_URL` via secrets.
|
|
11
|
+
*/
|
|
12
|
+
import { Schema } from 'effect';
|
|
13
|
+
/**
|
|
14
|
+
* Data scope requested at create time — mirrors the CLI `--with-data` flag.
|
|
15
|
+
* - `none` — schema only; truncate all user tables after clone opens.
|
|
16
|
+
* - `last-1d` — keep last 24h of rows (opt-in, heuristic).
|
|
17
|
+
* - `last-7d` — keep last 7 days of rows (opt-in, heuristic).
|
|
18
|
+
* - `all` — full prod data (gated behind org-admin confirm).
|
|
19
|
+
*/
|
|
20
|
+
export declare const BranchDatabaseDataMode: Schema.Literal<["none", "last-1d", "last-7d", "all"]>;
|
|
21
|
+
export type BranchDatabaseDataMode = typeof BranchDatabaseDataMode.Type;
|
|
22
|
+
/**
|
|
23
|
+
* Lifecycle state mirrored from `branch_databases.status`.
|
|
24
|
+
* - `provisioning` — controller has picked it up, snapshot in-flight.
|
|
25
|
+
* - `ready` — Postgres running, connection string available.
|
|
26
|
+
* - `destroyed` — tombstone row; CNPG CR deleted + PVC reclaimed.
|
|
27
|
+
* - `degraded` — provisioning/teardown failure; manual unblock required.
|
|
28
|
+
*/
|
|
29
|
+
export declare const BranchDatabaseStatus: Schema.Literal<["provisioning", "ready", "destroyed", "degraded"]>;
|
|
30
|
+
export type BranchDatabaseStatus = typeof BranchDatabaseStatus.Type;
|
|
31
|
+
/**
|
|
32
|
+
* Branch database response shape. `connectionString` is null until the branch
|
|
33
|
+
* reaches `ready` — the API decrypts it on read per-request; never returns
|
|
34
|
+
* the encrypted-at-rest value.
|
|
35
|
+
*/
|
|
36
|
+
export declare const BranchDatabase: Schema.Struct<{
|
|
37
|
+
id: typeof Schema.String;
|
|
38
|
+
projectId: typeof Schema.String;
|
|
39
|
+
envId: typeof Schema.String;
|
|
40
|
+
sourceDbId: typeof Schema.String;
|
|
41
|
+
cnpgClusterName: Schema.NullOr<typeof Schema.String>;
|
|
42
|
+
connectionString: Schema.NullOr<typeof Schema.String>;
|
|
43
|
+
dataMode: Schema.Literal<["none", "last-1d", "last-7d", "all"]>;
|
|
44
|
+
status: Schema.Literal<["provisioning", "ready", "destroyed", "degraded"]>;
|
|
45
|
+
createdAt: typeof Schema.String;
|
|
46
|
+
destroyedAt: Schema.NullOr<typeof Schema.String>;
|
|
47
|
+
}>;
|
|
48
|
+
export type BranchDatabase = typeof BranchDatabase.Type;
|
|
49
|
+
/**
|
|
50
|
+
* `POST /projects/:id/preview-envs/:envId/branch-db`
|
|
51
|
+
*
|
|
52
|
+
* `previewEnvId` is redundant with the path `:envId` but we keep it in the
|
|
53
|
+
* body for API symmetry with other creation flows and to survive URL
|
|
54
|
+
* rewriting at proxy layers. Server validates both match.
|
|
55
|
+
*/
|
|
56
|
+
export declare const CreateBranchDatabaseInput: Schema.Struct<{
|
|
57
|
+
previewEnvId: typeof Schema.String;
|
|
58
|
+
withData: Schema.optional<Schema.Literal<["none", "last-1d", "last-7d", "all"]>>;
|
|
59
|
+
}>;
|
|
60
|
+
export type CreateBranchDatabaseInput = typeof CreateBranchDatabaseInput.Type;
|
|
61
|
+
/** `GET /projects/:id/preview-envs/:envId/branch-db` response. */
|
|
62
|
+
export declare const GetBranchDatabaseResult: Schema.Struct<{
|
|
63
|
+
id: typeof Schema.String;
|
|
64
|
+
projectId: typeof Schema.String;
|
|
65
|
+
envId: typeof Schema.String;
|
|
66
|
+
sourceDbId: typeof Schema.String;
|
|
67
|
+
cnpgClusterName: Schema.NullOr<typeof Schema.String>;
|
|
68
|
+
connectionString: Schema.NullOr<typeof Schema.String>;
|
|
69
|
+
dataMode: Schema.Literal<["none", "last-1d", "last-7d", "all"]>;
|
|
70
|
+
status: Schema.Literal<["provisioning", "ready", "destroyed", "degraded"]>;
|
|
71
|
+
createdAt: typeof Schema.String;
|
|
72
|
+
destroyedAt: Schema.NullOr<typeof Schema.String>;
|
|
73
|
+
}>;
|
|
74
|
+
export type GetBranchDatabaseResult = typeof GetBranchDatabaseResult.Type;
|
|
75
|
+
/** `GET /preview-envs/branch-dbs` — admin list across a project. */
|
|
76
|
+
export declare const ListBranchDatabasesResult: Schema.Struct<{
|
|
77
|
+
branches: Schema.Array$<Schema.Struct<{
|
|
78
|
+
id: typeof Schema.String;
|
|
79
|
+
projectId: typeof Schema.String;
|
|
80
|
+
envId: typeof Schema.String;
|
|
81
|
+
sourceDbId: typeof Schema.String;
|
|
82
|
+
cnpgClusterName: Schema.NullOr<typeof Schema.String>;
|
|
83
|
+
connectionString: Schema.NullOr<typeof Schema.String>;
|
|
84
|
+
dataMode: Schema.Literal<["none", "last-1d", "last-7d", "all"]>;
|
|
85
|
+
status: Schema.Literal<["provisioning", "ready", "destroyed", "degraded"]>;
|
|
86
|
+
createdAt: typeof Schema.String;
|
|
87
|
+
destroyedAt: Schema.NullOr<typeof Schema.String>;
|
|
88
|
+
}>>;
|
|
89
|
+
}>;
|
|
90
|
+
export type ListBranchDatabasesResult = typeof ListBranchDatabasesResult.Type;
|
|
91
|
+
/** `DELETE /projects/:id/preview-envs/:envId/branch-db` response. */
|
|
92
|
+
export declare const DestroyBranchDatabaseResult: Schema.Struct<{
|
|
93
|
+
success: typeof Schema.Boolean;
|
|
94
|
+
branchId: typeof Schema.String;
|
|
95
|
+
status: Schema.Literal<["provisioning", "ready", "destroyed", "degraded"]>;
|
|
96
|
+
}>;
|
|
97
|
+
export type DestroyBranchDatabaseResult = typeof DestroyBranchDatabaseResult.Type;
|
|
98
|
+
//# sourceMappingURL=branch-database.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branch-database.d.ts","sourceRoot":"","sources":["../../src/schemas/branch-database.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,uDAAsD,CAAA;AACzF,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AAEvE;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,oEAAmE,CAAA;AACpG,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAC,IAAI,CAAA;AAEnE;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;EAWzB,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB;;;EAGpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAA;AAE7E,kEAAkE;AAClE,eAAO,MAAM,uBAAuB;;;;;;;;;;;EAAiB,CAAA;AACrD,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAEzE,oEAAoE;AACpE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;EAEpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAA;AAE7E,qEAAqE;AACrE,eAAO,MAAM,2BAA2B;;;;EAItC,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,OAAO,2BAA2B,CAAC,IAAI,CAAA"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Branch Database — per-preview-env Postgres branch (P0 Gap #2).
|
|
3
|
+
*
|
|
4
|
+
* Schema SSOT for the "branch DB per preview env" feature documented in
|
|
5
|
+
* `docs/design/branch-db-per-preview.md`. Every branch database is a
|
|
6
|
+
* short-lived Postgres instance cloned from a source DB (usually prod) via
|
|
7
|
+
* Rook-Ceph RBD snapshot + CNPG volume bootstrap. Lifecycle is tied to the
|
|
8
|
+
* preview env — destroying the env GCs the branch.
|
|
9
|
+
*
|
|
10
|
+
* Plane: `management` (CRUD). BaaS runtime reads `DATABASE_URL` via secrets.
|
|
11
|
+
*/
|
|
12
|
+
import { Schema } from 'effect';
|
|
13
|
+
/**
|
|
14
|
+
* Data scope requested at create time — mirrors the CLI `--with-data` flag.
|
|
15
|
+
* - `none` — schema only; truncate all user tables after clone opens.
|
|
16
|
+
* - `last-1d` — keep last 24h of rows (opt-in, heuristic).
|
|
17
|
+
* - `last-7d` — keep last 7 days of rows (opt-in, heuristic).
|
|
18
|
+
* - `all` — full prod data (gated behind org-admin confirm).
|
|
19
|
+
*/
|
|
20
|
+
export const BranchDatabaseDataMode = Schema.Literal('none', 'last-1d', 'last-7d', 'all');
|
|
21
|
+
/**
|
|
22
|
+
* Lifecycle state mirrored from `branch_databases.status`.
|
|
23
|
+
* - `provisioning` — controller has picked it up, snapshot in-flight.
|
|
24
|
+
* - `ready` — Postgres running, connection string available.
|
|
25
|
+
* - `destroyed` — tombstone row; CNPG CR deleted + PVC reclaimed.
|
|
26
|
+
* - `degraded` — provisioning/teardown failure; manual unblock required.
|
|
27
|
+
*/
|
|
28
|
+
export const BranchDatabaseStatus = Schema.Literal('provisioning', 'ready', 'destroyed', 'degraded');
|
|
29
|
+
/**
|
|
30
|
+
* Branch database response shape. `connectionString` is null until the branch
|
|
31
|
+
* reaches `ready` — the API decrypts it on read per-request; never returns
|
|
32
|
+
* the encrypted-at-rest value.
|
|
33
|
+
*/
|
|
34
|
+
export const BranchDatabase = Schema.Struct({
|
|
35
|
+
id: Schema.String,
|
|
36
|
+
projectId: Schema.String,
|
|
37
|
+
envId: Schema.String,
|
|
38
|
+
sourceDbId: Schema.String,
|
|
39
|
+
cnpgClusterName: Schema.NullOr(Schema.String),
|
|
40
|
+
connectionString: Schema.NullOr(Schema.String),
|
|
41
|
+
dataMode: BranchDatabaseDataMode,
|
|
42
|
+
status: BranchDatabaseStatus,
|
|
43
|
+
createdAt: Schema.String,
|
|
44
|
+
destroyedAt: Schema.NullOr(Schema.String),
|
|
45
|
+
});
|
|
46
|
+
/**
|
|
47
|
+
* `POST /projects/:id/preview-envs/:envId/branch-db`
|
|
48
|
+
*
|
|
49
|
+
* `previewEnvId` is redundant with the path `:envId` but we keep it in the
|
|
50
|
+
* body for API symmetry with other creation flows and to survive URL
|
|
51
|
+
* rewriting at proxy layers. Server validates both match.
|
|
52
|
+
*/
|
|
53
|
+
export const CreateBranchDatabaseInput = Schema.Struct({
|
|
54
|
+
previewEnvId: Schema.String,
|
|
55
|
+
withData: Schema.optional(BranchDatabaseDataMode),
|
|
56
|
+
});
|
|
57
|
+
/** `GET /projects/:id/preview-envs/:envId/branch-db` response. */
|
|
58
|
+
export const GetBranchDatabaseResult = BranchDatabase;
|
|
59
|
+
/** `GET /preview-envs/branch-dbs` — admin list across a project. */
|
|
60
|
+
export const ListBranchDatabasesResult = Schema.Struct({
|
|
61
|
+
branches: Schema.Array(BranchDatabase),
|
|
62
|
+
});
|
|
63
|
+
/** `DELETE /projects/:id/preview-envs/:envId/branch-db` response. */
|
|
64
|
+
export const DestroyBranchDatabaseResult = Schema.Struct({
|
|
65
|
+
success: Schema.Boolean,
|
|
66
|
+
branchId: Schema.String,
|
|
67
|
+
status: BranchDatabaseStatus,
|
|
68
|
+
});
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Challenge — step-up authentication (Clerk-style reverification) for
|
|
3
|
+
* sensitive Console operations. Mirrors the wire shapes served at
|
|
4
|
+
* `/challenge/*` in `apps/api/src/server/platform/routes/challenge.ts`.
|
|
5
|
+
*
|
|
6
|
+
* The operation whitelist is the SSOT in
|
|
7
|
+
* `@sylphx/core/features/auth/lib/challenge` (`OPERATION_REQUIREMENTS`).
|
|
8
|
+
* We intentionally type `operation` as `Schema.String` here so a new
|
|
9
|
+
* operation added to core does not require a corresponding contract bump —
|
|
10
|
+
* the runtime service rejects unknown operations.
|
|
11
|
+
*/
|
|
12
|
+
import { Schema } from 'effect';
|
|
13
|
+
export declare const ChallengeLevel: Schema.Literal<["strict_mfa", "strict", "moderate", "lax"]>;
|
|
14
|
+
export type ChallengeLevel = typeof ChallengeLevel.Type;
|
|
15
|
+
export declare const IdentityMethod: Schema.Literal<["password", "email"]>;
|
|
16
|
+
export type IdentityMethod = typeof IdentityMethod.Type;
|
|
17
|
+
export declare const MfaMethod: Schema.Literal<["totp", "backup"]>;
|
|
18
|
+
export type MfaMethod = typeof MfaMethod.Type;
|
|
19
|
+
/** Query for `/challenge/required` — only carries the operation name. */
|
|
20
|
+
export declare const ChallengeRequiredQuery: Schema.Struct<{
|
|
21
|
+
operation: typeof Schema.String;
|
|
22
|
+
}>;
|
|
23
|
+
export type ChallengeRequiredQuery = typeof ChallengeRequiredQuery.Type;
|
|
24
|
+
export declare const ChallengeIdentityStatus: Schema.Struct<{
|
|
25
|
+
verified: typeof Schema.Boolean;
|
|
26
|
+
expiresAt: Schema.NullOr<typeof Schema.String>;
|
|
27
|
+
method: Schema.NullOr<Schema.Literal<["password", "email"]>>;
|
|
28
|
+
}>;
|
|
29
|
+
export type ChallengeIdentityStatus = typeof ChallengeIdentityStatus.Type;
|
|
30
|
+
export declare const ChallengeMfaStatus: Schema.Struct<{
|
|
31
|
+
verified: typeof Schema.Boolean;
|
|
32
|
+
expiresAt: Schema.NullOr<typeof Schema.String>;
|
|
33
|
+
method: Schema.NullOr<Schema.Literal<["totp", "backup"]>>;
|
|
34
|
+
}>;
|
|
35
|
+
export type ChallengeMfaStatus = typeof ChallengeMfaStatus.Type;
|
|
36
|
+
export declare const ChallengeAvailableMethods: Schema.Struct<{
|
|
37
|
+
identity: Schema.Array$<Schema.Literal<["password", "email"]>>;
|
|
38
|
+
mfa: Schema.Array$<Schema.Literal<["totp", "backup"]>>;
|
|
39
|
+
}>;
|
|
40
|
+
export type ChallengeAvailableMethods = typeof ChallengeAvailableMethods.Type;
|
|
41
|
+
export declare const ChallengeUserCapabilities: Schema.Struct<{
|
|
42
|
+
hasPassword: typeof Schema.Boolean;
|
|
43
|
+
has2FA: typeof Schema.Boolean;
|
|
44
|
+
maskedEmail: typeof Schema.String;
|
|
45
|
+
}>;
|
|
46
|
+
export type ChallengeUserCapabilities = typeof ChallengeUserCapabilities.Type;
|
|
47
|
+
export declare const ChallengeRequiredResult: Schema.Struct<{
|
|
48
|
+
required: typeof Schema.Boolean;
|
|
49
|
+
level: Schema.Literal<["strict_mfa", "strict", "moderate", "lax"]>;
|
|
50
|
+
identity: Schema.Struct<{
|
|
51
|
+
verified: typeof Schema.Boolean;
|
|
52
|
+
expiresAt: Schema.NullOr<typeof Schema.String>;
|
|
53
|
+
method: Schema.NullOr<Schema.Literal<["password", "email"]>>;
|
|
54
|
+
}>;
|
|
55
|
+
mfa: Schema.Struct<{
|
|
56
|
+
verified: typeof Schema.Boolean;
|
|
57
|
+
expiresAt: Schema.NullOr<typeof Schema.String>;
|
|
58
|
+
method: Schema.NullOr<Schema.Literal<["totp", "backup"]>>;
|
|
59
|
+
}>;
|
|
60
|
+
methods: Schema.Struct<{
|
|
61
|
+
identity: Schema.Array$<Schema.Literal<["password", "email"]>>;
|
|
62
|
+
mfa: Schema.Array$<Schema.Literal<["totp", "backup"]>>;
|
|
63
|
+
}>;
|
|
64
|
+
user: Schema.Struct<{
|
|
65
|
+
hasPassword: typeof Schema.Boolean;
|
|
66
|
+
has2FA: typeof Schema.Boolean;
|
|
67
|
+
maskedEmail: typeof Schema.String;
|
|
68
|
+
}>;
|
|
69
|
+
}>;
|
|
70
|
+
export type ChallengeRequiredResult = typeof ChallengeRequiredResult.Type;
|
|
71
|
+
export declare const SendChallengeCodeResult: Schema.Struct<{
|
|
72
|
+
sent: typeof Schema.Boolean;
|
|
73
|
+
expiresAt: typeof Schema.String;
|
|
74
|
+
maskedEmail: typeof Schema.String;
|
|
75
|
+
}>;
|
|
76
|
+
export type SendChallengeCodeResult = typeof SendChallengeCodeResult.Type;
|
|
77
|
+
export declare const VerifyIdentityInput: Schema.Struct<{
|
|
78
|
+
method: Schema.Literal<["password", "email"]>;
|
|
79
|
+
value: typeof Schema.String;
|
|
80
|
+
}>;
|
|
81
|
+
export type VerifyIdentityInput = typeof VerifyIdentityInput.Type;
|
|
82
|
+
export declare const VerifyMfaInput: Schema.Struct<{
|
|
83
|
+
method: Schema.Literal<["totp", "backup"]>;
|
|
84
|
+
value: typeof Schema.String;
|
|
85
|
+
}>;
|
|
86
|
+
export type VerifyMfaInput = typeof VerifyMfaInput.Type;
|
|
87
|
+
/** Identity + MFA verify share the same response shape. */
|
|
88
|
+
export declare const VerifyChallengeResult: Schema.Struct<{
|
|
89
|
+
verified: typeof Schema.Boolean;
|
|
90
|
+
method: typeof Schema.String;
|
|
91
|
+
}>;
|
|
92
|
+
export type VerifyChallengeResult = typeof VerifyChallengeResult.Type;
|
|
93
|
+
export declare const ChallengeStatusResult: Schema.Struct<{
|
|
94
|
+
identity: Schema.Struct<{
|
|
95
|
+
verifiedAt: Schema.NullOr<typeof Schema.String>;
|
|
96
|
+
method: Schema.NullOr<Schema.Literal<["password", "email"]>>;
|
|
97
|
+
}>;
|
|
98
|
+
mfa: Schema.Struct<{
|
|
99
|
+
verifiedAt: Schema.NullOr<typeof Schema.String>;
|
|
100
|
+
method: Schema.NullOr<Schema.Literal<["totp", "backup"]>>;
|
|
101
|
+
}>;
|
|
102
|
+
}>;
|
|
103
|
+
export type ChallengeStatusResult = typeof ChallengeStatusResult.Type;
|
|
104
|
+
//# sourceMappingURL=challenge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"challenge.d.ts","sourceRoot":"","sources":["../../src/schemas/challenge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,eAAO,MAAM,cAAc,6DAA4D,CAAA;AACvF,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD,eAAO,MAAM,cAAc,uCAAsC,CAAA;AACjE,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD,eAAO,MAAM,SAAS,oCAAmC,CAAA;AACzD,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAE7C,yEAAyE;AACzE,eAAO,MAAM,sBAAsB;;EAEjC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AAEvE,eAAO,MAAM,uBAAuB;;;;EAIlC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAEzE,eAAO,MAAM,kBAAkB;;;;EAI7B,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAA;AAE/D,eAAO,MAAM,yBAAyB;;;EAGpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAA;AAE7E,eAAO,MAAM,yBAAyB;;;;EAIpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAA;AAE7E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;EAOlC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAEzE,eAAO,MAAM,uBAAuB;;;;EAIlC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAEzE,eAAO,MAAM,mBAAmB;;;EAG9B,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAA;AAEjE,eAAO,MAAM,cAAc;;;EAGzB,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD,2DAA2D;AAC3D,eAAO,MAAM,qBAAqB;;;EAGhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAErE,eAAO,MAAM,qBAAqB;;;;;;;;;EAShC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA"}
|