totalum-sdk 0.1.0-dev.10 → 0.1.0-dev.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { Z as ZodObject, k as ZodNumber, c as ZodOptional, d as ZodString, m as $strip, o as output, t as ZodISODateTime, f as ZodEnum, j as ZodBoolean, h as ZodRecord, g as ZodUnknown, v as ZodNullable, p as ZodURL } from './errors.d-Cu3q_E_r.js';
1
+ import { Z as ZodObject, k as ZodNumber, c as ZodOptional, d as ZodString, m as $strip, o as output, t as ZodISODateTime, f as ZodEnum, j as ZodBoolean, h as ZodRecord, g as ZodUnknown, v as ZodNullable, p as ZodURL } from './errors.d-CbnzfZ4q.js';
2
2
 
3
3
  /** `usage` on every integration result (plan 11 §0.8): what the call cost, credits with 4 decimals. */
4
4
  declare const IntegrationUsage: ZodObject<{
@@ -1,4 +1,4 @@
1
- import { _ as _ZodNumber, x as $ZodNumberInternals } from './errors.d-Cu3q_E_r.js';
1
+ import { _ as _ZodNumber, x as $ZodNumberInternals } from './errors.d-CbnzfZ4q.js';
2
2
 
3
3
  interface ZodCoercedNumber<T = unknown> extends _ZodNumber<$ZodNumberInternals<T>> {
4
4
  }
@@ -2445,6 +2445,7 @@ declare const ErrorCode: ZodEnum<{
2445
2445
  RELEASE_ROLLOUT_ACTIVE: "RELEASE_ROLLOUT_ACTIVE";
2446
2446
  RELEASE_GUARD_PAUSED: "RELEASE_GUARD_PAUSED";
2447
2447
  RELEASE_BUILD_UNAVAILABLE: "RELEASE_BUILD_UNAVAILABLE";
2448
+ RELEASE_BELOW_MIN_SAFE_VERSION: "RELEASE_BELOW_MIN_SAFE_VERSION";
2448
2449
  VISUAL_EDIT_PREVIEW_DEPLOYING: "VISUAL_EDIT_PREVIEW_DEPLOYING";
2449
2450
  VISUAL_EDIT_NOT_PATCHABLE: "VISUAL_EDIT_NOT_PATCHABLE";
2450
2451
  VISUAL_EDIT_BASE_MISMATCH: "VISUAL_EDIT_BASE_MISMATCH";
@@ -2826,6 +2827,7 @@ declare const ErrorBody: ZodObject<{
2826
2827
  RELEASE_ROLLOUT_ACTIVE: "RELEASE_ROLLOUT_ACTIVE";
2827
2828
  RELEASE_GUARD_PAUSED: "RELEASE_GUARD_PAUSED";
2828
2829
  RELEASE_BUILD_UNAVAILABLE: "RELEASE_BUILD_UNAVAILABLE";
2830
+ RELEASE_BELOW_MIN_SAFE_VERSION: "RELEASE_BELOW_MIN_SAFE_VERSION";
2829
2831
  VISUAL_EDIT_PREVIEW_DEPLOYING: "VISUAL_EDIT_PREVIEW_DEPLOYING";
2830
2832
  VISUAL_EDIT_NOT_PATCHABLE: "VISUAL_EDIT_NOT_PATCHABLE";
2831
2833
  VISUAL_EDIT_BASE_MISMATCH: "VISUAL_EDIT_BASE_MISMATCH";
@@ -1,5 +1,5 @@
1
- import { Z as ZodObject, d as ZodString, c as ZodOptional, f as ZodEnum, k as ZodNumber, j as ZodBoolean, m as $strip, o as output, p as ZodURL, e as ZodArray, n as ZodUnion, l as ZodInt, h as ZodRecord, v as ZodNullable, t as ZodISODateTime, w as ZodEmail, q as ZodLiteral, g as ZodUnknown } from './errors.d-Cu3q_E_r.js';
2
- import { Z as ZodCoercedNumber } from './coerce.d-C0KIW76L.js';
1
+ import { Z as ZodObject, d as ZodString, c as ZodOptional, f as ZodEnum, k as ZodNumber, j as ZodBoolean, m as $strip, o as output, p as ZodURL, e as ZodArray, n as ZodUnion, l as ZodInt, h as ZodRecord, v as ZodNullable, t as ZodISODateTime, w as ZodEmail, q as ZodLiteral, g as ZodUnknown } from './errors.d-CbnzfZ4q.js';
2
+ import { Z as ZodCoercedNumber } from './coerce.d-CEK0K3O_.js';
3
3
 
4
4
  /** `202` of every async integration call; `estimatedCredits` = the reserved estimate (settled to the real cost). */
5
5
  declare const JobCreated: ZodObject<{
@@ -1,5 +1,5 @@
1
- import { Z as ZodObject, c as ZodOptional, e as ZodArray, t as ZodISODateTime, u as $catchall, k as ZodNumber, d as ZodString, f as ZodEnum, m as $strip, q as ZodLiteral, j as ZodBoolean, o as output, v as ZodNullable, l as ZodInt } from './errors.d-Cu3q_E_r.js';
2
- import { Z as ZodCoercedNumber } from './coerce.d-C0KIW76L.js';
1
+ import { Z as ZodObject, c as ZodOptional, e as ZodArray, t as ZodISODateTime, u as $catchall, k as ZodNumber, d as ZodString, f as ZodEnum, m as $strip, q as ZodLiteral, j as ZodBoolean, o as output, v as ZodNullable, l as ZodInt } from './errors.d-CbnzfZ4q.js';
2
+ import { Z as ZodCoercedNumber } from './coerce.d-CEK0K3O_.js';
3
3
 
4
4
  declare const SiteMetric: ZodEnum<{
5
5
  bytes: "bytes";
@@ -1,8 +1,9 @@
1
- import { Z as ZodObject, c as ZodOptional, d as ZodString, e as ZodArray, f as ZodEnum, g as ZodUnknown, $ as $loose, h as ZodRecord, j as ZodBoolean, k as ZodNumber, l as ZodInt, m as $strip, o as output, n as ZodUnion, p as ZodURL, q as ZodLiteral, T as TotalumClientOptions } from '../_types/errors.d-Cu3q_E_r.js';
2
- export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-Cu3q_E_r.js';
3
- import { I as IntegrationUsage } from '../_types/billing.d-BbSZh1wY.js';
1
+ import { SpeechAudio } from '../speech/index.js';
2
+ import { Z as ZodObject, c as ZodOptional, d as ZodString, e as ZodArray, f as ZodEnum, g as ZodUnknown, $ as $loose, h as ZodRecord, j as ZodBoolean, k as ZodNumber, l as ZodInt, m as $strip, o as output, n as ZodUnion, p as ZodURL, q as ZodLiteral, T as TotalumClientOptions } from '../_types/errors.d-CbnzfZ4q.js';
3
+ export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-CbnzfZ4q.js';
4
+ import { I as IntegrationUsage } from '../_types/billing.d-yekNDC4X.js';
4
5
  import { SpeakInput, StoredMedia, TranscribeInput } from '../index.js';
5
- import '../_types/coerce.d-C0KIW76L.js';
6
+ import '../_types/coerce.d-CEK0K3O_.js';
6
7
 
7
8
  /** `POST /v1/ai/chat` (integration `ai_text`); `stream:true` answers SSE ending with `AiStreamCreditsChunk`. */
8
9
  declare const AiChatInput: ZodObject<{
@@ -366,11 +367,12 @@ declare function totalumAi(options?: TotalumAiOptions): {
366
367
  };
367
368
  speech: {
368
369
  /** Same as `speech.synthesize`. */
369
- speak: (input: SpeakInput) => Promise<StoredMedia | {
370
- audio: ArrayBuffer;
371
- contentType: string;
372
- credits: number;
373
- }>;
370
+ speak: {
371
+ (input: SpeakInput & {
372
+ store: true;
373
+ }): Promise<StoredMedia>;
374
+ (input: SpeakInput): Promise<StoredMedia | SpeechAudio>;
375
+ };
374
376
  /** Same as `speech.transcribe`. */
375
377
  transcribe: (input: TranscribeInput) => Promise<{
376
378
  text: string;
@@ -1,7 +1,7 @@
1
- import { b as SiteMetric, a as SiteDimension, S as SiteAnalyticsOutput } from '../_types/ops.d-C9375KIG.js';
2
- import { T as TotalumClientOptions } from '../_types/errors.d-Cu3q_E_r.js';
3
- export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-Cu3q_E_r.js';
4
- import '../_types/coerce.d-C0KIW76L.js';
1
+ import { b as SiteMetric, a as SiteDimension, S as SiteAnalyticsOutput } from '../_types/ops.d-wJWD6Zj7.js';
2
+ import { T as TotalumClientOptions } from '../_types/errors.d-CbnzfZ4q.js';
3
+ export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-CbnzfZ4q.js';
4
+ import '../_types/coerce.d-CEK0K3O_.js';
5
5
 
6
6
  interface SiteAnalyticsQuery {
7
7
  /** ISO; default the last 7 days. */
@@ -1,5 +1,5 @@
1
- import { Z as ZodObject, e as ZodArray, j as ZodBoolean, c as ZodOptional, g as ZodUnknown, f as ZodEnum, d as ZodString, m as $strip, l as ZodInt, o as output, $ as $loose, r as ZodType, s as $ZodTypeInternals, h as ZodRecord, p as ZodURL, t as ZodISODateTime, k as ZodNumber, q as ZodLiteral, T as TotalumClientOptions } from '../_types/errors.d-Cu3q_E_r.js';
2
- export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-Cu3q_E_r.js';
1
+ import { Z as ZodObject, e as ZodArray, j as ZodBoolean, c as ZodOptional, g as ZodUnknown, f as ZodEnum, d as ZodString, m as $strip, l as ZodInt, o as output, $ as $loose, r as ZodType, s as $ZodTypeInternals, h as ZodRecord, p as ZodURL, t as ZodISODateTime, k as ZodNumber, q as ZodLiteral, T as TotalumClientOptions } from '../_types/errors.d-CbnzfZ4q.js';
2
+ export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-CbnzfZ4q.js';
3
3
 
4
4
  declare const BrowserCommandName: ZodEnum<{
5
5
  type: "type";
@@ -423,6 +423,7 @@ declare const BrowserCommandResult: ZodObject<{
423
423
  RELEASE_ROLLOUT_ACTIVE: "RELEASE_ROLLOUT_ACTIVE";
424
424
  RELEASE_GUARD_PAUSED: "RELEASE_GUARD_PAUSED";
425
425
  RELEASE_BUILD_UNAVAILABLE: "RELEASE_BUILD_UNAVAILABLE";
426
+ RELEASE_BELOW_MIN_SAFE_VERSION: "RELEASE_BELOW_MIN_SAFE_VERSION";
426
427
  VISUAL_EDIT_PREVIEW_DEPLOYING: "VISUAL_EDIT_PREVIEW_DEPLOYING";
427
428
  VISUAL_EDIT_NOT_PATCHABLE: "VISUAL_EDIT_NOT_PATCHABLE";
428
429
  VISUAL_EDIT_BASE_MISMATCH: "VISUAL_EDIT_BASE_MISMATCH";
@@ -805,6 +806,7 @@ declare const BrowserActionsOutput: ZodObject<{
805
806
  RELEASE_ROLLOUT_ACTIVE: "RELEASE_ROLLOUT_ACTIVE";
806
807
  RELEASE_GUARD_PAUSED: "RELEASE_GUARD_PAUSED";
807
808
  RELEASE_BUILD_UNAVAILABLE: "RELEASE_BUILD_UNAVAILABLE";
809
+ RELEASE_BELOW_MIN_SAFE_VERSION: "RELEASE_BELOW_MIN_SAFE_VERSION";
808
810
  VISUAL_EDIT_PREVIEW_DEPLOYING: "VISUAL_EDIT_PREVIEW_DEPLOYING";
809
811
  VISUAL_EDIT_NOT_PATCHABLE: "VISUAL_EDIT_NOT_PATCHABLE";
810
812
  VISUAL_EDIT_BASE_MISMATCH: "VISUAL_EDIT_BASE_MISMATCH";
@@ -1256,6 +1258,7 @@ declare const BrowserProgramStatus: ZodObject<{
1256
1258
  RELEASE_ROLLOUT_ACTIVE: "RELEASE_ROLLOUT_ACTIVE";
1257
1259
  RELEASE_GUARD_PAUSED: "RELEASE_GUARD_PAUSED";
1258
1260
  RELEASE_BUILD_UNAVAILABLE: "RELEASE_BUILD_UNAVAILABLE";
1261
+ RELEASE_BELOW_MIN_SAFE_VERSION: "RELEASE_BELOW_MIN_SAFE_VERSION";
1259
1262
  VISUAL_EDIT_PREVIEW_DEPLOYING: "VISUAL_EDIT_PREVIEW_DEPLOYING";
1260
1263
  VISUAL_EDIT_NOT_PATCHABLE: "VISUAL_EDIT_NOT_PATCHABLE";
1261
1264
  VISUAL_EDIT_BASE_MISMATCH: "VISUAL_EDIT_BASE_MISMATCH";
@@ -1520,9 +1523,28 @@ type BrowserSession = BrowserCommands & {
1520
1523
  * `totalum.browser` (plan 05 §6.3) over SDK-API `/v1/browser/*` (scope `browser`): Browserbase sessions driven entirely
1521
1524
  * over HTTPS, so every command works from a Worker (A6.29). A command's refusal throws `TotalumError` with its frozen
1522
1525
  * code (`ACTION_TIMEOUT`, `ACTION_FAILED`, …); `actions()` returns every result instead.
1526
+ *
1527
+ * #### Things that still need a CDP connection
1528
+ *
1529
+ * Nothing an app needs. Every capability is a command or a create-time option, so it works in a published app. The
1530
+ * list keeps exactly two entries, neither of which an app needs (A6.30):
1531
+ *
1532
+ * - Attaching a raw CDP domain listener for a continuous event stream — `network.subscribe` is the push channel for the app case.
1533
+ * - Driving the session with a third-party Node library's own protocol client (`connectOverCDP`, `puppeteer.connect`).
1534
+ *
1535
+ * #### Not possible for anyone, over any transport
1536
+ *
1537
+ * - Seeding a saved profile from raw bytes (`CONTEXT_SEED_UNSUPPORTED`) — the vendor's context upload is deprecated; create a profile by running a session with `context: { persist: true }`, and replay cookies and web storage with `cookies.set` and `storage.set` (a service worker or an IndexedDB database cannot be replayed).
1523
1538
  */
1524
1539
  declare function totalumBrowser(options?: TotalumClientOptions): {
1525
- /** Opens a session with the vendor options and the Totalum-synthesised ones. */
1540
+ /**
1541
+ * Opens a session. Totalum-synthesised over CDP (not vendor fields, so the vendor validates none of them):
1542
+ * `locale`, `timezone`, `geolocation`, `userAgent`, `extraHeaders`, `blockResources`, `device`,
1543
+ * `captureDownloads`, `viewport`. Mapped onto vendor fields: `stealth` (`'off' | 'basic' | 'verified'` → the
1544
+ * vendor's `verified` and `os`; `'verified'` needs the vendor's Scale tier, else `STEALTH_TIER_UNAVAILABLE`, and
1545
+ * ignores `viewport`) and `region` (the vendor's four regions; `'eu'`, `'us'` are aliases). Every other option is
1546
+ * a vendor field.
1547
+ */
1526
1548
  session: (opts?: BrowserSessionInput) => Promise<BrowserSession>;
1527
1549
  sessions: {
1528
1550
  /** The project's sessions, filtered by `status` or `metadata`. */
@@ -1553,7 +1575,7 @@ declare function totalumBrowser(options?: TotalumClientOptions): {
1553
1575
  ok: boolean;
1554
1576
  data?: unknown;
1555
1577
  error?: {
1556
- code: "SERVICE_UNAUTHORIZED" | "SERVICE_REPLAY" | "ACTOR_MISMATCH" | "PAYLOAD_TOO_LARGE" | "VALIDATION_ERROR" | "PROJECT_NOT_FOUND" | "OPERATION_IN_PROGRESS" | "AGENT_RUNNING" | "PROJECT_MOVED" | "OBJECT_MIGRATING" | "INDEX_SHARD_UNAVAILABLE" | "RATE_LIMIT_EXCEEDED" | "PROJECT_PAUSED_RUNAWAY" | "PROJECT_PAUSED_BALANCE" | "PROJECT_SUSPENDED" | "PROJECT_HIBERNATED" | "PROJECT_DELETED" | "PROJECT_PAUSED_BY_USER" | "LIFECYCLE_NOT_APPLICABLE" | "PROJECT_NOT_PAUSED" | "PAUSE_DUMP_EXPIRED" | "PAUSE_VERIFICATION_FAILED" | "DEPLOYMENT_IN_PROGRESS" | "REACTIVATE_IMPORT_MISMATCH" | "RESUME_IMPORT_MISMATCH" | "INSUFFICIENT_CREDITS" | "VCAAS_INSUFFICIENT_CREDITS" | "PROJECT_CREDIT_LIMIT_REACHED" | "FREE_PROMPTS_DISABLED" | "PLAN_REQUIRED" | "FEATURE_LIMIT_REACHED" | "FEATURE_DISABLED" | "AGENT_ALREADY_RUNNING" | "IMPORT_IN_PROGRESS" | "TOO_MANY_RUN_REQUESTS" | "PROMPT_SECURITY_VIOLATION" | "NO_PROCESS_RUNNING" | "RUN_NOT_FOUND" | "DEPLOYMENT_RUNNING" | "AUTO_EXECUTION_ALREADY_ACTIVE" | "REBUILD_RUNNING" | "SECRET_ALREADY_EXISTS" | "SECRET_LIMIT_EXCEEDED" | "RESERVED_SECRET_NAME" | "DUMP_NOT_FOUND" | "DUMP_INVALID" | "RESTORE_TARGET_NOT_EMPTY" | "ENGINE_NOT_SUPPORTED" | "ENGINE_V2_DISABLED" | "V2_TEMPORARILY_DISABLED" | "ENGINE_REQUEST_NOT_ELIGIBLE" | "ENGINE_MISMATCH" | "INVALID_ENGINE_VERSION" | "PROJECT_ENGINE_MISMATCH" | "ENGINE_UNAVAILABLE" | "PREVIEW_LABEL_TOO_LONG" | "PROJECT_ALREADY_EXISTS" | "CLOUDFLARE_API_ERROR" | "PROVISIONING_BUSY" | "UNAUTHORIZED" | "LEGACY_KEY_NOT_SUPPORTED" | "SANDBOX_KEY_EXPIRED" | "AUTH_RATE_LIMITED" | "FORBIDDEN_SCOPE" | "KEY_ENV_MISMATCH" | "KEY_LIMIT_EXCEEDED" | "LIVE_DB_READ_ONLY" | "LIVE_WRITE_NEEDS_CONFIRMATION" | "DDL_NOT_ALLOWED" | "MIGRATION_IN_PROGRESS" | "MIGRATION_EDITED" | "SCHEMA_OUT_OF_SYNC" | "LIVE_MIGRATION_FAILED" | "DESTRUCTIVE_MIGRATION_NEEDS_CONFIRMATION" | "DEV_DATABASE_NOT_FOUND" | "DATABASE_ROLE_NOT_FOUND" | "BOOKMARK_NOT_FOUND" | "BACKUP_NOT_FOUND" | "BACKUP_NOT_DELETABLE" | "BACKUP_RATE_LIMITED" | "PRE_RESTORE_BACKUP_FAILED" | "RESTORE_VERIFY_FAILED" | "RUN_NOT_LATEST" | "DEV_DATABASE_EXISTS" | "SQL_ERROR" | "SQL_MULTI_STATEMENT" | "SQL_STATEMENT_TOO_LARGE" | "SQL_TOO_MANY_PARAMS" | "STATEMENT_NOT_ALLOWED" | "VIRTUAL_TABLES_NOT_SUPPORTED" | "USE_STORAGE_FOR_FILES" | "D1_TYPE_ERROR" | "MIGRATION_INVALID" | "SYSTEM_TABLE_READ_ONLY" | "SQL_READ_ONLY" | "RESULT_TOO_LARGE" | "NL_QUERY_UNANSWERABLE" | "QUERY_TIMEOUT" | "DB_OVERLOADED" | "D1_TRANSIENT" | "DB_FULL_NEAR_LIMIT" | "IDEMPOTENCY_KEY_REUSED" | "IDEMPOTENT_REPLAY_UNAVAILABLE" | "TABLE_NOT_FOUND" | "SCHEMA_TOO_LARGE_FOR_COUNTS" | "EXEC_REQUIRES_MIGRATE_MODE" | "MIGRATION_UNKNOWN_IN_DB" | "QUERY_LIMIT_EXCEEDED" | "STORAGE_LIMIT_EXCEEDED" | "METER_UNAVAILABLE" | "COLUMN_NOT_FOUND" | "VALUE_NOT_ALLOWED" | "COLUMN_REQUIRED" | "FILTER_TOO_COMPLEX" | "OFFSET_TOO_LARGE" | "BULK_TOO_LARGE" | "NOT_A_JUNCTION_TABLE" | "AMBIGUOUS_RELATION" | "LIVE_WRITE_CONFIRMATION_REQUIRED" | "RECORD_NOT_FOUND" | "DEV_NAME_GUARD" | "PROD_NAME_GUARD" | "INVALID_RUN_REQUEST" | "RUN_ALREADY_ACTIVE" | "RUN_CONFLICT" | "INVALID_CREDENTIALS" | "ADAPTER_UNAVAILABLE" | "DISK_FULL" | "DEPLOY_FIX_ATTEMPTS_EXHAUSTED" | "TOKEN_REVOKED" | "AM_UPDATE_DOWNLOAD_FAILED" | "AM_UPDATE_BAD_SHA" | "AM_UPDATE_BAD_SIGNATURE" | "AM_UPDATE_INCOMPATIBLE_IMAGE" | "AM_UPDATE_START_FAILED" | "AM_VERSION_UNAVAILABLE" | "AM_UPDATE_FAILED" | "RELEASE_CANARY_NOT_PASSED" | "RELEASE_NOT_FOUND" | "RELEASE_ROLLOUT_ACTIVE" | "RELEASE_GUARD_PAUSED" | "RELEASE_BUILD_UNAVAILABLE" | "VISUAL_EDIT_PREVIEW_DEPLOYING" | "VISUAL_EDIT_NOT_PATCHABLE" | "VISUAL_EDIT_BASE_MISMATCH" | "VISUAL_EDIT_TYPECHECK_FAILED" | "INVALID_VISUAL_EDIT" | "IMAGE_VERSION_NOT_FOUND" | "IMAGE_VERSION_NOT_PROMOTABLE" | "REALTIME_TICKET_INVALID" | "REALTIME_TICKET_EXPIRED" | "REALTIME_PERMISSION_DENIED" | "REALTIME_MESSAGE_TOO_LARGE" | "REALTIME_MESSAGE_RATE_EXCEEDED" | "REALTIME_CONNECTION_LIMIT_REACHED" | "REALTIME_ROOM_LIMIT_REACHED" | "CONFIRMATION_REQUIRED" | "MIGRATION_NOT_REVERSIBLE" | "ALREADY_ON_PROVIDER" | "DATABASE_MIGRATING" | "LOGWATCH_INACTIVE" | "AGENT_LOG_READS_LIMIT" | "LOGS_UPSTREAM_ERROR" | "ANALYTICS_INVALID_QUERY" | "ANALYTICS_UPSTREAM_ERROR" | "ANALYTICS_WINDOW_OUT_OF_RETENTION" | "INVALID_CIDR" | "RATE_LIMIT_ABOVE_PLAN" | "RATE_LIMIT_DISABLE_NOT_ALLOWED" | "OWNER_ONLY" | "SIGNING_NOT_CONFIGURED" | "SIGNING_ALREADY_CONFIGURED" | "SIGNING_INVALID_KEYSTORE" | "SIGNING_INVALID_ASC_KEY" | "KEYSTORE_DOWNLOAD_EXPIRED" | "KEYSTORE_NOT_DOWNLOADABLE" | "MOBILE_BUILD_RUNNING" | "MOBILE_BUILD_NOT_FOUND" | "MOBILE_BUILD_NOT_READY" | "DOWNLOAD_EXPIRED" | "PROCESS_IN_PROGRESS" | "SANDBOX_NOT_RUNNING" | "MOBILE_LAYER_MISSING" | "MOBILE_BUILD_FAILED" | "MOBILE_ARTIFACT_INVALID" | "SIGNING_FINGERPRINT_MISMATCH" | "AM_RESTARTED" | "LIMIT_ABOVE_PLAN_CEILING" | "UNKNOWN_FEATURE" | "INVALID_LIMIT" | "FEATURE_NOT_DISABLABLE" | "USE_PUT_LIMITS" | "LIMIT_NOT_USER_EDITABLE" | "NOT_AVAILABLE_FOR_ENGINE" | "INVALID_AMOUNT" | "REFUND_EXCEEDS_CHARGES" | "IDEMPOTENCY_CONFLICT" | "ORGANIZATION_NOT_FOUND" | "ACCOUNT_NOT_FOUND" | "PROVIDER_UNAVAILABLE" | "URL_NOT_ALLOWED" | "JOB_NOT_FOUND" | "FILE_TOO_LARGE" | "UNSUPPORTED_FILE_TYPE" | "FILE_NOT_FOUND" | "FILE_KEY_FORBIDDEN" | "FILE_UPLOAD_ERROR" | "FILE_DOWNLOAD_ERROR" | "FILE_DELETE_ERROR" | "UPLOAD_NOT_COMPLETED" | "MISSING_URL" | "MISSING_INPUT" | "MISSING_EXTRACTION_CONFIG" | "MISSING_QUERY" | "SCRAPE_FAILED" | "EXTRACT_FAILED" | "SCREENSHOT_FAILED" | "SEARCH_FAILED" | "SCRAPE_BLOCKED" | "SESSION_NOT_FOUND" | "SESSION_EXPIRED" | "SESSION_BUSY" | "SESSION_LIMIT_REACHED" | "SESSION_ENDED_INSUFFICIENT_CREDITS" | "ACTION_TIMEOUT" | "ACTION_FAILED" | "UNKNOWN_COMMAND" | "BATCH_TOO_LARGE" | "SKIPPED" | "UPLOAD_TOO_LARGE" | "DOWNLOAD_TOO_LARGE" | "CAPTURE_LIMIT_REACHED" | "CAPTCHA_UNSOLVED" | "BROWSER_CDP_NODE_ONLY" | "DIALOG_NOT_OPEN" | "STEALTH_TIER_UNAVAILABLE" | "DOMAIN_NOT_ALLOWED" | "CONTEXT_SEED_UNSUPPORTED" | "EXTENSION_TOO_LARGE" | "NL_PROVIDER_UNAVAILABLE" | "PROGRAM_TOO_LARGE" | "PROGRAM_UNBOUNDED" | "UNKNOWN_STEP" | "PROGRAM_IN_FLIGHT" | "PROGRAM_TIMEOUT" | "PROGRAM_NOT_FOUND" | "PROGRAM_STEP_FAILED" | "PROGRAM_LIMIT_REACHED" | "CREATE_PDF_FROM_HTML_ERROR" | "GENERATE_PDF_BY_URL_ERROR" | "PDF_TIMEOUT" | "PDF_TOO_LARGE" | "FILENAME_REQUIRED" | "SCANUM_EYE_ARRAY_NOT_SUPPORTED" | "INVALID_EXTRA_FIELD_TYPE" | "SCANUM_EYE_PDF_NOT_SUPPORTED" | "UNSUPPORTED_SCAN_MODEL" | "SCAN_DOCUMENT_ERROR" | "SCAN_INVOICE_ERROR" | "OCR_IMAGE_PROCESSING_ERROR" | "OCR_PDF_PROCESSING_ERROR" | "SCAN_TOO_MANY_PAGES" | "SCAN_PDF_ENCRYPTED" | "SCAN_XFA_UNSUPPORTED" | "AUDIO_FILE_REQUIRED" | "AUDIO_FILE_TOO_LARGE" | "INVALID_AUDIO_FORMAT" | "AUDIO_TRANSCRIPTION_ERROR" | "TTS_TEXT_TOO_LONG" | "TTS_VOICE_UNKNOWN" | "TOO_MANY_AUDIO_TRANSCRIPTIONS" | "EMAIL_SEND_FAILED" | "TOO_MANY_ATTACHMENTS" | "INVALID_ATTACHMENT_URL" | "ATTACHMENT_TOO_LARGE" | "TOO_MANY_RECIPIENTS" | "EMAIL_RECIPIENT_SUPPRESSED" | "EMAIL_DOMAIN_NOT_VERIFIED" | "EMAIL_LOCAL_PART_TAKEN" | "EMAIL_SENDING_PAUSED" | "EMAIL_DOMAINS_REQUIRE_PAID_PLAN" | "SUPPRESSION_PERMANENT" | "DEV_RECIPIENT_NOT_ALLOWED" | "CRON_LIMIT_REACHED" | "INVALID_SCHEDULE" | "CRON_URL_NOT_ALLOWED" | "CRON_JOB_NOT_FOUND" | "CRON_REQUIRES_PUBLISHED_PROJECT" | "URL_NOT_PROJECT_HOST" | "INDEXNOW_ERROR" | "MCP_VERIFY_FAILED" | "MCP_NAME_RESERVED" | "MCP_LIMIT_REACHED" | "MCP_SERVER_NOT_FOUND" | "PAYMENTS_NOT_ENABLED" | "PAYMENTS_LIVE_ONBOARDING_REQUIRED" | "CARD_DATA_NOT_ACCEPTED" | "STRIPE_ERROR" | "STRIPE_RATE_LIMITED" | "PAYMENTS_WEBHOOK_SIGNATURE_INVALID" | "AI_MODEL_NOT_ALLOWED" | "AI_MODEL_UNKNOWN" | "AI_INVALID_SCHEMA" | "AI_CONTENT_BLOCKED" | "AI_CONTEXT_TOO_LONG" | "AI_PROVIDER_QUOTA" | "AI_PROVIDER_UNAVAILABLE" | "AI_STREAM_ERROR" | "AI_VIDEO_JOB_NOT_FOUND" | "AI_VIDEO_FAILED" | "MISSING_VIDEO_URL" | "MISSING_PROMPT" | "INVALID_VIDEO_URL" | "INVALID_VIDEO_URL_PROTOCOL" | "INVALID_MIME_TYPE_HINT" | "VIDEO_TOO_LARGE" | "VIDEO_URL_UNREACHABLE" | "VIDEO_URL_NOT_A_VIDEO" | "YOUTUBE_VIDEO_UNAVAILABLE" | "NO_PAYMENT_METHOD" | "DOMAIN_CONTACT_REQUIRED" | "DOMAIN_UNAVAILABLE" | "DOMAIN_PREMIUM_NOT_ALLOWED" | "TLD_NOT_ALLOWED" | "DOMAIN_LIMIT_REACHED" | "PRICE_CHANGED" | "PAYMENT_FAILED" | "REGISTRATION_FAILED" | "DOMAIN_NOT_RENEWABLE" | "DOMAIN_ALREADY_ATTACHED" | "DNS_RECORD_MANAGED" | "DNS_RECORD_CONFLICT" | "DNS_RECORD_LIMIT" | "DOMAIN_TRANSFER_LOCKED" | "DOMAIN_NOT_FOUND" | "DOMAIN_IN_USE" | "DOMAIN_ALREADY_ADDED" | "NO_DEPLOYMENT" | "REDIRECT_LIMIT_REACHED" | "REDIRECT_INVALID" | "APEX_NOT_FLATTENABLE" | "SECOND_FACTOR_NOT_CONFIGURED" | "PASSWORD_REQUIRED" | "PASSWORD_INCORRECT" | "TOO_MANY_ATTEMPTS" | "CONFIRMATION_MISMATCH" | "INVALID_TOKEN" | "MISSING_PERMISSIONS" | "REPO_NOT_FOUND" | "REPO_MISSING_BRANCHES" | "UNKNOWN" | "SANDBOX_NOT_READY" | "SYNC_FAILED" | "TOKEN_EXPIRED" | "GITHUB_NOT_CONNECTED" | "FIGMA_TOKEN_MISSING" | "FIGMA_TOKEN_MALFORMED" | "FIGMA_TOKEN_INVALID" | "FIGMA_TOKEN_FORBIDDEN" | "FIGMA_RATE_LIMITED" | "FIGMA_UNREACHABLE" | "INVALID_IMPORT_CODE" | "IMPORT_SOURCE_GONE" | "PROJECT_NOT_IMPORTABLE" | "PROJECT_IMPORT_LIMIT_REACHED" | "PROJECT_EXPORT_LIMIT_REACHED" | "VERSION_NOT_FOUND" | "INVALID_CODE_EDIT" | "CODE_EDIT_FAILED" | "BADGE_IN_SOURCE";
1578
+ code: "SERVICE_UNAUTHORIZED" | "SERVICE_REPLAY" | "ACTOR_MISMATCH" | "PAYLOAD_TOO_LARGE" | "VALIDATION_ERROR" | "PROJECT_NOT_FOUND" | "OPERATION_IN_PROGRESS" | "AGENT_RUNNING" | "PROJECT_MOVED" | "OBJECT_MIGRATING" | "INDEX_SHARD_UNAVAILABLE" | "RATE_LIMIT_EXCEEDED" | "PROJECT_PAUSED_RUNAWAY" | "PROJECT_PAUSED_BALANCE" | "PROJECT_SUSPENDED" | "PROJECT_HIBERNATED" | "PROJECT_DELETED" | "PROJECT_PAUSED_BY_USER" | "LIFECYCLE_NOT_APPLICABLE" | "PROJECT_NOT_PAUSED" | "PAUSE_DUMP_EXPIRED" | "PAUSE_VERIFICATION_FAILED" | "DEPLOYMENT_IN_PROGRESS" | "REACTIVATE_IMPORT_MISMATCH" | "RESUME_IMPORT_MISMATCH" | "INSUFFICIENT_CREDITS" | "VCAAS_INSUFFICIENT_CREDITS" | "PROJECT_CREDIT_LIMIT_REACHED" | "FREE_PROMPTS_DISABLED" | "PLAN_REQUIRED" | "FEATURE_LIMIT_REACHED" | "FEATURE_DISABLED" | "AGENT_ALREADY_RUNNING" | "IMPORT_IN_PROGRESS" | "TOO_MANY_RUN_REQUESTS" | "PROMPT_SECURITY_VIOLATION" | "NO_PROCESS_RUNNING" | "RUN_NOT_FOUND" | "DEPLOYMENT_RUNNING" | "AUTO_EXECUTION_ALREADY_ACTIVE" | "REBUILD_RUNNING" | "SECRET_ALREADY_EXISTS" | "SECRET_LIMIT_EXCEEDED" | "RESERVED_SECRET_NAME" | "DUMP_NOT_FOUND" | "DUMP_INVALID" | "RESTORE_TARGET_NOT_EMPTY" | "ENGINE_NOT_SUPPORTED" | "ENGINE_V2_DISABLED" | "V2_TEMPORARILY_DISABLED" | "ENGINE_REQUEST_NOT_ELIGIBLE" | "ENGINE_MISMATCH" | "INVALID_ENGINE_VERSION" | "PROJECT_ENGINE_MISMATCH" | "ENGINE_UNAVAILABLE" | "PREVIEW_LABEL_TOO_LONG" | "PROJECT_ALREADY_EXISTS" | "CLOUDFLARE_API_ERROR" | "PROVISIONING_BUSY" | "UNAUTHORIZED" | "LEGACY_KEY_NOT_SUPPORTED" | "SANDBOX_KEY_EXPIRED" | "AUTH_RATE_LIMITED" | "FORBIDDEN_SCOPE" | "KEY_ENV_MISMATCH" | "KEY_LIMIT_EXCEEDED" | "LIVE_DB_READ_ONLY" | "LIVE_WRITE_NEEDS_CONFIRMATION" | "DDL_NOT_ALLOWED" | "MIGRATION_IN_PROGRESS" | "MIGRATION_EDITED" | "SCHEMA_OUT_OF_SYNC" | "LIVE_MIGRATION_FAILED" | "DESTRUCTIVE_MIGRATION_NEEDS_CONFIRMATION" | "DEV_DATABASE_NOT_FOUND" | "DATABASE_ROLE_NOT_FOUND" | "BOOKMARK_NOT_FOUND" | "BACKUP_NOT_FOUND" | "BACKUP_NOT_DELETABLE" | "BACKUP_RATE_LIMITED" | "PRE_RESTORE_BACKUP_FAILED" | "RESTORE_VERIFY_FAILED" | "RUN_NOT_LATEST" | "DEV_DATABASE_EXISTS" | "SQL_ERROR" | "SQL_MULTI_STATEMENT" | "SQL_STATEMENT_TOO_LARGE" | "SQL_TOO_MANY_PARAMS" | "STATEMENT_NOT_ALLOWED" | "VIRTUAL_TABLES_NOT_SUPPORTED" | "USE_STORAGE_FOR_FILES" | "D1_TYPE_ERROR" | "MIGRATION_INVALID" | "SYSTEM_TABLE_READ_ONLY" | "SQL_READ_ONLY" | "RESULT_TOO_LARGE" | "NL_QUERY_UNANSWERABLE" | "QUERY_TIMEOUT" | "DB_OVERLOADED" | "D1_TRANSIENT" | "DB_FULL_NEAR_LIMIT" | "IDEMPOTENCY_KEY_REUSED" | "IDEMPOTENT_REPLAY_UNAVAILABLE" | "TABLE_NOT_FOUND" | "SCHEMA_TOO_LARGE_FOR_COUNTS" | "EXEC_REQUIRES_MIGRATE_MODE" | "MIGRATION_UNKNOWN_IN_DB" | "QUERY_LIMIT_EXCEEDED" | "STORAGE_LIMIT_EXCEEDED" | "METER_UNAVAILABLE" | "COLUMN_NOT_FOUND" | "VALUE_NOT_ALLOWED" | "COLUMN_REQUIRED" | "FILTER_TOO_COMPLEX" | "OFFSET_TOO_LARGE" | "BULK_TOO_LARGE" | "NOT_A_JUNCTION_TABLE" | "AMBIGUOUS_RELATION" | "LIVE_WRITE_CONFIRMATION_REQUIRED" | "RECORD_NOT_FOUND" | "DEV_NAME_GUARD" | "PROD_NAME_GUARD" | "INVALID_RUN_REQUEST" | "RUN_ALREADY_ACTIVE" | "RUN_CONFLICT" | "INVALID_CREDENTIALS" | "ADAPTER_UNAVAILABLE" | "DISK_FULL" | "DEPLOY_FIX_ATTEMPTS_EXHAUSTED" | "TOKEN_REVOKED" | "AM_UPDATE_DOWNLOAD_FAILED" | "AM_UPDATE_BAD_SHA" | "AM_UPDATE_BAD_SIGNATURE" | "AM_UPDATE_INCOMPATIBLE_IMAGE" | "AM_UPDATE_START_FAILED" | "AM_VERSION_UNAVAILABLE" | "AM_UPDATE_FAILED" | "RELEASE_CANARY_NOT_PASSED" | "RELEASE_NOT_FOUND" | "RELEASE_ROLLOUT_ACTIVE" | "RELEASE_GUARD_PAUSED" | "RELEASE_BUILD_UNAVAILABLE" | "RELEASE_BELOW_MIN_SAFE_VERSION" | "VISUAL_EDIT_PREVIEW_DEPLOYING" | "VISUAL_EDIT_NOT_PATCHABLE" | "VISUAL_EDIT_BASE_MISMATCH" | "VISUAL_EDIT_TYPECHECK_FAILED" | "INVALID_VISUAL_EDIT" | "IMAGE_VERSION_NOT_FOUND" | "IMAGE_VERSION_NOT_PROMOTABLE" | "REALTIME_TICKET_INVALID" | "REALTIME_TICKET_EXPIRED" | "REALTIME_PERMISSION_DENIED" | "REALTIME_MESSAGE_TOO_LARGE" | "REALTIME_MESSAGE_RATE_EXCEEDED" | "REALTIME_CONNECTION_LIMIT_REACHED" | "REALTIME_ROOM_LIMIT_REACHED" | "CONFIRMATION_REQUIRED" | "MIGRATION_NOT_REVERSIBLE" | "ALREADY_ON_PROVIDER" | "DATABASE_MIGRATING" | "LOGWATCH_INACTIVE" | "AGENT_LOG_READS_LIMIT" | "LOGS_UPSTREAM_ERROR" | "ANALYTICS_INVALID_QUERY" | "ANALYTICS_UPSTREAM_ERROR" | "ANALYTICS_WINDOW_OUT_OF_RETENTION" | "INVALID_CIDR" | "RATE_LIMIT_ABOVE_PLAN" | "RATE_LIMIT_DISABLE_NOT_ALLOWED" | "OWNER_ONLY" | "SIGNING_NOT_CONFIGURED" | "SIGNING_ALREADY_CONFIGURED" | "SIGNING_INVALID_KEYSTORE" | "SIGNING_INVALID_ASC_KEY" | "KEYSTORE_DOWNLOAD_EXPIRED" | "KEYSTORE_NOT_DOWNLOADABLE" | "MOBILE_BUILD_RUNNING" | "MOBILE_BUILD_NOT_FOUND" | "MOBILE_BUILD_NOT_READY" | "DOWNLOAD_EXPIRED" | "PROCESS_IN_PROGRESS" | "SANDBOX_NOT_RUNNING" | "MOBILE_LAYER_MISSING" | "MOBILE_BUILD_FAILED" | "MOBILE_ARTIFACT_INVALID" | "SIGNING_FINGERPRINT_MISMATCH" | "AM_RESTARTED" | "LIMIT_ABOVE_PLAN_CEILING" | "UNKNOWN_FEATURE" | "INVALID_LIMIT" | "FEATURE_NOT_DISABLABLE" | "USE_PUT_LIMITS" | "LIMIT_NOT_USER_EDITABLE" | "NOT_AVAILABLE_FOR_ENGINE" | "INVALID_AMOUNT" | "REFUND_EXCEEDS_CHARGES" | "IDEMPOTENCY_CONFLICT" | "ORGANIZATION_NOT_FOUND" | "ACCOUNT_NOT_FOUND" | "PROVIDER_UNAVAILABLE" | "URL_NOT_ALLOWED" | "JOB_NOT_FOUND" | "FILE_TOO_LARGE" | "UNSUPPORTED_FILE_TYPE" | "FILE_NOT_FOUND" | "FILE_KEY_FORBIDDEN" | "FILE_UPLOAD_ERROR" | "FILE_DOWNLOAD_ERROR" | "FILE_DELETE_ERROR" | "UPLOAD_NOT_COMPLETED" | "MISSING_URL" | "MISSING_INPUT" | "MISSING_EXTRACTION_CONFIG" | "MISSING_QUERY" | "SCRAPE_FAILED" | "EXTRACT_FAILED" | "SCREENSHOT_FAILED" | "SEARCH_FAILED" | "SCRAPE_BLOCKED" | "SESSION_NOT_FOUND" | "SESSION_EXPIRED" | "SESSION_BUSY" | "SESSION_LIMIT_REACHED" | "SESSION_ENDED_INSUFFICIENT_CREDITS" | "ACTION_TIMEOUT" | "ACTION_FAILED" | "UNKNOWN_COMMAND" | "BATCH_TOO_LARGE" | "SKIPPED" | "UPLOAD_TOO_LARGE" | "DOWNLOAD_TOO_LARGE" | "CAPTURE_LIMIT_REACHED" | "CAPTCHA_UNSOLVED" | "BROWSER_CDP_NODE_ONLY" | "DIALOG_NOT_OPEN" | "STEALTH_TIER_UNAVAILABLE" | "DOMAIN_NOT_ALLOWED" | "CONTEXT_SEED_UNSUPPORTED" | "EXTENSION_TOO_LARGE" | "NL_PROVIDER_UNAVAILABLE" | "PROGRAM_TOO_LARGE" | "PROGRAM_UNBOUNDED" | "UNKNOWN_STEP" | "PROGRAM_IN_FLIGHT" | "PROGRAM_TIMEOUT" | "PROGRAM_NOT_FOUND" | "PROGRAM_STEP_FAILED" | "PROGRAM_LIMIT_REACHED" | "CREATE_PDF_FROM_HTML_ERROR" | "GENERATE_PDF_BY_URL_ERROR" | "PDF_TIMEOUT" | "PDF_TOO_LARGE" | "FILENAME_REQUIRED" | "SCANUM_EYE_ARRAY_NOT_SUPPORTED" | "INVALID_EXTRA_FIELD_TYPE" | "SCANUM_EYE_PDF_NOT_SUPPORTED" | "UNSUPPORTED_SCAN_MODEL" | "SCAN_DOCUMENT_ERROR" | "SCAN_INVOICE_ERROR" | "OCR_IMAGE_PROCESSING_ERROR" | "OCR_PDF_PROCESSING_ERROR" | "SCAN_TOO_MANY_PAGES" | "SCAN_PDF_ENCRYPTED" | "SCAN_XFA_UNSUPPORTED" | "AUDIO_FILE_REQUIRED" | "AUDIO_FILE_TOO_LARGE" | "INVALID_AUDIO_FORMAT" | "AUDIO_TRANSCRIPTION_ERROR" | "TTS_TEXT_TOO_LONG" | "TTS_VOICE_UNKNOWN" | "TOO_MANY_AUDIO_TRANSCRIPTIONS" | "EMAIL_SEND_FAILED" | "TOO_MANY_ATTACHMENTS" | "INVALID_ATTACHMENT_URL" | "ATTACHMENT_TOO_LARGE" | "TOO_MANY_RECIPIENTS" | "EMAIL_RECIPIENT_SUPPRESSED" | "EMAIL_DOMAIN_NOT_VERIFIED" | "EMAIL_LOCAL_PART_TAKEN" | "EMAIL_SENDING_PAUSED" | "EMAIL_DOMAINS_REQUIRE_PAID_PLAN" | "SUPPRESSION_PERMANENT" | "DEV_RECIPIENT_NOT_ALLOWED" | "CRON_LIMIT_REACHED" | "INVALID_SCHEDULE" | "CRON_URL_NOT_ALLOWED" | "CRON_JOB_NOT_FOUND" | "CRON_REQUIRES_PUBLISHED_PROJECT" | "URL_NOT_PROJECT_HOST" | "INDEXNOW_ERROR" | "MCP_VERIFY_FAILED" | "MCP_NAME_RESERVED" | "MCP_LIMIT_REACHED" | "MCP_SERVER_NOT_FOUND" | "PAYMENTS_NOT_ENABLED" | "PAYMENTS_LIVE_ONBOARDING_REQUIRED" | "CARD_DATA_NOT_ACCEPTED" | "STRIPE_ERROR" | "STRIPE_RATE_LIMITED" | "PAYMENTS_WEBHOOK_SIGNATURE_INVALID" | "AI_MODEL_NOT_ALLOWED" | "AI_MODEL_UNKNOWN" | "AI_INVALID_SCHEMA" | "AI_CONTENT_BLOCKED" | "AI_CONTEXT_TOO_LONG" | "AI_PROVIDER_QUOTA" | "AI_PROVIDER_UNAVAILABLE" | "AI_STREAM_ERROR" | "AI_VIDEO_JOB_NOT_FOUND" | "AI_VIDEO_FAILED" | "MISSING_VIDEO_URL" | "MISSING_PROMPT" | "INVALID_VIDEO_URL" | "INVALID_VIDEO_URL_PROTOCOL" | "INVALID_MIME_TYPE_HINT" | "VIDEO_TOO_LARGE" | "VIDEO_URL_UNREACHABLE" | "VIDEO_URL_NOT_A_VIDEO" | "YOUTUBE_VIDEO_UNAVAILABLE" | "NO_PAYMENT_METHOD" | "DOMAIN_CONTACT_REQUIRED" | "DOMAIN_UNAVAILABLE" | "DOMAIN_PREMIUM_NOT_ALLOWED" | "TLD_NOT_ALLOWED" | "DOMAIN_LIMIT_REACHED" | "PRICE_CHANGED" | "PAYMENT_FAILED" | "REGISTRATION_FAILED" | "DOMAIN_NOT_RENEWABLE" | "DOMAIN_ALREADY_ATTACHED" | "DNS_RECORD_MANAGED" | "DNS_RECORD_CONFLICT" | "DNS_RECORD_LIMIT" | "DOMAIN_TRANSFER_LOCKED" | "DOMAIN_NOT_FOUND" | "DOMAIN_IN_USE" | "DOMAIN_ALREADY_ADDED" | "NO_DEPLOYMENT" | "REDIRECT_LIMIT_REACHED" | "REDIRECT_INVALID" | "APEX_NOT_FLATTENABLE" | "SECOND_FACTOR_NOT_CONFIGURED" | "PASSWORD_REQUIRED" | "PASSWORD_INCORRECT" | "TOO_MANY_ATTEMPTS" | "CONFIRMATION_MISMATCH" | "INVALID_TOKEN" | "MISSING_PERMISSIONS" | "REPO_NOT_FOUND" | "REPO_MISSING_BRANCHES" | "UNKNOWN" | "SANDBOX_NOT_READY" | "SYNC_FAILED" | "TOKEN_EXPIRED" | "GITHUB_NOT_CONNECTED" | "FIGMA_TOKEN_MISSING" | "FIGMA_TOKEN_MALFORMED" | "FIGMA_TOKEN_INVALID" | "FIGMA_TOKEN_FORBIDDEN" | "FIGMA_RATE_LIMITED" | "FIGMA_UNREACHABLE" | "INVALID_IMPORT_CODE" | "IMPORT_SOURCE_GONE" | "PROJECT_NOT_IMPORTABLE" | "PROJECT_IMPORT_LIMIT_REACHED" | "PROJECT_EXPORT_LIMIT_REACHED" | "VERSION_NOT_FOUND" | "INVALID_CODE_EDIT" | "CODE_EDIT_FAILED" | "BADGE_IN_SOURCE";
1557
1579
  message?: string | undefined;
1558
1580
  } | undefined;
1559
1581
  }[];
@@ -1577,7 +1599,7 @@ declare function totalumBrowser(options?: TotalumClientOptions): {
1577
1599
  ok: boolean;
1578
1600
  data?: unknown;
1579
1601
  error?: {
1580
- code: "SERVICE_UNAUTHORIZED" | "SERVICE_REPLAY" | "ACTOR_MISMATCH" | "PAYLOAD_TOO_LARGE" | "VALIDATION_ERROR" | "PROJECT_NOT_FOUND" | "OPERATION_IN_PROGRESS" | "AGENT_RUNNING" | "PROJECT_MOVED" | "OBJECT_MIGRATING" | "INDEX_SHARD_UNAVAILABLE" | "RATE_LIMIT_EXCEEDED" | "PROJECT_PAUSED_RUNAWAY" | "PROJECT_PAUSED_BALANCE" | "PROJECT_SUSPENDED" | "PROJECT_HIBERNATED" | "PROJECT_DELETED" | "PROJECT_PAUSED_BY_USER" | "LIFECYCLE_NOT_APPLICABLE" | "PROJECT_NOT_PAUSED" | "PAUSE_DUMP_EXPIRED" | "PAUSE_VERIFICATION_FAILED" | "DEPLOYMENT_IN_PROGRESS" | "REACTIVATE_IMPORT_MISMATCH" | "RESUME_IMPORT_MISMATCH" | "INSUFFICIENT_CREDITS" | "VCAAS_INSUFFICIENT_CREDITS" | "PROJECT_CREDIT_LIMIT_REACHED" | "FREE_PROMPTS_DISABLED" | "PLAN_REQUIRED" | "FEATURE_LIMIT_REACHED" | "FEATURE_DISABLED" | "AGENT_ALREADY_RUNNING" | "IMPORT_IN_PROGRESS" | "TOO_MANY_RUN_REQUESTS" | "PROMPT_SECURITY_VIOLATION" | "NO_PROCESS_RUNNING" | "RUN_NOT_FOUND" | "DEPLOYMENT_RUNNING" | "AUTO_EXECUTION_ALREADY_ACTIVE" | "REBUILD_RUNNING" | "SECRET_ALREADY_EXISTS" | "SECRET_LIMIT_EXCEEDED" | "RESERVED_SECRET_NAME" | "DUMP_NOT_FOUND" | "DUMP_INVALID" | "RESTORE_TARGET_NOT_EMPTY" | "ENGINE_NOT_SUPPORTED" | "ENGINE_V2_DISABLED" | "V2_TEMPORARILY_DISABLED" | "ENGINE_REQUEST_NOT_ELIGIBLE" | "ENGINE_MISMATCH" | "INVALID_ENGINE_VERSION" | "PROJECT_ENGINE_MISMATCH" | "ENGINE_UNAVAILABLE" | "PREVIEW_LABEL_TOO_LONG" | "PROJECT_ALREADY_EXISTS" | "CLOUDFLARE_API_ERROR" | "PROVISIONING_BUSY" | "UNAUTHORIZED" | "LEGACY_KEY_NOT_SUPPORTED" | "SANDBOX_KEY_EXPIRED" | "AUTH_RATE_LIMITED" | "FORBIDDEN_SCOPE" | "KEY_ENV_MISMATCH" | "KEY_LIMIT_EXCEEDED" | "LIVE_DB_READ_ONLY" | "LIVE_WRITE_NEEDS_CONFIRMATION" | "DDL_NOT_ALLOWED" | "MIGRATION_IN_PROGRESS" | "MIGRATION_EDITED" | "SCHEMA_OUT_OF_SYNC" | "LIVE_MIGRATION_FAILED" | "DESTRUCTIVE_MIGRATION_NEEDS_CONFIRMATION" | "DEV_DATABASE_NOT_FOUND" | "DATABASE_ROLE_NOT_FOUND" | "BOOKMARK_NOT_FOUND" | "BACKUP_NOT_FOUND" | "BACKUP_NOT_DELETABLE" | "BACKUP_RATE_LIMITED" | "PRE_RESTORE_BACKUP_FAILED" | "RESTORE_VERIFY_FAILED" | "RUN_NOT_LATEST" | "DEV_DATABASE_EXISTS" | "SQL_ERROR" | "SQL_MULTI_STATEMENT" | "SQL_STATEMENT_TOO_LARGE" | "SQL_TOO_MANY_PARAMS" | "STATEMENT_NOT_ALLOWED" | "VIRTUAL_TABLES_NOT_SUPPORTED" | "USE_STORAGE_FOR_FILES" | "D1_TYPE_ERROR" | "MIGRATION_INVALID" | "SYSTEM_TABLE_READ_ONLY" | "SQL_READ_ONLY" | "RESULT_TOO_LARGE" | "NL_QUERY_UNANSWERABLE" | "QUERY_TIMEOUT" | "DB_OVERLOADED" | "D1_TRANSIENT" | "DB_FULL_NEAR_LIMIT" | "IDEMPOTENCY_KEY_REUSED" | "IDEMPOTENT_REPLAY_UNAVAILABLE" | "TABLE_NOT_FOUND" | "SCHEMA_TOO_LARGE_FOR_COUNTS" | "EXEC_REQUIRES_MIGRATE_MODE" | "MIGRATION_UNKNOWN_IN_DB" | "QUERY_LIMIT_EXCEEDED" | "STORAGE_LIMIT_EXCEEDED" | "METER_UNAVAILABLE" | "COLUMN_NOT_FOUND" | "VALUE_NOT_ALLOWED" | "COLUMN_REQUIRED" | "FILTER_TOO_COMPLEX" | "OFFSET_TOO_LARGE" | "BULK_TOO_LARGE" | "NOT_A_JUNCTION_TABLE" | "AMBIGUOUS_RELATION" | "LIVE_WRITE_CONFIRMATION_REQUIRED" | "RECORD_NOT_FOUND" | "DEV_NAME_GUARD" | "PROD_NAME_GUARD" | "INVALID_RUN_REQUEST" | "RUN_ALREADY_ACTIVE" | "RUN_CONFLICT" | "INVALID_CREDENTIALS" | "ADAPTER_UNAVAILABLE" | "DISK_FULL" | "DEPLOY_FIX_ATTEMPTS_EXHAUSTED" | "TOKEN_REVOKED" | "AM_UPDATE_DOWNLOAD_FAILED" | "AM_UPDATE_BAD_SHA" | "AM_UPDATE_BAD_SIGNATURE" | "AM_UPDATE_INCOMPATIBLE_IMAGE" | "AM_UPDATE_START_FAILED" | "AM_VERSION_UNAVAILABLE" | "AM_UPDATE_FAILED" | "RELEASE_CANARY_NOT_PASSED" | "RELEASE_NOT_FOUND" | "RELEASE_ROLLOUT_ACTIVE" | "RELEASE_GUARD_PAUSED" | "RELEASE_BUILD_UNAVAILABLE" | "VISUAL_EDIT_PREVIEW_DEPLOYING" | "VISUAL_EDIT_NOT_PATCHABLE" | "VISUAL_EDIT_BASE_MISMATCH" | "VISUAL_EDIT_TYPECHECK_FAILED" | "INVALID_VISUAL_EDIT" | "IMAGE_VERSION_NOT_FOUND" | "IMAGE_VERSION_NOT_PROMOTABLE" | "REALTIME_TICKET_INVALID" | "REALTIME_TICKET_EXPIRED" | "REALTIME_PERMISSION_DENIED" | "REALTIME_MESSAGE_TOO_LARGE" | "REALTIME_MESSAGE_RATE_EXCEEDED" | "REALTIME_CONNECTION_LIMIT_REACHED" | "REALTIME_ROOM_LIMIT_REACHED" | "CONFIRMATION_REQUIRED" | "MIGRATION_NOT_REVERSIBLE" | "ALREADY_ON_PROVIDER" | "DATABASE_MIGRATING" | "LOGWATCH_INACTIVE" | "AGENT_LOG_READS_LIMIT" | "LOGS_UPSTREAM_ERROR" | "ANALYTICS_INVALID_QUERY" | "ANALYTICS_UPSTREAM_ERROR" | "ANALYTICS_WINDOW_OUT_OF_RETENTION" | "INVALID_CIDR" | "RATE_LIMIT_ABOVE_PLAN" | "RATE_LIMIT_DISABLE_NOT_ALLOWED" | "OWNER_ONLY" | "SIGNING_NOT_CONFIGURED" | "SIGNING_ALREADY_CONFIGURED" | "SIGNING_INVALID_KEYSTORE" | "SIGNING_INVALID_ASC_KEY" | "KEYSTORE_DOWNLOAD_EXPIRED" | "KEYSTORE_NOT_DOWNLOADABLE" | "MOBILE_BUILD_RUNNING" | "MOBILE_BUILD_NOT_FOUND" | "MOBILE_BUILD_NOT_READY" | "DOWNLOAD_EXPIRED" | "PROCESS_IN_PROGRESS" | "SANDBOX_NOT_RUNNING" | "MOBILE_LAYER_MISSING" | "MOBILE_BUILD_FAILED" | "MOBILE_ARTIFACT_INVALID" | "SIGNING_FINGERPRINT_MISMATCH" | "AM_RESTARTED" | "LIMIT_ABOVE_PLAN_CEILING" | "UNKNOWN_FEATURE" | "INVALID_LIMIT" | "FEATURE_NOT_DISABLABLE" | "USE_PUT_LIMITS" | "LIMIT_NOT_USER_EDITABLE" | "NOT_AVAILABLE_FOR_ENGINE" | "INVALID_AMOUNT" | "REFUND_EXCEEDS_CHARGES" | "IDEMPOTENCY_CONFLICT" | "ORGANIZATION_NOT_FOUND" | "ACCOUNT_NOT_FOUND" | "PROVIDER_UNAVAILABLE" | "URL_NOT_ALLOWED" | "JOB_NOT_FOUND" | "FILE_TOO_LARGE" | "UNSUPPORTED_FILE_TYPE" | "FILE_NOT_FOUND" | "FILE_KEY_FORBIDDEN" | "FILE_UPLOAD_ERROR" | "FILE_DOWNLOAD_ERROR" | "FILE_DELETE_ERROR" | "UPLOAD_NOT_COMPLETED" | "MISSING_URL" | "MISSING_INPUT" | "MISSING_EXTRACTION_CONFIG" | "MISSING_QUERY" | "SCRAPE_FAILED" | "EXTRACT_FAILED" | "SCREENSHOT_FAILED" | "SEARCH_FAILED" | "SCRAPE_BLOCKED" | "SESSION_NOT_FOUND" | "SESSION_EXPIRED" | "SESSION_BUSY" | "SESSION_LIMIT_REACHED" | "SESSION_ENDED_INSUFFICIENT_CREDITS" | "ACTION_TIMEOUT" | "ACTION_FAILED" | "UNKNOWN_COMMAND" | "BATCH_TOO_LARGE" | "SKIPPED" | "UPLOAD_TOO_LARGE" | "DOWNLOAD_TOO_LARGE" | "CAPTURE_LIMIT_REACHED" | "CAPTCHA_UNSOLVED" | "BROWSER_CDP_NODE_ONLY" | "DIALOG_NOT_OPEN" | "STEALTH_TIER_UNAVAILABLE" | "DOMAIN_NOT_ALLOWED" | "CONTEXT_SEED_UNSUPPORTED" | "EXTENSION_TOO_LARGE" | "NL_PROVIDER_UNAVAILABLE" | "PROGRAM_TOO_LARGE" | "PROGRAM_UNBOUNDED" | "UNKNOWN_STEP" | "PROGRAM_IN_FLIGHT" | "PROGRAM_TIMEOUT" | "PROGRAM_NOT_FOUND" | "PROGRAM_STEP_FAILED" | "PROGRAM_LIMIT_REACHED" | "CREATE_PDF_FROM_HTML_ERROR" | "GENERATE_PDF_BY_URL_ERROR" | "PDF_TIMEOUT" | "PDF_TOO_LARGE" | "FILENAME_REQUIRED" | "SCANUM_EYE_ARRAY_NOT_SUPPORTED" | "INVALID_EXTRA_FIELD_TYPE" | "SCANUM_EYE_PDF_NOT_SUPPORTED" | "UNSUPPORTED_SCAN_MODEL" | "SCAN_DOCUMENT_ERROR" | "SCAN_INVOICE_ERROR" | "OCR_IMAGE_PROCESSING_ERROR" | "OCR_PDF_PROCESSING_ERROR" | "SCAN_TOO_MANY_PAGES" | "SCAN_PDF_ENCRYPTED" | "SCAN_XFA_UNSUPPORTED" | "AUDIO_FILE_REQUIRED" | "AUDIO_FILE_TOO_LARGE" | "INVALID_AUDIO_FORMAT" | "AUDIO_TRANSCRIPTION_ERROR" | "TTS_TEXT_TOO_LONG" | "TTS_VOICE_UNKNOWN" | "TOO_MANY_AUDIO_TRANSCRIPTIONS" | "EMAIL_SEND_FAILED" | "TOO_MANY_ATTACHMENTS" | "INVALID_ATTACHMENT_URL" | "ATTACHMENT_TOO_LARGE" | "TOO_MANY_RECIPIENTS" | "EMAIL_RECIPIENT_SUPPRESSED" | "EMAIL_DOMAIN_NOT_VERIFIED" | "EMAIL_LOCAL_PART_TAKEN" | "EMAIL_SENDING_PAUSED" | "EMAIL_DOMAINS_REQUIRE_PAID_PLAN" | "SUPPRESSION_PERMANENT" | "DEV_RECIPIENT_NOT_ALLOWED" | "CRON_LIMIT_REACHED" | "INVALID_SCHEDULE" | "CRON_URL_NOT_ALLOWED" | "CRON_JOB_NOT_FOUND" | "CRON_REQUIRES_PUBLISHED_PROJECT" | "URL_NOT_PROJECT_HOST" | "INDEXNOW_ERROR" | "MCP_VERIFY_FAILED" | "MCP_NAME_RESERVED" | "MCP_LIMIT_REACHED" | "MCP_SERVER_NOT_FOUND" | "PAYMENTS_NOT_ENABLED" | "PAYMENTS_LIVE_ONBOARDING_REQUIRED" | "CARD_DATA_NOT_ACCEPTED" | "STRIPE_ERROR" | "STRIPE_RATE_LIMITED" | "PAYMENTS_WEBHOOK_SIGNATURE_INVALID" | "AI_MODEL_NOT_ALLOWED" | "AI_MODEL_UNKNOWN" | "AI_INVALID_SCHEMA" | "AI_CONTENT_BLOCKED" | "AI_CONTEXT_TOO_LONG" | "AI_PROVIDER_QUOTA" | "AI_PROVIDER_UNAVAILABLE" | "AI_STREAM_ERROR" | "AI_VIDEO_JOB_NOT_FOUND" | "AI_VIDEO_FAILED" | "MISSING_VIDEO_URL" | "MISSING_PROMPT" | "INVALID_VIDEO_URL" | "INVALID_VIDEO_URL_PROTOCOL" | "INVALID_MIME_TYPE_HINT" | "VIDEO_TOO_LARGE" | "VIDEO_URL_UNREACHABLE" | "VIDEO_URL_NOT_A_VIDEO" | "YOUTUBE_VIDEO_UNAVAILABLE" | "NO_PAYMENT_METHOD" | "DOMAIN_CONTACT_REQUIRED" | "DOMAIN_UNAVAILABLE" | "DOMAIN_PREMIUM_NOT_ALLOWED" | "TLD_NOT_ALLOWED" | "DOMAIN_LIMIT_REACHED" | "PRICE_CHANGED" | "PAYMENT_FAILED" | "REGISTRATION_FAILED" | "DOMAIN_NOT_RENEWABLE" | "DOMAIN_ALREADY_ATTACHED" | "DNS_RECORD_MANAGED" | "DNS_RECORD_CONFLICT" | "DNS_RECORD_LIMIT" | "DOMAIN_TRANSFER_LOCKED" | "DOMAIN_NOT_FOUND" | "DOMAIN_IN_USE" | "DOMAIN_ALREADY_ADDED" | "NO_DEPLOYMENT" | "REDIRECT_LIMIT_REACHED" | "REDIRECT_INVALID" | "APEX_NOT_FLATTENABLE" | "SECOND_FACTOR_NOT_CONFIGURED" | "PASSWORD_REQUIRED" | "PASSWORD_INCORRECT" | "TOO_MANY_ATTEMPTS" | "CONFIRMATION_MISMATCH" | "INVALID_TOKEN" | "MISSING_PERMISSIONS" | "REPO_NOT_FOUND" | "REPO_MISSING_BRANCHES" | "UNKNOWN" | "SANDBOX_NOT_READY" | "SYNC_FAILED" | "TOKEN_EXPIRED" | "GITHUB_NOT_CONNECTED" | "FIGMA_TOKEN_MISSING" | "FIGMA_TOKEN_MALFORMED" | "FIGMA_TOKEN_INVALID" | "FIGMA_TOKEN_FORBIDDEN" | "FIGMA_RATE_LIMITED" | "FIGMA_UNREACHABLE" | "INVALID_IMPORT_CODE" | "IMPORT_SOURCE_GONE" | "PROJECT_NOT_IMPORTABLE" | "PROJECT_IMPORT_LIMIT_REACHED" | "PROJECT_EXPORT_LIMIT_REACHED" | "VERSION_NOT_FOUND" | "INVALID_CODE_EDIT" | "CODE_EDIT_FAILED" | "BADGE_IN_SOURCE";
1602
+ code: "SERVICE_UNAUTHORIZED" | "SERVICE_REPLAY" | "ACTOR_MISMATCH" | "PAYLOAD_TOO_LARGE" | "VALIDATION_ERROR" | "PROJECT_NOT_FOUND" | "OPERATION_IN_PROGRESS" | "AGENT_RUNNING" | "PROJECT_MOVED" | "OBJECT_MIGRATING" | "INDEX_SHARD_UNAVAILABLE" | "RATE_LIMIT_EXCEEDED" | "PROJECT_PAUSED_RUNAWAY" | "PROJECT_PAUSED_BALANCE" | "PROJECT_SUSPENDED" | "PROJECT_HIBERNATED" | "PROJECT_DELETED" | "PROJECT_PAUSED_BY_USER" | "LIFECYCLE_NOT_APPLICABLE" | "PROJECT_NOT_PAUSED" | "PAUSE_DUMP_EXPIRED" | "PAUSE_VERIFICATION_FAILED" | "DEPLOYMENT_IN_PROGRESS" | "REACTIVATE_IMPORT_MISMATCH" | "RESUME_IMPORT_MISMATCH" | "INSUFFICIENT_CREDITS" | "VCAAS_INSUFFICIENT_CREDITS" | "PROJECT_CREDIT_LIMIT_REACHED" | "FREE_PROMPTS_DISABLED" | "PLAN_REQUIRED" | "FEATURE_LIMIT_REACHED" | "FEATURE_DISABLED" | "AGENT_ALREADY_RUNNING" | "IMPORT_IN_PROGRESS" | "TOO_MANY_RUN_REQUESTS" | "PROMPT_SECURITY_VIOLATION" | "NO_PROCESS_RUNNING" | "RUN_NOT_FOUND" | "DEPLOYMENT_RUNNING" | "AUTO_EXECUTION_ALREADY_ACTIVE" | "REBUILD_RUNNING" | "SECRET_ALREADY_EXISTS" | "SECRET_LIMIT_EXCEEDED" | "RESERVED_SECRET_NAME" | "DUMP_NOT_FOUND" | "DUMP_INVALID" | "RESTORE_TARGET_NOT_EMPTY" | "ENGINE_NOT_SUPPORTED" | "ENGINE_V2_DISABLED" | "V2_TEMPORARILY_DISABLED" | "ENGINE_REQUEST_NOT_ELIGIBLE" | "ENGINE_MISMATCH" | "INVALID_ENGINE_VERSION" | "PROJECT_ENGINE_MISMATCH" | "ENGINE_UNAVAILABLE" | "PREVIEW_LABEL_TOO_LONG" | "PROJECT_ALREADY_EXISTS" | "CLOUDFLARE_API_ERROR" | "PROVISIONING_BUSY" | "UNAUTHORIZED" | "LEGACY_KEY_NOT_SUPPORTED" | "SANDBOX_KEY_EXPIRED" | "AUTH_RATE_LIMITED" | "FORBIDDEN_SCOPE" | "KEY_ENV_MISMATCH" | "KEY_LIMIT_EXCEEDED" | "LIVE_DB_READ_ONLY" | "LIVE_WRITE_NEEDS_CONFIRMATION" | "DDL_NOT_ALLOWED" | "MIGRATION_IN_PROGRESS" | "MIGRATION_EDITED" | "SCHEMA_OUT_OF_SYNC" | "LIVE_MIGRATION_FAILED" | "DESTRUCTIVE_MIGRATION_NEEDS_CONFIRMATION" | "DEV_DATABASE_NOT_FOUND" | "DATABASE_ROLE_NOT_FOUND" | "BOOKMARK_NOT_FOUND" | "BACKUP_NOT_FOUND" | "BACKUP_NOT_DELETABLE" | "BACKUP_RATE_LIMITED" | "PRE_RESTORE_BACKUP_FAILED" | "RESTORE_VERIFY_FAILED" | "RUN_NOT_LATEST" | "DEV_DATABASE_EXISTS" | "SQL_ERROR" | "SQL_MULTI_STATEMENT" | "SQL_STATEMENT_TOO_LARGE" | "SQL_TOO_MANY_PARAMS" | "STATEMENT_NOT_ALLOWED" | "VIRTUAL_TABLES_NOT_SUPPORTED" | "USE_STORAGE_FOR_FILES" | "D1_TYPE_ERROR" | "MIGRATION_INVALID" | "SYSTEM_TABLE_READ_ONLY" | "SQL_READ_ONLY" | "RESULT_TOO_LARGE" | "NL_QUERY_UNANSWERABLE" | "QUERY_TIMEOUT" | "DB_OVERLOADED" | "D1_TRANSIENT" | "DB_FULL_NEAR_LIMIT" | "IDEMPOTENCY_KEY_REUSED" | "IDEMPOTENT_REPLAY_UNAVAILABLE" | "TABLE_NOT_FOUND" | "SCHEMA_TOO_LARGE_FOR_COUNTS" | "EXEC_REQUIRES_MIGRATE_MODE" | "MIGRATION_UNKNOWN_IN_DB" | "QUERY_LIMIT_EXCEEDED" | "STORAGE_LIMIT_EXCEEDED" | "METER_UNAVAILABLE" | "COLUMN_NOT_FOUND" | "VALUE_NOT_ALLOWED" | "COLUMN_REQUIRED" | "FILTER_TOO_COMPLEX" | "OFFSET_TOO_LARGE" | "BULK_TOO_LARGE" | "NOT_A_JUNCTION_TABLE" | "AMBIGUOUS_RELATION" | "LIVE_WRITE_CONFIRMATION_REQUIRED" | "RECORD_NOT_FOUND" | "DEV_NAME_GUARD" | "PROD_NAME_GUARD" | "INVALID_RUN_REQUEST" | "RUN_ALREADY_ACTIVE" | "RUN_CONFLICT" | "INVALID_CREDENTIALS" | "ADAPTER_UNAVAILABLE" | "DISK_FULL" | "DEPLOY_FIX_ATTEMPTS_EXHAUSTED" | "TOKEN_REVOKED" | "AM_UPDATE_DOWNLOAD_FAILED" | "AM_UPDATE_BAD_SHA" | "AM_UPDATE_BAD_SIGNATURE" | "AM_UPDATE_INCOMPATIBLE_IMAGE" | "AM_UPDATE_START_FAILED" | "AM_VERSION_UNAVAILABLE" | "AM_UPDATE_FAILED" | "RELEASE_CANARY_NOT_PASSED" | "RELEASE_NOT_FOUND" | "RELEASE_ROLLOUT_ACTIVE" | "RELEASE_GUARD_PAUSED" | "RELEASE_BUILD_UNAVAILABLE" | "RELEASE_BELOW_MIN_SAFE_VERSION" | "VISUAL_EDIT_PREVIEW_DEPLOYING" | "VISUAL_EDIT_NOT_PATCHABLE" | "VISUAL_EDIT_BASE_MISMATCH" | "VISUAL_EDIT_TYPECHECK_FAILED" | "INVALID_VISUAL_EDIT" | "IMAGE_VERSION_NOT_FOUND" | "IMAGE_VERSION_NOT_PROMOTABLE" | "REALTIME_TICKET_INVALID" | "REALTIME_TICKET_EXPIRED" | "REALTIME_PERMISSION_DENIED" | "REALTIME_MESSAGE_TOO_LARGE" | "REALTIME_MESSAGE_RATE_EXCEEDED" | "REALTIME_CONNECTION_LIMIT_REACHED" | "REALTIME_ROOM_LIMIT_REACHED" | "CONFIRMATION_REQUIRED" | "MIGRATION_NOT_REVERSIBLE" | "ALREADY_ON_PROVIDER" | "DATABASE_MIGRATING" | "LOGWATCH_INACTIVE" | "AGENT_LOG_READS_LIMIT" | "LOGS_UPSTREAM_ERROR" | "ANALYTICS_INVALID_QUERY" | "ANALYTICS_UPSTREAM_ERROR" | "ANALYTICS_WINDOW_OUT_OF_RETENTION" | "INVALID_CIDR" | "RATE_LIMIT_ABOVE_PLAN" | "RATE_LIMIT_DISABLE_NOT_ALLOWED" | "OWNER_ONLY" | "SIGNING_NOT_CONFIGURED" | "SIGNING_ALREADY_CONFIGURED" | "SIGNING_INVALID_KEYSTORE" | "SIGNING_INVALID_ASC_KEY" | "KEYSTORE_DOWNLOAD_EXPIRED" | "KEYSTORE_NOT_DOWNLOADABLE" | "MOBILE_BUILD_RUNNING" | "MOBILE_BUILD_NOT_FOUND" | "MOBILE_BUILD_NOT_READY" | "DOWNLOAD_EXPIRED" | "PROCESS_IN_PROGRESS" | "SANDBOX_NOT_RUNNING" | "MOBILE_LAYER_MISSING" | "MOBILE_BUILD_FAILED" | "MOBILE_ARTIFACT_INVALID" | "SIGNING_FINGERPRINT_MISMATCH" | "AM_RESTARTED" | "LIMIT_ABOVE_PLAN_CEILING" | "UNKNOWN_FEATURE" | "INVALID_LIMIT" | "FEATURE_NOT_DISABLABLE" | "USE_PUT_LIMITS" | "LIMIT_NOT_USER_EDITABLE" | "NOT_AVAILABLE_FOR_ENGINE" | "INVALID_AMOUNT" | "REFUND_EXCEEDS_CHARGES" | "IDEMPOTENCY_CONFLICT" | "ORGANIZATION_NOT_FOUND" | "ACCOUNT_NOT_FOUND" | "PROVIDER_UNAVAILABLE" | "URL_NOT_ALLOWED" | "JOB_NOT_FOUND" | "FILE_TOO_LARGE" | "UNSUPPORTED_FILE_TYPE" | "FILE_NOT_FOUND" | "FILE_KEY_FORBIDDEN" | "FILE_UPLOAD_ERROR" | "FILE_DOWNLOAD_ERROR" | "FILE_DELETE_ERROR" | "UPLOAD_NOT_COMPLETED" | "MISSING_URL" | "MISSING_INPUT" | "MISSING_EXTRACTION_CONFIG" | "MISSING_QUERY" | "SCRAPE_FAILED" | "EXTRACT_FAILED" | "SCREENSHOT_FAILED" | "SEARCH_FAILED" | "SCRAPE_BLOCKED" | "SESSION_NOT_FOUND" | "SESSION_EXPIRED" | "SESSION_BUSY" | "SESSION_LIMIT_REACHED" | "SESSION_ENDED_INSUFFICIENT_CREDITS" | "ACTION_TIMEOUT" | "ACTION_FAILED" | "UNKNOWN_COMMAND" | "BATCH_TOO_LARGE" | "SKIPPED" | "UPLOAD_TOO_LARGE" | "DOWNLOAD_TOO_LARGE" | "CAPTURE_LIMIT_REACHED" | "CAPTCHA_UNSOLVED" | "BROWSER_CDP_NODE_ONLY" | "DIALOG_NOT_OPEN" | "STEALTH_TIER_UNAVAILABLE" | "DOMAIN_NOT_ALLOWED" | "CONTEXT_SEED_UNSUPPORTED" | "EXTENSION_TOO_LARGE" | "NL_PROVIDER_UNAVAILABLE" | "PROGRAM_TOO_LARGE" | "PROGRAM_UNBOUNDED" | "UNKNOWN_STEP" | "PROGRAM_IN_FLIGHT" | "PROGRAM_TIMEOUT" | "PROGRAM_NOT_FOUND" | "PROGRAM_STEP_FAILED" | "PROGRAM_LIMIT_REACHED" | "CREATE_PDF_FROM_HTML_ERROR" | "GENERATE_PDF_BY_URL_ERROR" | "PDF_TIMEOUT" | "PDF_TOO_LARGE" | "FILENAME_REQUIRED" | "SCANUM_EYE_ARRAY_NOT_SUPPORTED" | "INVALID_EXTRA_FIELD_TYPE" | "SCANUM_EYE_PDF_NOT_SUPPORTED" | "UNSUPPORTED_SCAN_MODEL" | "SCAN_DOCUMENT_ERROR" | "SCAN_INVOICE_ERROR" | "OCR_IMAGE_PROCESSING_ERROR" | "OCR_PDF_PROCESSING_ERROR" | "SCAN_TOO_MANY_PAGES" | "SCAN_PDF_ENCRYPTED" | "SCAN_XFA_UNSUPPORTED" | "AUDIO_FILE_REQUIRED" | "AUDIO_FILE_TOO_LARGE" | "INVALID_AUDIO_FORMAT" | "AUDIO_TRANSCRIPTION_ERROR" | "TTS_TEXT_TOO_LONG" | "TTS_VOICE_UNKNOWN" | "TOO_MANY_AUDIO_TRANSCRIPTIONS" | "EMAIL_SEND_FAILED" | "TOO_MANY_ATTACHMENTS" | "INVALID_ATTACHMENT_URL" | "ATTACHMENT_TOO_LARGE" | "TOO_MANY_RECIPIENTS" | "EMAIL_RECIPIENT_SUPPRESSED" | "EMAIL_DOMAIN_NOT_VERIFIED" | "EMAIL_LOCAL_PART_TAKEN" | "EMAIL_SENDING_PAUSED" | "EMAIL_DOMAINS_REQUIRE_PAID_PLAN" | "SUPPRESSION_PERMANENT" | "DEV_RECIPIENT_NOT_ALLOWED" | "CRON_LIMIT_REACHED" | "INVALID_SCHEDULE" | "CRON_URL_NOT_ALLOWED" | "CRON_JOB_NOT_FOUND" | "CRON_REQUIRES_PUBLISHED_PROJECT" | "URL_NOT_PROJECT_HOST" | "INDEXNOW_ERROR" | "MCP_VERIFY_FAILED" | "MCP_NAME_RESERVED" | "MCP_LIMIT_REACHED" | "MCP_SERVER_NOT_FOUND" | "PAYMENTS_NOT_ENABLED" | "PAYMENTS_LIVE_ONBOARDING_REQUIRED" | "CARD_DATA_NOT_ACCEPTED" | "STRIPE_ERROR" | "STRIPE_RATE_LIMITED" | "PAYMENTS_WEBHOOK_SIGNATURE_INVALID" | "AI_MODEL_NOT_ALLOWED" | "AI_MODEL_UNKNOWN" | "AI_INVALID_SCHEMA" | "AI_CONTENT_BLOCKED" | "AI_CONTEXT_TOO_LONG" | "AI_PROVIDER_QUOTA" | "AI_PROVIDER_UNAVAILABLE" | "AI_STREAM_ERROR" | "AI_VIDEO_JOB_NOT_FOUND" | "AI_VIDEO_FAILED" | "MISSING_VIDEO_URL" | "MISSING_PROMPT" | "INVALID_VIDEO_URL" | "INVALID_VIDEO_URL_PROTOCOL" | "INVALID_MIME_TYPE_HINT" | "VIDEO_TOO_LARGE" | "VIDEO_URL_UNREACHABLE" | "VIDEO_URL_NOT_A_VIDEO" | "YOUTUBE_VIDEO_UNAVAILABLE" | "NO_PAYMENT_METHOD" | "DOMAIN_CONTACT_REQUIRED" | "DOMAIN_UNAVAILABLE" | "DOMAIN_PREMIUM_NOT_ALLOWED" | "TLD_NOT_ALLOWED" | "DOMAIN_LIMIT_REACHED" | "PRICE_CHANGED" | "PAYMENT_FAILED" | "REGISTRATION_FAILED" | "DOMAIN_NOT_RENEWABLE" | "DOMAIN_ALREADY_ATTACHED" | "DNS_RECORD_MANAGED" | "DNS_RECORD_CONFLICT" | "DNS_RECORD_LIMIT" | "DOMAIN_TRANSFER_LOCKED" | "DOMAIN_NOT_FOUND" | "DOMAIN_IN_USE" | "DOMAIN_ALREADY_ADDED" | "NO_DEPLOYMENT" | "REDIRECT_LIMIT_REACHED" | "REDIRECT_INVALID" | "APEX_NOT_FLATTENABLE" | "SECOND_FACTOR_NOT_CONFIGURED" | "PASSWORD_REQUIRED" | "PASSWORD_INCORRECT" | "TOO_MANY_ATTEMPTS" | "CONFIRMATION_MISMATCH" | "INVALID_TOKEN" | "MISSING_PERMISSIONS" | "REPO_NOT_FOUND" | "REPO_MISSING_BRANCHES" | "UNKNOWN" | "SANDBOX_NOT_READY" | "SYNC_FAILED" | "TOKEN_EXPIRED" | "GITHUB_NOT_CONNECTED" | "FIGMA_TOKEN_MISSING" | "FIGMA_TOKEN_MALFORMED" | "FIGMA_TOKEN_INVALID" | "FIGMA_TOKEN_FORBIDDEN" | "FIGMA_RATE_LIMITED" | "FIGMA_UNREACHABLE" | "INVALID_IMPORT_CODE" | "IMPORT_SOURCE_GONE" | "PROJECT_NOT_IMPORTABLE" | "PROJECT_IMPORT_LIMIT_REACHED" | "PROJECT_EXPORT_LIMIT_REACHED" | "VERSION_NOT_FOUND" | "INVALID_CODE_EDIT" | "CODE_EDIT_FAILED" | "BADGE_IN_SOURCE";
1581
1603
  message?: string | undefined;
1582
1604
  } | undefined;
1583
1605
  }[];
@@ -101,6 +101,18 @@ const POSITIONAL = {
101
101
  * `totalum.browser` (plan 05 §6.3) over SDK-API `/v1/browser/*` (scope `browser`): Browserbase sessions driven entirely
102
102
  * over HTTPS, so every command works from a Worker (A6.29). A command's refusal throws `TotalumError` with its frozen
103
103
  * code (`ACTION_TIMEOUT`, `ACTION_FAILED`, …); `actions()` returns every result instead.
104
+ *
105
+ * #### Things that still need a CDP connection
106
+ *
107
+ * Nothing an app needs. Every capability is a command or a create-time option, so it works in a published app. The
108
+ * list keeps exactly two entries, neither of which an app needs (A6.30):
109
+ *
110
+ * - Attaching a raw CDP domain listener for a continuous event stream — `network.subscribe` is the push channel for the app case.
111
+ * - Driving the session with a third-party Node library's own protocol client (`connectOverCDP`, `puppeteer.connect`).
112
+ *
113
+ * #### Not possible for anyone, over any transport
114
+ *
115
+ * - Seeding a saved profile from raw bytes (`CONTEXT_SEED_UNSUPPORTED`) — the vendor's context upload is deprecated; create a profile by running a session with `context: { persist: true }`, and replay cookies and web storage with `cookies.set` and `storage.set` (a service worker or an IndexedDB database cannot be replayed).
104
116
  */
105
117
  export function totalumBrowser(options = {}) {
106
118
  const call = jsonClient(options);
@@ -140,7 +152,14 @@ export function totalumBrowser(options = {}) {
140
152
  });
141
153
  }
142
154
  return {
143
- /** Opens a session with the vendor options and the Totalum-synthesised ones. */
155
+ /**
156
+ * Opens a session. Totalum-synthesised over CDP (not vendor fields, so the vendor validates none of them):
157
+ * `locale`, `timezone`, `geolocation`, `userAgent`, `extraHeaders`, `blockResources`, `device`,
158
+ * `captureDownloads`, `viewport`. Mapped onto vendor fields: `stealth` (`'off' | 'basic' | 'verified'` → the
159
+ * vendor's `verified` and `os`; `'verified'` needs the vendor's Scale tier, else `STEALTH_TIER_UNAVAILABLE`, and
160
+ * ignores `viewport`) and `region` (the vendor's four regions; `'eu'`, `'us'` are aliases). Every other option is
161
+ * a vendor field.
162
+ */
144
163
  session: async (opts = {}) => handle(await call('POST', '/v1/browser/sessions', opts)),
145
164
  sessions: {
146
165
  /** The project's sessions, filtered by `status` or `metadata`. */
@@ -1,8 +1,8 @@
1
- import { c as CronJobInput, b as CronJob, d as CronJobPatch } from '../_types/integrations.d-BNGV70e3.js';
2
- export { e as CronRun, f as CronRunsPage } from '../_types/integrations.d-BNGV70e3.js';
3
- import { T as TotalumClientOptions } from '../_types/errors.d-Cu3q_E_r.js';
4
- export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-Cu3q_E_r.js';
5
- import '../_types/coerce.d-C0KIW76L.js';
1
+ import { c as CronJobInput, b as CronJob, d as CronJobPatch } from '../_types/integrations.d-Bb3j7BnK.js';
2
+ export { e as CronRun, f as CronRunsPage } from '../_types/integrations.d-Bb3j7BnK.js';
3
+ import { T as TotalumClientOptions } from '../_types/errors.d-CbnzfZ4q.js';
4
+ export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-CbnzfZ4q.js';
5
+ import '../_types/coerce.d-CEK0K3O_.js';
6
6
 
7
7
  /**
8
8
  * `totalum.cron` (plan 05 §6.9) over SDK-API `/v1/cron/*` (scope `cron`): HTTP jobs against the project's own host,
@@ -1,6 +1,6 @@
1
- import { S as SdkClientErrorCode, a as TotalumError, b as TotalumErrorCode, E as ErrorBody } from '../_types/errors.d-Cu3q_E_r.js';
1
+ import { S as SdkClientErrorCode, a as TotalumError, b as TotalumErrorCode, E as ErrorBody } from '../_types/errors.d-CbnzfZ4q.js';
2
2
  import { TotalumClientOptions } from '../ai/index.js';
3
- export { i as isTotalumError } from '../_types/errors.d-Cu3q_E_r.js';
3
+ export { i as isTotalumError } from '../_types/errors.d-CbnzfZ4q.js';
4
4
 
5
5
  /**
6
6
  * Cloudflare's `D1Database` surface, re-declared structurally so an app needs no Cloudflare types to compile
@@ -90,7 +90,8 @@ declare const READ_YOUR_WRITES_COOKIE = "__tlm_d1_w";
90
90
  * Runs one request of a Worker with a replicated D1 (A3.23, research 46 §6.3): a `GET`/`HEAD` reads through a
91
91
  * `first-unconstrained` session — the nearest replica — unless the browser wrote in the last 10 s; any other method
92
92
  * uses the plain binding (writes go to the primary; measured faster than any session) and its response sets the short
93
- * cookie that sends that browser's next reads to the primary. `run` receives the env to hand to the app, whose
93
+ * cookie that sends that browser's next reads to the primary. A replica read that takes over `REPLICA_READ_TIMEOUT_MS`
94
+ * is answered by the primary instead, and the rest of that request reads the primary. `run` receives the env to hand to the app, whose
94
95
  * `totalumD1()` reads `TOTALUM_DB` from it on every statement. No D1 binding (Turso, a laptop): `run(env)` unchanged.
95
96
  */
96
97
  declare function withTotalumSession<E extends object>(request: Request, env: E, run: (env: E) => Promise<Response>): Promise<Response>;
@@ -3,11 +3,21 @@ export const READ_YOUR_WRITES_COOKIE = '__tlm_d1_w';
3
3
  /** Replicas lag the primary by 30–75 ms (Cloudflare); 10 s leaves a wide margin (research 46 §6.3). */
4
4
  const WINDOW_SECONDS = 10;
5
5
  const READS = new Set(['GET', 'HEAD']);
6
+ /**
7
+ * A replica read slower than this is re-run on the primary, and the rest of the request reads the primary. Replicas
8
+ * answer in tens of ms; measured stalls last 10 s or more while the primary stays fast (ui-evidence/preview-hang).
9
+ * D1's Sessions API documents no timeout or fallback of its own.
10
+ */
11
+ export const REPLICA_READ_TIMEOUT_MS = 2000;
12
+ /** Only a `SELECT` is re-run: a write that stalled may still land, and running it twice would duplicate it. */
13
+ const PURE_READ = /^\s*select\b/i;
14
+ const LATE = Symbol('late');
6
15
  /**
7
16
  * Runs one request of a Worker with a replicated D1 (A3.23, research 46 §6.3): a `GET`/`HEAD` reads through a
8
17
  * `first-unconstrained` session — the nearest replica — unless the browser wrote in the last 10 s; any other method
9
18
  * uses the plain binding (writes go to the primary; measured faster than any session) and its response sets the short
10
- * cookie that sends that browser's next reads to the primary. `run` receives the env to hand to the app, whose
19
+ * cookie that sends that browser's next reads to the primary. A replica read that takes over `REPLICA_READ_TIMEOUT_MS`
20
+ * is answered by the primary instead, and the rest of that request reads the primary. `run` receives the env to hand to the app, whose
11
21
  * `totalumD1()` reads `TOTALUM_DB` from it on every statement. No D1 binding (Turso, a laptop): `run(env)` unchanged.
12
22
  */
13
23
  export async function withTotalumSession(request, env, run) {
@@ -26,13 +36,57 @@ export async function withTotalumSession(request, env, run) {
26
36
  const cookies = request.headers.get('cookie') ?? '';
27
37
  if (new RegExp(`(?:^|;\\s*)${READ_YOUR_WRITES_COOKIE}=`).test(cookies))
28
38
  return run(env);
29
- const session = binding.withSession('first-unconstrained');
30
- const replicaDb = {
31
- prepare: (sql) => session.prepare(sql),
32
- batch: (statements) => session.batch(statements),
39
+ return run({ ...env, TOTALUM_DB: boundedReplica(binding, binding.withSession('first-unconstrained')) });
40
+ }
41
+ /**
42
+ * The request's database on the nearest replica, each pure read bounded by `REPLICA_READ_TIMEOUT_MS`: past it, the read
43
+ * runs on the primary (the stalled replica call is abandoned) and so does every later statement of this request.
44
+ */
45
+ function boundedReplica(binding, session) {
46
+ let primary = false;
47
+ const on = () => (primary ? binding : session);
48
+ async function read(sqls, call) {
49
+ if (primary || !sqls.every((sql) => PURE_READ.test(sql)))
50
+ return call(on());
51
+ let timer;
52
+ const late = new Promise((resolve) => {
53
+ timer = setTimeout(() => {
54
+ resolve(LATE);
55
+ }, REPLICA_READ_TIMEOUT_MS);
56
+ });
57
+ try {
58
+ const out = await Promise.race([call(session), late]);
59
+ if (out !== LATE)
60
+ return out;
61
+ }
62
+ finally {
63
+ clearTimeout(timer);
64
+ }
65
+ primary = true;
66
+ console.warn(JSON.stringify({ event: 'd1_replica_read_timeout', ms: REPLICA_READ_TIMEOUT_MS }));
67
+ return call(binding);
68
+ }
69
+ const statement = (sql, params = []) => {
70
+ const real = (db) => db.prepare(sql).bind(...params);
71
+ const bounded = (method) => (...args) => read([sql], (db) => real(db)[method](...args));
72
+ return {
73
+ sql,
74
+ real,
75
+ bind: (...values) => statement(sql, values),
76
+ first: bounded('first'),
77
+ run: bounded('run'),
78
+ all: bounded('all'),
79
+ raw: bounded('raw'),
80
+ };
81
+ };
82
+ return {
83
+ prepare: (sql) => statement(sql),
84
+ batch: (statements) => {
85
+ const mine = statements;
86
+ return read(mine.map((s) => s.sql), (db) => db.batch(mine.map((s) => s.real(db))));
87
+ },
33
88
  exec: (sql) => binding.exec(sql),
34
89
  dump: () => binding.dump(),
35
90
  withSession: (c) => binding.withSession(c),
36
91
  };
37
- return run({ ...env, TOTALUM_DB: replicaDb });
38
92
  }
@@ -1,8 +1,8 @@
1
- import { E as EmailSendInput, j as EmailView } from '../_types/integrations.d-BNGV70e3.js';
2
- export { i as EmailSendOutput } from '../_types/integrations.d-BNGV70e3.js';
3
- import { T as TotalumClientOptions } from '../_types/errors.d-Cu3q_E_r.js';
4
- export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-Cu3q_E_r.js';
5
- import '../_types/coerce.d-C0KIW76L.js';
1
+ import { E as EmailSendInput, j as EmailView } from '../_types/integrations.d-Bb3j7BnK.js';
2
+ export { i as EmailSendOutput } from '../_types/integrations.d-Bb3j7BnK.js';
3
+ import { T as TotalumClientOptions } from '../_types/errors.d-CbnzfZ4q.js';
4
+ export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-CbnzfZ4q.js';
5
+ import '../_types/coerce.d-CEK0K3O_.js';
6
6
 
7
7
  /**
8
8
  * `totalum.email` (plan 05 §6.4) over SDK-API `/v1/email/*` (scope `email`): Resend, HTML sent byte for byte, charged
@@ -1,8 +1,8 @@
1
- import { F as FileDescriptor, k as FileUploadUrlInput, m as FilesListQuery } from '../_types/integrations.d-BNGV70e3.js';
2
- export { l as FileUploadUrlOutput, n as FilesPage } from '../_types/integrations.d-BNGV70e3.js';
1
+ import { F as FileDescriptor, k as FileUploadUrlInput, m as FilesListQuery } from '../_types/integrations.d-Bb3j7BnK.js';
2
+ export { l as FileUploadUrlOutput, n as FilesPage } from '../_types/integrations.d-Bb3j7BnK.js';
3
3
  import { TotalumClientOptions } from '../ai/index.js';
4
- export { a as TotalumError, b as TotalumErrorCode, i as isTotalumError } from '../_types/errors.d-Cu3q_E_r.js';
5
- import '../_types/coerce.d-C0KIW76L.js';
4
+ export { a as TotalumError, b as TotalumErrorCode, i as isTotalumError } from '../_types/errors.d-CbnzfZ4q.js';
5
+ import '../_types/coerce.d-CEK0K3O_.js';
6
6
 
7
7
  interface TotalumFilesOptions extends TotalumClientOptions {
8
8
  /** The public files host; default `TOTALUM_FILES_URL`, else `https://files.totalum-project.com` (A10.1). */
package/dist/index.d.ts CHANGED
@@ -23,17 +23,17 @@ export { ScanDocumentResult, TotalumScan } from './scan/index.js';
23
23
  import { totalumSeo } from './seo/index.js';
24
24
  export { TotalumSeo } from './seo/index.js';
25
25
  import { totalumSpeech } from './speech/index.js';
26
- export { TotalumSpeech } from './speech/index.js';
26
+ export { SpeechAudio, TotalumSpeech } from './speech/index.js';
27
27
  import { totalumWeb } from './web/index.js';
28
28
  export { TotalumWeb } from './web/index.js';
29
29
  import { totalumWebhooks } from './webhooks/index.js';
30
30
  export { TotalumWebhookError, TotalumWebhooks, verifyWebhook } from './webhooks/index.js';
31
31
  export { D1Database, D1DatabaseSession, D1ExecResult, D1PreparedStatement, D1Result, READ_YOUR_WRITES_COOKIE, TotalumD1ClientCode, TotalumD1Error, TotalumD1ErrorCode, TotalumD1Options, isTotalumD1Error, totalumD1, withTotalumSession } from './d1/index.js';
32
- export { T as TotalumClientOptions, a as TotalumError, b as TotalumErrorCode, i as isTotalumError } from './_types/errors.d-Cu3q_E_r.js';
33
- export { C as CheckoutInput, a as CheckoutOutput, b as CronJob, c as CronJobInput, d as CronJobPatch, e as CronRun, f as CronRunsPage, g as CustomerPortalLinkInput, h as CustomerPortalLinkOutput, E as EmailSendInput, i as EmailSendOutput, j as EmailView, F as FileDescriptor, k as FileUploadUrlInput, l as FileUploadUrlOutput, m as FilesListQuery, n as FilesPage, J as JobCreated, O as OnboardingLinkInput, o as OnboardingLinkOutput, P as PaymentsStatus, p as PdfFromHtmlInput, q as PdfFromUrlInput, r as PdfOutput, S as ScanDocumentInput, s as ScanOcrInput, t as ScanOcrOutput, u as ScreenshotInput, v as ScreenshotOutput, w as SeoIndexNowKey, x as SeoNotifyOutput, y as SpeakInput, z as StoredMedia, T as TranscribeInput, A as TranscribeOutput, W as WebJob, B as WebScrapeOutput, D as WebSearchOutput } from './_types/integrations.d-BNGV70e3.js';
34
- export { L as LogsPage, S as SiteAnalyticsOutput, a as SiteDimension, b as SiteMetric } from './_types/ops.d-C9375KIG.js';
35
- export { W as WebhookConfig, a as WebhookEvent, b as WebhookSecretOutput } from './_types/billing.d-BbSZh1wY.js';
36
- import './_types/coerce.d-C0KIW76L.js';
32
+ export { T as TotalumClientOptions, a as TotalumError, b as TotalumErrorCode, i as isTotalumError } from './_types/errors.d-CbnzfZ4q.js';
33
+ export { C as CheckoutInput, a as CheckoutOutput, b as CronJob, c as CronJobInput, d as CronJobPatch, e as CronRun, f as CronRunsPage, g as CustomerPortalLinkInput, h as CustomerPortalLinkOutput, E as EmailSendInput, i as EmailSendOutput, j as EmailView, F as FileDescriptor, k as FileUploadUrlInput, l as FileUploadUrlOutput, m as FilesListQuery, n as FilesPage, J as JobCreated, O as OnboardingLinkInput, o as OnboardingLinkOutput, P as PaymentsStatus, p as PdfFromHtmlInput, q as PdfFromUrlInput, r as PdfOutput, S as ScanDocumentInput, s as ScanOcrInput, t as ScanOcrOutput, u as ScreenshotInput, v as ScreenshotOutput, w as SeoIndexNowKey, x as SeoNotifyOutput, y as SpeakInput, z as StoredMedia, T as TranscribeInput, A as TranscribeOutput, W as WebJob, B as WebScrapeOutput, D as WebSearchOutput } from './_types/integrations.d-Bb3j7BnK.js';
34
+ export { L as LogsPage, S as SiteAnalyticsOutput, a as SiteDimension, b as SiteMetric } from './_types/ops.d-wJWD6Zj7.js';
35
+ export { W as WebhookConfig, a as WebhookEvent, b as WebhookSecretOutput } from './_types/billing.d-yekNDC4X.js';
36
+ import './_types/coerce.d-CEK0K3O_.js';
37
37
 
38
38
  /** The options of `createTotalum()`: every namespace's options in one object (each falls back to its env var). */
39
39
  type TotalumOptions = TotalumAiOptions & TotalumFilesOptions;
@@ -1,8 +1,8 @@
1
- import { c as LogsQueryInput } from '../_types/ops.d-C9375KIG.js';
2
- export { L as LogsPage } from '../_types/ops.d-C9375KIG.js';
3
- import { T as TotalumClientOptions } from '../_types/errors.d-Cu3q_E_r.js';
4
- export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-Cu3q_E_r.js';
5
- import '../_types/coerce.d-C0KIW76L.js';
1
+ import { c as LogsQueryInput } from '../_types/ops.d-wJWD6Zj7.js';
2
+ export { L as LogsPage } from '../_types/ops.d-wJWD6Zj7.js';
3
+ import { T as TotalumClientOptions } from '../_types/errors.d-CbnzfZ4q.js';
4
+ export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-CbnzfZ4q.js';
5
+ import '../_types/coerce.d-CEK0K3O_.js';
6
6
 
7
7
  /** A `logs.query` filter: the window (default the last hour), level, substring, status class, path, request id, env. */
8
8
  type LogsQuery = Omit<LogsQueryInput, 'caller' | 'runId'>;
@@ -1,8 +1,8 @@
1
- import { O as OnboardingLinkInput, C as CheckoutInput, g as CustomerPortalLinkInput } from '../_types/integrations.d-BNGV70e3.js';
2
- export { a as CheckoutOutput, h as CustomerPortalLinkOutput, o as OnboardingLinkOutput, P as PaymentsStatus } from '../_types/integrations.d-BNGV70e3.js';
3
- import { T as TotalumClientOptions } from '../_types/errors.d-Cu3q_E_r.js';
4
- export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-Cu3q_E_r.js';
5
- import '../_types/coerce.d-C0KIW76L.js';
1
+ import { O as OnboardingLinkInput, C as CheckoutInput, g as CustomerPortalLinkInput } from '../_types/integrations.d-Bb3j7BnK.js';
2
+ export { a as CheckoutOutput, h as CustomerPortalLinkOutput, o as OnboardingLinkOutput, P as PaymentsStatus } from '../_types/integrations.d-Bb3j7BnK.js';
3
+ import { T as TotalumClientOptions } from '../_types/errors.d-CbnzfZ4q.js';
4
+ export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-CbnzfZ4q.js';
5
+ import '../_types/coerce.d-CEK0K3O_.js';
6
6
 
7
7
  /**
8
8
  * `totalum.payments` (plan 05, plan 11 §9.5) over SDK-API `/v1/payments/*` with a project key (scope `payments`): Stripe
@@ -1,8 +1,8 @@
1
- import { p as PdfFromHtmlInput, q as PdfFromUrlInput } from '../_types/integrations.d-BNGV70e3.js';
2
- export { r as PdfOutput } from '../_types/integrations.d-BNGV70e3.js';
3
- import { T as TotalumClientOptions } from '../_types/errors.d-Cu3q_E_r.js';
4
- export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-Cu3q_E_r.js';
5
- import '../_types/coerce.d-C0KIW76L.js';
1
+ import { p as PdfFromHtmlInput, q as PdfFromUrlInput } from '../_types/integrations.d-Bb3j7BnK.js';
2
+ export { r as PdfOutput } from '../_types/integrations.d-Bb3j7BnK.js';
3
+ import { T as TotalumClientOptions } from '../_types/errors.d-CbnzfZ4q.js';
4
+ export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-CbnzfZ4q.js';
5
+ import '../_types/coerce.d-CEK0K3O_.js';
6
6
 
7
7
  /** `totalum.pdf` (plan 04 §5.5) over `/v1/pdf/*` (scope `files:write`): a new file in the project's storage each time. */
8
8
  declare function totalumPdf(options?: TotalumClientOptions): {
@@ -1,5 +1,5 @@
1
- import { Z as ZodObject, c as ZodOptional, d as ZodString, g as ZodUnknown, m as $strip, o as output, t as ZodISODateTime, l as ZodInt, h as ZodRecord, j as ZodBoolean, T as TotalumClientOptions } from '../_types/errors.d-Cu3q_E_r.js';
2
- export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-Cu3q_E_r.js';
1
+ import { Z as ZodObject, c as ZodOptional, d as ZodString, g as ZodUnknown, m as $strip, o as output, t as ZodISODateTime, l as ZodInt, h as ZodRecord, j as ZodBoolean, T as TotalumClientOptions } from '../_types/errors.d-CbnzfZ4q.js';
2
+ export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-CbnzfZ4q.js';
3
3
 
4
4
  /** `POST /v1/realtime/tickets` (scope `realtime`). `ttl` is the join window in seconds, not the session length. */
5
5
  declare const RealtimeTicketInput: ZodObject<{
@@ -1,8 +1,8 @@
1
- import { S as ScanDocumentInput, s as ScanOcrInput } from '../_types/integrations.d-BNGV70e3.js';
2
- export { t as ScanOcrOutput } from '../_types/integrations.d-BNGV70e3.js';
3
- import { T as TotalumClientOptions } from '../_types/errors.d-Cu3q_E_r.js';
4
- export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-Cu3q_E_r.js';
5
- import '../_types/coerce.d-C0KIW76L.js';
1
+ import { S as ScanDocumentInput, s as ScanOcrInput } from '../_types/integrations.d-Bb3j7BnK.js';
2
+ export { t as ScanOcrOutput } from '../_types/integrations.d-Bb3j7BnK.js';
3
+ import { T as TotalumClientOptions } from '../_types/errors.d-CbnzfZ4q.js';
4
+ export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-CbnzfZ4q.js';
5
+ import '../_types/coerce.d-CEK0K3O_.js';
6
6
 
7
7
  /** The v1 scan result: the extracted fields (one set per page with `processEveryPdfPageAsDifferentScan`) + `metadata`. */
8
8
  interface ScanDocumentResult {
@@ -1,7 +1,7 @@
1
- export { w as SeoIndexNowKey, x as SeoNotifyOutput } from '../_types/integrations.d-BNGV70e3.js';
2
- import { T as TotalumClientOptions } from '../_types/errors.d-Cu3q_E_r.js';
3
- export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-Cu3q_E_r.js';
4
- import '../_types/coerce.d-C0KIW76L.js';
1
+ export { w as SeoIndexNowKey, x as SeoNotifyOutput } from '../_types/integrations.d-Bb3j7BnK.js';
2
+ import { T as TotalumClientOptions } from '../_types/errors.d-CbnzfZ4q.js';
3
+ export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-CbnzfZ4q.js';
4
+ import '../_types/coerce.d-CEK0K3O_.js';
5
5
 
6
6
  /** `totalum.seo` (plan 05 §6.10) over SDK-API `/v1/seo/*` (scope `seo`): IndexNow for verified custom domains, free. */
7
7
  declare function totalumSeo(options?: TotalumClientOptions): {
@@ -1,12 +1,22 @@
1
- import { T as TranscribeInput, y as SpeakInput, z as StoredMedia } from '../_types/integrations.d-BNGV70e3.js';
2
- export { A as TranscribeOutput } from '../_types/integrations.d-BNGV70e3.js';
3
- import { T as TotalumClientOptions } from '../_types/errors.d-Cu3q_E_r.js';
4
- export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-Cu3q_E_r.js';
5
- import '../_types/coerce.d-C0KIW76L.js';
1
+ import { T as TranscribeInput, y as SpeakInput, z as StoredMedia } from '../_types/integrations.d-Bb3j7BnK.js';
2
+ export { A as TranscribeOutput } from '../_types/integrations.d-Bb3j7BnK.js';
3
+ import { T as TotalumClientOptions } from '../_types/errors.d-CbnzfZ4q.js';
4
+ export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-CbnzfZ4q.js';
5
+ import '../_types/coerce.d-CEK0K3O_.js';
6
6
 
7
+ /** `totalum.speech` (plan 05 §6.8) over `/v1/speech/*` (scope `speech`): OpenRouter speech through Totalum. */
8
+ /** The audio bytes of `synthesize` without `store`. */
9
+ interface SpeechAudio {
10
+ audio: ArrayBuffer;
11
+ contentType: string;
12
+ credits: number;
13
+ }
7
14
  /** `totalum.speech` (plan 05 §6.8) over `/v1/speech/*` (scope `speech`): OpenRouter speech through Totalum. */
8
15
  declare function totalumSpeech(options?: TotalumClientOptions): {
9
- /** Speech to text from `audioBase64` or a `url`; optional language, word timestamps and speakers. */
16
+ /**
17
+ * Speech to text from `audioBase64` (+ `filename` with its extension) or a `url` — a public one, or a file this
18
+ * project stored; optional language, word timestamps and speakers.
19
+ */
10
20
  transcribe: (input: TranscribeInput) => Promise<{
11
21
  text: string;
12
22
  durationSec: number;
@@ -28,14 +38,14 @@ declare function totalumSpeech(options?: TotalumClientOptions): {
28
38
  end: number;
29
39
  }[] | undefined;
30
40
  }>;
31
- /** The audio bytes, or with `store: true` the stored file `{key, url, usage}`; `credits` is the call's hold. */
32
- synthesize: (input: SpeakInput) => Promise<StoredMedia | {
33
- audio: ArrayBuffer;
34
- contentType: string;
35
- credits: number;
36
- }>;
41
+ synthesize: {
42
+ (input: SpeakInput & {
43
+ store: true;
44
+ }): Promise<StoredMedia>;
45
+ (input: SpeakInput): Promise<StoredMedia | SpeechAudio>;
46
+ };
37
47
  };
38
48
  type TotalumSpeech = ReturnType<typeof totalumSpeech>;
39
49
 
40
50
  export { SpeakInput, StoredMedia, TotalumClientOptions, TranscribeInput, totalumSpeech };
41
- export type { TotalumSpeech };
51
+ export type { SpeechAudio, TotalumSpeech };
@@ -4,19 +4,22 @@ export { TotalumError, isTotalumError } from '../errors.js';
4
4
  export function totalumSpeech(options = {}) {
5
5
  const call = jsonClient(options);
6
6
  const raw = rawClient(options);
7
+ async function synthesize(input) {
8
+ if (input.store)
9
+ return call('POST', '/v1/speech/speak', input);
10
+ const res = await raw('/v1/speech/speak', input);
11
+ return {
12
+ audio: await res.arrayBuffer(),
13
+ contentType: res.headers.get('content-type') ?? 'audio/mpeg',
14
+ credits: Number(res.headers.get('x-totalum-credits') ?? 0),
15
+ };
16
+ }
7
17
  return {
8
- /** Speech to text from `audioBase64` or a `url`; optional language, word timestamps and speakers. */
18
+ /**
19
+ * Speech to text from `audioBase64` (+ `filename` with its extension) or a `url` — a public one, or a file this
20
+ * project stored; optional language, word timestamps and speakers.
21
+ */
9
22
  transcribe: (input) => call('POST', '/v1/speech/transcribe', input),
10
- /** The audio bytes, or with `store: true` the stored file `{key, url, usage}`; `credits` is the call's hold. */
11
- synthesize: async (input) => {
12
- if (input.store)
13
- return call('POST', '/v1/speech/speak', input);
14
- const res = await raw('/v1/speech/speak', input);
15
- return {
16
- audio: await res.arrayBuffer(),
17
- contentType: res.headers.get('content-type') ?? 'audio/mpeg',
18
- credits: Number(res.headers.get('x-totalum-credits') ?? 0),
19
- };
20
- },
23
+ synthesize,
21
24
  };
22
25
  }
@@ -1,8 +1,8 @@
1
- import { G as WebScrapeInput, H as WebSearchInput, I as WebMapInput, K as WebCrawlInput, u as ScreenshotInput } from '../_types/integrations.d-BNGV70e3.js';
2
- export { J as JobCreated, v as ScreenshotOutput, W as WebJob, B as WebScrapeOutput, D as WebSearchOutput } from '../_types/integrations.d-BNGV70e3.js';
3
- import { T as TotalumClientOptions } from '../_types/errors.d-Cu3q_E_r.js';
4
- export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-Cu3q_E_r.js';
5
- import '../_types/coerce.d-C0KIW76L.js';
1
+ import { G as WebScrapeInput, H as WebSearchInput, I as WebMapInput, K as WebCrawlInput, u as ScreenshotInput } from '../_types/integrations.d-Bb3j7BnK.js';
2
+ export { J as JobCreated, v as ScreenshotOutput, W as WebJob, B as WebScrapeOutput, D as WebSearchOutput } from '../_types/integrations.d-Bb3j7BnK.js';
3
+ import { T as TotalumClientOptions } from '../_types/errors.d-CbnzfZ4q.js';
4
+ export { a as TotalumError, i as isTotalumError } from '../_types/errors.d-CbnzfZ4q.js';
5
+ import '../_types/coerce.d-CEK0K3O_.js';
6
6
 
7
7
  /**
8
8
  * `totalum.web` (plan 05 §6.2) over SDK-API `/v1/web/*` (scope `web`): Firecrawl scrape/search/map/crawl and Browser
@@ -1,7 +1,7 @@
1
- import { a as WebhookEvent } from '../_types/billing.d-BbSZh1wY.js';
2
- export { W as WebhookConfig, b as WebhookSecretOutput } from '../_types/billing.d-BbSZh1wY.js';
3
- import { T as TotalumClientOptions, a as TotalumError } from '../_types/errors.d-Cu3q_E_r.js';
4
- export { i as isTotalumError } from '../_types/errors.d-Cu3q_E_r.js';
1
+ import { a as WebhookEvent } from '../_types/billing.d-yekNDC4X.js';
2
+ export { W as WebhookConfig, b as WebhookSecretOutput } from '../_types/billing.d-yekNDC4X.js';
3
+ import { T as TotalumClientOptions, a as TotalumError } from '../_types/errors.d-CbnzfZ4q.js';
4
+ export { i as isTotalumError } from '../_types/errors.d-CbnzfZ4q.js';
5
5
 
6
6
  /** A webhook refusal (plan 05 §7.2): the codes never travel, the app answers 400. */
7
7
  declare class TotalumWebhookError extends TotalumError {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "totalum-sdk",
3
- "version": "0.1.0-dev.10",
3
+ "version": "0.1.0-dev.12",
4
4
  "description": "The SDK generated Totalum apps import: every integration namespace over SDK-API (totalum-sdk, or one subpath each: /files, /ai, /web, …) and totalum-sdk/d1, the D1 driver",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
package/totalum-sdk.md CHANGED
@@ -41,7 +41,7 @@ Workers) and name the HTTPS replacement: `ai.video.wait()`.
41
41
 
42
42
  Client-side codes: `SDK_NOT_CONFIGURED`, `NOT_SUPPORTED`, `BATCH_FOREIGN_STATEMENT`, `TRANSACTIONS_NOT_SUPPORTED`, `NETWORK_ERROR`, `TIMEOUT`, `RESPONSE_PARSE_ERROR`, `NODE_ONLY`, `WEBHOOK_SECRET_MISSING`, `WEBHOOK_SIGNATURE_INVALID`, `WEBHOOK_TIMESTAMP_EXPIRED`.
43
43
 
44
- Server codes: `SERVICE_UNAUTHORIZED`, `SERVICE_REPLAY`, `ACTOR_MISMATCH`, `PAYLOAD_TOO_LARGE`, `VALIDATION_ERROR`, `PROJECT_NOT_FOUND`, `OPERATION_IN_PROGRESS`, `AGENT_RUNNING`, `PROJECT_MOVED`, `OBJECT_MIGRATING`, `INDEX_SHARD_UNAVAILABLE`, `RATE_LIMIT_EXCEEDED`, `PROJECT_PAUSED_RUNAWAY`, `PROJECT_PAUSED_BALANCE`, `PROJECT_SUSPENDED`, `PROJECT_HIBERNATED`, `PROJECT_DELETED`, `PROJECT_PAUSED_BY_USER`, `LIFECYCLE_NOT_APPLICABLE`, `PROJECT_NOT_PAUSED`, `PAUSE_DUMP_EXPIRED`, `PAUSE_VERIFICATION_FAILED`, `DEPLOYMENT_IN_PROGRESS`, `REACTIVATE_IMPORT_MISMATCH`, `RESUME_IMPORT_MISMATCH`, `INSUFFICIENT_CREDITS`, `VCAAS_INSUFFICIENT_CREDITS`, `PROJECT_CREDIT_LIMIT_REACHED`, `FREE_PROMPTS_DISABLED`, `PLAN_REQUIRED`, `FEATURE_LIMIT_REACHED`, `FEATURE_DISABLED`, `AGENT_ALREADY_RUNNING`, `IMPORT_IN_PROGRESS`, `TOO_MANY_RUN_REQUESTS`, `PROMPT_SECURITY_VIOLATION`, `NO_PROCESS_RUNNING`, `RUN_NOT_FOUND`, `DEPLOYMENT_RUNNING`, `AUTO_EXECUTION_ALREADY_ACTIVE`, `REBUILD_RUNNING`, `SECRET_ALREADY_EXISTS`, `SECRET_LIMIT_EXCEEDED`, `RESERVED_SECRET_NAME`, `DUMP_NOT_FOUND`, `DUMP_INVALID`, `RESTORE_TARGET_NOT_EMPTY`, `ENGINE_NOT_SUPPORTED`, `ENGINE_V2_DISABLED`, `V2_TEMPORARILY_DISABLED`, `ENGINE_REQUEST_NOT_ELIGIBLE`, `ENGINE_MISMATCH`, `INVALID_ENGINE_VERSION`, `PROJECT_ENGINE_MISMATCH`, `ENGINE_UNAVAILABLE`, `PREVIEW_LABEL_TOO_LONG`, `PROJECT_ALREADY_EXISTS`, `CLOUDFLARE_API_ERROR`, `PROVISIONING_BUSY`, `UNAUTHORIZED`, `LEGACY_KEY_NOT_SUPPORTED`, `SANDBOX_KEY_EXPIRED`, `AUTH_RATE_LIMITED`, `FORBIDDEN_SCOPE`, `KEY_ENV_MISMATCH`, `KEY_LIMIT_EXCEEDED`, `LIVE_DB_READ_ONLY`, `LIVE_WRITE_NEEDS_CONFIRMATION`, `DDL_NOT_ALLOWED`, `MIGRATION_IN_PROGRESS`, `MIGRATION_EDITED`, `SCHEMA_OUT_OF_SYNC`, `LIVE_MIGRATION_FAILED`, `DESTRUCTIVE_MIGRATION_NEEDS_CONFIRMATION`, `DEV_DATABASE_NOT_FOUND`, `DATABASE_ROLE_NOT_FOUND`, `BOOKMARK_NOT_FOUND`, `BACKUP_NOT_FOUND`, `BACKUP_NOT_DELETABLE`, `BACKUP_RATE_LIMITED`, `PRE_RESTORE_BACKUP_FAILED`, `RESTORE_VERIFY_FAILED`, `RUN_NOT_LATEST`, `DEV_DATABASE_EXISTS`, `SQL_ERROR`, `SQL_MULTI_STATEMENT`, `SQL_STATEMENT_TOO_LARGE`, `SQL_TOO_MANY_PARAMS`, `STATEMENT_NOT_ALLOWED`, `VIRTUAL_TABLES_NOT_SUPPORTED`, `USE_STORAGE_FOR_FILES`, `D1_TYPE_ERROR`, `MIGRATION_INVALID`, `SYSTEM_TABLE_READ_ONLY`, `SQL_READ_ONLY`, `RESULT_TOO_LARGE`, `NL_QUERY_UNANSWERABLE`, `QUERY_TIMEOUT`, `DB_OVERLOADED`, `D1_TRANSIENT`, `DB_FULL_NEAR_LIMIT`, `IDEMPOTENCY_KEY_REUSED`, `IDEMPOTENT_REPLAY_UNAVAILABLE`, `TABLE_NOT_FOUND`, `SCHEMA_TOO_LARGE_FOR_COUNTS`, `EXEC_REQUIRES_MIGRATE_MODE`, `MIGRATION_UNKNOWN_IN_DB`, `QUERY_LIMIT_EXCEEDED`, `STORAGE_LIMIT_EXCEEDED`, `METER_UNAVAILABLE`, `COLUMN_NOT_FOUND`, `VALUE_NOT_ALLOWED`, `COLUMN_REQUIRED`, `FILTER_TOO_COMPLEX`, `OFFSET_TOO_LARGE`, `BULK_TOO_LARGE`, `NOT_A_JUNCTION_TABLE`, `AMBIGUOUS_RELATION`, `LIVE_WRITE_CONFIRMATION_REQUIRED`, `RECORD_NOT_FOUND`, `DEV_NAME_GUARD`, `PROD_NAME_GUARD`, `INVALID_RUN_REQUEST`, `RUN_ALREADY_ACTIVE`, `RUN_CONFLICT`, `INVALID_CREDENTIALS`, `ADAPTER_UNAVAILABLE`, `DISK_FULL`, `DEPLOY_FIX_ATTEMPTS_EXHAUSTED`, `TOKEN_REVOKED`, `AM_UPDATE_DOWNLOAD_FAILED`, `AM_UPDATE_BAD_SHA`, `AM_UPDATE_BAD_SIGNATURE`, `AM_UPDATE_INCOMPATIBLE_IMAGE`, `AM_UPDATE_START_FAILED`, `AM_VERSION_UNAVAILABLE`, `AM_UPDATE_FAILED`, `RELEASE_CANARY_NOT_PASSED`, `RELEASE_NOT_FOUND`, `RELEASE_ROLLOUT_ACTIVE`, `RELEASE_GUARD_PAUSED`, `RELEASE_BUILD_UNAVAILABLE`, `VISUAL_EDIT_PREVIEW_DEPLOYING`, `VISUAL_EDIT_NOT_PATCHABLE`, `VISUAL_EDIT_BASE_MISMATCH`, `VISUAL_EDIT_TYPECHECK_FAILED`, `INVALID_VISUAL_EDIT`, `IMAGE_VERSION_NOT_FOUND`, `IMAGE_VERSION_NOT_PROMOTABLE`, `REALTIME_TICKET_INVALID`, `REALTIME_TICKET_EXPIRED`, `REALTIME_PERMISSION_DENIED`, `REALTIME_MESSAGE_TOO_LARGE`, `REALTIME_MESSAGE_RATE_EXCEEDED`, `REALTIME_CONNECTION_LIMIT_REACHED`, `REALTIME_ROOM_LIMIT_REACHED`, `CONFIRMATION_REQUIRED`, `MIGRATION_NOT_REVERSIBLE`, `ALREADY_ON_PROVIDER`, `DATABASE_MIGRATING`, `LOGWATCH_INACTIVE`, `AGENT_LOG_READS_LIMIT`, `LOGS_UPSTREAM_ERROR`, `ANALYTICS_INVALID_QUERY`, `ANALYTICS_UPSTREAM_ERROR`, `ANALYTICS_WINDOW_OUT_OF_RETENTION`, `INVALID_CIDR`, `RATE_LIMIT_ABOVE_PLAN`, `RATE_LIMIT_DISABLE_NOT_ALLOWED`, `OWNER_ONLY`, `SIGNING_NOT_CONFIGURED`, `SIGNING_ALREADY_CONFIGURED`, `SIGNING_INVALID_KEYSTORE`, `SIGNING_INVALID_ASC_KEY`, `KEYSTORE_DOWNLOAD_EXPIRED`, `KEYSTORE_NOT_DOWNLOADABLE`, `MOBILE_BUILD_RUNNING`, `MOBILE_BUILD_NOT_FOUND`, `MOBILE_BUILD_NOT_READY`, `DOWNLOAD_EXPIRED`, `PROCESS_IN_PROGRESS`, `SANDBOX_NOT_RUNNING`, `MOBILE_LAYER_MISSING`, `MOBILE_BUILD_FAILED`, `MOBILE_ARTIFACT_INVALID`, `SIGNING_FINGERPRINT_MISMATCH`, `AM_RESTARTED`, `LIMIT_ABOVE_PLAN_CEILING`, `UNKNOWN_FEATURE`, `INVALID_LIMIT`, `FEATURE_NOT_DISABLABLE`, `USE_PUT_LIMITS`, `LIMIT_NOT_USER_EDITABLE`, `NOT_AVAILABLE_FOR_ENGINE`, `INVALID_AMOUNT`, `REFUND_EXCEEDS_CHARGES`, `IDEMPOTENCY_CONFLICT`, `ORGANIZATION_NOT_FOUND`, `ACCOUNT_NOT_FOUND`, `PROVIDER_UNAVAILABLE`, `URL_NOT_ALLOWED`, `JOB_NOT_FOUND`, `FILE_TOO_LARGE`, `UNSUPPORTED_FILE_TYPE`, `FILE_NOT_FOUND`, `FILE_KEY_FORBIDDEN`, `FILE_UPLOAD_ERROR`, `FILE_DOWNLOAD_ERROR`, `FILE_DELETE_ERROR`, `UPLOAD_NOT_COMPLETED`, `MISSING_URL`, `MISSING_INPUT`, `MISSING_EXTRACTION_CONFIG`, `MISSING_QUERY`, `SCRAPE_FAILED`, `EXTRACT_FAILED`, `SCREENSHOT_FAILED`, `SEARCH_FAILED`, `SCRAPE_BLOCKED`, `SESSION_NOT_FOUND`, `SESSION_EXPIRED`, `SESSION_BUSY`, `SESSION_LIMIT_REACHED`, `SESSION_ENDED_INSUFFICIENT_CREDITS`, `ACTION_TIMEOUT`, `ACTION_FAILED`, `UNKNOWN_COMMAND`, `BATCH_TOO_LARGE`, `SKIPPED`, `UPLOAD_TOO_LARGE`, `DOWNLOAD_TOO_LARGE`, `CAPTURE_LIMIT_REACHED`, `CAPTCHA_UNSOLVED`, `BROWSER_CDP_NODE_ONLY`, `DIALOG_NOT_OPEN`, `STEALTH_TIER_UNAVAILABLE`, `DOMAIN_NOT_ALLOWED`, `CONTEXT_SEED_UNSUPPORTED`, `EXTENSION_TOO_LARGE`, `NL_PROVIDER_UNAVAILABLE`, `PROGRAM_TOO_LARGE`, `PROGRAM_UNBOUNDED`, `UNKNOWN_STEP`, `PROGRAM_IN_FLIGHT`, `PROGRAM_TIMEOUT`, `PROGRAM_NOT_FOUND`, `PROGRAM_STEP_FAILED`, `PROGRAM_LIMIT_REACHED`, `CREATE_PDF_FROM_HTML_ERROR`, `GENERATE_PDF_BY_URL_ERROR`, `PDF_TIMEOUT`, `PDF_TOO_LARGE`, `FILENAME_REQUIRED`, `SCANUM_EYE_ARRAY_NOT_SUPPORTED`, `INVALID_EXTRA_FIELD_TYPE`, `SCANUM_EYE_PDF_NOT_SUPPORTED`, `UNSUPPORTED_SCAN_MODEL`, `SCAN_DOCUMENT_ERROR`, `SCAN_INVOICE_ERROR`, `OCR_IMAGE_PROCESSING_ERROR`, `OCR_PDF_PROCESSING_ERROR`, `SCAN_TOO_MANY_PAGES`, `SCAN_PDF_ENCRYPTED`, `SCAN_XFA_UNSUPPORTED`, `AUDIO_FILE_REQUIRED`, `AUDIO_FILE_TOO_LARGE`, `INVALID_AUDIO_FORMAT`, `AUDIO_TRANSCRIPTION_ERROR`, `TTS_TEXT_TOO_LONG`, `TTS_VOICE_UNKNOWN`, `TOO_MANY_AUDIO_TRANSCRIPTIONS`, `EMAIL_SEND_FAILED`, `TOO_MANY_ATTACHMENTS`, `INVALID_ATTACHMENT_URL`, `ATTACHMENT_TOO_LARGE`, `TOO_MANY_RECIPIENTS`, `EMAIL_RECIPIENT_SUPPRESSED`, `EMAIL_DOMAIN_NOT_VERIFIED`, `EMAIL_LOCAL_PART_TAKEN`, `EMAIL_SENDING_PAUSED`, `EMAIL_DOMAINS_REQUIRE_PAID_PLAN`, `SUPPRESSION_PERMANENT`, `DEV_RECIPIENT_NOT_ALLOWED`, `CRON_LIMIT_REACHED`, `INVALID_SCHEDULE`, `CRON_URL_NOT_ALLOWED`, `CRON_JOB_NOT_FOUND`, `CRON_REQUIRES_PUBLISHED_PROJECT`, `URL_NOT_PROJECT_HOST`, `INDEXNOW_ERROR`, `MCP_VERIFY_FAILED`, `MCP_NAME_RESERVED`, `MCP_LIMIT_REACHED`, `MCP_SERVER_NOT_FOUND`, `PAYMENTS_NOT_ENABLED`, `PAYMENTS_LIVE_ONBOARDING_REQUIRED`, `CARD_DATA_NOT_ACCEPTED`, `STRIPE_ERROR`, `STRIPE_RATE_LIMITED`, `PAYMENTS_WEBHOOK_SIGNATURE_INVALID`, `AI_MODEL_NOT_ALLOWED`, `AI_MODEL_UNKNOWN`, `AI_INVALID_SCHEMA`, `AI_CONTENT_BLOCKED`, `AI_CONTEXT_TOO_LONG`, `AI_PROVIDER_QUOTA`, `AI_PROVIDER_UNAVAILABLE`, `AI_STREAM_ERROR`, `AI_VIDEO_JOB_NOT_FOUND`, `AI_VIDEO_FAILED`, `MISSING_VIDEO_URL`, `MISSING_PROMPT`, `INVALID_VIDEO_URL`, `INVALID_VIDEO_URL_PROTOCOL`, `INVALID_MIME_TYPE_HINT`, `VIDEO_TOO_LARGE`, `VIDEO_URL_UNREACHABLE`, `VIDEO_URL_NOT_A_VIDEO`, `YOUTUBE_VIDEO_UNAVAILABLE`, `NO_PAYMENT_METHOD`, `DOMAIN_CONTACT_REQUIRED`, `DOMAIN_UNAVAILABLE`, `DOMAIN_PREMIUM_NOT_ALLOWED`, `TLD_NOT_ALLOWED`, `DOMAIN_LIMIT_REACHED`, `PRICE_CHANGED`, `PAYMENT_FAILED`, `REGISTRATION_FAILED`, `DOMAIN_NOT_RENEWABLE`, `DOMAIN_ALREADY_ATTACHED`, `DNS_RECORD_MANAGED`, `DNS_RECORD_CONFLICT`, `DNS_RECORD_LIMIT`, `DOMAIN_TRANSFER_LOCKED`, `DOMAIN_NOT_FOUND`, `DOMAIN_IN_USE`, `DOMAIN_ALREADY_ADDED`, `NO_DEPLOYMENT`, `REDIRECT_LIMIT_REACHED`, `REDIRECT_INVALID`, `APEX_NOT_FLATTENABLE`, `SECOND_FACTOR_NOT_CONFIGURED`, `PASSWORD_REQUIRED`, `PASSWORD_INCORRECT`, `TOO_MANY_ATTEMPTS`, `CONFIRMATION_MISMATCH`, `INVALID_TOKEN`, `MISSING_PERMISSIONS`, `REPO_NOT_FOUND`, `REPO_MISSING_BRANCHES`, `UNKNOWN`, `SANDBOX_NOT_READY`, `SYNC_FAILED`, `TOKEN_EXPIRED`, `GITHUB_NOT_CONNECTED`, `FIGMA_TOKEN_MISSING`, `FIGMA_TOKEN_MALFORMED`, `FIGMA_TOKEN_INVALID`, `FIGMA_TOKEN_FORBIDDEN`, `FIGMA_RATE_LIMITED`, `FIGMA_UNREACHABLE`, `INVALID_IMPORT_CODE`, `IMPORT_SOURCE_GONE`, `PROJECT_NOT_IMPORTABLE`, `PROJECT_IMPORT_LIMIT_REACHED`, `PROJECT_EXPORT_LIMIT_REACHED`, `VERSION_NOT_FOUND`, `INVALID_CODE_EDIT`, `CODE_EDIT_FAILED`, `BADGE_IN_SOURCE`.
44
+ Server codes: `SERVICE_UNAUTHORIZED`, `SERVICE_REPLAY`, `ACTOR_MISMATCH`, `PAYLOAD_TOO_LARGE`, `VALIDATION_ERROR`, `PROJECT_NOT_FOUND`, `OPERATION_IN_PROGRESS`, `AGENT_RUNNING`, `PROJECT_MOVED`, `OBJECT_MIGRATING`, `INDEX_SHARD_UNAVAILABLE`, `RATE_LIMIT_EXCEEDED`, `PROJECT_PAUSED_RUNAWAY`, `PROJECT_PAUSED_BALANCE`, `PROJECT_SUSPENDED`, `PROJECT_HIBERNATED`, `PROJECT_DELETED`, `PROJECT_PAUSED_BY_USER`, `LIFECYCLE_NOT_APPLICABLE`, `PROJECT_NOT_PAUSED`, `PAUSE_DUMP_EXPIRED`, `PAUSE_VERIFICATION_FAILED`, `DEPLOYMENT_IN_PROGRESS`, `REACTIVATE_IMPORT_MISMATCH`, `RESUME_IMPORT_MISMATCH`, `INSUFFICIENT_CREDITS`, `VCAAS_INSUFFICIENT_CREDITS`, `PROJECT_CREDIT_LIMIT_REACHED`, `FREE_PROMPTS_DISABLED`, `PLAN_REQUIRED`, `FEATURE_LIMIT_REACHED`, `FEATURE_DISABLED`, `AGENT_ALREADY_RUNNING`, `IMPORT_IN_PROGRESS`, `TOO_MANY_RUN_REQUESTS`, `PROMPT_SECURITY_VIOLATION`, `NO_PROCESS_RUNNING`, `RUN_NOT_FOUND`, `DEPLOYMENT_RUNNING`, `AUTO_EXECUTION_ALREADY_ACTIVE`, `REBUILD_RUNNING`, `SECRET_ALREADY_EXISTS`, `SECRET_LIMIT_EXCEEDED`, `RESERVED_SECRET_NAME`, `DUMP_NOT_FOUND`, `DUMP_INVALID`, `RESTORE_TARGET_NOT_EMPTY`, `ENGINE_NOT_SUPPORTED`, `ENGINE_V2_DISABLED`, `V2_TEMPORARILY_DISABLED`, `ENGINE_REQUEST_NOT_ELIGIBLE`, `ENGINE_MISMATCH`, `INVALID_ENGINE_VERSION`, `PROJECT_ENGINE_MISMATCH`, `ENGINE_UNAVAILABLE`, `PREVIEW_LABEL_TOO_LONG`, `PROJECT_ALREADY_EXISTS`, `CLOUDFLARE_API_ERROR`, `PROVISIONING_BUSY`, `UNAUTHORIZED`, `LEGACY_KEY_NOT_SUPPORTED`, `SANDBOX_KEY_EXPIRED`, `AUTH_RATE_LIMITED`, `FORBIDDEN_SCOPE`, `KEY_ENV_MISMATCH`, `KEY_LIMIT_EXCEEDED`, `LIVE_DB_READ_ONLY`, `LIVE_WRITE_NEEDS_CONFIRMATION`, `DDL_NOT_ALLOWED`, `MIGRATION_IN_PROGRESS`, `MIGRATION_EDITED`, `SCHEMA_OUT_OF_SYNC`, `LIVE_MIGRATION_FAILED`, `DESTRUCTIVE_MIGRATION_NEEDS_CONFIRMATION`, `DEV_DATABASE_NOT_FOUND`, `DATABASE_ROLE_NOT_FOUND`, `BOOKMARK_NOT_FOUND`, `BACKUP_NOT_FOUND`, `BACKUP_NOT_DELETABLE`, `BACKUP_RATE_LIMITED`, `PRE_RESTORE_BACKUP_FAILED`, `RESTORE_VERIFY_FAILED`, `RUN_NOT_LATEST`, `DEV_DATABASE_EXISTS`, `SQL_ERROR`, `SQL_MULTI_STATEMENT`, `SQL_STATEMENT_TOO_LARGE`, `SQL_TOO_MANY_PARAMS`, `STATEMENT_NOT_ALLOWED`, `VIRTUAL_TABLES_NOT_SUPPORTED`, `USE_STORAGE_FOR_FILES`, `D1_TYPE_ERROR`, `MIGRATION_INVALID`, `SYSTEM_TABLE_READ_ONLY`, `SQL_READ_ONLY`, `RESULT_TOO_LARGE`, `NL_QUERY_UNANSWERABLE`, `QUERY_TIMEOUT`, `DB_OVERLOADED`, `D1_TRANSIENT`, `DB_FULL_NEAR_LIMIT`, `IDEMPOTENCY_KEY_REUSED`, `IDEMPOTENT_REPLAY_UNAVAILABLE`, `TABLE_NOT_FOUND`, `SCHEMA_TOO_LARGE_FOR_COUNTS`, `EXEC_REQUIRES_MIGRATE_MODE`, `MIGRATION_UNKNOWN_IN_DB`, `QUERY_LIMIT_EXCEEDED`, `STORAGE_LIMIT_EXCEEDED`, `METER_UNAVAILABLE`, `COLUMN_NOT_FOUND`, `VALUE_NOT_ALLOWED`, `COLUMN_REQUIRED`, `FILTER_TOO_COMPLEX`, `OFFSET_TOO_LARGE`, `BULK_TOO_LARGE`, `NOT_A_JUNCTION_TABLE`, `AMBIGUOUS_RELATION`, `LIVE_WRITE_CONFIRMATION_REQUIRED`, `RECORD_NOT_FOUND`, `DEV_NAME_GUARD`, `PROD_NAME_GUARD`, `INVALID_RUN_REQUEST`, `RUN_ALREADY_ACTIVE`, `RUN_CONFLICT`, `INVALID_CREDENTIALS`, `ADAPTER_UNAVAILABLE`, `DISK_FULL`, `DEPLOY_FIX_ATTEMPTS_EXHAUSTED`, `TOKEN_REVOKED`, `AM_UPDATE_DOWNLOAD_FAILED`, `AM_UPDATE_BAD_SHA`, `AM_UPDATE_BAD_SIGNATURE`, `AM_UPDATE_INCOMPATIBLE_IMAGE`, `AM_UPDATE_START_FAILED`, `AM_VERSION_UNAVAILABLE`, `AM_UPDATE_FAILED`, `RELEASE_CANARY_NOT_PASSED`, `RELEASE_NOT_FOUND`, `RELEASE_ROLLOUT_ACTIVE`, `RELEASE_GUARD_PAUSED`, `RELEASE_BUILD_UNAVAILABLE`, `RELEASE_BELOW_MIN_SAFE_VERSION`, `VISUAL_EDIT_PREVIEW_DEPLOYING`, `VISUAL_EDIT_NOT_PATCHABLE`, `VISUAL_EDIT_BASE_MISMATCH`, `VISUAL_EDIT_TYPECHECK_FAILED`, `INVALID_VISUAL_EDIT`, `IMAGE_VERSION_NOT_FOUND`, `IMAGE_VERSION_NOT_PROMOTABLE`, `REALTIME_TICKET_INVALID`, `REALTIME_TICKET_EXPIRED`, `REALTIME_PERMISSION_DENIED`, `REALTIME_MESSAGE_TOO_LARGE`, `REALTIME_MESSAGE_RATE_EXCEEDED`, `REALTIME_CONNECTION_LIMIT_REACHED`, `REALTIME_ROOM_LIMIT_REACHED`, `CONFIRMATION_REQUIRED`, `MIGRATION_NOT_REVERSIBLE`, `ALREADY_ON_PROVIDER`, `DATABASE_MIGRATING`, `LOGWATCH_INACTIVE`, `AGENT_LOG_READS_LIMIT`, `LOGS_UPSTREAM_ERROR`, `ANALYTICS_INVALID_QUERY`, `ANALYTICS_UPSTREAM_ERROR`, `ANALYTICS_WINDOW_OUT_OF_RETENTION`, `INVALID_CIDR`, `RATE_LIMIT_ABOVE_PLAN`, `RATE_LIMIT_DISABLE_NOT_ALLOWED`, `OWNER_ONLY`, `SIGNING_NOT_CONFIGURED`, `SIGNING_ALREADY_CONFIGURED`, `SIGNING_INVALID_KEYSTORE`, `SIGNING_INVALID_ASC_KEY`, `KEYSTORE_DOWNLOAD_EXPIRED`, `KEYSTORE_NOT_DOWNLOADABLE`, `MOBILE_BUILD_RUNNING`, `MOBILE_BUILD_NOT_FOUND`, `MOBILE_BUILD_NOT_READY`, `DOWNLOAD_EXPIRED`, `PROCESS_IN_PROGRESS`, `SANDBOX_NOT_RUNNING`, `MOBILE_LAYER_MISSING`, `MOBILE_BUILD_FAILED`, `MOBILE_ARTIFACT_INVALID`, `SIGNING_FINGERPRINT_MISMATCH`, `AM_RESTARTED`, `LIMIT_ABOVE_PLAN_CEILING`, `UNKNOWN_FEATURE`, `INVALID_LIMIT`, `FEATURE_NOT_DISABLABLE`, `USE_PUT_LIMITS`, `LIMIT_NOT_USER_EDITABLE`, `NOT_AVAILABLE_FOR_ENGINE`, `INVALID_AMOUNT`, `REFUND_EXCEEDS_CHARGES`, `IDEMPOTENCY_CONFLICT`, `ORGANIZATION_NOT_FOUND`, `ACCOUNT_NOT_FOUND`, `PROVIDER_UNAVAILABLE`, `URL_NOT_ALLOWED`, `JOB_NOT_FOUND`, `FILE_TOO_LARGE`, `UNSUPPORTED_FILE_TYPE`, `FILE_NOT_FOUND`, `FILE_KEY_FORBIDDEN`, `FILE_UPLOAD_ERROR`, `FILE_DOWNLOAD_ERROR`, `FILE_DELETE_ERROR`, `UPLOAD_NOT_COMPLETED`, `MISSING_URL`, `MISSING_INPUT`, `MISSING_EXTRACTION_CONFIG`, `MISSING_QUERY`, `SCRAPE_FAILED`, `EXTRACT_FAILED`, `SCREENSHOT_FAILED`, `SEARCH_FAILED`, `SCRAPE_BLOCKED`, `SESSION_NOT_FOUND`, `SESSION_EXPIRED`, `SESSION_BUSY`, `SESSION_LIMIT_REACHED`, `SESSION_ENDED_INSUFFICIENT_CREDITS`, `ACTION_TIMEOUT`, `ACTION_FAILED`, `UNKNOWN_COMMAND`, `BATCH_TOO_LARGE`, `SKIPPED`, `UPLOAD_TOO_LARGE`, `DOWNLOAD_TOO_LARGE`, `CAPTURE_LIMIT_REACHED`, `CAPTCHA_UNSOLVED`, `BROWSER_CDP_NODE_ONLY`, `DIALOG_NOT_OPEN`, `STEALTH_TIER_UNAVAILABLE`, `DOMAIN_NOT_ALLOWED`, `CONTEXT_SEED_UNSUPPORTED`, `EXTENSION_TOO_LARGE`, `NL_PROVIDER_UNAVAILABLE`, `PROGRAM_TOO_LARGE`, `PROGRAM_UNBOUNDED`, `UNKNOWN_STEP`, `PROGRAM_IN_FLIGHT`, `PROGRAM_TIMEOUT`, `PROGRAM_NOT_FOUND`, `PROGRAM_STEP_FAILED`, `PROGRAM_LIMIT_REACHED`, `CREATE_PDF_FROM_HTML_ERROR`, `GENERATE_PDF_BY_URL_ERROR`, `PDF_TIMEOUT`, `PDF_TOO_LARGE`, `FILENAME_REQUIRED`, `SCANUM_EYE_ARRAY_NOT_SUPPORTED`, `INVALID_EXTRA_FIELD_TYPE`, `SCANUM_EYE_PDF_NOT_SUPPORTED`, `UNSUPPORTED_SCAN_MODEL`, `SCAN_DOCUMENT_ERROR`, `SCAN_INVOICE_ERROR`, `OCR_IMAGE_PROCESSING_ERROR`, `OCR_PDF_PROCESSING_ERROR`, `SCAN_TOO_MANY_PAGES`, `SCAN_PDF_ENCRYPTED`, `SCAN_XFA_UNSUPPORTED`, `AUDIO_FILE_REQUIRED`, `AUDIO_FILE_TOO_LARGE`, `INVALID_AUDIO_FORMAT`, `AUDIO_TRANSCRIPTION_ERROR`, `TTS_TEXT_TOO_LONG`, `TTS_VOICE_UNKNOWN`, `TOO_MANY_AUDIO_TRANSCRIPTIONS`, `EMAIL_SEND_FAILED`, `TOO_MANY_ATTACHMENTS`, `INVALID_ATTACHMENT_URL`, `ATTACHMENT_TOO_LARGE`, `TOO_MANY_RECIPIENTS`, `EMAIL_RECIPIENT_SUPPRESSED`, `EMAIL_DOMAIN_NOT_VERIFIED`, `EMAIL_LOCAL_PART_TAKEN`, `EMAIL_SENDING_PAUSED`, `EMAIL_DOMAINS_REQUIRE_PAID_PLAN`, `SUPPRESSION_PERMANENT`, `DEV_RECIPIENT_NOT_ALLOWED`, `CRON_LIMIT_REACHED`, `INVALID_SCHEDULE`, `CRON_URL_NOT_ALLOWED`, `CRON_JOB_NOT_FOUND`, `CRON_REQUIRES_PUBLISHED_PROJECT`, `URL_NOT_PROJECT_HOST`, `INDEXNOW_ERROR`, `MCP_VERIFY_FAILED`, `MCP_NAME_RESERVED`, `MCP_LIMIT_REACHED`, `MCP_SERVER_NOT_FOUND`, `PAYMENTS_NOT_ENABLED`, `PAYMENTS_LIVE_ONBOARDING_REQUIRED`, `CARD_DATA_NOT_ACCEPTED`, `STRIPE_ERROR`, `STRIPE_RATE_LIMITED`, `PAYMENTS_WEBHOOK_SIGNATURE_INVALID`, `AI_MODEL_NOT_ALLOWED`, `AI_MODEL_UNKNOWN`, `AI_INVALID_SCHEMA`, `AI_CONTENT_BLOCKED`, `AI_CONTEXT_TOO_LONG`, `AI_PROVIDER_QUOTA`, `AI_PROVIDER_UNAVAILABLE`, `AI_STREAM_ERROR`, `AI_VIDEO_JOB_NOT_FOUND`, `AI_VIDEO_FAILED`, `MISSING_VIDEO_URL`, `MISSING_PROMPT`, `INVALID_VIDEO_URL`, `INVALID_VIDEO_URL_PROTOCOL`, `INVALID_MIME_TYPE_HINT`, `VIDEO_TOO_LARGE`, `VIDEO_URL_UNREACHABLE`, `VIDEO_URL_NOT_A_VIDEO`, `YOUTUBE_VIDEO_UNAVAILABLE`, `NO_PAYMENT_METHOD`, `DOMAIN_CONTACT_REQUIRED`, `DOMAIN_UNAVAILABLE`, `DOMAIN_PREMIUM_NOT_ALLOWED`, `TLD_NOT_ALLOWED`, `DOMAIN_LIMIT_REACHED`, `PRICE_CHANGED`, `PAYMENT_FAILED`, `REGISTRATION_FAILED`, `DOMAIN_NOT_RENEWABLE`, `DOMAIN_ALREADY_ATTACHED`, `DNS_RECORD_MANAGED`, `DNS_RECORD_CONFLICT`, `DNS_RECORD_LIMIT`, `DOMAIN_TRANSFER_LOCKED`, `DOMAIN_NOT_FOUND`, `DOMAIN_IN_USE`, `DOMAIN_ALREADY_ADDED`, `NO_DEPLOYMENT`, `REDIRECT_LIMIT_REACHED`, `REDIRECT_INVALID`, `APEX_NOT_FLATTENABLE`, `SECOND_FACTOR_NOT_CONFIGURED`, `PASSWORD_REQUIRED`, `PASSWORD_INCORRECT`, `TOO_MANY_ATTEMPTS`, `CONFIRMATION_MISMATCH`, `INVALID_TOKEN`, `MISSING_PERMISSIONS`, `REPO_NOT_FOUND`, `REPO_MISSING_BRANCHES`, `UNKNOWN`, `SANDBOX_NOT_READY`, `SYNC_FAILED`, `TOKEN_EXPIRED`, `GITHUB_NOT_CONNECTED`, `FIGMA_TOKEN_MISSING`, `FIGMA_TOKEN_MALFORMED`, `FIGMA_TOKEN_INVALID`, `FIGMA_TOKEN_FORBIDDEN`, `FIGMA_RATE_LIMITED`, `FIGMA_UNREACHABLE`, `INVALID_IMPORT_CODE`, `IMPORT_SOURCE_GONE`, `PROJECT_NOT_IMPORTABLE`, `PROJECT_IMPORT_LIMIT_REACHED`, `PROJECT_EXPORT_LIMIT_REACHED`, `VERSION_NOT_FOUND`, `INVALID_CODE_EDIT`, `CODE_EDIT_FAILED`, `BADGE_IN_SOURCE`.
45
45
 
46
46
  ## `totalum-sdk`
47
47
 
@@ -427,15 +427,17 @@ totalumSpeech(options?: TotalumClientOptions)
427
427
  speech.transcribe(input: { audioBase64?: string | undefined; filename?: string | undefined; url?: string | undefined; language?: string | undefined; model?: 'fast' | 'accurate' | undefined; diarize?: boolean | undefined; timestamps?: 'word' | 'segment' | undefined; keyterms?: string[] | undefined; }): Promise<{ text: string; durationSec: number; usage: { credits: number; vendor?: string | undefined; units?: number | undefined; vendorCostUsd?: number | undefined; }; language?: string | undefined; segments?: { start: number; end: number; text: string; }[] | undefined; words?: { word: string; start: number; end: number; }[] | undefined; }>
428
428
  ```
429
429
 
430
- Speech to text from `audioBase64` or a `url`; optional language, word timestamps and speakers.
430
+ Speech to text from `audioBase64` (+ `filename` with its extension) or a `url` — a public one, or a file this
431
+ project stored; optional language, word timestamps and speakers.
431
432
 
432
433
  #### `speech.synthesize`
433
434
 
434
435
  ```ts
435
- speech.synthesize(input: { text: string; voice?: string | undefined; language?: string | undefined; model?: 'standard' | 'premium' | undefined; format?: 'mp3' | 'wav' | 'opus' | undefined; speed?: number | undefined; store?: boolean | undefined; }): Promise<{ key: string; url: string; usage: { credits: number; vendor?: string | undefined; units?: number | undefined; vendorCostUsd?: number | undefined; }; } | { audio: ArrayBuffer; contentType: string; credits: number; }>
436
+ speech.synthesize(input: { text: string; voice?: string | undefined; language?: string | undefined; model?: 'standard' | 'premium' | undefined; format?: 'mp3' | 'wav' | 'opus' | undefined; speed?: number | undefined; store?: boolean | undefined; } & { store: true; }): Promise<{ key: string; url: string; usage: { credits: number; vendor?: string | undefined; units?: number | undefined; vendorCostUsd?: number | undefined; }; }>
437
+ speech.synthesize(input: { text: string; voice?: string | undefined; language?: string | undefined; model?: 'standard' | 'premium' | undefined; format?: 'mp3' | 'wav' | 'opus' | undefined; speed?: number | undefined; store?: boolean | undefined; }): Promise<{ key: string; url: string; usage: { credits: number; vendor?: string | undefined; units?: number | undefined; vendorCostUsd?: number | undefined; }; } | SpeechAudio>
436
438
  ```
437
439
 
438
- The audio bytes, or with `store: true` the stored file `{key, url, usage}`; `credits` is the call's hold.
440
+ The stored file `{key, url, usage}` with `store: true`; else the audio bytes (`credits` is the call's hold).
439
441
 
440
442
  ## `totalum-sdk/ai`
441
443
 
@@ -546,7 +548,8 @@ A text description of an image (URL, data URL or project file key).
546
548
  #### `ai.speech.speak`
547
549
 
548
550
  ```ts
549
- ai.speech.speak(input: { text: string; voice?: string | undefined; language?: string | undefined; model?: 'standard' | 'premium' | undefined; format?: 'mp3' | 'wav' | 'opus' | undefined; speed?: number | undefined; store?: boolean | undefined; }): Promise<{ key: string; url: string; usage: { credits: number; vendor?: string | undefined; units?: number | undefined; vendorCostUsd?: number | undefined; }; } | { audio: ArrayBuffer; contentType: string; credits: number; }>
551
+ ai.speech.speak(input: { text: string; voice?: string | undefined; language?: string | undefined; model?: 'standard' | 'premium' | undefined; format?: 'mp3' | 'wav' | 'opus' | undefined; speed?: number | undefined; store?: boolean | undefined; } & { store: true; }): Promise<{ key: string; url: string; usage: { credits: number; vendor?: string | undefined; units?: number | undefined; vendorCostUsd?: number | undefined; }; }>
552
+ ai.speech.speak(input: { text: string; voice?: string | undefined; language?: string | undefined; model?: 'standard' | 'premium' | undefined; format?: 'mp3' | 'wav' | 'opus' | undefined; speed?: number | undefined; store?: boolean | undefined; }): Promise<{ key: string; url: string; usage: { credits: number; vendor?: string | undefined; units?: number | undefined; vendorCostUsd?: number | undefined; }; } | SpeechAudio>
550
553
  ```
551
554
 
552
555
  Same as `speech.synthesize`.
@@ -736,13 +739,30 @@ totalumBrowser(options?: TotalumClientOptions)
736
739
  over HTTPS, so every command works from a Worker. A command's refusal throws `TotalumError` with its frozen
737
740
  code (`ACTION_TIMEOUT`, `ACTION_FAILED`, …); `actions()` returns every result instead.
738
741
 
742
+ #### Things that still need a CDP connection
743
+
744
+ Nothing an app needs. Every capability is a command or a create-time option, so it works in a published app. The
745
+ list keeps exactly two entries, neither of which an app needs:
746
+
747
+ - Attaching a raw CDP domain listener for a continuous event stream — `network.subscribe` is the push channel for the app case.
748
+ - Driving the session with a third-party Node library's own protocol client (`connectOverCDP`, `puppeteer.connect`).
749
+
750
+ #### Not possible for anyone, over any transport
751
+
752
+ - Seeding a saved profile from raw bytes (`CONTEXT_SEED_UNSUPPORTED`) — the vendor's context upload is deprecated; create a profile by running a session with `context: { persist: true }`, and replay cookies and web storage with `cookies.set` and `storage.set` (a service worker or an IndexedDB database cannot be replayed).
753
+
739
754
  #### `browser.session`
740
755
 
741
756
  ```ts
742
757
  browser.session(opts?: { proxy?: { enabled: boolean; country?: string | undefined; state?: string | undefined; city?: string | undefined; routes?: { domainPattern: string; mode: 'totalum' | 'none' | 'external'; country?: string | undefined; state?: string | undefined; city?: string | undefined; server?: string | undefined; username?: string | undefined; password?: string | undefined; }[] | undefined; } | undefined; solveCaptchas?: boolean | undefined; captcha?: { imageSelector?: string | undefined; inputSelector?: string | undefined; } | undefined; stealth?: 'basic' | 'off' | 'verified' | undefined; fingerprintOs?: 'mobile' | 'windows' | 'mac' | 'linux' | 'tablet' | undefined; timeoutMinutes?: number | undefined; keepAlive?: boolean | undefined; context?: { id: string; persist?: boolean | undefined; } | undefined; contextId?: string | undefined; blockAds?: boolean | undefined; allowedDomains?: string[] | undefined; ignoreCertificateErrors?: boolean | undefined; caCertificateIds?: string[] | undefined; extensionId?: string | undefined; metadata?: Record<string, string> | undefined; logSession?: boolean | undefined; recordSession?: boolean | undefined; region?: 'eu' | 'us-west-2' | 'us-east-1' | 'eu-central-1' | 'ap-southeast-1' | 'us' | undefined; locale?: string | undefined; timezone?: string | undefined; geolocation?: { latitude: number; longitude: number; accuracy?: number | undefined; } | undefined; userAgent?: string | undefined; extraHeaders?: Record<string, string> | undefined; blockResources?: ('image' | 'media' | 'font')[] | undefined; device?: string | undefined; captureDownloads?: boolean | undefined; viewport?: { width: number; height: number; } | undefined; }): Promise<BrowserSession>
743
758
  ```
744
759
 
745
- Opens a session with the vendor options and the Totalum-synthesised ones.
760
+ Opens a session. Totalum-synthesised over CDP (not vendor fields, so the vendor validates none of them):
761
+ `locale`, `timezone`, `geolocation`, `userAgent`, `extraHeaders`, `blockResources`, `device`,
762
+ `captureDownloads`, `viewport`. Mapped onto vendor fields: `stealth` (`'off' | 'basic' | 'verified'` → the
763
+ vendor's `verified` and `os`; `'verified'` needs the vendor's Scale tier, else `STEALTH_TIER_UNAVAILABLE`, and
764
+ ignores `viewport`) and `region` (the vendor's four regions; `'eu'`, `'us'` are aliases). Every other option is
765
+ a vendor field.
746
766
 
747
767
  #### `browser.sessions.list`
748
768
 
@@ -763,7 +783,7 @@ A handle on an existing session (no call is made).
763
783
  #### `browser.programs.get`
764
784
 
765
785
  ```ts
766
- browser.programs.get(programId: string): Promise<{ programId: string; sessionId: string; status: 'completed' | 'running' | 'failed' | 'pending' | 'timed_out'; steps: { index: number; type: string; ok: boolean; data?: unknown; error?: { code: 'SERVICE_UNAUTHORIZED' | 'SERVICE_REPLAY' | 'ACTOR_MISMATCH' | 'PAYLOAD_TOO_LARGE' | 'VALIDATION_ERROR' | 'PROJECT_NOT_FOUND' | 'OPERATION_IN_PROGRESS' | 'AGENT_RUNNING' | 'PROJECT_MOVED' | 'OBJECT_MIGRATING' | 'INDEX_SHARD_UNAVAILABLE' | 'RATE_LIMIT_EXCEEDED' | 'PROJECT_PAUSED_RUNAWAY' | 'PROJECT_PAUSED_BALANCE' | 'PROJECT_SUSPENDED' | 'PROJECT_HIBERNATED' | 'PROJECT_DELETED' | 'PROJECT_PAUSED_BY_USER' | 'LIFECYCLE_NOT_APPLICABLE' | 'PROJECT_NOT_PAUSED' | 'PAUSE_DUMP_EXPIRED' | 'PAUSE_VERIFICATION_FAILED' | 'DEPLOYMENT_IN_PROGRESS' | 'REACTIVATE_IMPORT_MISMATCH' | 'RESUME_IMPORT_MISMATCH' | 'INSUFFICIENT_CREDITS' | 'VCAAS_INSUFFICIENT_CREDITS' | 'PROJECT_CREDIT_LIMIT_REACHED' | 'FREE_PROMPTS_DISABLED' | 'PLAN_REQUIRED' | 'FEATURE_LIMIT_REACHED' | 'FEATURE_DISABLED' | 'AGENT_ALREADY_RUNNING' | 'IMPORT_IN_PROGRESS' | 'TOO_MANY_RUN_REQUESTS' | 'PROMPT_SECURITY_VIOLATION' | 'NO_PROCESS_RUNNING' | 'RUN_NOT_FOUND' | 'DEPLOYMENT_RUNNING' | 'AUTO_EXECUTION_ALREADY_ACTIVE' | 'REBUILD_RUNNING' | 'SECRET_ALREADY_EXISTS' | 'SECRET_LIMIT_EXCEEDED' | 'RESERVED_SECRET_NAME' | 'DUMP_NOT_FOUND' | 'DUMP_INVALID' | 'RESTORE_TARGET_NOT_EMPTY' | 'ENGINE_NOT_SUPPORTED' | 'ENGINE_V2_DISABLED' | 'V2_TEMPORARILY_DISABLED' | 'ENGINE_REQUEST_NOT_ELIGIBLE' | 'ENGINE_MISMATCH' | 'INVALID_ENGINE_VERSION' | 'PROJECT_ENGINE_MISMATCH' | 'ENGINE_UNAVAILABLE' | 'PREVIEW_LABEL_TOO_LONG' | 'PROJECT_ALREADY_EXISTS' | 'CLOUDFLARE_API_ERROR' | 'PROVISIONING_BUSY' | 'UNAUTHORIZED' | 'LEGACY_KEY_NOT_SUPPORTED' | 'SANDBOX_KEY_EXPIRED' | 'AUTH_RATE_LIMITED' | 'FORBIDDEN_SCOPE' | 'KEY_ENV_MISMATCH' | 'KEY_LIMIT_EXCEEDED' | 'LIVE_DB_READ_ONLY' | 'LIVE_WRITE_NEEDS_CONFIRMATION' | 'DDL_NOT_ALLOWED' | 'MIGRATION_IN_PROGRESS' | 'MIGRATION_EDITED' | 'SCHEMA_OUT_OF_SYNC' | 'LIVE_MIGRATION_FAILED' | 'DESTRUCTIVE_MIGRATION_NEEDS_CONFIRMATION' | 'DEV_DATABASE_NOT_FOUND' | 'DATABASE_ROLE_NOT_FOUND' | 'BOOKMARK_NOT_FOUND' | 'BACKUP_NOT_FOUND' | 'BACKUP_NOT_DELETABLE' | 'BACKUP_RATE_LIMITED' | 'PRE_RESTORE_BACKUP_FAILED' | 'RESTORE_VERIFY_FAILED' | 'RUN_NOT_LATEST' | 'DEV_DATABASE_EXISTS' | 'SQL_ERROR' | 'SQL_MULTI_STATEMENT' | 'SQL_STATEMENT_TOO_LARGE' | 'SQL_TOO_MANY_PARAMS' | 'STATEMENT_NOT_ALLOWED' | 'VIRTUAL_TABLES_NOT_SUPPORTED' | 'USE_STORAGE_FOR_FILES' | 'D1_TYPE_ERROR' | 'MIGRATION_INVALID' | 'SYSTEM_TABLE_READ_ONLY' | 'SQL_READ_ONLY' | 'RESULT_TOO_LARGE' | 'NL_QUERY_UNANSWERABLE' | 'QUERY_TIMEOUT' | 'DB_OVERLOADED' | 'D1_TRANSIENT' | 'DB_FULL_NEAR_LIMIT' | 'IDEMPOTENCY_KEY_REUSED' | 'IDEMPOTENT_REPLAY_UNAVAILABLE' | 'TABLE_NOT_FOUND' | 'SCHEMA_TOO_LARGE_FOR_COUNTS' | 'EXEC_REQUIRES_MIGRATE_MODE' | 'MIGRATION_UNKNOWN_IN_DB' | 'QUERY_LIMIT_EXCEEDED' | 'STORAGE_LIMIT_EXCEEDED' | 'METER_UNAVAILABLE' | 'COLUMN_NOT_FOUND' | 'VALUE_NOT_ALLOWED' | 'COLUMN_REQUIRED' | 'FILTER_TOO_COMPLEX' | 'OFFSET_TOO_LARGE' | 'BULK_TOO_LARGE' | 'NOT_A_JUNCTION_TABLE' | 'AMBIGUOUS_RELATION' | 'LIVE_WRITE_CONFIRMATION_REQUIRED' | 'RECORD_NOT_FOUND' | 'DEV_NAME_GUARD' | 'PROD_NAME_GUARD' | 'INVALID_RUN_REQUEST' | 'RUN_ALREADY_ACTIVE' | 'RUN_CONFLICT' | 'INVALID_CREDENTIALS' | 'ADAPTER_UNAVAILABLE' | 'DISK_FULL' | 'DEPLOY_FIX_ATTEMPTS_EXHAUSTED' | 'TOKEN_REVOKED' | 'AM_UPDATE_DOWNLOAD_FAILED' | 'AM_UPDATE_BAD_SHA' | 'AM_UPDATE_BAD_SIGNATURE' | 'AM_UPDATE_INCOMPATIBLE_IMAGE' | 'AM_UPDATE_START_FAILED' | 'AM_VERSION_UNAVAILABLE' | 'AM_UPDATE_FAILED' | 'RELEASE_CANARY_NOT_PASSED' | 'RELEASE_NOT_FOUND' | 'RELEASE_ROLLOUT_ACTIVE' | 'RELEASE_GUARD_PAUSED' | 'RELEASE_BUILD_UNAVAILABLE' | 'VISUAL_EDIT_PREVIEW_DEPLOYING' | 'VISUAL_EDIT_NOT_PATCHABLE' | 'VISUAL_EDIT_BASE_MISMATCH' | 'VISUAL_EDIT_TYPECHECK_FAILED' | 'INVALID_VISUAL_EDIT' | 'IMAGE_VERSION_NOT_FOUND' | 'IMAGE_VERSION_NOT_PROMOTABLE' | 'REALTIME_TICKET_INVALID' | 'REALTIME_TICKET_EXPIRED' | 'REALTIME_PERMISSION_DENIED' | 'REALTIME_MESSAGE_TOO_LARGE' | 'REALTIME_MESSAGE_RATE_EXCEEDED' | 'REALTIME_CONNECTION_LIMIT_REACHED' | 'REALTIME_ROOM_LIMIT_REACHED' | 'CONFIRMATION_REQUIRED' | 'MIGRATION_NOT_REVERSIBLE' | 'ALREADY_ON_PROVIDER' | 'DATABASE_MIGRATING' | 'LOGWATCH_INACTIVE' | 'AGENT_LOG_READS_LIMIT' | 'LOGS_UPSTREAM_ERROR' | 'ANALYTICS_INVALID_QUERY' | 'ANALYTICS_UPSTREAM_ERROR' | 'ANALYTICS_WINDOW_OUT_OF_RETENTION' | 'INVALID_CIDR' | 'RATE_LIMIT_ABOVE_PLAN' | 'RATE_LIMIT_DISABLE_NOT_ALLOWED' | 'OWNER_ONLY' | 'SIGNING_NOT_CONFIGURED' | 'SIGNING_ALREADY_CONFIGURED' | 'SIGNING_INVALID_KEYSTORE' | 'SIGNING_INVALID_ASC_KEY' | 'KEYSTORE_DOWNLOAD_EXPIRED' | 'KEYSTORE_NOT_DOWNLOADABLE' | 'MOBILE_BUILD_RUNNING' | 'MOBILE_BUILD_NOT_FOUND' | 'MOBILE_BUILD_NOT_READY' | 'DOWNLOAD_EXPIRED' | 'PROCESS_IN_PROGRESS' | 'SANDBOX_NOT_RUNNING' | 'MOBILE_LAYER_MISSING' | 'MOBILE_BUILD_FAILED' | 'MOBILE_ARTIFACT_INVALID' | 'SIGNING_FINGERPRINT_MISMATCH' | 'AM_RESTARTED' | 'LIMIT_ABOVE_PLAN_CEILING' | 'UNKNOWN_FEATURE' | 'INVALID_LIMIT' | 'FEATURE_NOT_DISABLABLE' | 'USE_PUT_LIMITS' | 'LIMIT_NOT_USER_EDITABLE' | 'NOT_AVAILABLE_FOR_ENGINE' | 'INVALID_AMOUNT' | 'REFUND_EXCEEDS_CHARGES' | 'IDEMPOTENCY_CONFLICT' | 'ORGANIZATION_NOT_FOUND' | 'ACCOUNT_NOT_FOUND' | 'PROVIDER_UNAVAILABLE' | 'URL_NOT_ALLOWED' | 'JOB_NOT_FOUND' | 'FILE_TOO_LARGE' | 'UNSUPPORTED_FILE_TYPE' | 'FILE_NOT_FOUND' | 'FILE_KEY_FORBIDDEN' | 'FILE_UPLOAD_ERROR' | 'FILE_DOWNLOAD_ERROR' | 'FILE_DELETE_ERROR' | 'UPLOAD_NOT_COMPLETED' | 'MISSING_URL' | 'MISSING_INPUT' | 'MISSING_EXTRACTION_CONFIG' | 'MISSING_QUERY' | 'SCRAPE_FAILED' | 'EXTRACT_FAILED' | 'SCREENSHOT_FAILED' | 'SEARCH_FAILED' | 'SCRAPE_BLOCKED' | 'SESSION_NOT_FOUND' | 'SESSION_EXPIRED' | 'SESSION_BUSY' | 'SESSION_LIMIT_REACHED' | 'SESSION_ENDED_INSUFFICIENT_CREDITS' | 'ACTION_TIMEOUT' | 'ACTION_FAILED' | 'UNKNOWN_COMMAND' | 'BATCH_TOO_LARGE' | 'SKIPPED' | 'UPLOAD_TOO_LARGE' | 'DOWNLOAD_TOO_LARGE' | 'CAPTURE_LIMIT_REACHED' | 'CAPTCHA_UNSOLVED' | 'BROWSER_CDP_NODE_ONLY' | 'DIALOG_NOT_OPEN' | 'STEALTH_TIER_UNAVAILABLE' | 'DOMAIN_NOT_ALLOWED' | 'CONTEXT_SEED_UNSUPPORTED' | 'EXTENSION_TOO_LARGE' | 'NL_PROVIDER_UNAVAILABLE' | 'PROGRAM_TOO_LARGE' | 'PROGRAM_UNBOUNDED' | 'UNKNOWN_STEP' | 'PROGRAM_IN_FLIGHT' | 'PROGRAM_TIMEOUT' | 'PROGRAM_NOT_FOUND' | 'PROGRAM_STEP_FAILED' | 'PROGRAM_LIMIT_REACHED' | 'CREATE_PDF_FROM_HTML_ERROR' | 'GENERATE_PDF_BY_URL_ERROR' | 'PDF_TIMEOUT' | 'PDF_TOO_LARGE' | 'FILENAME_REQUIRED' | 'SCANUM_EYE_ARRAY_NOT_SUPPORTED' | 'INVALID_EXTRA_FIELD_TYPE' | 'SCANUM_EYE_PDF_NOT_SUPPORTED' | 'UNSUPPORTED_SCAN_MODEL' | 'SCAN_DOCUMENT_ERROR' | 'SCAN_INVOICE_ERROR' | 'OCR_IMAGE_PROCESSING_ERROR' | 'OCR_PDF_PROCESSING_ERROR' | 'SCAN_TOO_MANY_PAGES' | 'SCAN_PDF_ENCRYPTED' | 'SCAN_XFA_UNSUPPORTED' | 'AUDIO_FILE_REQUIRED' | 'AUDIO_FILE_TOO_LARGE' | 'INVALID_AUDIO_FORMAT' | 'AUDIO_TRANSCRIPTION_ERROR' | 'TTS_TEXT_TOO_LONG' | 'TTS_VOICE_UNKNOWN' | 'TOO_MANY_AUDIO_TRANSCRIPTIONS' | 'EMAIL_SEND_FAILED' | 'TOO_MANY_ATTACHMENTS' | 'INVALID_ATTACHMENT_URL' | 'ATTACHMENT_TOO_LARGE' | 'TOO_MANY_RECIPIENTS' | 'EMAIL_RECIPIENT_SUPPRESSED' | 'EMAIL_DOMAIN_NOT_VERIFIED' | 'EMAIL_LOCAL_PART_TAKEN' | 'EMAIL_SENDING_PAUSED' | 'EMAIL_DOMAINS_REQUIRE_PAID_PLAN' | 'SUPPRESSION_PERMANENT' | 'DEV_RECIPIENT_NOT_ALLOWED' | 'CRON_LIMIT_REACHED' | 'INVALID_SCHEDULE' | 'CRON_URL_NOT_ALLOWED' | 'CRON_JOB_NOT_FOUND' | 'CRON_REQUIRES_PUBLISHED_PROJECT' | 'URL_NOT_PROJECT_HOST' | 'INDEXNOW_ERROR' | 'MCP_VERIFY_FAILED' | 'MCP_NAME_RESERVED' | 'MCP_LIMIT_REACHED' | 'MCP_SERVER_NOT_FOUND' | 'PAYMENTS_NOT_ENABLED' | 'PAYMENTS_LIVE_ONBOARDING_REQUIRED' | 'CARD_DATA_NOT_ACCEPTED' | 'STRIPE_ERROR' | 'STRIPE_RATE_LIMITED' | 'PAYMENTS_WEBHOOK_SIGNATURE_INVALID' | 'AI_MODEL_NOT_ALLOWED' | 'AI_MODEL_UNKNOWN' | 'AI_INVALID_SCHEMA' | 'AI_CONTENT_BLOCKED' | 'AI_CONTEXT_TOO_LONG' | 'AI_PROVIDER_QUOTA' | 'AI_PROVIDER_UNAVAILABLE' | 'AI_STREAM_ERROR' | 'AI_VIDEO_JOB_NOT_FOUND' | 'AI_VIDEO_FAILED' | 'MISSING_VIDEO_URL' | 'MISSING_PROMPT' | 'INVALID_VIDEO_URL' | 'INVALID_VIDEO_URL_PROTOCOL' | 'INVALID_MIME_TYPE_HINT' | 'VIDEO_TOO_LARGE' | 'VIDEO_URL_UNREACHABLE' | 'VIDEO_URL_NOT_A_VIDEO' | 'YOUTUBE_VIDEO_UNAVAILABLE' | 'NO_PAYMENT_METHOD' | 'DOMAIN_CONTACT_REQUIRED' | 'DOMAIN_UNAVAILABLE' | 'DOMAIN_PREMIUM_NOT_ALLOWED' | 'TLD_NOT_ALLOWED' | 'DOMAIN_LIMIT_REACHED' | 'PRICE_CHANGED' | 'PAYMENT_FAILED' | 'REGISTRATION_FAILED' | 'DOMAIN_NOT_RENEWABLE' | 'DOMAIN_ALREADY_ATTACHED' | 'DNS_RECORD_MANAGED' | 'DNS_RECORD_CONFLICT' | 'DNS_RECORD_LIMIT' | 'DOMAIN_TRANSFER_LOCKED' | 'DOMAIN_NOT_FOUND' | 'DOMAIN_IN_USE' | 'DOMAIN_ALREADY_ADDED' | 'NO_DEPLOYMENT' | 'REDIRECT_LIMIT_REACHED' | 'REDIRECT_INVALID' | 'APEX_NOT_FLATTENABLE' | 'SECOND_FACTOR_NOT_CONFIGURED' | 'PASSWORD_REQUIRED' | 'PASSWORD_INCORRECT' | 'TOO_MANY_ATTEMPTS' | 'CONFIRMATION_MISMATCH' | 'INVALID_TOKEN' | 'MISSING_PERMISSIONS' | 'REPO_NOT_FOUND' | 'REPO_MISSING_BRANCHES' | 'UNKNOWN' | 'SANDBOX_NOT_READY' | 'SYNC_FAILED' | 'TOKEN_EXPIRED' | 'GITHUB_NOT_CONNECTED' | 'FIGMA_TOKEN_MISSING' | 'FIGMA_TOKEN_MALFORMED' | 'FIGMA_TOKEN_INVALID' | 'FIGMA_TOKEN_FORBIDDEN' | 'FIGMA_RATE_LIMITED' | 'FIGMA_UNREACHABLE' | 'INVALID_IMPORT_CODE' | 'IMPORT_SOURCE_GONE' | 'PROJECT_NOT_IMPORTABLE' | 'PROJECT_IMPORT_LIMIT_REACHED' | 'PROJECT_EXPORT_LIMIT_REACHED' | 'VERSION_NOT_FOUND' | 'INVALID_CODE_EDIT' | 'CODE_EDIT_FAILED' | 'BADGE_IN_SOURCE'; message?: string | undefined; } | undefined; }[]; vars: Record<string, unknown>; startedAt: string; credits: number; result?: unknown; endedAt?: string | undefined; }>
786
+ browser.programs.get(programId: string): Promise<{ programId: string; sessionId: string; status: 'completed' | 'running' | 'failed' | 'pending' | 'timed_out'; steps: { index: number; type: string; ok: boolean; data?: unknown; error?: { code: 'SERVICE_UNAUTHORIZED' | 'SERVICE_REPLAY' | 'ACTOR_MISMATCH' | 'PAYLOAD_TOO_LARGE' | 'VALIDATION_ERROR' | 'PROJECT_NOT_FOUND' | 'OPERATION_IN_PROGRESS' | 'AGENT_RUNNING' | 'PROJECT_MOVED' | 'OBJECT_MIGRATING' | 'INDEX_SHARD_UNAVAILABLE' | 'RATE_LIMIT_EXCEEDED' | 'PROJECT_PAUSED_RUNAWAY' | 'PROJECT_PAUSED_BALANCE' | 'PROJECT_SUSPENDED' | 'PROJECT_HIBERNATED' | 'PROJECT_DELETED' | 'PROJECT_PAUSED_BY_USER' | 'LIFECYCLE_NOT_APPLICABLE' | 'PROJECT_NOT_PAUSED' | 'PAUSE_DUMP_EXPIRED' | 'PAUSE_VERIFICATION_FAILED' | 'DEPLOYMENT_IN_PROGRESS' | 'REACTIVATE_IMPORT_MISMATCH' | 'RESUME_IMPORT_MISMATCH' | 'INSUFFICIENT_CREDITS' | 'VCAAS_INSUFFICIENT_CREDITS' | 'PROJECT_CREDIT_LIMIT_REACHED' | 'FREE_PROMPTS_DISABLED' | 'PLAN_REQUIRED' | 'FEATURE_LIMIT_REACHED' | 'FEATURE_DISABLED' | 'AGENT_ALREADY_RUNNING' | 'IMPORT_IN_PROGRESS' | 'TOO_MANY_RUN_REQUESTS' | 'PROMPT_SECURITY_VIOLATION' | 'NO_PROCESS_RUNNING' | 'RUN_NOT_FOUND' | 'DEPLOYMENT_RUNNING' | 'AUTO_EXECUTION_ALREADY_ACTIVE' | 'REBUILD_RUNNING' | 'SECRET_ALREADY_EXISTS' | 'SECRET_LIMIT_EXCEEDED' | 'RESERVED_SECRET_NAME' | 'DUMP_NOT_FOUND' | 'DUMP_INVALID' | 'RESTORE_TARGET_NOT_EMPTY' | 'ENGINE_NOT_SUPPORTED' | 'ENGINE_V2_DISABLED' | 'V2_TEMPORARILY_DISABLED' | 'ENGINE_REQUEST_NOT_ELIGIBLE' | 'ENGINE_MISMATCH' | 'INVALID_ENGINE_VERSION' | 'PROJECT_ENGINE_MISMATCH' | 'ENGINE_UNAVAILABLE' | 'PREVIEW_LABEL_TOO_LONG' | 'PROJECT_ALREADY_EXISTS' | 'CLOUDFLARE_API_ERROR' | 'PROVISIONING_BUSY' | 'UNAUTHORIZED' | 'LEGACY_KEY_NOT_SUPPORTED' | 'SANDBOX_KEY_EXPIRED' | 'AUTH_RATE_LIMITED' | 'FORBIDDEN_SCOPE' | 'KEY_ENV_MISMATCH' | 'KEY_LIMIT_EXCEEDED' | 'LIVE_DB_READ_ONLY' | 'LIVE_WRITE_NEEDS_CONFIRMATION' | 'DDL_NOT_ALLOWED' | 'MIGRATION_IN_PROGRESS' | 'MIGRATION_EDITED' | 'SCHEMA_OUT_OF_SYNC' | 'LIVE_MIGRATION_FAILED' | 'DESTRUCTIVE_MIGRATION_NEEDS_CONFIRMATION' | 'DEV_DATABASE_NOT_FOUND' | 'DATABASE_ROLE_NOT_FOUND' | 'BOOKMARK_NOT_FOUND' | 'BACKUP_NOT_FOUND' | 'BACKUP_NOT_DELETABLE' | 'BACKUP_RATE_LIMITED' | 'PRE_RESTORE_BACKUP_FAILED' | 'RESTORE_VERIFY_FAILED' | 'RUN_NOT_LATEST' | 'DEV_DATABASE_EXISTS' | 'SQL_ERROR' | 'SQL_MULTI_STATEMENT' | 'SQL_STATEMENT_TOO_LARGE' | 'SQL_TOO_MANY_PARAMS' | 'STATEMENT_NOT_ALLOWED' | 'VIRTUAL_TABLES_NOT_SUPPORTED' | 'USE_STORAGE_FOR_FILES' | 'D1_TYPE_ERROR' | 'MIGRATION_INVALID' | 'SYSTEM_TABLE_READ_ONLY' | 'SQL_READ_ONLY' | 'RESULT_TOO_LARGE' | 'NL_QUERY_UNANSWERABLE' | 'QUERY_TIMEOUT' | 'DB_OVERLOADED' | 'D1_TRANSIENT' | 'DB_FULL_NEAR_LIMIT' | 'IDEMPOTENCY_KEY_REUSED' | 'IDEMPOTENT_REPLAY_UNAVAILABLE' | 'TABLE_NOT_FOUND' | 'SCHEMA_TOO_LARGE_FOR_COUNTS' | 'EXEC_REQUIRES_MIGRATE_MODE' | 'MIGRATION_UNKNOWN_IN_DB' | 'QUERY_LIMIT_EXCEEDED' | 'STORAGE_LIMIT_EXCEEDED' | 'METER_UNAVAILABLE' | 'COLUMN_NOT_FOUND' | 'VALUE_NOT_ALLOWED' | 'COLUMN_REQUIRED' | 'FILTER_TOO_COMPLEX' | 'OFFSET_TOO_LARGE' | 'BULK_TOO_LARGE' | 'NOT_A_JUNCTION_TABLE' | 'AMBIGUOUS_RELATION' | 'LIVE_WRITE_CONFIRMATION_REQUIRED' | 'RECORD_NOT_FOUND' | 'DEV_NAME_GUARD' | 'PROD_NAME_GUARD' | 'INVALID_RUN_REQUEST' | 'RUN_ALREADY_ACTIVE' | 'RUN_CONFLICT' | 'INVALID_CREDENTIALS' | 'ADAPTER_UNAVAILABLE' | 'DISK_FULL' | 'DEPLOY_FIX_ATTEMPTS_EXHAUSTED' | 'TOKEN_REVOKED' | 'AM_UPDATE_DOWNLOAD_FAILED' | 'AM_UPDATE_BAD_SHA' | 'AM_UPDATE_BAD_SIGNATURE' | 'AM_UPDATE_INCOMPATIBLE_IMAGE' | 'AM_UPDATE_START_FAILED' | 'AM_VERSION_UNAVAILABLE' | 'AM_UPDATE_FAILED' | 'RELEASE_CANARY_NOT_PASSED' | 'RELEASE_NOT_FOUND' | 'RELEASE_ROLLOUT_ACTIVE' | 'RELEASE_GUARD_PAUSED' | 'RELEASE_BUILD_UNAVAILABLE' | 'RELEASE_BELOW_MIN_SAFE_VERSION' | 'VISUAL_EDIT_PREVIEW_DEPLOYING' | 'VISUAL_EDIT_NOT_PATCHABLE' | 'VISUAL_EDIT_BASE_MISMATCH' | 'VISUAL_EDIT_TYPECHECK_FAILED' | 'INVALID_VISUAL_EDIT' | 'IMAGE_VERSION_NOT_FOUND' | 'IMAGE_VERSION_NOT_PROMOTABLE' | 'REALTIME_TICKET_INVALID' | 'REALTIME_TICKET_EXPIRED' | 'REALTIME_PERMISSION_DENIED' | 'REALTIME_MESSAGE_TOO_LARGE' | 'REALTIME_MESSAGE_RATE_EXCEEDED' | 'REALTIME_CONNECTION_LIMIT_REACHED' | 'REALTIME_ROOM_LIMIT_REACHED' | 'CONFIRMATION_REQUIRED' | 'MIGRATION_NOT_REVERSIBLE' | 'ALREADY_ON_PROVIDER' | 'DATABASE_MIGRATING' | 'LOGWATCH_INACTIVE' | 'AGENT_LOG_READS_LIMIT' | 'LOGS_UPSTREAM_ERROR' | 'ANALYTICS_INVALID_QUERY' | 'ANALYTICS_UPSTREAM_ERROR' | 'ANALYTICS_WINDOW_OUT_OF_RETENTION' | 'INVALID_CIDR' | 'RATE_LIMIT_ABOVE_PLAN' | 'RATE_LIMIT_DISABLE_NOT_ALLOWED' | 'OWNER_ONLY' | 'SIGNING_NOT_CONFIGURED' | 'SIGNING_ALREADY_CONFIGURED' | 'SIGNING_INVALID_KEYSTORE' | 'SIGNING_INVALID_ASC_KEY' | 'KEYSTORE_DOWNLOAD_EXPIRED' | 'KEYSTORE_NOT_DOWNLOADABLE' | 'MOBILE_BUILD_RUNNING' | 'MOBILE_BUILD_NOT_FOUND' | 'MOBILE_BUILD_NOT_READY' | 'DOWNLOAD_EXPIRED' | 'PROCESS_IN_PROGRESS' | 'SANDBOX_NOT_RUNNING' | 'MOBILE_LAYER_MISSING' | 'MOBILE_BUILD_FAILED' | 'MOBILE_ARTIFACT_INVALID' | 'SIGNING_FINGERPRINT_MISMATCH' | 'AM_RESTARTED' | 'LIMIT_ABOVE_PLAN_CEILING' | 'UNKNOWN_FEATURE' | 'INVALID_LIMIT' | 'FEATURE_NOT_DISABLABLE' | 'USE_PUT_LIMITS' | 'LIMIT_NOT_USER_EDITABLE' | 'NOT_AVAILABLE_FOR_ENGINE' | 'INVALID_AMOUNT' | 'REFUND_EXCEEDS_CHARGES' | 'IDEMPOTENCY_CONFLICT' | 'ORGANIZATION_NOT_FOUND' | 'ACCOUNT_NOT_FOUND' | 'PROVIDER_UNAVAILABLE' | 'URL_NOT_ALLOWED' | 'JOB_NOT_FOUND' | 'FILE_TOO_LARGE' | 'UNSUPPORTED_FILE_TYPE' | 'FILE_NOT_FOUND' | 'FILE_KEY_FORBIDDEN' | 'FILE_UPLOAD_ERROR' | 'FILE_DOWNLOAD_ERROR' | 'FILE_DELETE_ERROR' | 'UPLOAD_NOT_COMPLETED' | 'MISSING_URL' | 'MISSING_INPUT' | 'MISSING_EXTRACTION_CONFIG' | 'MISSING_QUERY' | 'SCRAPE_FAILED' | 'EXTRACT_FAILED' | 'SCREENSHOT_FAILED' | 'SEARCH_FAILED' | 'SCRAPE_BLOCKED' | 'SESSION_NOT_FOUND' | 'SESSION_EXPIRED' | 'SESSION_BUSY' | 'SESSION_LIMIT_REACHED' | 'SESSION_ENDED_INSUFFICIENT_CREDITS' | 'ACTION_TIMEOUT' | 'ACTION_FAILED' | 'UNKNOWN_COMMAND' | 'BATCH_TOO_LARGE' | 'SKIPPED' | 'UPLOAD_TOO_LARGE' | 'DOWNLOAD_TOO_LARGE' | 'CAPTURE_LIMIT_REACHED' | 'CAPTCHA_UNSOLVED' | 'BROWSER_CDP_NODE_ONLY' | 'DIALOG_NOT_OPEN' | 'STEALTH_TIER_UNAVAILABLE' | 'DOMAIN_NOT_ALLOWED' | 'CONTEXT_SEED_UNSUPPORTED' | 'EXTENSION_TOO_LARGE' | 'NL_PROVIDER_UNAVAILABLE' | 'PROGRAM_TOO_LARGE' | 'PROGRAM_UNBOUNDED' | 'UNKNOWN_STEP' | 'PROGRAM_IN_FLIGHT' | 'PROGRAM_TIMEOUT' | 'PROGRAM_NOT_FOUND' | 'PROGRAM_STEP_FAILED' | 'PROGRAM_LIMIT_REACHED' | 'CREATE_PDF_FROM_HTML_ERROR' | 'GENERATE_PDF_BY_URL_ERROR' | 'PDF_TIMEOUT' | 'PDF_TOO_LARGE' | 'FILENAME_REQUIRED' | 'SCANUM_EYE_ARRAY_NOT_SUPPORTED' | 'INVALID_EXTRA_FIELD_TYPE' | 'SCANUM_EYE_PDF_NOT_SUPPORTED' | 'UNSUPPORTED_SCAN_MODEL' | 'SCAN_DOCUMENT_ERROR' | 'SCAN_INVOICE_ERROR' | 'OCR_IMAGE_PROCESSING_ERROR' | 'OCR_PDF_PROCESSING_ERROR' | 'SCAN_TOO_MANY_PAGES' | 'SCAN_PDF_ENCRYPTED' | 'SCAN_XFA_UNSUPPORTED' | 'AUDIO_FILE_REQUIRED' | 'AUDIO_FILE_TOO_LARGE' | 'INVALID_AUDIO_FORMAT' | 'AUDIO_TRANSCRIPTION_ERROR' | 'TTS_TEXT_TOO_LONG' | 'TTS_VOICE_UNKNOWN' | 'TOO_MANY_AUDIO_TRANSCRIPTIONS' | 'EMAIL_SEND_FAILED' | 'TOO_MANY_ATTACHMENTS' | 'INVALID_ATTACHMENT_URL' | 'ATTACHMENT_TOO_LARGE' | 'TOO_MANY_RECIPIENTS' | 'EMAIL_RECIPIENT_SUPPRESSED' | 'EMAIL_DOMAIN_NOT_VERIFIED' | 'EMAIL_LOCAL_PART_TAKEN' | 'EMAIL_SENDING_PAUSED' | 'EMAIL_DOMAINS_REQUIRE_PAID_PLAN' | 'SUPPRESSION_PERMANENT' | 'DEV_RECIPIENT_NOT_ALLOWED' | 'CRON_LIMIT_REACHED' | 'INVALID_SCHEDULE' | 'CRON_URL_NOT_ALLOWED' | 'CRON_JOB_NOT_FOUND' | 'CRON_REQUIRES_PUBLISHED_PROJECT' | 'URL_NOT_PROJECT_HOST' | 'INDEXNOW_ERROR' | 'MCP_VERIFY_FAILED' | 'MCP_NAME_RESERVED' | 'MCP_LIMIT_REACHED' | 'MCP_SERVER_NOT_FOUND' | 'PAYMENTS_NOT_ENABLED' | 'PAYMENTS_LIVE_ONBOARDING_REQUIRED' | 'CARD_DATA_NOT_ACCEPTED' | 'STRIPE_ERROR' | 'STRIPE_RATE_LIMITED' | 'PAYMENTS_WEBHOOK_SIGNATURE_INVALID' | 'AI_MODEL_NOT_ALLOWED' | 'AI_MODEL_UNKNOWN' | 'AI_INVALID_SCHEMA' | 'AI_CONTENT_BLOCKED' | 'AI_CONTEXT_TOO_LONG' | 'AI_PROVIDER_QUOTA' | 'AI_PROVIDER_UNAVAILABLE' | 'AI_STREAM_ERROR' | 'AI_VIDEO_JOB_NOT_FOUND' | 'AI_VIDEO_FAILED' | 'MISSING_VIDEO_URL' | 'MISSING_PROMPT' | 'INVALID_VIDEO_URL' | 'INVALID_VIDEO_URL_PROTOCOL' | 'INVALID_MIME_TYPE_HINT' | 'VIDEO_TOO_LARGE' | 'VIDEO_URL_UNREACHABLE' | 'VIDEO_URL_NOT_A_VIDEO' | 'YOUTUBE_VIDEO_UNAVAILABLE' | 'NO_PAYMENT_METHOD' | 'DOMAIN_CONTACT_REQUIRED' | 'DOMAIN_UNAVAILABLE' | 'DOMAIN_PREMIUM_NOT_ALLOWED' | 'TLD_NOT_ALLOWED' | 'DOMAIN_LIMIT_REACHED' | 'PRICE_CHANGED' | 'PAYMENT_FAILED' | 'REGISTRATION_FAILED' | 'DOMAIN_NOT_RENEWABLE' | 'DOMAIN_ALREADY_ATTACHED' | 'DNS_RECORD_MANAGED' | 'DNS_RECORD_CONFLICT' | 'DNS_RECORD_LIMIT' | 'DOMAIN_TRANSFER_LOCKED' | 'DOMAIN_NOT_FOUND' | 'DOMAIN_IN_USE' | 'DOMAIN_ALREADY_ADDED' | 'NO_DEPLOYMENT' | 'REDIRECT_LIMIT_REACHED' | 'REDIRECT_INVALID' | 'APEX_NOT_FLATTENABLE' | 'SECOND_FACTOR_NOT_CONFIGURED' | 'PASSWORD_REQUIRED' | 'PASSWORD_INCORRECT' | 'TOO_MANY_ATTEMPTS' | 'CONFIRMATION_MISMATCH' | 'INVALID_TOKEN' | 'MISSING_PERMISSIONS' | 'REPO_NOT_FOUND' | 'REPO_MISSING_BRANCHES' | 'UNKNOWN' | 'SANDBOX_NOT_READY' | 'SYNC_FAILED' | 'TOKEN_EXPIRED' | 'GITHUB_NOT_CONNECTED' | 'FIGMA_TOKEN_MISSING' | 'FIGMA_TOKEN_MALFORMED' | 'FIGMA_TOKEN_INVALID' | 'FIGMA_TOKEN_FORBIDDEN' | 'FIGMA_RATE_LIMITED' | 'FIGMA_UNREACHABLE' | 'INVALID_IMPORT_CODE' | 'IMPORT_SOURCE_GONE' | 'PROJECT_NOT_IMPORTABLE' | 'PROJECT_IMPORT_LIMIT_REACHED' | 'PROJECT_EXPORT_LIMIT_REACHED' | 'VERSION_NOT_FOUND' | 'INVALID_CODE_EDIT' | 'CODE_EDIT_FAILED' | 'BADGE_IN_SOURCE'; message?: string | undefined; } | undefined; }[]; vars: Record<string, unknown>; startedAt: string; credits: number; result?: unknown; endedAt?: string | undefined; }>
767
787
  ```
768
788
 
769
789
  A program's status and, once finished, its results.
@@ -771,7 +791,7 @@ A program's status and, once finished, its results.
771
791
  #### `browser.programs.wait`
772
792
 
773
793
  ```ts
774
- browser.programs.wait(programId: string, opts?: { intervalMs?: number | undefined; timeoutMs?: number | undefined; }): Promise<{ programId: string; sessionId: string; status: 'completed' | 'running' | 'failed' | 'pending' | 'timed_out'; steps: { index: number; type: string; ok: boolean; data?: unknown; error?: { code: 'SERVICE_UNAUTHORIZED' | 'SERVICE_REPLAY' | 'ACTOR_MISMATCH' | 'PAYLOAD_TOO_LARGE' | 'VALIDATION_ERROR' | 'PROJECT_NOT_FOUND' | 'OPERATION_IN_PROGRESS' | 'AGENT_RUNNING' | 'PROJECT_MOVED' | 'OBJECT_MIGRATING' | 'INDEX_SHARD_UNAVAILABLE' | 'RATE_LIMIT_EXCEEDED' | 'PROJECT_PAUSED_RUNAWAY' | 'PROJECT_PAUSED_BALANCE' | 'PROJECT_SUSPENDED' | 'PROJECT_HIBERNATED' | 'PROJECT_DELETED' | 'PROJECT_PAUSED_BY_USER' | 'LIFECYCLE_NOT_APPLICABLE' | 'PROJECT_NOT_PAUSED' | 'PAUSE_DUMP_EXPIRED' | 'PAUSE_VERIFICATION_FAILED' | 'DEPLOYMENT_IN_PROGRESS' | 'REACTIVATE_IMPORT_MISMATCH' | 'RESUME_IMPORT_MISMATCH' | 'INSUFFICIENT_CREDITS' | 'VCAAS_INSUFFICIENT_CREDITS' | 'PROJECT_CREDIT_LIMIT_REACHED' | 'FREE_PROMPTS_DISABLED' | 'PLAN_REQUIRED' | 'FEATURE_LIMIT_REACHED' | 'FEATURE_DISABLED' | 'AGENT_ALREADY_RUNNING' | 'IMPORT_IN_PROGRESS' | 'TOO_MANY_RUN_REQUESTS' | 'PROMPT_SECURITY_VIOLATION' | 'NO_PROCESS_RUNNING' | 'RUN_NOT_FOUND' | 'DEPLOYMENT_RUNNING' | 'AUTO_EXECUTION_ALREADY_ACTIVE' | 'REBUILD_RUNNING' | 'SECRET_ALREADY_EXISTS' | 'SECRET_LIMIT_EXCEEDED' | 'RESERVED_SECRET_NAME' | 'DUMP_NOT_FOUND' | 'DUMP_INVALID' | 'RESTORE_TARGET_NOT_EMPTY' | 'ENGINE_NOT_SUPPORTED' | 'ENGINE_V2_DISABLED' | 'V2_TEMPORARILY_DISABLED' | 'ENGINE_REQUEST_NOT_ELIGIBLE' | 'ENGINE_MISMATCH' | 'INVALID_ENGINE_VERSION' | 'PROJECT_ENGINE_MISMATCH' | 'ENGINE_UNAVAILABLE' | 'PREVIEW_LABEL_TOO_LONG' | 'PROJECT_ALREADY_EXISTS' | 'CLOUDFLARE_API_ERROR' | 'PROVISIONING_BUSY' | 'UNAUTHORIZED' | 'LEGACY_KEY_NOT_SUPPORTED' | 'SANDBOX_KEY_EXPIRED' | 'AUTH_RATE_LIMITED' | 'FORBIDDEN_SCOPE' | 'KEY_ENV_MISMATCH' | 'KEY_LIMIT_EXCEEDED' | 'LIVE_DB_READ_ONLY' | 'LIVE_WRITE_NEEDS_CONFIRMATION' | 'DDL_NOT_ALLOWED' | 'MIGRATION_IN_PROGRESS' | 'MIGRATION_EDITED' | 'SCHEMA_OUT_OF_SYNC' | 'LIVE_MIGRATION_FAILED' | 'DESTRUCTIVE_MIGRATION_NEEDS_CONFIRMATION' | 'DEV_DATABASE_NOT_FOUND' | 'DATABASE_ROLE_NOT_FOUND' | 'BOOKMARK_NOT_FOUND' | 'BACKUP_NOT_FOUND' | 'BACKUP_NOT_DELETABLE' | 'BACKUP_RATE_LIMITED' | 'PRE_RESTORE_BACKUP_FAILED' | 'RESTORE_VERIFY_FAILED' | 'RUN_NOT_LATEST' | 'DEV_DATABASE_EXISTS' | 'SQL_ERROR' | 'SQL_MULTI_STATEMENT' | 'SQL_STATEMENT_TOO_LARGE' | 'SQL_TOO_MANY_PARAMS' | 'STATEMENT_NOT_ALLOWED' | 'VIRTUAL_TABLES_NOT_SUPPORTED' | 'USE_STORAGE_FOR_FILES' | 'D1_TYPE_ERROR' | 'MIGRATION_INVALID' | 'SYSTEM_TABLE_READ_ONLY' | 'SQL_READ_ONLY' | 'RESULT_TOO_LARGE' | 'NL_QUERY_UNANSWERABLE' | 'QUERY_TIMEOUT' | 'DB_OVERLOADED' | 'D1_TRANSIENT' | 'DB_FULL_NEAR_LIMIT' | 'IDEMPOTENCY_KEY_REUSED' | 'IDEMPOTENT_REPLAY_UNAVAILABLE' | 'TABLE_NOT_FOUND' | 'SCHEMA_TOO_LARGE_FOR_COUNTS' | 'EXEC_REQUIRES_MIGRATE_MODE' | 'MIGRATION_UNKNOWN_IN_DB' | 'QUERY_LIMIT_EXCEEDED' | 'STORAGE_LIMIT_EXCEEDED' | 'METER_UNAVAILABLE' | 'COLUMN_NOT_FOUND' | 'VALUE_NOT_ALLOWED' | 'COLUMN_REQUIRED' | 'FILTER_TOO_COMPLEX' | 'OFFSET_TOO_LARGE' | 'BULK_TOO_LARGE' | 'NOT_A_JUNCTION_TABLE' | 'AMBIGUOUS_RELATION' | 'LIVE_WRITE_CONFIRMATION_REQUIRED' | 'RECORD_NOT_FOUND' | 'DEV_NAME_GUARD' | 'PROD_NAME_GUARD' | 'INVALID_RUN_REQUEST' | 'RUN_ALREADY_ACTIVE' | 'RUN_CONFLICT' | 'INVALID_CREDENTIALS' | 'ADAPTER_UNAVAILABLE' | 'DISK_FULL' | 'DEPLOY_FIX_ATTEMPTS_EXHAUSTED' | 'TOKEN_REVOKED' | 'AM_UPDATE_DOWNLOAD_FAILED' | 'AM_UPDATE_BAD_SHA' | 'AM_UPDATE_BAD_SIGNATURE' | 'AM_UPDATE_INCOMPATIBLE_IMAGE' | 'AM_UPDATE_START_FAILED' | 'AM_VERSION_UNAVAILABLE' | 'AM_UPDATE_FAILED' | 'RELEASE_CANARY_NOT_PASSED' | 'RELEASE_NOT_FOUND' | 'RELEASE_ROLLOUT_ACTIVE' | 'RELEASE_GUARD_PAUSED' | 'RELEASE_BUILD_UNAVAILABLE' | 'VISUAL_EDIT_PREVIEW_DEPLOYING' | 'VISUAL_EDIT_NOT_PATCHABLE' | 'VISUAL_EDIT_BASE_MISMATCH' | 'VISUAL_EDIT_TYPECHECK_FAILED' | 'INVALID_VISUAL_EDIT' | 'IMAGE_VERSION_NOT_FOUND' | 'IMAGE_VERSION_NOT_PROMOTABLE' | 'REALTIME_TICKET_INVALID' | 'REALTIME_TICKET_EXPIRED' | 'REALTIME_PERMISSION_DENIED' | 'REALTIME_MESSAGE_TOO_LARGE' | 'REALTIME_MESSAGE_RATE_EXCEEDED' | 'REALTIME_CONNECTION_LIMIT_REACHED' | 'REALTIME_ROOM_LIMIT_REACHED' | 'CONFIRMATION_REQUIRED' | 'MIGRATION_NOT_REVERSIBLE' | 'ALREADY_ON_PROVIDER' | 'DATABASE_MIGRATING' | 'LOGWATCH_INACTIVE' | 'AGENT_LOG_READS_LIMIT' | 'LOGS_UPSTREAM_ERROR' | 'ANALYTICS_INVALID_QUERY' | 'ANALYTICS_UPSTREAM_ERROR' | 'ANALYTICS_WINDOW_OUT_OF_RETENTION' | 'INVALID_CIDR' | 'RATE_LIMIT_ABOVE_PLAN' | 'RATE_LIMIT_DISABLE_NOT_ALLOWED' | 'OWNER_ONLY' | 'SIGNING_NOT_CONFIGURED' | 'SIGNING_ALREADY_CONFIGURED' | 'SIGNING_INVALID_KEYSTORE' | 'SIGNING_INVALID_ASC_KEY' | 'KEYSTORE_DOWNLOAD_EXPIRED' | 'KEYSTORE_NOT_DOWNLOADABLE' | 'MOBILE_BUILD_RUNNING' | 'MOBILE_BUILD_NOT_FOUND' | 'MOBILE_BUILD_NOT_READY' | 'DOWNLOAD_EXPIRED' | 'PROCESS_IN_PROGRESS' | 'SANDBOX_NOT_RUNNING' | 'MOBILE_LAYER_MISSING' | 'MOBILE_BUILD_FAILED' | 'MOBILE_ARTIFACT_INVALID' | 'SIGNING_FINGERPRINT_MISMATCH' | 'AM_RESTARTED' | 'LIMIT_ABOVE_PLAN_CEILING' | 'UNKNOWN_FEATURE' | 'INVALID_LIMIT' | 'FEATURE_NOT_DISABLABLE' | 'USE_PUT_LIMITS' | 'LIMIT_NOT_USER_EDITABLE' | 'NOT_AVAILABLE_FOR_ENGINE' | 'INVALID_AMOUNT' | 'REFUND_EXCEEDS_CHARGES' | 'IDEMPOTENCY_CONFLICT' | 'ORGANIZATION_NOT_FOUND' | 'ACCOUNT_NOT_FOUND' | 'PROVIDER_UNAVAILABLE' | 'URL_NOT_ALLOWED' | 'JOB_NOT_FOUND' | 'FILE_TOO_LARGE' | 'UNSUPPORTED_FILE_TYPE' | 'FILE_NOT_FOUND' | 'FILE_KEY_FORBIDDEN' | 'FILE_UPLOAD_ERROR' | 'FILE_DOWNLOAD_ERROR' | 'FILE_DELETE_ERROR' | 'UPLOAD_NOT_COMPLETED' | 'MISSING_URL' | 'MISSING_INPUT' | 'MISSING_EXTRACTION_CONFIG' | 'MISSING_QUERY' | 'SCRAPE_FAILED' | 'EXTRACT_FAILED' | 'SCREENSHOT_FAILED' | 'SEARCH_FAILED' | 'SCRAPE_BLOCKED' | 'SESSION_NOT_FOUND' | 'SESSION_EXPIRED' | 'SESSION_BUSY' | 'SESSION_LIMIT_REACHED' | 'SESSION_ENDED_INSUFFICIENT_CREDITS' | 'ACTION_TIMEOUT' | 'ACTION_FAILED' | 'UNKNOWN_COMMAND' | 'BATCH_TOO_LARGE' | 'SKIPPED' | 'UPLOAD_TOO_LARGE' | 'DOWNLOAD_TOO_LARGE' | 'CAPTURE_LIMIT_REACHED' | 'CAPTCHA_UNSOLVED' | 'BROWSER_CDP_NODE_ONLY' | 'DIALOG_NOT_OPEN' | 'STEALTH_TIER_UNAVAILABLE' | 'DOMAIN_NOT_ALLOWED' | 'CONTEXT_SEED_UNSUPPORTED' | 'EXTENSION_TOO_LARGE' | 'NL_PROVIDER_UNAVAILABLE' | 'PROGRAM_TOO_LARGE' | 'PROGRAM_UNBOUNDED' | 'UNKNOWN_STEP' | 'PROGRAM_IN_FLIGHT' | 'PROGRAM_TIMEOUT' | 'PROGRAM_NOT_FOUND' | 'PROGRAM_STEP_FAILED' | 'PROGRAM_LIMIT_REACHED' | 'CREATE_PDF_FROM_HTML_ERROR' | 'GENERATE_PDF_BY_URL_ERROR' | 'PDF_TIMEOUT' | 'PDF_TOO_LARGE' | 'FILENAME_REQUIRED' | 'SCANUM_EYE_ARRAY_NOT_SUPPORTED' | 'INVALID_EXTRA_FIELD_TYPE' | 'SCANUM_EYE_PDF_NOT_SUPPORTED' | 'UNSUPPORTED_SCAN_MODEL' | 'SCAN_DOCUMENT_ERROR' | 'SCAN_INVOICE_ERROR' | 'OCR_IMAGE_PROCESSING_ERROR' | 'OCR_PDF_PROCESSING_ERROR' | 'SCAN_TOO_MANY_PAGES' | 'SCAN_PDF_ENCRYPTED' | 'SCAN_XFA_UNSUPPORTED' | 'AUDIO_FILE_REQUIRED' | 'AUDIO_FILE_TOO_LARGE' | 'INVALID_AUDIO_FORMAT' | 'AUDIO_TRANSCRIPTION_ERROR' | 'TTS_TEXT_TOO_LONG' | 'TTS_VOICE_UNKNOWN' | 'TOO_MANY_AUDIO_TRANSCRIPTIONS' | 'EMAIL_SEND_FAILED' | 'TOO_MANY_ATTACHMENTS' | 'INVALID_ATTACHMENT_URL' | 'ATTACHMENT_TOO_LARGE' | 'TOO_MANY_RECIPIENTS' | 'EMAIL_RECIPIENT_SUPPRESSED' | 'EMAIL_DOMAIN_NOT_VERIFIED' | 'EMAIL_LOCAL_PART_TAKEN' | 'EMAIL_SENDING_PAUSED' | 'EMAIL_DOMAINS_REQUIRE_PAID_PLAN' | 'SUPPRESSION_PERMANENT' | 'DEV_RECIPIENT_NOT_ALLOWED' | 'CRON_LIMIT_REACHED' | 'INVALID_SCHEDULE' | 'CRON_URL_NOT_ALLOWED' | 'CRON_JOB_NOT_FOUND' | 'CRON_REQUIRES_PUBLISHED_PROJECT' | 'URL_NOT_PROJECT_HOST' | 'INDEXNOW_ERROR' | 'MCP_VERIFY_FAILED' | 'MCP_NAME_RESERVED' | 'MCP_LIMIT_REACHED' | 'MCP_SERVER_NOT_FOUND' | 'PAYMENTS_NOT_ENABLED' | 'PAYMENTS_LIVE_ONBOARDING_REQUIRED' | 'CARD_DATA_NOT_ACCEPTED' | 'STRIPE_ERROR' | 'STRIPE_RATE_LIMITED' | 'PAYMENTS_WEBHOOK_SIGNATURE_INVALID' | 'AI_MODEL_NOT_ALLOWED' | 'AI_MODEL_UNKNOWN' | 'AI_INVALID_SCHEMA' | 'AI_CONTENT_BLOCKED' | 'AI_CONTEXT_TOO_LONG' | 'AI_PROVIDER_QUOTA' | 'AI_PROVIDER_UNAVAILABLE' | 'AI_STREAM_ERROR' | 'AI_VIDEO_JOB_NOT_FOUND' | 'AI_VIDEO_FAILED' | 'MISSING_VIDEO_URL' | 'MISSING_PROMPT' | 'INVALID_VIDEO_URL' | 'INVALID_VIDEO_URL_PROTOCOL' | 'INVALID_MIME_TYPE_HINT' | 'VIDEO_TOO_LARGE' | 'VIDEO_URL_UNREACHABLE' | 'VIDEO_URL_NOT_A_VIDEO' | 'YOUTUBE_VIDEO_UNAVAILABLE' | 'NO_PAYMENT_METHOD' | 'DOMAIN_CONTACT_REQUIRED' | 'DOMAIN_UNAVAILABLE' | 'DOMAIN_PREMIUM_NOT_ALLOWED' | 'TLD_NOT_ALLOWED' | 'DOMAIN_LIMIT_REACHED' | 'PRICE_CHANGED' | 'PAYMENT_FAILED' | 'REGISTRATION_FAILED' | 'DOMAIN_NOT_RENEWABLE' | 'DOMAIN_ALREADY_ATTACHED' | 'DNS_RECORD_MANAGED' | 'DNS_RECORD_CONFLICT' | 'DNS_RECORD_LIMIT' | 'DOMAIN_TRANSFER_LOCKED' | 'DOMAIN_NOT_FOUND' | 'DOMAIN_IN_USE' | 'DOMAIN_ALREADY_ADDED' | 'NO_DEPLOYMENT' | 'REDIRECT_LIMIT_REACHED' | 'REDIRECT_INVALID' | 'APEX_NOT_FLATTENABLE' | 'SECOND_FACTOR_NOT_CONFIGURED' | 'PASSWORD_REQUIRED' | 'PASSWORD_INCORRECT' | 'TOO_MANY_ATTEMPTS' | 'CONFIRMATION_MISMATCH' | 'INVALID_TOKEN' | 'MISSING_PERMISSIONS' | 'REPO_NOT_FOUND' | 'REPO_MISSING_BRANCHES' | 'UNKNOWN' | 'SANDBOX_NOT_READY' | 'SYNC_FAILED' | 'TOKEN_EXPIRED' | 'GITHUB_NOT_CONNECTED' | 'FIGMA_TOKEN_MISSING' | 'FIGMA_TOKEN_MALFORMED' | 'FIGMA_TOKEN_INVALID' | 'FIGMA_TOKEN_FORBIDDEN' | 'FIGMA_RATE_LIMITED' | 'FIGMA_UNREACHABLE' | 'INVALID_IMPORT_CODE' | 'IMPORT_SOURCE_GONE' | 'PROJECT_NOT_IMPORTABLE' | 'PROJECT_IMPORT_LIMIT_REACHED' | 'PROJECT_EXPORT_LIMIT_REACHED' | 'VERSION_NOT_FOUND' | 'INVALID_CODE_EDIT' | 'CODE_EDIT_FAILED' | 'BADGE_IN_SOURCE'; message?: string | undefined; } | undefined; }[]; vars: Record<string, unknown>; startedAt: string; credits: number; result?: unknown; endedAt?: string | undefined; }>
794
+ browser.programs.wait(programId: string, opts?: { intervalMs?: number | undefined; timeoutMs?: number | undefined; }): Promise<{ programId: string; sessionId: string; status: 'completed' | 'running' | 'failed' | 'pending' | 'timed_out'; steps: { index: number; type: string; ok: boolean; data?: unknown; error?: { code: 'SERVICE_UNAUTHORIZED' | 'SERVICE_REPLAY' | 'ACTOR_MISMATCH' | 'PAYLOAD_TOO_LARGE' | 'VALIDATION_ERROR' | 'PROJECT_NOT_FOUND' | 'OPERATION_IN_PROGRESS' | 'AGENT_RUNNING' | 'PROJECT_MOVED' | 'OBJECT_MIGRATING' | 'INDEX_SHARD_UNAVAILABLE' | 'RATE_LIMIT_EXCEEDED' | 'PROJECT_PAUSED_RUNAWAY' | 'PROJECT_PAUSED_BALANCE' | 'PROJECT_SUSPENDED' | 'PROJECT_HIBERNATED' | 'PROJECT_DELETED' | 'PROJECT_PAUSED_BY_USER' | 'LIFECYCLE_NOT_APPLICABLE' | 'PROJECT_NOT_PAUSED' | 'PAUSE_DUMP_EXPIRED' | 'PAUSE_VERIFICATION_FAILED' | 'DEPLOYMENT_IN_PROGRESS' | 'REACTIVATE_IMPORT_MISMATCH' | 'RESUME_IMPORT_MISMATCH' | 'INSUFFICIENT_CREDITS' | 'VCAAS_INSUFFICIENT_CREDITS' | 'PROJECT_CREDIT_LIMIT_REACHED' | 'FREE_PROMPTS_DISABLED' | 'PLAN_REQUIRED' | 'FEATURE_LIMIT_REACHED' | 'FEATURE_DISABLED' | 'AGENT_ALREADY_RUNNING' | 'IMPORT_IN_PROGRESS' | 'TOO_MANY_RUN_REQUESTS' | 'PROMPT_SECURITY_VIOLATION' | 'NO_PROCESS_RUNNING' | 'RUN_NOT_FOUND' | 'DEPLOYMENT_RUNNING' | 'AUTO_EXECUTION_ALREADY_ACTIVE' | 'REBUILD_RUNNING' | 'SECRET_ALREADY_EXISTS' | 'SECRET_LIMIT_EXCEEDED' | 'RESERVED_SECRET_NAME' | 'DUMP_NOT_FOUND' | 'DUMP_INVALID' | 'RESTORE_TARGET_NOT_EMPTY' | 'ENGINE_NOT_SUPPORTED' | 'ENGINE_V2_DISABLED' | 'V2_TEMPORARILY_DISABLED' | 'ENGINE_REQUEST_NOT_ELIGIBLE' | 'ENGINE_MISMATCH' | 'INVALID_ENGINE_VERSION' | 'PROJECT_ENGINE_MISMATCH' | 'ENGINE_UNAVAILABLE' | 'PREVIEW_LABEL_TOO_LONG' | 'PROJECT_ALREADY_EXISTS' | 'CLOUDFLARE_API_ERROR' | 'PROVISIONING_BUSY' | 'UNAUTHORIZED' | 'LEGACY_KEY_NOT_SUPPORTED' | 'SANDBOX_KEY_EXPIRED' | 'AUTH_RATE_LIMITED' | 'FORBIDDEN_SCOPE' | 'KEY_ENV_MISMATCH' | 'KEY_LIMIT_EXCEEDED' | 'LIVE_DB_READ_ONLY' | 'LIVE_WRITE_NEEDS_CONFIRMATION' | 'DDL_NOT_ALLOWED' | 'MIGRATION_IN_PROGRESS' | 'MIGRATION_EDITED' | 'SCHEMA_OUT_OF_SYNC' | 'LIVE_MIGRATION_FAILED' | 'DESTRUCTIVE_MIGRATION_NEEDS_CONFIRMATION' | 'DEV_DATABASE_NOT_FOUND' | 'DATABASE_ROLE_NOT_FOUND' | 'BOOKMARK_NOT_FOUND' | 'BACKUP_NOT_FOUND' | 'BACKUP_NOT_DELETABLE' | 'BACKUP_RATE_LIMITED' | 'PRE_RESTORE_BACKUP_FAILED' | 'RESTORE_VERIFY_FAILED' | 'RUN_NOT_LATEST' | 'DEV_DATABASE_EXISTS' | 'SQL_ERROR' | 'SQL_MULTI_STATEMENT' | 'SQL_STATEMENT_TOO_LARGE' | 'SQL_TOO_MANY_PARAMS' | 'STATEMENT_NOT_ALLOWED' | 'VIRTUAL_TABLES_NOT_SUPPORTED' | 'USE_STORAGE_FOR_FILES' | 'D1_TYPE_ERROR' | 'MIGRATION_INVALID' | 'SYSTEM_TABLE_READ_ONLY' | 'SQL_READ_ONLY' | 'RESULT_TOO_LARGE' | 'NL_QUERY_UNANSWERABLE' | 'QUERY_TIMEOUT' | 'DB_OVERLOADED' | 'D1_TRANSIENT' | 'DB_FULL_NEAR_LIMIT' | 'IDEMPOTENCY_KEY_REUSED' | 'IDEMPOTENT_REPLAY_UNAVAILABLE' | 'TABLE_NOT_FOUND' | 'SCHEMA_TOO_LARGE_FOR_COUNTS' | 'EXEC_REQUIRES_MIGRATE_MODE' | 'MIGRATION_UNKNOWN_IN_DB' | 'QUERY_LIMIT_EXCEEDED' | 'STORAGE_LIMIT_EXCEEDED' | 'METER_UNAVAILABLE' | 'COLUMN_NOT_FOUND' | 'VALUE_NOT_ALLOWED' | 'COLUMN_REQUIRED' | 'FILTER_TOO_COMPLEX' | 'OFFSET_TOO_LARGE' | 'BULK_TOO_LARGE' | 'NOT_A_JUNCTION_TABLE' | 'AMBIGUOUS_RELATION' | 'LIVE_WRITE_CONFIRMATION_REQUIRED' | 'RECORD_NOT_FOUND' | 'DEV_NAME_GUARD' | 'PROD_NAME_GUARD' | 'INVALID_RUN_REQUEST' | 'RUN_ALREADY_ACTIVE' | 'RUN_CONFLICT' | 'INVALID_CREDENTIALS' | 'ADAPTER_UNAVAILABLE' | 'DISK_FULL' | 'DEPLOY_FIX_ATTEMPTS_EXHAUSTED' | 'TOKEN_REVOKED' | 'AM_UPDATE_DOWNLOAD_FAILED' | 'AM_UPDATE_BAD_SHA' | 'AM_UPDATE_BAD_SIGNATURE' | 'AM_UPDATE_INCOMPATIBLE_IMAGE' | 'AM_UPDATE_START_FAILED' | 'AM_VERSION_UNAVAILABLE' | 'AM_UPDATE_FAILED' | 'RELEASE_CANARY_NOT_PASSED' | 'RELEASE_NOT_FOUND' | 'RELEASE_ROLLOUT_ACTIVE' | 'RELEASE_GUARD_PAUSED' | 'RELEASE_BUILD_UNAVAILABLE' | 'RELEASE_BELOW_MIN_SAFE_VERSION' | 'VISUAL_EDIT_PREVIEW_DEPLOYING' | 'VISUAL_EDIT_NOT_PATCHABLE' | 'VISUAL_EDIT_BASE_MISMATCH' | 'VISUAL_EDIT_TYPECHECK_FAILED' | 'INVALID_VISUAL_EDIT' | 'IMAGE_VERSION_NOT_FOUND' | 'IMAGE_VERSION_NOT_PROMOTABLE' | 'REALTIME_TICKET_INVALID' | 'REALTIME_TICKET_EXPIRED' | 'REALTIME_PERMISSION_DENIED' | 'REALTIME_MESSAGE_TOO_LARGE' | 'REALTIME_MESSAGE_RATE_EXCEEDED' | 'REALTIME_CONNECTION_LIMIT_REACHED' | 'REALTIME_ROOM_LIMIT_REACHED' | 'CONFIRMATION_REQUIRED' | 'MIGRATION_NOT_REVERSIBLE' | 'ALREADY_ON_PROVIDER' | 'DATABASE_MIGRATING' | 'LOGWATCH_INACTIVE' | 'AGENT_LOG_READS_LIMIT' | 'LOGS_UPSTREAM_ERROR' | 'ANALYTICS_INVALID_QUERY' | 'ANALYTICS_UPSTREAM_ERROR' | 'ANALYTICS_WINDOW_OUT_OF_RETENTION' | 'INVALID_CIDR' | 'RATE_LIMIT_ABOVE_PLAN' | 'RATE_LIMIT_DISABLE_NOT_ALLOWED' | 'OWNER_ONLY' | 'SIGNING_NOT_CONFIGURED' | 'SIGNING_ALREADY_CONFIGURED' | 'SIGNING_INVALID_KEYSTORE' | 'SIGNING_INVALID_ASC_KEY' | 'KEYSTORE_DOWNLOAD_EXPIRED' | 'KEYSTORE_NOT_DOWNLOADABLE' | 'MOBILE_BUILD_RUNNING' | 'MOBILE_BUILD_NOT_FOUND' | 'MOBILE_BUILD_NOT_READY' | 'DOWNLOAD_EXPIRED' | 'PROCESS_IN_PROGRESS' | 'SANDBOX_NOT_RUNNING' | 'MOBILE_LAYER_MISSING' | 'MOBILE_BUILD_FAILED' | 'MOBILE_ARTIFACT_INVALID' | 'SIGNING_FINGERPRINT_MISMATCH' | 'AM_RESTARTED' | 'LIMIT_ABOVE_PLAN_CEILING' | 'UNKNOWN_FEATURE' | 'INVALID_LIMIT' | 'FEATURE_NOT_DISABLABLE' | 'USE_PUT_LIMITS' | 'LIMIT_NOT_USER_EDITABLE' | 'NOT_AVAILABLE_FOR_ENGINE' | 'INVALID_AMOUNT' | 'REFUND_EXCEEDS_CHARGES' | 'IDEMPOTENCY_CONFLICT' | 'ORGANIZATION_NOT_FOUND' | 'ACCOUNT_NOT_FOUND' | 'PROVIDER_UNAVAILABLE' | 'URL_NOT_ALLOWED' | 'JOB_NOT_FOUND' | 'FILE_TOO_LARGE' | 'UNSUPPORTED_FILE_TYPE' | 'FILE_NOT_FOUND' | 'FILE_KEY_FORBIDDEN' | 'FILE_UPLOAD_ERROR' | 'FILE_DOWNLOAD_ERROR' | 'FILE_DELETE_ERROR' | 'UPLOAD_NOT_COMPLETED' | 'MISSING_URL' | 'MISSING_INPUT' | 'MISSING_EXTRACTION_CONFIG' | 'MISSING_QUERY' | 'SCRAPE_FAILED' | 'EXTRACT_FAILED' | 'SCREENSHOT_FAILED' | 'SEARCH_FAILED' | 'SCRAPE_BLOCKED' | 'SESSION_NOT_FOUND' | 'SESSION_EXPIRED' | 'SESSION_BUSY' | 'SESSION_LIMIT_REACHED' | 'SESSION_ENDED_INSUFFICIENT_CREDITS' | 'ACTION_TIMEOUT' | 'ACTION_FAILED' | 'UNKNOWN_COMMAND' | 'BATCH_TOO_LARGE' | 'SKIPPED' | 'UPLOAD_TOO_LARGE' | 'DOWNLOAD_TOO_LARGE' | 'CAPTURE_LIMIT_REACHED' | 'CAPTCHA_UNSOLVED' | 'BROWSER_CDP_NODE_ONLY' | 'DIALOG_NOT_OPEN' | 'STEALTH_TIER_UNAVAILABLE' | 'DOMAIN_NOT_ALLOWED' | 'CONTEXT_SEED_UNSUPPORTED' | 'EXTENSION_TOO_LARGE' | 'NL_PROVIDER_UNAVAILABLE' | 'PROGRAM_TOO_LARGE' | 'PROGRAM_UNBOUNDED' | 'UNKNOWN_STEP' | 'PROGRAM_IN_FLIGHT' | 'PROGRAM_TIMEOUT' | 'PROGRAM_NOT_FOUND' | 'PROGRAM_STEP_FAILED' | 'PROGRAM_LIMIT_REACHED' | 'CREATE_PDF_FROM_HTML_ERROR' | 'GENERATE_PDF_BY_URL_ERROR' | 'PDF_TIMEOUT' | 'PDF_TOO_LARGE' | 'FILENAME_REQUIRED' | 'SCANUM_EYE_ARRAY_NOT_SUPPORTED' | 'INVALID_EXTRA_FIELD_TYPE' | 'SCANUM_EYE_PDF_NOT_SUPPORTED' | 'UNSUPPORTED_SCAN_MODEL' | 'SCAN_DOCUMENT_ERROR' | 'SCAN_INVOICE_ERROR' | 'OCR_IMAGE_PROCESSING_ERROR' | 'OCR_PDF_PROCESSING_ERROR' | 'SCAN_TOO_MANY_PAGES' | 'SCAN_PDF_ENCRYPTED' | 'SCAN_XFA_UNSUPPORTED' | 'AUDIO_FILE_REQUIRED' | 'AUDIO_FILE_TOO_LARGE' | 'INVALID_AUDIO_FORMAT' | 'AUDIO_TRANSCRIPTION_ERROR' | 'TTS_TEXT_TOO_LONG' | 'TTS_VOICE_UNKNOWN' | 'TOO_MANY_AUDIO_TRANSCRIPTIONS' | 'EMAIL_SEND_FAILED' | 'TOO_MANY_ATTACHMENTS' | 'INVALID_ATTACHMENT_URL' | 'ATTACHMENT_TOO_LARGE' | 'TOO_MANY_RECIPIENTS' | 'EMAIL_RECIPIENT_SUPPRESSED' | 'EMAIL_DOMAIN_NOT_VERIFIED' | 'EMAIL_LOCAL_PART_TAKEN' | 'EMAIL_SENDING_PAUSED' | 'EMAIL_DOMAINS_REQUIRE_PAID_PLAN' | 'SUPPRESSION_PERMANENT' | 'DEV_RECIPIENT_NOT_ALLOWED' | 'CRON_LIMIT_REACHED' | 'INVALID_SCHEDULE' | 'CRON_URL_NOT_ALLOWED' | 'CRON_JOB_NOT_FOUND' | 'CRON_REQUIRES_PUBLISHED_PROJECT' | 'URL_NOT_PROJECT_HOST' | 'INDEXNOW_ERROR' | 'MCP_VERIFY_FAILED' | 'MCP_NAME_RESERVED' | 'MCP_LIMIT_REACHED' | 'MCP_SERVER_NOT_FOUND' | 'PAYMENTS_NOT_ENABLED' | 'PAYMENTS_LIVE_ONBOARDING_REQUIRED' | 'CARD_DATA_NOT_ACCEPTED' | 'STRIPE_ERROR' | 'STRIPE_RATE_LIMITED' | 'PAYMENTS_WEBHOOK_SIGNATURE_INVALID' | 'AI_MODEL_NOT_ALLOWED' | 'AI_MODEL_UNKNOWN' | 'AI_INVALID_SCHEMA' | 'AI_CONTENT_BLOCKED' | 'AI_CONTEXT_TOO_LONG' | 'AI_PROVIDER_QUOTA' | 'AI_PROVIDER_UNAVAILABLE' | 'AI_STREAM_ERROR' | 'AI_VIDEO_JOB_NOT_FOUND' | 'AI_VIDEO_FAILED' | 'MISSING_VIDEO_URL' | 'MISSING_PROMPT' | 'INVALID_VIDEO_URL' | 'INVALID_VIDEO_URL_PROTOCOL' | 'INVALID_MIME_TYPE_HINT' | 'VIDEO_TOO_LARGE' | 'VIDEO_URL_UNREACHABLE' | 'VIDEO_URL_NOT_A_VIDEO' | 'YOUTUBE_VIDEO_UNAVAILABLE' | 'NO_PAYMENT_METHOD' | 'DOMAIN_CONTACT_REQUIRED' | 'DOMAIN_UNAVAILABLE' | 'DOMAIN_PREMIUM_NOT_ALLOWED' | 'TLD_NOT_ALLOWED' | 'DOMAIN_LIMIT_REACHED' | 'PRICE_CHANGED' | 'PAYMENT_FAILED' | 'REGISTRATION_FAILED' | 'DOMAIN_NOT_RENEWABLE' | 'DOMAIN_ALREADY_ATTACHED' | 'DNS_RECORD_MANAGED' | 'DNS_RECORD_CONFLICT' | 'DNS_RECORD_LIMIT' | 'DOMAIN_TRANSFER_LOCKED' | 'DOMAIN_NOT_FOUND' | 'DOMAIN_IN_USE' | 'DOMAIN_ALREADY_ADDED' | 'NO_DEPLOYMENT' | 'REDIRECT_LIMIT_REACHED' | 'REDIRECT_INVALID' | 'APEX_NOT_FLATTENABLE' | 'SECOND_FACTOR_NOT_CONFIGURED' | 'PASSWORD_REQUIRED' | 'PASSWORD_INCORRECT' | 'TOO_MANY_ATTEMPTS' | 'CONFIRMATION_MISMATCH' | 'INVALID_TOKEN' | 'MISSING_PERMISSIONS' | 'REPO_NOT_FOUND' | 'REPO_MISSING_BRANCHES' | 'UNKNOWN' | 'SANDBOX_NOT_READY' | 'SYNC_FAILED' | 'TOKEN_EXPIRED' | 'GITHUB_NOT_CONNECTED' | 'FIGMA_TOKEN_MISSING' | 'FIGMA_TOKEN_MALFORMED' | 'FIGMA_TOKEN_INVALID' | 'FIGMA_TOKEN_FORBIDDEN' | 'FIGMA_RATE_LIMITED' | 'FIGMA_UNREACHABLE' | 'INVALID_IMPORT_CODE' | 'IMPORT_SOURCE_GONE' | 'PROJECT_NOT_IMPORTABLE' | 'PROJECT_IMPORT_LIMIT_REACHED' | 'PROJECT_EXPORT_LIMIT_REACHED' | 'VERSION_NOT_FOUND' | 'INVALID_CODE_EDIT' | 'CODE_EDIT_FAILED' | 'BADGE_IN_SOURCE'; message?: string | undefined; } | undefined; }[]; vars: Record<string, unknown>; startedAt: string; credits: number; result?: unknown; endedAt?: string | undefined; }>
775
795
  ```
776
796
 
777
797
  Polls until the program leaves `pending`/`running` (the `browser.program.completed` webhook is the push twin).
@@ -885,7 +905,7 @@ type BrowserSession = {
885
905
  id: string;
886
906
  liveViewUrl: string;
887
907
  expiresAt: string;
888
- actions: (batch: { [x: string]: unknown; type: 'pdf' | 'type' | 'waitFor' | 'screenshot' | 'content' | 'captcha.solve' | 'upload' | 'goto' | 'back' | 'forward' | 'reload' | 'pageInfo' | 'click' | 'dblclick' | 'press' | 'hover' | 'scroll' | 'dragAndDrop' | 'select' | 'frames.list' | 'frames.use' | 'tabs.list' | 'tabs.new' | 'tabs.use' | 'tabs.close' | 'evaluate' | 'extract' | 'cookies.get' | 'cookies.set' | 'cookies.clear' | 'storage.get' | 'storage.set' | 'storage.clear' | 'context.save' | 'downloads.list' | 'downloads.get' | 'network.capture' | 'network.log' | 'network.har' | 'network.intercept' | 'network.setHeaders' | 'emulate.viewport' | 'emulate.device' | 'emulate.geolocation' | 'emulate.timezone' | 'emulate.locale' | 'emulate.userAgent' | 'captcha.events' | 'proxy.usage' | 'stealth.get' | 'session.status' | 'session.liveView' | 'session.recording' | 'dialog.handle' | 'page.addInitScript' | 'page.exposeFunction' | 'emulate.media' | 'emulate.network' | 'emulate.cpu' | 'permissions.grant' | 'clipboard.read' | 'clipboard.write' | 'act' | 'observe' | 'session.release' | 'network.subscribe' | 'accessibility.snapshot'; frame?: string | undefined; tabId?: string | undefined; timeoutMs?: number | undefined; }[], opts?: { stopOnError?: boolean | undefined; } | undefined) => Promise<{ ok: boolean; data?: unknown; error?: { code: 'SERVICE_UNAUTHORIZED' | 'SERVICE_REPLAY' | 'ACTOR_MISMATCH' | 'PAYLOAD_TOO_LARGE' | 'VALIDATION_ERROR' | 'PROJECT_NOT_FOUND' | 'OPERATION_IN_PROGRESS' | 'AGENT_RUNNING' | 'PROJECT_MOVED' | 'OBJECT_MIGRATING' | 'INDEX_SHARD_UNAVAILABLE' | 'RATE_LIMIT_EXCEEDED' | 'PROJECT_PAUSED_RUNAWAY' | 'PROJECT_PAUSED_BALANCE' | 'PROJECT_SUSPENDED' | 'PROJECT_HIBERNATED' | 'PROJECT_DELETED' | 'PROJECT_PAUSED_BY_USER' | 'LIFECYCLE_NOT_APPLICABLE' | 'PROJECT_NOT_PAUSED' | 'PAUSE_DUMP_EXPIRED' | 'PAUSE_VERIFICATION_FAILED' | 'DEPLOYMENT_IN_PROGRESS' | 'REACTIVATE_IMPORT_MISMATCH' | 'RESUME_IMPORT_MISMATCH' | 'INSUFFICIENT_CREDITS' | 'VCAAS_INSUFFICIENT_CREDITS' | 'PROJECT_CREDIT_LIMIT_REACHED' | 'FREE_PROMPTS_DISABLED' | 'PLAN_REQUIRED' | 'FEATURE_LIMIT_REACHED' | 'FEATURE_DISABLED' | 'AGENT_ALREADY_RUNNING' | 'IMPORT_IN_PROGRESS' | 'TOO_MANY_RUN_REQUESTS' | 'PROMPT_SECURITY_VIOLATION' | 'NO_PROCESS_RUNNING' | 'RUN_NOT_FOUND' | 'DEPLOYMENT_RUNNING' | 'AUTO_EXECUTION_ALREADY_ACTIVE' | 'REBUILD_RUNNING' | 'SECRET_ALREADY_EXISTS' | 'SECRET_LIMIT_EXCEEDED' | 'RESERVED_SECRET_NAME' | 'DUMP_NOT_FOUND' | 'DUMP_INVALID' | 'RESTORE_TARGET_NOT_EMPTY' | 'ENGINE_NOT_SUPPORTED' | 'ENGINE_V2_DISABLED' | 'V2_TEMPORARILY_DISABLED' | 'ENGINE_REQUEST_NOT_ELIGIBLE' | 'ENGINE_MISMATCH' | 'INVALID_ENGINE_VERSION' | 'PROJECT_ENGINE_MISMATCH' | 'ENGINE_UNAVAILABLE' | 'PREVIEW_LABEL_TOO_LONG' | 'PROJECT_ALREADY_EXISTS' | 'CLOUDFLARE_API_ERROR' | 'PROVISIONING_BUSY' | 'UNAUTHORIZED' | 'LEGACY_KEY_NOT_SUPPORTED' | 'SANDBOX_KEY_EXPIRED' | 'AUTH_RATE_LIMITED' | 'FORBIDDEN_SCOPE' | 'KEY_ENV_MISMATCH' | 'KEY_LIMIT_EXCEEDED' | 'LIVE_DB_READ_ONLY' | 'LIVE_WRITE_NEEDS_CONFIRMATION' | 'DDL_NOT_ALLOWED' | 'MIGRATION_IN_PROGRESS' | 'MIGRATION_EDITED' | 'SCHEMA_OUT_OF_SYNC' | 'LIVE_MIGRATION_FAILED' | 'DESTRUCTIVE_MIGRATION_NEEDS_CONFIRMATION' | 'DEV_DATABASE_NOT_FOUND' | 'DATABASE_ROLE_NOT_FOUND' | 'BOOKMARK_NOT_FOUND' | 'BACKUP_NOT_FOUND' | 'BACKUP_NOT_DELETABLE' | 'BACKUP_RATE_LIMITED' | 'PRE_RESTORE_BACKUP_FAILED' | 'RESTORE_VERIFY_FAILED' | 'RUN_NOT_LATEST' | 'DEV_DATABASE_EXISTS' | 'SQL_ERROR' | 'SQL_MULTI_STATEMENT' | 'SQL_STATEMENT_TOO_LARGE' | 'SQL_TOO_MANY_PARAMS' | 'STATEMENT_NOT_ALLOWED' | 'VIRTUAL_TABLES_NOT_SUPPORTED' | 'USE_STORAGE_FOR_FILES' | 'D1_TYPE_ERROR' | 'MIGRATION_INVALID' | 'SYSTEM_TABLE_READ_ONLY' | 'SQL_READ_ONLY' | 'RESULT_TOO_LARGE' | 'NL_QUERY_UNANSWERABLE' | 'QUERY_TIMEOUT' | 'DB_OVERLOADED' | 'D1_TRANSIENT' | 'DB_FULL_NEAR_LIMIT' | 'IDEMPOTENCY_KEY_REUSED' | 'IDEMPOTENT_REPLAY_UNAVAILABLE' | 'TABLE_NOT_FOUND' | 'SCHEMA_TOO_LARGE_FOR_COUNTS' | 'EXEC_REQUIRES_MIGRATE_MODE' | 'MIGRATION_UNKNOWN_IN_DB' | 'QUERY_LIMIT_EXCEEDED' | 'STORAGE_LIMIT_EXCEEDED' | 'METER_UNAVAILABLE' | 'COLUMN_NOT_FOUND' | 'VALUE_NOT_ALLOWED' | 'COLUMN_REQUIRED' | 'FILTER_TOO_COMPLEX' | 'OFFSET_TOO_LARGE' | 'BULK_TOO_LARGE' | 'NOT_A_JUNCTION_TABLE' | 'AMBIGUOUS_RELATION' | 'LIVE_WRITE_CONFIRMATION_REQUIRED' | 'RECORD_NOT_FOUND' | 'DEV_NAME_GUARD' | 'PROD_NAME_GUARD' | 'INVALID_RUN_REQUEST' | 'RUN_ALREADY_ACTIVE' | 'RUN_CONFLICT' | 'INVALID_CREDENTIALS' | 'ADAPTER_UNAVAILABLE' | 'DISK_FULL' | 'DEPLOY_FIX_ATTEMPTS_EXHAUSTED' | 'TOKEN_REVOKED' | 'AM_UPDATE_DOWNLOAD_FAILED' | 'AM_UPDATE_BAD_SHA' | 'AM_UPDATE_BAD_SIGNATURE' | 'AM_UPDATE_INCOMPATIBLE_IMAGE' | 'AM_UPDATE_START_FAILED' | 'AM_VERSION_UNAVAILABLE' | 'AM_UPDATE_FAILED' | 'RELEASE_CANARY_NOT_PASSED' | 'RELEASE_NOT_FOUND' | 'RELEASE_ROLLOUT_ACTIVE' | 'RELEASE_GUARD_PAUSED' | 'RELEASE_BUILD_UNAVAILABLE' | 'VISUAL_EDIT_PREVIEW_DEPLOYING' | 'VISUAL_EDIT_NOT_PATCHABLE' | 'VISUAL_EDIT_BASE_MISMATCH' | 'VISUAL_EDIT_TYPECHECK_FAILED' | 'INVALID_VISUAL_EDIT' | 'IMAGE_VERSION_NOT_FOUND' | 'IMAGE_VERSION_NOT_PROMOTABLE' | 'REALTIME_TICKET_INVALID' | 'REALTIME_TICKET_EXPIRED' | 'REALTIME_PERMISSION_DENIED' | 'REALTIME_MESSAGE_TOO_LARGE' | 'REALTIME_MESSAGE_RATE_EXCEEDED' | 'REALTIME_CONNECTION_LIMIT_REACHED' | 'REALTIME_ROOM_LIMIT_REACHED' | 'CONFIRMATION_REQUIRED' | 'MIGRATION_NOT_REVERSIBLE' | 'ALREADY_ON_PROVIDER' | 'DATABASE_MIGRATING' | 'LOGWATCH_INACTIVE' | 'AGENT_LOG_READS_LIMIT' | 'LOGS_UPSTREAM_ERROR' | 'ANALYTICS_INVALID_QUERY' | 'ANALYTICS_UPSTREAM_ERROR' | 'ANALYTICS_WINDOW_OUT_OF_RETENTION' | 'INVALID_CIDR' | 'RATE_LIMIT_ABOVE_PLAN' | 'RATE_LIMIT_DISABLE_NOT_ALLOWED' | 'OWNER_ONLY' | 'SIGNING_NOT_CONFIGURED' | 'SIGNING_ALREADY_CONFIGURED' | 'SIGNING_INVALID_KEYSTORE' | 'SIGNING_INVALID_ASC_KEY' | 'KEYSTORE_DOWNLOAD_EXPIRED' | 'KEYSTORE_NOT_DOWNLOADABLE' | 'MOBILE_BUILD_RUNNING' | 'MOBILE_BUILD_NOT_FOUND' | 'MOBILE_BUILD_NOT_READY' | 'DOWNLOAD_EXPIRED' | 'PROCESS_IN_PROGRESS' | 'SANDBOX_NOT_RUNNING' | 'MOBILE_LAYER_MISSING' | 'MOBILE_BUILD_FAILED' | 'MOBILE_ARTIFACT_INVALID' | 'SIGNING_FINGERPRINT_MISMATCH' | 'AM_RESTARTED' | 'LIMIT_ABOVE_PLAN_CEILING' | 'UNKNOWN_FEATURE' | 'INVALID_LIMIT' | 'FEATURE_NOT_DISABLABLE' | 'USE_PUT_LIMITS' | 'LIMIT_NOT_USER_EDITABLE' | 'NOT_AVAILABLE_FOR_ENGINE' | 'INVALID_AMOUNT' | 'REFUND_EXCEEDS_CHARGES' | 'IDEMPOTENCY_CONFLICT' | 'ORGANIZATION_NOT_FOUND' | 'ACCOUNT_NOT_FOUND' | 'PROVIDER_UNAVAILABLE' | 'URL_NOT_ALLOWED' | 'JOB_NOT_FOUND' | 'FILE_TOO_LARGE' | 'UNSUPPORTED_FILE_TYPE' | 'FILE_NOT_FOUND' | 'FILE_KEY_FORBIDDEN' | 'FILE_UPLOAD_ERROR' | 'FILE_DOWNLOAD_ERROR' | 'FILE_DELETE_ERROR' | 'UPLOAD_NOT_COMPLETED' | 'MISSING_URL' | 'MISSING_INPUT' | 'MISSING_EXTRACTION_CONFIG' | 'MISSING_QUERY' | 'SCRAPE_FAILED' | 'EXTRACT_FAILED' | 'SCREENSHOT_FAILED' | 'SEARCH_FAILED' | 'SCRAPE_BLOCKED' | 'SESSION_NOT_FOUND' | 'SESSION_EXPIRED' | 'SESSION_BUSY' | 'SESSION_LIMIT_REACHED' | 'SESSION_ENDED_INSUFFICIENT_CREDITS' | 'ACTION_TIMEOUT' | 'ACTION_FAILED' | 'UNKNOWN_COMMAND' | 'BATCH_TOO_LARGE' | 'SKIPPED' | 'UPLOAD_TOO_LARGE' | 'DOWNLOAD_TOO_LARGE' | 'CAPTURE_LIMIT_REACHED' | 'CAPTCHA_UNSOLVED' | 'BROWSER_CDP_NODE_ONLY' | 'DIALOG_NOT_OPEN' | 'STEALTH_TIER_UNAVAILABLE' | 'DOMAIN_NOT_ALLOWED' | 'CONTEXT_SEED_UNSUPPORTED' | 'EXTENSION_TOO_LARGE' | 'NL_PROVIDER_UNAVAILABLE' | 'PROGRAM_TOO_LARGE' | 'PROGRAM_UNBOUNDED' | 'UNKNOWN_STEP' | 'PROGRAM_IN_FLIGHT' | 'PROGRAM_TIMEOUT' | 'PROGRAM_NOT_FOUND' | 'PROGRAM_STEP_FAILED' | 'PROGRAM_LIMIT_REACHED' | 'CREATE_PDF_FROM_HTML_ERROR' | 'GENERATE_PDF_BY_URL_ERROR' | 'PDF_TIMEOUT' | 'PDF_TOO_LARGE' | 'FILENAME_REQUIRED' | 'SCANUM_EYE_ARRAY_NOT_SUPPORTED' | 'INVALID_EXTRA_FIELD_TYPE' | 'SCANUM_EYE_PDF_NOT_SUPPORTED' | 'UNSUPPORTED_SCAN_MODEL' | 'SCAN_DOCUMENT_ERROR' | 'SCAN_INVOICE_ERROR' | 'OCR_IMAGE_PROCESSING_ERROR' | 'OCR_PDF_PROCESSING_ERROR' | 'SCAN_TOO_MANY_PAGES' | 'SCAN_PDF_ENCRYPTED' | 'SCAN_XFA_UNSUPPORTED' | 'AUDIO_FILE_REQUIRED' | 'AUDIO_FILE_TOO_LARGE' | 'INVALID_AUDIO_FORMAT' | 'AUDIO_TRANSCRIPTION_ERROR' | 'TTS_TEXT_TOO_LONG' | 'TTS_VOICE_UNKNOWN' | 'TOO_MANY_AUDIO_TRANSCRIPTIONS' | 'EMAIL_SEND_FAILED' | 'TOO_MANY_ATTACHMENTS' | 'INVALID_ATTACHMENT_URL' | 'ATTACHMENT_TOO_LARGE' | 'TOO_MANY_RECIPIENTS' | 'EMAIL_RECIPIENT_SUPPRESSED' | 'EMAIL_DOMAIN_NOT_VERIFIED' | 'EMAIL_LOCAL_PART_TAKEN' | 'EMAIL_SENDING_PAUSED' | 'EMAIL_DOMAINS_REQUIRE_PAID_PLAN' | 'SUPPRESSION_PERMANENT' | 'DEV_RECIPIENT_NOT_ALLOWED' | 'CRON_LIMIT_REACHED' | 'INVALID_SCHEDULE' | 'CRON_URL_NOT_ALLOWED' | 'CRON_JOB_NOT_FOUND' | 'CRON_REQUIRES_PUBLISHED_PROJECT' | 'URL_NOT_PROJECT_HOST' | 'INDEXNOW_ERROR' | 'MCP_VERIFY_FAILED' | 'MCP_NAME_RESERVED' | 'MCP_LIMIT_REACHED' | 'MCP_SERVER_NOT_FOUND' | 'PAYMENTS_NOT_ENABLED' | 'PAYMENTS_LIVE_ONBOARDING_REQUIRED' | 'CARD_DATA_NOT_ACCEPTED' | 'STRIPE_ERROR' | 'STRIPE_RATE_LIMITED' | 'PAYMENTS_WEBHOOK_SIGNATURE_INVALID' | 'AI_MODEL_NOT_ALLOWED' | 'AI_MODEL_UNKNOWN' | 'AI_INVALID_SCHEMA' | 'AI_CONTENT_BLOCKED' | 'AI_CONTEXT_TOO_LONG' | 'AI_PROVIDER_QUOTA' | 'AI_PROVIDER_UNAVAILABLE' | 'AI_STREAM_ERROR' | 'AI_VIDEO_JOB_NOT_FOUND' | 'AI_VIDEO_FAILED' | 'MISSING_VIDEO_URL' | 'MISSING_PROMPT' | 'INVALID_VIDEO_URL' | 'INVALID_VIDEO_URL_PROTOCOL' | 'INVALID_MIME_TYPE_HINT' | 'VIDEO_TOO_LARGE' | 'VIDEO_URL_UNREACHABLE' | 'VIDEO_URL_NOT_A_VIDEO' | 'YOUTUBE_VIDEO_UNAVAILABLE' | 'NO_PAYMENT_METHOD' | 'DOMAIN_CONTACT_REQUIRED' | 'DOMAIN_UNAVAILABLE' | 'DOMAIN_PREMIUM_NOT_ALLOWED' | 'TLD_NOT_ALLOWED' | 'DOMAIN_LIMIT_REACHED' | 'PRICE_CHANGED' | 'PAYMENT_FAILED' | 'REGISTRATION_FAILED' | 'DOMAIN_NOT_RENEWABLE' | 'DOMAIN_ALREADY_ATTACHED' | 'DNS_RECORD_MANAGED' | 'DNS_RECORD_CONFLICT' | 'DNS_RECORD_LIMIT' | 'DOMAIN_TRANSFER_LOCKED' | 'DOMAIN_NOT_FOUND' | 'DOMAIN_IN_USE' | 'DOMAIN_ALREADY_ADDED' | 'NO_DEPLOYMENT' | 'REDIRECT_LIMIT_REACHED' | 'REDIRECT_INVALID' | 'APEX_NOT_FLATTENABLE' | 'SECOND_FACTOR_NOT_CONFIGURED' | 'PASSWORD_REQUIRED' | 'PASSWORD_INCORRECT' | 'TOO_MANY_ATTEMPTS' | 'CONFIRMATION_MISMATCH' | 'INVALID_TOKEN' | 'MISSING_PERMISSIONS' | 'REPO_NOT_FOUND' | 'REPO_MISSING_BRANCHES' | 'UNKNOWN' | 'SANDBOX_NOT_READY' | 'SYNC_FAILED' | 'TOKEN_EXPIRED' | 'GITHUB_NOT_CONNECTED' | 'FIGMA_TOKEN_MISSING' | 'FIGMA_TOKEN_MALFORMED' | 'FIGMA_TOKEN_INVALID' | 'FIGMA_TOKEN_FORBIDDEN' | 'FIGMA_RATE_LIMITED' | 'FIGMA_UNREACHABLE' | 'INVALID_IMPORT_CODE' | 'IMPORT_SOURCE_GONE' | 'PROJECT_NOT_IMPORTABLE' | 'PROJECT_IMPORT_LIMIT_REACHED' | 'PROJECT_EXPORT_LIMIT_REACHED' | 'VERSION_NOT_FOUND' | 'INVALID_CODE_EDIT' | 'CODE_EDIT_FAILED' | 'BADGE_IN_SOURCE'; message?: string | undefined; } | undefined; }[]>;
908
+ actions: (batch: { [x: string]: unknown; type: 'pdf' | 'type' | 'waitFor' | 'screenshot' | 'content' | 'captcha.solve' | 'upload' | 'goto' | 'back' | 'forward' | 'reload' | 'pageInfo' | 'click' | 'dblclick' | 'press' | 'hover' | 'scroll' | 'dragAndDrop' | 'select' | 'frames.list' | 'frames.use' | 'tabs.list' | 'tabs.new' | 'tabs.use' | 'tabs.close' | 'evaluate' | 'extract' | 'cookies.get' | 'cookies.set' | 'cookies.clear' | 'storage.get' | 'storage.set' | 'storage.clear' | 'context.save' | 'downloads.list' | 'downloads.get' | 'network.capture' | 'network.log' | 'network.har' | 'network.intercept' | 'network.setHeaders' | 'emulate.viewport' | 'emulate.device' | 'emulate.geolocation' | 'emulate.timezone' | 'emulate.locale' | 'emulate.userAgent' | 'captcha.events' | 'proxy.usage' | 'stealth.get' | 'session.status' | 'session.liveView' | 'session.recording' | 'dialog.handle' | 'page.addInitScript' | 'page.exposeFunction' | 'emulate.media' | 'emulate.network' | 'emulate.cpu' | 'permissions.grant' | 'clipboard.read' | 'clipboard.write' | 'act' | 'observe' | 'session.release' | 'network.subscribe' | 'accessibility.snapshot'; frame?: string | undefined; tabId?: string | undefined; timeoutMs?: number | undefined; }[], opts?: { stopOnError?: boolean | undefined; } | undefined) => Promise<{ ok: boolean; data?: unknown; error?: { code: 'SERVICE_UNAUTHORIZED' | 'SERVICE_REPLAY' | 'ACTOR_MISMATCH' | 'PAYLOAD_TOO_LARGE' | 'VALIDATION_ERROR' | 'PROJECT_NOT_FOUND' | 'OPERATION_IN_PROGRESS' | 'AGENT_RUNNING' | 'PROJECT_MOVED' | 'OBJECT_MIGRATING' | 'INDEX_SHARD_UNAVAILABLE' | 'RATE_LIMIT_EXCEEDED' | 'PROJECT_PAUSED_RUNAWAY' | 'PROJECT_PAUSED_BALANCE' | 'PROJECT_SUSPENDED' | 'PROJECT_HIBERNATED' | 'PROJECT_DELETED' | 'PROJECT_PAUSED_BY_USER' | 'LIFECYCLE_NOT_APPLICABLE' | 'PROJECT_NOT_PAUSED' | 'PAUSE_DUMP_EXPIRED' | 'PAUSE_VERIFICATION_FAILED' | 'DEPLOYMENT_IN_PROGRESS' | 'REACTIVATE_IMPORT_MISMATCH' | 'RESUME_IMPORT_MISMATCH' | 'INSUFFICIENT_CREDITS' | 'VCAAS_INSUFFICIENT_CREDITS' | 'PROJECT_CREDIT_LIMIT_REACHED' | 'FREE_PROMPTS_DISABLED' | 'PLAN_REQUIRED' | 'FEATURE_LIMIT_REACHED' | 'FEATURE_DISABLED' | 'AGENT_ALREADY_RUNNING' | 'IMPORT_IN_PROGRESS' | 'TOO_MANY_RUN_REQUESTS' | 'PROMPT_SECURITY_VIOLATION' | 'NO_PROCESS_RUNNING' | 'RUN_NOT_FOUND' | 'DEPLOYMENT_RUNNING' | 'AUTO_EXECUTION_ALREADY_ACTIVE' | 'REBUILD_RUNNING' | 'SECRET_ALREADY_EXISTS' | 'SECRET_LIMIT_EXCEEDED' | 'RESERVED_SECRET_NAME' | 'DUMP_NOT_FOUND' | 'DUMP_INVALID' | 'RESTORE_TARGET_NOT_EMPTY' | 'ENGINE_NOT_SUPPORTED' | 'ENGINE_V2_DISABLED' | 'V2_TEMPORARILY_DISABLED' | 'ENGINE_REQUEST_NOT_ELIGIBLE' | 'ENGINE_MISMATCH' | 'INVALID_ENGINE_VERSION' | 'PROJECT_ENGINE_MISMATCH' | 'ENGINE_UNAVAILABLE' | 'PREVIEW_LABEL_TOO_LONG' | 'PROJECT_ALREADY_EXISTS' | 'CLOUDFLARE_API_ERROR' | 'PROVISIONING_BUSY' | 'UNAUTHORIZED' | 'LEGACY_KEY_NOT_SUPPORTED' | 'SANDBOX_KEY_EXPIRED' | 'AUTH_RATE_LIMITED' | 'FORBIDDEN_SCOPE' | 'KEY_ENV_MISMATCH' | 'KEY_LIMIT_EXCEEDED' | 'LIVE_DB_READ_ONLY' | 'LIVE_WRITE_NEEDS_CONFIRMATION' | 'DDL_NOT_ALLOWED' | 'MIGRATION_IN_PROGRESS' | 'MIGRATION_EDITED' | 'SCHEMA_OUT_OF_SYNC' | 'LIVE_MIGRATION_FAILED' | 'DESTRUCTIVE_MIGRATION_NEEDS_CONFIRMATION' | 'DEV_DATABASE_NOT_FOUND' | 'DATABASE_ROLE_NOT_FOUND' | 'BOOKMARK_NOT_FOUND' | 'BACKUP_NOT_FOUND' | 'BACKUP_NOT_DELETABLE' | 'BACKUP_RATE_LIMITED' | 'PRE_RESTORE_BACKUP_FAILED' | 'RESTORE_VERIFY_FAILED' | 'RUN_NOT_LATEST' | 'DEV_DATABASE_EXISTS' | 'SQL_ERROR' | 'SQL_MULTI_STATEMENT' | 'SQL_STATEMENT_TOO_LARGE' | 'SQL_TOO_MANY_PARAMS' | 'STATEMENT_NOT_ALLOWED' | 'VIRTUAL_TABLES_NOT_SUPPORTED' | 'USE_STORAGE_FOR_FILES' | 'D1_TYPE_ERROR' | 'MIGRATION_INVALID' | 'SYSTEM_TABLE_READ_ONLY' | 'SQL_READ_ONLY' | 'RESULT_TOO_LARGE' | 'NL_QUERY_UNANSWERABLE' | 'QUERY_TIMEOUT' | 'DB_OVERLOADED' | 'D1_TRANSIENT' | 'DB_FULL_NEAR_LIMIT' | 'IDEMPOTENCY_KEY_REUSED' | 'IDEMPOTENT_REPLAY_UNAVAILABLE' | 'TABLE_NOT_FOUND' | 'SCHEMA_TOO_LARGE_FOR_COUNTS' | 'EXEC_REQUIRES_MIGRATE_MODE' | 'MIGRATION_UNKNOWN_IN_DB' | 'QUERY_LIMIT_EXCEEDED' | 'STORAGE_LIMIT_EXCEEDED' | 'METER_UNAVAILABLE' | 'COLUMN_NOT_FOUND' | 'VALUE_NOT_ALLOWED' | 'COLUMN_REQUIRED' | 'FILTER_TOO_COMPLEX' | 'OFFSET_TOO_LARGE' | 'BULK_TOO_LARGE' | 'NOT_A_JUNCTION_TABLE' | 'AMBIGUOUS_RELATION' | 'LIVE_WRITE_CONFIRMATION_REQUIRED' | 'RECORD_NOT_FOUND' | 'DEV_NAME_GUARD' | 'PROD_NAME_GUARD' | 'INVALID_RUN_REQUEST' | 'RUN_ALREADY_ACTIVE' | 'RUN_CONFLICT' | 'INVALID_CREDENTIALS' | 'ADAPTER_UNAVAILABLE' | 'DISK_FULL' | 'DEPLOY_FIX_ATTEMPTS_EXHAUSTED' | 'TOKEN_REVOKED' | 'AM_UPDATE_DOWNLOAD_FAILED' | 'AM_UPDATE_BAD_SHA' | 'AM_UPDATE_BAD_SIGNATURE' | 'AM_UPDATE_INCOMPATIBLE_IMAGE' | 'AM_UPDATE_START_FAILED' | 'AM_VERSION_UNAVAILABLE' | 'AM_UPDATE_FAILED' | 'RELEASE_CANARY_NOT_PASSED' | 'RELEASE_NOT_FOUND' | 'RELEASE_ROLLOUT_ACTIVE' | 'RELEASE_GUARD_PAUSED' | 'RELEASE_BUILD_UNAVAILABLE' | 'RELEASE_BELOW_MIN_SAFE_VERSION' | 'VISUAL_EDIT_PREVIEW_DEPLOYING' | 'VISUAL_EDIT_NOT_PATCHABLE' | 'VISUAL_EDIT_BASE_MISMATCH' | 'VISUAL_EDIT_TYPECHECK_FAILED' | 'INVALID_VISUAL_EDIT' | 'IMAGE_VERSION_NOT_FOUND' | 'IMAGE_VERSION_NOT_PROMOTABLE' | 'REALTIME_TICKET_INVALID' | 'REALTIME_TICKET_EXPIRED' | 'REALTIME_PERMISSION_DENIED' | 'REALTIME_MESSAGE_TOO_LARGE' | 'REALTIME_MESSAGE_RATE_EXCEEDED' | 'REALTIME_CONNECTION_LIMIT_REACHED' | 'REALTIME_ROOM_LIMIT_REACHED' | 'CONFIRMATION_REQUIRED' | 'MIGRATION_NOT_REVERSIBLE' | 'ALREADY_ON_PROVIDER' | 'DATABASE_MIGRATING' | 'LOGWATCH_INACTIVE' | 'AGENT_LOG_READS_LIMIT' | 'LOGS_UPSTREAM_ERROR' | 'ANALYTICS_INVALID_QUERY' | 'ANALYTICS_UPSTREAM_ERROR' | 'ANALYTICS_WINDOW_OUT_OF_RETENTION' | 'INVALID_CIDR' | 'RATE_LIMIT_ABOVE_PLAN' | 'RATE_LIMIT_DISABLE_NOT_ALLOWED' | 'OWNER_ONLY' | 'SIGNING_NOT_CONFIGURED' | 'SIGNING_ALREADY_CONFIGURED' | 'SIGNING_INVALID_KEYSTORE' | 'SIGNING_INVALID_ASC_KEY' | 'KEYSTORE_DOWNLOAD_EXPIRED' | 'KEYSTORE_NOT_DOWNLOADABLE' | 'MOBILE_BUILD_RUNNING' | 'MOBILE_BUILD_NOT_FOUND' | 'MOBILE_BUILD_NOT_READY' | 'DOWNLOAD_EXPIRED' | 'PROCESS_IN_PROGRESS' | 'SANDBOX_NOT_RUNNING' | 'MOBILE_LAYER_MISSING' | 'MOBILE_BUILD_FAILED' | 'MOBILE_ARTIFACT_INVALID' | 'SIGNING_FINGERPRINT_MISMATCH' | 'AM_RESTARTED' | 'LIMIT_ABOVE_PLAN_CEILING' | 'UNKNOWN_FEATURE' | 'INVALID_LIMIT' | 'FEATURE_NOT_DISABLABLE' | 'USE_PUT_LIMITS' | 'LIMIT_NOT_USER_EDITABLE' | 'NOT_AVAILABLE_FOR_ENGINE' | 'INVALID_AMOUNT' | 'REFUND_EXCEEDS_CHARGES' | 'IDEMPOTENCY_CONFLICT' | 'ORGANIZATION_NOT_FOUND' | 'ACCOUNT_NOT_FOUND' | 'PROVIDER_UNAVAILABLE' | 'URL_NOT_ALLOWED' | 'JOB_NOT_FOUND' | 'FILE_TOO_LARGE' | 'UNSUPPORTED_FILE_TYPE' | 'FILE_NOT_FOUND' | 'FILE_KEY_FORBIDDEN' | 'FILE_UPLOAD_ERROR' | 'FILE_DOWNLOAD_ERROR' | 'FILE_DELETE_ERROR' | 'UPLOAD_NOT_COMPLETED' | 'MISSING_URL' | 'MISSING_INPUT' | 'MISSING_EXTRACTION_CONFIG' | 'MISSING_QUERY' | 'SCRAPE_FAILED' | 'EXTRACT_FAILED' | 'SCREENSHOT_FAILED' | 'SEARCH_FAILED' | 'SCRAPE_BLOCKED' | 'SESSION_NOT_FOUND' | 'SESSION_EXPIRED' | 'SESSION_BUSY' | 'SESSION_LIMIT_REACHED' | 'SESSION_ENDED_INSUFFICIENT_CREDITS' | 'ACTION_TIMEOUT' | 'ACTION_FAILED' | 'UNKNOWN_COMMAND' | 'BATCH_TOO_LARGE' | 'SKIPPED' | 'UPLOAD_TOO_LARGE' | 'DOWNLOAD_TOO_LARGE' | 'CAPTURE_LIMIT_REACHED' | 'CAPTCHA_UNSOLVED' | 'BROWSER_CDP_NODE_ONLY' | 'DIALOG_NOT_OPEN' | 'STEALTH_TIER_UNAVAILABLE' | 'DOMAIN_NOT_ALLOWED' | 'CONTEXT_SEED_UNSUPPORTED' | 'EXTENSION_TOO_LARGE' | 'NL_PROVIDER_UNAVAILABLE' | 'PROGRAM_TOO_LARGE' | 'PROGRAM_UNBOUNDED' | 'UNKNOWN_STEP' | 'PROGRAM_IN_FLIGHT' | 'PROGRAM_TIMEOUT' | 'PROGRAM_NOT_FOUND' | 'PROGRAM_STEP_FAILED' | 'PROGRAM_LIMIT_REACHED' | 'CREATE_PDF_FROM_HTML_ERROR' | 'GENERATE_PDF_BY_URL_ERROR' | 'PDF_TIMEOUT' | 'PDF_TOO_LARGE' | 'FILENAME_REQUIRED' | 'SCANUM_EYE_ARRAY_NOT_SUPPORTED' | 'INVALID_EXTRA_FIELD_TYPE' | 'SCANUM_EYE_PDF_NOT_SUPPORTED' | 'UNSUPPORTED_SCAN_MODEL' | 'SCAN_DOCUMENT_ERROR' | 'SCAN_INVOICE_ERROR' | 'OCR_IMAGE_PROCESSING_ERROR' | 'OCR_PDF_PROCESSING_ERROR' | 'SCAN_TOO_MANY_PAGES' | 'SCAN_PDF_ENCRYPTED' | 'SCAN_XFA_UNSUPPORTED' | 'AUDIO_FILE_REQUIRED' | 'AUDIO_FILE_TOO_LARGE' | 'INVALID_AUDIO_FORMAT' | 'AUDIO_TRANSCRIPTION_ERROR' | 'TTS_TEXT_TOO_LONG' | 'TTS_VOICE_UNKNOWN' | 'TOO_MANY_AUDIO_TRANSCRIPTIONS' | 'EMAIL_SEND_FAILED' | 'TOO_MANY_ATTACHMENTS' | 'INVALID_ATTACHMENT_URL' | 'ATTACHMENT_TOO_LARGE' | 'TOO_MANY_RECIPIENTS' | 'EMAIL_RECIPIENT_SUPPRESSED' | 'EMAIL_DOMAIN_NOT_VERIFIED' | 'EMAIL_LOCAL_PART_TAKEN' | 'EMAIL_SENDING_PAUSED' | 'EMAIL_DOMAINS_REQUIRE_PAID_PLAN' | 'SUPPRESSION_PERMANENT' | 'DEV_RECIPIENT_NOT_ALLOWED' | 'CRON_LIMIT_REACHED' | 'INVALID_SCHEDULE' | 'CRON_URL_NOT_ALLOWED' | 'CRON_JOB_NOT_FOUND' | 'CRON_REQUIRES_PUBLISHED_PROJECT' | 'URL_NOT_PROJECT_HOST' | 'INDEXNOW_ERROR' | 'MCP_VERIFY_FAILED' | 'MCP_NAME_RESERVED' | 'MCP_LIMIT_REACHED' | 'MCP_SERVER_NOT_FOUND' | 'PAYMENTS_NOT_ENABLED' | 'PAYMENTS_LIVE_ONBOARDING_REQUIRED' | 'CARD_DATA_NOT_ACCEPTED' | 'STRIPE_ERROR' | 'STRIPE_RATE_LIMITED' | 'PAYMENTS_WEBHOOK_SIGNATURE_INVALID' | 'AI_MODEL_NOT_ALLOWED' | 'AI_MODEL_UNKNOWN' | 'AI_INVALID_SCHEMA' | 'AI_CONTENT_BLOCKED' | 'AI_CONTEXT_TOO_LONG' | 'AI_PROVIDER_QUOTA' | 'AI_PROVIDER_UNAVAILABLE' | 'AI_STREAM_ERROR' | 'AI_VIDEO_JOB_NOT_FOUND' | 'AI_VIDEO_FAILED' | 'MISSING_VIDEO_URL' | 'MISSING_PROMPT' | 'INVALID_VIDEO_URL' | 'INVALID_VIDEO_URL_PROTOCOL' | 'INVALID_MIME_TYPE_HINT' | 'VIDEO_TOO_LARGE' | 'VIDEO_URL_UNREACHABLE' | 'VIDEO_URL_NOT_A_VIDEO' | 'YOUTUBE_VIDEO_UNAVAILABLE' | 'NO_PAYMENT_METHOD' | 'DOMAIN_CONTACT_REQUIRED' | 'DOMAIN_UNAVAILABLE' | 'DOMAIN_PREMIUM_NOT_ALLOWED' | 'TLD_NOT_ALLOWED' | 'DOMAIN_LIMIT_REACHED' | 'PRICE_CHANGED' | 'PAYMENT_FAILED' | 'REGISTRATION_FAILED' | 'DOMAIN_NOT_RENEWABLE' | 'DOMAIN_ALREADY_ATTACHED' | 'DNS_RECORD_MANAGED' | 'DNS_RECORD_CONFLICT' | 'DNS_RECORD_LIMIT' | 'DOMAIN_TRANSFER_LOCKED' | 'DOMAIN_NOT_FOUND' | 'DOMAIN_IN_USE' | 'DOMAIN_ALREADY_ADDED' | 'NO_DEPLOYMENT' | 'REDIRECT_LIMIT_REACHED' | 'REDIRECT_INVALID' | 'APEX_NOT_FLATTENABLE' | 'SECOND_FACTOR_NOT_CONFIGURED' | 'PASSWORD_REQUIRED' | 'PASSWORD_INCORRECT' | 'TOO_MANY_ATTEMPTS' | 'CONFIRMATION_MISMATCH' | 'INVALID_TOKEN' | 'MISSING_PERMISSIONS' | 'REPO_NOT_FOUND' | 'REPO_MISSING_BRANCHES' | 'UNKNOWN' | 'SANDBOX_NOT_READY' | 'SYNC_FAILED' | 'TOKEN_EXPIRED' | 'GITHUB_NOT_CONNECTED' | 'FIGMA_TOKEN_MISSING' | 'FIGMA_TOKEN_MALFORMED' | 'FIGMA_TOKEN_INVALID' | 'FIGMA_TOKEN_FORBIDDEN' | 'FIGMA_RATE_LIMITED' | 'FIGMA_UNREACHABLE' | 'INVALID_IMPORT_CODE' | 'IMPORT_SOURCE_GONE' | 'PROJECT_NOT_IMPORTABLE' | 'PROJECT_IMPORT_LIMIT_REACHED' | 'PROJECT_EXPORT_LIMIT_REACHED' | 'VERSION_NOT_FOUND' | 'INVALID_CODE_EDIT' | 'CODE_EDIT_FAILED' | 'BADGE_IN_SOURCE'; message?: string | undefined; } | undefined; }[]>;
889
909
  program: (program: { steps: BrowserStep[]; vars?: Record<string, unknown> | undefined; timeoutSec?: number | undefined; webhookUrl?: string | undefined; }) => Promise<{ programId: string; status: 'pending'; pollUrl: string; }>;
890
910
  status: () => Promise<{ id: string; status: 'running' | 'failed' | 'expired' | 'ended'; startedAt: string; minutes: number; proxyMb: number; captchas: number; credits: number; expiresAt: string; }>;
891
911
  close: () => Promise<{ minutes: number; proxyMb: number; captchas: number; creditsUsed: number; recordingUrl?: string | undefined; }>;
@@ -994,6 +1014,16 @@ type SiteAnalyticsQuery = {
994
1014
  }
995
1015
  ```
996
1016
 
1017
+ ### `SpeechAudio`
1018
+
1019
+ ```ts
1020
+ type SpeechAudio = {
1021
+ audio: ArrayBuffer;
1022
+ contentType: string;
1023
+ credits: number;
1024
+ }
1025
+ ```
1026
+
997
1027
  ### `TotalumAiOptions`
998
1028
 
999
1029
  ```ts