@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 @@
|
|
|
1
|
+
{"version":3,"file":"organization-projects.d.ts","sourceRoot":"","sources":["../../src/schemas/organization-projects.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAK/B,eAAO,MAAM,cAAc;;EAEzB,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD,eAAO,MAAM,eAAe;;;;EAI1B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAIzD,eAAO,MAAM,kBAAkB;;;;;EAK7B,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAA;AAE/D,eAAO,MAAM,qBAAqB;;;;;GAAmC,CAAA;AACrE,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAIrE,eAAO,MAAM,qBAAqB;;;;EAIhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAErE,eAAO,MAAM,sBAAsB;;;;;;;;;;;EAWjC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AAEvE;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;EAUhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAErE,eAAO,MAAM,sBAAsB;;;;;;;;EAQjC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AAEvE,eAAO,MAAM,sBAAsB;;EAEjC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AAevE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;EAOlC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAIzE,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;EAwBxC,CAAA;AACF,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAC,IAAI,CAAA"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Organization projects — Console-plane project CRUD + logs + usage stats
|
|
3
|
+
* mounted under `/orgs/projects/*`. Mirrors the wire shapes served at
|
|
4
|
+
* `apps/api/src/server/platform/routes/orgs/projects.ts`.
|
|
5
|
+
*
|
|
6
|
+
* These are org-context-scoped (caller's current org pulled from auth) —
|
|
7
|
+
* distinct from `projectsEndpoints` in `endpoints/projects.ts` which serves
|
|
8
|
+
* the explicit management-plane surface.
|
|
9
|
+
*/
|
|
10
|
+
import { Schema } from 'effect';
|
|
11
|
+
import { ProjectId } from './ids.js';
|
|
12
|
+
// ── Slug check ─────────────────────────────────────────────────────────────
|
|
13
|
+
export const CheckSlugQuery = Schema.Struct({
|
|
14
|
+
slug: Schema.String,
|
|
15
|
+
});
|
|
16
|
+
export const CheckSlugResult = Schema.Struct({
|
|
17
|
+
available: Schema.Boolean,
|
|
18
|
+
reason: Schema.NullOr(Schema.String),
|
|
19
|
+
message: Schema.String,
|
|
20
|
+
});
|
|
21
|
+
// ── List + summary ─────────────────────────────────────────────────────────
|
|
22
|
+
export const OrgProjectListItem = Schema.Struct({
|
|
23
|
+
id: ProjectId,
|
|
24
|
+
name: Schema.String,
|
|
25
|
+
slug: Schema.String,
|
|
26
|
+
isActive: Schema.Boolean,
|
|
27
|
+
});
|
|
28
|
+
export const ListOrgProjectsResult = Schema.Array(OrgProjectListItem);
|
|
29
|
+
// ── Create / Update / Delete ───────────────────────────────────────────────
|
|
30
|
+
export const CreateOrgProjectInput = Schema.Struct({
|
|
31
|
+
name: Schema.String,
|
|
32
|
+
slug: Schema.String,
|
|
33
|
+
description: Schema.optional(Schema.NullOr(Schema.String)),
|
|
34
|
+
});
|
|
35
|
+
export const CreateOrgProjectResult = Schema.Struct({
|
|
36
|
+
app: Schema.Struct({
|
|
37
|
+
id: ProjectId,
|
|
38
|
+
name: Schema.String,
|
|
39
|
+
slug: Schema.String,
|
|
40
|
+
description: Schema.NullOr(Schema.String),
|
|
41
|
+
isActive: Schema.Boolean,
|
|
42
|
+
orgId: Schema.String,
|
|
43
|
+
createdAt: Schema.String,
|
|
44
|
+
updatedAt: Schema.String,
|
|
45
|
+
}),
|
|
46
|
+
});
|
|
47
|
+
/**
|
|
48
|
+
* Partial-update body — every field independently optional so clients can
|
|
49
|
+
* send the narrowest possible patch. Mirrors the handler in `projects.ts`
|
|
50
|
+
* (OAuth / webhook / settings surface is Console-plane rich).
|
|
51
|
+
*/
|
|
52
|
+
export const UpdateOrgProjectInput = Schema.Struct({
|
|
53
|
+
name: Schema.optional(Schema.String),
|
|
54
|
+
description: Schema.optional(Schema.NullOr(Schema.String)),
|
|
55
|
+
isActive: Schema.optional(Schema.Boolean),
|
|
56
|
+
enabledOAuthProviders: Schema.optional(Schema.NullOr(Schema.Array(Schema.String))),
|
|
57
|
+
domains: Schema.optional(Schema.Array(Schema.String)),
|
|
58
|
+
webhookUrl: Schema.optional(Schema.NullOr(Schema.String)),
|
|
59
|
+
webhookSecret: Schema.optional(Schema.NullOr(Schema.String)),
|
|
60
|
+
webhookEvents: Schema.optional(Schema.NullOr(Schema.Array(Schema.String))),
|
|
61
|
+
settings: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Unknown })),
|
|
62
|
+
});
|
|
63
|
+
export const UpdateOrgProjectResult = Schema.Struct({
|
|
64
|
+
app: Schema.Struct({
|
|
65
|
+
id: ProjectId,
|
|
66
|
+
name: Schema.String,
|
|
67
|
+
slug: Schema.String,
|
|
68
|
+
description: Schema.NullOr(Schema.String),
|
|
69
|
+
isActive: Schema.Boolean,
|
|
70
|
+
}),
|
|
71
|
+
});
|
|
72
|
+
export const DeleteOrgProjectResult = Schema.Struct({
|
|
73
|
+
success: Schema.Boolean,
|
|
74
|
+
});
|
|
75
|
+
// ── Logs ───────────────────────────────────────────────────────────────────
|
|
76
|
+
const OrgProjectLogEntry = Schema.Struct({
|
|
77
|
+
id: Schema.String,
|
|
78
|
+
service: Schema.String,
|
|
79
|
+
endpoint: Schema.String,
|
|
80
|
+
success: Schema.Boolean,
|
|
81
|
+
statusCode: Schema.NullOr(Schema.Number),
|
|
82
|
+
latencyMs: Schema.NullOr(Schema.Number),
|
|
83
|
+
errorMessage: Schema.NullOr(Schema.String),
|
|
84
|
+
createdAt: Schema.String,
|
|
85
|
+
});
|
|
86
|
+
export const GetOrgProjectLogsResult = Schema.Struct({
|
|
87
|
+
app: Schema.Struct({
|
|
88
|
+
id: ProjectId,
|
|
89
|
+
name: Schema.String,
|
|
90
|
+
slug: Schema.String,
|
|
91
|
+
}),
|
|
92
|
+
logs: Schema.Array(OrgProjectLogEntry),
|
|
93
|
+
});
|
|
94
|
+
// ── Usage stats ────────────────────────────────────────────────────────────
|
|
95
|
+
export const GetOrgProjectUsageStatsResult = Schema.Struct({
|
|
96
|
+
app: Schema.Struct({
|
|
97
|
+
id: ProjectId,
|
|
98
|
+
name: Schema.String,
|
|
99
|
+
slug: Schema.String,
|
|
100
|
+
}),
|
|
101
|
+
billingPeriod: Schema.Struct({
|
|
102
|
+
start: Schema.String,
|
|
103
|
+
end: Schema.String,
|
|
104
|
+
}),
|
|
105
|
+
users: Schema.Struct({
|
|
106
|
+
total: Schema.Number,
|
|
107
|
+
monthlyActive: Schema.Number,
|
|
108
|
+
}),
|
|
109
|
+
ai: Schema.Struct({
|
|
110
|
+
requests: Schema.Number,
|
|
111
|
+
inputTokens: Schema.Number,
|
|
112
|
+
outputTokens: Schema.Number,
|
|
113
|
+
costMicrodollars: Schema.Number,
|
|
114
|
+
}),
|
|
115
|
+
storage: Schema.Struct({
|
|
116
|
+
files: Schema.Number,
|
|
117
|
+
bytes: Schema.Number,
|
|
118
|
+
}),
|
|
119
|
+
});
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Organization referrals — Console-plane referral program view per project
|
|
3
|
+
* mounted under `/orgs/projects/:projectId/referrals/*`. Mirrors the wire
|
|
4
|
+
* shapes served at `apps/api/src/server/platform/routes/orgs/referrals.ts`.
|
|
5
|
+
*
|
|
6
|
+
* Distinct from:
|
|
7
|
+
* • `referrals-admin` (super-admin cross-project view)
|
|
8
|
+
* • BaaS-plane `referrals` (customer-facing redemption runtime)
|
|
9
|
+
*
|
|
10
|
+
* This surface is org-scoped read-only insight into a customer's referral
|
|
11
|
+
* program + leaderboard for the Console UI.
|
|
12
|
+
*/
|
|
13
|
+
import { Schema } from 'effect';
|
|
14
|
+
/**
|
|
15
|
+
* Prefixed to avoid collision with the `referrals-admin` namespace —
|
|
16
|
+
* Console org referral views only need `pending / completed / expired`
|
|
17
|
+
* (no `cancelled`), and the admin surface already owns `ReferralStatus`.
|
|
18
|
+
*/
|
|
19
|
+
export declare const OrgReferralStatus: Schema.Literal<["pending", "completed", "expired"]>;
|
|
20
|
+
export type OrgReferralStatus = typeof OrgReferralStatus.Type;
|
|
21
|
+
export declare const OrgReferralPeriod: Schema.Literal<["all", "month", "week"]>;
|
|
22
|
+
export type OrgReferralPeriod = typeof OrgReferralPeriod.Type;
|
|
23
|
+
export declare const ListReferralCodesQuery: Schema.Struct<{
|
|
24
|
+
status: Schema.optional<Schema.Literal<["pending", "completed", "expired", "all"]>>;
|
|
25
|
+
limit: Schema.optional<typeof Schema.String>;
|
|
26
|
+
offset: Schema.optional<typeof Schema.String>;
|
|
27
|
+
environmentId: Schema.optional<typeof Schema.String>;
|
|
28
|
+
}>;
|
|
29
|
+
export type ListReferralCodesQuery = typeof ListReferralCodesQuery.Type;
|
|
30
|
+
export declare const ListReferralCodesResult: Schema.Struct<{
|
|
31
|
+
codes: Schema.Array$<Schema.Struct<{
|
|
32
|
+
id: typeof Schema.String;
|
|
33
|
+
code: typeof Schema.String;
|
|
34
|
+
status: Schema.Literal<["pending", "completed", "expired"]>;
|
|
35
|
+
rewardType: Schema.NullOr<typeof Schema.String>;
|
|
36
|
+
referrer: Schema.Struct<{
|
|
37
|
+
id: typeof Schema.String;
|
|
38
|
+
email: typeof Schema.String;
|
|
39
|
+
name: Schema.NullOr<typeof Schema.String>;
|
|
40
|
+
}>;
|
|
41
|
+
hasBeenRedeemed: typeof Schema.Boolean;
|
|
42
|
+
createdAt: typeof Schema.String;
|
|
43
|
+
completedAt: Schema.NullOr<typeof Schema.String>;
|
|
44
|
+
}>>;
|
|
45
|
+
total: typeof Schema.Number;
|
|
46
|
+
stats: Schema.Struct<{
|
|
47
|
+
pending: typeof Schema.Number;
|
|
48
|
+
completed: typeof Schema.Number;
|
|
49
|
+
expired: typeof Schema.Number;
|
|
50
|
+
}>;
|
|
51
|
+
}>;
|
|
52
|
+
export type ListReferralCodesResult = typeof ListReferralCodesResult.Type;
|
|
53
|
+
export declare const GetReferralConfigResult: Schema.NullOr<Schema.Struct<{
|
|
54
|
+
isActive: typeof Schema.Boolean;
|
|
55
|
+
referrerRewardType: Schema.NullOr<typeof Schema.String>;
|
|
56
|
+
referrerRewardAmount: Schema.NullOr<typeof Schema.Number>;
|
|
57
|
+
refereeRewardType: Schema.NullOr<typeof Schema.String>;
|
|
58
|
+
refereeRewardAmount: Schema.NullOr<typeof Schema.Number>;
|
|
59
|
+
attributionWindowDays: typeof Schema.Number;
|
|
60
|
+
maxReferralsPerUser: Schema.NullOr<typeof Schema.Number>;
|
|
61
|
+
minConversionValueCents: Schema.NullOr<typeof Schema.Number>;
|
|
62
|
+
rewardExpiryDays: Schema.NullOr<typeof Schema.Number>;
|
|
63
|
+
codePrefix: Schema.NullOr<typeof Schema.String>;
|
|
64
|
+
landingUrl: Schema.NullOr<typeof Schema.String>;
|
|
65
|
+
}>>;
|
|
66
|
+
export type GetReferralConfigResult = typeof GetReferralConfigResult.Type;
|
|
67
|
+
export declare const ListReferralRewardsQuery: Schema.Struct<{
|
|
68
|
+
status: Schema.optional<Schema.Literal<["pending", "completed"]>>;
|
|
69
|
+
limit: Schema.optional<typeof Schema.String>;
|
|
70
|
+
offset: Schema.optional<typeof Schema.String>;
|
|
71
|
+
environmentId: Schema.optional<typeof Schema.String>;
|
|
72
|
+
}>;
|
|
73
|
+
export type ListReferralRewardsQuery = typeof ListReferralRewardsQuery.Type;
|
|
74
|
+
export declare const ListReferralRewardsResult: Schema.Struct<{
|
|
75
|
+
rewards: Schema.Array$<Schema.Struct<{
|
|
76
|
+
id: typeof Schema.String;
|
|
77
|
+
code: typeof Schema.String;
|
|
78
|
+
status: Schema.Literal<["pending", "completed", "expired"]>;
|
|
79
|
+
rewardType: Schema.NullOr<typeof Schema.String>;
|
|
80
|
+
referrer: Schema.Struct<{
|
|
81
|
+
id: typeof Schema.String;
|
|
82
|
+
email: typeof Schema.String;
|
|
83
|
+
name: Schema.NullOr<typeof Schema.String>;
|
|
84
|
+
}>;
|
|
85
|
+
referredUser: Schema.NullOr<Schema.Struct<{
|
|
86
|
+
id: typeof Schema.String;
|
|
87
|
+
email: typeof Schema.String;
|
|
88
|
+
name: Schema.NullOr<typeof Schema.String>;
|
|
89
|
+
}>>;
|
|
90
|
+
createdAt: typeof Schema.String;
|
|
91
|
+
completedAt: Schema.NullOr<typeof Schema.String>;
|
|
92
|
+
metadata: Schema.NullOr<typeof Schema.Unknown>;
|
|
93
|
+
}>>;
|
|
94
|
+
total: typeof Schema.Number;
|
|
95
|
+
pendingCount: typeof Schema.Number;
|
|
96
|
+
completedCount: typeof Schema.Number;
|
|
97
|
+
}>;
|
|
98
|
+
export type ListReferralRewardsResult = typeof ListReferralRewardsResult.Type;
|
|
99
|
+
export declare const GetReferralLeaderboardQuery: Schema.Struct<{
|
|
100
|
+
period: Schema.optional<Schema.Literal<["all", "month", "week"]>>;
|
|
101
|
+
limit: Schema.optional<typeof Schema.String>;
|
|
102
|
+
}>;
|
|
103
|
+
export type GetReferralLeaderboardQuery = typeof GetReferralLeaderboardQuery.Type;
|
|
104
|
+
/**
|
|
105
|
+
* `avgReferralsPerUser` + `kFactor` are emitted as strings (`.toFixed(2)`)
|
|
106
|
+
* for display parity — the contract matches transport exactly.
|
|
107
|
+
*/
|
|
108
|
+
export declare const GetReferralLeaderboardResult: Schema.Struct<{
|
|
109
|
+
leaderboard: Schema.Array$<Schema.Struct<{
|
|
110
|
+
rank: typeof Schema.Number;
|
|
111
|
+
userId: typeof Schema.String;
|
|
112
|
+
email: typeof Schema.String;
|
|
113
|
+
name: Schema.NullOr<typeof Schema.String>;
|
|
114
|
+
image: Schema.NullOr<typeof Schema.String>;
|
|
115
|
+
totalReferrals: typeof Schema.Number;
|
|
116
|
+
completedReferrals: typeof Schema.Number;
|
|
117
|
+
conversionRate: typeof Schema.Number;
|
|
118
|
+
}>>;
|
|
119
|
+
stats: Schema.Struct<{
|
|
120
|
+
totalReferrers: typeof Schema.Number;
|
|
121
|
+
totalReferrals: typeof Schema.Number;
|
|
122
|
+
totalConversions: typeof Schema.Number;
|
|
123
|
+
avgReferralsPerUser: typeof Schema.String;
|
|
124
|
+
conversionRate: typeof Schema.Number;
|
|
125
|
+
kFactor: typeof Schema.String;
|
|
126
|
+
}>;
|
|
127
|
+
}>;
|
|
128
|
+
export type GetReferralLeaderboardResult = typeof GetReferralLeaderboardResult.Type;
|
|
129
|
+
//# sourceMappingURL=organization-referrals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organization-referrals.d.ts","sourceRoot":"","sources":["../../src/schemas/organization-referrals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,qDAAoD,CAAA;AAClF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE7D,eAAO,MAAM,iBAAiB,0CAAyC,CAAA;AACvE,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAY7D,eAAO,MAAM,sBAAsB;;;;;EAKjC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AAavE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;EAQlC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAuBzE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;GAAgC,CAAA;AACpE,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAIzE,eAAO,MAAM,wBAAwB;;;;;EAKnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA;AAc3E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;EAKpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAA;AAI7E,eAAO,MAAM,2BAA2B;;;EAGtC,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,OAAO,2BAA2B,CAAC,IAAI,CAAA;AAajF;;;GAGG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;EAUvC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,OAAO,4BAA4B,CAAC,IAAI,CAAA"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Organization referrals — Console-plane referral program view per project
|
|
3
|
+
* mounted under `/orgs/projects/:projectId/referrals/*`. Mirrors the wire
|
|
4
|
+
* shapes served at `apps/api/src/server/platform/routes/orgs/referrals.ts`.
|
|
5
|
+
*
|
|
6
|
+
* Distinct from:
|
|
7
|
+
* • `referrals-admin` (super-admin cross-project view)
|
|
8
|
+
* • BaaS-plane `referrals` (customer-facing redemption runtime)
|
|
9
|
+
*
|
|
10
|
+
* This surface is org-scoped read-only insight into a customer's referral
|
|
11
|
+
* program + leaderboard for the Console UI.
|
|
12
|
+
*/
|
|
13
|
+
import { Schema } from 'effect';
|
|
14
|
+
/**
|
|
15
|
+
* Prefixed to avoid collision with the `referrals-admin` namespace —
|
|
16
|
+
* Console org referral views only need `pending / completed / expired`
|
|
17
|
+
* (no `cancelled`), and the admin surface already owns `ReferralStatus`.
|
|
18
|
+
*/
|
|
19
|
+
export const OrgReferralStatus = Schema.Literal('pending', 'completed', 'expired');
|
|
20
|
+
export const OrgReferralPeriod = Schema.Literal('all', 'month', 'week');
|
|
21
|
+
// ── User refs ──────────────────────────────────────────────────────────────
|
|
22
|
+
const ReferrerRef = Schema.Struct({
|
|
23
|
+
id: Schema.String,
|
|
24
|
+
email: Schema.String,
|
|
25
|
+
name: Schema.NullOr(Schema.String),
|
|
26
|
+
});
|
|
27
|
+
// ── List referral codes ────────────────────────────────────────────────────
|
|
28
|
+
export const ListReferralCodesQuery = Schema.Struct({
|
|
29
|
+
status: Schema.optional(Schema.Literal('pending', 'completed', 'expired', 'all')),
|
|
30
|
+
limit: Schema.optional(Schema.String),
|
|
31
|
+
offset: Schema.optional(Schema.String),
|
|
32
|
+
environmentId: Schema.optional(Schema.String),
|
|
33
|
+
});
|
|
34
|
+
const ReferralCodeEntry = Schema.Struct({
|
|
35
|
+
id: Schema.String,
|
|
36
|
+
code: Schema.String,
|
|
37
|
+
status: OrgReferralStatus,
|
|
38
|
+
rewardType: Schema.NullOr(Schema.String),
|
|
39
|
+
referrer: ReferrerRef,
|
|
40
|
+
hasBeenRedeemed: Schema.Boolean,
|
|
41
|
+
createdAt: Schema.String,
|
|
42
|
+
completedAt: Schema.NullOr(Schema.String),
|
|
43
|
+
});
|
|
44
|
+
export const ListReferralCodesResult = Schema.Struct({
|
|
45
|
+
codes: Schema.Array(ReferralCodeEntry),
|
|
46
|
+
total: Schema.Number,
|
|
47
|
+
stats: Schema.Struct({
|
|
48
|
+
pending: Schema.Number,
|
|
49
|
+
completed: Schema.Number,
|
|
50
|
+
expired: Schema.Number,
|
|
51
|
+
}),
|
|
52
|
+
});
|
|
53
|
+
// ── Get referral config ────────────────────────────────────────────────────
|
|
54
|
+
/**
|
|
55
|
+
* Config response is either a populated object or `null` when the project
|
|
56
|
+
* has never initialised a referral program. Using `Schema.NullOr` around a
|
|
57
|
+
* struct lets clients branch on `null` before accessing fields.
|
|
58
|
+
*/
|
|
59
|
+
const ReferralConfig = Schema.Struct({
|
|
60
|
+
isActive: Schema.Boolean,
|
|
61
|
+
referrerRewardType: Schema.NullOr(Schema.String),
|
|
62
|
+
referrerRewardAmount: Schema.NullOr(Schema.Number),
|
|
63
|
+
refereeRewardType: Schema.NullOr(Schema.String),
|
|
64
|
+
refereeRewardAmount: Schema.NullOr(Schema.Number),
|
|
65
|
+
attributionWindowDays: Schema.Number,
|
|
66
|
+
maxReferralsPerUser: Schema.NullOr(Schema.Number),
|
|
67
|
+
minConversionValueCents: Schema.NullOr(Schema.Number),
|
|
68
|
+
rewardExpiryDays: Schema.NullOr(Schema.Number),
|
|
69
|
+
codePrefix: Schema.NullOr(Schema.String),
|
|
70
|
+
landingUrl: Schema.NullOr(Schema.String),
|
|
71
|
+
});
|
|
72
|
+
export const GetReferralConfigResult = Schema.NullOr(ReferralConfig);
|
|
73
|
+
// ── List referral rewards ──────────────────────────────────────────────────
|
|
74
|
+
export const ListReferralRewardsQuery = Schema.Struct({
|
|
75
|
+
status: Schema.optional(Schema.Literal('pending', 'completed')),
|
|
76
|
+
limit: Schema.optional(Schema.String),
|
|
77
|
+
offset: Schema.optional(Schema.String),
|
|
78
|
+
environmentId: Schema.optional(Schema.String),
|
|
79
|
+
});
|
|
80
|
+
const ReferralRewardEntry = Schema.Struct({
|
|
81
|
+
id: Schema.String,
|
|
82
|
+
code: Schema.String,
|
|
83
|
+
status: OrgReferralStatus,
|
|
84
|
+
rewardType: Schema.NullOr(Schema.String),
|
|
85
|
+
referrer: ReferrerRef,
|
|
86
|
+
referredUser: Schema.NullOr(ReferrerRef),
|
|
87
|
+
createdAt: Schema.String,
|
|
88
|
+
completedAt: Schema.NullOr(Schema.String),
|
|
89
|
+
metadata: Schema.NullOr(Schema.Unknown),
|
|
90
|
+
});
|
|
91
|
+
export const ListReferralRewardsResult = Schema.Struct({
|
|
92
|
+
rewards: Schema.Array(ReferralRewardEntry),
|
|
93
|
+
total: Schema.Number,
|
|
94
|
+
pendingCount: Schema.Number,
|
|
95
|
+
completedCount: Schema.Number,
|
|
96
|
+
});
|
|
97
|
+
// ── Leaderboard ────────────────────────────────────────────────────────────
|
|
98
|
+
export const GetReferralLeaderboardQuery = Schema.Struct({
|
|
99
|
+
period: Schema.optional(OrgReferralPeriod),
|
|
100
|
+
limit: Schema.optional(Schema.String),
|
|
101
|
+
});
|
|
102
|
+
const LeaderboardEntry = Schema.Struct({
|
|
103
|
+
rank: Schema.Number,
|
|
104
|
+
userId: Schema.String,
|
|
105
|
+
email: Schema.String,
|
|
106
|
+
name: Schema.NullOr(Schema.String),
|
|
107
|
+
image: Schema.NullOr(Schema.String),
|
|
108
|
+
totalReferrals: Schema.Number,
|
|
109
|
+
completedReferrals: Schema.Number,
|
|
110
|
+
conversionRate: Schema.Number,
|
|
111
|
+
});
|
|
112
|
+
/**
|
|
113
|
+
* `avgReferralsPerUser` + `kFactor` are emitted as strings (`.toFixed(2)`)
|
|
114
|
+
* for display parity — the contract matches transport exactly.
|
|
115
|
+
*/
|
|
116
|
+
export const GetReferralLeaderboardResult = Schema.Struct({
|
|
117
|
+
leaderboard: Schema.Array(LeaderboardEntry),
|
|
118
|
+
stats: Schema.Struct({
|
|
119
|
+
totalReferrers: Schema.Number,
|
|
120
|
+
totalReferrals: Schema.Number,
|
|
121
|
+
totalConversions: Schema.Number,
|
|
122
|
+
avgReferralsPerUser: Schema.String,
|
|
123
|
+
conversionRate: Schema.Number,
|
|
124
|
+
kFactor: Schema.String,
|
|
125
|
+
}),
|
|
126
|
+
});
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Organization team — Console-plane team management (members + pending
|
|
3
|
+
* invitations + per-user profile + notification preferences) mounted under
|
|
4
|
+
* `/orgs/team/*` + `/orgs/profile/*`. Mirrors the wire shapes served at
|
|
5
|
+
* `apps/api/src/server/platform/routes/orgs/team.ts`.
|
|
6
|
+
*
|
|
7
|
+
* Team view mixes member + invitation data so the Console can render the
|
|
8
|
+
* single settings page without N round-trips.
|
|
9
|
+
*/
|
|
10
|
+
import { Schema } from 'effect';
|
|
11
|
+
export declare const GetTeamDataResult: Schema.Struct<{
|
|
12
|
+
orgId: typeof Schema.String;
|
|
13
|
+
members: Schema.Array$<Schema.Struct<{
|
|
14
|
+
membership: Schema.Struct<{
|
|
15
|
+
id: typeof Schema.String;
|
|
16
|
+
role: Schema.Literal<["super_admin", "admin", "billing", "analytics", "developer", "viewer", "member"]>;
|
|
17
|
+
joinedAt: typeof Schema.String;
|
|
18
|
+
}>;
|
|
19
|
+
user: Schema.Struct<{
|
|
20
|
+
id: Schema.brand<Schema.filter<typeof Schema.String>, "UserId">;
|
|
21
|
+
email: typeof Schema.String;
|
|
22
|
+
name: Schema.NullOr<typeof Schema.String>;
|
|
23
|
+
image: Schema.NullOr<typeof Schema.String>;
|
|
24
|
+
}>;
|
|
25
|
+
}>>;
|
|
26
|
+
pendingInvitations: Schema.Array$<Schema.Struct<{
|
|
27
|
+
id: typeof Schema.String;
|
|
28
|
+
email: typeof Schema.String;
|
|
29
|
+
role: Schema.Literal<["super_admin", "admin", "billing", "analytics", "developer", "viewer", "member"]>;
|
|
30
|
+
expiresAt: typeof Schema.String;
|
|
31
|
+
createdAt: typeof Schema.String;
|
|
32
|
+
}>>;
|
|
33
|
+
currentUserId: typeof Schema.String;
|
|
34
|
+
currentUserRole: Schema.Literal<["super_admin", "admin", "billing", "analytics", "developer", "viewer", "member"]>;
|
|
35
|
+
}>;
|
|
36
|
+
export type GetTeamDataResult = typeof GetTeamDataResult.Type;
|
|
37
|
+
export declare const InvitationIdPath: Schema.Struct<{
|
|
38
|
+
invitationId: Schema.brand<Schema.filter<typeof Schema.String>, "InvitationId">;
|
|
39
|
+
}>;
|
|
40
|
+
export type InvitationIdPath = typeof InvitationIdPath.Type;
|
|
41
|
+
export declare const CreateInvitationInput: Schema.Struct<{
|
|
42
|
+
email: typeof Schema.String;
|
|
43
|
+
role: Schema.Literal<["super_admin", "admin", "billing", "analytics", "developer", "viewer", "member"]>;
|
|
44
|
+
}>;
|
|
45
|
+
export type CreateInvitationInput = typeof CreateInvitationInput.Type;
|
|
46
|
+
export declare const CreateInvitationResult: Schema.Struct<{
|
|
47
|
+
invitation: Schema.Struct<{
|
|
48
|
+
id: typeof Schema.String;
|
|
49
|
+
email: typeof Schema.String;
|
|
50
|
+
role: Schema.Literal<["super_admin", "admin", "billing", "analytics", "developer", "viewer", "member"]>;
|
|
51
|
+
status: typeof Schema.String;
|
|
52
|
+
expiresAt: typeof Schema.String;
|
|
53
|
+
createdAt: typeof Schema.String;
|
|
54
|
+
}>;
|
|
55
|
+
}>;
|
|
56
|
+
export type CreateInvitationResult = typeof CreateInvitationResult.Type;
|
|
57
|
+
export declare const CancelInvitationResult: Schema.Struct<{
|
|
58
|
+
success: typeof Schema.Boolean;
|
|
59
|
+
}>;
|
|
60
|
+
export type CancelInvitationResult = typeof CancelInvitationResult.Type;
|
|
61
|
+
export declare const GetProfileDataResult: Schema.Struct<{
|
|
62
|
+
user: Schema.Struct<{
|
|
63
|
+
id: Schema.brand<Schema.filter<typeof Schema.String>, "UserId">;
|
|
64
|
+
email: typeof Schema.String;
|
|
65
|
+
name: Schema.NullOr<typeof Schema.String>;
|
|
66
|
+
image: Schema.NullOr<typeof Schema.String>;
|
|
67
|
+
emailVerified: typeof Schema.Boolean;
|
|
68
|
+
createdAt: Schema.NullOr<typeof Schema.String>;
|
|
69
|
+
}>;
|
|
70
|
+
org: Schema.NullOr<Schema.Struct<{
|
|
71
|
+
id: typeof Schema.String;
|
|
72
|
+
name: typeof Schema.String;
|
|
73
|
+
slug: typeof Schema.String;
|
|
74
|
+
}>>;
|
|
75
|
+
role: Schema.NullOr<Schema.Literal<["super_admin", "admin", "billing", "analytics", "developer", "viewer", "member"]>>;
|
|
76
|
+
}>;
|
|
77
|
+
export type GetProfileDataResult = typeof GetProfileDataResult.Type;
|
|
78
|
+
/**
|
|
79
|
+
* Partial profile update — handler enforces "at least one field" at runtime,
|
|
80
|
+
* so both fields stay optional at the schema level.
|
|
81
|
+
*
|
|
82
|
+
* Distinct from `UpdateProfileInput` in `schemas/user.ts` — the user-scoped
|
|
83
|
+
* surface widens to timezone / locale; the team-profile surface is the
|
|
84
|
+
* narrower Console account-settings card.
|
|
85
|
+
*/
|
|
86
|
+
export declare const UpdateTeamProfileInput: Schema.Struct<{
|
|
87
|
+
name: Schema.optional<typeof Schema.String>;
|
|
88
|
+
image: Schema.optional<typeof Schema.String>;
|
|
89
|
+
}>;
|
|
90
|
+
export type UpdateTeamProfileInput = typeof UpdateTeamProfileInput.Type;
|
|
91
|
+
export declare const UpdateTeamProfileResult: Schema.Struct<{
|
|
92
|
+
success: typeof Schema.Boolean;
|
|
93
|
+
}>;
|
|
94
|
+
export type UpdateTeamProfileResult = typeof UpdateTeamProfileResult.Type;
|
|
95
|
+
/**
|
|
96
|
+
* Notification preferences — handler currently returns a static shape
|
|
97
|
+
* (ADR-052 platform-user noop). Contract captures the shape so future
|
|
98
|
+
* persistence doesn't break consumers.
|
|
99
|
+
*/
|
|
100
|
+
export declare const GetNotificationPreferencesResult: Schema.Struct<{
|
|
101
|
+
product_updates: typeof Schema.Boolean;
|
|
102
|
+
product_changelog: typeof Schema.Boolean;
|
|
103
|
+
security_alerts: typeof Schema.Boolean;
|
|
104
|
+
login_alerts: typeof Schema.Boolean;
|
|
105
|
+
usage_warnings: typeof Schema.Boolean;
|
|
106
|
+
billing_receipts: typeof Schema.Boolean;
|
|
107
|
+
newsletter: typeof Schema.Boolean;
|
|
108
|
+
promotions: typeof Schema.Boolean;
|
|
109
|
+
}>;
|
|
110
|
+
export type GetNotificationPreferencesResult = typeof GetNotificationPreferencesResult.Type;
|
|
111
|
+
/** Only the customer-toggleable subset is writable. */
|
|
112
|
+
export declare const UpdateNotificationPreferencesInput: Schema.Struct<{
|
|
113
|
+
product_updates: Schema.optional<typeof Schema.Boolean>;
|
|
114
|
+
product_changelog: Schema.optional<typeof Schema.Boolean>;
|
|
115
|
+
newsletter: Schema.optional<typeof Schema.Boolean>;
|
|
116
|
+
promotions: Schema.optional<typeof Schema.Boolean>;
|
|
117
|
+
}>;
|
|
118
|
+
export type UpdateNotificationPreferencesInput = typeof UpdateNotificationPreferencesInput.Type;
|
|
119
|
+
export declare const UpdateNotificationPreferencesResult: Schema.Struct<{
|
|
120
|
+
success: typeof Schema.Boolean;
|
|
121
|
+
}>;
|
|
122
|
+
export type UpdateNotificationPreferencesResult = typeof UpdateNotificationPreferencesResult.Type;
|
|
123
|
+
//# sourceMappingURL=organization-team.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organization-team.d.ts","sourceRoot":"","sources":["../../src/schemas/organization-team.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AA4B/B,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;EAM5B,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAI7D,eAAO,MAAM,gBAAgB;;EAE3B,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D,eAAO,MAAM,qBAAqB;;;EAGhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAErE,eAAO,MAAM,sBAAsB;;;;;;;;;EASjC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AAEvE,eAAO,MAAM,sBAAsB;;EAEjC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AAIvE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;EAiB/B,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAC,IAAI,CAAA;AAEnE;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB;;;EAGjC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AAEvE,eAAO,MAAM,uBAAuB;;EAElC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAIzE;;;;GAIG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;EAS3C,CAAA;AACF,MAAM,MAAM,gCAAgC,GAAG,OAAO,gCAAgC,CAAC,IAAI,CAAA;AAE3F,uDAAuD;AACvD,eAAO,MAAM,kCAAkC;;;;;EAK7C,CAAA;AACF,MAAM,MAAM,kCAAkC,GAAG,OAAO,kCAAkC,CAAC,IAAI,CAAA;AAE/F,eAAO,MAAM,mCAAmC;;EAE9C,CAAA;AACF,MAAM,MAAM,mCAAmC,GAAG,OAAO,mCAAmC,CAAC,IAAI,CAAA"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Organization team — Console-plane team management (members + pending
|
|
3
|
+
* invitations + per-user profile + notification preferences) mounted under
|
|
4
|
+
* `/orgs/team/*` + `/orgs/profile/*`. Mirrors the wire shapes served at
|
|
5
|
+
* `apps/api/src/server/platform/routes/orgs/team.ts`.
|
|
6
|
+
*
|
|
7
|
+
* Team view mixes member + invitation data so the Console can render the
|
|
8
|
+
* single settings page without N round-trips.
|
|
9
|
+
*/
|
|
10
|
+
import { Schema } from 'effect';
|
|
11
|
+
import { InvitationId, UserId } from './ids.js';
|
|
12
|
+
import { OrgMemberRole } from './organization.js';
|
|
13
|
+
// ── Team view ──────────────────────────────────────────────────────────────
|
|
14
|
+
const TeamMemberEntry = Schema.Struct({
|
|
15
|
+
membership: Schema.Struct({
|
|
16
|
+
id: Schema.String,
|
|
17
|
+
role: OrgMemberRole,
|
|
18
|
+
joinedAt: Schema.String,
|
|
19
|
+
}),
|
|
20
|
+
user: Schema.Struct({
|
|
21
|
+
id: UserId,
|
|
22
|
+
email: Schema.String,
|
|
23
|
+
name: Schema.NullOr(Schema.String),
|
|
24
|
+
image: Schema.NullOr(Schema.String),
|
|
25
|
+
}),
|
|
26
|
+
});
|
|
27
|
+
const PendingInvitation = Schema.Struct({
|
|
28
|
+
id: Schema.String,
|
|
29
|
+
email: Schema.String,
|
|
30
|
+
role: OrgMemberRole,
|
|
31
|
+
expiresAt: Schema.String,
|
|
32
|
+
createdAt: Schema.String,
|
|
33
|
+
});
|
|
34
|
+
export const GetTeamDataResult = Schema.Struct({
|
|
35
|
+
orgId: Schema.String,
|
|
36
|
+
members: Schema.Array(TeamMemberEntry),
|
|
37
|
+
pendingInvitations: Schema.Array(PendingInvitation),
|
|
38
|
+
currentUserId: Schema.String,
|
|
39
|
+
currentUserRole: OrgMemberRole,
|
|
40
|
+
});
|
|
41
|
+
// ── Invitations ────────────────────────────────────────────────────────────
|
|
42
|
+
export const InvitationIdPath = Schema.Struct({
|
|
43
|
+
invitationId: InvitationId,
|
|
44
|
+
});
|
|
45
|
+
export const CreateInvitationInput = Schema.Struct({
|
|
46
|
+
email: Schema.String,
|
|
47
|
+
role: OrgMemberRole,
|
|
48
|
+
});
|
|
49
|
+
export const CreateInvitationResult = Schema.Struct({
|
|
50
|
+
invitation: Schema.Struct({
|
|
51
|
+
id: Schema.String,
|
|
52
|
+
email: Schema.String,
|
|
53
|
+
role: OrgMemberRole,
|
|
54
|
+
status: Schema.String,
|
|
55
|
+
expiresAt: Schema.String,
|
|
56
|
+
createdAt: Schema.String,
|
|
57
|
+
}),
|
|
58
|
+
});
|
|
59
|
+
export const CancelInvitationResult = Schema.Struct({
|
|
60
|
+
success: Schema.Boolean,
|
|
61
|
+
});
|
|
62
|
+
// ── Profile ────────────────────────────────────────────────────────────────
|
|
63
|
+
export const GetProfileDataResult = Schema.Struct({
|
|
64
|
+
user: Schema.Struct({
|
|
65
|
+
id: UserId,
|
|
66
|
+
email: Schema.String,
|
|
67
|
+
name: Schema.NullOr(Schema.String),
|
|
68
|
+
image: Schema.NullOr(Schema.String),
|
|
69
|
+
emailVerified: Schema.Boolean,
|
|
70
|
+
createdAt: Schema.NullOr(Schema.String),
|
|
71
|
+
}),
|
|
72
|
+
org: Schema.NullOr(Schema.Struct({
|
|
73
|
+
id: Schema.String,
|
|
74
|
+
name: Schema.String,
|
|
75
|
+
slug: Schema.String,
|
|
76
|
+
})),
|
|
77
|
+
role: Schema.NullOr(OrgMemberRole),
|
|
78
|
+
});
|
|
79
|
+
/**
|
|
80
|
+
* Partial profile update — handler enforces "at least one field" at runtime,
|
|
81
|
+
* so both fields stay optional at the schema level.
|
|
82
|
+
*
|
|
83
|
+
* Distinct from `UpdateProfileInput` in `schemas/user.ts` — the user-scoped
|
|
84
|
+
* surface widens to timezone / locale; the team-profile surface is the
|
|
85
|
+
* narrower Console account-settings card.
|
|
86
|
+
*/
|
|
87
|
+
export const UpdateTeamProfileInput = Schema.Struct({
|
|
88
|
+
name: Schema.optional(Schema.String),
|
|
89
|
+
image: Schema.optional(Schema.String),
|
|
90
|
+
});
|
|
91
|
+
export const UpdateTeamProfileResult = Schema.Struct({
|
|
92
|
+
success: Schema.Boolean,
|
|
93
|
+
});
|
|
94
|
+
// ── Notification preferences ───────────────────────────────────────────────
|
|
95
|
+
/**
|
|
96
|
+
* Notification preferences — handler currently returns a static shape
|
|
97
|
+
* (ADR-052 platform-user noop). Contract captures the shape so future
|
|
98
|
+
* persistence doesn't break consumers.
|
|
99
|
+
*/
|
|
100
|
+
export const GetNotificationPreferencesResult = Schema.Struct({
|
|
101
|
+
product_updates: Schema.Boolean,
|
|
102
|
+
product_changelog: Schema.Boolean,
|
|
103
|
+
security_alerts: Schema.Boolean,
|
|
104
|
+
login_alerts: Schema.Boolean,
|
|
105
|
+
usage_warnings: Schema.Boolean,
|
|
106
|
+
billing_receipts: Schema.Boolean,
|
|
107
|
+
newsletter: Schema.Boolean,
|
|
108
|
+
promotions: Schema.Boolean,
|
|
109
|
+
});
|
|
110
|
+
/** Only the customer-toggleable subset is writable. */
|
|
111
|
+
export const UpdateNotificationPreferencesInput = Schema.Struct({
|
|
112
|
+
product_updates: Schema.optional(Schema.Boolean),
|
|
113
|
+
product_changelog: Schema.optional(Schema.Boolean),
|
|
114
|
+
newsletter: Schema.optional(Schema.Boolean),
|
|
115
|
+
promotions: Schema.optional(Schema.Boolean),
|
|
116
|
+
});
|
|
117
|
+
export const UpdateNotificationPreferencesResult = Schema.Struct({
|
|
118
|
+
success: Schema.Boolean,
|
|
119
|
+
});
|