diff --git a/apps/studio/components/interfaces/Account/AccessTokens/Scoped/NewScopedTokenSheet.test.tsx b/apps/studio/components/interfaces/Account/AccessTokens/Scoped/NewScopedTokenSheet.test.tsx index 0c53b95dcc2..3f40605cffe 100644 --- a/apps/studio/components/interfaces/Account/AccessTokens/Scoped/NewScopedTokenSheet.test.tsx +++ b/apps/studio/components/interfaces/Account/AccessTokens/Scoped/NewScopedTokenSheet.test.tsx @@ -13,8 +13,8 @@ import { addAPIMock } from '@/tests/lib/msw' type OrganizationResponse = components['schemas']['OrganizationResponse_Output'] type ProjectsResponse = components['schemas']['ListProjectsPaginatedResponse_Output'] type OrganizationProjectsResponse = components['schemas']['OrganizationProjectsResponse_Output'] -type CreateTokenResponse = components['schemas']['CreateScopedAccessTokenResponse'] -type CreateClassicTokenResponse = components['schemas']['CreateAccessTokenResponse'] +type CreateTokenResponse = components['schemas']['CreateScopedAccessTokenResponse_Output'] +type CreateClassicTokenResponse = components['schemas']['CreateAccessTokenResponse_Output'] const mockUseReducedMotion = vi.fn(() => false) vi.mock('common', async (importOriginal) => { diff --git a/apps/studio/components/interfaces/Account/AccessTokens/Scoped/ViewTokenSheet.test.tsx b/apps/studio/components/interfaces/Account/AccessTokens/Scoped/ViewTokenSheet.test.tsx index abeb7272dea..22fa3971d2f 100644 --- a/apps/studio/components/interfaces/Account/AccessTokens/Scoped/ViewTokenSheet.test.tsx +++ b/apps/studio/components/interfaces/Account/AccessTokens/Scoped/ViewTokenSheet.test.tsx @@ -17,7 +17,7 @@ import { customRender } from '@/tests/lib/custom-render' import { addAPIMock } from '@/tests/lib/msw' import { createMockProfileContext } from '@/tests/lib/profile-helpers' -type TokenResponse = components['schemas']['GetScopedAccessTokenResponse'] +type TokenResponse = components['schemas']['GetScopedAccessTokenResponse_Output'] mockAnimationsApi() diff --git a/apps/studio/components/interfaces/Compute/Compute.types.ts b/apps/studio/components/interfaces/Compute/Compute.types.ts index 89bdc005372..fd8f5cee99a 100644 --- a/apps/studio/components/interfaces/Compute/Compute.types.ts +++ b/apps/studio/components/interfaces/Compute/Compute.types.ts @@ -1,7 +1,7 @@ import type { components } from 'api-types' type ComputeInstanceAttributes = - components['schemas']['V2WorkerResponse_Output']['data']['attributes'] + components['schemas']['V2ComputeInstanceResponse_Output']['data']['attributes'] export type ComputeInstanceBuildState = ComputeInstanceAttributes['build_state'] diff --git a/apps/studio/components/interfaces/ConfigDrift/ConfigurationDriftPage.test.tsx b/apps/studio/components/interfaces/ConfigDrift/ConfigurationDriftPage.test.tsx index 5972835f9a1..5887ddae351 100644 --- a/apps/studio/components/interfaces/ConfigDrift/ConfigurationDriftPage.test.tsx +++ b/apps/studio/components/interfaces/ConfigDrift/ConfigurationDriftPage.test.tsx @@ -11,9 +11,10 @@ import { addAPIMock, type APIErrorBody } from '@/tests/lib/msw' type ProjectDetailResponse = platformComponents['schemas']['ProjectDetailResponse_Output'] type OrganizationResponse = platformComponents['schemas']['OrganizationResponse_Output'] -type ListGitHubConnectionsResponse = platformComponents['schemas']['ListGitHubConnectionsResponse'] +type ListGitHubConnectionsResponse = + platformComponents['schemas']['ListGitHubConnectionsResponse_Output'] type GetGitHubConnectionConfigResponse = - platformComponents['schemas']['GetGitHubConnectionConfigResponse'] + platformComponents['schemas']['GetGitHubConnectionConfigResponse_Output'] type BranchResponse = apiV1Components['schemas']['BranchResponse_Output'] type V2ProjectConfigResponse = apiV2Components['schemas']['V2ProjectConfigResponse_Output'] diff --git a/apps/studio/components/interfaces/ConnectSheet/WarehouseTab.test.tsx b/apps/studio/components/interfaces/ConnectSheet/WarehouseTab.test.tsx index 132ec92be32..8f54f2279d7 100644 --- a/apps/studio/components/interfaces/ConnectSheet/WarehouseTab.test.tsx +++ b/apps/studio/components/interfaces/ConnectSheet/WarehouseTab.test.tsx @@ -10,8 +10,8 @@ import { WarehouseTab } from './WarehouseTab' import { customRender } from '@/tests/lib/custom-render' import { addAPIMock, type APIErrorBody } from '@/tests/lib/msw' -type WarehouseSetupStatusResponse = components['schemas']['WarehouseSetupStatusResponse'] -type WarehouseCatalogResponse = components['schemas']['WarehouseCatalogResponse'] +type WarehouseSetupStatusResponse = components['schemas']['WarehouseSetupStatusResponse_Output'] +type WarehouseCatalogResponse = components['schemas']['WarehouseCatalogResponse_Output'] type UpdateWarehouseCatalogBody = components['schemas']['UpdateWarehouseCatalogBody'] const FDW_STATUS: WarehouseSetupStatusResponse['fdw_status'] = { diff --git a/apps/studio/components/interfaces/Integrations/Integration/MarketplaceIntegrationSettingsTab.test.tsx b/apps/studio/components/interfaces/Integrations/Integration/MarketplaceIntegrationSettingsTab.test.tsx index 5ba0992cc63..85478a4ef6b 100644 --- a/apps/studio/components/interfaces/Integrations/Integration/MarketplaceIntegrationSettingsTab.test.tsx +++ b/apps/studio/components/interfaces/Integrations/Integration/MarketplaceIntegrationSettingsTab.test.tsx @@ -16,7 +16,7 @@ import { addAPIMock } from '@/tests/lib/msw' // The OAuth-apps query overrides its return type to `AuthorizedApp`, but the wire response (and so // the MSW resolver) is the raw OpenAPI `OAuthAppResponse`. Build fixtures against the API shape. type OAuthAppResponse = components['schemas']['OAuthAppResponse_Output'] -type PartnerIntegrationListResponse = components['schemas']['PartnerIntegrationListResponse'] +type PartnerIntegrationListResponse = components['schemas']['PartnerIntegrationListResponse_Output'] // Same story for permissions: the frontend `Permission` type narrows nullable wire fields, so build // the fixture against the raw `AccessControlPermission` shape the MSW resolver actually returns. type AccessControlPermission = components['schemas']['AccessControlPermission'] diff --git a/apps/studio/components/interfaces/Integrations/Landing/MarketplaceDetail.test.tsx b/apps/studio/components/interfaces/Integrations/Landing/MarketplaceDetail.test.tsx index 0d838d821a8..db8ce2d7e00 100644 --- a/apps/studio/components/interfaces/Integrations/Landing/MarketplaceDetail.test.tsx +++ b/apps/studio/components/interfaces/Integrations/Landing/MarketplaceDetail.test.tsx @@ -12,7 +12,7 @@ import { routerMock } from '@/tests/lib/route-mock' // The OAuth-apps query overrides its return type to `AuthorizedApp`, but the wire response (and so // the MSW resolver) is the raw OpenAPI `OAuthAppResponse`. Build fixtures against the API shape. type OAuthAppResponse = components['schemas']['OAuthAppResponse_Output'] -type PartnerIntegrationListResponse = components['schemas']['PartnerIntegrationListResponse'] +type PartnerIntegrationListResponse = components['schemas']['PartnerIntegrationListResponse_Output'] const STABLE_PARAMS = { ref: 'default', id: 'grafana', pageId: 'overview' } const STABLE_PROJECT = { data: { ref: 'default', connectionString: 'postgres://x' } } diff --git a/apps/studio/components/interfaces/Integrations/Warehouse/OverviewTab.test.tsx b/apps/studio/components/interfaces/Integrations/Warehouse/OverviewTab.test.tsx index 423cf50eead..de1b43acbd9 100644 --- a/apps/studio/components/interfaces/Integrations/Warehouse/OverviewTab.test.tsx +++ b/apps/studio/components/interfaces/Integrations/Warehouse/OverviewTab.test.tsx @@ -11,7 +11,7 @@ import { WarehouseOverviewTab } from './OverviewTab' import { customRender } from '@/tests/lib/custom-render' import { addAPIMock, type APIErrorBody } from '@/tests/lib/msw' -type WarehouseSetupStatusResponse = components['schemas']['WarehouseSetupStatusResponse'] +type WarehouseSetupStatusResponse = components['schemas']['WarehouseSetupStatusResponse_Output'] // Both integration shells are live, and the flag reads a context plus ConfigCat that // `customRender` doesn't provide. diff --git a/apps/studio/components/interfaces/Integrations/Warehouse/Warehouse.utils.ts b/apps/studio/components/interfaces/Integrations/Warehouse/Warehouse.utils.ts index 8ac9ff04bf1..196e2e2098c 100644 --- a/apps/studio/components/interfaces/Integrations/Warehouse/Warehouse.utils.ts +++ b/apps/studio/components/interfaces/Integrations/Warehouse/Warehouse.utils.ts @@ -6,9 +6,9 @@ import { WAREHOUSE_METADATA_SCHEMA } from '@/lib/warehouse' export type WarehouseSetupBody = components['schemas']['WarehouseSetupBody'] export type WarehouseSetupTarget = WarehouseSetupBody['targets'][number] export type WarehouseSetupStatus = - components['schemas']['WarehouseSetupStatusResponse']['setup_status'] + components['schemas']['WarehouseSetupStatusResponse_Output']['setup_status'] export type WarehouseSetupTable = - components['schemas']['WarehouseSetupStatusResponse']['tables'][number] + components['schemas']['WarehouseSetupStatusResponse_Output']['tables'][number] export function isWarehouseProvisioned(setupStatus?: WarehouseSetupStatus): boolean { return setupStatus === 'complete' @@ -143,5 +143,5 @@ export function buildRetryTargets( } export type WarehouseCatalogCredentials = NonNullable< - components['schemas']['WarehouseCatalogResponse']['credentials'] + components['schemas']['WarehouseCatalogResponse_Output']['credentials'] > diff --git a/apps/studio/components/interfaces/Support/__tests__/SupportFormPage.test.tsx b/apps/studio/components/interfaces/Support/__tests__/SupportFormPage.test.tsx index 0c2f5cd265c..96d8145ab49 100644 --- a/apps/studio/components/interfaces/Support/__tests__/SupportFormPage.test.tsx +++ b/apps/studio/components/interfaces/Support/__tests__/SupportFormPage.test.tsx @@ -22,7 +22,7 @@ mockIntersectionObserver() type ProjectDetailResponse = components['schemas']['ProjectDetailResponse_Output'] type OrganizationProjectsResponse = components['schemas']['OrganizationProjectsResponse_Output'] type OrganizationProjectsProject = OrganizationProjectsResponse['projects'][number] -type SendFeedbackResponse = components['schemas']['SendFeedbackResponse'] +type SendFeedbackResponse = components['schemas']['SendFeedbackResponse_Output'] // Builders that return shapes matching the OpenAPI contract for endpoints // the support form depends on. The test only exercises a few fields, but the diff --git a/apps/studio/components/layouts/ProjectLayout/RestoringState.test.tsx b/apps/studio/components/layouts/ProjectLayout/RestoringState.test.tsx index 95dd0f5c858..fe05297d03f 100644 --- a/apps/studio/components/layouts/ProjectLayout/RestoringState.test.tsx +++ b/apps/studio/components/layouts/ProjectLayout/RestoringState.test.tsx @@ -11,7 +11,7 @@ import { addAPIMock } from '@/tests/lib/msw' type ProjectDetailResponse = components['schemas']['ProjectDetailResponse_Output'] type ProjectStatus = ProjectDetailResponse['status'] -type DownloadableBackupsResponse = components['schemas']['DownloadableBackupsResponse'] +type DownloadableBackupsResponse = components['schemas']['DownloadableBackupsResponse_Output'] const PROJECT_REF = 'default' diff --git a/apps/studio/data/auth/validate-spam-mutation.ts b/apps/studio/data/auth/validate-spam-mutation.ts index 306e6720c2c..c829d00dd43 100644 --- a/apps/studio/data/auth/validate-spam-mutation.ts +++ b/apps/studio/data/auth/validate-spam-mutation.ts @@ -9,7 +9,7 @@ export type ValidateSpamVariables = { projectRef: string template: components['schemas']['ValidateSpamBody'] } -export type ValidateSpamResponse = components['schemas']['ValidateSpamResponse'] +export type ValidateSpamResponse = components['schemas']['ValidateSpamResponse_Output'] export async function validateSpam({ projectRef, template }: ValidateSpamVariables) { const { data, error } = await post('/platform/auth/{ref}/validate/spam', { diff --git a/apps/studio/data/compute/compute-instance-query.ts b/apps/studio/data/compute/compute-instance-query.ts index 6765c502fa3..da0b02dd897 100644 --- a/apps/studio/data/compute/compute-instance-query.ts +++ b/apps/studio/data/compute/compute-instance-query.ts @@ -16,7 +16,7 @@ async function getComputeInstance( if (!projectRef) throw new Error('projectRef is required') if (!name) throw new Error('name is required') - const { data, error } = await get('/v2/projects/{ref}/workers/{name}', { + const { data, error } = await get('/v2/projects/{ref}/compute/{name}', { params: { path: { ref: projectRef, name } }, signal, }) diff --git a/apps/studio/data/compute/compute-query.ts b/apps/studio/data/compute/compute-query.ts index a67c12b7dcb..f372e317254 100644 --- a/apps/studio/data/compute/compute-query.ts +++ b/apps/studio/data/compute/compute-query.ts @@ -12,7 +12,7 @@ export type ComputeError = ResponseError async function getComputeInstances({ projectRef }: ComputeVariables, signal?: AbortSignal) { if (!projectRef) throw new Error('projectRef is required') - const { data, error } = await get('/v2/projects/{ref}/workers', { + const { data, error } = await get('/v2/projects/{ref}/compute', { params: { path: { ref: projectRef } }, signal, }) diff --git a/apps/studio/data/compute/compute.utils.test.ts b/apps/studio/data/compute/compute.utils.test.ts index 1004699df97..46afd3104f5 100644 --- a/apps/studio/data/compute/compute.utils.test.ts +++ b/apps/studio/data/compute/compute.utils.test.ts @@ -10,7 +10,7 @@ import { const datum = (attributes: Record) => ({ id: 'embed', - type: 'project_worker', + type: 'project_compute_instance', attributes: { build_state: 'active', secret_generation: '1', diff --git a/apps/studio/data/config/github-config-query.ts b/apps/studio/data/config/github-config-query.ts index 5123a1e1517..803aa8e82db 100644 --- a/apps/studio/data/config/github-config-query.ts +++ b/apps/studio/data/config/github-config-query.ts @@ -11,9 +11,10 @@ export type GitHubConfigVariables = { branch?: string } -type GithubConfigQueryResponse = components['schemas']['GetGitHubConnectionConfigResponse'] & { - config: z.infer -} +type GithubConfigQueryResponse = + components['schemas']['GetGitHubConnectionConfigResponse_Output'] & { + config: z.infer + } export const githubConfigKeys = { all: ['github-config'] as const, diff --git a/apps/studio/data/database/backup-restore-mutation.ts b/apps/studio/data/database/backup-restore-mutation.ts index 38e126bba7c..fbae2e0e518 100644 --- a/apps/studio/data/database/backup-restore-mutation.ts +++ b/apps/studio/data/database/backup-restore-mutation.ts @@ -11,7 +11,7 @@ export type BackupRestoreVariables = { } // [Joshen] Shift to backups RQ query once created -export type Backup = components['schemas']['BackupsResponse']['backups'][number] +export type Backup = components['schemas']['BackupsResponse_Output']['backups'][number] export async function restoreFromBackup({ ref, backup }: BackupRestoreVariables) { if (backup.isPhysicalBackup) { diff --git a/apps/studio/data/database/backups-query.ts b/apps/studio/data/database/backups-query.ts index cd68624c74d..c1bb3e8b02b 100644 --- a/apps/studio/data/database/backups-query.ts +++ b/apps/studio/data/database/backups-query.ts @@ -12,7 +12,7 @@ export type BackupsVariables = { projectStatus?: string } -export type DatabaseBackup = components['schemas']['BackupsResponse']['backups'][number] +export type DatabaseBackup = components['schemas']['BackupsResponse_Output']['backups'][number] export async function getBackups({ projectRef }: BackupsVariables, signal?: AbortSignal) { if (!projectRef) throw new Error('Project ref is required') diff --git a/apps/studio/data/feedback/ai-chat-front-sync.ts b/apps/studio/data/feedback/ai-chat-front-sync.ts index c3275301419..dce7909100e 100644 --- a/apps/studio/data/feedback/ai-chat-front-sync.ts +++ b/apps/studio/data/feedback/ai-chat-front-sync.ts @@ -8,14 +8,15 @@ export type AiSupportStatus = 'bot_active' | 'escalated' | 'user_resolved' | 'bo export type SyncConversationMessagesVariables = components['schemas']['SyncConversationMessagesBody'] -type SyncConversationMessagesResponse = components['schemas']['SyncConversationMessagesResponse'] +type SyncConversationMessagesResponse = + components['schemas']['SyncConversationMessagesResponse_Output'] type EscalateConversationVariables = components['schemas']['EscalateConversationBody'] type ResolveConversationVariables = components['schemas']['ResolveConversationBody'] type UpdateConversationLifecycleResponse = - components['schemas']['UpdateConversationLifecycleResponse'] + components['schemas']['UpdateConversationLifecycleResponse_Output'] /** * Sync AI support chat messages to Front via the Platform API. diff --git a/apps/studio/data/notifications/notifications-v2-query.ts b/apps/studio/data/notifications/notifications-v2-query.ts index df16871bc93..a1f0a759fa6 100644 --- a/apps/studio/data/notifications/notifications-v2-query.ts +++ b/apps/studio/data/notifications/notifications-v2-query.ts @@ -18,7 +18,7 @@ export type NotificationVariables = { } } -export type Notification = components['schemas']['NotificationResponse'] +export type Notification = components['schemas']['NotificationResponse_Output'] /** * Notification Data - This is not typed from the API end as it's meant to be open-ended diff --git a/apps/studio/data/partners/integration-status-query.ts b/apps/studio/data/partners/integration-status-query.ts index 649491e104c..c354a1640ed 100644 --- a/apps/studio/data/partners/integration-status-query.ts +++ b/apps/studio/data/partners/integration-status-query.ts @@ -10,7 +10,7 @@ export type IntegrationVariables = { } export type IntegrationStatus = - components['schemas']['PartnerIntegrationListResponse']['integrations'][0] + components['schemas']['PartnerIntegrationListResponse_Output']['integrations'][0] async function getIntegrations({ projectRef }: IntegrationVariables, signal?: AbortSignal) { if (!projectRef) throw new Error('Project ref is required') diff --git a/apps/studio/data/profile/profile-create-mutation.ts b/apps/studio/data/profile/profile-create-mutation.ts index 076adc4727a..25917ca50b3 100644 --- a/apps/studio/data/profile/profile-create-mutation.ts +++ b/apps/studio/data/profile/profile-create-mutation.ts @@ -8,7 +8,7 @@ import { organizationKeys } from '@/data/organizations/keys' import { permissionKeys } from '@/data/permissions/keys' import type { ResponseError, UseCustomMutationOptions } from '@/types' -export type ProfileResponse = components['schemas']['ProfileResponse'] +export type ProfileResponse = components['schemas']['ProfileResponse_Output'] export async function createProfile() { const { data, error } = await post('/platform/profile') diff --git a/apps/studio/data/profile/types.ts b/apps/studio/data/profile/types.ts index 0e5b4dbfdd3..3d71d59522e 100644 --- a/apps/studio/data/profile/types.ts +++ b/apps/studio/data/profile/types.ts @@ -1,5 +1,5 @@ import type { components } from '@/data/api' -export type Profile = components['schemas']['ProfileResponse'] & { +export type Profile = components['schemas']['ProfileResponse_Output'] & { profileImageUrl?: string } diff --git a/apps/studio/data/projects/clone-status-query.ts b/apps/studio/data/projects/clone-status-query.ts index 97aa7b127a2..9ae56fe7c48 100644 --- a/apps/studio/data/projects/clone-status-query.ts +++ b/apps/studio/data/projects/clone-status-query.ts @@ -5,7 +5,7 @@ import { projectKeys } from './keys' import { get, handleError } from '@/data/fetchers' import type { ResponseError, UseCustomQueryOptions } from '@/types' -export type CloneStatus = components['schemas']['ProjectClonedStatusResponse'] +export type CloneStatus = components['schemas']['ProjectClonedStatusResponse_Output'] export async function getCloneStatus(projectRef?: string) { if (!projectRef) throw new Error('Project ref is required') diff --git a/apps/studio/data/scoped-access-tokens/scoped-access-token-create-mutation.ts b/apps/studio/data/scoped-access-tokens/scoped-access-token-create-mutation.ts index 7e2dc7abf0b..3051923616a 100644 --- a/apps/studio/data/scoped-access-tokens/scoped-access-token-create-mutation.ts +++ b/apps/studio/data/scoped-access-tokens/scoped-access-token-create-mutation.ts @@ -24,7 +24,7 @@ export async function createScopedAccessToken({ return data } -export type NewScopedAccessToken = components['schemas']['CreateScopedAccessTokenResponse'] +export type NewScopedAccessToken = components['schemas']['CreateScopedAccessTokenResponse_Output'] export const useScopedAccessTokenCreateMutation = ({ onSuccess, diff --git a/apps/studio/data/scoped-access-tokens/scoped-access-token-query.ts b/apps/studio/data/scoped-access-tokens/scoped-access-token-query.ts index 21691fbfe3f..9936f75c913 100644 --- a/apps/studio/data/scoped-access-tokens/scoped-access-token-query.ts +++ b/apps/studio/data/scoped-access-tokens/scoped-access-token-query.ts @@ -30,7 +30,7 @@ export type ScopedAccessTokensData = Awaited> diff --git a/apps/studio/data/stripe/setup-intent-mutation.ts b/apps/studio/data/stripe/setup-intent-mutation.ts index b3cf45d694f..caa34b298fe 100644 --- a/apps/studio/data/stripe/setup-intent-mutation.ts +++ b/apps/studio/data/stripe/setup-intent-mutation.ts @@ -9,7 +9,7 @@ export type SetupIntentVariables = { hcaptchaToken: string } -export type SetupIntentResponse = components['schemas']['SetupIntentResponse'] +export type SetupIntentResponse = components['schemas']['SetupIntentResponse_Output'] export async function setupIntent({ hcaptchaToken }: SetupIntentVariables) { const { data, error } = await post('/platform/stripe/setup-intent', { diff --git a/apps/studio/data/warehouse/warehouse-catalog-query.ts b/apps/studio/data/warehouse/warehouse-catalog-query.ts index b1ad89dcfd1..520c71bc76c 100644 --- a/apps/studio/data/warehouse/warehouse-catalog-query.ts +++ b/apps/studio/data/warehouse/warehouse-catalog-query.ts @@ -5,7 +5,7 @@ import { warehouseKeys } from './keys' import { get, handleError } from '@/data/fetchers' import type { ResponseError, UseCustomQueryOptions } from '@/types' -export type WarehouseCatalogResponse = components['schemas']['WarehouseCatalogResponse'] +export type WarehouseCatalogResponse = components['schemas']['WarehouseCatalogResponse_Output'] type WarehouseCatalogVariables = { projectRef?: string } diff --git a/apps/studio/data/warehouse/warehouse-setup-status-query.ts b/apps/studio/data/warehouse/warehouse-setup-status-query.ts index 29491bb6741..526982a0232 100644 --- a/apps/studio/data/warehouse/warehouse-setup-status-query.ts +++ b/apps/studio/data/warehouse/warehouse-setup-status-query.ts @@ -5,7 +5,8 @@ import { warehouseKeys } from './keys' import { get, handleError } from '@/data/fetchers' import type { ResponseError, UseCustomQueryOptions } from '@/types' -export type WarehouseSetupStatusResponse = components['schemas']['WarehouseSetupStatusResponse'] +export type WarehouseSetupStatusResponse = + components['schemas']['WarehouseSetupStatusResponse_Output'] type WarehouseSetupStatusVariables = { projectRef?: string } diff --git a/apps/studio/tests/components/ApiAuthorization.test.tsx b/apps/studio/tests/components/ApiAuthorization.test.tsx index 31b7a044ba8..708ceb30bd9 100644 --- a/apps/studio/tests/components/ApiAuthorization.test.tsx +++ b/apps/studio/tests/components/ApiAuthorization.test.tsx @@ -18,7 +18,7 @@ import { customRender } from '@/tests/lib/custom-render' import { addAPIMock, type APIErrorBody } from '@/tests/lib/msw' type OrganizationResponse = components['schemas']['OrganizationResponse_Output'] -type GetOAuthAuthorizationResponse = components['schemas']['GetOAuthAuthorizationResponse'] +type GetOAuthAuthorizationResponse = components['schemas']['GetOAuthAuthorizationResponse_Output'] type ApproveAuthorizationResponse = components['schemas']['ApproveAuthorizationResponse_Output'] type DeclineAuthorizationResponse = components['schemas']['DeclineAuthorizationResponse_Output'] diff --git a/apps/studio/tests/pages/project/[ref]/compute/index.test.tsx b/apps/studio/tests/pages/project/[ref]/compute/index.test.tsx index cc4630ab982..b0daea83a8a 100644 --- a/apps/studio/tests/pages/project/[ref]/compute/index.test.tsx +++ b/apps/studio/tests/pages/project/[ref]/compute/index.test.tsx @@ -11,8 +11,8 @@ import { customRender } from '@/tests/lib/custom-render' import { addAPIMock, type APIErrorBody } from '@/tests/lib/msw' import { routerMock } from '@/tests/lib/route-mock' -type ListWorkersResponse = components['schemas']['V2ListWorkersResponse_Output'] -type WorkerDatum = ListWorkersResponse['data'][number] +type ListComputeInstancesResponse = components['schemas']['V2ListComputeInstancesResponse_Output'] +type ComputeInstanceDatum = ListComputeInstancesResponse['data'][number] // `tests/vitestSetup.ts` mocks `common`'s useParams to always answer with this ref, so the page // reads it no matter what the router URL says. @@ -20,10 +20,10 @@ const PROJECT_REF = 'default' const computeInstanceDatum = ( id: string, - attributes: Partial = {} -): WorkerDatum => ({ + attributes: Partial = {} +): ComputeInstanceDatum => ({ id, - type: 'project_worker' as const, + type: 'project_compute_instance' as const, attributes: { build_state: 'active' as const, secret_generation: '1', @@ -32,13 +32,13 @@ const computeInstanceDatum = ( }, }) -const mockComputeInstancesList = (instances: WorkerDatum[]) => - addAPIMock({ method: 'get', path: '/v2/projects/:ref/workers', response: { data: instances } }) +const mockComputeInstancesList = (instances: ComputeInstanceDatum[]) => + addAPIMock({ method: 'get', path: '/v2/projects/:ref/compute', response: { data: instances } }) const mockComputeInstancesListFailure = (status: number) => addAPIMock({ method: 'get', - path: '/v2/projects/:ref/workers', + path: '/v2/projects/:ref/compute', response: () => HttpResponse.json({ message: 'Denied' }, { status }), }) @@ -125,13 +125,15 @@ describe('/project/[ref]/compute', () => { let requestCount = 0 addAPIMock({ method: 'get', - path: '/v2/projects/:ref/workers', - response: (): HttpResponse | HttpResponse => { + path: '/v2/projects/:ref/compute', + response: (): HttpResponse | HttpResponse => { if (requestCount++ === 0) { return HttpResponse.json({ message: 'Unavailable' }, { status: 500 }) } - return HttpResponse.json({ data: [computeInstanceDatum('embed')] }) + return HttpResponse.json({ + data: [computeInstanceDatum('embed')], + }) }, }) diff --git a/packages/api-types/types/api-v1.d.ts b/packages/api-types/types/api-v1.d.ts index 09a5785a5c0..361decb6ee0 100644 --- a/packages/api-types/types/api-v1.d.ts +++ b/packages/api-types/types/api-v1.d.ts @@ -40,8 +40,10 @@ export interface paths { cookie?: never } /** - * [Beta] Diffs a database branch + * Diffs a database branch * @description Diffs the specified database branch + * + * This endpoint is currently in its **Beta** stage. */ get: operations['v1-diff-a-branch'] put?: never @@ -139,7 +141,12 @@ export interface paths { path?: never cookie?: never } - /** [Beta] Authorize user through oauth */ + /** + * Authorize user through oauth + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ get: operations['v1-authorize-user'] put?: never post?: never @@ -178,7 +185,12 @@ export interface paths { } get?: never put?: never - /** [Beta] Revoke oauth app authorization and it's corresponding tokens */ + /** + * Revoke oauth app authorization and it's corresponding tokens + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ post: operations['v1-revoke-token'] delete?: never options?: never @@ -196,8 +208,10 @@ export interface paths { get?: never put?: never /** - * [Beta] Exchange auth code for user's access and refresh token + * Exchange auth code for user's access and refresh token * @description Supports `authorization_code`, `refresh_token`, and `urn:ietf:params:oauth:grant-type:jwt-bearer` grant types. The `jwt-bearer` grant type (IDJAG — identity-directed JWT assertion) is in beta and available on Team and Enterprise plans only. + * + * This endpoint is currently in its **Beta** stage. */ post: operations['v1-exchange-oauth-token'] delete?: never @@ -471,7 +485,6 @@ export interface paths { } /** * Gets project performance advisors. - * @deprecated * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. */ get: operations['v1-get-performance-advisors'] @@ -492,7 +505,6 @@ export interface paths { } /** * Gets project security advisors. - * @deprecated * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. */ get: operations['v1-get-security-advisors'] @@ -807,9 +819,19 @@ export interface paths { } get?: never put?: never - /** [Beta] Create a login role for CLI with temporary password */ + /** + * Create a login role for CLI with temporary password + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ post: operations['v1-create-login-role'] - /** [Beta] Delete existing login roles used by CLI */ + /** + * Delete existing login roles used by CLI + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ delete: operations['v1-delete-login-roles'] options?: never head?: never @@ -1127,11 +1149,21 @@ export interface paths { path?: never cookie?: never } - /** [Beta] Gets project's custom hostname config */ + /** + * Gets project's custom hostname config + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ get: operations['v1-get-hostname-config'] put?: never post?: never - /** [Beta] Deletes a project's custom hostname configuration */ + /** + * Deletes a project's custom hostname configuration + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ delete: operations['v1-Delete hostname config'] options?: never head?: never @@ -1147,7 +1179,12 @@ export interface paths { } get?: never put?: never - /** [Beta] Activates a custom hostname for a project. */ + /** + * Activates a custom hostname for a project. + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ post: operations['v1-activate-custom-hostname'] delete?: never options?: never @@ -1164,7 +1201,12 @@ export interface paths { } get?: never put?: never - /** [Beta] Updates project's custom hostname configuration */ + /** + * Updates project's custom hostname configuration + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ post: operations['v1-update-hostname-config'] delete?: never options?: never @@ -1181,7 +1223,12 @@ export interface paths { } get?: never put?: never - /** [Beta] Attempts to verify the DNS configuration for project's custom hostname configuration */ + /** + * Attempts to verify the DNS configuration for project's custom hostname configuration + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ post: operations['v1-verify-dns-config'] delete?: never options?: never @@ -1305,7 +1352,6 @@ export interface paths { } /** * Gets database metadata for the given project. - * @deprecated * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. */ get: operations['v1-get-database-metadata'] @@ -1529,7 +1575,12 @@ export interface paths { } get?: never put?: never - /** [Beta] Run sql query */ + /** + * Run sql query + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ post: operations['v1-run-a-query'] delete?: never options?: never @@ -1547,8 +1598,10 @@ export interface paths { get?: never put?: never /** - * [Beta] Run a sql query as supabase_read_only_user + * Run a sql query as supabase_read_only_user * @description All entity references must be schema qualified. + * + * This endpoint is currently in its **Beta** stage. */ post: operations['v1-read-only-query'] delete?: never @@ -1566,7 +1619,12 @@ export interface paths { } get?: never put?: never - /** [Beta] Enables Database Webhooks on the project */ + /** + * Enables Database Webhooks on the project + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ post: operations['v1-enable-database-webhook'] delete?: never options?: never @@ -1695,9 +1753,19 @@ export interface paths { path?: never cookie?: never } - /** [Beta] Get project's temporary access configuration. */ + /** + * Get project's temporary access configuration. + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ get: operations['v1-get-jit-access-config'] - /** [Beta] Update project's temporary access configuration. */ + /** + * Update project's temporary access configuration. + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ put: operations['v1-update-jit-access-config'] post?: never delete?: never @@ -1716,7 +1784,12 @@ export interface paths { get?: never put?: never post?: never - /** [Beta] Remove network bans. */ + /** + * Remove network bans. + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ delete: operations['v1-delete-network-bans'] options?: never head?: never @@ -1732,7 +1805,12 @@ export interface paths { } get?: never put?: never - /** [Beta] Gets project's network bans */ + /** + * Gets project's network bans + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ post: operations['v1-list-all-network-bans'] delete?: never options?: never @@ -1749,7 +1827,12 @@ export interface paths { } get?: never put?: never - /** [Beta] Gets project's network bans with additional information about which databases they affect */ + /** + * Gets project's network bans with additional information about which databases they affect + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ post: operations['v1-list-all-network-bans-enriched'] delete?: never options?: never @@ -1764,14 +1847,24 @@ export interface paths { path?: never cookie?: never } - /** [Beta] Gets project's network restrictions */ + /** + * Gets project's network restrictions + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ get: operations['v1-get-network-restrictions'] put?: never post?: never delete?: never options?: never head?: never - /** [Alpha] Updates project's network restrictions by adding or removing CIDRs */ + /** + * Updates project's network restrictions by adding or removing CIDRs + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Alpha** stage. + */ patch: operations['v1-patch-network-restrictions'] trace?: never } @@ -1784,7 +1877,12 @@ export interface paths { } get?: never put?: never - /** [Beta] Updates project's network restrictions */ + /** + * Updates project's network restrictions + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ post: operations['v1-update-network-restrictions'] delete?: never options?: never @@ -1816,9 +1914,19 @@ export interface paths { path?: never cookie?: never } - /** [Beta] Gets project's pgsodium config */ + /** + * Gets project's pgsodium config + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ get: operations['v1-get-pgsodium-config'] - /** [Beta] Updates project's pgsodium config. Updating the root_key can cause all data encrypted with the older key to become inaccessible. */ + /** + * Updates project's pgsodium config. Updating the root_key can cause all data encrypted with the older key to become inaccessible. + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ put: operations['v1-update-pgsodium-config'] post?: never delete?: never @@ -1854,7 +1962,12 @@ export interface paths { } get?: never put?: never - /** [Beta] Remove a read replica */ + /** + * Remove a read replica + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ post: operations['v1-remove-a-read-replica'] delete?: never options?: never @@ -1871,7 +1984,12 @@ export interface paths { } get?: never put?: never - /** [Beta] Set up a read replica */ + /** + * Set up a read replica + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ post: operations['v1-setup-a-read-replica'] delete?: never options?: never @@ -2000,9 +2118,19 @@ export interface paths { path?: never cookie?: never } - /** [Beta] Get project's SSL enforcement configuration. */ + /** + * Get project's SSL enforcement configuration. + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ get: operations['v1-get-ssl-enforcement-config'] - /** [Beta] Update project's SSL enforcement configuration. */ + /** + * Update project's SSL enforcement configuration. + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ put: operations['v1-update-ssl-enforcement-config'] post?: never delete?: never @@ -2057,7 +2185,12 @@ export interface paths { } get?: never put?: never - /** [Beta] Upgrades the project's Postgres version */ + /** + * Upgrades the project's Postgres version + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ post: operations['v1-upgrade-postgres-version'] delete?: never options?: never @@ -2072,7 +2205,12 @@ export interface paths { path?: never cookie?: never } - /** [Beta] Returns the project's eligibility for upgrades */ + /** + * Returns the project's eligibility for upgrades + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ get: operations['v1-get-postgres-upgrade-eligibility'] put?: never post?: never @@ -2089,7 +2227,12 @@ export interface paths { path?: never cookie?: never } - /** [Beta] Gets the latest status of the project's upgrade */ + /** + * Gets the latest status of the project's upgrade + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ get: operations['v1-get-postgres-upgrade-status'] put?: never post?: never @@ -2106,11 +2249,21 @@ export interface paths { path?: never cookie?: never } - /** [Beta] Gets current vanity subdomain config */ + /** + * Gets current vanity subdomain config + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ get: operations['v1-get-vanity-subdomain-config'] put?: never post?: never - /** [Beta] Deletes a project's vanity subdomain configuration */ + /** + * Deletes a project's vanity subdomain configuration + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ delete: operations['v1-deactivate-vanity-subdomain-config'] options?: never head?: never @@ -2126,7 +2279,12 @@ export interface paths { } get?: never put?: never - /** [Beta] Activates a vanity subdomain for a project. */ + /** + * Activates a vanity subdomain for a project. + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ post: operations['v1-activate-vanity-subdomain-config'] delete?: never options?: never @@ -2143,7 +2301,12 @@ export interface paths { } get?: never put?: never - /** [Beta] Checks vanity subdomain availability */ + /** + * Checks vanity subdomain availability + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ post: operations['v1-check-vanity-subdomain-availability'] delete?: never options?: never @@ -2158,7 +2321,12 @@ export interface paths { path?: never cookie?: never } - /** [Beta] Gets the list of available regions that can be used for a new project */ + /** + * Gets the list of available regions that can be used for a new project + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ get: operations['v1-get-available-regions'] put?: never post?: never @@ -3326,8 +3494,9 @@ export interface components { }[] } JitAuthorizeAccessResponse_Output: { + act?: string /** Format: uuid */ - user_id: string + user_id?: string user_role: { allowed_networks?: { allowed_cidrs?: { diff --git a/packages/api-types/types/api-v2.d.ts b/packages/api-types/types/api-v2.d.ts index ae6ec047539..e1ecac3bb40 100644 --- a/packages/api-types/types/api-v2.d.ts +++ b/packages/api-types/types/api-v2.d.ts @@ -362,6 +362,100 @@ export interface paths { patch?: never trace?: never } + '/v2/projects/{ref}/compute': { + parameters: { + query?: never + header?: never + path?: never + cookie?: never + } + /** + * List all compute instances + * @description Returns all compute instances you've previously deployed to the specified project. + * + * This endpoint is currently in its **Alpha** stage. + */ + get: operations['v2-list-all-compute-instances'] + put?: never + post?: never + delete?: never + options?: never + head?: never + patch?: never + trace?: never + } + '/v2/projects/{ref}/compute/{name}': { + parameters: { + query?: never + header?: never + path?: never + cookie?: never + } + /** + * Retrieve a compute instance + * @description Returns a compute instance along with the counts of its running instances. Poll this after a deploy until `build_state` leaves `building`. + * + * This endpoint is currently in its **Alpha** stage. + */ + get: operations['v2-get-a-compute-instance'] + put?: never + post?: never + /** + * Delete a compute instance + * @description Tombstones the compute instance. Its running instances and image are torn down asynchronously. + * + * This endpoint is currently in its **Alpha** stage. + */ + delete: operations['v2-delete-a-compute-instance'] + options?: never + head?: never + patch?: never + trace?: never + } + '/v2/projects/{ref}/compute/{name}/deploy': { + parameters: { + query?: never + header?: never + path?: never + cookie?: never + } + get?: never + put?: never + /** + * Deploy a compute instance + * @description Creates the compute instance if it does not exist, building from a context staged through the uploads endpoint. The build runs asynchronously: this answers 202 and the compute instance reaches `build_state` `active` or `failed` later. + * + * This endpoint is currently in its **Alpha** stage. + */ + post: operations['v2-deploy-a-compute-instance'] + delete?: never + options?: never + head?: never + patch?: never + trace?: never + } + '/v2/projects/{ref}/compute/{name}/uploads': { + parameters: { + query?: never + header?: never + path?: never + cookie?: never + } + get?: never + put?: never + /** + * Mint a presigned slot for a build-context upload + * @description PUT the `.tar.gz` build context to the returned `url` before `expires_at`, then deploy with the upload id as `context_upload_id`. The bytes go straight to storage — no management API request carries them. + * + * This endpoint is currently in its **Alpha** stage. + */ + post: operations['v2-create-compute-instance-upload'] + delete?: never + options?: never + head?: never + patch?: never + trace?: never + } '/v2/projects/{ref}/config': { parameters: { query?: never @@ -370,8 +464,10 @@ export interface paths { cookie?: never } /** - * [Alpha] Get a project's service configuration + * Get a project's service configuration * @description Returns the project's database, pooler, Auth, Data API, Realtime and Storage configuration — the same configuration a branch inherits from its base project. Each is the effective config, so a setting the project has never overridden is reported at its platform default rather than as null. Auth secrets are returned as an HMAC of their value. `storage` is read live from the storage service; the rest come from this platform's own records. + * + * This endpoint is currently in its **Alpha** stage. */ get: operations['v2-get-project-config'] put?: never @@ -630,90 +726,6 @@ export interface paths { patch?: never trace?: never } - '/v2/projects/{ref}/workers': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** - * [Alpha] List all workers - * @description Returns all workers you've previously deployed to the specified project. - */ - get: operations['v2-list-all-workers'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/v2/projects/{ref}/workers/{name}': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** - * [Alpha] Retrieve a worker - * @description Returns a worker along with its instance tally. Poll this after a deploy until `build_state` leaves `building`. - */ - get: operations['v2-get-a-worker'] - put?: never - post?: never - /** - * [Alpha] Delete a worker - * @description Tombstones the worker. Its instances and image are torn down asynchronously. - */ - delete: operations['v2-delete-a-worker'] - options?: never - head?: never - patch?: never - trace?: never - } - '/v2/projects/{ref}/workers/{name}/deploy': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * [Alpha] Deploy a worker - * @description Creates the worker if it does not exist, building from a context staged through the uploads endpoint. The build runs asynchronously: this answers 202 and the worker reaches `build_state` `active` or `failed` later. - */ - post: operations['v2-deploy-a-worker'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/v2/projects/{ref}/workers/{name}/uploads': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * [Alpha] Mint a presigned slot for a build-context upload - * @description PUT the `.tar.gz` build context to the returned `url` before `expires_at`, then deploy with the upload id as `context_upload_id`. The bytes go straight to storage — no management API request carries them. - */ - post: operations['v2-create-worker-upload'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } } export type webhooks = Record export interface components { @@ -1231,6 +1243,67 @@ export interface components { type: 'branch' } } + V2ComputeInstanceResponse_Output: { + data: { + attributes: { + /** @enum {string} */ + build_state: 'building' | 'active' | 'failed' + deleting?: boolean + image_version?: string + instances?: { + declared: number + live: number + ready: number + stale: number + } + instances_error?: string + secret_generation: string + spec: { + /** @example public */ + exposure: string + /** @example 1 */ + instances: number + /** @example node */ + runtime?: string + /** @example 2gb-1vcpu */ + size: string + } + state_reason?: string + } + /** + * @description Compute instance name. + * @example hello-world + */ + id: string + /** + * @description Resource type. + * @enum {string} + */ + type: 'project_compute_instance' + } + } + V2ComputeInstanceUploadResponse_Output: { + data: { + attributes: { + /** @description When the slot stops accepting the upload. */ + expires_at: string + /** @example PUT */ + method: string + /** @description Presigned destination for the `.tar.gz` build context. */ + url: string + } + /** + * @description Upload id to pass to the deploy endpoint as `context_upload_id`. + * @example cafe0000000000000000000000000000 + */ + id: string + /** + * @description Resource type. + * @enum {string} + */ + type: 'project_compute_instance_upload' + } + } V2CreateBranchRequest: { data: { attributes: { @@ -1437,7 +1510,7 @@ export interface components { type: 'organization_invitation' }[] } - V2DeployWorkerRequest: { + V2DeployComputeInstanceRequest: { data: { attributes: { /** @description Id of a build context staged through the uploads endpoint. Required unless `runtime` is set. */ @@ -1457,9 +1530,48 @@ export interface components { * @description Resource type. * @enum {string} */ - type: 'project_worker' + type: 'project_compute_instance' } } + V2ListComputeInstancesResponse_Output: { + data: { + attributes: { + /** @enum {string} */ + build_state: 'building' | 'active' | 'failed' + deleting?: boolean + image_version?: string + instances?: { + declared: number + live: number + ready: number + stale: number + } + instances_error?: string + secret_generation: string + spec: { + /** @example public */ + exposure: string + /** @example 1 */ + instances: number + /** @example node */ + runtime?: string + /** @example 2gb-1vcpu */ + size: string + } + state_reason?: string + } + /** + * @description Compute instance name. + * @example hello-world + */ + id: string + /** + * @description Resource type. + * @enum {string} + */ + type: 'project_compute_instance' + }[] + } V2ListGitHubConnectionsResponse_Output: { data: { attributes: { @@ -1779,45 +1891,6 @@ export interface components { type: 'organization_role' }[] } - V2ListWorkersResponse_Output: { - data: { - attributes: { - /** @enum {string} */ - build_state: 'building' | 'active' | 'failed' - deleting?: boolean - image_version?: string - instances?: { - declared: number - live: number - ready: number - stale: number - } - instances_error?: string - secret_generation: string - spec: { - /** @example public */ - exposure: string - /** @example 1 */ - instances: number - /** @example node */ - runtime?: string - /** @example 2gb-1vcpu */ - size: string - } - state_reason?: string - } - /** - * @description Worker name. - * @example hello-world - */ - id: string - /** - * @description Resource type. - * @enum {string} - */ - type: 'project_worker' - }[] - } V2PreviewProjectTransferResponse_Output: { data: { attributes: { @@ -2209,67 +2282,6 @@ export interface components { type: 'project_transfer_input' } } - V2WorkerResponse_Output: { - data: { - attributes: { - /** @enum {string} */ - build_state: 'building' | 'active' | 'failed' - deleting?: boolean - image_version?: string - instances?: { - declared: number - live: number - ready: number - stale: number - } - instances_error?: string - secret_generation: string - spec: { - /** @example public */ - exposure: string - /** @example 1 */ - instances: number - /** @example node */ - runtime?: string - /** @example 2gb-1vcpu */ - size: string - } - state_reason?: string - } - /** - * @description Worker name. - * @example hello-world - */ - id: string - /** - * @description Resource type. - * @enum {string} - */ - type: 'project_worker' - } - } - V2WorkerUploadResponse_Output: { - data: { - attributes: { - /** @description When the slot stops accepting the upload. */ - expires_at: string - /** @example PUT */ - method: string - /** @description Presigned destination for the `.tar.gz` build context. */ - url: string - } - /** - * @description Upload id to pass to the deploy endpoint as `context_upload_id`. - * @example cafe0000000000000000000000000000 - */ - id: string - /** - * @description Resource type. - * @enum {string} - */ - type: 'project_worker_upload' - } - } } responses: never parameters: never @@ -7321,6 +7333,257 @@ export interface operations { } } } + 'v2-list-all-compute-instances': { + parameters: { + query?: never + header?: never + path: { + /** @description Project ref */ + ref: string + } + cookie?: never + } + requestBody?: never + responses: { + 200: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['V2ListComputeInstancesResponse_Output'] + } + } + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['ErrorResponseBody'] + } + } + /** @description Forbidden action */ + 403: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['ErrorResponseBody'] + } + } + /** @description Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['ErrorResponseBody'] + } + } + } + } + 'v2-get-a-compute-instance': { + parameters: { + query?: never + header?: never + path: { + name: string + /** @description Project ref */ + ref: string + } + cookie?: never + } + requestBody?: never + responses: { + 200: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['V2ComputeInstanceResponse_Output'] + } + } + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['ErrorResponseBody'] + } + } + /** @description Forbidden action */ + 403: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['ErrorResponseBody'] + } + } + /** @description Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['ErrorResponseBody'] + } + } + } + } + 'v2-delete-a-compute-instance': { + parameters: { + query?: never + header?: never + path: { + name: string + /** @description Project ref */ + ref: string + } + cookie?: never + } + requestBody?: never + responses: { + 204: { + headers: { + [name: string]: unknown + } + content?: never + } + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['ErrorResponseBody'] + } + } + /** @description Forbidden action */ + 403: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['ErrorResponseBody'] + } + } + /** @description Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['ErrorResponseBody'] + } + } + } + } + 'v2-deploy-a-compute-instance': { + parameters: { + query?: never + header?: never + path: { + name: string + /** @description Project ref */ + ref: string + } + cookie?: never + } + requestBody: { + content: { + 'application/json': components['schemas']['V2DeployComputeInstanceRequest'] + } + } + responses: { + 202: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['V2ComputeInstanceResponse_Output'] + } + } + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['ErrorResponseBody'] + } + } + /** @description Forbidden action */ + 403: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['ErrorResponseBody'] + } + } + /** @description Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['ErrorResponseBody'] + } + } + } + } + 'v2-create-compute-instance-upload': { + parameters: { + query?: never + header?: never + path: { + name: string + /** @description Project ref */ + ref: string + } + cookie?: never + } + requestBody?: never + responses: { + 201: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['V2ComputeInstanceUploadResponse_Output'] + } + } + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['ErrorResponseBody'] + } + } + /** @description Forbidden action */ + 403: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['ErrorResponseBody'] + } + } + /** @description Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['ErrorResponseBody'] + } + } + } + } 'v2-get-project-config': { parameters: { query?: never @@ -11943,255 +12206,4 @@ export interface operations { } } } - 'v2-list-all-workers': { - parameters: { - query?: never - header?: never - path: { - /** @description Project ref */ - ref: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['V2ListWorkersResponse_Output'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponseBody'] - } - } - /** @description Forbidden action */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponseBody'] - } - } - /** @description Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponseBody'] - } - } - } - } - 'v2-get-a-worker': { - parameters: { - query?: never - header?: never - path: { - name: string - /** @description Project ref */ - ref: string - } - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['V2WorkerResponse_Output'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponseBody'] - } - } - /** @description Forbidden action */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponseBody'] - } - } - /** @description Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponseBody'] - } - } - } - } - 'v2-delete-a-worker': { - parameters: { - query?: never - header?: never - path: { - name: string - /** @description Project ref */ - ref: string - } - cookie?: never - } - requestBody?: never - responses: { - 204: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponseBody'] - } - } - /** @description Forbidden action */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponseBody'] - } - } - /** @description Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponseBody'] - } - } - } - } - 'v2-deploy-a-worker': { - parameters: { - query?: never - header?: never - path: { - name: string - /** @description Project ref */ - ref: string - } - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['V2DeployWorkerRequest'] - } - } - responses: { - 202: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['V2WorkerResponse_Output'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponseBody'] - } - } - /** @description Forbidden action */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponseBody'] - } - } - /** @description Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponseBody'] - } - } - } - } - 'v2-create-worker-upload': { - parameters: { - query?: never - header?: never - path: { - name: string - /** @description Project ref */ - ref: string - } - cookie?: never - } - requestBody?: never - responses: { - 201: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['V2WorkerUploadResponse_Output'] - } - } - /** @description Unauthorized */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponseBody'] - } - } - /** @description Forbidden action */ - 403: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponseBody'] - } - } - /** @description Rate limit exceeded */ - 429: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['ErrorResponseBody'] - } - } - } - } } diff --git a/packages/api-types/types/platform.d.ts b/packages/api-types/types/platform.d.ts index 00e73debf18..1fee9ebe2c4 100644 --- a/packages/api-types/types/platform.d.ts +++ b/packages/api-types/types/platform.d.ts @@ -1013,7 +1013,12 @@ export interface paths { path?: never cookie?: never } - /** [Beta] Get oauth app authorization request */ + /** + * Get oauth app authorization request + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ get: operations['OAuthAuthorizationsController_getAuthorizationRequest'] put?: never post?: never @@ -1858,9 +1863,19 @@ export interface paths { } get?: never put?: never - /** [Beta] Approve oauth app authorization request */ + /** + * Approve oauth app authorization request + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ post: operations['OrganizationOAuthAuthorizationsController_approveAuthorizationRequest'] - /** [Beta] Decline oauth app authorization request */ + /** + * Decline oauth app authorization request + * @description This is an **experimental** endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable. + * + * This endpoint is currently in its **Beta** stage. + */ delete: operations['OrganizationOAuthAuthorizationsController_declineAuthorizationRequest'] options?: never head?: never @@ -4511,6 +4526,34 @@ export interface paths { patch?: never trace?: never } + '/platform/storage/{ref}/buckets/{id}/lifecycle': { + parameters: { + query?: never + header?: never + path?: never + cookie?: never + } + /** + * Gets bucket lifecycle configuration + * @description Standard buckets only. Returns 404 when no lifecycle configuration is stored. + */ + get: operations['StorageBucketLifecycleController_getBucketLifecycle'] + /** + * Replaces bucket lifecycle configuration + * @description Replaces the full policy on a Standard bucket. Only whole-bucket noncurrent version expiration is supported. Use DELETE to remove the policy. + */ + put: operations['StorageBucketLifecycleController_updateBucketLifecycle'] + post?: never + /** + * Deletes bucket lifecycle configuration + * @description Standard buckets only. Succeeds even when no lifecycle configuration is stored. + */ + delete: operations['StorageBucketLifecycleController_deleteBucketLifecycle'] + options?: never + head?: never + patch?: never + trace?: never + } '/platform/storage/{ref}/buckets/{id}/objects': { parameters: { query?: never @@ -5100,7 +5143,7 @@ export interface paths { put?: never /** * Set up Warehouse - * @description Ensure the project Warehouse pipeline exists, add the requested schemas and tables to its publication, and start syncing. Schema targets include the currently eligible tables in that schema. Warehouse FDW installation is opt-in. + * @description Replace the Warehouse publication with the complete requested selection and start syncing. Schema targets include the currently eligible tables in that schema. An empty targets array stops and deletes the Warehouse pipeline and publication, disables external catalog access, and uninstalls the Warehouse FDW and its dependent foreign tables. Warehouse FDW installation is opt-in and ignored for an empty selection. */ post: operations['WarehouseController_setup'] delete?: never @@ -5247,7 +5290,7 @@ export interface components { resources: string[] | null restrictive: boolean | null } - AccessToken: { + AccessToken_Output: { created_at: string expires_at: string | null id: number @@ -5358,7 +5401,7 @@ export interface components { 'connected?': boolean reason: string } - BackupsResponse: { + BackupsResponse_Output: { backups: { id: number inserted_at: string @@ -5399,6 +5442,18 @@ export interface components { value: string } } + BucketLifecycleResponse_Output: { + rules: { + filter: Record + id?: string + /** @description Present for rules that expire noncurrent versions. Newer Storage versions may return other actions. */ + noncurrent_version_expiration?: { + newer_noncurrent_versions?: number + noncurrent_days: number + } + status: string + }[] + } Buffer: Record BulkDeleteUserContentResponse_Output: { id: string @@ -5406,7 +5461,7 @@ export interface components { ChangeMFAEnforcementStateRequest: { enforced: boolean } - CloneBackupsResponse: { + CloneBackupsResponse_Output: { backups: { id: number inserted_at: string @@ -5431,7 +5486,7 @@ export interface components { newProjectName: string recoveryTimeTarget?: number } - CloudMarketplaceContractLinkingEligibilityResponse: { + CloudMarketplaceContractLinkingEligibilityResponse_Output: { eligibility: { aws_agreement_id?: string is_eligible: boolean @@ -5445,7 +5500,7 @@ export interface components { )[] } } - CloudMarketplaceOnboardingInfoResponse: { + CloudMarketplaceOnboardingInfoResponse_Output: { aws_contract_auto_renewal: boolean aws_contract_end_date: string aws_contract_is_private_offer: boolean @@ -5567,7 +5622,7 @@ export interface components { /** @enum {string} */ scope?: 'V0' } - CreateAccessTokenResponse: { + CreateAccessTokenResponse_Output: { created_at: string expires_at: string | null id: number @@ -6171,7 +6226,7 @@ export interface components { supabase_changes_only?: boolean workdir?: string } - CreateGitHubConnectionResponse: { + CreateGitHubConnectionResponse_Output: { branch_limit: number id: number inserted_at: string @@ -6346,13 +6401,6 @@ export interface components { /** Format: uuid */ oauth_app_id: string } - CreateOAuthAppResponse: { - client_id: string - client_secret: string - client_secret_expires_at: number - id: string - redirect_uris: string[] - } CreateOAuthAppResponse_Output: { client_id: string client_secret: string @@ -6727,6 +6775,10 @@ export interface components { [key: string]: string } } + /** @description Allows a CORDONED kubernetes_cluster_id for an explicit operator-directed deployment. PENDING and REMOVED clusters remain ineligible. Has no effect without kubernetes_cluster_id also set. */ + kubernetes_cluster_force?: boolean + /** @description Override the Kubernetes cluster this project is created on, bypassing load-balancing, for this creation only. Only for internal use; rejected for user-facing requests in production. */ + kubernetes_cluster_id?: string warehouse_fdw?: { /** @description AWS ACM Private CA ARN used by the worker to issue per-project warehouse FDW client certificates. Defaults to the worker environment configuration when omitted. */ client_certificate_authority_arn?: string @@ -7562,7 +7614,7 @@ export interface components { )[] project_refs?: string[] } - CreateScopedAccessTokenResponse: { + CreateScopedAccessTokenResponse_Output: { created_at: string expires_at: string | null id: string @@ -7628,7 +7680,7 @@ export interface components { parent_id?: string | null project_id: number } - CreateUserResponse: { + CreateUserResponse_Output: { aud?: string banned_until?: string confirmation_sent_at?: string @@ -7671,7 +7723,7 @@ export interface components { role?: string updated_at?: string } - CreateVercelConnectionResponse: { + CreateVercelConnectionResponse_Output: { env_sync_error?: { message: string } @@ -7880,7 +7932,7 @@ export interface components { } )[] } - DeleteVercelConnectionResponse: { + DeleteVercelConnectionResponse_Output: { id: string } DestinationResponse_Output: { @@ -8555,7 +8607,7 @@ export interface components { } timestamp: string } - DownloadableBackupsResponse: { + DownloadableBackupsResponse_Output: { backups: { id: number inserted_at: string @@ -8570,7 +8622,7 @@ export interface components { DownloadBackupBody: { id: number } - DownloadBackupResponse: { + DownloadBackupResponse_Output: { fileUrl: string } DynamicRegisterOAuthAppBody: { @@ -8602,7 +8654,7 @@ export interface components { private: number shared: number } - GetGitHubConnectionConfigResponse: { + GetGitHubConnectionConfigResponse_Output: { /** @description JSON representation of the parsed `supabase/config.toml`. Its shape is owned by the Supabase CLI and is passed through as-is. */ config: { [key: string]: unknown @@ -8622,7 +8674,7 @@ export interface components { status: 0 | 1 | 2 } | null } - GetOAuthAuthorizationResponse: { + GetOAuthAuthorizationResponse_Output: { approved_at?: string approved_organization_slug?: string domain: string @@ -8888,7 +8940,7 @@ export interface components { lql?: string sql?: string } - GetProjectVercelConnectionsResponse: { + GetProjectVercelConnectionsResponse_Output: { integrations: { added_by: { primary_email: string @@ -8968,7 +9020,7 @@ export interface components { } path: string } - GetScopedAccessTokenResponse: { + GetScopedAccessTokenResponse_Output: { created_at: string expires_at: string | null id: string @@ -8981,7 +9033,7 @@ export interface components { scope: 'user' | 'organization' | 'project' token_alias: string } - GetScopedAccessTokensResponse: { + GetScopedAccessTokensResponse_Output: { tokens: { created_at: string expires_at: string | null @@ -9209,7 +9261,7 @@ export interface components { | { [key: string]: components['schemas']['GetUserOrganizationIntegrationResponseJsonValue'] } - GetVercelProjectsResponse: { + GetVercelProjectsResponse_Output: { pagination: { count: number next: number | null @@ -9233,12 +9285,12 @@ export interface components { name: string }[] } - GitHubAuthorizationResponse: { + GitHubAuthorizationResponse_Output: { id: number sender_id: number user_id: number } - GitHubBranchResponse: { + GitHubBranchResponse_Output: { name: string } GoTrueConfigResponse: { @@ -9754,7 +9806,7 @@ export interface components { type: 'boolean' | 'numeric' | 'set' }[] } - ListGitHubConnectionsResponse: { + ListGitHubConnectionsResponse_Output: { connections: { branch_limit: number id: number @@ -9780,7 +9832,7 @@ export interface components { workdir: string }[] } - ListGitHubRepositoriesResponse: { + ListGitHubRepositoriesResponse_Output: { /** @description The authorized user may not have access to all GitHub repositories in case they haven't gone through the authorization process with SSO yet. This field will be `true` if this is the case. The calling user must reauthorize their GitHub account with SSO to see all repositories. */ partial_response_due_to_sso: boolean repositories: { @@ -9917,7 +9969,7 @@ export interface components { subscription_id: string | null }[] } - ListRepositoryBranchesResponse: { + ListRepositoryBranchesResponse_Output: { branches: { name: string }[] @@ -9998,25 +10050,18 @@ export interface components { 'sort-orders': unknown[] 'table-uuid'?: string } - NotificationResponse: { - data: components['schemas']['NotificationResponseJsonValue'] + NotificationResponse_Output: { + data: components['schemas']['JsonValue_Output'] id: string inserted_at: string - meta: components['schemas']['NotificationResponseJsonValue'] + meta: components['schemas']['JsonValue_Output'] name: string /** @enum {string} */ priority: 'Critical' | 'Warning' | 'Info' /** @enum {string} */ status: 'new' | 'seen' | 'archived' } - /** @description Any JSON-serializable value */ - NotificationResponseJsonValue: - | ((string | number | boolean) | null) - | components['schemas']['NotificationResponseJsonValue'][] - | { - [key: string]: components['schemas']['NotificationResponseJsonValue'] - } - NotificationsSummary: { + NotificationsSummary_Output: { has_critical: boolean has_warning: boolean unread_count: number @@ -10486,7 +10531,7 @@ export interface components { organization_id: number overdue_invoice_count: number } - PartnerIntegrationListResponse: { + PartnerIntegrationListResponse_Output: { integrations: { listing_slug: string partner_links?: { @@ -10501,14 +10546,14 @@ export interface components { version?: string }[] } - PartnerIntegrationsResponse: { + PartnerIntegrationsResponse_Output: { /** * Format: uri * @description URL to redirect the user's browser to */ redirectUrl: string } - PartnerIntegrationStatusResponse: { + PartnerIntegrationStatusResponse_Output: { install_state?: { partner_links?: { dashboard?: string @@ -10561,17 +10606,17 @@ export interface components { db_name: string db_port: number db_user: string - default_pool_size?: number + default_pool_size?: number | null ignore_startup_parameters?: string inserted_at: string - max_client_conn?: number + max_client_conn?: number | null pgbouncer_enabled: boolean /** @enum {string} */ pool_mode: 'transaction' | 'session' | 'statement' - query_wait_timeout?: number - reserve_pool_size?: number - server_idle_timeout?: number - server_lifetime?: number + query_wait_timeout?: number | null + reserve_pool_size?: number | null + server_idle_timeout?: number | null + server_lifetime?: number | null ssl_enforced: boolean } PgbouncerStatusResponse_Output: { @@ -11090,7 +11135,7 @@ export interface components { name: string } } - PlanFeaturesResponse: { + PlanFeaturesResponse_Output: { [key: string]: { [key: string]: { config: @@ -11561,21 +11606,21 @@ export interface components { total: number } | null } - PrivateLinkResponse: { + PrivateLinkResponse_Output: { appliedSuccessfully: boolean currentConfig: { enabled: boolean } } - ProfileResponse: { + ProfileResponse_Output: { auth0_id: string - disabled_features: string[] + disabled_features?: string[] first_name: string | null free_project_limit: number | null gotrue_id: string id: number is_alpha_user: boolean - is_sso_user: boolean + is_sso_user?: boolean last_name: string | null mobile: string | null primary_email: string @@ -11687,13 +11732,13 @@ export interface components { } }[] } - ProjectClonedResponse: { + ProjectClonedResponse_Output: { source_project_ref: string target_disk_size_gb: number target_instance_size: string target_project_ref: string } - ProjectClonedStatusResponse: { + ProjectClonedStatusResponse_Output: { cloned_from?: { project_id: number source_project: { @@ -12393,7 +12438,7 @@ export interface components { urlToAirTable?: string verified?: boolean } - SendFeedbackResponse: { + SendFeedbackResponse_Output: { conversationId?: string result: string } @@ -12412,10 +12457,6 @@ export interface components { SetupIntentRequest: { hcaptchaToken?: string } - SetupIntentResponse: { - client_secret: string - pending_subscription_flow_enabled_for_creation: boolean - } SetupIntentResponse_Output: { client_secret: string pending_subscription_flow_enabled_for_creation: boolean @@ -12617,7 +12658,7 @@ export interface components { indexName: string metadataConfiguration?: { nonFilterableMetadataKeys?: string[] - } + } | null vectorBucketName: string }[] nextToken?: string @@ -12669,7 +12710,7 @@ export interface components { severity?: string subject: string } - SyncConversationMessagesResponse: { + SyncConversationMessagesResponse_Output: { conversationId?: string /** @enum {string} */ result: 'success' @@ -12701,7 +12742,7 @@ export interface components { value: string } | null } - TelemetryCallFeatureFlagsResponse: { + TelemetryCallFeatureFlagsResponse_Output: { [key: string]: unknown } TelemetryEventBodyV2: { @@ -13042,6 +13083,20 @@ export interface components { | 'otlp' | 'syslog' } + UpdateBucketLifecycleBody: { + rules: { + /** @description Must be {} to apply to the whole bucket. Empty strings and prefix selectors are not accepted. */ + filter: Record + /** @description Omit to let Storage generate a rule ID. Supplied IDs must be nonempty. */ + id?: string + noncurrent_version_expiration: { + newer_noncurrent_versions?: number + noncurrent_days: number + } + /** @enum {string} */ + status: 'Enabled' | 'Disabled' + }[] + } UpdateContentFolderBody: { name: string } @@ -13053,11 +13108,11 @@ export interface components { org_id: number project_ref?: string } - UpdateConversationCustomFieldsResponse: { + UpdateConversationCustomFieldsResponse_Output: { /** @enum {string} */ result: 'success' } - UpdateConversationLifecycleResponse: { + UpdateConversationLifecycleResponse_Output: { /** @enum {string} */ aiSupportStatus: 'bot_active' | 'escalated' | 'user_resolved' | 'bot_resolved' conversationId: string @@ -14855,7 +14910,7 @@ export interface components { UpdateUserBody: { ban_duration?: string } - UpdateUserResponse: { + UpdateUserResponse_Output: { aud?: string banned_until?: string confirmation_sent_at?: string @@ -14993,7 +15048,7 @@ export interface components { /** @enum {string} */ visibility: 'user' | 'project' | 'org' | 'public' } - UserAuditLogsResponse: { + UserAuditLogsResponse_Output: { result: { action: { metadata?: { @@ -15816,24 +15871,24 @@ export interface components { content: string subject: string } - ValidateSpamResponse: { + ValidateSpamResponse_Output: { rules: { desc: string name: string score: number }[] } - VercelRedirectResponse: { + VercelRedirectResponse_Output: { url: string } VerifyEmailBody: { token: string } - VerifyEmailResponse: { + VerifyEmailResponse_Output: { /** @enum {string} */ result: 'success' } - WarehouseCatalogResponse: { + WarehouseCatalogResponse_Output: { /** @description External catalog credentials. Present only when enabled. */ credentials?: { /** @@ -15871,11 +15926,11 @@ export interface components { } WarehouseSetupBody: { /** - * @description Whether to configure and install the Warehouse FDW in the project database. Defaults to false. + * @description Whether to configure and install the Warehouse FDW in the project database. Defaults to false. Ignored when targets is empty. * @example false */ install_fdw?: boolean - /** @description Schemas and individual tables to copy. Schema targets expand to the eligible tables present when the request is processed. */ + /** @description Complete selection of schemas and individual tables to copy, replacing the previous selection. Schema targets expand to the eligible tables present when the request is processed. An empty array disables Warehouse replication and external catalog access and uninstalls the Warehouse FDW. */ targets: ( | { /** @@ -15902,12 +15957,12 @@ export interface components { } )[] } - WarehouseSetupResponse: { + WarehouseSetupResponse_Output: { /** - * @description Warehouse replication pipeline id + * @description Warehouse replication pipeline id, or null when Warehouse is disabled * @example 101 */ - pipeline_id: number + pipeline_id: number | null /** @description Tables with Warehouse copies */ tables: { /** @@ -15949,7 +16004,7 @@ export interface components { warehouse_size_bytes?: number }[] } - WarehouseSetupStatusResponse: { + WarehouseSetupStatusResponse_Output: { /** @description Project database FDW setup markers used to derive the Warehouse FDW phase */ fdw_status: { /** @@ -16055,7 +16110,7 @@ export interface components { warehouse_size_bytes?: number }[] } - WarehouseTableSnapshotsResponse: { + WarehouseTableSnapshotsResponse_Output: { /** @description Available Warehouse snapshots for the project catalog. */ snapshots: { /** @@ -16086,7 +16141,7 @@ export interface components { snapshot_time: string | null }[] } - WarehouseTablesResponse: { + WarehouseTablesResponse_Output: { /** @description Tables with Warehouse copies */ tables: { /** @@ -16644,7 +16699,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['CreateUserResponse'] + 'application/json': components['schemas']['CreateUserResponse_Output'] } } /** @description Unauthorized */ @@ -16755,7 +16810,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['UpdateUserResponse'] + 'application/json': components['schemas']['UpdateUserResponse_Output'] } } /** @description Unauthorized */ @@ -16855,7 +16910,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['ValidateSpamResponse'] + 'application/json': components['schemas']['ValidateSpamResponse_Output'] } } /** @description Unauthorized */ @@ -16960,7 +17015,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['CloudMarketplaceContractLinkingEligibilityResponse'] + 'application/json': components['schemas']['CloudMarketplaceContractLinkingEligibilityResponse_Output'] } } /** @description Failed to get info about contract linking eligibility */ @@ -16988,7 +17043,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['CloudMarketplaceOnboardingInfoResponse'] + 'application/json': components['schemas']['CloudMarketplaceOnboardingInfoResponse_Output'] } } /** @description Failed to get info for AWS Marketplace onboarding */ @@ -17017,7 +17072,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['BackupsResponse'] + 'application/json': components['schemas']['BackupsResponse_Output'] } } /** @description Unauthorized */ @@ -17071,7 +17126,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['DownloadBackupResponse'] + 'application/json': components['schemas']['DownloadBackupResponse_Output'] } } /** @description Unauthorized */ @@ -17121,7 +17176,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['DownloadableBackupsResponse'] + 'application/json': components['schemas']['DownloadableBackupsResponse_Output'] } } /** @description Unauthorized */ @@ -17375,7 +17430,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['CloneBackupsResponse'] + 'application/json': components['schemas']['CloneBackupsResponse_Output'] } } /** @description Unauthorized */ @@ -17429,7 +17484,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['ProjectClonedResponse'] + 'application/json': components['schemas']['ProjectClonedResponse_Output'] } } /** @description Unauthorized */ @@ -17488,7 +17543,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['ProjectClonedStatusResponse'] + 'application/json': components['schemas']['ProjectClonedStatusResponse_Output'] } } /** @description Unauthorized */ @@ -17589,7 +17644,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['UpdateConversationCustomFieldsResponse'] + 'application/json': components['schemas']['UpdateConversationCustomFieldsResponse_Output'] } } /** @description Failed to update conversation custom fields */ @@ -17619,7 +17674,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['UpdateConversationLifecycleResponse'] + 'application/json': components['schemas']['UpdateConversationLifecycleResponse_Output'] } } /** @description User is not a participant in the conversation */ @@ -17656,7 +17711,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['SyncConversationMessagesResponse'] + 'application/json': components['schemas']['SyncConversationMessagesResponse_Output'] } } /** @description Supplied conversationId does not match the imported messages */ @@ -17693,7 +17748,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['UpdateConversationLifecycleResponse'] + 'application/json': components['schemas']['UpdateConversationLifecycleResponse_Output'] } } /** @description User is not a participant in the conversation */ @@ -17730,7 +17785,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['SendFeedbackResponse'] + 'application/json': components['schemas']['SendFeedbackResponse_Output'] } } /** @description Failed to send exit survey */ @@ -17760,7 +17815,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['SendFeedbackResponse'] + 'application/json': components['schemas']['SendFeedbackResponse_Output'] } } /** @description Failed to send feedback */ @@ -17790,7 +17845,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['SendFeedbackResponse'] + 'application/json': components['schemas']['SendFeedbackResponse_Output'] } } /** @description Failed to send upgrade survey */ @@ -17891,7 +17946,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['GitHubAuthorizationResponse'] + 'application/json': components['schemas']['GitHubAuthorizationResponse_Output'] } } /** @description Failed to get GitHub authorization */ @@ -17979,7 +18034,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['ListGitHubConnectionsResponse'] + 'application/json': components['schemas']['ListGitHubConnectionsResponse_Output'] } } /** @description Failed to list organization GitHub connections */ @@ -18009,7 +18064,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['CreateGitHubConnectionResponse'] + 'application/json': components['schemas']['CreateGitHubConnectionResponse_Output'] } } /** @description Failed to create project connections */ @@ -18096,7 +18151,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['GetGitHubConnectionConfigResponse'] + 'application/json': components['schemas']['GetGitHubConnectionConfigResponse_Output'] } } /** @description Not allowed to read the config of this connection */ @@ -18143,7 +18198,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['ListGitHubRepositoriesResponse'] + 'application/json': components['schemas']['ListGitHubRepositoriesResponse_Output'] } } /** @description Failed to get GitHub repositories for user */ @@ -18171,7 +18226,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['ListRepositoryBranchesResponse'] + 'application/json': components['schemas']['ListRepositoryBranchesResponse_Output'] } } /** @description Failed to list GitHub repository branches */ @@ -18200,7 +18255,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['GitHubBranchResponse'] + 'application/json': components['schemas']['GitHubBranchResponse_Output'] } } /** @description Failed to get GitHub repository branch */ @@ -18229,7 +18284,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['PartnerIntegrationListResponse'] + 'application/json': components['schemas']['PartnerIntegrationListResponse_Output'] } } /** @description Unauthorized */ @@ -18281,7 +18336,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['PartnerIntegrationStatusResponse'] + 'application/json': components['schemas']['PartnerIntegrationStatusResponse_Output'] } } /** @description Unauthorized */ @@ -18333,7 +18388,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['PartnerIntegrationsResponse'] + 'application/json': components['schemas']['PartnerIntegrationsResponse_Output'] } } /** @description Unauthorized */ @@ -18389,7 +18444,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['PrivateLinkResponse'] + 'application/json': components['schemas']['PrivateLinkResponse_Output'] } } /** @description Unauthorized */ @@ -18451,7 +18506,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['PrivateLinkResponse'] + 'application/json': components['schemas']['PrivateLinkResponse_Output'] } } /** @description Unauthorized */ @@ -18539,7 +18594,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['CreateVercelConnectionResponse'] + 'application/json': components['schemas']['CreateVercelConnectionResponse_Output'] } } /** @description Failed to create project connection */ @@ -18567,7 +18622,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['DeleteVercelConnectionResponse'] + 'application/json': components['schemas']['DeleteVercelConnectionResponse_Output'] } } /** @description Failed to delete vercel integration project connection */ @@ -18677,7 +18732,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['GetProjectVercelConnectionsResponse'] + 'application/json': components['schemas']['GetProjectVercelConnectionsResponse_Output'] } } /** @description Failed to get Vercel integrations for the given project */ @@ -18709,7 +18764,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['GetVercelProjectsResponse'] + 'application/json': components['schemas']['GetVercelProjectsResponse_Output'] } } /** @description Failed to get vercel projects with the given organization integration id */ @@ -18764,7 +18819,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['NotificationResponse'][] + 'application/json': components['schemas']['NotificationResponse_Output'][] } } /** @description Failed to retrieve notifications */ @@ -18794,7 +18849,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['NotificationResponse'][] + 'application/json': components['schemas']['NotificationResponse_Output'][] } } /** @description Failed to update notifications */ @@ -18844,7 +18899,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['NotificationsSummary'] + 'application/json': components['schemas']['NotificationsSummary_Output'] } } } @@ -18867,7 +18922,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['CreateOAuthAppResponse'] + 'application/json': components['schemas']['CreateOAuthAppResponse_Output'] } } } @@ -18889,7 +18944,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['GetOAuthAuthorizationResponse'] + 'application/json': components['schemas']['GetOAuthAuthorizationResponse_Output'] } } } @@ -24187,7 +24242,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['PlanFeaturesResponse'] + 'application/json': components['schemas']['PlanFeaturesResponse_Output'] } } } @@ -24206,7 +24261,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['ProfileResponse'] + 'application/json': components['schemas']['ProfileResponse_Output'] } } /** @description Failed to retrieve user's profile */ @@ -24232,7 +24287,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['ProfileResponse'] + 'application/json': components['schemas']['ProfileResponse_Output'] } } /** @description Failed to create user's profile */ @@ -24262,7 +24317,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['ProfileResponse'] + 'application/json': components['schemas']['ProfileResponse_Output'] } } /** @description Failed to update user's profile */ @@ -24288,7 +24343,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['AccessToken'][] + 'application/json': components['schemas']['AccessToken_Output'][] } } /** @description Failed to get user's access tokens */ @@ -24318,7 +24373,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['CreateAccessTokenResponse'] + 'application/json': components['schemas']['CreateAccessTokenResponse_Output'] } } /** @description Failed to create access token */ @@ -24346,7 +24401,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['AccessToken'] + 'application/json': components['schemas']['AccessToken_Output'] } } /** @description Failed to get access token */ @@ -24374,7 +24429,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['AccessToken'] + 'application/json': components['schemas']['AccessToken_Output'] } } /** @description Failed to delete access token */ @@ -24405,7 +24460,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['UserAuditLogsResponse'] + 'application/json': components['schemas']['UserAuditLogsResponse_Output'] } } /** @description Failed to get a user's audit logs */ @@ -24474,7 +24529,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['GetScopedAccessTokensResponse'] + 'application/json': components['schemas']['GetScopedAccessTokensResponse_Output'] } } /** @description Failed to get user's scoped access tokens */ @@ -24504,7 +24559,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['CreateScopedAccessTokenResponse'] + 'application/json': components['schemas']['CreateScopedAccessTokenResponse_Output'] } } /** @description Failed to create scoped access token */ @@ -24532,7 +24587,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['GetScopedAccessTokenResponse'] + 'application/json': components['schemas']['GetScopedAccessTokenResponse_Output'] } } /** @description Failed to get scoped access token */ @@ -32860,6 +32915,171 @@ export interface operations { } } } + StorageBucketLifecycleController_getBucketLifecycle: { + parameters: { + query?: never + header?: never + path: { + /** @description Storage bucket id */ + id: string + /** @description Project ref */ + ref: string + } + cookie?: never + } + requestBody?: never + responses: { + 200: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['BucketLifecycleResponse_Output'] + } + } + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown + } + content?: never + } + /** @description Forbidden action */ + 403: { + headers: { + [name: string]: unknown + } + content?: never + } + /** @description No lifecycle configuration is stored */ + 404: { + headers: { + [name: string]: unknown + } + content?: never + } + /** @description Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown + } + content?: never + } + /** @description Failed to get bucket lifecycle configuration */ + 500: { + headers: { + [name: string]: unknown + } + content?: never + } + } + } + StorageBucketLifecycleController_updateBucketLifecycle: { + parameters: { + query?: never + header?: never + path: { + /** @description Storage bucket id */ + id: string + /** @description Project ref */ + ref: string + } + cookie?: never + } + requestBody: { + content: { + 'application/json': components['schemas']['UpdateBucketLifecycleBody'] + } + } + responses: { + 200: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['BucketLifecycleResponse_Output'] + } + } + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown + } + content?: never + } + /** @description Forbidden action */ + 403: { + headers: { + [name: string]: unknown + } + content?: never + } + /** @description Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown + } + content?: never + } + /** @description Failed to update bucket lifecycle configuration */ + 500: { + headers: { + [name: string]: unknown + } + content?: never + } + } + } + StorageBucketLifecycleController_deleteBucketLifecycle: { + parameters: { + query?: never + header?: never + path: { + /** @description Storage bucket id */ + id: string + /** @description Project ref */ + ref: string + } + cookie?: never + } + requestBody?: never + responses: { + 200: { + headers: { + [name: string]: unknown + } + content?: never + } + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown + } + content?: never + } + /** @description Forbidden action */ + 403: { + headers: { + [name: string]: unknown + } + content?: never + } + /** @description Rate limit exceeded */ + 429: { + headers: { + [name: string]: unknown + } + content?: never + } + /** @description Failed to delete bucket lifecycle configuration */ + 500: { + headers: { + [name: string]: unknown + } + content?: never + } + } + } StorageObjectsController_deleteObjects: { parameters: { query?: never @@ -34019,7 +34239,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['SetupIntentResponse'] + 'application/json': components['schemas']['SetupIntentResponse_Output'] } } /** @description Failed to initiate a payment method setup */ @@ -34050,7 +34270,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['VerifyEmailResponse'] + 'application/json': components['schemas']['VerifyEmailResponse_Output'] } } } @@ -34094,7 +34314,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['TelemetryCallFeatureFlagsResponse'] + 'application/json': components['schemas']['TelemetryCallFeatureFlagsResponse_Output'] } } /** @description Failed to call feature flags */ @@ -34306,7 +34526,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['VercelRedirectResponse'] + 'application/json': components['schemas']['VercelRedirectResponse_Output'] } } /** @description Failed to get Vercel redirect url */ @@ -34336,7 +34556,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['WarehouseCatalogResponse'] + 'application/json': components['schemas']['WarehouseCatalogResponse_Output'] } } /** @description Unauthorized */ @@ -34391,7 +34611,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['WarehouseCatalogResponse'] + 'application/json': components['schemas']['WarehouseCatalogResponse_Output'] } } /** @description Unauthorized */ @@ -34513,7 +34733,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['WarehouseSetupResponse'] + 'application/json': components['schemas']['WarehouseSetupResponse_Output'] } } /** @description A requested table or schema is not eligible for Warehouse replication. */ @@ -34580,7 +34800,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['WarehouseSetupStatusResponse'] + 'application/json': components['schemas']['WarehouseSetupStatusResponse_Output'] } } /** @description Unauthorized */ @@ -34631,7 +34851,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['WarehouseTablesResponse'] + 'application/json': components['schemas']['WarehouseTablesResponse_Output'] } } /** @description Unauthorized */ @@ -34751,7 +34971,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['WarehouseTableSnapshotsResponse'] + 'application/json': components['schemas']['WarehouseTableSnapshotsResponse_Output'] } } /** @description Unauthorized */ diff --git a/packages/common/enabled-features/index.ts b/packages/common/enabled-features/index.ts index 0d9ad529179..529337c386a 100644 --- a/packages/common/enabled-features/index.ts +++ b/packages/common/enabled-features/index.ts @@ -4,9 +4,11 @@ import enabledFeaturesRaw from './enabled-features.json' with { type: 'json' } const enabledFeaturesStaticObj = enabledFeaturesRaw as Omit -type Profile = components['schemas']['ProfileResponse'] +type Profile = components['schemas']['ProfileResponse_Output'] -export type Feature = Profile['disabled_features'][number] | keyof typeof enabledFeaturesStaticObj +export type Feature = + | NonNullable[number] + | keyof typeof enabledFeaturesStaticObj const disabledFeaturesStaticArray = Object.entries(enabledFeaturesStaticObj) .filter(([_, value]) => !value) diff --git a/packages/common/feature-flags.tsx b/packages/common/feature-flags.tsx index 9761584dc64..a84e6b9fc83 100644 --- a/packages/common/feature-flags.tsx +++ b/packages/common/feature-flags.tsx @@ -12,7 +12,8 @@ import { ensurePlatformSuffix } from './helpers' import { useParams } from './hooks' type TrackFeatureFlagVariables = components['schemas']['TelemetryFeatureFlagBody'] -export type CallFeatureFlagsResponse = components['schemas']['TelemetryCallFeatureFlagsResponse'] +export type CallFeatureFlagsResponse = + components['schemas']['TelemetryCallFeatureFlagsResponse_Output'] export async function getFeatureFlags( API_URL: string,