// AUTO-GENERATED by scripts/generate.ts from .generated-specs. Do not edit. import * as S from "@distilled.cloud/core/schema"; import * as API from "@distilled.cloud/core/api"; import * as T from "../traits.ts"; import { CloudflareProtocol, CloudflarePaginatedProtocol, type CloudflareOpError, type CloudflareOpContext, } from "../protocol.ts"; import { cloudflarePaginate, ResultInfo } from "../pagination.ts"; import { CloudflareError, CloudflareRateLimited } from "../errors.ts"; import * as Retry from "../retry.ts"; export type { CloudflareOpError, CloudflareOpContext }; /** Fallback camelCase→wire mapping for opaque content (mined from the distilled SDK). */ const KEY_DICTIONARY: Record> = { botFightMode: "bot_fight_mode", clearanceLevel: "clearance_level", createdOn: "created_on", ephemeralId: "ephemeral_id", invalidateImmediately: "invalidate_immediately", modifiedOn: "modified_on", perPage: "per_page", resultInfo: "result_info", totalCount: "total_count", }; export class Forbidden extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()("Forbidden", { code: S.Number, message: S.String, }), [{ status: 403 }], ) {} export class WidgetNotFound extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()("WidgetNotFound", { code: S.Number, message: S.String, }), [{ code: 10404 }, { code: 10407 }, { status: 404 }], ) {} export type WidgetsCreateRequestDirection = "asc" | "desc"; export const WidgetsCreateRequestDirection = /*@__PURE__*/ S.String; export type WidgetsCreateRequestOrder = | "id" | "sitekey" | "name" | "created_on" | "modified_on"; export const WidgetsCreateRequestOrder = /*@__PURE__*/ S.String; export type WidgetsCreateRequestDomainsList = Array; export const WidgetsCreateRequestDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type WidgetsCreateRequestMode = | "non-interactive" | "invisible" | "managed"; export const WidgetsCreateRequestMode = /*@__PURE__*/ S.String; export type WidgetsCreateRequestClearanceLevel = | "no_clearance" | "jschallenge" | "managed" | "interactive"; export const WidgetsCreateRequestClearanceLevel = /*@__PURE__*/ S.String; export type WidgetsCreateRequestRegion = "world" | "china"; export const WidgetsCreateRequestRegion = /*@__PURE__*/ S.String; export interface CreateWidgetRequest { /** Identifier */ accountId: string; /** Direction to order widgets. */ direction?: WidgetsCreateRequestDirection | (string & {}); /** Filter widgets by field using case-insensitive substring matching. */ filter?: string; /** Field to order widgets by. */ order?: WidgetsCreateRequestOrder | (string & {}); /** Page number of paginated results. */ page?: number; /** Number of items per page. */ perPage?: number; domains: WidgetsCreateRequestDomainsList; /** Widget Mode */ mode: WidgetsCreateRequestMode | (string & {}); /** Human readable widget name. Not unique. Cloudflare suggests that you */ name: string; /** If bot_fight_mode is set to `true`, Cloudflare issues computationally */ botFightMode?: boolean; /** If Turnstile is embedded on a Cloudflare site and the widget should grant challenge clearance, */ clearanceLevel?: WidgetsCreateRequestClearanceLevel | (string & {}); /** Return the Ephemeral ID in /siteverify (ENT only). */ ephemeralId?: boolean; /** Do not show any Cloudflare branding on the widget (ENT only). */ offlabel?: boolean; /** Region where this widget can be used. This cannot be changed after creation. */ region?: WidgetsCreateRequestRegion | (string & {}); } export const CreateWidgetRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), direction: S.optional(WidgetsCreateRequestDirection.pipe(T.Query())), filter: S.optional(S.String.pipe(T.Query())), order: S.optional(WidgetsCreateRequestOrder.pipe(T.Query())), page: S.optional(S.Number.pipe(T.Query())), perPage: S.optional(S.Number.pipe(T.Query("per_page"))), domains: WidgetsCreateRequestDomainsList, mode: WidgetsCreateRequestMode, name: S.String, botFightMode: S.optional(S.Boolean.pipe(T.Body("bot_fight_mode"))), clearanceLevel: S.optional( WidgetsCreateRequestClearanceLevel.pipe(T.Body("clearance_level")), ), ephemeralId: S.optional(S.Boolean.pipe(T.Body("ephemeral_id"))), offlabel: S.optional(S.Boolean), region: S.optional(WidgetsCreateRequestRegion), }) .pipe( T.Http({ method: "POST", uri: "/accounts/{account_id}/challenges/widgets", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateWidgetRequest", }) as any as S.Schema; export type WidgetsCreateResponseClearanceLevel = | "no_clearance" | "jschallenge" | "managed" | "interactive"; export const WidgetsCreateResponseClearanceLevel = /*@__PURE__*/ S.String; export type WidgetsCreateResponseDomainsList = Array; export const WidgetsCreateResponseDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type WidgetsCreateResponseMode = | "non-interactive" | "invisible" | "managed"; export const WidgetsCreateResponseMode = /*@__PURE__*/ S.String; export type WidgetsCreateResponseRegion = "world" | "china"; export const WidgetsCreateResponseRegion = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface CreateWidgetResponse { /** If bot_fight_mode is set to `true`, Cloudflare issues computationally */ botFightMode: boolean; /** If Turnstile is embedded on a Cloudflare site and the widget should grant challenge clearance, */ clearanceLevel: WidgetsCreateResponseClearanceLevel; /** When the widget was created. */ createdOn: string; domains: WidgetsCreateResponseDomainsList; /** Return the Ephemeral ID in /siteverify (ENT only). */ ephemeralId: boolean; /** Widget Mode */ mode: WidgetsCreateResponseMode; /** When the widget was modified. */ modifiedOn: string; /** Human readable widget name. Not unique. Cloudflare suggests that you */ name: string; /** Do not show any Cloudflare branding on the widget (ENT only). */ offlabel: boolean; /** Region where this widget can be used. This cannot be changed after creation. */ region: WidgetsCreateResponseRegion; /** Secret key for this widget. */ secret: string; /** Widget item identifier tag. */ sitekey: string; } export const CreateWidgetResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ botFightMode: S.Boolean.pipe(T.Body("bot_fight_mode")), clearanceLevel: WidgetsCreateResponseClearanceLevel.pipe( T.Body("clearance_level"), ), createdOn: S.String.pipe(T.Body("created_on")), domains: WidgetsCreateResponseDomainsList, ephemeralId: S.Boolean.pipe(T.Body("ephemeral_id")), mode: WidgetsCreateResponseMode, modifiedOn: S.String.pipe(T.Body("modified_on")), name: S.String, offlabel: S.Boolean, region: WidgetsCreateResponseRegion, secret: S.String, sitekey: S.String, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateWidgetResponse", }) as any as S.Schema; export interface DeleteWidgetRequest { /** Identifier */ accountId: string; /** Widget item identifier tag. */ sitekey: string; } export const DeleteWidgetRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), sitekey: S.String.pipe(T.Label()), }) .pipe( T.Http({ method: "DELETE", uri: "/accounts/{account_id}/challenges/widgets/{sitekey}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteWidgetRequest", }) as any as S.Schema; export type WidgetsDeleteResponseClearanceLevel = | "no_clearance" | "jschallenge" | "managed" | "interactive"; export const WidgetsDeleteResponseClearanceLevel = /*@__PURE__*/ S.String; export type WidgetsDeleteResponseDomainsList = Array; export const WidgetsDeleteResponseDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type WidgetsDeleteResponseMode = | "non-interactive" | "invisible" | "managed"; export const WidgetsDeleteResponseMode = /*@__PURE__*/ S.String; export type WidgetsDeleteResponseRegion = "world" | "china"; export const WidgetsDeleteResponseRegion = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DeleteWidgetResponse { /** If bot_fight_mode is set to `true`, Cloudflare issues computationally */ botFightMode: boolean; /** If Turnstile is embedded on a Cloudflare site and the widget should grant challenge clearance, */ clearanceLevel: WidgetsDeleteResponseClearanceLevel; /** When the widget was created. */ createdOn: string; domains: WidgetsDeleteResponseDomainsList; /** Return the Ephemeral ID in /siteverify (ENT only). */ ephemeralId: boolean; /** Widget Mode */ mode: WidgetsDeleteResponseMode; /** When the widget was modified. */ modifiedOn: string; /** Human readable widget name. Not unique. Cloudflare suggests that you */ name: string; /** Do not show any Cloudflare branding on the widget (ENT only). */ offlabel: boolean; /** Region where this widget can be used. This cannot be changed after creation. */ region: WidgetsDeleteResponseRegion; /** Secret key for this widget. */ secret: string; /** Widget item identifier tag. */ sitekey: string; } export const DeleteWidgetResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ botFightMode: S.Boolean.pipe(T.Body("bot_fight_mode")), clearanceLevel: WidgetsDeleteResponseClearanceLevel.pipe( T.Body("clearance_level"), ), createdOn: S.String.pipe(T.Body("created_on")), domains: WidgetsDeleteResponseDomainsList, ephemeralId: S.Boolean.pipe(T.Body("ephemeral_id")), mode: WidgetsDeleteResponseMode, modifiedOn: S.String.pipe(T.Body("modified_on")), name: S.String, offlabel: S.Boolean, region: WidgetsDeleteResponseRegion, secret: S.String, sitekey: S.String, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteWidgetResponse", }) as any as S.Schema; export interface GetWidgetRequest { /** Identifier */ accountId: string; /** Widget item identifier tag. */ sitekey: string; } export const GetWidgetRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), sitekey: S.String.pipe(T.Label()), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/challenges/widgets/{sitekey}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetWidgetRequest", }) as any as S.Schema; export type WidgetsGetResponseClearanceLevel = | "no_clearance" | "jschallenge" | "managed" | "interactive"; export const WidgetsGetResponseClearanceLevel = /*@__PURE__*/ S.String; export type WidgetsGetResponseDomainsList = Array; export const WidgetsGetResponseDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type WidgetsGetResponseMode = | "non-interactive" | "invisible" | "managed"; export const WidgetsGetResponseMode = /*@__PURE__*/ S.String; export type WidgetsGetResponseRegion = "world" | "china"; export const WidgetsGetResponseRegion = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetWidgetResponse { /** If bot_fight_mode is set to `true`, Cloudflare issues computationally */ botFightMode: boolean; /** If Turnstile is embedded on a Cloudflare site and the widget should grant challenge clearance, */ clearanceLevel: WidgetsGetResponseClearanceLevel; /** When the widget was created. */ createdOn: string; domains: WidgetsGetResponseDomainsList; /** Return the Ephemeral ID in /siteverify (ENT only). */ ephemeralId: boolean; /** Widget Mode */ mode: WidgetsGetResponseMode; /** When the widget was modified. */ modifiedOn: string; /** Human readable widget name. Not unique. Cloudflare suggests that you */ name: string; /** Do not show any Cloudflare branding on the widget (ENT only). */ offlabel: boolean; /** Region where this widget can be used. This cannot be changed after creation. */ region: WidgetsGetResponseRegion; /** Secret key for this widget. */ secret: string; /** Widget item identifier tag. */ sitekey: string; } export const GetWidgetResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ botFightMode: S.Boolean.pipe(T.Body("bot_fight_mode")), clearanceLevel: WidgetsGetResponseClearanceLevel.pipe( T.Body("clearance_level"), ), createdOn: S.String.pipe(T.Body("created_on")), domains: WidgetsGetResponseDomainsList, ephemeralId: S.Boolean.pipe(T.Body("ephemeral_id")), mode: WidgetsGetResponseMode, modifiedOn: S.String.pipe(T.Body("modified_on")), name: S.String, offlabel: S.Boolean, region: WidgetsGetResponseRegion, secret: S.String, sitekey: S.String, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetWidgetResponse", }) as any as S.Schema; export type WidgetsListRequestDirection = "asc" | "desc"; export const WidgetsListRequestDirection = /*@__PURE__*/ S.String; export type WidgetsListRequestOrder = | "id" | "sitekey" | "name" | "created_on" | "modified_on"; export const WidgetsListRequestOrder = /*@__PURE__*/ S.String; export interface ListWidgetsRequest { /** Identifier */ accountId: string; /** Direction to order widgets. */ direction?: WidgetsListRequestDirection | (string & {}); /** Filter widgets by field using case-insensitive substring matching. */ filter?: string; /** Field to order widgets by. */ order?: WidgetsListRequestOrder | (string & {}); /** Page number of paginated results. */ page?: number; /** Number of items per page. */ perPage?: number; } export const ListWidgetsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), direction: S.optional(WidgetsListRequestDirection.pipe(T.Query())), filter: S.optional(S.String.pipe(T.Query())), order: S.optional(WidgetsListRequestOrder.pipe(T.Query())), page: S.optional(S.Number.pipe(T.Query())), perPage: S.optional(S.Number.pipe(T.Query("per_page"))), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/challenges/widgets", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListWidgetsRequest", }) as any as S.Schema; export type WidgetsListResultItemClearanceLevel = | "no_clearance" | "jschallenge" | "managed" | "interactive"; export const WidgetsListResultItemClearanceLevel = /*@__PURE__*/ S.String; export type WidgetsListResultItemDomainsList = Array; export const WidgetsListResultItemDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type WidgetsListResultItemMode = | "non-interactive" | "invisible" | "managed"; export const WidgetsListResultItemMode = /*@__PURE__*/ S.String; export type WidgetsListResultItemRegion = "world" | "china"; export const WidgetsListResultItemRegion = /*@__PURE__*/ S.String; export interface WidgetsListResultItem { /** If bot_fight_mode is set to `true`, Cloudflare issues computationally */ botFightMode: boolean; /** If Turnstile is embedded on a Cloudflare site and the widget should grant challenge clearance, */ clearanceLevel: WidgetsListResultItemClearanceLevel; /** When the widget was created. */ createdOn: string; domains: WidgetsListResultItemDomainsList; /** Return the Ephemeral ID in /siteverify (ENT only). */ ephemeralId: boolean; /** Widget Mode */ mode: WidgetsListResultItemMode; /** When the widget was modified. */ modifiedOn: string; /** Human readable widget name. Not unique. Cloudflare suggests that you */ name: string; /** Do not show any Cloudflare branding on the widget (ENT only). */ offlabel: boolean; /** Region where this widget can be used. This cannot be changed after creation. */ region: WidgetsListResultItemRegion; /** Widget item identifier tag. */ sitekey: string; } export const WidgetsListResultItem = /*@__PURE__*/ S.suspend(() => S.Struct({ botFightMode: S.Boolean.pipe(T.Body("bot_fight_mode")), clearanceLevel: WidgetsListResultItemClearanceLevel.pipe( T.Body("clearance_level"), ), createdOn: S.String.pipe(T.Body("created_on")), domains: WidgetsListResultItemDomainsList, ephemeralId: S.Boolean.pipe(T.Body("ephemeral_id")), mode: WidgetsListResultItemMode, modifiedOn: S.String.pipe(T.Body("modified_on")), name: S.String, offlabel: S.Boolean, region: WidgetsListResultItemRegion, sitekey: S.String, }), ).annotate({ identifier: "WidgetsListResultItem", }) as any as S.Schema; export type WidgetsListResultList = Array; export const WidgetsListResultList = /*@__PURE__*/ S.Array( WidgetsListResultItem, ) as any as S.Schema; export interface ListWidgetsResponse { /** The unwrapped `result` payload of the v4 response envelope. */ result: WidgetsListResultList; /** Pagination info from the envelope's `result_info`. */ resultInfo?: ResultInfo | null; } export const ListWidgetsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ result: WidgetsListResultList.pipe(T.EnvelopePayload()), resultInfo: S.optional(S.NullOr(ResultInfo).pipe(T.ResultInfo())), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListWidgetsResponse", }) as any as S.Schema; export interface RotateSecretWidgetRequest { /** Identifier */ accountId: string; /** Widget item identifier tag. */ sitekey: string; /** If `invalidate_immediately` is set to `false`, the previous secret will */ invalidateImmediately?: boolean; } export const RotateSecretWidgetRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), sitekey: S.String.pipe(T.Label()), invalidateImmediately: S.optional( S.Boolean.pipe(T.Body("invalidate_immediately")), ), }) .pipe( T.Http({ method: "POST", uri: "/accounts/{account_id}/challenges/widgets/{sitekey}/rotate_secret", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "RotateSecretWidgetRequest", }) as any as S.Schema; export type WidgetsRotateSecretResponseClearanceLevel = | "no_clearance" | "jschallenge" | "managed" | "interactive"; export const WidgetsRotateSecretResponseClearanceLevel = /*@__PURE__*/ S.String; export type WidgetsRotateSecretResponseDomainsList = Array; export const WidgetsRotateSecretResponseDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type WidgetsRotateSecretResponseMode = | "non-interactive" | "invisible" | "managed"; export const WidgetsRotateSecretResponseMode = /*@__PURE__*/ S.String; export type WidgetsRotateSecretResponseRegion = "world" | "china"; export const WidgetsRotateSecretResponseRegion = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface RotateSecretWidgetResponse { /** If bot_fight_mode is set to `true`, Cloudflare issues computationally */ botFightMode: boolean; /** If Turnstile is embedded on a Cloudflare site and the widget should grant challenge clearance, */ clearanceLevel: WidgetsRotateSecretResponseClearanceLevel; /** When the widget was created. */ createdOn: string; domains: WidgetsRotateSecretResponseDomainsList; /** Return the Ephemeral ID in /siteverify (ENT only). */ ephemeralId: boolean; /** Widget Mode */ mode: WidgetsRotateSecretResponseMode; /** When the widget was modified. */ modifiedOn: string; /** Human readable widget name. Not unique. Cloudflare suggests that you */ name: string; /** Do not show any Cloudflare branding on the widget (ENT only). */ offlabel: boolean; /** Region where this widget can be used. This cannot be changed after creation. */ region: WidgetsRotateSecretResponseRegion; /** Secret key for this widget. */ secret: string; /** Widget item identifier tag. */ sitekey: string; } export const RotateSecretWidgetResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ botFightMode: S.Boolean.pipe(T.Body("bot_fight_mode")), clearanceLevel: WidgetsRotateSecretResponseClearanceLevel.pipe( T.Body("clearance_level"), ), createdOn: S.String.pipe(T.Body("created_on")), domains: WidgetsRotateSecretResponseDomainsList, ephemeralId: S.Boolean.pipe(T.Body("ephemeral_id")), mode: WidgetsRotateSecretResponseMode, modifiedOn: S.String.pipe(T.Body("modified_on")), name: S.String, offlabel: S.Boolean, region: WidgetsRotateSecretResponseRegion, secret: S.String, sitekey: S.String, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "RotateSecretWidgetResponse", }) as any as S.Schema; export type WidgetsUpdateRequestDomainsList = Array; export const WidgetsUpdateRequestDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type WidgetsUpdateRequestMode = | "non-interactive" | "invisible" | "managed"; export const WidgetsUpdateRequestMode = /*@__PURE__*/ S.String; export type WidgetsUpdateRequestClearanceLevel = | "no_clearance" | "jschallenge" | "managed" | "interactive"; export const WidgetsUpdateRequestClearanceLevel = /*@__PURE__*/ S.String; export type WidgetsUpdateRequestRegion = "world" | "china"; export const WidgetsUpdateRequestRegion = /*@__PURE__*/ S.String; export interface UpdateWidgetRequest { /** Identifier */ accountId: string; /** Widget item identifier tag. */ sitekey: string; domains: WidgetsUpdateRequestDomainsList; /** Widget Mode */ mode: WidgetsUpdateRequestMode | (string & {}); /** Human readable widget name. Not unique. Cloudflare suggests that you */ name: string; /** If bot_fight_mode is set to `true`, Cloudflare issues computationally */ botFightMode?: boolean; /** If Turnstile is embedded on a Cloudflare site and the widget should grant challenge clearance, */ clearanceLevel?: WidgetsUpdateRequestClearanceLevel | (string & {}); /** Return the Ephemeral ID in /siteverify (ENT only). */ ephemeralId?: boolean; /** Do not show any Cloudflare branding on the widget (ENT only). */ offlabel?: boolean; /** Region where this widget can be used. This cannot be changed after creation. */ region?: WidgetsUpdateRequestRegion | (string & {}); } export const UpdateWidgetRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), sitekey: S.String.pipe(T.Label()), domains: WidgetsUpdateRequestDomainsList, mode: WidgetsUpdateRequestMode, name: S.String, botFightMode: S.optional(S.Boolean.pipe(T.Body("bot_fight_mode"))), clearanceLevel: S.optional( WidgetsUpdateRequestClearanceLevel.pipe(T.Body("clearance_level")), ), ephemeralId: S.optional(S.Boolean.pipe(T.Body("ephemeral_id"))), offlabel: S.optional(S.Boolean), region: S.optional(WidgetsUpdateRequestRegion), }) .pipe( T.Http({ method: "PUT", uri: "/accounts/{account_id}/challenges/widgets/{sitekey}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UpdateWidgetRequest", }) as any as S.Schema; export type WidgetsUpdateResponseClearanceLevel = | "no_clearance" | "jschallenge" | "managed" | "interactive"; export const WidgetsUpdateResponseClearanceLevel = /*@__PURE__*/ S.String; export type WidgetsUpdateResponseDomainsList = Array; export const WidgetsUpdateResponseDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type WidgetsUpdateResponseMode = | "non-interactive" | "invisible" | "managed"; export const WidgetsUpdateResponseMode = /*@__PURE__*/ S.String; export type WidgetsUpdateResponseRegion = "world" | "china"; export const WidgetsUpdateResponseRegion = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface UpdateWidgetResponse { /** If bot_fight_mode is set to `true`, Cloudflare issues computationally */ botFightMode: boolean; /** If Turnstile is embedded on a Cloudflare site and the widget should grant challenge clearance, */ clearanceLevel: WidgetsUpdateResponseClearanceLevel; /** When the widget was created. */ createdOn: string; domains: WidgetsUpdateResponseDomainsList; /** Return the Ephemeral ID in /siteverify (ENT only). */ ephemeralId: boolean; /** Widget Mode */ mode: WidgetsUpdateResponseMode; /** When the widget was modified. */ modifiedOn: string; /** Human readable widget name. Not unique. Cloudflare suggests that you */ name: string; /** Do not show any Cloudflare branding on the widget (ENT only). */ offlabel: boolean; /** Region where this widget can be used. This cannot be changed after creation. */ region: WidgetsUpdateResponseRegion; /** Secret key for this widget. */ secret: string; /** Widget item identifier tag. */ sitekey: string; } export const UpdateWidgetResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ botFightMode: S.Boolean.pipe(T.Body("bot_fight_mode")), clearanceLevel: WidgetsUpdateResponseClearanceLevel.pipe( T.Body("clearance_level"), ), createdOn: S.String.pipe(T.Body("created_on")), domains: WidgetsUpdateResponseDomainsList, ephemeralId: S.Boolean.pipe(T.Body("ephemeral_id")), mode: WidgetsUpdateResponseMode, modifiedOn: S.String.pipe(T.Body("modified_on")), name: S.String, offlabel: S.Boolean, region: WidgetsUpdateResponseRegion, secret: S.String, sitekey: S.String, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UpdateWidgetResponse", }) as any as S.Schema; export type CreateWidgetError = CloudflareOpError; /** Lists challenge widgets. */ export const createWidget: API.OperationMethod< CreateWidgetRequest, CreateWidgetResponse, CreateWidgetError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateWidgetRequest, output: CreateWidgetResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DeleteWidgetError = WidgetNotFound | Forbidden | CloudflareOpError; /** Destroy a Turnstile Widget. */ export const deleteWidget: API.OperationMethod< DeleteWidgetRequest, DeleteWidgetResponse, DeleteWidgetError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteWidgetRequest, output: DeleteWidgetResponse, errors: [WidgetNotFound, Forbidden, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetWidgetError = WidgetNotFound | Forbidden | CloudflareOpError; /** Show a single challenge widget configuration. */ export const getWidget: API.OperationMethod< GetWidgetRequest, GetWidgetResponse, GetWidgetError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetWidgetRequest, output: GetWidgetResponse, errors: [WidgetNotFound, Forbidden, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ListWidgetsError = CloudflareOpError; /** Lists all turnstile widgets of an account. */ export const listWidgets: API.PaginatedOperationMethod< ListWidgetsRequest, ListWidgetsResponse, ListWidgetsError, CloudflareOpContext, WidgetsListResultItem > = /*@__PURE__*/ API.makePaginated( () => ({ input: ListWidgetsRequest, output: ListWidgetsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflarePaginatedProtocol, retry: Retry.Retry, pagination: { mode: "page", inputToken: "page", outputToken: "resultInfo.page", items: "result", pageSize: "perPage", } as const, }), cloudflarePaginate, ) as any; export type RotateSecretWidgetError = CloudflareOpError; /** Generate a new secret key for this widget. If `invalidate_immediately` is set to `false`, the previous secret remains valid for 2 hours. Note that secrets cannot be rotated again during the grace period. */ export const rotateSecretWidget: API.OperationMethod< RotateSecretWidgetRequest, RotateSecretWidgetResponse, RotateSecretWidgetError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: RotateSecretWidgetRequest, output: RotateSecretWidgetResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type UpdateWidgetError = CloudflareOpError; /** Update the configuration of a widget. */ export const updateWidget: API.OperationMethod< UpdateWidgetRequest, UpdateWidgetResponse, UpdateWidgetError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateWidgetRequest, output: UpdateWidgetResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, }));