import { Brand } from '../utils.js'; type APIPayloadStatus = "error" | "success"; interface APIPayload { status: APIPayloadStatus; response: TResponse; code?: string; } interface APIPayloadStatusOnly { status: APIPayloadStatus; } interface APIHeaders { Authorization: string; } type APIVersion = `v${TVersion}`; /** * Machine-readable error codes returned in `APIPayload#code`. * * Canonical names follow the standardized convention * `INVALID_X` / `X_FAILED` / `X_NOT_FOUND` / `X_LIMIT_REACHED`. For a * transition period the API still returns the old names alongside the new * ones — the old keys below are kept as deprecated aliases that resolve to * the new canonical values. */ declare const APIErrorCode: { readonly ACCESS_DENIED: "ACCESS_DENIED"; readonly PERMISSION_DENIED: "PERMISSION_DENIED"; readonly INVALID_ACCESS_TOKEN: "INVALID_ACCESS_TOKEN"; readonly UPGRADE_REQUIRED: "UPGRADE_REQUIRED"; /** Short temporary 429 — retry after a few seconds. */ readonly KEEP_CALM: "KEEP_CALM"; readonly RATE_LIMIT: "RATE_LIMIT"; readonly RATE_LIMIT_EXCEEDED: "RATE_LIMIT_EXCEEDED"; /** Plan's daily snapshot quota exhausted (429) — distinct from KEEP_CALM. */ readonly DAILY_SNAPSHOTS_LIMIT_REACHED: "DAILY_SNAPSHOTS_LIMIT_REACHED"; readonly INVALID_ID: "INVALID_ID"; readonly INVALID_CODE: "INVALID_CODE"; readonly INVALID_NAME: "INVALID_NAME"; readonly INVALID_MEMORY: "INVALID_MEMORY"; readonly INVALID_JSON_BODY: "INVALID_JSON_BODY"; readonly INVALID_CONTENT_TYPE: "INVALID_CONTENT_TYPE"; readonly INVALID_TIME_RANGE: "INVALID_TIME_RANGE"; readonly INVALID_SCOPE: "INVALID_SCOPE"; readonly MISSING_PARAMETERS: "MISSING_PARAMETERS"; readonly MISSING_REQUIRED_FIELDS: "MISSING_REQUIRED_FIELDS"; readonly PAYLOAD_TOO_LARGE: "PAYLOAD_TOO_LARGE"; readonly EMPTY_RESPONSE: "EMPTY_RESPONSE"; readonly ACTION_FAILED: "ACTION_FAILED"; readonly INTERNAL_SERVER_ERROR: "INTERNAL_SERVER_ERROR"; readonly APP_NOT_FOUND: "APP_NOT_FOUND"; readonly APPLICATIONS_LIMIT_REACHED: "APPLICATIONS_LIMIT_REACHED"; readonly INSUFFICIENT_MEMORY: "INSUFFICIENT_MEMORY"; readonly CLUSTER_SELECTION_FAILED: "CLUSTER_SELECTION_FAILED"; readonly CLUSTER_MAINTENANCE_TRY_LATER: "CLUSTER_MAINTENANCE_TRY_LATER"; /** `GET /apps/{appId}/metrics` on an application without metrics support. */ readonly METRICS_NOT_SUPPORTED: "METRICS_NOT_SUPPORTED"; readonly UPLOAD_FAILED: "UPLOAD_FAILED"; readonly UPLOAD_ABORTED: "UPLOAD_ABORTED"; readonly STORAGE_UPLOAD_FAILED: "STORAGE_UPLOAD_FAILED"; readonly COMMIT_FAILED: "COMMIT_FAILED"; readonly INVALID_FILE: "INVALID_FILE"; readonly INVALID_DISPLAY_NAME: "INVALID_DISPLAY_NAME"; readonly INVALID_DESCRIPTION: "INVALID_DESCRIPTION"; readonly INVALID_SUBDOMAIN: "INVALID_SUBDOMAIN"; readonly FILE_TOO_LARGE: "FILE_TOO_LARGE"; readonly READ_FAILED: "READ_FAILED"; readonly SAVE_FAILED: "SAVE_FAILED"; readonly RENAME_FAILED: "RENAME_FAILED"; readonly DELETE_FAILED: "DELETE_FAILED"; readonly FILE_NOT_FOUND: "FILE_NOT_FOUND"; readonly INVALID_PATH: "INVALID_PATH"; readonly INVALID_FILENAME: "INVALID_FILENAME"; readonly INVALID_CONTENT: "INVALID_CONTENT"; readonly BLOCKED_PATH: "BLOCKED_PATH"; readonly INVALID_ENV_CONTENT: "INVALID_ENV_CONTENT"; readonly ENV_NAME_TOO_LONG: "ENV_NAME_TOO_LONG"; readonly ENV_CONTENT_TOO_LONG: "ENV_CONTENT_TOO_LONG"; readonly TOO_MANY_ENV_VARS: "TOO_MANY_ENV_VARS"; readonly STATIC_APP_ENV_NOT_SUPPORTED: "STATIC_APP_ENV_NOT_SUPPORTED"; readonly GIT_ALREADY_CONFIGURED: "GIT_ALREADY_CONFIGURED"; readonly GIT_NOT_CONFIGURED: "GIT_NOT_CONFIGURED"; readonly REPOSITORY_BRANCH_ALREADY_CONFIGURED: "REPOSITORY_BRANCH_ALREADY_CONFIGURED"; readonly INVALID_BRANCH_LENGTH: "INVALID_BRANCH_LENGTH"; readonly INVALID_AUTORESTART: "INVALID_AUTORESTART"; readonly INVALID_DOMAIN: "INVALID_DOMAIN"; readonly CANNOT_SET_SUBDOMAIN: "CANNOT_SET_SUBDOMAIN"; readonly NO_CUSTOM_DOMAIN: "NO_CUSTOM_DOMAIN"; readonly DOMAIN_ALREADY_EXISTS: "DOMAIN_ALREADY_EXISTS"; readonly RESERVED_DOMAIN: "RESERVED_DOMAIN"; readonly LOAD_BALANCER_LIMIT_REACHED: "LOAD_BALANCER_LIMIT_REACHED"; readonly DNS_FAILED: "DNS_FAILED"; readonly UNABLE_TO_FETCH_ANALYTICS: "UNABLE_TO_FETCH_ANALYTICS"; readonly UNABLE_TO_FETCH_ERRORS: "UNABLE_TO_FETCH_ERRORS"; readonly UNABLE_TO_FETCH_PERFORMANCE: "UNABLE_TO_FETCH_PERFORMANCE"; readonly REALTIME_MAX_CONNECTIONS: "REALTIME_MAX_CONNECTIONS"; readonly SNAPSHOT_FAILED: "SNAPSHOT_FAILED"; readonly SNAPSHOT_NOT_FOUND: "SNAPSHOT_NOT_FOUND"; readonly SNAPSHOT_PROCESSING: "SNAPSHOT_PROCESSING"; readonly SNAPSHOT_RESTORE_FAILED: "SNAPSHOT_RESTORE_FAILED"; readonly SNAPSHOT_DATABASE_MISMATCH: "SNAPSHOT_DATABASE_MISMATCH"; readonly RESTORE_IN_PROGRESS: "RESTORE_IN_PROGRESS"; readonly INVALID_SNAPSHOT_ID: "INVALID_SNAPSHOT_ID"; readonly INVALID_VERSION_ID: "INVALID_VERSION_ID"; readonly DATABASE_NOT_FOUND: "DATABASE_NOT_FOUND"; readonly DATABASE_NOT_RUNNING: "DATABASE_NOT_RUNNING"; readonly DATABASE_CREATION_FAILED: "DATABASE_CREATION_FAILED"; readonly INVALID_DATABASE_TYPE: "INVALID_DATABASE_TYPE"; readonly INVALID_DATABASE_VERSION: "INVALID_DATABASE_VERSION"; readonly INVALID_RESET_TYPE: "INVALID_RESET_TYPE"; readonly RESET_FAILED: "RESET_FAILED"; readonly NO_UPDATE_DATA: "NO_UPDATE_DATA"; readonly WORKSPACE_NOT_FOUND: "WORKSPACE_NOT_FOUND"; readonly WORKSPACE_CREATION_FAILED: "WORKSPACE_CREATION_FAILED"; readonly WORKSPACE_LIMIT_REACHED: "WORKSPACE_LIMIT_REACHED"; readonly MEMBER_NOT_FOUND: "MEMBER_NOT_FOUND"; readonly MEMBERS_LIMIT_REACHED: "MEMBERS_LIMIT_REACHED"; readonly MEMBER_ALREADY_ADDED: "MEMBER_ALREADY_ADDED"; readonly APP_ALREADY_IN_WORKSPACE: "APP_ALREADY_IN_WORKSPACE"; readonly CANNOT_EDIT_OWNER: "CANNOT_EDIT_OWNER"; readonly CANNOT_INVITE_OWNER: "CANNOT_INVITE_OWNER"; readonly CANNOT_LEAVE_OWNER: "CANNOT_LEAVE_OWNER"; readonly INVALID_GROUP: "INVALID_GROUP"; readonly VALIDATION_FAILED: "VALIDATION_FAILED"; readonly VALIDATION_TIMEOUT: "VALIDATION_TIMEOUT"; /** @deprecated Use {@link APIErrorCode.INVALID_ID}. */ readonly ID_INVALID: "INVALID_ID"; /** @deprecated Use {@link APIErrorCode.INVALID_CODE}. */ readonly CODE_INVALID: "INVALID_CODE"; /** @deprecated Use {@link APIErrorCode.INVALID_NAME}. */ readonly NAME_INVALID: "INVALID_NAME"; /** @deprecated Use {@link APIErrorCode.INVALID_MEMORY}. */ readonly MEMORY_INVALID: "INVALID_MEMORY"; /** @deprecated Use {@link APIErrorCode.INVALID_DATABASE_TYPE}. */ readonly DATABASE_TYPE_INVALID: "INVALID_DATABASE_TYPE"; /** @deprecated Use {@link APIErrorCode.INVALID_DATABASE_VERSION}. */ readonly DATABASE_VERSION_INVALID: "INVALID_DATABASE_VERSION"; /** @deprecated Use {@link APIErrorCode.WORKSPACE_NOT_FOUND}. */ readonly UNKNOWN_WORKSPACE: "WORKSPACE_NOT_FOUND"; /** @deprecated Use {@link APIErrorCode.MEMBER_NOT_FOUND}. */ readonly UNKNOWN_MEMBER: "MEMBER_NOT_FOUND"; /** @deprecated Use {@link APIErrorCode.APPLICATIONS_LIMIT_REACHED}. */ readonly MAX_APPLICATIONS_REACHED: "APPLICATIONS_LIMIT_REACHED"; /** @deprecated Use {@link APIErrorCode.MEMBERS_LIMIT_REACHED}. */ readonly MAX_MEMBERS_REACHED: "MEMBERS_LIMIT_REACHED"; /** @deprecated Use {@link APIErrorCode.WORKSPACE_CREATION_FAILED}. */ readonly FAILED_WORKSPACE_CREATION: "WORKSPACE_CREATION_FAILED"; /** @deprecated Use {@link APIErrorCode.DATABASE_CREATION_FAILED}. */ readonly FAILED_DATABASE_CREATION: "DATABASE_CREATION_FAILED"; /** @deprecated Use {@link APIErrorCode.CLUSTER_SELECTION_FAILED}. */ readonly FAILED_CLUSTER_SELECTION: "CLUSTER_SELECTION_FAILED"; /** @deprecated Use {@link APIErrorCode.INSUFFICIENT_MEMORY}. */ readonly FEW_MEMORY: "INSUFFICIENT_MEMORY"; /** @deprecated Use {@link APIErrorCode.READ_FAILED}. */ readonly FAILED_READ: "READ_FAILED"; /** @deprecated Use {@link APIErrorCode.DELETE_FAILED}. */ readonly FAILED_DELETE: "DELETE_FAILED"; /** @deprecated Use {@link APIErrorCode.DELETE_FAILED}. */ readonly DELETE_ERROR: "DELETE_FAILED"; /** @deprecated Use {@link APIErrorCode.RENAME_FAILED}. */ readonly FAILED_RENAME: "RENAME_FAILED"; /** @deprecated Use {@link APIErrorCode.SAVE_FAILED}. */ readonly FAILED_TO_SAVE: "SAVE_FAILED"; /** @deprecated Use {@link APIErrorCode.RESET_FAILED}. */ readonly FAILED_RESET: "RESET_FAILED"; /** @deprecated Use {@link APIErrorCode.UPLOAD_FAILED}. */ readonly FAILED_UPLOAD: "UPLOAD_FAILED"; /** @deprecated Use {@link APIErrorCode.STORAGE_UPLOAD_FAILED}. */ readonly FAILED_UPLOAD_DATA: "STORAGE_UPLOAD_FAILED"; /** @deprecated Use {@link APIErrorCode.COMMIT_FAILED}. */ readonly COMMIT_ERROR: "COMMIT_FAILED"; /** @deprecated Use {@link APIErrorCode.INTERNAL_SERVER_ERROR}. */ readonly INTERNAL_ERROR: "INTERNAL_SERVER_ERROR"; /** @deprecated Use {@link APIErrorCode.INVALID_DOMAIN}. */ readonly REGEX_VALIDATION: "INVALID_DOMAIN"; /** @deprecated Use {@link APIErrorCode.CANNOT_SET_SUBDOMAIN}. */ readonly CAN_NOT_SET_SUBDOMAIN: "CANNOT_SET_SUBDOMAIN"; /** @deprecated Use {@link APIErrorCode.METRICS_NOT_SUPPORTED}. */ readonly INVALID_APP: "METRICS_NOT_SUPPORTED"; /** @deprecated Use {@link APIErrorCode.UPGRADE_REQUIRED}. */ readonly SUBSCRIPTION_REQUIRED: "UPGRADE_REQUIRED"; }; /** * Union of the canonical error code values. */ type APIErrorCode = (typeof APIErrorCode)[keyof typeof APIErrorCode]; type ISODateString = string; type UserId = string & Brand<"UserId">; declare const UserId: (id: string) => UserId; type ApplicationId = string & Brand<"ApplicationId">; declare const ApplicationId: (id: string) => ApplicationId; type DatabaseId = string & Brand<"DatabaseId">; declare const DatabaseId: (id: string) => DatabaseId; type WorkspaceId = string & Brand<"WorkspaceId">; declare const WorkspaceId: (id: string) => WorkspaceId; /** * Compact runtime stats entry returned by `/apps/status` and `/databases/status`. * The id is parameterized so the same shape can be branded as `ApplicationId`, * `DatabaseId`, or left as a plain `string`. * @see https://docs.squarecloud.app/en/api-reference/endpoint/apps/status-all * @see https://docs.squarecloud.app/en/api-reference/endpoint/databases/status-all */ type RuntimeStatsListItem = { id: TId; } & (Running extends true ? { running: true; cpu: string; ram: string; } : { running: false; cpu?: never; ram?: never; }); export { APIErrorCode, type APIHeaders, type APIPayload, type APIPayloadStatus, type APIPayloadStatusOnly, type APIVersion, ApplicationId, DatabaseId, type ISODateString, type RuntimeStatsListItem, UserId, WorkspaceId };