@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,508 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Admin Audit — schemas for Console audit + per-service data + platform observability.
|
|
3
|
+
* Mirrors `/admin/audit/*`.
|
|
4
|
+
*
|
|
5
|
+
* Plane: `admin`.
|
|
6
|
+
*
|
|
7
|
+
* The audit subtree aggregates data from many per-project databases. Where a
|
|
8
|
+
* handler's shape is stable enough to lock down, we expose a typed
|
|
9
|
+
* `Schema.Struct(...)`. Where the payload is a pass-through from an evolving
|
|
10
|
+
* external surface (Loki / Tempo / Mimir / CNPG), we keep an envelope
|
|
11
|
+
* (`Schema.Struct({ available, ... })`) with the opaque tail as
|
|
12
|
+
* `Schema.Unknown` — giving consumers a guaranteed outer shape while letting
|
|
13
|
+
* the inner data evolve without contract bumps.
|
|
14
|
+
*
|
|
15
|
+
* Residual pure `Schema.Unknown` responses (ADR-084 final cleanup): only the
|
|
16
|
+
* per-project service audit endpoints that aggregate N disparate per-DB
|
|
17
|
+
* tables at once (the right fix is to split each into its own typed
|
|
18
|
+
* endpoint in a future wave).
|
|
19
|
+
*/
|
|
20
|
+
import { Schema } from 'effect';
|
|
21
|
+
// ── Common envelopes (reused across all per-project endpoints) ────────────
|
|
22
|
+
/**
|
|
23
|
+
* Every per-project audit endpoint returns the project it summarises. We
|
|
24
|
+
* hoist this into a shared schema so the envelope is typed even when the
|
|
25
|
+
* rest of the body has service-specific fields.
|
|
26
|
+
*/
|
|
27
|
+
export const AdminAuditAppRef = Schema.Struct({
|
|
28
|
+
id: Schema.String,
|
|
29
|
+
name: Schema.String,
|
|
30
|
+
slug: Schema.String,
|
|
31
|
+
});
|
|
32
|
+
/** Standard success envelope for audit mutations (pause/resume/fire/delete). */
|
|
33
|
+
export const AdminAuditMutationSuccess = Schema.Struct({
|
|
34
|
+
success: Schema.Boolean,
|
|
35
|
+
message: Schema.optional(Schema.String),
|
|
36
|
+
});
|
|
37
|
+
// ── Audit logs (strict) ────────────────────────────────────────────────────
|
|
38
|
+
export const AdminAuditLogAction = Schema.String;
|
|
39
|
+
export const AdminAuditActor = Schema.Struct({
|
|
40
|
+
id: Schema.String,
|
|
41
|
+
name: Schema.NullOr(Schema.String),
|
|
42
|
+
email: Schema.NullOr(Schema.String),
|
|
43
|
+
});
|
|
44
|
+
export const AdminAuditLogEntry = Schema.Struct({
|
|
45
|
+
id: Schema.String,
|
|
46
|
+
action: AdminAuditLogAction,
|
|
47
|
+
resourceType: Schema.NullOr(Schema.String),
|
|
48
|
+
resourceId: Schema.NullOr(Schema.String),
|
|
49
|
+
metadata: Schema.NullOr(Schema.Unknown),
|
|
50
|
+
ipAddress: Schema.NullOr(Schema.String),
|
|
51
|
+
createdAt: Schema.String,
|
|
52
|
+
actor: Schema.NullOr(AdminAuditActor),
|
|
53
|
+
user: Schema.NullOr(AdminAuditActor),
|
|
54
|
+
});
|
|
55
|
+
export const AdminRecentActivityEntry = Schema.Struct({
|
|
56
|
+
id: Schema.String,
|
|
57
|
+
action: Schema.String,
|
|
58
|
+
resource: Schema.NullOr(Schema.String),
|
|
59
|
+
resourceId: Schema.NullOr(Schema.String),
|
|
60
|
+
details: Schema.NullOr(Schema.Unknown),
|
|
61
|
+
createdAt: Schema.String,
|
|
62
|
+
user: Schema.NullOr(Schema.Struct({
|
|
63
|
+
name: Schema.NullOr(Schema.String),
|
|
64
|
+
email: Schema.NullOr(Schema.String),
|
|
65
|
+
})),
|
|
66
|
+
});
|
|
67
|
+
// ── Params ─────────────────────────────────────────────────────────────────
|
|
68
|
+
export const AdminAuditProjectParams = Schema.Struct({ id: Schema.String });
|
|
69
|
+
export const AdminAuditTriggerParams = Schema.Struct({
|
|
70
|
+
id: Schema.String,
|
|
71
|
+
triggerId: Schema.String,
|
|
72
|
+
});
|
|
73
|
+
export const AdminAuditTraceParams = Schema.Struct({
|
|
74
|
+
id: Schema.String,
|
|
75
|
+
traceId: Schema.String,
|
|
76
|
+
});
|
|
77
|
+
// ── Query ──────────────────────────────────────────────────────────────────
|
|
78
|
+
export const AdminGetAuditLogsQuery = Schema.Struct({
|
|
79
|
+
limit: Schema.optional(Schema.String),
|
|
80
|
+
offset: Schema.optional(Schema.String),
|
|
81
|
+
page: Schema.optional(Schema.String),
|
|
82
|
+
userId: Schema.optional(Schema.String),
|
|
83
|
+
actorId: Schema.optional(Schema.String),
|
|
84
|
+
action: Schema.optional(Schema.String),
|
|
85
|
+
resourceType: Schema.optional(Schema.String),
|
|
86
|
+
days: Schema.optional(Schema.String),
|
|
87
|
+
statsOnly: Schema.optional(Schema.String),
|
|
88
|
+
/**
|
|
89
|
+
* Round 3A G-4 — physical writer-plane filter.
|
|
90
|
+
* `'api'` → Platform-plane events (apps/api/* — Console, CLI, ops)
|
|
91
|
+
* `'runtime'` → BaaS-plane events (apps/runtime/* — deployed apps)
|
|
92
|
+
* Mirrors Clerk's FAPI/BAPI segregation; lets auditors answer
|
|
93
|
+
* "any admin-plane mutation that affected this tenant?" without
|
|
94
|
+
* resorting to action-string heuristics.
|
|
95
|
+
*/
|
|
96
|
+
source: Schema.optional(Schema.Literal('api', 'runtime')),
|
|
97
|
+
});
|
|
98
|
+
export const AdminGetRecentActivityQuery = Schema.Struct({
|
|
99
|
+
projectId: Schema.String,
|
|
100
|
+
limit: Schema.optional(Schema.String),
|
|
101
|
+
});
|
|
102
|
+
/** Reusable generic query for ranged stats inside audit endpoints. */
|
|
103
|
+
export const AdminAuditDateRangeQuery = Schema.Struct({
|
|
104
|
+
startDate: Schema.optional(Schema.String),
|
|
105
|
+
endDate: Schema.optional(Schema.String),
|
|
106
|
+
});
|
|
107
|
+
/**
|
|
108
|
+
* Status + limit filter shared by `listRuns` + `listWorkerRuns` (scheduler
|
|
109
|
+
* + worker execution ledgers). Status is an open string on the wire — the
|
|
110
|
+
* handler performs the enum narrowing because the exact set of states
|
|
111
|
+
* varies by project runtime.
|
|
112
|
+
*/
|
|
113
|
+
export const AdminAuditRunFilterQuery = Schema.Struct({
|
|
114
|
+
status: Schema.optional(Schema.String),
|
|
115
|
+
limit: Schema.optional(Schema.String),
|
|
116
|
+
});
|
|
117
|
+
/**
|
|
118
|
+
* Shared pagination query for admin audit list endpoints that fan out N
|
|
119
|
+
* items per project (push subscribers, etc.).
|
|
120
|
+
*/
|
|
121
|
+
export const AdminAuditPaginationQuery = Schema.Struct({
|
|
122
|
+
limit: Schema.optional(Schema.String),
|
|
123
|
+
offset: Schema.optional(Schema.String),
|
|
124
|
+
});
|
|
125
|
+
// ── Responses: logs + activity (strict) ───────────────────────────────────
|
|
126
|
+
export const AdminGetAuditLogsResult = Schema.Union(Schema.Struct({
|
|
127
|
+
logs: Schema.Array(AdminAuditLogEntry),
|
|
128
|
+
total: Schema.Number,
|
|
129
|
+
page: Schema.Number,
|
|
130
|
+
totalPages: Schema.Number,
|
|
131
|
+
}), Schema.Struct({
|
|
132
|
+
totalActions: Schema.Number,
|
|
133
|
+
actionsByType: Schema.Record({ key: Schema.String, value: Schema.Number }),
|
|
134
|
+
}));
|
|
135
|
+
export const AdminGetRecentActivityResult = Schema.Struct({
|
|
136
|
+
logs: Schema.Array(AdminRecentActivityEntry),
|
|
137
|
+
});
|
|
138
|
+
// ── Responses: operator dashboard (strict) ────────────────────────────────
|
|
139
|
+
const AdminAuditDashboardProjectSummary = Schema.Struct({
|
|
140
|
+
id: Schema.String,
|
|
141
|
+
name: Schema.String,
|
|
142
|
+
slug: Schema.String,
|
|
143
|
+
description: Schema.NullOr(Schema.String),
|
|
144
|
+
domains: Schema.Array(Schema.String),
|
|
145
|
+
isActive: Schema.Boolean,
|
|
146
|
+
});
|
|
147
|
+
const AdminAuditUsageTotals = Schema.Struct({
|
|
148
|
+
totalRequests: Schema.Number,
|
|
149
|
+
totalErrors: Schema.Number,
|
|
150
|
+
aiTokens: Schema.Number,
|
|
151
|
+
aiCost: Schema.Number,
|
|
152
|
+
storageOps: Schema.Number,
|
|
153
|
+
emailsSent: Schema.Number,
|
|
154
|
+
jobInvocations: Schema.Number,
|
|
155
|
+
notificationsSent: Schema.Number,
|
|
156
|
+
analyticsEvents: Schema.Number,
|
|
157
|
+
webhookDeliveries: Schema.Number,
|
|
158
|
+
errorEvents: Schema.Number,
|
|
159
|
+
});
|
|
160
|
+
const AdminAuditInvoiceSummary = Schema.Struct({
|
|
161
|
+
count: Schema.Number,
|
|
162
|
+
total: Schema.Number,
|
|
163
|
+
});
|
|
164
|
+
export const AdminAuditDashboardResult = Schema.Struct({
|
|
165
|
+
projects: Schema.Array(AdminAuditDashboardProjectSummary),
|
|
166
|
+
totalProjects: Schema.Number,
|
|
167
|
+
totalUsers: Schema.Number,
|
|
168
|
+
totalOrgs: Schema.Number,
|
|
169
|
+
mrr: Schema.Number,
|
|
170
|
+
arr: Schema.Number,
|
|
171
|
+
churnRate: Schema.Number,
|
|
172
|
+
ltv: Schema.Number,
|
|
173
|
+
activeSubscriptions: Schema.Number,
|
|
174
|
+
totalCreditBalance: Schema.Number,
|
|
175
|
+
monthlyRevenue: Schema.Number,
|
|
176
|
+
revenueGrowth: Schema.Number,
|
|
177
|
+
outstandingInvoices: AdminAuditInvoiceSummary,
|
|
178
|
+
paidInvoices: AdminAuditInvoiceSummary,
|
|
179
|
+
usage: AdminAuditUsageTotals,
|
|
180
|
+
newUsersThisMonth: Schema.Number,
|
|
181
|
+
newOrgsThisMonth: Schema.Number,
|
|
182
|
+
userGrowth: Schema.Number,
|
|
183
|
+
});
|
|
184
|
+
export const AdminAuditChartsResult = Schema.Struct({
|
|
185
|
+
revenueTrendData: Schema.Array(Schema.Struct({ date: Schema.String, revenue: Schema.Number })),
|
|
186
|
+
userGrowthData: Schema.Array(Schema.Struct({ date: Schema.String, users: Schema.Number, newUsers: Schema.Number })),
|
|
187
|
+
errorRateData: Schema.Array(Schema.Struct({
|
|
188
|
+
date: Schema.String,
|
|
189
|
+
requests: Schema.Number,
|
|
190
|
+
errors: Schema.Number,
|
|
191
|
+
errorRate: Schema.Number,
|
|
192
|
+
})),
|
|
193
|
+
serviceUsageData: Schema.Array(Schema.Struct({
|
|
194
|
+
service: Schema.String,
|
|
195
|
+
usage: Schema.Number,
|
|
196
|
+
cost: Schema.Number,
|
|
197
|
+
})),
|
|
198
|
+
});
|
|
199
|
+
const AdminAuditServiceStatus = Schema.Literal('healthy', 'degraded', 'down');
|
|
200
|
+
export const AdminAuditHealthResult = Schema.Struct({
|
|
201
|
+
services: Schema.Array(Schema.Struct({
|
|
202
|
+
name: Schema.String,
|
|
203
|
+
status: AdminAuditServiceStatus,
|
|
204
|
+
latency: Schema.optional(Schema.Number),
|
|
205
|
+
lastCheck: Schema.String,
|
|
206
|
+
message: Schema.String,
|
|
207
|
+
})),
|
|
208
|
+
recentErrors: Schema.Array(Schema.Unknown),
|
|
209
|
+
uptime: Schema.Struct({
|
|
210
|
+
percentage: Schema.Number,
|
|
211
|
+
}),
|
|
212
|
+
});
|
|
213
|
+
export const AdminAuditAnalyticsResult = Schema.Struct({
|
|
214
|
+
totalUsers: Schema.Number,
|
|
215
|
+
newUsers30d: Schema.Number,
|
|
216
|
+
dau: Schema.Number,
|
|
217
|
+
mau: Schema.Number,
|
|
218
|
+
totalEvents: Schema.Number,
|
|
219
|
+
topEvents: Schema.Array(Schema.Struct({
|
|
220
|
+
eventName: Schema.NullOr(Schema.String),
|
|
221
|
+
count: Schema.Number,
|
|
222
|
+
})),
|
|
223
|
+
signupsByDay: Schema.Array(Schema.Struct({ date: Schema.String, count: Schema.Number })),
|
|
224
|
+
projectStats: Schema.Array(Schema.Struct({
|
|
225
|
+
projectId: Schema.String,
|
|
226
|
+
projectName: Schema.String,
|
|
227
|
+
userCount: Schema.Number,
|
|
228
|
+
eventCount: Schema.Number,
|
|
229
|
+
})),
|
|
230
|
+
activeSubscriptions: Schema.Number,
|
|
231
|
+
retention: Schema.Number,
|
|
232
|
+
});
|
|
233
|
+
// ── Responses: per-project overview (strict) ──────────────────────────────
|
|
234
|
+
const AdminAuditDatabaseRef = Schema.NullOr(Schema.Struct({
|
|
235
|
+
status: Schema.String,
|
|
236
|
+
region: Schema.NullOr(Schema.String),
|
|
237
|
+
}));
|
|
238
|
+
export const AdminAuditProjectOverviewResult = Schema.Struct({
|
|
239
|
+
app: Schema.Struct({
|
|
240
|
+
id: Schema.String,
|
|
241
|
+
name: Schema.String,
|
|
242
|
+
slug: Schema.String,
|
|
243
|
+
description: Schema.NullOr(Schema.String),
|
|
244
|
+
isActive: Schema.Boolean,
|
|
245
|
+
isHibernating: Schema.Boolean,
|
|
246
|
+
}),
|
|
247
|
+
stats: Schema.Struct({
|
|
248
|
+
usersCount: Schema.Number,
|
|
249
|
+
aiRequestsCount: Schema.Number,
|
|
250
|
+
storageCount: Schema.Number,
|
|
251
|
+
errorsCount: Schema.Number,
|
|
252
|
+
jobsCount: Schema.Number,
|
|
253
|
+
flagsCount: Schema.Number,
|
|
254
|
+
}),
|
|
255
|
+
database: AdminAuditDatabaseRef,
|
|
256
|
+
});
|
|
257
|
+
export const AdminAuditServicesOverviewResult = Schema.Struct({
|
|
258
|
+
app: Schema.Struct({
|
|
259
|
+
id: Schema.String,
|
|
260
|
+
name: Schema.String,
|
|
261
|
+
slug: Schema.String,
|
|
262
|
+
webhookUrl: Schema.NullOr(Schema.String),
|
|
263
|
+
}),
|
|
264
|
+
metrics: Schema.Struct({
|
|
265
|
+
totalUsers: Schema.Number,
|
|
266
|
+
eventsThisWeek: Schema.Number,
|
|
267
|
+
unresolvedErrors: Schema.Number,
|
|
268
|
+
errorsThisWeek: Schema.Number,
|
|
269
|
+
aiRequestsThisMonth: Schema.Number,
|
|
270
|
+
aiCostThisMonth: Schema.Number,
|
|
271
|
+
totalFiles: Schema.Number,
|
|
272
|
+
totalStorageBytes: Schema.Number,
|
|
273
|
+
totalFlags: Schema.Number,
|
|
274
|
+
activeFlags: Schema.Number,
|
|
275
|
+
jobsThisWeek: Schema.Number,
|
|
276
|
+
runningJobs: Schema.Number,
|
|
277
|
+
pushSubscribers: Schema.Number,
|
|
278
|
+
webhookDelivered: Schema.Number,
|
|
279
|
+
webhookFailed: Schema.Number,
|
|
280
|
+
consentRecords: Schema.Number,
|
|
281
|
+
totalReferrals: Schema.Number,
|
|
282
|
+
completedReferrals: Schema.Number,
|
|
283
|
+
totalSubscribers: Schema.Number,
|
|
284
|
+
verifiedSubscribers: Schema.Number,
|
|
285
|
+
totalPlans: Schema.Number,
|
|
286
|
+
activeSubscriptions: Schema.Number,
|
|
287
|
+
}),
|
|
288
|
+
database: AdminAuditDatabaseRef,
|
|
289
|
+
});
|
|
290
|
+
// ── Responses: AI audit (strict) ──────────────────────────────────────────
|
|
291
|
+
export const AdminAuditAiResult = Schema.Struct({
|
|
292
|
+
app: AdminAuditAppRef,
|
|
293
|
+
statsThisMonth: Schema.Struct({
|
|
294
|
+
requests: Schema.Number,
|
|
295
|
+
inputTokens: Schema.Number,
|
|
296
|
+
outputTokens: Schema.Number,
|
|
297
|
+
costMicrodollars: Schema.Number,
|
|
298
|
+
}),
|
|
299
|
+
statsLastMonth: Schema.Struct({
|
|
300
|
+
requests: Schema.Number,
|
|
301
|
+
costMicrodollars: Schema.Number,
|
|
302
|
+
}),
|
|
303
|
+
usageByDay: Schema.Array(Schema.Struct({
|
|
304
|
+
date: Schema.String,
|
|
305
|
+
requests: Schema.Number,
|
|
306
|
+
cost: Schema.Number,
|
|
307
|
+
})),
|
|
308
|
+
usageByModel: Schema.Array(Schema.Struct({
|
|
309
|
+
model: Schema.NullOr(Schema.String),
|
|
310
|
+
requests: Schema.Number,
|
|
311
|
+
cost: Schema.Number,
|
|
312
|
+
})),
|
|
313
|
+
usageByProvider: Schema.Array(Schema.Struct({
|
|
314
|
+
provider: Schema.String,
|
|
315
|
+
requests: Schema.Number,
|
|
316
|
+
cost: Schema.Number,
|
|
317
|
+
})),
|
|
318
|
+
});
|
|
319
|
+
export const AdminAuditAiLogsResult = Schema.Struct({
|
|
320
|
+
logs: Schema.Array(Schema.Struct({
|
|
321
|
+
id: Schema.String,
|
|
322
|
+
requestType: Schema.String,
|
|
323
|
+
provider: Schema.String,
|
|
324
|
+
model: Schema.NullOr(Schema.String),
|
|
325
|
+
inputTokens: Schema.Number,
|
|
326
|
+
outputTokens: Schema.Number,
|
|
327
|
+
totalTokens: Schema.Number,
|
|
328
|
+
providerCostMicrodollars: Schema.Number,
|
|
329
|
+
costMicrodollars: Schema.Number,
|
|
330
|
+
latencyMs: Schema.Number,
|
|
331
|
+
success: Schema.Boolean,
|
|
332
|
+
errorMessage: Schema.NullOr(Schema.String),
|
|
333
|
+
errorCode: Schema.NullOr(Schema.String),
|
|
334
|
+
metadata: Schema.NullOr(Schema.Unknown),
|
|
335
|
+
createdAt: Schema.String,
|
|
336
|
+
})),
|
|
337
|
+
pagination: Schema.Struct({
|
|
338
|
+
page: Schema.Number,
|
|
339
|
+
limit: Schema.Number,
|
|
340
|
+
total: Schema.Number,
|
|
341
|
+
totalPages: Schema.Number,
|
|
342
|
+
}),
|
|
343
|
+
});
|
|
344
|
+
export const AdminAuditAiRatesResult = Schema.Struct({
|
|
345
|
+
currentRPM: Schema.Number,
|
|
346
|
+
currentTPM: Schema.Number,
|
|
347
|
+
averageRPM: Schema.Number,
|
|
348
|
+
averageTPM: Schema.Number,
|
|
349
|
+
peakRPM: Schema.Number,
|
|
350
|
+
peakTPM: Schema.Number,
|
|
351
|
+
peakMinute: Schema.NullOr(Schema.String),
|
|
352
|
+
breakdown: Schema.Array(Schema.Struct({
|
|
353
|
+
minute: Schema.String,
|
|
354
|
+
requests: Schema.Number,
|
|
355
|
+
tokens: Schema.Number,
|
|
356
|
+
cost: Schema.Number,
|
|
357
|
+
avgLatency: Schema.Number,
|
|
358
|
+
})),
|
|
359
|
+
});
|
|
360
|
+
export const AdminAuditAiSummaryResult = Schema.Struct({
|
|
361
|
+
period: Schema.String,
|
|
362
|
+
totalRequests: Schema.Number,
|
|
363
|
+
totalInputTokens: Schema.Number,
|
|
364
|
+
totalOutputTokens: Schema.Number,
|
|
365
|
+
totalCost: Schema.Number,
|
|
366
|
+
avgLatency: Schema.Number,
|
|
367
|
+
p95Latency: Schema.Number,
|
|
368
|
+
successRate: Schema.Number,
|
|
369
|
+
failedRequests: Schema.Number,
|
|
370
|
+
topModels: Schema.Array(Schema.Struct({
|
|
371
|
+
model: Schema.NullOr(Schema.String),
|
|
372
|
+
requests: Schema.Number,
|
|
373
|
+
tokens: Schema.Number,
|
|
374
|
+
cost: Schema.Number,
|
|
375
|
+
})),
|
|
376
|
+
});
|
|
377
|
+
// ── Responses: observability (envelope-typed, opaque inner payloads) ──────
|
|
378
|
+
/**
|
|
379
|
+
* Loki / Tempo / Mimir responses — the inner entries/series/spans are typed
|
|
380
|
+
* by the upstream store (and vary with Grafana versions). We lock the
|
|
381
|
+
* envelope and leave payloads opaque.
|
|
382
|
+
*/
|
|
383
|
+
export const AdminAuditObsLogsResult = Schema.Struct({
|
|
384
|
+
entries: Schema.Array(Schema.Unknown),
|
|
385
|
+
hasMore: Schema.Boolean,
|
|
386
|
+
});
|
|
387
|
+
export const AdminAuditObsMetricsResult = Schema.Struct({
|
|
388
|
+
requestRate: Schema.Array(Schema.Unknown),
|
|
389
|
+
errorRate: Schema.Array(Schema.Unknown),
|
|
390
|
+
latencyP95: Schema.Array(Schema.Unknown),
|
|
391
|
+
cpuUsage: Schema.Array(Schema.Unknown),
|
|
392
|
+
memoryUsage: Schema.Array(Schema.Unknown),
|
|
393
|
+
podCount: Schema.Array(Schema.Unknown),
|
|
394
|
+
});
|
|
395
|
+
export const AdminAuditObsMetricsRangeResult = Schema.Struct({
|
|
396
|
+
series: Schema.Array(Schema.Unknown),
|
|
397
|
+
});
|
|
398
|
+
export const AdminAuditObsTracesResult = Schema.Struct({
|
|
399
|
+
traces: Schema.Array(Schema.Unknown),
|
|
400
|
+
});
|
|
401
|
+
// ── Responses: billing audit (strict) ─────────────────────────────────────
|
|
402
|
+
const AdminAuditBillingService = Schema.Struct({
|
|
403
|
+
service: Schema.String,
|
|
404
|
+
usage: Schema.Number,
|
|
405
|
+
previousUsage: Schema.Number,
|
|
406
|
+
costMicrodollars: Schema.Number,
|
|
407
|
+
previousCostMicrodollars: Schema.Number,
|
|
408
|
+
unit: Schema.String,
|
|
409
|
+
});
|
|
410
|
+
export const AdminAuditBillingUsageResult = Schema.Struct({
|
|
411
|
+
app: AdminAuditAppRef,
|
|
412
|
+
currentMonth: Schema.String,
|
|
413
|
+
services: Schema.Array(AdminAuditBillingService),
|
|
414
|
+
costByDay: Schema.Array(Schema.Struct({
|
|
415
|
+
date: Schema.String,
|
|
416
|
+
ai: Schema.Number,
|
|
417
|
+
storage: Schema.Number,
|
|
418
|
+
database: Schema.Number,
|
|
419
|
+
email: Schema.Number,
|
|
420
|
+
jobs: Schema.Number,
|
|
421
|
+
})),
|
|
422
|
+
totalCostThisMonth: Schema.Number,
|
|
423
|
+
totalCostLastMonth: Schema.Number,
|
|
424
|
+
monthlyBudget: Schema.Number,
|
|
425
|
+
alertThreshold: Schema.Number,
|
|
426
|
+
costAlerts: Schema.Array(Schema.Struct({
|
|
427
|
+
service: Schema.String,
|
|
428
|
+
severity: Schema.String,
|
|
429
|
+
message: Schema.String,
|
|
430
|
+
})),
|
|
431
|
+
});
|
|
432
|
+
export const AdminAuditBillingResult = Schema.Struct({
|
|
433
|
+
app: AdminAuditAppRef,
|
|
434
|
+
plans: Schema.Array(Schema.Struct({
|
|
435
|
+
id: Schema.String,
|
|
436
|
+
slug: Schema.String,
|
|
437
|
+
name: Schema.String,
|
|
438
|
+
description: Schema.NullOr(Schema.String),
|
|
439
|
+
features: Schema.Array(Schema.Unknown),
|
|
440
|
+
priceMonthly: Schema.NullOr(Schema.Number),
|
|
441
|
+
priceAnnual: Schema.NullOr(Schema.Number),
|
|
442
|
+
priceLifetime: Schema.NullOr(Schema.Number),
|
|
443
|
+
isActive: Schema.Boolean,
|
|
444
|
+
})),
|
|
445
|
+
planCount: Schema.Number,
|
|
446
|
+
activePlanCount: Schema.Number,
|
|
447
|
+
subscriptionStats: Schema.Struct({
|
|
448
|
+
total: Schema.Number,
|
|
449
|
+
active: Schema.Number,
|
|
450
|
+
trialing: Schema.Number,
|
|
451
|
+
pastDue: Schema.Number,
|
|
452
|
+
cancelled: Schema.Number,
|
|
453
|
+
}),
|
|
454
|
+
revenueThisMonthCents: Schema.Number,
|
|
455
|
+
revenueLastMonthCents: Schema.Number,
|
|
456
|
+
revenueGrowthPercent: Schema.Number,
|
|
457
|
+
recentTransactions: Schema.Array(Schema.Struct({
|
|
458
|
+
id: Schema.String,
|
|
459
|
+
amountCents: Schema.Number,
|
|
460
|
+
currency: Schema.String,
|
|
461
|
+
type: Schema.String,
|
|
462
|
+
status: Schema.String,
|
|
463
|
+
createdAt: Schema.String,
|
|
464
|
+
})),
|
|
465
|
+
hasStripeConnected: Schema.Boolean,
|
|
466
|
+
});
|
|
467
|
+
// ── Responses: runs/workers list (strict) ─────────────────────────────────
|
|
468
|
+
export const AdminAuditRunsListResult = Schema.Struct({
|
|
469
|
+
runs: Schema.Array(Schema.Struct({
|
|
470
|
+
id: Schema.String,
|
|
471
|
+
status: Schema.String,
|
|
472
|
+
image: Schema.NullOr(Schema.String),
|
|
473
|
+
exitCode: Schema.NullOr(Schema.Number),
|
|
474
|
+
durationMs: Schema.NullOr(Schema.Number),
|
|
475
|
+
startedAt: Schema.NullOr(Schema.String),
|
|
476
|
+
completedAt: Schema.NullOr(Schema.String),
|
|
477
|
+
createdAt: Schema.String,
|
|
478
|
+
errorMessage: Schema.NullOr(Schema.String),
|
|
479
|
+
})),
|
|
480
|
+
total: Schema.Number,
|
|
481
|
+
});
|
|
482
|
+
/**
|
|
483
|
+
* Per-project "service audit" endpoints (auth, analytics, jobs, workers,
|
|
484
|
+
* push, email, consent, webhooks, referrals, newsletter, engagement, flags,
|
|
485
|
+
* monitoring, storage, functions, triggers) aggregate across multiple
|
|
486
|
+
* per-project DB tables and their inner shape evolves with the Console
|
|
487
|
+
* dashboard. We lock the outer envelope (`{ app: AdminAuditAppRef, ... }`)
|
|
488
|
+
* and keep a loose service-specific record — tightening each into a fully
|
|
489
|
+
* typed schema is tracked as follow-up work.
|
|
490
|
+
*
|
|
491
|
+
* Note: this is a Struct without `.schema`-level extras, so the runtime
|
|
492
|
+
* `app` envelope is enforced while additional service fields are permitted
|
|
493
|
+
* by Effect Schema's default "open record" semantics.
|
|
494
|
+
*/
|
|
495
|
+
export const AdminAuditServiceEnvelope = Schema.Struct({
|
|
496
|
+
app: AdminAuditAppRef,
|
|
497
|
+
});
|
|
498
|
+
// ── Remaining opaque passthrough (database metrics / queries / tables) ────
|
|
499
|
+
/**
|
|
500
|
+
* `/obs/traces/:traceId` returns the raw Tempo payload; `/database/*` returns
|
|
501
|
+
* a CNPG real-time metrics passthrough. Both are owned by upstream stores
|
|
502
|
+
* with their own versioning contract — we expose as `Schema.Unknown` and
|
|
503
|
+
* accept that changes track the upstream.
|
|
504
|
+
*/
|
|
505
|
+
export const AdminAuditUnknownResult = Schema.Unknown;
|
|
506
|
+
// NOTE: `AdminProjectRef` is exported from `./admin-project-users.ts` with a
|
|
507
|
+
// richer shape (org + slug + name + ownerEmail) — consumers should import
|
|
508
|
+
// from there. The audit envelope's project ref is `AdminAuditAppRef`.
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Admin Billing — schemas for internal operator-console billing management.
|
|
3
|
+
* Mirrors `/admin/billing/*`.
|
|
4
|
+
*
|
|
5
|
+
* Plane: `admin`. Consolidates usage / invoices / balances / stats / pricing
|
|
6
|
+
* / overview / analysis into one namespace — the route handlers aggregate
|
|
7
|
+
* cross-org data in ways that evolve with the dashboard, so most responses
|
|
8
|
+
* are permissive (`Schema.Unknown`) and will be tightened in a follow-up wave.
|
|
9
|
+
*/
|
|
10
|
+
import { Schema } from 'effect';
|
|
11
|
+
export declare const AdminBillingOrgParams: Schema.Struct<{
|
|
12
|
+
orgId: typeof Schema.String;
|
|
13
|
+
}>;
|
|
14
|
+
export type AdminBillingOrgParams = typeof AdminBillingOrgParams.Type;
|
|
15
|
+
export declare const AdminBillingInvoiceParams: Schema.Struct<{
|
|
16
|
+
invoiceId: typeof Schema.String;
|
|
17
|
+
}>;
|
|
18
|
+
export type AdminBillingInvoiceParams = typeof AdminBillingInvoiceParams.Type;
|
|
19
|
+
export declare const AdminBillingListQuery: Schema.Struct<{
|
|
20
|
+
limit: Schema.optional<typeof Schema.String>;
|
|
21
|
+
offset: Schema.optional<typeof Schema.String>;
|
|
22
|
+
status: Schema.optional<typeof Schema.String>;
|
|
23
|
+
}>;
|
|
24
|
+
export type AdminBillingListQuery = typeof AdminBillingListQuery.Type;
|
|
25
|
+
export declare const AdminBillingUsageQuery: Schema.Struct<{
|
|
26
|
+
startDate: Schema.optional<typeof Schema.String>;
|
|
27
|
+
endDate: Schema.optional<typeof Schema.String>;
|
|
28
|
+
period: Schema.optional<typeof Schema.String>;
|
|
29
|
+
}>;
|
|
30
|
+
export type AdminBillingUsageQuery = typeof AdminBillingUsageQuery.Type;
|
|
31
|
+
export declare const AdminBillingMonthlyQuery: Schema.Struct<{
|
|
32
|
+
month: Schema.optional<typeof Schema.String>;
|
|
33
|
+
year: Schema.optional<typeof Schema.String>;
|
|
34
|
+
}>;
|
|
35
|
+
export type AdminBillingMonthlyQuery = typeof AdminBillingMonthlyQuery.Type;
|
|
36
|
+
export declare const AdminBillingTransactionsQuery: Schema.Struct<{
|
|
37
|
+
limit: Schema.optional<typeof Schema.String>;
|
|
38
|
+
offset: Schema.optional<typeof Schema.String>;
|
|
39
|
+
}>;
|
|
40
|
+
export type AdminBillingTransactionsQuery = typeof AdminBillingTransactionsQuery.Type;
|
|
41
|
+
/**
|
|
42
|
+
* Inputs for credit + balance settings + pricing + invoice generate stay
|
|
43
|
+
* permissive (`Schema.Record`) — the route handler validates the shape; the
|
|
44
|
+
* contract mirrors the wire exactly without pre-locking every field.
|
|
45
|
+
*/
|
|
46
|
+
export declare const AdminBillingUnknownInput: Schema.Record$<typeof Schema.String, typeof Schema.Unknown>;
|
|
47
|
+
export type AdminBillingUnknownInput = typeof AdminBillingUnknownInput.Type;
|
|
48
|
+
export declare const AdminBillingAddCreditsInput: Schema.Struct<{
|
|
49
|
+
amountCents: typeof Schema.Number;
|
|
50
|
+
description: Schema.optional<typeof Schema.String>;
|
|
51
|
+
}>;
|
|
52
|
+
export type AdminBillingAddCreditsInput = typeof AdminBillingAddCreditsInput.Type;
|
|
53
|
+
export declare const AdminBillingUpdateSettingsInput: Schema.Struct<{
|
|
54
|
+
lowBalanceThresholdCents: Schema.optional<typeof Schema.Number>;
|
|
55
|
+
autoTopupEnabled: Schema.optional<typeof Schema.Boolean>;
|
|
56
|
+
autoTopupAmountCents: Schema.optional<typeof Schema.Number>;
|
|
57
|
+
autoTopupThresholdCents: Schema.optional<typeof Schema.Number>;
|
|
58
|
+
}>;
|
|
59
|
+
export type AdminBillingUpdateSettingsInput = typeof AdminBillingUpdateSettingsInput.Type;
|
|
60
|
+
/**
|
|
61
|
+
* Billing aggregates (overview, stats, analysis, pricing tables) are opaque
|
|
62
|
+
* from the contract's perspective — the Console dashboard is the SSOT of
|
|
63
|
+
* shape and it changes faster than the contract would. Keep `Schema.Unknown`
|
|
64
|
+
* here and tighten in a future wave.
|
|
65
|
+
*/
|
|
66
|
+
export declare const AdminBillingUnknownResult: typeof Schema.Unknown;
|
|
67
|
+
export type AdminBillingUnknownResult = typeof AdminBillingUnknownResult.Type;
|
|
68
|
+
/**
|
|
69
|
+
* `/admin/billing/overview` — operator-dashboard billing aggregate. Opaque
|
|
70
|
+
* passthrough; consumers narrow at the UI boundary.
|
|
71
|
+
*/
|
|
72
|
+
export type AdminGetBillingOverviewResult = typeof AdminBillingUnknownResult.Type;
|
|
73
|
+
//# sourceMappingURL=admin-billing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-billing.d.ts","sourceRoot":"","sources":["../../src/schemas/admin-billing.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAI/B,eAAO,MAAM,qBAAqB;;EAA0C,CAAA;AAC5E,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AACrE,eAAO,MAAM,yBAAyB;;EAA8C,CAAA;AACpF,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAA;AAI7E,eAAO,MAAM,qBAAqB;;;;EAIhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAErE,eAAO,MAAM,sBAAsB;;;;EAIjC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AAEvE,eAAO,MAAM,wBAAwB;;;EAGnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA;AAE3E,eAAO,MAAM,6BAA6B;;;EAGxC,CAAA;AACF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAC,IAAI,CAAA;AAIrF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,6DAGnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA;AAE3E,eAAO,MAAM,2BAA2B;;;EAGtC,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,OAAO,2BAA2B,CAAC,IAAI,CAAA;AAEjF,eAAO,MAAM,+BAA+B;;;;;EAK1C,CAAA;AACF,MAAM,MAAM,+BAA+B,GAAG,OAAO,+BAA+B,CAAC,IAAI,CAAA;AAIzF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,uBAAiB,CAAA;AACvD,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAA;AAE7E;;;GAGG;AACH,MAAM,MAAM,6BAA6B,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAA"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Admin Billing — schemas for internal operator-console billing management.
|
|
3
|
+
* Mirrors `/admin/billing/*`.
|
|
4
|
+
*
|
|
5
|
+
* Plane: `admin`. Consolidates usage / invoices / balances / stats / pricing
|
|
6
|
+
* / overview / analysis into one namespace — the route handlers aggregate
|
|
7
|
+
* cross-org data in ways that evolve with the dashboard, so most responses
|
|
8
|
+
* are permissive (`Schema.Unknown`) and will be tightened in a follow-up wave.
|
|
9
|
+
*/
|
|
10
|
+
import { Schema } from 'effect';
|
|
11
|
+
// ── Params ─────────────────────────────────────────────────────────────────
|
|
12
|
+
export const AdminBillingOrgParams = Schema.Struct({ orgId: Schema.String });
|
|
13
|
+
export const AdminBillingInvoiceParams = Schema.Struct({ invoiceId: Schema.String });
|
|
14
|
+
// ── Query ──────────────────────────────────────────────────────────────────
|
|
15
|
+
export const AdminBillingListQuery = Schema.Struct({
|
|
16
|
+
limit: Schema.optional(Schema.String),
|
|
17
|
+
offset: Schema.optional(Schema.String),
|
|
18
|
+
status: Schema.optional(Schema.String),
|
|
19
|
+
});
|
|
20
|
+
export const AdminBillingUsageQuery = Schema.Struct({
|
|
21
|
+
startDate: Schema.optional(Schema.String),
|
|
22
|
+
endDate: Schema.optional(Schema.String),
|
|
23
|
+
period: Schema.optional(Schema.String),
|
|
24
|
+
});
|
|
25
|
+
export const AdminBillingMonthlyQuery = Schema.Struct({
|
|
26
|
+
month: Schema.optional(Schema.String),
|
|
27
|
+
year: Schema.optional(Schema.String),
|
|
28
|
+
});
|
|
29
|
+
export const AdminBillingTransactionsQuery = Schema.Struct({
|
|
30
|
+
limit: Schema.optional(Schema.String),
|
|
31
|
+
offset: Schema.optional(Schema.String),
|
|
32
|
+
});
|
|
33
|
+
// ── Inputs ─────────────────────────────────────────────────────────────────
|
|
34
|
+
/**
|
|
35
|
+
* Inputs for credit + balance settings + pricing + invoice generate stay
|
|
36
|
+
* permissive (`Schema.Record`) — the route handler validates the shape; the
|
|
37
|
+
* contract mirrors the wire exactly without pre-locking every field.
|
|
38
|
+
*/
|
|
39
|
+
export const AdminBillingUnknownInput = Schema.Record({
|
|
40
|
+
key: Schema.String,
|
|
41
|
+
value: Schema.Unknown,
|
|
42
|
+
});
|
|
43
|
+
export const AdminBillingAddCreditsInput = Schema.Struct({
|
|
44
|
+
amountCents: Schema.Number,
|
|
45
|
+
description: Schema.optional(Schema.String),
|
|
46
|
+
});
|
|
47
|
+
export const AdminBillingUpdateSettingsInput = Schema.Struct({
|
|
48
|
+
lowBalanceThresholdCents: Schema.optional(Schema.Number),
|
|
49
|
+
autoTopupEnabled: Schema.optional(Schema.Boolean),
|
|
50
|
+
autoTopupAmountCents: Schema.optional(Schema.Number),
|
|
51
|
+
autoTopupThresholdCents: Schema.optional(Schema.Number),
|
|
52
|
+
});
|
|
53
|
+
// ── Responses ──────────────────────────────────────────────────────────────
|
|
54
|
+
/**
|
|
55
|
+
* Billing aggregates (overview, stats, analysis, pricing tables) are opaque
|
|
56
|
+
* from the contract's perspective — the Console dashboard is the SSOT of
|
|
57
|
+
* shape and it changes faster than the contract would. Keep `Schema.Unknown`
|
|
58
|
+
* here and tighten in a future wave.
|
|
59
|
+
*/
|
|
60
|
+
export const AdminBillingUnknownResult = Schema.Unknown;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Admin Bootstrap — reset-bootstrap-window schema (ADR-089 §2.7 Phase 7 Commit B).
|
|
3
|
+
*
|
|
4
|
+
* Platform-plane endpoint that forcibly re-opens the Appwrite-pattern
|
|
5
|
+
* bootstrap window for an already-booted cluster. The window normally
|
|
6
|
+
* opens ONCE at first boot (SETNX with 10-min TTL) and closes itself on
|
|
7
|
+
* first successful super-admin signup. This reset path is the documented
|
|
8
|
+
* recovery for:
|
|
9
|
+
*
|
|
10
|
+
* - Operator missed the window (10 minutes elapsed without signup).
|
|
11
|
+
* - A second recovery super-admin needs to be created later (e.g. the
|
|
12
|
+
* original admin's credentials are lost and there are no other
|
|
13
|
+
* admins to promote via the admin-users surface).
|
|
14
|
+
*
|
|
15
|
+
* Auth: `superAdminAuth` (platform session cookie, super_admin role) —
|
|
16
|
+
* see `apps/api/src/server/platform/middleware/auth.ts:462`. Deliberately
|
|
17
|
+
* NOT service-token-scoped: this is a power operator action, not an
|
|
18
|
+
* automation hook; it SHOULD require a human-in-the-loop session.
|
|
19
|
+
*/
|
|
20
|
+
import { Schema } from 'effect';
|
|
21
|
+
/** Input: no body. The POST verb + super-admin auth is the whole request. */
|
|
22
|
+
export declare const ResetBootstrapWindowInput: Schema.Struct<{}>;
|
|
23
|
+
/** Output: confirm window state + TTL so the caller knows when it expires. */
|
|
24
|
+
export declare const ResetBootstrapWindowResult: Schema.Struct<{
|
|
25
|
+
/** Always `true` when the endpoint returns 200. */
|
|
26
|
+
opened: typeof Schema.Boolean;
|
|
27
|
+
/** Seconds until the window closes again. Mirrors `BOOTSTRAP_WINDOW_TTL_SECONDS`. */
|
|
28
|
+
ttlSeconds: typeof Schema.Number;
|
|
29
|
+
/** Human-readable instruction for the next step. */
|
|
30
|
+
message: typeof Schema.String;
|
|
31
|
+
}>;
|
|
32
|
+
//# sourceMappingURL=admin-bootstrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-bootstrap.d.ts","sourceRoot":"","sources":["../../src/schemas/admin-bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,6EAA6E;AAC7E,eAAO,MAAM,yBAAyB,mBAGpC,CAAA;AAEF,8EAA8E;AAC9E,eAAO,MAAM,0BAA0B;IACtC,mDAAmD;;IAEnD,qFAAqF;;IAErF,oDAAoD;;EAKnD,CAAA"}
|