@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,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Storage endpoints — BaaS plane. Paths mirror `@sylphx/sdk/storage.ts`.
|
|
3
|
+
*/
|
|
4
|
+
import { Schema } from 'effect';
|
|
5
|
+
import { defineEndpoint } from '../endpoint.js';
|
|
6
|
+
import { DeleteFileResult, FileInfo, ListFilesQuery, ListFilesResult, ListFileVersionsResult, RestoreFileResult, RestoreVersionResult, SignedUrlInput, SignedUrlResult, SoftDeleteFileResult, UploadTokenInput, UploadTokenResult, UploadUrlInput, UploadUrlResult, } from '../schemas/storage.js';
|
|
7
|
+
const IdPath = Schema.Struct({ id: Schema.String });
|
|
8
|
+
const FileVersionPath = Schema.Struct({
|
|
9
|
+
id: Schema.String,
|
|
10
|
+
versionId: Schema.String,
|
|
11
|
+
});
|
|
12
|
+
export const storageEndpoints = {
|
|
13
|
+
/**
|
|
14
|
+
* Mint an upload token for client-direct uploads. Returns either a
|
|
15
|
+
* simple `{ uploadUrl, publicUrl }` pair or a Vercel-Blob-style
|
|
16
|
+
* `{ uploadEndpoint, clientPayload, instructions }` envelope.
|
|
17
|
+
* This is the SDK's primary upload path (`uploadFile` / `uploadAvatar`).
|
|
18
|
+
*/
|
|
19
|
+
upload: defineEndpoint({
|
|
20
|
+
method: 'POST',
|
|
21
|
+
path: '/storage/upload',
|
|
22
|
+
body: UploadTokenInput,
|
|
23
|
+
response: UploadTokenResult,
|
|
24
|
+
plane: 'baas',
|
|
25
|
+
summary: 'Mint an upload token for client-direct file uploads',
|
|
26
|
+
tags: ['storage'],
|
|
27
|
+
}),
|
|
28
|
+
presignedUrl: defineEndpoint({
|
|
29
|
+
method: 'POST',
|
|
30
|
+
path: '/storage/upload-url',
|
|
31
|
+
body: UploadUrlInput,
|
|
32
|
+
response: UploadUrlResult,
|
|
33
|
+
plane: 'baas',
|
|
34
|
+
summary: 'Mint a short-lived presigned upload URL',
|
|
35
|
+
tags: ['storage'],
|
|
36
|
+
}),
|
|
37
|
+
/**
|
|
38
|
+
* Generate a time-limited signed URL for accessing a private file.
|
|
39
|
+
* Signed URLs avoid exposing permanent credentials and can be scoped
|
|
40
|
+
* to a specific user via the `userId` field.
|
|
41
|
+
*/
|
|
42
|
+
signedUrl: defineEndpoint({
|
|
43
|
+
method: 'POST',
|
|
44
|
+
path: '/storage/signed-url',
|
|
45
|
+
body: SignedUrlInput,
|
|
46
|
+
response: SignedUrlResult,
|
|
47
|
+
plane: 'baas',
|
|
48
|
+
summary: 'Mint a short-lived signed download URL for a private file',
|
|
49
|
+
tags: ['storage'],
|
|
50
|
+
}),
|
|
51
|
+
list: defineEndpoint({
|
|
52
|
+
method: 'GET',
|
|
53
|
+
path: '/storage/files',
|
|
54
|
+
query: ListFilesQuery,
|
|
55
|
+
response: ListFilesResult,
|
|
56
|
+
plane: 'baas',
|
|
57
|
+
summary: 'List files stored by the app (cursor-paginated)',
|
|
58
|
+
tags: ['storage'],
|
|
59
|
+
}),
|
|
60
|
+
get: defineEndpoint({
|
|
61
|
+
method: 'GET',
|
|
62
|
+
path: '/storage/files/:id',
|
|
63
|
+
params: IdPath,
|
|
64
|
+
response: FileInfo,
|
|
65
|
+
plane: 'baas',
|
|
66
|
+
summary: 'Get file metadata by ID',
|
|
67
|
+
tags: ['storage'],
|
|
68
|
+
}),
|
|
69
|
+
delete: defineEndpoint({
|
|
70
|
+
method: 'DELETE',
|
|
71
|
+
path: '/storage/files/:id',
|
|
72
|
+
params: IdPath,
|
|
73
|
+
response: DeleteFileResult,
|
|
74
|
+
plane: 'baas',
|
|
75
|
+
summary: 'Soft-delete a stored file (ADR-089 Phase 5.8)',
|
|
76
|
+
tags: ['storage'],
|
|
77
|
+
}),
|
|
78
|
+
// ADR-089 Phase 5.8 — versioning + soft-delete restore
|
|
79
|
+
listVersions: defineEndpoint({
|
|
80
|
+
method: 'GET',
|
|
81
|
+
path: '/storage/files/:id/versions',
|
|
82
|
+
params: IdPath,
|
|
83
|
+
response: ListFileVersionsResult,
|
|
84
|
+
plane: 'baas',
|
|
85
|
+
summary: 'List all versions of a file, newest first',
|
|
86
|
+
tags: ['storage'],
|
|
87
|
+
}),
|
|
88
|
+
restoreVersion: defineEndpoint({
|
|
89
|
+
method: 'POST',
|
|
90
|
+
path: '/storage/files/:id/versions/:versionId/restore',
|
|
91
|
+
params: FileVersionPath,
|
|
92
|
+
response: RestoreVersionResult,
|
|
93
|
+
plane: 'baas',
|
|
94
|
+
summary: 'Restore an older version as the current version',
|
|
95
|
+
tags: ['storage'],
|
|
96
|
+
}),
|
|
97
|
+
restoreFile: defineEndpoint({
|
|
98
|
+
method: 'POST',
|
|
99
|
+
path: '/storage/files/:id/restore',
|
|
100
|
+
params: IdPath,
|
|
101
|
+
response: RestoreFileResult,
|
|
102
|
+
plane: 'baas',
|
|
103
|
+
summary: 'Restore a soft-deleted file',
|
|
104
|
+
tags: ['storage'],
|
|
105
|
+
}),
|
|
106
|
+
// Alias of `delete` — explicit endpoint name so SDK `softDeleteFile()`
|
|
107
|
+
// is unambiguous; same underlying route.
|
|
108
|
+
softDelete: defineEndpoint({
|
|
109
|
+
method: 'DELETE',
|
|
110
|
+
path: '/storage/files/:id',
|
|
111
|
+
params: IdPath,
|
|
112
|
+
response: SoftDeleteFileResult,
|
|
113
|
+
plane: 'baas',
|
|
114
|
+
summary: 'Soft-delete a stored file (explicit alias of delete)',
|
|
115
|
+
tags: ['storage'],
|
|
116
|
+
}),
|
|
117
|
+
};
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tasks endpoints — Console-plane customer background job management.
|
|
3
|
+
* Mirrors `apps/api/src/server/platform/routes/tasks/{status,one-off,cron}.ts`.
|
|
4
|
+
*
|
|
5
|
+
* Production mount: `/tasks/*`. Distinct from `adminTasksEndpoints` (which
|
|
6
|
+
* targets the super-admin dashboard over the platform DB).
|
|
7
|
+
*/
|
|
8
|
+
export declare const tasksEndpoints: {
|
|
9
|
+
readonly getStatus: import("../endpoint.js").Endpoint<"GET", "/tasks/status", import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Struct<{
|
|
10
|
+
projectId: typeof import("effect/Schema").String;
|
|
11
|
+
}>, import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Struct<{
|
|
12
|
+
available: typeof import("effect/Schema").Boolean;
|
|
13
|
+
provider: typeof import("effect/Schema").String;
|
|
14
|
+
}>>;
|
|
15
|
+
readonly list: import("../endpoint.js").Endpoint<"GET", "/tasks", import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Struct<{
|
|
16
|
+
projectId: typeof import("effect/Schema").String;
|
|
17
|
+
status: import("effect/Schema").optional<import("effect/Schema").Literal<["all", "pending", "queued", "running", "completed", "failed", "scheduled", "paused", "cancelled", "deleted"]>>;
|
|
18
|
+
type: import("effect/Schema").optional<import("effect/Schema").Literal<["all", "one-time", "cron"]>>;
|
|
19
|
+
limit: import("effect/Schema").optional<typeof import("effect/Schema").String>;
|
|
20
|
+
offset: import("effect/Schema").optional<typeof import("effect/Schema").String>;
|
|
21
|
+
}>, import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Struct<{
|
|
22
|
+
jobs: import("effect/Schema").Array$<import("effect/Schema").Struct<{
|
|
23
|
+
id: typeof import("effect/Schema").String;
|
|
24
|
+
name: import("effect/Schema").NullOr<typeof import("effect/Schema").String>;
|
|
25
|
+
type: import("effect/Schema").Literal<["one-time", "cron"]>;
|
|
26
|
+
status: import("effect/Schema").Literal<["pending", "queued", "running", "completed", "failed", "scheduled", "paused", "cancelled", "deleted"]>;
|
|
27
|
+
callbackUrl: typeof import("effect/Schema").String;
|
|
28
|
+
payload: import("effect/Schema").NullOr<import("effect/Schema").Record$<typeof import("effect/Schema").String, typeof import("effect/Schema").Unknown>>;
|
|
29
|
+
method: import("effect/Schema").NullOr<import("effect/Schema").Literal<["GET", "POST", "PUT", "DELETE", "PATCH"]>>;
|
|
30
|
+
headers: import("effect/Schema").NullOr<import("effect/Schema").Record$<typeof import("effect/Schema").String, typeof import("effect/Schema").String>>;
|
|
31
|
+
scheduledFor: import("effect/Schema").NullOr<typeof import("effect/Schema").String>;
|
|
32
|
+
startedAt: import("effect/Schema").NullOr<typeof import("effect/Schema").String>;
|
|
33
|
+
completedAt: import("effect/Schema").NullOr<typeof import("effect/Schema").String>;
|
|
34
|
+
failedAt: import("effect/Schema").NullOr<typeof import("effect/Schema").String>;
|
|
35
|
+
cronExpression: import("effect/Schema").NullOr<typeof import("effect/Schema").String>;
|
|
36
|
+
retries: typeof import("effect/Schema").Number;
|
|
37
|
+
maxRetries: typeof import("effect/Schema").Number;
|
|
38
|
+
lastError: import("effect/Schema").NullOr<typeof import("effect/Schema").String>;
|
|
39
|
+
qstashMessageId: import("effect/Schema").NullOr<typeof import("effect/Schema").String>;
|
|
40
|
+
qstashScheduleId: import("effect/Schema").NullOr<typeof import("effect/Schema").String>;
|
|
41
|
+
createdAt: typeof import("effect/Schema").String;
|
|
42
|
+
}>>;
|
|
43
|
+
total: typeof import("effect/Schema").Number;
|
|
44
|
+
limit: typeof import("effect/Schema").Number;
|
|
45
|
+
offset: typeof import("effect/Schema").Number;
|
|
46
|
+
}>>;
|
|
47
|
+
readonly get: import("../endpoint.js").Endpoint<"GET", "/tasks/:jobId", import("effect/Schema").Struct<{
|
|
48
|
+
jobId: typeof import("effect/Schema").String;
|
|
49
|
+
}>, import("effect/Schema").Struct<{
|
|
50
|
+
projectId: typeof import("effect/Schema").String;
|
|
51
|
+
}>, import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Struct<{
|
|
52
|
+
job: import("effect/Schema").Struct<{
|
|
53
|
+
id: typeof import("effect/Schema").String;
|
|
54
|
+
name: import("effect/Schema").NullOr<typeof import("effect/Schema").String>;
|
|
55
|
+
type: import("effect/Schema").Literal<["one-time", "cron"]>;
|
|
56
|
+
status: import("effect/Schema").Literal<["pending", "queued", "running", "completed", "failed", "scheduled", "paused", "cancelled", "deleted"]>;
|
|
57
|
+
callbackUrl: typeof import("effect/Schema").String;
|
|
58
|
+
payload: import("effect/Schema").NullOr<import("effect/Schema").Record$<typeof import("effect/Schema").String, typeof import("effect/Schema").Unknown>>;
|
|
59
|
+
method: import("effect/Schema").NullOr<import("effect/Schema").Literal<["GET", "POST", "PUT", "DELETE", "PATCH"]>>;
|
|
60
|
+
headers: import("effect/Schema").NullOr<import("effect/Schema").Record$<typeof import("effect/Schema").String, typeof import("effect/Schema").String>>;
|
|
61
|
+
scheduledFor: import("effect/Schema").NullOr<typeof import("effect/Schema").String>;
|
|
62
|
+
startedAt: import("effect/Schema").NullOr<typeof import("effect/Schema").String>;
|
|
63
|
+
completedAt: import("effect/Schema").NullOr<typeof import("effect/Schema").String>;
|
|
64
|
+
failedAt: import("effect/Schema").NullOr<typeof import("effect/Schema").String>;
|
|
65
|
+
cronExpression: import("effect/Schema").NullOr<typeof import("effect/Schema").String>;
|
|
66
|
+
retries: typeof import("effect/Schema").Number;
|
|
67
|
+
maxRetries: typeof import("effect/Schema").Number;
|
|
68
|
+
lastError: import("effect/Schema").NullOr<typeof import("effect/Schema").String>;
|
|
69
|
+
qstashMessageId: import("effect/Schema").NullOr<typeof import("effect/Schema").String>;
|
|
70
|
+
qstashScheduleId: import("effect/Schema").NullOr<typeof import("effect/Schema").String>;
|
|
71
|
+
createdAt: typeof import("effect/Schema").String;
|
|
72
|
+
}>;
|
|
73
|
+
}>>;
|
|
74
|
+
readonly schedule: import("../endpoint.js").Endpoint<"POST", "/tasks", import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Struct<{
|
|
75
|
+
projectId: typeof import("effect/Schema").String;
|
|
76
|
+
environmentId: import("effect/Schema").optional<typeof import("effect/Schema").String>;
|
|
77
|
+
callbackUrl: typeof import("effect/Schema").String;
|
|
78
|
+
payload: import("effect/Schema").optional<import("effect/Schema").Record$<typeof import("effect/Schema").String, typeof import("effect/Schema").Unknown>>;
|
|
79
|
+
method: import("effect/Schema").optional<import("effect/Schema").Literal<["GET", "POST", "PUT", "DELETE", "PATCH"]>>;
|
|
80
|
+
headers: import("effect/Schema").optional<import("effect/Schema").Record$<typeof import("effect/Schema").String, typeof import("effect/Schema").String>>;
|
|
81
|
+
delay: import("effect/Schema").optional<typeof import("effect/Schema").Number>;
|
|
82
|
+
scheduledFor: import("effect/Schema").optional<typeof import("effect/Schema").String>;
|
|
83
|
+
retries: import("effect/Schema").optional<typeof import("effect/Schema").Number>;
|
|
84
|
+
name: import("effect/Schema").optional<typeof import("effect/Schema").String>;
|
|
85
|
+
type: import("effect/Schema").optional<typeof import("effect/Schema").String>;
|
|
86
|
+
timeout: import("effect/Schema").optional<typeof import("effect/Schema").Number>;
|
|
87
|
+
}>, import("effect/Schema").Struct<{
|
|
88
|
+
jobId: typeof import("effect/Schema").String;
|
|
89
|
+
messageId: import("effect/Schema").optional<typeof import("effect/Schema").String>;
|
|
90
|
+
scheduledFor: import("effect/Schema").NullOr<typeof import("effect/Schema").String>;
|
|
91
|
+
}>>;
|
|
92
|
+
readonly cancel: import("../endpoint.js").Endpoint<"POST", "/tasks/:jobId/cancel", import("effect/Schema").Struct<{
|
|
93
|
+
jobId: typeof import("effect/Schema").String;
|
|
94
|
+
}>, import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Struct<{
|
|
95
|
+
projectId: typeof import("effect/Schema").String;
|
|
96
|
+
}>, import("effect/Schema").Struct<{
|
|
97
|
+
success: typeof import("effect/Schema").Boolean;
|
|
98
|
+
}>>;
|
|
99
|
+
readonly createCron: import("../endpoint.js").Endpoint<"POST", "/tasks/cron", import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Struct<{
|
|
100
|
+
projectId: typeof import("effect/Schema").String;
|
|
101
|
+
callbackUrl: typeof import("effect/Schema").String;
|
|
102
|
+
cron: typeof import("effect/Schema").String;
|
|
103
|
+
payload: import("effect/Schema").optional<import("effect/Schema").Record$<typeof import("effect/Schema").String, typeof import("effect/Schema").Unknown>>;
|
|
104
|
+
method: import("effect/Schema").optional<import("effect/Schema").Literal<["GET", "POST", "PUT", "DELETE", "PATCH"]>>;
|
|
105
|
+
headers: import("effect/Schema").optional<import("effect/Schema").Record$<typeof import("effect/Schema").String, typeof import("effect/Schema").String>>;
|
|
106
|
+
retries: import("effect/Schema").optional<typeof import("effect/Schema").Number>;
|
|
107
|
+
name: typeof import("effect/Schema").String;
|
|
108
|
+
type: import("effect/Schema").optional<typeof import("effect/Schema").String>;
|
|
109
|
+
paused: import("effect/Schema").optional<typeof import("effect/Schema").Boolean>;
|
|
110
|
+
environmentId: import("effect/Schema").optional<typeof import("effect/Schema").String>;
|
|
111
|
+
taskName: import("effect/Schema").optional<typeof import("effect/Schema").String>;
|
|
112
|
+
handlerPath: import("effect/Schema").optional<typeof import("effect/Schema").String>;
|
|
113
|
+
}>, import("effect/Schema").Struct<{
|
|
114
|
+
jobId: typeof import("effect/Schema").String;
|
|
115
|
+
scheduleId: typeof import("effect/Schema").String;
|
|
116
|
+
cron: typeof import("effect/Schema").String;
|
|
117
|
+
paused: typeof import("effect/Schema").Boolean;
|
|
118
|
+
}>>;
|
|
119
|
+
readonly pauseCron: import("../endpoint.js").Endpoint<"POST", "/tasks/cron/:scheduleId/pause", import("effect/Schema").Struct<{
|
|
120
|
+
scheduleId: typeof import("effect/Schema").String;
|
|
121
|
+
}>, import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Struct<{
|
|
122
|
+
projectId: typeof import("effect/Schema").String;
|
|
123
|
+
}>, import("effect/Schema").Struct<{
|
|
124
|
+
success: typeof import("effect/Schema").Boolean;
|
|
125
|
+
}>>;
|
|
126
|
+
readonly resumeCron: import("../endpoint.js").Endpoint<"POST", "/tasks/cron/:scheduleId/resume", import("effect/Schema").Struct<{
|
|
127
|
+
scheduleId: typeof import("effect/Schema").String;
|
|
128
|
+
}>, import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Struct<{
|
|
129
|
+
projectId: typeof import("effect/Schema").String;
|
|
130
|
+
}>, import("effect/Schema").Struct<{
|
|
131
|
+
success: typeof import("effect/Schema").Boolean;
|
|
132
|
+
}>>;
|
|
133
|
+
readonly deleteCron: import("../endpoint.js").Endpoint<"DELETE", "/tasks/cron/:scheduleId", import("effect/Schema").Struct<{
|
|
134
|
+
scheduleId: typeof import("effect/Schema").String;
|
|
135
|
+
}>, import("effect/Schema").Schema.AnyNoContext | undefined, import("effect/Schema").Struct<{
|
|
136
|
+
projectId: typeof import("effect/Schema").String;
|
|
137
|
+
}>, import("effect/Schema").Struct<{
|
|
138
|
+
success: typeof import("effect/Schema").Boolean;
|
|
139
|
+
}>>;
|
|
140
|
+
};
|
|
141
|
+
//# sourceMappingURL=tasks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/endpoints/tasks.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsBH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuFjB,CAAA"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tasks endpoints — Console-plane customer background job management.
|
|
3
|
+
* Mirrors `apps/api/src/server/platform/routes/tasks/{status,one-off,cron}.ts`.
|
|
4
|
+
*
|
|
5
|
+
* Production mount: `/tasks/*`. Distinct from `adminTasksEndpoints` (which
|
|
6
|
+
* targets the super-admin dashboard over the platform DB).
|
|
7
|
+
*/
|
|
8
|
+
import { defineEndpoint } from '../endpoint.js';
|
|
9
|
+
import { CancelTaskInput, CancelTaskResult, CreateCronTaskInput, CreateCronTaskResult, CronActionInput, CronActionResult, DeleteCronInput, GetTaskResult, ListTasksQuery, ListTasksResult, ScheduleIdParam, ScheduleTaskInput, ScheduleTaskResult, TaskIdParam, TasksProjectIdQuery, TasksStatusResult, } from '../schemas/tasks.js';
|
|
10
|
+
export const tasksEndpoints = {
|
|
11
|
+
getStatus: defineEndpoint({
|
|
12
|
+
method: 'GET',
|
|
13
|
+
path: '/tasks/status',
|
|
14
|
+
query: TasksProjectIdQuery,
|
|
15
|
+
response: TasksStatusResult,
|
|
16
|
+
plane: 'management',
|
|
17
|
+
summary: 'Get background jobs service status',
|
|
18
|
+
tags: ['tasks'],
|
|
19
|
+
}),
|
|
20
|
+
list: defineEndpoint({
|
|
21
|
+
method: 'GET',
|
|
22
|
+
path: '/tasks',
|
|
23
|
+
query: ListTasksQuery,
|
|
24
|
+
response: ListTasksResult,
|
|
25
|
+
plane: 'management',
|
|
26
|
+
summary: 'List scheduled jobs for an app',
|
|
27
|
+
tags: ['tasks'],
|
|
28
|
+
}),
|
|
29
|
+
get: defineEndpoint({
|
|
30
|
+
method: 'GET',
|
|
31
|
+
path: '/tasks/:jobId',
|
|
32
|
+
params: TaskIdParam,
|
|
33
|
+
query: TasksProjectIdQuery,
|
|
34
|
+
response: GetTaskResult,
|
|
35
|
+
plane: 'management',
|
|
36
|
+
summary: 'Get details for a scheduled job',
|
|
37
|
+
tags: ['tasks'],
|
|
38
|
+
}),
|
|
39
|
+
schedule: defineEndpoint({
|
|
40
|
+
method: 'POST',
|
|
41
|
+
path: '/tasks',
|
|
42
|
+
body: ScheduleTaskInput,
|
|
43
|
+
response: ScheduleTaskResult,
|
|
44
|
+
plane: 'management',
|
|
45
|
+
summary: 'Schedule a one-time background job',
|
|
46
|
+
tags: ['tasks'],
|
|
47
|
+
}),
|
|
48
|
+
cancel: defineEndpoint({
|
|
49
|
+
method: 'POST',
|
|
50
|
+
path: '/tasks/:jobId/cancel',
|
|
51
|
+
params: TaskIdParam,
|
|
52
|
+
body: CancelTaskInput,
|
|
53
|
+
response: CancelTaskResult,
|
|
54
|
+
plane: 'management',
|
|
55
|
+
summary: 'Cancel a pending / queued job',
|
|
56
|
+
tags: ['tasks'],
|
|
57
|
+
}),
|
|
58
|
+
createCron: defineEndpoint({
|
|
59
|
+
method: 'POST',
|
|
60
|
+
path: '/tasks/cron',
|
|
61
|
+
body: CreateCronTaskInput,
|
|
62
|
+
response: CreateCronTaskResult,
|
|
63
|
+
plane: 'management',
|
|
64
|
+
summary: 'Create a recurring cron job',
|
|
65
|
+
tags: ['tasks'],
|
|
66
|
+
}),
|
|
67
|
+
pauseCron: defineEndpoint({
|
|
68
|
+
method: 'POST',
|
|
69
|
+
path: '/tasks/cron/:scheduleId/pause',
|
|
70
|
+
params: ScheduleIdParam,
|
|
71
|
+
body: CronActionInput,
|
|
72
|
+
response: CronActionResult,
|
|
73
|
+
plane: 'management',
|
|
74
|
+
summary: 'Pause a cron job',
|
|
75
|
+
tags: ['tasks'],
|
|
76
|
+
}),
|
|
77
|
+
resumeCron: defineEndpoint({
|
|
78
|
+
method: 'POST',
|
|
79
|
+
path: '/tasks/cron/:scheduleId/resume',
|
|
80
|
+
params: ScheduleIdParam,
|
|
81
|
+
body: CronActionInput,
|
|
82
|
+
response: CronActionResult,
|
|
83
|
+
plane: 'management',
|
|
84
|
+
summary: 'Resume a paused cron job',
|
|
85
|
+
tags: ['tasks'],
|
|
86
|
+
}),
|
|
87
|
+
deleteCron: defineEndpoint({
|
|
88
|
+
method: 'DELETE',
|
|
89
|
+
path: '/tasks/cron/:scheduleId',
|
|
90
|
+
params: ScheduleIdParam,
|
|
91
|
+
body: DeleteCronInput,
|
|
92
|
+
response: CronActionResult,
|
|
93
|
+
plane: 'management',
|
|
94
|
+
summary: 'Delete a cron job',
|
|
95
|
+
tags: ['tasks'],
|
|
96
|
+
}),
|
|
97
|
+
};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Users endpoints — Console-plane profile, security, sessions, GDPR
|
|
3
|
+
* export/erasure. Production mounts at `/user/*`. Mirrors
|
|
4
|
+
* `apps/api/src/server/platform/routes/user.ts` (ADR-084 Wave 2b).
|
|
5
|
+
*/
|
|
6
|
+
import { Schema } from 'effect';
|
|
7
|
+
export declare const usersEndpoints: {
|
|
8
|
+
readonly whoami: import("../endpoint.js").Endpoint<"GET", "/user/me", Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
9
|
+
user: Schema.Struct<{
|
|
10
|
+
id: Schema.brand<Schema.filter<typeof Schema.String>, "UserId">;
|
|
11
|
+
email: typeof Schema.String;
|
|
12
|
+
name: Schema.NullOr<typeof Schema.String>;
|
|
13
|
+
}>;
|
|
14
|
+
orgs: Schema.Array$<Schema.Struct<{
|
|
15
|
+
id: Schema.brand<Schema.filter<typeof Schema.String>, "OrgId">;
|
|
16
|
+
slug: typeof Schema.String;
|
|
17
|
+
name: typeof Schema.String;
|
|
18
|
+
email: Schema.optional<Schema.NullOr<typeof Schema.String>>;
|
|
19
|
+
billingEmail: Schema.optional<Schema.NullOr<typeof Schema.String>>;
|
|
20
|
+
logoUrl: Schema.optional<Schema.NullOr<typeof Schema.String>>;
|
|
21
|
+
metadata: Schema.optional<Schema.NullOr<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>>;
|
|
22
|
+
createdAt: Schema.optional<typeof Schema.String>;
|
|
23
|
+
}>>;
|
|
24
|
+
}>>;
|
|
25
|
+
readonly getProfile: import("../endpoint.js").Endpoint<"GET", "/user/profile", Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
26
|
+
id: Schema.brand<Schema.filter<typeof Schema.String>, "UserId">;
|
|
27
|
+
email: typeof Schema.String;
|
|
28
|
+
name: Schema.NullOr<typeof Schema.String>;
|
|
29
|
+
image: Schema.NullOr<typeof Schema.String>;
|
|
30
|
+
emailVerified: typeof Schema.Boolean;
|
|
31
|
+
timezone: Schema.NullOr<typeof Schema.String>;
|
|
32
|
+
locale: Schema.NullOr<typeof Schema.String>;
|
|
33
|
+
createdAt: typeof Schema.String;
|
|
34
|
+
}>>;
|
|
35
|
+
readonly updateProfile: import("../endpoint.js").Endpoint<"PATCH", "/user/profile", Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
36
|
+
name: Schema.optional<Schema.NullOr<typeof Schema.String>>;
|
|
37
|
+
image: Schema.optional<Schema.NullOr<typeof Schema.String>>;
|
|
38
|
+
timezone: Schema.optional<Schema.NullOr<typeof Schema.String>>;
|
|
39
|
+
locale: Schema.optional<Schema.NullOr<typeof Schema.String>>;
|
|
40
|
+
}>, Schema.Struct<{
|
|
41
|
+
id: Schema.brand<Schema.filter<typeof Schema.String>, "UserId">;
|
|
42
|
+
email: typeof Schema.String;
|
|
43
|
+
name: Schema.NullOr<typeof Schema.String>;
|
|
44
|
+
image: Schema.NullOr<typeof Schema.String>;
|
|
45
|
+
emailVerified: typeof Schema.Boolean;
|
|
46
|
+
timezone: Schema.NullOr<typeof Schema.String>;
|
|
47
|
+
locale: Schema.NullOr<typeof Schema.String>;
|
|
48
|
+
createdAt: typeof Schema.String;
|
|
49
|
+
}>>;
|
|
50
|
+
readonly getSecurity: import("../endpoint.js").Endpoint<"GET", "/user/security", Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
51
|
+
twoFactorEnabled: typeof Schema.Boolean;
|
|
52
|
+
hasPassword: typeof Schema.Boolean;
|
|
53
|
+
emailVerified: typeof Schema.Boolean;
|
|
54
|
+
}>>;
|
|
55
|
+
readonly changePassword: import("../endpoint.js").Endpoint<"POST", "/user/password", Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
56
|
+
currentPassword: typeof Schema.String;
|
|
57
|
+
newPassword: typeof Schema.String;
|
|
58
|
+
}>, Schema.Struct<{
|
|
59
|
+
success: typeof Schema.Boolean;
|
|
60
|
+
}>>;
|
|
61
|
+
readonly getConnectedAccounts: import("../endpoint.js").Endpoint<"GET", "/user/connected-accounts", Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Array$<Schema.Struct<{
|
|
62
|
+
provider: typeof Schema.String;
|
|
63
|
+
connectedAt: typeof Schema.String;
|
|
64
|
+
}>>>;
|
|
65
|
+
readonly getLoginHistory: import("../endpoint.js").Endpoint<"GET", "/user/login-history", Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Array$<Schema.Struct<{
|
|
66
|
+
id: typeof Schema.String;
|
|
67
|
+
ipAddress: Schema.NullOr<typeof Schema.String>;
|
|
68
|
+
userAgent: Schema.NullOr<typeof Schema.String>;
|
|
69
|
+
country: Schema.NullOr<typeof Schema.String>;
|
|
70
|
+
city: Schema.NullOr<typeof Schema.String>;
|
|
71
|
+
device: Schema.NullOr<typeof Schema.String>;
|
|
72
|
+
success: typeof Schema.Boolean;
|
|
73
|
+
createdAt: typeof Schema.String;
|
|
74
|
+
}>>>;
|
|
75
|
+
readonly getSessions: import("../endpoint.js").Endpoint<"GET", "/user/sessions", Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Array$<Schema.Struct<{
|
|
76
|
+
id: Schema.brand<Schema.filter<typeof Schema.String>, "SessionId">;
|
|
77
|
+
isCurrent: Schema.optional<typeof Schema.Boolean>;
|
|
78
|
+
deviceName: Schema.NullOr<typeof Schema.String>;
|
|
79
|
+
browser: Schema.NullOr<typeof Schema.String>;
|
|
80
|
+
os: Schema.NullOr<typeof Schema.String>;
|
|
81
|
+
deviceType: Schema.NullOr<typeof Schema.String>;
|
|
82
|
+
ipAddress: Schema.NullOr<typeof Schema.String>;
|
|
83
|
+
country: Schema.NullOr<typeof Schema.String>;
|
|
84
|
+
city: Schema.NullOr<typeof Schema.String>;
|
|
85
|
+
lastActiveAt: typeof Schema.String;
|
|
86
|
+
createdAt: typeof Schema.String;
|
|
87
|
+
}>>>;
|
|
88
|
+
readonly revokeSession: import("../endpoint.js").Endpoint<"DELETE", "/user/sessions/:sessionId", Schema.Struct<{
|
|
89
|
+
sessionId: typeof Schema.String;
|
|
90
|
+
}>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
91
|
+
success: typeof Schema.Boolean;
|
|
92
|
+
}>>;
|
|
93
|
+
readonly revokeAllSessions: import("../endpoint.js").Endpoint<"POST", "/user/sessions/revoke-all", Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
94
|
+
success: typeof Schema.Boolean;
|
|
95
|
+
count: typeof Schema.Number;
|
|
96
|
+
}>>;
|
|
97
|
+
readonly exportData: import("../endpoint.js").Endpoint<"GET", "/user/export", Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
|
|
98
|
+
readonly deleteAccount: import("../endpoint.js").Endpoint<"DELETE", "/user/account", Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
99
|
+
success: typeof Schema.Boolean;
|
|
100
|
+
deletedData: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
|
|
101
|
+
}>>;
|
|
102
|
+
};
|
|
103
|
+
//# sourceMappingURL=users.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/endpoints/users.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAkB/B,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwFjB,CAAA"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Users endpoints — Console-plane profile, security, sessions, GDPR
|
|
3
|
+
* export/erasure. Production mounts at `/user/*`. Mirrors
|
|
4
|
+
* `apps/api/src/server/platform/routes/user.ts` (ADR-084 Wave 2b).
|
|
5
|
+
*/
|
|
6
|
+
import { Schema } from 'effect';
|
|
7
|
+
import { defineEndpoint } from '../endpoint.js';
|
|
8
|
+
import { ChangePasswordInput, ConnectedAccount, DeleteAccountResult, LoginHistoryEntry, RevokeAllSessionsResult, SecuritySettings, UpdateProfileInput, UserDataExport, UserProfile, UserSession, WhoAmI, } from '../schemas/user.js';
|
|
9
|
+
const SessionIdPath = Schema.Struct({ sessionId: Schema.String });
|
|
10
|
+
export const usersEndpoints = {
|
|
11
|
+
whoami: defineEndpoint({
|
|
12
|
+
method: 'GET',
|
|
13
|
+
path: '/user/me',
|
|
14
|
+
response: WhoAmI,
|
|
15
|
+
summary: 'Get the authenticated principal + their org memberships',
|
|
16
|
+
tags: ['users'],
|
|
17
|
+
}),
|
|
18
|
+
getProfile: defineEndpoint({
|
|
19
|
+
method: 'GET',
|
|
20
|
+
path: '/user/profile',
|
|
21
|
+
response: UserProfile,
|
|
22
|
+
summary: 'Get current user profile',
|
|
23
|
+
tags: ['users'],
|
|
24
|
+
}),
|
|
25
|
+
updateProfile: defineEndpoint({
|
|
26
|
+
method: 'PATCH',
|
|
27
|
+
path: '/user/profile',
|
|
28
|
+
body: UpdateProfileInput,
|
|
29
|
+
response: UserProfile,
|
|
30
|
+
summary: 'Update current user profile',
|
|
31
|
+
tags: ['users'],
|
|
32
|
+
}),
|
|
33
|
+
getSecurity: defineEndpoint({
|
|
34
|
+
method: 'GET',
|
|
35
|
+
path: '/user/security',
|
|
36
|
+
response: SecuritySettings,
|
|
37
|
+
summary: 'Get security settings (2FA status, password status, email verification)',
|
|
38
|
+
tags: ['users'],
|
|
39
|
+
}),
|
|
40
|
+
changePassword: defineEndpoint({
|
|
41
|
+
method: 'POST',
|
|
42
|
+
path: '/user/password',
|
|
43
|
+
body: ChangePasswordInput,
|
|
44
|
+
response: Schema.Struct({ success: Schema.Boolean }),
|
|
45
|
+
summary: 'Change password (requires current password)',
|
|
46
|
+
tags: ['users'],
|
|
47
|
+
}),
|
|
48
|
+
getConnectedAccounts: defineEndpoint({
|
|
49
|
+
method: 'GET',
|
|
50
|
+
path: '/user/connected-accounts',
|
|
51
|
+
response: Schema.Array(ConnectedAccount),
|
|
52
|
+
summary: 'List OAuth providers connected to the current account',
|
|
53
|
+
tags: ['users'],
|
|
54
|
+
}),
|
|
55
|
+
getLoginHistory: defineEndpoint({
|
|
56
|
+
method: 'GET',
|
|
57
|
+
path: '/user/login-history',
|
|
58
|
+
response: Schema.Array(LoginHistoryEntry),
|
|
59
|
+
summary: 'Get recent login attempts (last 20)',
|
|
60
|
+
tags: ['users'],
|
|
61
|
+
}),
|
|
62
|
+
getSessions: defineEndpoint({
|
|
63
|
+
method: 'GET',
|
|
64
|
+
path: '/user/sessions',
|
|
65
|
+
response: Schema.Array(UserSession),
|
|
66
|
+
summary: 'List active sessions',
|
|
67
|
+
tags: ['users'],
|
|
68
|
+
}),
|
|
69
|
+
revokeSession: defineEndpoint({
|
|
70
|
+
method: 'DELETE',
|
|
71
|
+
path: '/user/sessions/:sessionId',
|
|
72
|
+
params: SessionIdPath,
|
|
73
|
+
response: Schema.Struct({ success: Schema.Boolean }),
|
|
74
|
+
summary: 'Revoke a specific session',
|
|
75
|
+
tags: ['users'],
|
|
76
|
+
}),
|
|
77
|
+
revokeAllSessions: defineEndpoint({
|
|
78
|
+
method: 'POST',
|
|
79
|
+
path: '/user/sessions/revoke-all',
|
|
80
|
+
response: RevokeAllSessionsResult,
|
|
81
|
+
summary: 'Revoke all sessions except the current one',
|
|
82
|
+
tags: ['users'],
|
|
83
|
+
}),
|
|
84
|
+
exportData: defineEndpoint({
|
|
85
|
+
method: 'GET',
|
|
86
|
+
path: '/user/export',
|
|
87
|
+
response: UserDataExport,
|
|
88
|
+
summary: 'Export all personal data (GDPR data portability)',
|
|
89
|
+
tags: ['users'],
|
|
90
|
+
}),
|
|
91
|
+
deleteAccount: defineEndpoint({
|
|
92
|
+
method: 'DELETE',
|
|
93
|
+
path: '/user/account',
|
|
94
|
+
response: DeleteAccountResult,
|
|
95
|
+
summary: 'Permanently delete account (GDPR right to erasure)',
|
|
96
|
+
tags: ['users'],
|
|
97
|
+
}),
|
|
98
|
+
};
|