@postrun/js 1.3.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/client/core/bodySerializer.gen.ts","../src/client/core/serverSentEvents.gen.ts","../src/client/core/pathSerializer.gen.ts","../src/client/core/utils.gen.ts","../src/client/core/auth.gen.ts","../src/client/client/utils.gen.ts","../src/client/client/client.gen.ts","../src/client/zod.gen.ts","../src/errors.ts","../src/client.ts","../src/client/client.gen.ts","../src/client/sdk.gen.ts","../src/compose.ts"],"names":["url","joinedValues","config","request","z","z2","client"],"mappings":"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","file":"index.cjs","sourcesContent":["// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { ArrayStyle, ObjectStyle, SerializerOptions } from './pathSerializer.gen';\n\nexport type QuerySerializer = (query: Record<string, unknown>) => string;\n\nexport type BodySerializer = (body: unknown) => unknown;\n\ntype QuerySerializerOptionsObject = {\n allowReserved?: boolean;\n array?: Partial<SerializerOptions<ArrayStyle>>;\n object?: Partial<SerializerOptions<ObjectStyle>>;\n};\n\nexport type QuerySerializerOptions = QuerySerializerOptionsObject & {\n /**\n * Per-parameter serialization overrides. When provided, these settings\n * override the global array/object settings for specific parameter names.\n */\n parameters?: Record<string, QuerySerializerOptionsObject>;\n};\n\nconst serializeFormDataPair = (data: FormData, key: string, value: unknown): void => {\n if (typeof value === 'string' || value instanceof Blob) {\n data.append(key, value);\n } else if (value instanceof Date) {\n data.append(key, value.toISOString());\n } else {\n data.append(key, JSON.stringify(value));\n }\n};\n\nconst serializeUrlSearchParamsPair = (data: URLSearchParams, key: string, value: unknown): void => {\n if (typeof value === 'string') {\n data.append(key, value);\n } else {\n data.append(key, JSON.stringify(value));\n }\n};\n\nexport const formDataBodySerializer = {\n bodySerializer: (body: unknown): FormData => {\n const data = new FormData();\n\n Object.entries(body as Record<string, unknown>).forEach(([key, value]) => {\n if (value === undefined || value === null) {\n return;\n }\n if (Array.isArray(value)) {\n value.forEach((v) => serializeFormDataPair(data, key, v));\n } else {\n serializeFormDataPair(data, key, value);\n }\n });\n\n return data;\n },\n};\n\nexport const jsonBodySerializer = {\n bodySerializer: (body: unknown): string =>\n JSON.stringify(body, (_key, value) => (typeof value === 'bigint' ? value.toString() : value)),\n};\n\nexport const urlSearchParamsBodySerializer = {\n bodySerializer: (body: unknown): string => {\n const data = new URLSearchParams();\n\n Object.entries(body as Record<string, unknown>).forEach(([key, value]) => {\n if (value === undefined || value === null) {\n return;\n }\n if (Array.isArray(value)) {\n value.forEach((v) => serializeUrlSearchParamsPair(data, key, v));\n } else {\n serializeUrlSearchParamsPair(data, key, value);\n }\n });\n\n return data.toString();\n },\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { Config } from './types.gen';\n\nexport type ServerSentEventsOptions<TData = unknown> = Omit<RequestInit, 'method'> &\n Pick<Config, 'method' | 'responseTransformer' | 'responseValidator'> & {\n /**\n * Fetch API implementation. You can use this option to provide a custom\n * fetch instance.\n *\n * @default globalThis.fetch\n */\n fetch?: typeof fetch;\n /**\n * Implementing clients can call request interceptors inside this hook.\n */\n onRequest?: (url: string, init: RequestInit) => Promise<Request>;\n /**\n * Callback invoked when a network or parsing error occurs during streaming.\n *\n * This option applies only if the endpoint returns a stream of events.\n *\n * @param error The error that occurred.\n */\n onSseError?: (error: unknown) => void;\n /**\n * Callback invoked when an event is streamed from the server.\n *\n * This option applies only if the endpoint returns a stream of events.\n *\n * @param event Event streamed from the server.\n * @returns Nothing (void).\n */\n onSseEvent?: (event: StreamEvent<TData>) => void;\n serializedBody?: RequestInit['body'];\n /**\n * Default retry delay in milliseconds.\n *\n * This option applies only if the endpoint returns a stream of events.\n *\n * @default 3000\n */\n sseDefaultRetryDelay?: number;\n /**\n * Maximum number of retry attempts before giving up.\n */\n sseMaxRetryAttempts?: number;\n /**\n * Maximum retry delay in milliseconds.\n *\n * Applies only when exponential backoff is used.\n *\n * This option applies only if the endpoint returns a stream of events.\n *\n * @default 30000\n */\n sseMaxRetryDelay?: number;\n /**\n * Optional sleep function for retry backoff.\n *\n * Defaults to using `setTimeout`.\n */\n sseSleepFn?: (ms: number) => Promise<void>;\n url: string;\n };\n\nexport interface StreamEvent<TData = unknown> {\n data: TData;\n event?: string;\n id?: string;\n retry?: number;\n}\n\nexport type ServerSentEventsResult<TData = unknown, TReturn = void, TNext = unknown> = {\n stream: AsyncGenerator<\n TData extends Record<string, unknown> ? TData[keyof TData] : TData,\n TReturn,\n TNext\n >;\n};\n\nexport function createSseClient<TData = unknown>({\n onRequest,\n onSseError,\n onSseEvent,\n responseTransformer,\n responseValidator,\n sseDefaultRetryDelay,\n sseMaxRetryAttempts,\n sseMaxRetryDelay,\n sseSleepFn,\n url,\n ...options\n}: ServerSentEventsOptions): ServerSentEventsResult<TData> {\n let lastEventId: string | undefined;\n\n const sleep = sseSleepFn ?? ((ms: number) => new Promise((resolve) => setTimeout(resolve, ms)));\n\n const createStream = async function* () {\n let retryDelay: number = sseDefaultRetryDelay ?? 3000;\n let attempt = 0;\n const signal = options.signal ?? new AbortController().signal;\n\n while (true) {\n if (signal.aborted) break;\n\n attempt++;\n\n const headers =\n options.headers instanceof Headers\n ? options.headers\n : new Headers(options.headers as Record<string, string> | undefined);\n\n if (lastEventId !== undefined) {\n headers.set('Last-Event-ID', lastEventId);\n }\n\n try {\n const requestInit: RequestInit = {\n redirect: 'follow',\n ...options,\n body: options.serializedBody,\n headers,\n signal,\n };\n let request = new Request(url, requestInit);\n if (onRequest) {\n request = await onRequest(url, requestInit);\n }\n // fetch must be assigned here, otherwise it would throw the error:\n // TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation\n const _fetch = options.fetch ?? globalThis.fetch;\n const response = await _fetch(request);\n\n if (!response.ok) throw new Error(`SSE failed: ${response.status} ${response.statusText}`);\n\n if (!response.body) throw new Error('No body in SSE response');\n\n const reader = response.body.pipeThrough(new TextDecoderStream()).getReader();\n\n let buffer = '';\n\n const abortHandler = () => {\n try {\n reader.cancel();\n } catch {\n // noop\n }\n };\n\n signal.addEventListener('abort', abortHandler);\n\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n buffer += value;\n buffer = buffer.replace(/\\r\\n?/g, '\\n'); // normalize line endings\n\n const chunks = buffer.split('\\n\\n');\n buffer = chunks.pop() ?? '';\n\n for (const chunk of chunks) {\n const lines = chunk.split('\\n');\n const dataLines: Array<string> = [];\n let eventName: string | undefined;\n\n for (const line of lines) {\n if (line.startsWith('data:')) {\n dataLines.push(line.replace(/^data:\\s*/, ''));\n } else if (line.startsWith('event:')) {\n eventName = line.replace(/^event:\\s*/, '');\n } else if (line.startsWith('id:')) {\n lastEventId = line.replace(/^id:\\s*/, '');\n } else if (line.startsWith('retry:')) {\n const parsed = Number.parseInt(line.replace(/^retry:\\s*/, ''), 10);\n if (!Number.isNaN(parsed)) {\n retryDelay = parsed;\n }\n }\n }\n\n let data: unknown;\n let parsedJson = false;\n\n if (dataLines.length) {\n const rawData = dataLines.join('\\n');\n try {\n data = JSON.parse(rawData);\n parsedJson = true;\n } catch {\n data = rawData;\n }\n }\n\n if (parsedJson) {\n if (responseValidator) {\n await responseValidator(data);\n }\n\n if (responseTransformer) {\n data = await responseTransformer(data);\n }\n }\n\n onSseEvent?.({\n data,\n event: eventName,\n id: lastEventId,\n retry: retryDelay,\n });\n\n if (dataLines.length) {\n yield data as any;\n }\n }\n }\n } finally {\n signal.removeEventListener('abort', abortHandler);\n reader.releaseLock();\n }\n\n break; // exit loop on normal completion\n } catch (error) {\n // connection failed or aborted; retry after delay\n onSseError?.(error);\n\n if (sseMaxRetryAttempts !== undefined && attempt >= sseMaxRetryAttempts) {\n break; // stop after firing error\n }\n\n // exponential backoff: double retry each attempt, cap at 30s\n const backoff = Math.min(retryDelay * 2 ** (attempt - 1), sseMaxRetryDelay ?? 30000);\n await sleep(backoff);\n }\n }\n };\n\n const stream = createStream();\n\n return { stream };\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\ninterface SerializeOptions<T> extends SerializePrimitiveOptions, SerializerOptions<T> {}\n\ninterface SerializePrimitiveOptions {\n allowReserved?: boolean;\n name: string;\n}\n\nexport interface SerializerOptions<T> {\n /**\n * @default true\n */\n explode: boolean;\n style: T;\n}\n\nexport type ArrayStyle = 'form' | 'spaceDelimited' | 'pipeDelimited';\nexport type ArraySeparatorStyle = ArrayStyle | MatrixStyle;\ntype MatrixStyle = 'label' | 'matrix' | 'simple';\nexport type ObjectStyle = 'form' | 'deepObject';\ntype ObjectSeparatorStyle = ObjectStyle | MatrixStyle;\n\ninterface SerializePrimitiveParam extends SerializePrimitiveOptions {\n value: string;\n}\n\nexport const separatorArrayExplode = (style: ArraySeparatorStyle): '.' | ';' | ',' | '&' => {\n switch (style) {\n case 'label':\n return '.';\n case 'matrix':\n return ';';\n case 'simple':\n return ',';\n default:\n return '&';\n }\n};\n\nexport const separatorArrayNoExplode = (style: ArraySeparatorStyle): ',' | '|' | '%20' => {\n switch (style) {\n case 'form':\n return ',';\n case 'pipeDelimited':\n return '|';\n case 'spaceDelimited':\n return '%20';\n default:\n return ',';\n }\n};\n\nexport const separatorObjectExplode = (style: ObjectSeparatorStyle): '.' | ';' | ',' | '&' => {\n switch (style) {\n case 'label':\n return '.';\n case 'matrix':\n return ';';\n case 'simple':\n return ',';\n default:\n return '&';\n }\n};\n\nexport const serializeArrayParam = ({\n allowReserved,\n explode,\n name,\n style,\n value,\n}: SerializeOptions<ArraySeparatorStyle> & {\n value: unknown[];\n}): string => {\n if (!explode) {\n const joinedValues = (\n allowReserved ? value : value.map((v) => encodeURIComponent(v as string))\n ).join(separatorArrayNoExplode(style));\n switch (style) {\n case 'label':\n return `.${joinedValues}`;\n case 'matrix':\n return `;${name}=${joinedValues}`;\n case 'simple':\n return joinedValues;\n default:\n return `${name}=${joinedValues}`;\n }\n }\n\n const separator = separatorArrayExplode(style);\n const joinedValues = value\n .map((v) => {\n if (style === 'label' || style === 'simple') {\n return allowReserved ? v : encodeURIComponent(v as string);\n }\n\n return serializePrimitiveParam({\n allowReserved,\n name,\n value: v as string,\n });\n })\n .join(separator);\n return style === 'label' || style === 'matrix' ? separator + joinedValues : joinedValues;\n};\n\nexport const serializePrimitiveParam = ({\n allowReserved,\n name,\n value,\n}: SerializePrimitiveParam): string => {\n if (value === undefined || value === null) {\n return '';\n }\n\n if (typeof value === 'object') {\n throw new Error(\n 'Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.',\n );\n }\n\n return `${name}=${allowReserved ? value : encodeURIComponent(value)}`;\n};\n\nexport const serializeObjectParam = ({\n allowReserved,\n explode,\n name,\n style,\n value,\n valueOnly,\n}: SerializeOptions<ObjectSeparatorStyle> & {\n value: Record<string, unknown> | Date;\n valueOnly?: boolean;\n}): string => {\n if (value instanceof Date) {\n return valueOnly ? value.toISOString() : `${name}=${value.toISOString()}`;\n }\n\n if (style !== 'deepObject' && !explode) {\n let values: string[] = [];\n Object.entries(value).forEach(([key, v]) => {\n values = [...values, key, allowReserved ? (v as string) : encodeURIComponent(v as string)];\n });\n const joinedValues = values.join(',');\n switch (style) {\n case 'form':\n return `${name}=${joinedValues}`;\n case 'label':\n return `.${joinedValues}`;\n case 'matrix':\n return `;${name}=${joinedValues}`;\n default:\n return joinedValues;\n }\n }\n\n const separator = separatorObjectExplode(style);\n const joinedValues = Object.entries(value)\n .map(([key, v]) =>\n serializePrimitiveParam({\n allowReserved,\n name: style === 'deepObject' ? `${name}[${key}]` : key,\n value: v as string,\n }),\n )\n .join(separator);\n return style === 'label' || style === 'matrix' ? separator + joinedValues : joinedValues;\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { BodySerializer, QuerySerializer } from './bodySerializer.gen';\nimport {\n type ArraySeparatorStyle,\n serializeArrayParam,\n serializeObjectParam,\n serializePrimitiveParam,\n} from './pathSerializer.gen';\n\nexport interface PathSerializer {\n path: Record<string, unknown>;\n url: string;\n}\n\nexport const PATH_PARAM_RE: RegExp = /\\{[^{}]+\\}/g;\n\nexport const defaultPathSerializer = ({ path, url: _url }: PathSerializer): string => {\n let url = _url;\n const matches = _url.match(PATH_PARAM_RE);\n if (matches) {\n for (const match of matches) {\n let explode = false;\n let name = match.substring(1, match.length - 1);\n let style: ArraySeparatorStyle = 'simple';\n\n if (name.endsWith('*')) {\n explode = true;\n name = name.substring(0, name.length - 1);\n }\n\n if (name.startsWith('.')) {\n name = name.substring(1);\n style = 'label';\n } else if (name.startsWith(';')) {\n name = name.substring(1);\n style = 'matrix';\n }\n\n const value = path[name];\n\n if (value === undefined || value === null) {\n continue;\n }\n\n if (Array.isArray(value)) {\n url = url.replace(match, serializeArrayParam({ explode, name, style, value }));\n continue;\n }\n\n if (typeof value === 'object') {\n url = url.replace(\n match,\n serializeObjectParam({\n explode,\n name,\n style,\n value: value as Record<string, unknown>,\n valueOnly: true,\n }),\n );\n continue;\n }\n\n if (style === 'matrix') {\n url = url.replace(\n match,\n `;${serializePrimitiveParam({\n name,\n value: value as string,\n })}`,\n );\n continue;\n }\n\n const replaceValue = encodeURIComponent(\n style === 'label' ? `.${value as string}` : (value as string),\n );\n url = url.replace(match, replaceValue);\n }\n }\n return url;\n};\n\nexport const getUrl = ({\n baseUrl,\n path,\n query,\n querySerializer,\n url: _url,\n}: {\n baseUrl?: string;\n path?: Record<string, unknown>;\n query?: Record<string, unknown>;\n querySerializer: QuerySerializer;\n url: string;\n}): string => {\n const pathUrl = _url.startsWith('/') ? _url : `/${_url}`;\n let url = (baseUrl ?? '') + pathUrl;\n if (path) {\n url = defaultPathSerializer({ path, url });\n }\n let search = query ? querySerializer(query) : '';\n if (search.startsWith('?')) {\n search = search.substring(1);\n }\n if (search) {\n url += `?${search}`;\n }\n return url;\n};\n\nexport function getValidRequestBody(options: {\n body?: unknown;\n bodySerializer?: BodySerializer | null;\n serializedBody?: unknown;\n}): unknown {\n const hasBody = options.body !== undefined;\n const isSerializedBody = hasBody && options.bodySerializer;\n\n if (isSerializedBody) {\n if ('serializedBody' in options) {\n const hasSerializedBody =\n options.serializedBody !== undefined && options.serializedBody !== '';\n\n return hasSerializedBody ? options.serializedBody : null;\n }\n\n // not all clients implement a serializedBody property (i.e., client-axios)\n return options.body !== '' ? options.body : null;\n }\n\n // plain/text body\n if (hasBody) {\n return options.body;\n }\n\n // no body was provided\n return undefined;\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\nexport type AuthToken = string | undefined;\n\nexport interface Auth {\n /**\n * Which part of the request do we use to send the auth?\n *\n * @default 'header'\n */\n in?: 'header' | 'query' | 'cookie';\n /**\n * A unique identifier for the security scheme.\n *\n * Defined only when there are multiple security schemes whose `Auth`\n * shape would otherwise be identical.\n */\n key?: string;\n /**\n * Header or query parameter name.\n *\n * @default 'Authorization'\n */\n name?: string;\n scheme?: 'basic' | 'bearer';\n type: 'apiKey' | 'http';\n}\n\nexport const getAuthToken = async (\n auth: Auth,\n callback: ((auth: Auth) => Promise<AuthToken> | AuthToken) | AuthToken,\n): Promise<string | undefined> => {\n const token = typeof callback === 'function' ? await callback(auth) : callback;\n\n if (!token) {\n return;\n }\n\n if (auth.scheme === 'bearer') {\n return `Bearer ${token}`;\n }\n\n if (auth.scheme === 'basic') {\n return `Basic ${btoa(token)}`;\n }\n\n return token;\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport { getAuthToken } from '../core/auth.gen';\nimport type { QuerySerializerOptions } from '../core/bodySerializer.gen';\nimport { jsonBodySerializer } from '../core/bodySerializer.gen';\nimport {\n serializeArrayParam,\n serializeObjectParam,\n serializePrimitiveParam,\n} from '../core/pathSerializer.gen';\nimport { getUrl } from '../core/utils.gen';\nimport type { Client, ClientOptions, Config, RequestOptions } from './types.gen';\n\nexport const createQuerySerializer = <T = unknown>({\n parameters = {},\n ...args\n}: QuerySerializerOptions = {}): ((queryParams: T) => string) => {\n const querySerializer = (queryParams: T): string => {\n const search: string[] = [];\n if (queryParams && typeof queryParams === 'object') {\n for (const name in queryParams) {\n const value = queryParams[name];\n\n if (value === undefined || value === null) {\n continue;\n }\n\n const options = parameters[name] || args;\n\n if (Array.isArray(value)) {\n const serializedArray = serializeArrayParam({\n allowReserved: options.allowReserved,\n explode: true,\n name,\n style: 'form',\n value,\n ...options.array,\n });\n if (serializedArray) search.push(serializedArray);\n } else if (typeof value === 'object') {\n const serializedObject = serializeObjectParam({\n allowReserved: options.allowReserved,\n explode: true,\n name,\n style: 'deepObject',\n value: value as Record<string, unknown>,\n ...options.object,\n });\n if (serializedObject) search.push(serializedObject);\n } else {\n const serializedPrimitive = serializePrimitiveParam({\n allowReserved: options.allowReserved,\n name,\n value: value as string,\n });\n if (serializedPrimitive) search.push(serializedPrimitive);\n }\n }\n }\n return search.join('&');\n };\n return querySerializer;\n};\n\n/**\n * Infers parseAs value from provided Content-Type header.\n */\nexport const getParseAs = (contentType: string | null): Exclude<Config['parseAs'], 'auto'> => {\n if (!contentType) {\n // If no Content-Type header is provided, the best we can do is return the raw response body,\n // which is effectively the same as the 'stream' option.\n return 'stream';\n }\n\n const cleanContent = contentType.split(';')[0]?.trim();\n\n if (!cleanContent) {\n return;\n }\n\n if (cleanContent.startsWith('application/json') || cleanContent.endsWith('+json')) {\n return 'json';\n }\n\n if (cleanContent === 'multipart/form-data') {\n return 'formData';\n }\n\n if (\n ['application/', 'audio/', 'image/', 'video/'].some((type) => cleanContent.startsWith(type))\n ) {\n return 'blob';\n }\n\n if (cleanContent.startsWith('text/')) {\n return 'text';\n }\n\n return;\n};\n\nconst checkForExistence = (\n options: Pick<RequestOptions, 'auth' | 'query'> & {\n headers: Headers;\n },\n name?: string,\n): boolean => {\n if (!name) {\n return false;\n }\n if (\n options.headers.has(name) ||\n options.query?.[name] ||\n options.headers.get('Cookie')?.includes(`${name}=`)\n ) {\n return true;\n }\n return false;\n};\n\nexport async function setAuthParams(\n options: Pick<RequestOptions, 'auth' | 'query' | 'security'> & {\n headers: Headers;\n },\n): Promise<void> {\n for (const auth of options.security ?? []) {\n if (checkForExistence(options, auth.name)) {\n continue;\n }\n\n const token = await getAuthToken(auth, options.auth);\n\n if (!token) {\n continue;\n }\n\n const name = auth.name ?? 'Authorization';\n\n switch (auth.in) {\n case 'query':\n if (!options.query) {\n options.query = {};\n }\n options.query[name] = token;\n break;\n case 'cookie':\n options.headers.append('Cookie', `${name}=${token}`);\n break;\n case 'header':\n default:\n options.headers.set(name, token);\n break;\n }\n }\n}\n\nexport const buildUrl: Client['buildUrl'] = (options) =>\n getUrl({\n baseUrl: options.baseUrl as string,\n path: options.path,\n query: options.query,\n querySerializer:\n typeof options.querySerializer === 'function'\n ? options.querySerializer\n : createQuerySerializer(options.querySerializer),\n url: options.url,\n });\n\nexport const mergeConfigs = (a: Config, b: Config): Config => {\n const config = { ...a, ...b };\n if (config.baseUrl?.endsWith('/')) {\n config.baseUrl = config.baseUrl.substring(0, config.baseUrl.length - 1);\n }\n config.headers = mergeHeaders(a.headers, b.headers);\n return config;\n};\n\nconst headersEntries = (headers: Headers): Array<[string, string]> => {\n const entries: Array<[string, string]> = [];\n headers.forEach((value, key) => {\n entries.push([key, value]);\n });\n return entries;\n};\n\nexport const mergeHeaders = (\n ...headers: Array<Required<Config>['headers'] | undefined>\n): Headers => {\n const mergedHeaders = new Headers();\n for (const header of headers) {\n if (!header) {\n continue;\n }\n\n const iterator = header instanceof Headers ? headersEntries(header) : Object.entries(header);\n\n for (const [key, value] of iterator) {\n if (value === null) {\n mergedHeaders.delete(key);\n } else if (Array.isArray(value)) {\n for (const v of value) {\n mergedHeaders.append(key, v as string);\n }\n } else if (value !== undefined) {\n // assume object headers are meant to be JSON stringified, i.e., their\n // content value in OpenAPI specification is 'application/json'\n mergedHeaders.set(\n key,\n typeof value === 'object' ? JSON.stringify(value) : (value as string),\n );\n }\n }\n }\n return mergedHeaders;\n};\n\ntype ErrInterceptor<Err, Res, Req, Options> = (\n error: Err,\n /** response may be undefined due to a network error where no response object is produced */\n response: Res | undefined,\n /** request may be undefined, because error may be from building the request object itself */\n request: Req | undefined,\n options: Options,\n) => Err | Promise<Err>;\n\ntype ReqInterceptor<Req, Options> = (request: Req, options: Options) => Req | Promise<Req>;\n\ntype ResInterceptor<Res, Req, Options> = (\n response: Res,\n request: Req,\n options: Options,\n) => Res | Promise<Res>;\n\nclass Interceptors<Interceptor> {\n fns: Array<Interceptor | null> = [];\n\n clear(): void {\n this.fns = [];\n }\n\n eject(id: number | Interceptor): void {\n const index = this.getInterceptorIndex(id);\n if (this.fns[index]) {\n this.fns[index] = null;\n }\n }\n\n exists(id: number | Interceptor): boolean {\n const index = this.getInterceptorIndex(id);\n return Boolean(this.fns[index]);\n }\n\n getInterceptorIndex(id: number | Interceptor): number {\n if (typeof id === 'number') {\n return this.fns[id] ? id : -1;\n }\n return this.fns.indexOf(id);\n }\n\n update(id: number | Interceptor, fn: Interceptor): number | Interceptor | false {\n const index = this.getInterceptorIndex(id);\n if (this.fns[index]) {\n this.fns[index] = fn;\n return id;\n }\n return false;\n }\n\n use(fn: Interceptor): number {\n this.fns.push(fn);\n return this.fns.length - 1;\n }\n}\n\nexport interface Middleware<Req, Res, Err, Options> {\n error: Interceptors<ErrInterceptor<Err, Res, Req, Options>>;\n request: Interceptors<ReqInterceptor<Req, Options>>;\n response: Interceptors<ResInterceptor<Res, Req, Options>>;\n}\n\nexport const createInterceptors = <Req, Res, Err, Options>(): Middleware<\n Req,\n Res,\n Err,\n Options\n> => ({\n error: new Interceptors<ErrInterceptor<Err, Res, Req, Options>>(),\n request: new Interceptors<ReqInterceptor<Req, Options>>(),\n response: new Interceptors<ResInterceptor<Res, Req, Options>>(),\n});\n\nconst defaultQuerySerializer = createQuerySerializer({\n allowReserved: false,\n array: {\n explode: true,\n style: 'form',\n },\n object: {\n explode: true,\n style: 'deepObject',\n },\n});\n\nconst defaultHeaders = {\n 'Content-Type': 'application/json',\n};\n\nexport const createConfig = <T extends ClientOptions = ClientOptions>(\n override: Config<Omit<ClientOptions, keyof T> & T> = {},\n): Config<Omit<ClientOptions, keyof T> & T> => ({\n ...jsonBodySerializer,\n headers: defaultHeaders,\n parseAs: 'auto',\n querySerializer: defaultQuerySerializer,\n ...override,\n});\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport { createSseClient } from '../core/serverSentEvents.gen';\nimport type { HttpMethod } from '../core/types.gen';\nimport { getValidRequestBody } from '../core/utils.gen';\nimport type { Client, Config, RequestOptions, ResolvedRequestOptions } from './types.gen';\nimport {\n buildUrl,\n createConfig,\n createInterceptors,\n getParseAs,\n mergeConfigs,\n mergeHeaders,\n setAuthParams,\n} from './utils.gen';\n\ntype ReqInit = Omit<RequestInit, 'body' | 'headers'> & {\n body?: any;\n headers: ReturnType<typeof mergeHeaders>;\n};\n\nexport const createClient = (config: Config = {}): Client => {\n let _config = mergeConfigs(createConfig(), config);\n\n const getConfig = (): Config => ({ ..._config });\n\n const setConfig = (config: Config): Config => {\n _config = mergeConfigs(_config, config);\n return getConfig();\n };\n\n const interceptors = createInterceptors<Request, Response, unknown, ResolvedRequestOptions>();\n\n const beforeRequest = async <\n TData = unknown,\n TResponseStyle extends 'data' | 'fields' = 'fields',\n ThrowOnError extends boolean = boolean,\n Url extends string = string,\n >(\n options: RequestOptions<TData, TResponseStyle, ThrowOnError, Url>,\n ) => {\n const opts = {\n ..._config,\n ...options,\n fetch: options.fetch ?? _config.fetch ?? globalThis.fetch,\n headers: mergeHeaders(_config.headers, options.headers),\n serializedBody: undefined as string | undefined,\n };\n\n if (opts.security) {\n await setAuthParams(opts);\n }\n\n if (opts.requestValidator) {\n await opts.requestValidator(opts);\n }\n\n if (opts.body !== undefined && opts.bodySerializer) {\n opts.serializedBody = opts.bodySerializer(opts.body) as string | undefined;\n }\n\n // remove Content-Type header if body is empty to avoid sending invalid requests\n if (opts.body === undefined || opts.serializedBody === '') {\n opts.headers.delete('Content-Type');\n }\n\n const resolvedOpts = opts as typeof opts &\n ResolvedRequestOptions<TResponseStyle, ThrowOnError, Url>;\n const url = buildUrl(resolvedOpts);\n\n return { opts: resolvedOpts, url };\n };\n\n const request: Client['request'] = async (options) => {\n const throwOnError = options.throwOnError ?? _config.throwOnError;\n const responseStyle = options.responseStyle ?? _config.responseStyle;\n\n let request: Request | undefined;\n let response: Response | undefined;\n\n try {\n const { opts, url } = await beforeRequest(options);\n const requestInit: ReqInit = {\n redirect: 'follow',\n ...opts,\n body: getValidRequestBody(opts),\n };\n\n request = new Request(url, requestInit);\n\n for (const fn of interceptors.request.fns) {\n if (fn) {\n request = await fn(request, opts);\n }\n }\n\n // fetch must be assigned here, otherwise it would throw the error:\n // TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation\n const _fetch = opts.fetch!;\n\n response = await _fetch(request);\n\n for (const fn of interceptors.response.fns) {\n if (fn) {\n response = await fn(response, request, opts);\n }\n }\n\n const result = {\n request,\n response,\n };\n\n if (response.ok) {\n const parseAs =\n (opts.parseAs === 'auto'\n ? getParseAs(response.headers.get('Content-Type'))\n : opts.parseAs) ?? 'json';\n\n if (response.status === 204 || response.headers.get('Content-Length') === '0') {\n let emptyData: any;\n switch (parseAs) {\n case 'arrayBuffer':\n case 'blob':\n case 'text':\n emptyData = await response[parseAs]();\n break;\n case 'formData':\n emptyData = new FormData();\n break;\n case 'stream':\n emptyData = response.body;\n break;\n case 'json':\n default:\n emptyData = {};\n break;\n }\n return opts.responseStyle === 'data'\n ? emptyData\n : {\n data: emptyData,\n ...result,\n };\n }\n\n let data: any;\n switch (parseAs) {\n case 'arrayBuffer':\n case 'blob':\n case 'formData':\n case 'text':\n data = await response[parseAs]();\n break;\n case 'json': {\n // Some servers return 200 with no Content-Length and empty body.\n // response.json() would throw; read as text and parse if non-empty.\n const text = await response.text();\n data = text ? JSON.parse(text) : {};\n break;\n }\n case 'stream':\n return opts.responseStyle === 'data'\n ? response.body\n : {\n data: response.body,\n ...result,\n };\n }\n\n if (parseAs === 'json') {\n if (opts.responseValidator) {\n await opts.responseValidator(data);\n }\n\n if (opts.responseTransformer) {\n data = await opts.responseTransformer(data);\n }\n }\n\n return opts.responseStyle === 'data'\n ? data\n : {\n data,\n ...result,\n };\n }\n\n const textError = await response.text();\n let jsonError: unknown;\n\n try {\n jsonError = JSON.parse(textError);\n } catch {\n // noop\n }\n\n throw jsonError ?? textError;\n } catch (error) {\n let finalError = error;\n\n for (const fn of interceptors.error.fns) {\n if (fn) {\n finalError = await fn(finalError, response, request, options as ResolvedRequestOptions);\n }\n }\n\n finalError = finalError || {};\n\n if (throwOnError) {\n throw finalError;\n }\n\n // TODO: we probably want to return error and improve types\n return responseStyle === 'data'\n ? undefined\n : {\n error: finalError,\n request,\n response,\n };\n }\n };\n\n const makeMethodFn = (method: Uppercase<HttpMethod>) => (options: RequestOptions) =>\n request({ ...options, method });\n\n const makeSseFn = (method: Uppercase<HttpMethod>) => async (options: RequestOptions) => {\n const { opts, url } = await beforeRequest(options);\n return createSseClient({\n ...opts,\n body: opts.body as BodyInit | null | undefined,\n method,\n onRequest: async (url, init) => {\n let request = new Request(url, init);\n for (const fn of interceptors.request.fns) {\n if (fn) {\n request = await fn(request, opts);\n }\n }\n return request;\n },\n serializedBody: getValidRequestBody(opts) as BodyInit | null | undefined,\n url,\n });\n };\n\n const _buildUrl: Client['buildUrl'] = (options) => buildUrl({ ..._config, ...options });\n\n return {\n buildUrl: _buildUrl,\n connect: makeMethodFn('CONNECT'),\n delete: makeMethodFn('DELETE'),\n get: makeMethodFn('GET'),\n getConfig,\n head: makeMethodFn('HEAD'),\n interceptors,\n options: makeMethodFn('OPTIONS'),\n patch: makeMethodFn('PATCH'),\n post: makeMethodFn('POST'),\n put: makeMethodFn('PUT'),\n request,\n setConfig,\n sse: {\n connect: makeSseFn('CONNECT'),\n delete: makeSseFn('DELETE'),\n get: makeSseFn('GET'),\n head: makeSseFn('HEAD'),\n options: makeSseFn('OPTIONS'),\n patch: makeSseFn('PATCH'),\n post: makeSseFn('POST'),\n put: makeSseFn('PUT'),\n trace: makeSseFn('TRACE'),\n },\n trace: makeMethodFn('TRACE'),\n } as Client;\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport * as z from 'zod';\n\n/**\n * ErrorCode\n *\n * The closed set of machine-readable Postrun error codes. Branch on this. Each links to https://docs.postrun.ai/errors/<code>.\n */\nexport const zErrorCode = z.enum([\n 'unauthorized',\n 'forbidden',\n 'not_found',\n 'conflict',\n 'validation_failed',\n 'rate_limited',\n 'internal_error',\n 'idempotency_key_invalid',\n 'idempotency_key_reused',\n 'idempotency_request_in_progress',\n 'account_not_available',\n 'connection_reauth_required',\n 'connection_not_pending',\n 'connection_in_use',\n 'not_implemented',\n 'connection_discovery_failed',\n 'media_processing',\n 'not_publishable',\n 'invalid_connection',\n 'invalid_media',\n 'profile_scope_invalid',\n 'media_unprobeable',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_format_indeterminate',\n 'media_count_invalid',\n 'body_too_long',\n 'content_missing',\n 'content_conflict',\n 'content_incomplete',\n 'content_kind_mismatch',\n 'media_type_mismatch',\n 'tag_limit_exceeded',\n 'reel_field_on_non_reel',\n 'field_placement_invalid',\n 'media_not_ready',\n 'media_failed',\n 'media_unsupported',\n 'media_kind_mismatch',\n 'publishing_unavailable',\n 'x_duplicate_content',\n 'x_not_authorized',\n 'x_rate_limited',\n 'x_publish_failed',\n 'x_media_upload_failed',\n 'linkedin_duplicate_content',\n 'linkedin_auth_expired',\n 'linkedin_permission_denied',\n 'linkedin_media_processing',\n 'linkedin_media_upload_failed',\n 'linkedin_publish_failed',\n 'instagram_media_processing',\n 'instagram_container_expired',\n 'instagram_container_failed',\n 'instagram_rate_limited',\n 'instagram_not_authorized',\n 'instagram_publish_failed',\n 'facebook_reel_processing',\n 'facebook_reel_failed',\n 'facebook_rate_limited',\n 'facebook_not_authorized',\n 'facebook_publish_failed',\n 'tiktok_privacy_not_allowed',\n 'tiktok_duration_exceeds_max',\n 'tiktok_media_processing',\n 'tiktok_not_authorized',\n 'tiktok_rate_limited',\n 'tiktok_publish_failed',\n 'connection_platform_mismatch'\n]);\n\nexport const zProfilesListQuery = z.object({\n limit: z.int().gte(1).lte(100).optional().default(20),\n offset: z.int().gte(0).lte(9007199254740991).optional().default(0),\n external_id: z.string().optional(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])).optional()\n});\n\n/**\n * OK\n */\nexport const zProfilesListResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().nullable(),\n external_id: z.string().nullable(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])),\n created_at: z.string().nullable(),\n updated_at: z.string().nullable()\n })),\n total: z.int().gte(-9007199254740991).lte(9007199254740991),\n limit: z.int().gte(-9007199254740991).lte(9007199254740991),\n offset: z.int().gte(-9007199254740991).lte(9007199254740991),\n has_more: z.boolean()\n});\n\nexport const zProfilesCreateBody = z.object({\n name: z.string().min(1).max(255),\n description: z.string().max(280).optional(),\n external_id: z.string().min(1).max(255).optional(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])).optional()\n});\n\n/**\n * OK\n */\nexport const zProfilesCreateResponse = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().nullable(),\n external_id: z.string().nullable(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])),\n created_at: z.string().nullable(),\n updated_at: z.string().nullable()\n});\n\nexport const zProfilesDeletePath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zProfilesDeleteResponse = z.object({\n id: z.string(),\n object: z.literal('profile'),\n deleted: z.literal(true)\n});\n\nexport const zProfilesGetPath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zProfilesGetResponse = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().nullable(),\n external_id: z.string().nullable(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])),\n created_at: z.string().nullable(),\n updated_at: z.string().nullable()\n});\n\nexport const zProfilesUpdateBody = z.object({\n name: z.string().min(1).max(255).optional(),\n description: z.string().max(280).nullish(),\n external_id: z.string().min(1).max(255).optional(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])).optional()\n});\n\nexport const zProfilesUpdatePath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zProfilesUpdateResponse = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().nullable(),\n external_id: z.string().nullable(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])),\n created_at: z.string().nullable(),\n updated_at: z.string().nullable()\n});\n\nexport const zConnectionsListByProfilePath = z.object({\n id: z.string()\n});\n\nexport const zConnectionsListByProfileQuery = z.object({\n limit: z.int().gte(1).lte(100).optional().default(20),\n offset: z.int().gte(0).lte(9007199254740991).optional().default(0),\n nango_connection_id: z.string().min(1).optional(),\n kind: z.enum(['posting', 'ads']).optional(),\n status: z.enum([\n 'pending',\n 'active',\n 'needs_reauth'\n ]).optional()\n});\n\n/**\n * OK\n */\nexport const zConnectionsListByProfileResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n profile_id: z.string(),\n platform: z.enum([\n 'meta_ads',\n 'google_ads',\n 'tiktok_ads',\n 'x',\n 'linkedin',\n 'facebook_page',\n 'instagram',\n 'tiktok'\n ]),\n kind: z.enum(['posting', 'ads']),\n status: z.enum([\n 'pending',\n 'active',\n 'needs_reauth'\n ]),\n external_account_id: z.string().nullable(),\n external_account_name: z.string().nullable(),\n username: z.string().nullable(),\n avatar_url: z.string().nullable(),\n profile_url: z.string().nullable(),\n reauth_at: z.string().nullable(),\n currency: z.string().nullable(),\n created_at: z.string().nullable(),\n updated_at: z.string().nullable()\n })),\n total: z.int().gte(-9007199254740991).lte(9007199254740991),\n limit: z.int().gte(-9007199254740991).lte(9007199254740991),\n offset: z.int().gte(-9007199254740991).lte(9007199254740991),\n has_more: z.boolean()\n});\n\nexport const zConnectionsDeletePath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zConnectionsDeleteResponse = z.object({\n id: z.string(),\n object: z.literal('connection'),\n deleted: z.literal(true)\n});\n\nexport const zConnectionsGetPath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zConnectionsGetResponse = z.object({\n id: z.string(),\n profile_id: z.string(),\n platform: z.enum([\n 'meta_ads',\n 'google_ads',\n 'tiktok_ads',\n 'x',\n 'linkedin',\n 'facebook_page',\n 'instagram',\n 'tiktok'\n ]),\n kind: z.enum(['posting', 'ads']),\n status: z.enum([\n 'pending',\n 'active',\n 'needs_reauth'\n ]),\n external_account_id: z.string().nullable(),\n external_account_name: z.string().nullable(),\n username: z.string().nullable(),\n avatar_url: z.string().nullable(),\n profile_url: z.string().nullable(),\n reauth_at: z.string().nullable(),\n currency: z.string().nullable(),\n created_at: z.string().nullable(),\n updated_at: z.string().nullable()\n});\n\nexport const zConnectionsSelectBody = z.object({\n external_account_id: z.string().min(1)\n});\n\nexport const zConnectionsSelectPath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zConnectionsSelectResponse = z.object({\n id: z.string(),\n profile_id: z.string(),\n platform: z.enum([\n 'meta_ads',\n 'google_ads',\n 'tiktok_ads',\n 'x',\n 'linkedin',\n 'facebook_page',\n 'instagram',\n 'tiktok'\n ]),\n kind: z.enum(['posting', 'ads']),\n status: z.enum([\n 'pending',\n 'active',\n 'needs_reauth'\n ]),\n external_account_id: z.string().nullable(),\n external_account_name: z.string().nullable(),\n username: z.string().nullable(),\n avatar_url: z.string().nullable(),\n profile_url: z.string().nullable(),\n reauth_at: z.string().nullable(),\n currency: z.string().nullable(),\n created_at: z.string().nullable(),\n updated_at: z.string().nullable()\n});\n\nexport const zConnectionsListAccountsPath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zConnectionsListAccountsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n external_account_id: z.string(),\n name: z.string().nullable(),\n currency: z.string().nullable(),\n username: z.string().nullish(),\n avatar_url: z.string().nullish(),\n profile_url: z.string().nullish(),\n instagram: z.object({\n external_account_id: z.string(),\n name: z.string().nullable(),\n username: z.string().nullish(),\n avatar_url: z.string().nullish(),\n profile_url: z.string().nullish()\n }).nullish()\n }))\n});\n\nexport const zConnectionsConnectBody = z.object({\n platform: z.enum([\n 'meta_ads',\n 'google_ads',\n 'x',\n 'linkedin',\n 'facebook_page',\n 'tiktok'\n ])\n});\n\nexport const zConnectionsConnectPath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zConnectionsConnectResponse = z.object({\n hosted_connect_url: z.string(),\n connect_token: z.string(),\n connect_session_token: z.string(),\n provider_config_key: z.string(),\n nango_host: z.string(),\n expires_at: z.string()\n});\n\nexport const zMediaListQuery = z.object({\n limit: z.int().gte(1).lte(100).optional().default(20),\n offset: z.int().gte(0).lte(9007199254740991).optional().default(0),\n profile_id: z.string().optional(),\n status: z.enum([\n 'uploading',\n 'processing',\n 'ready',\n 'failed'\n ]).optional(),\n kind: z.enum([\n 'image',\n 'video',\n 'gif',\n 'document'\n ]).optional(),\n external_id: z.string().optional(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])).optional()\n});\n\n/**\n * OK\n */\nexport const zMediaListResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n object: z.literal('media'),\n profile_id: z.string(),\n kind: z.enum([\n 'image',\n 'video',\n 'gif',\n 'document'\n ]).nullable(),\n content_type: z.string().nullable(),\n status: z.enum([\n 'uploading',\n 'processing',\n 'ready',\n 'failed'\n ]),\n progress: z.object({\n stage: z.enum([\n 'queued',\n 'analyzing',\n 'transcoding',\n 'done'\n ]),\n percent: z.int().gte(0).lte(100)\n }),\n raw: z.boolean(),\n error: z.object({\n code: z.enum([\n 'media_unprobeable',\n 'media_format_indeterminate',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_unsupported'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional()\n }).nullable(),\n source: z.object({\n format: z.string(),\n bytes: z.int().gte(0).lte(9007199254740991),\n width: z.int().gt(0).lte(9007199254740991).nullable(),\n height: z.int().gt(0).lte(9007199254740991).nullable(),\n duration_ms: z.int().gte(0).lte(9007199254740991).nullable()\n }).nullable(),\n alt_text: z.string().max(1000).nullable(),\n per_platform: z.record(z.string(), z.object({\n status: z.enum([\n 'processing',\n 'ready',\n 'failed'\n ]),\n url: z.string().nullable(),\n width: z.int().gt(0).lte(9007199254740991).nullable(),\n height: z.int().gt(0).lte(9007199254740991).nullable(),\n bytes: z.int().gte(0).lte(9007199254740991).nullable(),\n warnings: z.array(z.object({\n code: z.enum([\n 'media_unprobeable',\n 'media_format_indeterminate',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_unsupported'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional()\n })),\n errors: z.array(z.object({\n code: z.enum([\n 'media_unprobeable',\n 'media_format_indeterminate',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_unsupported'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional()\n }))\n })),\n external_id: z.string().nullable(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])),\n created_at: z.string(),\n updated_at: z.string()\n })),\n total: z.int().gte(-9007199254740991).lte(9007199254740991),\n limit: z.int().gte(-9007199254740991).lte(9007199254740991),\n offset: z.int().gte(-9007199254740991).lte(9007199254740991),\n has_more: z.boolean()\n});\n\n/**\n * Create a media asset — either via the signed direct upload target (omit source_url) or by importing from a public https source_url (we fetch + validate + transform + store). Size limits: a direct-upload video may be up to 5 GB; all other direct uploads and any source_url import must be 1 GB or smaller. A file over its limit is rejected with `media_too_large`.\n */\nexport const zMediaCreateBody = z.object({\n profile_id: z.string(),\n kind: z.enum([\n 'image',\n 'video',\n 'gif',\n 'document'\n ]).optional(),\n content_type: z.string().min(1).regex(/^(?:(?:image|video)\\/[A-Za-z0-9][A-Za-z0-9!#$&^_.+-]*|application\\/pdf|application\\/msword|application\\/vnd\\.openxmlformats-officedocument\\.wordprocessingml\\.document|application\\/vnd\\.ms-powerpoint|application\\/vnd\\.openxmlformats-officedocument\\.presentationml\\.presentation)$/).optional(),\n source_url: z.url().optional(),\n targets: z.array(z.enum([\n 'x',\n 'linkedin',\n 'facebook_page',\n 'instagram',\n 'tiktok',\n 'google_ads'\n ])).min(1).optional(),\n raw: z.boolean().optional().default(false),\n alt_text: z.string().max(1000).optional(),\n external_id: z.string().min(1).max(255).optional(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])).optional()\n});\n\n/**\n * OK\n */\nexport const zMediaCreateResponse = z.object({\n id: z.string(),\n object: z.literal('media'),\n profile_id: z.string(),\n kind: z.enum([\n 'image',\n 'video',\n 'gif',\n 'document'\n ]).nullable(),\n content_type: z.string().nullable(),\n status: z.enum([\n 'uploading',\n 'processing',\n 'ready',\n 'failed'\n ]),\n progress: z.object({\n stage: z.enum([\n 'queued',\n 'analyzing',\n 'transcoding',\n 'done'\n ]),\n percent: z.int().gte(0).lte(100)\n }),\n raw: z.boolean(),\n error: z.object({\n code: z.enum([\n 'media_unprobeable',\n 'media_format_indeterminate',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_unsupported'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional()\n }).nullable(),\n source: z.object({\n format: z.string(),\n bytes: z.int().gte(0).lte(9007199254740991),\n width: z.int().gt(0).lte(9007199254740991).nullable(),\n height: z.int().gt(0).lte(9007199254740991).nullable(),\n duration_ms: z.int().gte(0).lte(9007199254740991).nullable()\n }).nullable(),\n alt_text: z.string().max(1000).nullable(),\n per_platform: z.record(z.string(), z.object({\n status: z.enum([\n 'processing',\n 'ready',\n 'failed'\n ]),\n url: z.string().nullable(),\n width: z.int().gt(0).lte(9007199254740991).nullable(),\n height: z.int().gt(0).lte(9007199254740991).nullable(),\n bytes: z.int().gte(0).lte(9007199254740991).nullable(),\n warnings: z.array(z.object({\n code: z.enum([\n 'media_unprobeable',\n 'media_format_indeterminate',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_unsupported'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional()\n })),\n errors: z.array(z.object({\n code: z.enum([\n 'media_unprobeable',\n 'media_format_indeterminate',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_unsupported'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional()\n }))\n })),\n external_id: z.string().nullable(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])),\n created_at: z.string(),\n updated_at: z.string(),\n upload: z.object({\n url: z.url(),\n method: z.literal('PUT'),\n headers: z.record(z.string(), z.string()),\n expires_at: z.string()\n }).nullable()\n});\n\nexport const zMediaDeletePath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zMediaDeleteResponse = z.object({\n id: z.string(),\n object: z.literal('media'),\n deleted: z.literal(true)\n});\n\nexport const zMediaGetPath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zMediaGetResponse = z.object({\n id: z.string(),\n object: z.literal('media'),\n profile_id: z.string(),\n kind: z.enum([\n 'image',\n 'video',\n 'gif',\n 'document'\n ]).nullable(),\n content_type: z.string().nullable(),\n status: z.enum([\n 'uploading',\n 'processing',\n 'ready',\n 'failed'\n ]),\n progress: z.object({\n stage: z.enum([\n 'queued',\n 'analyzing',\n 'transcoding',\n 'done'\n ]),\n percent: z.int().gte(0).lte(100)\n }),\n raw: z.boolean(),\n error: z.object({\n code: z.enum([\n 'media_unprobeable',\n 'media_format_indeterminate',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_unsupported'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional()\n }).nullable(),\n source: z.object({\n format: z.string(),\n bytes: z.int().gte(0).lte(9007199254740991),\n width: z.int().gt(0).lte(9007199254740991).nullable(),\n height: z.int().gt(0).lte(9007199254740991).nullable(),\n duration_ms: z.int().gte(0).lte(9007199254740991).nullable()\n }).nullable(),\n alt_text: z.string().max(1000).nullable(),\n per_platform: z.record(z.string(), z.object({\n status: z.enum([\n 'processing',\n 'ready',\n 'failed'\n ]),\n url: z.string().nullable(),\n width: z.int().gt(0).lte(9007199254740991).nullable(),\n height: z.int().gt(0).lte(9007199254740991).nullable(),\n bytes: z.int().gte(0).lte(9007199254740991).nullable(),\n warnings: z.array(z.object({\n code: z.enum([\n 'media_unprobeable',\n 'media_format_indeterminate',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_unsupported'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional()\n })),\n errors: z.array(z.object({\n code: z.enum([\n 'media_unprobeable',\n 'media_format_indeterminate',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_unsupported'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional()\n }))\n })),\n external_id: z.string().nullable(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])),\n created_at: z.string(),\n updated_at: z.string()\n});\n\nexport const zMediaUpdateBody = z.object({\n alt_text: z.string().max(1000).nullish(),\n external_id: z.string().min(1).max(255).nullish(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])).optional(),\n targets: z.array(z.enum([\n 'x',\n 'linkedin',\n 'facebook_page',\n 'instagram',\n 'tiktok',\n 'google_ads'\n ])).min(1).optional()\n});\n\nexport const zMediaUpdatePath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zMediaUpdateResponse = z.object({\n id: z.string(),\n object: z.literal('media'),\n profile_id: z.string(),\n kind: z.enum([\n 'image',\n 'video',\n 'gif',\n 'document'\n ]).nullable(),\n content_type: z.string().nullable(),\n status: z.enum([\n 'uploading',\n 'processing',\n 'ready',\n 'failed'\n ]),\n progress: z.object({\n stage: z.enum([\n 'queued',\n 'analyzing',\n 'transcoding',\n 'done'\n ]),\n percent: z.int().gte(0).lte(100)\n }),\n raw: z.boolean(),\n error: z.object({\n code: z.enum([\n 'media_unprobeable',\n 'media_format_indeterminate',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_unsupported'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional()\n }).nullable(),\n source: z.object({\n format: z.string(),\n bytes: z.int().gte(0).lte(9007199254740991),\n width: z.int().gt(0).lte(9007199254740991).nullable(),\n height: z.int().gt(0).lte(9007199254740991).nullable(),\n duration_ms: z.int().gte(0).lte(9007199254740991).nullable()\n }).nullable(),\n alt_text: z.string().max(1000).nullable(),\n per_platform: z.record(z.string(), z.object({\n status: z.enum([\n 'processing',\n 'ready',\n 'failed'\n ]),\n url: z.string().nullable(),\n width: z.int().gt(0).lte(9007199254740991).nullable(),\n height: z.int().gt(0).lte(9007199254740991).nullable(),\n bytes: z.int().gte(0).lte(9007199254740991).nullable(),\n warnings: z.array(z.object({\n code: z.enum([\n 'media_unprobeable',\n 'media_format_indeterminate',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_unsupported'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional()\n })),\n errors: z.array(z.object({\n code: z.enum([\n 'media_unprobeable',\n 'media_format_indeterminate',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_unsupported'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional()\n }))\n })),\n external_id: z.string().nullable(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])),\n created_at: z.string(),\n updated_at: z.string()\n});\n\nexport const zPostsListQuery = z.object({\n limit: z.int().gte(1).lte(100).optional().default(20),\n offset: z.int().gte(0).lte(9007199254740991).optional().default(0),\n profile_id: z.string().optional(),\n external_id: z.string().optional(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])).optional(),\n scheduled_after: z.iso.datetime().optional(),\n scheduled_before: z.iso.datetime().optional(),\n updated_after: z.iso.datetime().optional(),\n status: z.array(z.enum([\n 'draft',\n 'scheduled',\n 'publishing',\n 'partially_published',\n 'published',\n 'failed'\n ])).optional()\n});\n\n/**\n * OK\n */\nexport const zPostsListResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n object: z.literal('post'),\n profile_id: z.string(),\n external_id: z.string().nullable(),\n status: z.enum([\n 'draft',\n 'scheduled',\n 'publishing',\n 'partially_published',\n 'published',\n 'failed'\n ]),\n schedule_at: z.string().nullable(),\n tags: z.array(z.string()),\n notes: z.string().nullable(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])),\n variants: z.array(z.object({\n id: z.string(),\n object: z.literal('post_variant'),\n connection_id: z.string(),\n platform: z.enum([\n 'x',\n 'linkedin',\n 'facebook_page',\n 'instagram',\n 'tiktok'\n ]),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'video',\n 'reel',\n 'carousel'\n ]),\n body: z.string().nullable(),\n status: z.enum([\n 'draft',\n 'scheduled',\n 'publishing',\n 'published',\n 'failed'\n ]),\n settings: z.record(z.string(), z.unknown()),\n schedule_at: z.string().nullable(),\n result: z.object({\n platform_post_id: z.string(),\n permalink: z.string().nullable(),\n published_at: z.string()\n }).nullable(),\n error: z.object({\n code: z.string(),\n message: z.string()\n }).nullable(),\n media: z.array(z.object({\n media_id: z.string(),\n position: z.int().gte(-9007199254740991).lte(9007199254740991),\n crop_box: z.record(z.string(), z.unknown()).nullable(),\n alt_text_override: z.string().nullable()\n }))\n })),\n created_at: z.string(),\n updated_at: z.string()\n })),\n total: z.int().gte(-9007199254740991).lte(9007199254740991),\n limit: z.int().gte(-9007199254740991).lte(9007199254740991),\n offset: z.int().gte(-9007199254740991).lte(9007199254740991),\n has_more: z.boolean()\n});\n\nexport const zPostsCreateBody = z.object({\n profile_id: z.string(),\n publish: z.enum([\n 'now',\n 'schedule',\n 'draft'\n ]).optional().default('draft'),\n schedule_at: z.iso.datetime().optional(),\n external_id: z.string().min(1).max(255).optional(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])).optional(),\n tags: z.array(z.string()).optional(),\n notes: z.string().optional(),\n dry_run: z.boolean().optional().default(false),\n variants: z.array(z.union([\n z.object({\n platform: z.literal('x'),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'video'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n reply_settings: z.enum([\n 'everyone',\n 'following',\n 'mentionedUsers',\n 'subscribers',\n 'verified'\n ]).optional(),\n quote_tweet_id: z.string().regex(/^[0-9]{1,19}$/).optional(),\n poll: z.object({\n options: z.array(z.string().min(1).max(25)).min(2).max(4),\n duration_minutes: z.int().gte(5).lte(10080),\n reply_settings: z.enum([\n 'following',\n 'mentionedUsers',\n 'subscribers',\n 'verified'\n ]).optional()\n }).optional(),\n reply: z.object({\n in_reply_to_tweet_id: z.string().regex(/^[0-9]{1,19}$/),\n exclude_reply_user_ids: z.array(z.string().regex(/^[0-9]{1,19}$/)).optional(),\n auto_populate_reply_metadata: z.boolean().optional()\n }).optional(),\n community_id: z.string().regex(/^[0-9]{1,19}$/).optional(),\n for_super_followers_only: z.boolean().optional(),\n geo: z.object({\n place_id: z.string()\n }).optional(),\n card_uri: z.string().optional(),\n media_tagged_user_ids: z.array(z.string().regex(/^[0-9]{1,19}$/)).max(10).optional()\n }).optional().default({})\n }),\n z.object({\n platform: z.literal('linkedin'),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'video'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n visibility: z.enum(['PUBLIC', 'CONNECTIONS']),\n content_kind: z.enum([\n 'text',\n 'single_image',\n 'video',\n 'multi_image',\n 'document',\n 'article',\n 'poll'\n ]),\n article: z.object({\n source: z.url(),\n title: z.string().max(400).optional(),\n description: z.string().max(4086).optional(),\n thumbnail_media_id: z.string().optional()\n }).optional(),\n poll: z.object({\n question: z.string().min(1).max(140),\n options: z.array(z.string().min(1).max(30)).min(2).max(4),\n duration: z.enum([\n 'ONE_DAY',\n 'THREE_DAYS',\n 'SEVEN_DAYS',\n 'FOURTEEN_DAYS'\n ])\n }).optional(),\n document: z.object({\n title: z.string().min(1).max(400)\n }).optional(),\n disable_reshare: z.boolean().optional(),\n mentions: z.array(z.object({\n type: z.enum(['person', 'organization']),\n name: z.string().min(1),\n urn: z.string().regex(/^urn:li:(person|organization):/)\n })).optional()\n })\n }),\n z.object({\n platform: z.literal('instagram'),\n post_type: z.enum([\n 'single_image',\n 'carousel',\n 'reel'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n media_type: z.enum([\n 'IMAGE',\n 'CAROUSEL',\n 'REELS'\n ]).optional(),\n location_id: z.string().optional(),\n user_tags: z.array(z.object({\n username: z.string().min(1),\n x: z.number().gte(0).lte(1),\n y: z.number().gte(0).lte(1)\n })).optional(),\n collaborators: z.array(z.string().min(1)).max(3).optional(),\n share_to_feed: z.boolean().optional(),\n thumb_offset: z.int().gte(0).lte(9007199254740991).optional(),\n cover_url: z.url().optional(),\n audio_name: z.string().optional()\n })\n }),\n z.object({\n platform: z.literal('facebook_page'),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'reel'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n link: z.url().optional()\n }).optional().default({})\n }),\n z.object({\n platform: z.literal('tiktok'),\n post_type: z.enum([\n 'video',\n 'single_image',\n 'carousel'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n privacy_level: z.enum([\n 'PUBLIC_TO_EVERYONE',\n 'MUTUAL_FOLLOW_FRIENDS',\n 'FOLLOWER_OF_CREATOR',\n 'SELF_ONLY'\n ]).optional(),\n disable_comment: z.boolean().optional(),\n disable_duet: z.boolean().optional(),\n disable_stitch: z.boolean().optional(),\n video_cover_timestamp_ms: z.int().gte(0).lte(9007199254740991).optional(),\n photo_cover_index: z.int().gte(0).lte(9007199254740991).optional(),\n auto_add_music: z.boolean().optional(),\n brand_content_toggle: z.boolean().optional(),\n brand_organic_toggle: z.boolean().optional(),\n is_aigc: z.boolean().optional()\n }).optional().default({})\n })\n ])).min(1)\n});\n\n/**\n * OK\n */\nexport const zPostsCreateResponse = z.object({\n id: z.string(),\n object: z.literal('post'),\n profile_id: z.string(),\n external_id: z.string().nullable(),\n status: z.enum([\n 'draft',\n 'scheduled',\n 'publishing',\n 'partially_published',\n 'published',\n 'failed'\n ]),\n schedule_at: z.string().nullable(),\n tags: z.array(z.string()),\n notes: z.string().nullable(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])),\n variants: z.array(z.object({\n id: z.string(),\n object: z.literal('post_variant'),\n connection_id: z.string(),\n platform: z.enum([\n 'x',\n 'linkedin',\n 'facebook_page',\n 'instagram',\n 'tiktok'\n ]),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'video',\n 'reel',\n 'carousel'\n ]),\n body: z.string().nullable(),\n status: z.enum([\n 'draft',\n 'scheduled',\n 'publishing',\n 'published',\n 'failed'\n ]),\n settings: z.record(z.string(), z.unknown()),\n schedule_at: z.string().nullable(),\n result: z.object({\n platform_post_id: z.string(),\n permalink: z.string().nullable(),\n published_at: z.string()\n }).nullable(),\n error: z.object({\n code: z.string(),\n message: z.string()\n }).nullable(),\n media: z.array(z.object({\n media_id: z.string(),\n position: z.int().gte(-9007199254740991).lte(9007199254740991),\n crop_box: z.record(z.string(), z.unknown()).nullable(),\n alt_text_override: z.string().nullable()\n }))\n })),\n created_at: z.string(),\n updated_at: z.string(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zPostsDeletePath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zPostsDeleteResponse = z.object({\n id: z.string(),\n object: z.literal('post'),\n deleted: z.literal(true)\n});\n\nexport const zPostsGetPath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zPostsGetResponse = z.object({\n id: z.string(),\n object: z.literal('post'),\n profile_id: z.string(),\n external_id: z.string().nullable(),\n status: z.enum([\n 'draft',\n 'scheduled',\n 'publishing',\n 'partially_published',\n 'published',\n 'failed'\n ]),\n schedule_at: z.string().nullable(),\n tags: z.array(z.string()),\n notes: z.string().nullable(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])),\n variants: z.array(z.object({\n id: z.string(),\n object: z.literal('post_variant'),\n connection_id: z.string(),\n platform: z.enum([\n 'x',\n 'linkedin',\n 'facebook_page',\n 'instagram',\n 'tiktok'\n ]),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'video',\n 'reel',\n 'carousel'\n ]),\n body: z.string().nullable(),\n status: z.enum([\n 'draft',\n 'scheduled',\n 'publishing',\n 'published',\n 'failed'\n ]),\n settings: z.record(z.string(), z.unknown()),\n schedule_at: z.string().nullable(),\n result: z.object({\n platform_post_id: z.string(),\n permalink: z.string().nullable(),\n published_at: z.string()\n }).nullable(),\n error: z.object({\n code: z.string(),\n message: z.string()\n }).nullable(),\n media: z.array(z.object({\n media_id: z.string(),\n position: z.int().gte(-9007199254740991).lte(9007199254740991),\n crop_box: z.record(z.string(), z.unknown()).nullable(),\n alt_text_override: z.string().nullable()\n }))\n })),\n created_at: z.string(),\n updated_at: z.string()\n});\n\nexport const zPostsUpdateBody = z.object({\n publish: z.enum([\n 'now',\n 'schedule',\n 'draft'\n ]).optional(),\n schedule_at: z.iso.datetime().nullish(),\n external_id: z.string().min(1).max(255).nullish(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])).optional(),\n tags: z.array(z.string()).optional(),\n notes: z.string().nullish(),\n dry_run: z.boolean().optional().default(false),\n variants: z.array(z.union([\n z.object({\n platform: z.literal('x'),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'video'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n reply_settings: z.enum([\n 'everyone',\n 'following',\n 'mentionedUsers',\n 'subscribers',\n 'verified'\n ]).optional(),\n quote_tweet_id: z.string().regex(/^[0-9]{1,19}$/).optional(),\n poll: z.object({\n options: z.array(z.string().min(1).max(25)).min(2).max(4),\n duration_minutes: z.int().gte(5).lte(10080),\n reply_settings: z.enum([\n 'following',\n 'mentionedUsers',\n 'subscribers',\n 'verified'\n ]).optional()\n }).optional(),\n reply: z.object({\n in_reply_to_tweet_id: z.string().regex(/^[0-9]{1,19}$/),\n exclude_reply_user_ids: z.array(z.string().regex(/^[0-9]{1,19}$/)).optional(),\n auto_populate_reply_metadata: z.boolean().optional()\n }).optional(),\n community_id: z.string().regex(/^[0-9]{1,19}$/).optional(),\n for_super_followers_only: z.boolean().optional(),\n geo: z.object({\n place_id: z.string()\n }).optional(),\n card_uri: z.string().optional(),\n media_tagged_user_ids: z.array(z.string().regex(/^[0-9]{1,19}$/)).max(10).optional()\n }).optional().default({})\n }),\n z.object({\n platform: z.literal('linkedin'),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'video'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n visibility: z.enum(['PUBLIC', 'CONNECTIONS']),\n content_kind: z.enum([\n 'text',\n 'single_image',\n 'video',\n 'multi_image',\n 'document',\n 'article',\n 'poll'\n ]),\n article: z.object({\n source: z.url(),\n title: z.string().max(400).optional(),\n description: z.string().max(4086).optional(),\n thumbnail_media_id: z.string().optional()\n }).optional(),\n poll: z.object({\n question: z.string().min(1).max(140),\n options: z.array(z.string().min(1).max(30)).min(2).max(4),\n duration: z.enum([\n 'ONE_DAY',\n 'THREE_DAYS',\n 'SEVEN_DAYS',\n 'FOURTEEN_DAYS'\n ])\n }).optional(),\n document: z.object({\n title: z.string().min(1).max(400)\n }).optional(),\n disable_reshare: z.boolean().optional(),\n mentions: z.array(z.object({\n type: z.enum(['person', 'organization']),\n name: z.string().min(1),\n urn: z.string().regex(/^urn:li:(person|organization):/)\n })).optional()\n })\n }),\n z.object({\n platform: z.literal('instagram'),\n post_type: z.enum([\n 'single_image',\n 'carousel',\n 'reel'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n media_type: z.enum([\n 'IMAGE',\n 'CAROUSEL',\n 'REELS'\n ]).optional(),\n location_id: z.string().optional(),\n user_tags: z.array(z.object({\n username: z.string().min(1),\n x: z.number().gte(0).lte(1),\n y: z.number().gte(0).lte(1)\n })).optional(),\n collaborators: z.array(z.string().min(1)).max(3).optional(),\n share_to_feed: z.boolean().optional(),\n thumb_offset: z.int().gte(0).lte(9007199254740991).optional(),\n cover_url: z.url().optional(),\n audio_name: z.string().optional()\n })\n }),\n z.object({\n platform: z.literal('facebook_page'),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'reel'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n link: z.url().optional()\n }).optional().default({})\n }),\n z.object({\n platform: z.literal('tiktok'),\n post_type: z.enum([\n 'video',\n 'single_image',\n 'carousel'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n privacy_level: z.enum([\n 'PUBLIC_TO_EVERYONE',\n 'MUTUAL_FOLLOW_FRIENDS',\n 'FOLLOWER_OF_CREATOR',\n 'SELF_ONLY'\n ]).optional(),\n disable_comment: z.boolean().optional(),\n disable_duet: z.boolean().optional(),\n disable_stitch: z.boolean().optional(),\n video_cover_timestamp_ms: z.int().gte(0).lte(9007199254740991).optional(),\n photo_cover_index: z.int().gte(0).lte(9007199254740991).optional(),\n auto_add_music: z.boolean().optional(),\n brand_content_toggle: z.boolean().optional(),\n brand_organic_toggle: z.boolean().optional(),\n is_aigc: z.boolean().optional()\n }).optional().default({})\n })\n ])).min(1).optional()\n});\n\nexport const zPostsUpdatePath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zPostsUpdateResponse = z.object({\n id: z.string(),\n object: z.literal('post'),\n profile_id: z.string(),\n external_id: z.string().nullable(),\n status: z.enum([\n 'draft',\n 'scheduled',\n 'publishing',\n 'partially_published',\n 'published',\n 'failed'\n ]),\n schedule_at: z.string().nullable(),\n tags: z.array(z.string()),\n notes: z.string().nullable(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])),\n variants: z.array(z.object({\n id: z.string(),\n object: z.literal('post_variant'),\n connection_id: z.string(),\n platform: z.enum([\n 'x',\n 'linkedin',\n 'facebook_page',\n 'instagram',\n 'tiktok'\n ]),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'video',\n 'reel',\n 'carousel'\n ]),\n body: z.string().nullable(),\n status: z.enum([\n 'draft',\n 'scheduled',\n 'publishing',\n 'published',\n 'failed'\n ]),\n settings: z.record(z.string(), z.unknown()),\n schedule_at: z.string().nullable(),\n result: z.object({\n platform_post_id: z.string(),\n permalink: z.string().nullable(),\n published_at: z.string()\n }).nullable(),\n error: z.object({\n code: z.string(),\n message: z.string()\n }).nullable(),\n media: z.array(z.object({\n media_id: z.string(),\n position: z.int().gte(-9007199254740991).lte(9007199254740991),\n crop_box: z.record(z.string(), z.unknown()).nullable(),\n alt_text_override: z.string().nullable()\n }))\n })),\n created_at: z.string(),\n updated_at: z.string(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zPostsValidateBody = z.object({\n profile_id: z.string(),\n variants: z.array(z.union([\n z.object({\n platform: z.literal('x'),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'video'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n reply_settings: z.enum([\n 'everyone',\n 'following',\n 'mentionedUsers',\n 'subscribers',\n 'verified'\n ]).optional(),\n quote_tweet_id: z.string().regex(/^[0-9]{1,19}$/).optional(),\n poll: z.object({\n options: z.array(z.string().min(1).max(25)).min(2).max(4),\n duration_minutes: z.int().gte(5).lte(10080),\n reply_settings: z.enum([\n 'following',\n 'mentionedUsers',\n 'subscribers',\n 'verified'\n ]).optional()\n }).optional(),\n reply: z.object({\n in_reply_to_tweet_id: z.string().regex(/^[0-9]{1,19}$/),\n exclude_reply_user_ids: z.array(z.string().regex(/^[0-9]{1,19}$/)).optional(),\n auto_populate_reply_metadata: z.boolean().optional()\n }).optional(),\n community_id: z.string().regex(/^[0-9]{1,19}$/).optional(),\n for_super_followers_only: z.boolean().optional(),\n geo: z.object({\n place_id: z.string()\n }).optional(),\n card_uri: z.string().optional(),\n media_tagged_user_ids: z.array(z.string().regex(/^[0-9]{1,19}$/)).max(10).optional()\n }).optional().default({})\n }),\n z.object({\n platform: z.literal('linkedin'),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'video'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n visibility: z.enum(['PUBLIC', 'CONNECTIONS']),\n content_kind: z.enum([\n 'text',\n 'single_image',\n 'video',\n 'multi_image',\n 'document',\n 'article',\n 'poll'\n ]),\n article: z.object({\n source: z.url(),\n title: z.string().max(400).optional(),\n description: z.string().max(4086).optional(),\n thumbnail_media_id: z.string().optional()\n }).optional(),\n poll: z.object({\n question: z.string().min(1).max(140),\n options: z.array(z.string().min(1).max(30)).min(2).max(4),\n duration: z.enum([\n 'ONE_DAY',\n 'THREE_DAYS',\n 'SEVEN_DAYS',\n 'FOURTEEN_DAYS'\n ])\n }).optional(),\n document: z.object({\n title: z.string().min(1).max(400)\n }).optional(),\n disable_reshare: z.boolean().optional(),\n mentions: z.array(z.object({\n type: z.enum(['person', 'organization']),\n name: z.string().min(1),\n urn: z.string().regex(/^urn:li:(person|organization):/)\n })).optional()\n })\n }),\n z.object({\n platform: z.literal('instagram'),\n post_type: z.enum([\n 'single_image',\n 'carousel',\n 'reel'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n media_type: z.enum([\n 'IMAGE',\n 'CAROUSEL',\n 'REELS'\n ]).optional(),\n location_id: z.string().optional(),\n user_tags: z.array(z.object({\n username: z.string().min(1),\n x: z.number().gte(0).lte(1),\n y: z.number().gte(0).lte(1)\n })).optional(),\n collaborators: z.array(z.string().min(1)).max(3).optional(),\n share_to_feed: z.boolean().optional(),\n thumb_offset: z.int().gte(0).lte(9007199254740991).optional(),\n cover_url: z.url().optional(),\n audio_name: z.string().optional()\n })\n }),\n z.object({\n platform: z.literal('facebook_page'),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'reel'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n link: z.url().optional()\n }).optional().default({})\n }),\n z.object({\n platform: z.literal('tiktok'),\n post_type: z.enum([\n 'video',\n 'single_image',\n 'carousel'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n privacy_level: z.enum([\n 'PUBLIC_TO_EVERYONE',\n 'MUTUAL_FOLLOW_FRIENDS',\n 'FOLLOWER_OF_CREATOR',\n 'SELF_ONLY'\n ]).optional(),\n disable_comment: z.boolean().optional(),\n disable_duet: z.boolean().optional(),\n disable_stitch: z.boolean().optional(),\n video_cover_timestamp_ms: z.int().gte(0).lte(9007199254740991).optional(),\n photo_cover_index: z.int().gte(0).lte(9007199254740991).optional(),\n auto_add_music: z.boolean().optional(),\n brand_content_toggle: z.boolean().optional(),\n brand_organic_toggle: z.boolean().optional(),\n is_aigc: z.boolean().optional()\n }).optional().default({})\n })\n ])).min(1)\n});\n\n/**\n * OK\n */\nexport const zPostsValidateResponse = z.object({\n object: z.literal('validation'),\n publishable: z.boolean(),\n issues: z.array(z.object({\n code: z.enum([\n 'unauthorized',\n 'forbidden',\n 'not_found',\n 'conflict',\n 'validation_failed',\n 'rate_limited',\n 'internal_error',\n 'idempotency_key_invalid',\n 'idempotency_key_reused',\n 'idempotency_request_in_progress',\n 'account_not_available',\n 'connection_reauth_required',\n 'connection_not_pending',\n 'connection_in_use',\n 'not_implemented',\n 'connection_discovery_failed',\n 'media_processing',\n 'not_publishable',\n 'invalid_connection',\n 'invalid_media',\n 'profile_scope_invalid',\n 'media_unprobeable',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_format_indeterminate',\n 'media_count_invalid',\n 'body_too_long',\n 'content_missing',\n 'content_conflict',\n 'content_incomplete',\n 'content_kind_mismatch',\n 'media_type_mismatch',\n 'tag_limit_exceeded',\n 'reel_field_on_non_reel',\n 'field_placement_invalid',\n 'media_not_ready',\n 'media_failed',\n 'media_unsupported',\n 'media_kind_mismatch',\n 'publishing_unavailable',\n 'x_duplicate_content',\n 'x_not_authorized',\n 'x_rate_limited',\n 'x_publish_failed',\n 'x_media_upload_failed',\n 'linkedin_duplicate_content',\n 'linkedin_auth_expired',\n 'linkedin_permission_denied',\n 'linkedin_media_processing',\n 'linkedin_media_upload_failed',\n 'linkedin_publish_failed',\n 'instagram_media_processing',\n 'instagram_container_expired',\n 'instagram_container_failed',\n 'instagram_rate_limited',\n 'instagram_not_authorized',\n 'instagram_publish_failed',\n 'facebook_reel_processing',\n 'facebook_reel_failed',\n 'facebook_rate_limited',\n 'facebook_not_authorized',\n 'facebook_publish_failed',\n 'tiktok_privacy_not_allowed',\n 'tiktok_duration_exceeds_max',\n 'tiktok_media_processing',\n 'tiktok_not_authorized',\n 'tiktok_rate_limited',\n 'tiktok_publish_failed',\n 'connection_platform_mismatch'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional(),\n variant_index: z.int().gte(-9007199254740991).lte(9007199254740991),\n path: z.array(z.union([z.string(), z.number()]))\n }))\n});\n\nexport const zMetaAccountPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * A Meta (Facebook) ad account.\n */\nexport const zMetaAccountResponse = z.object({\n id: z.string(),\n account_id: z.string(),\n name: z.string().nullable(),\n account_status: z.int().gte(-9007199254740991).lte(9007199254740991),\n currency: z.string(),\n timezone_name: z.string().nullable(),\n amount_spent: z.string(),\n balance: z.string(),\n spend_cap: z.string().nullable()\n});\n\nexport const zMetaInsightsPath = z.object({\n connection_id: z.string()\n});\n\nexport const zMetaInsightsQuery = z.object({\n level: z.enum([\n 'account',\n 'campaign',\n 'adset',\n 'ad'\n ]).optional().default('account'),\n date_preset: z.enum([\n 'today',\n 'yesterday',\n 'this_month',\n 'last_month',\n 'this_quarter',\n 'maximum',\n 'data_maximum',\n 'last_3d',\n 'last_7d',\n 'last_14d',\n 'last_28d',\n 'last_30d',\n 'last_90d',\n 'last_week_mon_sun',\n 'last_week_sun_sat',\n 'last_quarter',\n 'last_year',\n 'this_week_mon_today',\n 'this_week_sun_today',\n 'this_year'\n ]).optional().default('last_30d'),\n time_range: z.object({\n since: z.string().regex(/^\\d{4}-\\d{2}-\\d{2}$/),\n until: z.string().regex(/^\\d{4}-\\d{2}-\\d{2}$/)\n }).optional(),\n time_increment: z.union([\n z.int().gte(1).lte(90),\n z.literal('monthly'),\n z.literal('all_days')\n ]).optional()\n});\n\n/**\n * A list of curated Meta ad-insights rows.\n */\nexport const zMetaInsightsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n date_start: z.string(),\n date_stop: z.string(),\n account_id: z.string().optional(),\n campaign_id: z.string().optional(),\n campaign_name: z.string().optional(),\n adset_id: z.string().optional(),\n adset_name: z.string().optional(),\n ad_id: z.string().optional(),\n ad_name: z.string().optional(),\n spend: z.string().optional(),\n impressions: z.string().optional(),\n clicks: z.string().optional(),\n ctr: z.string().optional(),\n cpc: z.string().optional(),\n cpm: z.string().optional(),\n cpp: z.string().optional(),\n reach: z.string().optional(),\n frequency: z.string().optional()\n }))\n});\n\nexport const zMetaCampaignsPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * A list of Meta ad campaigns.\n */\nexport const zMetaCampaignsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n account_id: z.string().optional(),\n name: z.string().nullable(),\n status: z.string().optional(),\n effective_status: z.string().optional(),\n objective: z.string().optional(),\n daily_budget: z.string().optional(),\n lifetime_budget: z.string().optional(),\n budget_remaining: z.string().optional(),\n bid_strategy: z.string().optional(),\n created_time: z.string().optional(),\n start_time: z.string().optional(),\n stop_time: z.string().optional()\n }))\n});\n\nexport const zMetaCampaignPath = z.object({\n connection_id: z.string(),\n campaign_id: z.string().min(1)\n});\n\n/**\n * A Meta (Facebook) ad campaign.\n */\nexport const zMetaCampaignResponse = z.object({\n id: z.string(),\n account_id: z.string().optional(),\n name: z.string().nullable(),\n status: z.string().optional(),\n effective_status: z.string().optional(),\n objective: z.string().optional(),\n daily_budget: z.string().optional(),\n lifetime_budget: z.string().optional(),\n budget_remaining: z.string().optional(),\n bid_strategy: z.string().optional(),\n created_time: z.string().optional(),\n start_time: z.string().optional(),\n stop_time: z.string().optional()\n});\n\nexport const zMetaAdsetsPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * A list of Meta ad sets.\n */\nexport const zMetaAdsetsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n account_id: z.string().optional(),\n name: z.string().nullable(),\n status: z.string().optional(),\n effective_status: z.string().optional(),\n campaign_id: z.string().optional(),\n daily_budget: z.string().optional(),\n lifetime_budget: z.string().optional(),\n budget_remaining: z.string().optional(),\n bid_amount: z.string().optional(),\n billing_event: z.string().optional(),\n optimization_goal: z.string().optional(),\n start_time: z.string().optional(),\n end_time: z.string().optional()\n }))\n});\n\nexport const zMetaAdsetPath = z.object({\n connection_id: z.string(),\n adset_id: z.string().min(1)\n});\n\n/**\n * A Meta (Facebook) ad set.\n */\nexport const zMetaAdsetResponse = z.object({\n id: z.string(),\n account_id: z.string().optional(),\n name: z.string().nullable(),\n status: z.string().optional(),\n effective_status: z.string().optional(),\n campaign_id: z.string().optional(),\n daily_budget: z.string().optional(),\n lifetime_budget: z.string().optional(),\n budget_remaining: z.string().optional(),\n bid_amount: z.string().optional(),\n billing_event: z.string().optional(),\n optimization_goal: z.string().optional(),\n start_time: z.string().optional(),\n end_time: z.string().optional()\n});\n\nexport const zMetaAdsPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * A list of Meta ads.\n */\nexport const zMetaAdsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n name: z.string().nullable(),\n status: z.string().optional(),\n effective_status: z.string().optional(),\n adset_id: z.string().optional(),\n campaign_id: z.string().optional(),\n account_id: z.string().optional(),\n created_time: z.string().optional(),\n updated_time: z.string().optional()\n }))\n});\n\nexport const zMetaAdPath = z.object({\n connection_id: z.string(),\n ad_id: z.string().min(1)\n});\n\n/**\n * A Meta (Facebook) ad.\n */\nexport const zMetaAdResponse = z.object({\n id: z.string(),\n name: z.string().nullable(),\n status: z.string().optional(),\n effective_status: z.string().optional(),\n adset_id: z.string().optional(),\n campaign_id: z.string().optional(),\n account_id: z.string().optional(),\n created_time: z.string().optional(),\n updated_time: z.string().optional()\n});\n\nexport const zGoogleGetAccountPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * A connected Google Ads account (the `customer` resource): id, descriptive name, currency, time zone, status, and whether it is a manager (MCC) or test account.\n */\nexport const zGoogleGetAccountResponse = z.object({\n id: z.string(),\n descriptive_name: z.string().nullable(),\n currency_code: z.string().nullable(),\n time_zone: z.string().nullable(),\n status: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ENABLED',\n 'CANCELED',\n 'SUSPENDED',\n 'CLOSED'\n ]),\n manager: z.boolean(),\n test_account: z.boolean()\n});\n\nexport const zGoogleGetInsightsBody = z.object({\n level: z.enum([\n 'account',\n 'campaign',\n 'ad_group'\n ]).optional().default('campaign'),\n metrics: z.array(z.enum([\n 'impressions',\n 'clicks',\n 'ctr',\n 'average_cpc',\n 'cost_micros',\n 'conversions',\n 'conversions_value',\n 'cost_per_conversion'\n ])).min(1).optional().default([\n 'impressions',\n 'clicks',\n 'cost_micros',\n 'conversions'\n ]),\n segments: z.array(z.enum(['date', 'device'])).optional(),\n since: z.string().regex(/^\\d{4}-\\d{2}-\\d{2}$/),\n until: z.string().regex(/^\\d{4}-\\d{2}-\\d{2}$/)\n});\n\nexport const zGoogleGetInsightsPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * Performance rows for the requested level, metrics, and window.\n */\nexport const zGoogleGetInsightsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n level: z.enum([\n 'account',\n 'campaign',\n 'ad_group'\n ]),\n id: z.string(),\n name: z.string().nullable(),\n metrics: z.record(z.string(), z.number().nullable()),\n segments: z.record(z.string(), z.string()).optional()\n }))\n});\n\nexport const zGoogleRunGaqlBody = z.object({\n query: z.string().min(1).max(10000)\n});\n\nexport const zGoogleRunGaqlPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * The native GAQL rows for the query (unnormalised).\n */\nexport const zGoogleRunGaqlResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.union([z.unknown(), z.null()]))\n});\n\nexport const zGoogleCreateBudgetBody = z.object({\n name: z.string().min(1).max(255),\n amount_micros: z.int().gt(0).lte(9007199254740991),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleCreateBudgetPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleCreateBudgetResponse = z.object({\n id: z.string().nullable(),\n resource_name: z.string().nullable(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleDeleteBudgetBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleDeleteBudgetPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * OK\n */\nexport const zGoogleDeleteBudgetResponse = z.object({\n id: z.string(),\n removed: z.boolean(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleEditBudgetBody = z.object({\n amount_micros: z.int().gt(0).lte(9007199254740991),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleEditBudgetPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * OK\n */\nexport const zGoogleEditBudgetResponse = z.object({\n id: z.string(),\n resource_name: z.string(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleListCampaignsPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleListCampaignsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n name: z.string().nullable(),\n status: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ENABLED',\n 'PAUSED',\n 'REMOVED'\n ]),\n advertising_channel_type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'SEARCH',\n 'DISPLAY',\n 'SHOPPING',\n 'HOTEL',\n 'VIDEO',\n 'MULTI_CHANNEL',\n 'LOCAL',\n 'SMART',\n 'PERFORMANCE_MAX',\n 'LOCAL_SERVICES',\n 'TRAVEL',\n 'DEMAND_GEN'\n ]),\n bidding_strategy_type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'COMMISSION',\n 'ENHANCED_CPC',\n 'FIXED_CPM',\n 'FIXED_SHARE_OF_VOICE',\n 'INVALID',\n 'MANUAL_CPA',\n 'MANUAL_CPC',\n 'MANUAL_CPM',\n 'MANUAL_CPV',\n 'MAXIMIZE_CONVERSIONS',\n 'MAXIMIZE_CONVERSION_VALUE',\n 'PAGE_ONE_PROMOTED',\n 'PERCENT_CPC',\n 'TARGET_CPA',\n 'TARGET_CPC',\n 'TARGET_CPM',\n 'TARGET_CPV',\n 'TARGET_IMPRESSION_SHARE',\n 'TARGET_OUTRANK_SHARE',\n 'TARGET_ROAS',\n 'TARGET_SPEND'\n ])\n }))\n});\n\nexport const zGoogleCreateCampaignBody = z.object({\n name: z.string().min(1).max(255),\n channel: z.enum(['SEARCH', 'DISPLAY']),\n campaign_budget: z.string().min(1),\n bidding: z.enum([\n 'manual_cpc',\n 'maximize_conversions',\n 'target_spend'\n ]),\n status: z.enum(['ENABLED', 'PAUSED']).optional().default('PAUSED'),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleCreateCampaignPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleCreateCampaignResponse = z.object({\n id: z.string().nullable(),\n resource_name: z.string().nullable(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleDeleteCampaignBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleDeleteCampaignPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * OK\n */\nexport const zGoogleDeleteCampaignResponse = z.object({\n id: z.string(),\n removed: z.boolean(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleGetCampaignPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * A Google Ads campaign (the `campaign` resource): id, name, status, advertising channel type, and bidding strategy type. (start/end dates are a fast-follow — the Opteo v23 campaign type does not yet expose them as typed fields, and we never cast.)\n */\nexport const zGoogleGetCampaignResponse = z.object({\n id: z.string(),\n name: z.string().nullable(),\n status: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ENABLED',\n 'PAUSED',\n 'REMOVED'\n ]),\n advertising_channel_type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'SEARCH',\n 'DISPLAY',\n 'SHOPPING',\n 'HOTEL',\n 'VIDEO',\n 'MULTI_CHANNEL',\n 'LOCAL',\n 'SMART',\n 'PERFORMANCE_MAX',\n 'LOCAL_SERVICES',\n 'TRAVEL',\n 'DEMAND_GEN'\n ]),\n bidding_strategy_type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'COMMISSION',\n 'ENHANCED_CPC',\n 'FIXED_CPM',\n 'FIXED_SHARE_OF_VOICE',\n 'INVALID',\n 'MANUAL_CPA',\n 'MANUAL_CPC',\n 'MANUAL_CPM',\n 'MANUAL_CPV',\n 'MAXIMIZE_CONVERSIONS',\n 'MAXIMIZE_CONVERSION_VALUE',\n 'PAGE_ONE_PROMOTED',\n 'PERCENT_CPC',\n 'TARGET_CPA',\n 'TARGET_CPC',\n 'TARGET_CPM',\n 'TARGET_CPV',\n 'TARGET_IMPRESSION_SHARE',\n 'TARGET_OUTRANK_SHARE',\n 'TARGET_ROAS',\n 'TARGET_SPEND'\n ])\n});\n\nexport const zGoogleEditCampaignBody = z.object({\n name: z.string().min(1).max(255),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleEditCampaignPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * OK\n */\nexport const zGoogleEditCampaignResponse = z.object({\n id: z.string(),\n resource_name: z.string(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGooglePauseCampaignBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGooglePauseCampaignPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * The outcome of a status change: the resource id, the new status, whether it was a dry run, and whether it executed.\n */\nexport const zGooglePauseCampaignResponse = z.object({\n id: z.string(),\n status: z.enum(['ENABLED', 'PAUSED']),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleEnableCampaignBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleEnableCampaignPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * The outcome of a status change: the resource id, the new status, whether it was a dry run, and whether it executed.\n */\nexport const zGoogleEnableCampaignResponse = z.object({\n id: z.string(),\n status: z.enum(['ENABLED', 'PAUSED']),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleListAdGroupsPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleListAdGroupsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n name: z.string().nullable(),\n status: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ENABLED',\n 'PAUSED',\n 'REMOVED'\n ]),\n type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'SEARCH_STANDARD',\n 'DISPLAY_STANDARD',\n 'SHOPPING_PRODUCT_ADS',\n 'HOTEL_ADS',\n 'SHOPPING_SMART_ADS',\n 'VIDEO_BUMPER',\n 'VIDEO_TRUE_VIEW_IN_STREAM',\n 'VIDEO_TRUE_VIEW_IN_DISPLAY',\n 'VIDEO_NON_SKIPPABLE_IN_STREAM',\n 'SEARCH_DYNAMIC_ADS',\n 'SHOPPING_COMPARISON_LISTING_ADS',\n 'PROMOTED_HOTEL_ADS',\n 'VIDEO_RESPONSIVE',\n 'VIDEO_EFFICIENT_REACH',\n 'SMART_CAMPAIGN_ADS',\n 'TRAVEL_ADS',\n 'YOUTUBE_AUDIO'\n ]),\n campaign: z.string().nullable()\n }))\n});\n\nexport const zGoogleCreateAdGroupBody = z.object({\n name: z.string().min(1).max(255),\n campaign: z.string().min(1),\n type: z.enum(['SEARCH_STANDARD', 'DISPLAY_STANDARD']),\n status: z.enum(['ENABLED', 'PAUSED']).optional().default('ENABLED'),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleCreateAdGroupPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleCreateAdGroupResponse = z.object({\n id: z.string().nullable(),\n resource_name: z.string().nullable(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleDeleteAdGroupBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleDeleteAdGroupPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * OK\n */\nexport const zGoogleDeleteAdGroupResponse = z.object({\n id: z.string(),\n removed: z.boolean(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleGetAdGroupPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * A Google Ads ad group (the `ad_group` resource): id, name, status, type, and the resource name of the parent campaign.\n */\nexport const zGoogleGetAdGroupResponse = z.object({\n id: z.string(),\n name: z.string().nullable(),\n status: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ENABLED',\n 'PAUSED',\n 'REMOVED'\n ]),\n type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'SEARCH_STANDARD',\n 'DISPLAY_STANDARD',\n 'SHOPPING_PRODUCT_ADS',\n 'HOTEL_ADS',\n 'SHOPPING_SMART_ADS',\n 'VIDEO_BUMPER',\n 'VIDEO_TRUE_VIEW_IN_STREAM',\n 'VIDEO_TRUE_VIEW_IN_DISPLAY',\n 'VIDEO_NON_SKIPPABLE_IN_STREAM',\n 'SEARCH_DYNAMIC_ADS',\n 'SHOPPING_COMPARISON_LISTING_ADS',\n 'PROMOTED_HOTEL_ADS',\n 'VIDEO_RESPONSIVE',\n 'VIDEO_EFFICIENT_REACH',\n 'SMART_CAMPAIGN_ADS',\n 'TRAVEL_ADS',\n 'YOUTUBE_AUDIO'\n ]),\n campaign: z.string().nullable()\n});\n\nexport const zGoogleEditAdGroupBody = z.object({\n name: z.string().min(1).max(255),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleEditAdGroupPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * OK\n */\nexport const zGoogleEditAdGroupResponse = z.object({\n id: z.string(),\n resource_name: z.string(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleSetAdGroupBidsBody = z.object({\n cpc_bid_micros: z.int().gt(0).lte(9007199254740991).optional(),\n cpm_bid_micros: z.int().gt(0).lte(9007199254740991).optional(),\n target_cpa_micros: z.int().gt(0).lte(9007199254740991).optional(),\n target_roas: z.number().gt(0).optional(),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleSetAdGroupBidsPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * OK\n */\nexport const zGoogleSetAdGroupBidsResponse = z.object({\n id: z.string(),\n resource_name: z.string(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGooglePauseAdGroupBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGooglePauseAdGroupPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * The outcome of a status change: the resource id, the new status, whether it was a dry run, and whether it executed.\n */\nexport const zGooglePauseAdGroupResponse = z.object({\n id: z.string(),\n status: z.enum(['ENABLED', 'PAUSED']),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleEnableAdGroupBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleEnableAdGroupPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * The outcome of a status change: the resource id, the new status, whether it was a dry run, and whether it executed.\n */\nexport const zGoogleEnableAdGroupResponse = z.object({\n id: z.string(),\n status: z.enum(['ENABLED', 'PAUSED']),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleListAdsPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleListAdsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n name: z.string().nullable(),\n type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'TEXT_AD',\n 'EXPANDED_TEXT_AD',\n 'EXPANDED_DYNAMIC_SEARCH_AD',\n 'HOTEL_AD',\n 'SHOPPING_SMART_AD',\n 'SHOPPING_PRODUCT_AD',\n 'VIDEO_AD',\n 'IMAGE_AD',\n 'RESPONSIVE_SEARCH_AD',\n 'LEGACY_RESPONSIVE_DISPLAY_AD',\n 'APP_AD',\n 'LEGACY_APP_INSTALL_AD',\n 'RESPONSIVE_DISPLAY_AD',\n 'LOCAL_AD',\n 'HTML5_UPLOAD_AD',\n 'DYNAMIC_HTML5_AD',\n 'APP_ENGAGEMENT_AD',\n 'SHOPPING_COMPARISON_LISTING_AD',\n 'VIDEO_BUMPER_AD',\n 'VIDEO_NON_SKIPPABLE_IN_STREAM_AD',\n 'VIDEO_TRUEVIEW_IN_STREAM_AD',\n 'VIDEO_RESPONSIVE_AD',\n 'SMART_CAMPAIGN_AD',\n 'CALL_AD',\n 'APP_PRE_REGISTRATION_AD',\n 'IN_FEED_VIDEO_AD',\n 'DEMAND_GEN_MULTI_ASSET_AD',\n 'DEMAND_GEN_CAROUSEL_AD',\n 'TRAVEL_AD',\n 'DEMAND_GEN_VIDEO_RESPONSIVE_AD',\n 'DEMAND_GEN_PRODUCT_AD',\n 'YOUTUBE_AUDIO_AD'\n ]),\n status: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ENABLED',\n 'PAUSED',\n 'REMOVED'\n ]),\n ad_group: z.string().nullable()\n }))\n});\n\nexport const zGoogleCreateAdBody = z.object({\n ad_group: z.string().min(1),\n final_urls: z.array(z.url()).min(1),\n headlines: z.array(z.object({\n text: z.string().min(1).max(30),\n pinned_field: z.enum([\n 'HEADLINE_1',\n 'HEADLINE_2',\n 'HEADLINE_3'\n ]).optional()\n })).min(3).max(15),\n descriptions: z.array(z.object({\n text: z.string().min(1).max(90)\n })).min(2).max(4),\n path1: z.string().max(15).optional(),\n path2: z.string().max(15).optional(),\n status: z.enum(['ENABLED', 'PAUSED']).optional().default('PAUSED'),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleCreateAdPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleCreateAdResponse = z.object({\n id: z.string().nullable(),\n resource_name: z.string().nullable(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleDeleteAdBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleDeleteAdPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * OK\n */\nexport const zGoogleDeleteAdResponse = z.object({\n id: z.string(),\n removed: z.boolean(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleGetAdPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * A Google Ads ad (the `ad_group_ad` resource): id, name, creative type, serving status, and the ad group resource name it belongs to.\n */\nexport const zGoogleGetAdResponse = z.object({\n id: z.string(),\n name: z.string().nullable(),\n type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'TEXT_AD',\n 'EXPANDED_TEXT_AD',\n 'EXPANDED_DYNAMIC_SEARCH_AD',\n 'HOTEL_AD',\n 'SHOPPING_SMART_AD',\n 'SHOPPING_PRODUCT_AD',\n 'VIDEO_AD',\n 'IMAGE_AD',\n 'RESPONSIVE_SEARCH_AD',\n 'LEGACY_RESPONSIVE_DISPLAY_AD',\n 'APP_AD',\n 'LEGACY_APP_INSTALL_AD',\n 'RESPONSIVE_DISPLAY_AD',\n 'LOCAL_AD',\n 'HTML5_UPLOAD_AD',\n 'DYNAMIC_HTML5_AD',\n 'APP_ENGAGEMENT_AD',\n 'SHOPPING_COMPARISON_LISTING_AD',\n 'VIDEO_BUMPER_AD',\n 'VIDEO_NON_SKIPPABLE_IN_STREAM_AD',\n 'VIDEO_TRUEVIEW_IN_STREAM_AD',\n 'VIDEO_RESPONSIVE_AD',\n 'SMART_CAMPAIGN_AD',\n 'CALL_AD',\n 'APP_PRE_REGISTRATION_AD',\n 'IN_FEED_VIDEO_AD',\n 'DEMAND_GEN_MULTI_ASSET_AD',\n 'DEMAND_GEN_CAROUSEL_AD',\n 'TRAVEL_AD',\n 'DEMAND_GEN_VIDEO_RESPONSIVE_AD',\n 'DEMAND_GEN_PRODUCT_AD',\n 'YOUTUBE_AUDIO_AD'\n ]),\n status: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ENABLED',\n 'PAUSED',\n 'REMOVED'\n ]),\n ad_group: z.string().nullable()\n});\n\nexport const zGoogleCreateDisplayAdBody = z.object({\n ad_group: z.string().min(1),\n final_urls: z.array(z.url()).min(1),\n marketing_images: z.array(z.object({\n asset: z.string().min(1)\n })).max(15).optional().default([]),\n square_marketing_images: z.array(z.object({\n asset: z.string().min(1)\n })).max(15).optional().default([]),\n logo_images: z.array(z.object({\n asset: z.string().min(1)\n })).max(5).optional().default([]),\n square_logo_images: z.array(z.object({\n asset: z.string().min(1)\n })).max(5).optional().default([]),\n headlines: z.array(z.object({\n text: z.string().min(1).max(30)\n })).min(1).max(5),\n long_headline: z.object({\n text: z.string().min(1).max(90)\n }),\n descriptions: z.array(z.object({\n text: z.string().min(1).max(90)\n })).min(1).max(5),\n business_name: z.string().min(1).max(25).optional(),\n call_to_action_text: z.string().min(1).optional(),\n main_color: z.string().min(1).optional(),\n accent_color: z.string().min(1).optional(),\n status: z.enum(['ENABLED', 'PAUSED']).optional().default('PAUSED'),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleCreateDisplayAdPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleCreateDisplayAdResponse = z.object({\n id: z.string().nullable(),\n resource_name: z.string().nullable(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGooglePauseAdBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGooglePauseAdPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * The outcome of a status change: the resource id, the new status, whether it was a dry run, and whether it executed.\n */\nexport const zGooglePauseAdResponse = z.object({\n id: z.string(),\n status: z.enum(['ENABLED', 'PAUSED']),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleEnableAdBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleEnableAdPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * The outcome of a status change: the resource id, the new status, whether it was a dry run, and whether it executed.\n */\nexport const zGoogleEnableAdResponse = z.object({\n id: z.string(),\n status: z.enum(['ENABLED', 'PAUSED']),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleListKeywordsPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleListKeywordsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n text: z.string().nullable(),\n match_type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'EXACT',\n 'PHRASE',\n 'BROAD'\n ]),\n status: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ENABLED',\n 'PAUSED',\n 'REMOVED'\n ]),\n negative: z.boolean(),\n ad_group: z.string().nullable()\n }))\n});\n\nexport const zGoogleCreateKeywordBody = z.object({\n ad_group: z.string().min(1),\n text: z.string().min(1).max(80),\n match_type: z.enum([\n 'EXACT',\n 'PHRASE',\n 'BROAD'\n ]),\n negative: z.boolean().optional().default(false),\n status: z.enum(['ENABLED', 'PAUSED']).optional().default('ENABLED'),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleCreateKeywordPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleCreateKeywordResponse = z.object({\n id: z.string().nullable(),\n resource_name: z.string().nullable(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleDeleteKeywordBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleDeleteKeywordPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * OK\n */\nexport const zGoogleDeleteKeywordResponse = z.object({\n id: z.string(),\n removed: z.boolean(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleGetKeywordPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * A Google Ads keyword (an `ad_group_criterion` of type KEYWORD): criterion id, text, match type, status, whether it is a negative keyword, and the owning ad group resource name.\n */\nexport const zGoogleGetKeywordResponse = z.object({\n id: z.string(),\n text: z.string().nullable(),\n match_type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'EXACT',\n 'PHRASE',\n 'BROAD'\n ]),\n status: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ENABLED',\n 'PAUSED',\n 'REMOVED'\n ]),\n negative: z.boolean(),\n ad_group: z.string().nullable()\n});\n\nexport const zGoogleSetKeywordBidBody = z.object({\n cpc_bid_micros: z.int().gt(0).lte(9007199254740991),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleSetKeywordBidPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * OK\n */\nexport const zGoogleSetKeywordBidResponse = z.object({\n id: z.string(),\n resource_name: z.string(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGooglePauseKeywordBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGooglePauseKeywordPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * The outcome of a status change: the resource id, the new status, whether it was a dry run, and whether it executed.\n */\nexport const zGooglePauseKeywordResponse = z.object({\n id: z.string(),\n status: z.enum(['ENABLED', 'PAUSED']),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleEnableKeywordBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleEnableKeywordPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * The outcome of a status change: the resource id, the new status, whether it was a dry run, and whether it executed.\n */\nexport const zGoogleEnableKeywordResponse = z.object({\n id: z.string(),\n status: z.enum(['ENABLED', 'PAUSED']),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleListConversionActionsPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleListConversionActionsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n name: z.string().nullable(),\n status: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ENABLED',\n 'REMOVED',\n 'HIDDEN'\n ]),\n type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'AD_CALL',\n 'CLICK_TO_CALL',\n 'GOOGLE_PLAY_DOWNLOAD',\n 'GOOGLE_PLAY_IN_APP_PURCHASE',\n 'UPLOAD_CALLS',\n 'UPLOAD_CLICKS',\n 'WEBPAGE',\n 'WEBSITE_CALL',\n 'STORE_SALES_DIRECT_UPLOAD',\n 'STORE_SALES',\n 'FIREBASE_ANDROID_FIRST_OPEN',\n 'FIREBASE_ANDROID_IN_APP_PURCHASE',\n 'FIREBASE_ANDROID_CUSTOM',\n 'FIREBASE_IOS_FIRST_OPEN',\n 'FIREBASE_IOS_IN_APP_PURCHASE',\n 'FIREBASE_IOS_CUSTOM',\n 'THIRD_PARTY_APP_ANALYTICS_ANDROID_FIRST_OPEN',\n 'THIRD_PARTY_APP_ANALYTICS_ANDROID_IN_APP_PURCHASE',\n 'THIRD_PARTY_APP_ANALYTICS_ANDROID_CUSTOM',\n 'THIRD_PARTY_APP_ANALYTICS_IOS_FIRST_OPEN',\n 'THIRD_PARTY_APP_ANALYTICS_IOS_IN_APP_PURCHASE',\n 'THIRD_PARTY_APP_ANALYTICS_IOS_CUSTOM',\n 'ANDROID_APP_PRE_REGISTRATION',\n 'ANDROID_INSTALLS_ALL_OTHER_APPS',\n 'FLOODLIGHT_ACTION',\n 'FLOODLIGHT_TRANSACTION',\n 'GOOGLE_HOSTED',\n 'LEAD_FORM_SUBMIT',\n 'SALESFORCE',\n 'SEARCH_ADS_360',\n 'SMART_CAMPAIGN_AD_CLICKS_TO_CALL',\n 'SMART_CAMPAIGN_MAP_CLICKS_TO_CALL',\n 'SMART_CAMPAIGN_MAP_DIRECTIONS',\n 'SMART_CAMPAIGN_TRACKED_CALLS',\n 'STORE_VISITS',\n 'WEBPAGE_CODELESS',\n 'UNIVERSAL_ANALYTICS_GOAL',\n 'UNIVERSAL_ANALYTICS_TRANSACTION',\n 'GOOGLE_ANALYTICS_4_CUSTOM',\n 'GOOGLE_ANALYTICS_4_PURCHASE'\n ]),\n category: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'DEFAULT',\n 'PAGE_VIEW',\n 'PURCHASE',\n 'SIGNUP',\n 'DOWNLOAD',\n 'ADD_TO_CART',\n 'BEGIN_CHECKOUT',\n 'SUBSCRIBE_PAID',\n 'PHONE_CALL_LEAD',\n 'IMPORTED_LEAD',\n 'SUBMIT_LEAD_FORM',\n 'BOOK_APPOINTMENT',\n 'REQUEST_QUOTE',\n 'GET_DIRECTIONS',\n 'OUTBOUND_CLICK',\n 'CONTACT',\n 'ENGAGEMENT',\n 'STORE_VISIT',\n 'STORE_SALE',\n 'QUALIFIED_LEAD',\n 'CONVERTED_LEAD'\n ]),\n origin: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'WEBSITE',\n 'GOOGLE_HOSTED',\n 'APP',\n 'CALL_FROM_ADS',\n 'STORE',\n 'YOUTUBE_HOSTED'\n ]),\n primary_for_goal: z.boolean(),\n counting_type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ONE_PER_CLICK',\n 'MANY_PER_CLICK'\n ]),\n value_settings: z.object({\n default_value: z.number().nullable(),\n default_currency_code: z.string().nullable(),\n always_use_default_value: z.boolean().nullable()\n }).nullable(),\n tag_snippets: z.array(z.object({\n type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'WEBPAGE',\n 'WEBPAGE_ONCLICK',\n 'CLICK_TO_CALL',\n 'WEBSITE_CALL'\n ]),\n page_format: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'HTML',\n 'AMP'\n ]),\n global_site_tag: z.string().nullable(),\n event_snippet: z.string().nullable()\n }))\n }))\n});\n\nexport const zGoogleCreateConversionActionBody = z.object({\n name: z.string().min(1).max(255),\n type: z.enum(['WEBPAGE', 'UPLOAD_CLICKS']),\n category: z.enum([\n 'DEFAULT',\n 'PAGE_VIEW',\n 'PURCHASE',\n 'SIGNUP',\n 'DOWNLOAD',\n 'ADD_TO_CART',\n 'BEGIN_CHECKOUT',\n 'SUBSCRIBE_PAID',\n 'PHONE_CALL_LEAD',\n 'IMPORTED_LEAD',\n 'SUBMIT_LEAD_FORM',\n 'BOOK_APPOINTMENT',\n 'REQUEST_QUOTE',\n 'GET_DIRECTIONS',\n 'OUTBOUND_CLICK',\n 'CONTACT',\n 'ENGAGEMENT',\n 'STORE_VISIT',\n 'STORE_SALE',\n 'QUALIFIED_LEAD',\n 'CONVERTED_LEAD'\n ]),\n status: z.enum(['ENABLED']).optional().default('ENABLED'),\n value_settings: z.object({\n default_value: z.number().gte(0).optional(),\n default_currency_code: z.string().length(3).optional(),\n always_use_default_value: z.boolean().optional()\n }).optional(),\n counting_type: z.enum(['ONE_PER_CLICK', 'MANY_PER_CLICK']).optional(),\n click_through_lookback_window_days: z.int().gt(0).lte(9007199254740991).optional(),\n view_through_lookback_window_days: z.int().gt(0).lte(9007199254740991).optional(),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleCreateConversionActionPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleCreateConversionActionResponse = z.object({\n id: z.string().nullable(),\n resource_name: z.string().nullable(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleGetConversionActionPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * A Google Ads conversion action (the `conversion_action` resource): id, name, status, type, category, origin, whether it is a primary goal, counting type, value settings, and the website tag snippets (present only for a WEBPAGE action).\n */\nexport const zGoogleGetConversionActionResponse = z.object({\n id: z.string(),\n name: z.string().nullable(),\n status: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ENABLED',\n 'REMOVED',\n 'HIDDEN'\n ]),\n type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'AD_CALL',\n 'CLICK_TO_CALL',\n 'GOOGLE_PLAY_DOWNLOAD',\n 'GOOGLE_PLAY_IN_APP_PURCHASE',\n 'UPLOAD_CALLS',\n 'UPLOAD_CLICKS',\n 'WEBPAGE',\n 'WEBSITE_CALL',\n 'STORE_SALES_DIRECT_UPLOAD',\n 'STORE_SALES',\n 'FIREBASE_ANDROID_FIRST_OPEN',\n 'FIREBASE_ANDROID_IN_APP_PURCHASE',\n 'FIREBASE_ANDROID_CUSTOM',\n 'FIREBASE_IOS_FIRST_OPEN',\n 'FIREBASE_IOS_IN_APP_PURCHASE',\n 'FIREBASE_IOS_CUSTOM',\n 'THIRD_PARTY_APP_ANALYTICS_ANDROID_FIRST_OPEN',\n 'THIRD_PARTY_APP_ANALYTICS_ANDROID_IN_APP_PURCHASE',\n 'THIRD_PARTY_APP_ANALYTICS_ANDROID_CUSTOM',\n 'THIRD_PARTY_APP_ANALYTICS_IOS_FIRST_OPEN',\n 'THIRD_PARTY_APP_ANALYTICS_IOS_IN_APP_PURCHASE',\n 'THIRD_PARTY_APP_ANALYTICS_IOS_CUSTOM',\n 'ANDROID_APP_PRE_REGISTRATION',\n 'ANDROID_INSTALLS_ALL_OTHER_APPS',\n 'FLOODLIGHT_ACTION',\n 'FLOODLIGHT_TRANSACTION',\n 'GOOGLE_HOSTED',\n 'LEAD_FORM_SUBMIT',\n 'SALESFORCE',\n 'SEARCH_ADS_360',\n 'SMART_CAMPAIGN_AD_CLICKS_TO_CALL',\n 'SMART_CAMPAIGN_MAP_CLICKS_TO_CALL',\n 'SMART_CAMPAIGN_MAP_DIRECTIONS',\n 'SMART_CAMPAIGN_TRACKED_CALLS',\n 'STORE_VISITS',\n 'WEBPAGE_CODELESS',\n 'UNIVERSAL_ANALYTICS_GOAL',\n 'UNIVERSAL_ANALYTICS_TRANSACTION',\n 'GOOGLE_ANALYTICS_4_CUSTOM',\n 'GOOGLE_ANALYTICS_4_PURCHASE'\n ]),\n category: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'DEFAULT',\n 'PAGE_VIEW',\n 'PURCHASE',\n 'SIGNUP',\n 'DOWNLOAD',\n 'ADD_TO_CART',\n 'BEGIN_CHECKOUT',\n 'SUBSCRIBE_PAID',\n 'PHONE_CALL_LEAD',\n 'IMPORTED_LEAD',\n 'SUBMIT_LEAD_FORM',\n 'BOOK_APPOINTMENT',\n 'REQUEST_QUOTE',\n 'GET_DIRECTIONS',\n 'OUTBOUND_CLICK',\n 'CONTACT',\n 'ENGAGEMENT',\n 'STORE_VISIT',\n 'STORE_SALE',\n 'QUALIFIED_LEAD',\n 'CONVERTED_LEAD'\n ]),\n origin: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'WEBSITE',\n 'GOOGLE_HOSTED',\n 'APP',\n 'CALL_FROM_ADS',\n 'STORE',\n 'YOUTUBE_HOSTED'\n ]),\n primary_for_goal: z.boolean(),\n counting_type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ONE_PER_CLICK',\n 'MANY_PER_CLICK'\n ]),\n value_settings: z.object({\n default_value: z.number().nullable(),\n default_currency_code: z.string().nullable(),\n always_use_default_value: z.boolean().nullable()\n }).nullable(),\n tag_snippets: z.array(z.object({\n type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'WEBPAGE',\n 'WEBPAGE_ONCLICK',\n 'CLICK_TO_CALL',\n 'WEBSITE_CALL'\n ]),\n page_format: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'HTML',\n 'AMP'\n ]),\n global_site_tag: z.string().nullable(),\n event_snippet: z.string().nullable()\n }))\n});\n\nexport const zGoogleListConversionGoalsPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleListConversionGoalsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n category: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'DEFAULT',\n 'PAGE_VIEW',\n 'PURCHASE',\n 'SIGNUP',\n 'DOWNLOAD',\n 'ADD_TO_CART',\n 'BEGIN_CHECKOUT',\n 'SUBSCRIBE_PAID',\n 'PHONE_CALL_LEAD',\n 'IMPORTED_LEAD',\n 'SUBMIT_LEAD_FORM',\n 'BOOK_APPOINTMENT',\n 'REQUEST_QUOTE',\n 'GET_DIRECTIONS',\n 'OUTBOUND_CLICK',\n 'CONTACT',\n 'ENGAGEMENT',\n 'STORE_VISIT',\n 'STORE_SALE',\n 'QUALIFIED_LEAD',\n 'CONVERTED_LEAD'\n ]),\n origin: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'WEBSITE',\n 'GOOGLE_HOSTED',\n 'APP',\n 'CALL_FROM_ADS',\n 'STORE',\n 'YOUTUBE_HOSTED'\n ]),\n biddable: z.boolean()\n }))\n});\n\nexport const zGoogleSetConversionGoalBody = z.object({\n category: z.enum([\n 'DEFAULT',\n 'PAGE_VIEW',\n 'PURCHASE',\n 'SIGNUP',\n 'DOWNLOAD',\n 'ADD_TO_CART',\n 'BEGIN_CHECKOUT',\n 'SUBSCRIBE_PAID',\n 'PHONE_CALL_LEAD',\n 'IMPORTED_LEAD',\n 'SUBMIT_LEAD_FORM',\n 'BOOK_APPOINTMENT',\n 'REQUEST_QUOTE',\n 'GET_DIRECTIONS',\n 'OUTBOUND_CLICK',\n 'CONTACT',\n 'ENGAGEMENT',\n 'STORE_VISIT',\n 'STORE_SALE',\n 'QUALIFIED_LEAD',\n 'CONVERTED_LEAD'\n ]),\n origin: z.enum([\n 'WEBSITE',\n 'GOOGLE_HOSTED',\n 'APP',\n 'CALL_FROM_ADS',\n 'STORE',\n 'YOUTUBE_HOSTED'\n ]),\n biddable: z.boolean(),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleSetConversionGoalPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * The outcome of a conversion-goal update: the goal’s category and origin, the new biddable value, whether it was a dry run, and whether it executed.\n */\nexport const zGoogleSetConversionGoalResponse = z.object({\n category: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'DEFAULT',\n 'PAGE_VIEW',\n 'PURCHASE',\n 'SIGNUP',\n 'DOWNLOAD',\n 'ADD_TO_CART',\n 'BEGIN_CHECKOUT',\n 'SUBSCRIBE_PAID',\n 'PHONE_CALL_LEAD',\n 'IMPORTED_LEAD',\n 'SUBMIT_LEAD_FORM',\n 'BOOK_APPOINTMENT',\n 'REQUEST_QUOTE',\n 'GET_DIRECTIONS',\n 'OUTBOUND_CLICK',\n 'CONTACT',\n 'ENGAGEMENT',\n 'STORE_VISIT',\n 'STORE_SALE',\n 'QUALIFIED_LEAD',\n 'CONVERTED_LEAD'\n ]),\n origin: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'WEBSITE',\n 'GOOGLE_HOSTED',\n 'APP',\n 'CALL_FROM_ADS',\n 'STORE',\n 'YOUTUBE_HOSTED'\n ]),\n biddable: z.boolean(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleUploadConversionsBody = z.object({\n conversions: z.array(z.object({\n conversion_action: z.string().min(1),\n conversion_date_time: z.string().regex(/^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}[+-]\\d{2}:\\d{2}$/),\n conversion_value: z.number().gte(0).optional(),\n currency_code: z.string().length(3).optional(),\n order_id: z.string().optional(),\n gclid: z.string().optional(),\n gbraid: z.string().optional(),\n wbraid: z.string().optional(),\n user_identifiers: z.array(z.object({\n hashed_email: z.string().regex(/^[a-f0-9]{64}$/).optional(),\n hashed_phone_number: z.string().regex(/^[a-f0-9]{64}$/).optional(),\n user_identifier_source: z.enum(['FIRST_PARTY', 'THIRD_PARTY']).optional()\n })).min(1).max(5).optional(),\n consent: z.object({\n ad_user_data: z.enum(['GRANTED', 'DENIED']).optional(),\n ad_personalization: z.enum(['GRANTED', 'DENIED']).optional()\n }).optional()\n })).min(1).max(2000),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleUploadConversionsPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * The outcome of an offline conversion upload: received / succeeded / failed counts and the per-row errors Google returned.\n */\nexport const zGoogleUploadConversionsResponse = z.object({\n received: z.int().gte(-9007199254740991).lte(9007199254740991),\n succeeded: z.int().gte(-9007199254740991).lte(9007199254740991),\n failed: z.int().gte(-9007199254740991).lte(9007199254740991),\n errors: z.array(z.object({\n index: z.int().gte(-9007199254740991).lte(9007199254740991),\n error_code: z.string(),\n message: z.string()\n })),\n dry_run: z.boolean()\n});\n\nexport const zGoogleUploadImageAssetBody = z.object({\n media_id: z.string(),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleUploadImageAssetPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleUploadImageAssetResponse = z.object({\n id: z.string().nullable(),\n resource_name: z.string().nullable(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zLogsListQuery = z.object({\n limit: z.int().gte(1).lte(100).optional().default(20),\n offset: z.int().gte(0).lte(9007199254740991).optional().default(0),\n profile_id: z.string().optional(),\n connection_id: z.string().optional(),\n platform: z.enum([\n 'meta_ads',\n 'google_ads',\n 'tiktok_ads',\n 'x',\n 'linkedin',\n 'facebook_page',\n 'instagram',\n 'tiktok'\n ]).optional(),\n status: z.enum([\n 'pending',\n 'success',\n 'error'\n ]).optional(),\n source: z.enum([\n 'api',\n 'dashboard',\n 'mcp',\n 'scheduler'\n ]).optional(),\n action: z.string().min(1).optional(),\n created_after: z.iso.datetime().optional(),\n created_before: z.iso.datetime().optional()\n});\n\n/**\n * OK\n */\nexport const zLogsListResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n source: z.enum([\n 'api',\n 'dashboard',\n 'mcp',\n 'scheduler'\n ]),\n action: z.string(),\n status: z.enum([\n 'pending',\n 'success',\n 'error'\n ]),\n status_code: z.int().gte(-9007199254740991).lte(9007199254740991).nullable(),\n platform: z.enum([\n 'meta_ads',\n 'google_ads',\n 'tiktok_ads',\n 'x',\n 'linkedin',\n 'facebook_page',\n 'instagram',\n 'tiktok'\n ]).nullable(),\n request_method: z.string().nullable(),\n request_path: z.string().nullable(),\n request_body: z.unknown().nullish(),\n response_body: z.unknown().nullish(),\n error: z.unknown().nullish(),\n external_id: z.string().nullable(),\n idempotency_key: z.string().nullable(),\n request_id: z.string().nullable(),\n duration_ms: z.int().gte(-9007199254740991).lte(9007199254740991).nullable(),\n profile_id: z.string().nullable(),\n connection_id: z.string().nullable(),\n api_key_id: z.string().nullable(),\n created_at: z.string().nullable(),\n updated_at: z.string().nullable()\n })),\n total: z.int().gte(-9007199254740991).lte(9007199254740991),\n limit: z.int().gte(-9007199254740991).lte(9007199254740991),\n offset: z.int().gte(-9007199254740991).lte(9007199254740991),\n has_more: z.boolean()\n});\n\nexport const zLogsGetPath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zLogsGetResponse = z.object({\n id: z.string(),\n source: z.enum([\n 'api',\n 'dashboard',\n 'mcp',\n 'scheduler'\n ]),\n action: z.string(),\n status: z.enum([\n 'pending',\n 'success',\n 'error'\n ]),\n status_code: z.int().gte(-9007199254740991).lte(9007199254740991).nullable(),\n platform: z.enum([\n 'meta_ads',\n 'google_ads',\n 'tiktok_ads',\n 'x',\n 'linkedin',\n 'facebook_page',\n 'instagram',\n 'tiktok'\n ]).nullable(),\n request_method: z.string().nullable(),\n request_path: z.string().nullable(),\n request_body: z.unknown().nullish(),\n response_body: z.unknown().nullish(),\n error: z.unknown().nullish(),\n external_id: z.string().nullable(),\n idempotency_key: z.string().nullable(),\n request_id: z.string().nullable(),\n duration_ms: z.int().gte(-9007199254740991).lte(9007199254740991).nullable(),\n profile_id: z.string().nullable(),\n connection_id: z.string().nullable(),\n api_key_id: z.string().nullable(),\n created_at: z.string().nullable(),\n updated_at: z.string().nullable()\n});\n\nexport const zWebhooksListEndpointsQuery = z.object({\n limit: z.int().gte(1).lte(100).optional().default(20),\n offset: z.int().gte(0).lte(9007199254740991).optional().default(0)\n});\n\n/**\n * OK\n */\nexport const zWebhooksListEndpointsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n url: z.string(),\n description: z.string(),\n event_types: z.array(z.string()),\n disabled: z.boolean(),\n created_at: z.string(),\n updated_at: z.string()\n })),\n total: z.int().gte(-9007199254740991).lte(9007199254740991),\n limit: z.int().gte(-9007199254740991).lte(9007199254740991),\n offset: z.int().gte(-9007199254740991).lte(9007199254740991),\n has_more: z.boolean()\n});\n\nexport const zWebhooksCreateEndpointBody = z.object({\n url: z.url(),\n description: z.string().max(255).optional(),\n event_types: z.array(z.enum([\n 'webhook.ping',\n 'post.published',\n 'post.failed',\n 'post.completed'\n ]))\n});\n\n/**\n * OK\n */\nexport const zWebhooksCreateEndpointResponse = z.object({\n id: z.string(),\n url: z.string(),\n description: z.string(),\n event_types: z.array(z.string()),\n disabled: z.boolean(),\n created_at: z.string(),\n updated_at: z.string()\n});\n\nexport const zWebhooksDeleteEndpointPath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zWebhooksDeleteEndpointResponse = z.object({\n id: z.string(),\n object: z.literal('webhook_endpoint'),\n deleted: z.literal(true)\n});\n\nexport const zWebhooksGetEndpointPath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zWebhooksGetEndpointResponse = z.object({\n id: z.string(),\n url: z.string(),\n description: z.string(),\n event_types: z.array(z.string()),\n disabled: z.boolean(),\n created_at: z.string(),\n updated_at: z.string()\n});\n\nexport const zWebhooksUpdateEndpointBody = z.object({\n url: z.url().optional(),\n description: z.string().max(255).optional(),\n disabled: z.boolean().optional(),\n event_types: z.array(z.enum([\n 'webhook.ping',\n 'post.published',\n 'post.failed',\n 'post.completed'\n ])).optional()\n});\n\nexport const zWebhooksUpdateEndpointPath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zWebhooksUpdateEndpointResponse = z.object({\n id: z.string(),\n url: z.string(),\n description: z.string(),\n event_types: z.array(z.string()),\n disabled: z.boolean(),\n created_at: z.string(),\n updated_at: z.string()\n});\n\n/**\n * OK\n */\nexport const zWebhooksCreatePortalResponse = z.object({\n url: z.string()\n});\n\n/**\n * OK\n */\nexport const zWebhooksListEventTypesResponse = z.array(z.object({\n name: z.string(),\n group: z.string(),\n description: z.string()\n}));\n\nexport const zWebhooksPingBody = z.object({\n message: z.string().max(255).optional().default('Hello from Postrun')\n});\n\n/**\n * OK\n */\nexport const zWebhooksPingResponse = z.object({\n id: z.string()\n});\n\n/**\n * Mint a short-lived, profile-scoped frontend token. Called by your backend with a secret `pr_` key; the returned token is safe to hand to a browser.\n */\nexport const zTokensMintBody = z.object({\n profile_scope: z.union([\n z.object({\n type: z.literal('ids'),\n values: z.array(z.string()).min(1).max(100)\n }),\n z.object({\n type: z.literal('external_id'),\n values: z.array(z.string().min(1).max(255)).min(1).max(50)\n }),\n z.object({\n type: z.literal('all')\n })\n ]),\n scopes: z.array(z.enum([\n 'profiles:read',\n 'profiles:write',\n 'connections:read',\n 'connections:write',\n 'ads:read',\n 'ads:write',\n 'posts:read',\n 'posts:write',\n 'media:read',\n 'media:write'\n ])).min(1),\n ttl_seconds: z.int().gte(60).lte(1800).optional().default(900)\n});\n\n/**\n * OK\n */\nexport const zTokensMintResponse = z.object({\n token: z.string(),\n expires_at: z.string()\n});\n","import * as z from 'zod';\n\nimport { zErrorCode } from './client/zod.gen';\nimport type { ErrorCode } from './client/types.gen';\n\n/**\n * The closed set of machine-readable Postrun error codes — DERIVED from the\n * generated `ErrorCode` component union (emitted from the API's `ErrorCodeSchema`\n * via the OpenAPI spec), never hand-listed. Branch on `PostrunError.code` and the\n * compiler narrows + autocompletes the exact set the API can return. Each member\n * documents itself at https://docs.postrun.ai/errors/<code>.\n */\nexport type PostrunErrorCode = ErrorCode;\n\n/**\n * The RFC 9457 problem body the Postrun API returns on every transport error —\n * its `encodeProblem` emits `{ type, title, status, code, detail, request_id?,\n * errors? }`, with the human message in `detail`.\n *\n * Modeled here with a tolerant Zod schema rather than DERIVED from the generated\n * types ON PURPOSE: the OpenAPI spec narrows `code` per-endpoint+status, so there\n * is no single generated \"problem body\" type to derive from — we parse the real\n * body here and surface the closed `code` union via `PostrunErrorCode`.\n */\nconst ProblemSchema = z.object({\n type: z.string().optional(),\n title: z.string().optional(),\n status: z.number().optional(),\n code: z.string().optional(),\n detail: z.string().optional(),\n // RFC 9457 calls the occurrence id `instance`; our bodies emit it as\n // `request_id`. Tolerate both, preferring `request_id`.\n request_id: z.string().optional(),\n instance: z.string().optional(),\n errors: z\n .array(z.object({ field: z.string(), code: z.string(), detail: z.string() }))\n .optional(),\n});\n\nexport type PostrunProblem = z.infer<typeof ProblemSchema>;\n\n/** One invalid field on a validation (422) failure. */\nexport type PostrunFieldError = NonNullable<PostrunProblem['errors']>[number];\n\n/** A typed error thrown by the client on a failed request. */\nexport class PostrunError extends Error {\n readonly status: number;\n /** The machine-readable code to branch on (closed union), if the body had one. */\n readonly code?: PostrunErrorCode;\n /** The request id for support/debugging (our `request_id`, or RFC `instance`). */\n readonly request_id?: string;\n /** Per-field validation problems on a 422, surfaced for convenience. */\n readonly fieldErrors: PostrunFieldError[];\n readonly problem?: PostrunProblem;\n\n constructor(status: number, rawProblem?: unknown) {\n const problem = ProblemSchema.safeParse(rawProblem).data;\n super(problem?.detail ?? problem?.title ?? `Postrun API error (${status})`);\n this.name = 'PostrunError';\n this.status = status;\n // Re-validate the body's `code` against the generated closed set so the field\n // is the typed union, not a bare string — an unknown code stays `undefined`\n // (no swallowed surprise) rather than being cast in.\n this.code = zErrorCode.safeParse(problem?.code).data;\n this.request_id = problem?.request_id ?? problem?.instance;\n this.fieldErrors = problem?.errors ?? [];\n this.problem = problem;\n }\n}\n","import { createClient, createConfig } from './client/client';\nimport type { Client } from './client/client';\nimport { PostrunError } from './errors';\n\n/**\n * The strongly-typed Postrun API client (Hey API). Pass it to any generated SDK\n * function via `{ client }`; every path, param, body, and response is inferred\n * from the OpenAPI spec, so the SDK can never drift from the live API.\n */\nexport type PostrunClient = Client;\n\nexport interface PostrunClientOptions {\n /** Override the API base URL (defaults to the production gateway). */\n baseUrl?: string;\n /**\n * Returns a valid short-lived scoped token. The host app's backend mints it\n * from a secret `pr_` key (`POST /v1/tokens`); the secret never reaches the\n * browser. Called per request — cache/refresh before `exp` inside here.\n */\n getToken: () => string | Promise<string>;\n}\n\nconst DEFAULT_BASE_URL = 'https://api.postrun.ai/v1';\n\n/** Append `key=value` (URL-encoded) for one scalar to the running parts list. */\nfunction appendScalar(parts: string[], key: string, value: unknown): void {\n parts.push(\n `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`,\n );\n}\n\n/**\n * Serialize the query string for every Postrun request, by value shape:\n *\n * - **Array** (e.g. `status`) → repeated params (`status=a&status=b`), the\n * OpenAPI `form`/`explode` form the API parses into a `.in(...)` filter. A\n * JSON-encoded array would fail the array-of-enum validation.\n * - **Object** (e.g. `metadata`) → one URL-encoded JSON blob, because the API's\n * schema runs a `JSON.parse` preprocess on it; bracket form would mean the\n * server never sees a `metadata` key and silently drops the filter.\n * - **Scalar** → the value as-is.\n *\n * Operations needing a different shape (the ads reads' `metrics`/`segments`\n * params) carry their own per-call serializer in the generated SDK, which\n * overrides this.\n */\nfunction serializeQuery(query: Record<string, unknown>): string {\n const parts: string[] = [];\n\n for (const [key, value] of Object.entries(query)) {\n if (value === undefined || value === null) {\n continue;\n }\n\n if (Array.isArray(value)) {\n for (const item of value) {\n if (item !== undefined && item !== null) {\n appendScalar(parts, key, item);\n }\n }\n } else if (typeof value === 'object') {\n appendScalar(parts, key, JSON.stringify(value));\n } else {\n appendScalar(parts, key, value);\n }\n }\n\n return parts.join('&');\n}\n\n/**\n * Construct a typed client. The browser only ever holds the scoped token —\n * `getToken` is invoked per request and its value is sent as `Bearer <token>`\n * for the spec's `bearerAuth` security scheme.\n *\n * Calls throw on failure (`throwOnError`), so SDK functions return the value\n * directly (no `{ data, error }` to unwrap) — the throw-based shape every major\n * SDK uses. The error interceptor maps the raw failure to a typed `PostrunError`\n * (status + machine `code` + RFC 9457 problem), so `catch` always gets the same\n * actionable shape.\n */\nexport function createPostrunClient(\n options: PostrunClientOptions,\n): PostrunClient {\n const client = createClient(\n createConfig({\n baseUrl: options.baseUrl ?? DEFAULT_BASE_URL,\n auth: () => options.getToken(),\n querySerializer: serializeQuery,\n throwOnError: true,\n }),\n );\n\n client.interceptors.error.use((error, response) =>\n error instanceof PostrunError\n ? error\n : new PostrunError(response?.status ?? 0, error),\n );\n\n return client;\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport { type Client, type ClientOptions, type Config, createClient, createConfig } from './client';\nimport type { ClientOptions as ClientOptions2 } from './types.gen';\n\n/**\n * The `createClientConfig()` function will be called on client initialization\n * and the returned object will become the client's initial configuration.\n *\n * You may want to initialize your client this way instead of calling\n * `setConfig()`. This is useful for example if you're using Next.js\n * to ensure your client always has the correct values.\n */\nexport type CreateClientConfig<T extends ClientOptions = ClientOptions2> = (override?: Config<ClientOptions & T>) => Config<Required<ClientOptions> & T>;\n\nexport const client: Client = createClient(createConfig<ClientOptions2>({ baseUrl: 'https://api.postrun.ai/v1', throwOnError: true }));\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { Client, ClientMeta, Options as Options2, RequestResult, TDataShape } from './client';\nimport { client } from './client.gen';\nimport type { ConnectionsConnectData, ConnectionsConnectErrors, ConnectionsConnectResponses, ConnectionsDeleteData, ConnectionsDeleteErrors, ConnectionsDeleteResponses, ConnectionsGetData, ConnectionsGetErrors, ConnectionsGetResponses, ConnectionsListAccountsData, ConnectionsListAccountsErrors, ConnectionsListAccountsResponses, ConnectionsListByProfileData, ConnectionsListByProfileErrors, ConnectionsListByProfileResponses, ConnectionsSelectData, ConnectionsSelectErrors, ConnectionsSelectResponses, GoogleCreateAdData, GoogleCreateAdErrors, GoogleCreateAdGroupData, GoogleCreateAdGroupErrors, GoogleCreateAdGroupResponses, GoogleCreateAdResponses, GoogleCreateBudgetData, GoogleCreateBudgetErrors, GoogleCreateBudgetResponses, GoogleCreateCampaignData, GoogleCreateCampaignErrors, GoogleCreateCampaignResponses, GoogleCreateConversionActionData, GoogleCreateConversionActionErrors, GoogleCreateConversionActionResponses, GoogleCreateDisplayAdData, GoogleCreateDisplayAdErrors, GoogleCreateDisplayAdResponses, GoogleCreateKeywordData, GoogleCreateKeywordErrors, GoogleCreateKeywordResponses, GoogleDeleteAdData, GoogleDeleteAdErrors, GoogleDeleteAdGroupData, GoogleDeleteAdGroupErrors, GoogleDeleteAdGroupResponses, GoogleDeleteAdResponses, GoogleDeleteBudgetData, GoogleDeleteBudgetErrors, GoogleDeleteBudgetResponses, GoogleDeleteCampaignData, GoogleDeleteCampaignErrors, GoogleDeleteCampaignResponses, GoogleDeleteKeywordData, GoogleDeleteKeywordErrors, GoogleDeleteKeywordResponses, GoogleEditAdGroupData, GoogleEditAdGroupErrors, GoogleEditAdGroupResponses, GoogleEditBudgetData, GoogleEditBudgetErrors, GoogleEditBudgetResponses, GoogleEditCampaignData, GoogleEditCampaignErrors, GoogleEditCampaignResponses, GoogleEnableAdData, GoogleEnableAdErrors, GoogleEnableAdGroupData, GoogleEnableAdGroupErrors, GoogleEnableAdGroupResponses, GoogleEnableAdResponses, GoogleEnableCampaignData, GoogleEnableCampaignErrors, GoogleEnableCampaignResponses, GoogleEnableKeywordData, GoogleEnableKeywordErrors, GoogleEnableKeywordResponses, GoogleGetAccountData, GoogleGetAccountErrors, GoogleGetAccountResponses, GoogleGetAdData, GoogleGetAdErrors, GoogleGetAdGroupData, GoogleGetAdGroupErrors, GoogleGetAdGroupResponses, GoogleGetAdResponses, GoogleGetCampaignData, GoogleGetCampaignErrors, GoogleGetCampaignResponses, GoogleGetConversionActionData, GoogleGetConversionActionErrors, GoogleGetConversionActionResponses, GoogleGetInsightsData, GoogleGetInsightsErrors, GoogleGetInsightsResponses, GoogleGetKeywordData, GoogleGetKeywordErrors, GoogleGetKeywordResponses, GoogleListAdGroupsData, GoogleListAdGroupsErrors, GoogleListAdGroupsResponses, GoogleListAdsData, GoogleListAdsErrors, GoogleListAdsResponses, GoogleListCampaignsData, GoogleListCampaignsErrors, GoogleListCampaignsResponses, GoogleListConversionActionsData, GoogleListConversionActionsErrors, GoogleListConversionActionsResponses, GoogleListConversionGoalsData, GoogleListConversionGoalsErrors, GoogleListConversionGoalsResponses, GoogleListKeywordsData, GoogleListKeywordsErrors, GoogleListKeywordsResponses, GooglePauseAdData, GooglePauseAdErrors, GooglePauseAdGroupData, GooglePauseAdGroupErrors, GooglePauseAdGroupResponses, GooglePauseAdResponses, GooglePauseCampaignData, GooglePauseCampaignErrors, GooglePauseCampaignResponses, GooglePauseKeywordData, GooglePauseKeywordErrors, GooglePauseKeywordResponses, GoogleRunGaqlData, GoogleRunGaqlErrors, GoogleRunGaqlResponses, GoogleSetAdGroupBidsData, GoogleSetAdGroupBidsErrors, GoogleSetAdGroupBidsResponses, GoogleSetConversionGoalData, GoogleSetConversionGoalErrors, GoogleSetConversionGoalResponses, GoogleSetKeywordBidData, GoogleSetKeywordBidErrors, GoogleSetKeywordBidResponses, GoogleUploadConversionsData, GoogleUploadConversionsErrors, GoogleUploadConversionsResponses, GoogleUploadImageAssetData, GoogleUploadImageAssetErrors, GoogleUploadImageAssetResponses, LogsGetData, LogsGetErrors, LogsGetResponses, LogsListData, LogsListErrors, LogsListResponses, MediaCreateData, MediaCreateErrors, MediaCreateResponses, MediaDeleteData, MediaDeleteErrors, MediaDeleteResponses, MediaGetData, MediaGetErrors, MediaGetResponses, MediaListData, MediaListErrors, MediaListResponses, MediaUpdateData, MediaUpdateErrors, MediaUpdateResponses, MetaAccountData, MetaAccountErrors, MetaAccountResponses, MetaAdData, MetaAdErrors, MetaAdResponses, MetaAdsData, MetaAdsErrors, MetaAdsetData, MetaAdsetErrors, MetaAdsetResponses, MetaAdsetsData, MetaAdsetsErrors, MetaAdsetsResponses, MetaAdsResponses, MetaCampaignData, MetaCampaignErrors, MetaCampaignResponses, MetaCampaignsData, MetaCampaignsErrors, MetaCampaignsResponses, MetaInsightsData, MetaInsightsErrors, MetaInsightsResponses, PostsCreateData, PostsCreateErrors, PostsCreateResponses, PostsDeleteData, PostsDeleteErrors, PostsDeleteResponses, PostsGetData, PostsGetErrors, PostsGetResponses, PostsListData, PostsListErrors, PostsListResponses, PostsUpdateData, PostsUpdateErrors, PostsUpdateResponses, PostsValidateData, PostsValidateErrors, PostsValidateResponses, ProfilesCreateData, ProfilesCreateErrors, ProfilesCreateResponses, ProfilesDeleteData, ProfilesDeleteErrors, ProfilesDeleteResponses, ProfilesGetData, ProfilesGetErrors, ProfilesGetResponses, ProfilesListData, ProfilesListErrors, ProfilesListResponses, ProfilesUpdateData, ProfilesUpdateErrors, ProfilesUpdateResponses, TokensMintData, TokensMintErrors, TokensMintResponses, WebhooksCreateEndpointData, WebhooksCreateEndpointErrors, WebhooksCreateEndpointResponses, WebhooksCreatePortalData, WebhooksCreatePortalErrors, WebhooksCreatePortalResponses, WebhooksDeleteEndpointData, WebhooksDeleteEndpointErrors, WebhooksDeleteEndpointResponses, WebhooksGetEndpointData, WebhooksGetEndpointErrors, WebhooksGetEndpointResponses, WebhooksListEndpointsData, WebhooksListEndpointsErrors, WebhooksListEndpointsResponses, WebhooksListEventTypesData, WebhooksListEventTypesErrors, WebhooksListEventTypesResponses, WebhooksPingData, WebhooksPingErrors, WebhooksPingResponses, WebhooksUpdateEndpointData, WebhooksUpdateEndpointErrors, WebhooksUpdateEndpointResponses } from './types.gen';\n\nexport type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean, TResponse = unknown> = Options2<TData, ThrowOnError, TResponse> & {\n /**\n * You can provide a client instance returned by `createClient()` instead of\n * individual options. This might be also useful if you want to implement a\n * custom client.\n */\n client?: Client;\n /**\n * You can pass arbitrary values through the `meta` object. This can be\n * used to access values that aren't defined as part of the SDK function.\n */\n meta?: keyof ClientMeta extends never ? Record<string, unknown> : ClientMeta;\n};\n\n/**\n * List profiles\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `profiles:read` (the response is limited to the profiles the token is scoped to).\n *\n * Lists the profiles under your account, newest first.\n */\nexport const profilesList = <ThrowOnError extends boolean = true>(options?: Options<ProfilesListData, ThrowOnError>): RequestResult<ProfilesListResponses, ProfilesListErrors, ThrowOnError> => (options?.client ?? client).get<ProfilesListResponses, ProfilesListErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/profiles',\n ...options\n});\n\n/**\n * Create a profile\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `profiles:write` with account-wide profile scope (`all`); a profile-scoped token cannot create.\n *\n * Creates a profile — a client/brand workspace under your account, and the unit connections attach to.\n */\nexport const profilesCreate = <ThrowOnError extends boolean = true>(options: Options<ProfilesCreateData, ThrowOnError>): RequestResult<ProfilesCreateResponses, ProfilesCreateErrors, ThrowOnError> => (options.client ?? client).post<ProfilesCreateResponses, ProfilesCreateErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/profiles',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete a profile\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `profiles:write` scoped to the target profile.\n *\n * Deletes a profile. The profile must have no connections — delete its connections first (and a connection in turn cannot be deleted while a post still publishes through it).\n */\nexport const profilesDelete = <ThrowOnError extends boolean = true>(options: Options<ProfilesDeleteData, ThrowOnError>): RequestResult<ProfilesDeleteResponses, ProfilesDeleteErrors, ThrowOnError> => (options.client ?? client).delete<ProfilesDeleteResponses, ProfilesDeleteErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/profiles/{id}',\n ...options\n});\n\n/**\n * Retrieve a profile\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `profiles:read` scoped to the target profile.\n *\n * Retrieves a single profile by id.\n */\nexport const profilesGet = <ThrowOnError extends boolean = true>(options: Options<ProfilesGetData, ThrowOnError>): RequestResult<ProfilesGetResponses, ProfilesGetErrors, ThrowOnError> => (options.client ?? client).get<ProfilesGetResponses, ProfilesGetErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/profiles/{id}',\n ...options\n});\n\n/**\n * Update a profile\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `profiles:write` scoped to the target profile.\n *\n * Updates a profile. Send only the fields you want to change; provide at least one.\n */\nexport const profilesUpdate = <ThrowOnError extends boolean = true>(options: Options<ProfilesUpdateData, ThrowOnError>): RequestResult<ProfilesUpdateResponses, ProfilesUpdateErrors, ThrowOnError> => (options.client ?? client).patch<ProfilesUpdateResponses, ProfilesUpdateErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/profiles/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List a profile's connections\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `connections:read` scoped to the target profile.\n *\n * Lists the external accounts connected to a profile, most recent first. Returns 404 if the profile doesn't exist in your account.\n */\nexport const connectionsListByProfile = <ThrowOnError extends boolean = true>(options: Options<ConnectionsListByProfileData, ThrowOnError>): RequestResult<ConnectionsListByProfileResponses, ConnectionsListByProfileErrors, ThrowOnError> => (options.client ?? client).get<ConnectionsListByProfileResponses, ConnectionsListByProfileErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/profiles/{id}/connections',\n ...options\n});\n\n/**\n * Delete a connection\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `connections:write` scoped to the profile that owns the connection.\n *\n * Deletes a connection. Returns a deletion marker; returns 404 if it does not exist in your account, and 409 if one or more posts still publish through it (delete those posts first).\n */\nexport const connectionsDelete = <ThrowOnError extends boolean = true>(options: Options<ConnectionsDeleteData, ThrowOnError>): RequestResult<ConnectionsDeleteResponses, ConnectionsDeleteErrors, ThrowOnError> => (options.client ?? client).delete<ConnectionsDeleteResponses, ConnectionsDeleteErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/connections/{id}',\n ...options\n});\n\n/**\n * Retrieve a connection\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `connections:read` scoped to the profile that owns the connection.\n *\n * Retrieves a single connection by id.\n */\nexport const connectionsGet = <ThrowOnError extends boolean = true>(options: Options<ConnectionsGetData, ThrowOnError>): RequestResult<ConnectionsGetResponses, ConnectionsGetErrors, ThrowOnError> => (options.client ?? client).get<ConnectionsGetResponses, ConnectionsGetErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/connections/{id}',\n ...options\n});\n\n/**\n * Select a connection account\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `connections:write` scoped to the profile that owns the connection.\n *\n * Activates a pending connection by choosing which external account (e.g. which Meta ad account) it uses. The account must be one reachable through the connection’s OAuth grant; its canonical name + currency are resolved server-side from discovery, so the stored display values can’t be spoofed by the caller.\n */\nexport const connectionsSelect = <ThrowOnError extends boolean = true>(options: Options<ConnectionsSelectData, ThrowOnError>): RequestResult<ConnectionsSelectResponses, ConnectionsSelectErrors, ThrowOnError> => (options.client ?? client).patch<ConnectionsSelectResponses, ConnectionsSelectErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/connections/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List a connection’s discoverable accounts\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `connections:read` scoped to the profile that owns the connection.\n *\n * Lists the external ad accounts reachable through this connection’s OAuth grant — the picker shown after OAuth, while the connection is still pending account selection. Returns 404 if the connection does not exist in your account, and 501 if account discovery is not yet supported for the connection’s platform.\n */\nexport const connectionsListAccounts = <ThrowOnError extends boolean = true>(options: Options<ConnectionsListAccountsData, ThrowOnError>): RequestResult<ConnectionsListAccountsResponses, ConnectionsListAccountsErrors, ThrowOnError> => (options.client ?? client).get<ConnectionsListAccountsResponses, ConnectionsListAccountsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/connections/{id}/accounts',\n ...options\n});\n\n/**\n * Connect a platform account\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `connections:write` scoped to the target profile.\n *\n * Starts an OAuth connect flow for a platform on this profile. Returns a short-lived session the client uses to authorize; the connection is created once authorization succeeds.\n */\nexport const connectionsConnect = <ThrowOnError extends boolean = true>(options: Options<ConnectionsConnectData, ThrowOnError>): RequestResult<ConnectionsConnectResponses, ConnectionsConnectErrors, ThrowOnError> => (options.client ?? client).post<ConnectionsConnectResponses, ConnectionsConnectErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/profiles/{id}/connect',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List media\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `media:read` (the response is limited to the profiles the token is scoped to).\n *\n * Lists the media assets under your account, newest first. Filter by profile, status, kind, your own external_id, or metadata.\n */\nexport const mediaList = <ThrowOnError extends boolean = true>(options?: Options<MediaListData, ThrowOnError>): RequestResult<MediaListResponses, MediaListErrors, ThrowOnError> => (options?.client ?? client).get<MediaListResponses, MediaListErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/media',\n ...options\n});\n\n/**\n * Upload media\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `media:write` scoped to the target profile.\n *\n * Creates a media asset. Two ways to supply the bytes: (1) omit `source_url` and PUT the bytes to the returned signed upload target (the direct-upload path; `upload` is non-null), or (2) supply a public `https` `source_url` and we fetch the bytes server-side, validate, transform, and store them (the import path; `upload` is null). Either way the asset settles through the same probe/transform flow.\n */\nexport const mediaCreate = <ThrowOnError extends boolean = true>(options: Options<MediaCreateData, ThrowOnError>): RequestResult<MediaCreateResponses, MediaCreateErrors, ThrowOnError> => (options.client ?? client).post<MediaCreateResponses, MediaCreateErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/media',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete media\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `media:write` scoped to the profile that owns the media asset.\n *\n * Deletes a media asset and its stored renditions.\n */\nexport const mediaDelete = <ThrowOnError extends boolean = true>(options: Options<MediaDeleteData, ThrowOnError>): RequestResult<MediaDeleteResponses, MediaDeleteErrors, ThrowOnError> => (options.client ?? client).delete<MediaDeleteResponses, MediaDeleteErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/media/{id}',\n ...options\n});\n\n/**\n * Retrieve media\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `media:read` scoped to the profile that owns the media asset.\n *\n * Retrieves a media asset, including its per-platform processing status and renditions.\n */\nexport const mediaGet = <ThrowOnError extends boolean = true>(options: Options<MediaGetData, ThrowOnError>): RequestResult<MediaGetResponses, MediaGetErrors, ThrowOnError> => (options.client ?? client).get<MediaGetResponses, MediaGetErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/media/{id}',\n ...options\n});\n\n/**\n * Update media\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `media:write` scoped to the profile that owns the media asset.\n *\n * Updates a media asset (alt text, metadata, external_id) or adds `targets` to pre-warm more platforms. Send only the fields to change.\n */\nexport const mediaUpdate = <ThrowOnError extends boolean = true>(options: Options<MediaUpdateData, ThrowOnError>): RequestResult<MediaUpdateResponses, MediaUpdateErrors, ThrowOnError> => (options.client ?? client).patch<MediaUpdateResponses, MediaUpdateErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/media/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List posts\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `posts:read` (the response is limited to the profiles the token is scoped to).\n *\n * Lists the posts under your account, newest first. Filter by profile or your own external_id.\n */\nexport const postsList = <ThrowOnError extends boolean = true>(options?: Options<PostsListData, ThrowOnError>): RequestResult<PostsListResponses, PostsListErrors, ThrowOnError> => (options?.client ?? client).get<PostsListResponses, PostsListErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/posts',\n ...options\n});\n\n/**\n * Create a post\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `posts:write` scoped to the target profile.\n *\n * Composes a post + its per-channel variants. `publish` decides the outcome: `now` publishes immediately, `schedule` publishes at `schedule_at`, `draft` just stores it.\n */\nexport const postsCreate = <ThrowOnError extends boolean = true>(options: Options<PostsCreateData, ThrowOnError>): RequestResult<PostsCreateResponses, PostsCreateErrors, ThrowOnError> => (options.client ?? client).post<PostsCreateResponses, PostsCreateErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/posts',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete a post\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `posts:write` scoped to the profile that owns the post.\n *\n * Deletes a post and its variants. Returns a deletion marker; 404 if it does not exist in your account. Already-published posts are not retracted from the platform.\n */\nexport const postsDelete = <ThrowOnError extends boolean = true>(options: Options<PostsDeleteData, ThrowOnError>): RequestResult<PostsDeleteResponses, PostsDeleteErrors, ThrowOnError> => (options.client ?? client).delete<PostsDeleteResponses, PostsDeleteErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/posts/{id}',\n ...options\n});\n\n/**\n * Retrieve a post\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `posts:read` scoped to the profile that owns the post.\n *\n * Retrieves a single post by id, including its per-channel variants and their derived status.\n */\nexport const postsGet = <ThrowOnError extends boolean = true>(options: Options<PostsGetData, ThrowOnError>): RequestResult<PostsGetResponses, PostsGetErrors, ThrowOnError> => (options.client ?? client).get<PostsGetResponses, PostsGetErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/posts/{id}',\n ...options\n});\n\n/**\n * Update a post\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `posts:write` scoped to the profile that owns the post.\n *\n * Edits a post and/or transitions its publish state (`draft` / `schedule` / `now`). Valid only while the post is draft or scheduled. Send only the fields to change; providing `variants` replaces the whole set.\n */\nexport const postsUpdate = <ThrowOnError extends boolean = true>(options: Options<PostsUpdateData, ThrowOnError>): RequestResult<PostsUpdateResponses, PostsUpdateErrors, ThrowOnError> => (options.client ?? client).patch<PostsUpdateResponses, PostsUpdateErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/posts/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Validate a post\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `posts:read` scoped to the target profile.\n *\n * Runs the exact ownership + publish-readiness checks the create path runs under dry_run, with no side effects. Returns a per-issue verdict (`publishable` + `issues[]`) on 200; a reference to a connection/media outside the profile is a typed 422.\n */\nexport const postsValidate = <ThrowOnError extends boolean = true>(options: Options<PostsValidateData, ThrowOnError>): RequestResult<PostsValidateResponses, PostsValidateErrors, ThrowOnError> => (options.client ?? client).post<PostsValidateResponses, PostsValidateErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/posts/validate',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Retrieve the Meta ad account\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Retrieves the Meta ad account this connection is linked to — name, currency, status, and spend. Monetary fields are in the account currency’s minor units.\n */\nexport const metaAccount = <ThrowOnError extends boolean = true>(options: Options<MetaAccountData, ThrowOnError>): RequestResult<MetaAccountResponses, MetaAccountErrors, ThrowOnError> => (options.client ?? client).get<MetaAccountResponses, MetaAccountErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/meta/{connection_id}/account',\n ...options\n});\n\n/**\n * Retrieve Meta ad insights\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Retrieves performance insights for the connection’s Meta ad account, aggregated at the chosen `level` over a date window. Metric values are strings, in the account currency’s units.\n */\nexport const metaInsights = <ThrowOnError extends boolean = true>(options: Options<MetaInsightsData, ThrowOnError>): RequestResult<MetaInsightsResponses, MetaInsightsErrors, ThrowOnError> => (options.client ?? client).get<MetaInsightsResponses, MetaInsightsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/meta/{connection_id}/insights',\n ...options\n});\n\n/**\n * List Meta campaigns\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Lists the campaigns under the connection’s Meta ad account, with each campaign’s status, objective, and budgets (budgets in the account currency’s minor units).\n */\nexport const metaCampaigns = <ThrowOnError extends boolean = true>(options: Options<MetaCampaignsData, ThrowOnError>): RequestResult<MetaCampaignsResponses, MetaCampaignsErrors, ThrowOnError> => (options.client ?? client).get<MetaCampaignsResponses, MetaCampaignsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/meta/{connection_id}/campaigns',\n ...options\n});\n\n/**\n * Retrieve a Meta campaign\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Retrieves a single campaign under the connection’s Meta ad account by its campaign id — status, objective, and budgets.\n */\nexport const metaCampaign = <ThrowOnError extends boolean = true>(options: Options<MetaCampaignData, ThrowOnError>): RequestResult<MetaCampaignResponses, MetaCampaignErrors, ThrowOnError> => (options.client ?? client).get<MetaCampaignResponses, MetaCampaignErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/meta/{connection_id}/campaigns/{campaign_id}',\n ...options\n});\n\n/**\n * List Meta ad sets\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Lists the ad sets under the connection’s Meta ad account, with each ad set’s status, parent campaign, budgets, and optimization (budgets in the account currency’s minor units).\n */\nexport const metaAdsets = <ThrowOnError extends boolean = true>(options: Options<MetaAdsetsData, ThrowOnError>): RequestResult<MetaAdsetsResponses, MetaAdsetsErrors, ThrowOnError> => (options.client ?? client).get<MetaAdsetsResponses, MetaAdsetsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/meta/{connection_id}/adsets',\n ...options\n});\n\n/**\n * Retrieve a Meta ad set\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Retrieves a single ad set under the connection’s Meta ad account by its ad set id — status, parent campaign, budgets, and optimization.\n */\nexport const metaAdset = <ThrowOnError extends boolean = true>(options: Options<MetaAdsetData, ThrowOnError>): RequestResult<MetaAdsetResponses, MetaAdsetErrors, ThrowOnError> => (options.client ?? client).get<MetaAdsetResponses, MetaAdsetErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/meta/{connection_id}/adsets/{adset_id}',\n ...options\n});\n\n/**\n * List Meta ads\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Lists the ads under the connection’s Meta ad account, with each ad’s status, parent ad set and campaign ids, and timestamps.\n */\nexport const metaAds = <ThrowOnError extends boolean = true>(options: Options<MetaAdsData, ThrowOnError>): RequestResult<MetaAdsResponses, MetaAdsErrors, ThrowOnError> => (options.client ?? client).get<MetaAdsResponses, MetaAdsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/meta/{connection_id}/ads',\n ...options\n});\n\n/**\n * Retrieve a Meta ad\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Retrieves a single ad under the connection’s Meta ad account by its ad id — status, parent ad set and campaign ids, and timestamps.\n */\nexport const metaAd = <ThrowOnError extends boolean = true>(options: Options<MetaAdData, ThrowOnError>): RequestResult<MetaAdResponses, MetaAdErrors, ThrowOnError> => (options.client ?? client).get<MetaAdResponses, MetaAdErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/meta/{connection_id}/ads/{ad_id}',\n ...options\n});\n\n/**\n * Retrieve the connected Google Ads account\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Returns the Google Ads account (the `customer` resource) backing this connection — id, descriptive name, currency, time zone, status, and whether it is a manager (MCC) or test account.\n */\nexport const googleGetAccount = <ThrowOnError extends boolean = true>(options: Options<GoogleGetAccountData, ThrowOnError>): RequestResult<GoogleGetAccountResponses, GoogleGetAccountErrors, ThrowOnError> => (options.client ?? client).get<GoogleGetAccountResponses, GoogleGetAccountErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/account',\n ...options\n});\n\n/**\n * Google Ads performance insights\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Performance metrics for the connection’s account, at a chosen level (account / campaign / ad group), for a date range, with optional breakdowns. The flagship cross-checked read; use `/gaql` for anything outside this shape.\n */\nexport const googleGetInsights = <ThrowOnError extends boolean = true>(options: Options<GoogleGetInsightsData, ThrowOnError>): RequestResult<GoogleGetInsightsResponses, GoogleGetInsightsErrors, ThrowOnError> => (options.client ?? client).post<GoogleGetInsightsResponses, GoogleGetInsightsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/insights',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Run a raw GAQL query\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Runs a raw Google Ads Query Language (GAQL) query against the connection’s account and returns the native rows. Read-only (GAQL only does `SELECT`). The power-user escape hatch beneath the typed reads.\n */\nexport const googleRunGaql = <ThrowOnError extends boolean = true>(options: Options<GoogleRunGaqlData, ThrowOnError>): RequestResult<GoogleRunGaqlResponses, GoogleRunGaqlErrors, ThrowOnError> => (options.client ?? client).post<GoogleRunGaqlResponses, GoogleRunGaqlErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/gaql',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Create a Google Ads campaign budget\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Creates a standalone daily campaign budget (the `campaign_budget` resource) on the connection’s account. Money write — secret-key-only. Pass `dry_run: true` to validate against Google without creating. Returns the new resource id + resource_name to chain into a campaign.\n */\nexport const googleCreateBudget = <ThrowOnError extends boolean = true>(options: Options<GoogleCreateBudgetData, ThrowOnError>): RequestResult<GoogleCreateBudgetResponses, GoogleCreateBudgetErrors, ThrowOnError> => (options.client ?? client).post<GoogleCreateBudgetResponses, GoogleCreateBudgetErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/budgets',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete a Google Ads campaign budget\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Removes a campaign budget by numeric id (Google’s native remove). Pass `dry_run: true` to validate the removal against Google without applying it.\n */\nexport const googleDeleteBudget = <ThrowOnError extends boolean = true>(options: Options<GoogleDeleteBudgetData, ThrowOnError>): RequestResult<GoogleDeleteBudgetResponses, GoogleDeleteBudgetErrors, ThrowOnError> => (options.client ?? client).delete<GoogleDeleteBudgetResponses, GoogleDeleteBudgetErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/budgets/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Edit a Google Ads campaign budget\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Updates a budget’s daily amount (in micros) by numeric id. Money write — secret-key-only. Pass `dry_run: true` to validate against Google without applying.\n */\nexport const googleEditBudget = <ThrowOnError extends boolean = true>(options: Options<GoogleEditBudgetData, ThrowOnError>): RequestResult<GoogleEditBudgetResponses, GoogleEditBudgetErrors, ThrowOnError> => (options.client ?? client).patch<GoogleEditBudgetResponses, GoogleEditBudgetErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/budgets/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List Google Ads campaigns\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Returns the campaigns (the `campaign` resource) on the connection’s account — id, name, status, advertising channel type, and bidding strategy type.\n */\nexport const googleListCampaigns = <ThrowOnError extends boolean = true>(options: Options<GoogleListCampaignsData, ThrowOnError>): RequestResult<GoogleListCampaignsResponses, GoogleListCampaignsErrors, ThrowOnError> => (options.client ?? client).get<GoogleListCampaignsResponses, GoogleListCampaignsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/campaigns',\n ...options\n});\n\n/**\n * Create a Google Ads campaign\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Creates a Search or Display campaign (the `campaign` resource) on the connection’s account, attached to an existing budget. Pass `dry_run: true` to validate against Google without creating. Returns the new resource id + resource_name.\n */\nexport const googleCreateCampaign = <ThrowOnError extends boolean = true>(options: Options<GoogleCreateCampaignData, ThrowOnError>): RequestResult<GoogleCreateCampaignResponses, GoogleCreateCampaignErrors, ThrowOnError> => (options.client ?? client).post<GoogleCreateCampaignResponses, GoogleCreateCampaignErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/campaigns',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete a Google Ads campaign\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Removes a campaign by numeric id (Google’s native remove). Pass `dry_run: true` to validate the removal against Google without applying it.\n */\nexport const googleDeleteCampaign = <ThrowOnError extends boolean = true>(options: Options<GoogleDeleteCampaignData, ThrowOnError>): RequestResult<GoogleDeleteCampaignResponses, GoogleDeleteCampaignErrors, ThrowOnError> => (options.client ?? client).delete<GoogleDeleteCampaignResponses, GoogleDeleteCampaignErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/campaigns/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Retrieve a Google Ads campaign\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Returns a single campaign (the `campaign` resource) by its numeric id on the connection’s account — id, name, status, advertising channel type, and bidding strategy type.\n */\nexport const googleGetCampaign = <ThrowOnError extends boolean = true>(options: Options<GoogleGetCampaignData, ThrowOnError>): RequestResult<GoogleGetCampaignResponses, GoogleGetCampaignErrors, ThrowOnError> => (options.client ?? client).get<GoogleGetCampaignResponses, GoogleGetCampaignErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/campaigns/{id}',\n ...options\n});\n\n/**\n * Edit a Google Ads campaign\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Updates a campaign’s non-money fields (its name) by numeric id. Status has its own pause/enable endpoints; bids are a separate money write. Pass `dry_run: true` to validate against Google without applying.\n */\nexport const googleEditCampaign = <ThrowOnError extends boolean = true>(options: Options<GoogleEditCampaignData, ThrowOnError>): RequestResult<GoogleEditCampaignResponses, GoogleEditCampaignErrors, ThrowOnError> => (options.client ?? client).patch<GoogleEditCampaignResponses, GoogleEditCampaignErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/campaigns/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Pause a Google Ads campaign\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Pauses a campaign by its numeric id (reversible). Pass `dry_run: true` to preview without applying. Returns the new status and whether it executed.\n */\nexport const googlePauseCampaign = <ThrowOnError extends boolean = true>(options: Options<GooglePauseCampaignData, ThrowOnError>): RequestResult<GooglePauseCampaignResponses, GooglePauseCampaignErrors, ThrowOnError> => (options.client ?? client).post<GooglePauseCampaignResponses, GooglePauseCampaignErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/campaigns/{id}/pause',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Enable a Google Ads campaign\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Enables (resumes) a campaign by its numeric id. Pass `dry_run: true` to preview without applying. Returns the new status and whether it executed.\n */\nexport const googleEnableCampaign = <ThrowOnError extends boolean = true>(options: Options<GoogleEnableCampaignData, ThrowOnError>): RequestResult<GoogleEnableCampaignResponses, GoogleEnableCampaignErrors, ThrowOnError> => (options.client ?? client).post<GoogleEnableCampaignResponses, GoogleEnableCampaignErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/campaigns/{id}/enable',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List Google Ads ad groups\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Lists the ad groups (Google’s equivalent of an ad set) in the Google Ads account backing this connection — id, name, status, type, and parent campaign.\n */\nexport const googleListAdGroups = <ThrowOnError extends boolean = true>(options: Options<GoogleListAdGroupsData, ThrowOnError>): RequestResult<GoogleListAdGroupsResponses, GoogleListAdGroupsErrors, ThrowOnError> => (options.client ?? client).get<GoogleListAdGroupsResponses, GoogleListAdGroupsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ad-groups',\n ...options\n});\n\n/**\n * Create a Google Ads ad group\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Creates an ad group (the `ad_group` resource) under a campaign on the connection’s account. Pass `dry_run: true` to validate against Google without creating. Returns the new resource id + resource_name to chain into ads and keywords.\n */\nexport const googleCreateAdGroup = <ThrowOnError extends boolean = true>(options: Options<GoogleCreateAdGroupData, ThrowOnError>): RequestResult<GoogleCreateAdGroupResponses, GoogleCreateAdGroupErrors, ThrowOnError> => (options.client ?? client).post<GoogleCreateAdGroupResponses, GoogleCreateAdGroupErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ad-groups',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete a Google Ads ad group\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Removes an ad group by numeric id (Google’s native remove). Pass `dry_run: true` to validate the removal against Google without applying it.\n */\nexport const googleDeleteAdGroup = <ThrowOnError extends boolean = true>(options: Options<GoogleDeleteAdGroupData, ThrowOnError>): RequestResult<GoogleDeleteAdGroupResponses, GoogleDeleteAdGroupErrors, ThrowOnError> => (options.client ?? client).delete<GoogleDeleteAdGroupResponses, GoogleDeleteAdGroupErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ad-groups/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Retrieve a Google Ads ad group\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Returns a single ad group by its numeric id from the Google Ads account backing this connection — id, name, status, type, and parent campaign.\n */\nexport const googleGetAdGroup = <ThrowOnError extends boolean = true>(options: Options<GoogleGetAdGroupData, ThrowOnError>): RequestResult<GoogleGetAdGroupResponses, GoogleGetAdGroupErrors, ThrowOnError> => (options.client ?? client).get<GoogleGetAdGroupResponses, GoogleGetAdGroupErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ad-groups/{id}',\n ...options\n});\n\n/**\n * Edit a Google Ads ad group\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Updates an ad group’s non-money fields (its name) by numeric id. Status has its own pause/enable endpoints; bids are a separate money write. Pass `dry_run: true` to validate without applying.\n */\nexport const googleEditAdGroup = <ThrowOnError extends boolean = true>(options: Options<GoogleEditAdGroupData, ThrowOnError>): RequestResult<GoogleEditAdGroupResponses, GoogleEditAdGroupErrors, ThrowOnError> => (options.client ?? client).patch<GoogleEditAdGroupResponses, GoogleEditAdGroupErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ad-groups/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Set a Google Ads ad group’s bids\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Sets an ad group’s manual bids (cpc/cpm/target CPA in micros, target ROAS as a ratio) by numeric id. Money write — secret-key-only. Pass `dry_run: true` to validate without applying.\n */\nexport const googleSetAdGroupBids = <ThrowOnError extends boolean = true>(options: Options<GoogleSetAdGroupBidsData, ThrowOnError>): RequestResult<GoogleSetAdGroupBidsResponses, GoogleSetAdGroupBidsErrors, ThrowOnError> => (options.client ?? client).patch<GoogleSetAdGroupBidsResponses, GoogleSetAdGroupBidsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ad-groups/{id}/bids',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Pause a Google Ads ad group\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Pauses an ad group by its numeric id (reversible). Pass `dry_run: true` to preview without applying. Returns the new status and whether it executed.\n */\nexport const googlePauseAdGroup = <ThrowOnError extends boolean = true>(options: Options<GooglePauseAdGroupData, ThrowOnError>): RequestResult<GooglePauseAdGroupResponses, GooglePauseAdGroupErrors, ThrowOnError> => (options.client ?? client).post<GooglePauseAdGroupResponses, GooglePauseAdGroupErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ad-groups/{id}/pause',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Enable a Google Ads ad group\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Enables (resumes) an ad group by its numeric id. Pass `dry_run: true` to preview without applying. Returns the new status and whether it executed.\n */\nexport const googleEnableAdGroup = <ThrowOnError extends boolean = true>(options: Options<GoogleEnableAdGroupData, ThrowOnError>): RequestResult<GoogleEnableAdGroupResponses, GoogleEnableAdGroupErrors, ThrowOnError> => (options.client ?? client).post<GoogleEnableAdGroupResponses, GoogleEnableAdGroupErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ad-groups/{id}/enable',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List Google Ads ads\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Returns the ads (the `ad_group_ad` resource) on the connection’s account — id, name, creative type, serving status, and the owning ad group.\n */\nexport const googleListAds = <ThrowOnError extends boolean = true>(options: Options<GoogleListAdsData, ThrowOnError>): RequestResult<GoogleListAdsResponses, GoogleListAdsErrors, ThrowOnError> => (options.client ?? client).get<GoogleListAdsResponses, GoogleListAdsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ads',\n ...options\n});\n\n/**\n * Create a Google Ads responsive search ad\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Creates a Responsive Search Ad (the `ad_group_ad` resource, inline text — no image assets) under an ad group on the connection’s account. Pass `dry_run: true` to validate against Google without creating. Returns the new resource id + resource_name.\n */\nexport const googleCreateAd = <ThrowOnError extends boolean = true>(options: Options<GoogleCreateAdData, ThrowOnError>): RequestResult<GoogleCreateAdResponses, GoogleCreateAdErrors, ThrowOnError> => (options.client ?? client).post<GoogleCreateAdResponses, GoogleCreateAdErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ads',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete a Google Ads ad\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Removes an ad (an `ad_group_ad`) by its numeric id (Google’s native remove). Pass `dry_run: true` to validate the removal against Google without applying it.\n */\nexport const googleDeleteAd = <ThrowOnError extends boolean = true>(options: Options<GoogleDeleteAdData, ThrowOnError>): RequestResult<GoogleDeleteAdResponses, GoogleDeleteAdErrors, ThrowOnError> => (options.client ?? client).delete<GoogleDeleteAdResponses, GoogleDeleteAdErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ads/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Retrieve a Google Ads ad\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Returns a single ad (the `ad_group_ad` resource) by its numeric id on the connection’s account — id, name, creative type, serving status, and the owning ad group.\n */\nexport const googleGetAd = <ThrowOnError extends boolean = true>(options: Options<GoogleGetAdData, ThrowOnError>): RequestResult<GoogleGetAdResponses, GoogleGetAdErrors, ThrowOnError> => (options.client ?? client).get<GoogleGetAdResponses, GoogleGetAdErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ads/{id}',\n ...options\n});\n\n/**\n * Create a Google Ads responsive display ad\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Creates a Responsive Display Ad (the `ad_group_ad` resource) under a Display ad group on the connection’s account, assembled from already-uploaded image-asset resource_names (upload them first via POST /v1/google/{connection_id}/assets). Pass `dry_run: true` to validate against Google without creating. Returns the new resource id + resource_name.\n */\nexport const googleCreateDisplayAd = <ThrowOnError extends boolean = true>(options: Options<GoogleCreateDisplayAdData, ThrowOnError>): RequestResult<GoogleCreateDisplayAdResponses, GoogleCreateDisplayAdErrors, ThrowOnError> => (options.client ?? client).post<GoogleCreateDisplayAdResponses, GoogleCreateDisplayAdErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/display-ads',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Pause a Google Ads ad\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Pauses an ad by its numeric id (reversible). Pass `dry_run: true` to preview without applying. Returns the new status and whether it executed.\n */\nexport const googlePauseAd = <ThrowOnError extends boolean = true>(options: Options<GooglePauseAdData, ThrowOnError>): RequestResult<GooglePauseAdResponses, GooglePauseAdErrors, ThrowOnError> => (options.client ?? client).post<GooglePauseAdResponses, GooglePauseAdErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ads/{id}/pause',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Enable a Google Ads ad\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Enables (resumes) an ad by its numeric id. Pass `dry_run: true` to preview without applying. Returns the new status and whether it executed.\n */\nexport const googleEnableAd = <ThrowOnError extends boolean = true>(options: Options<GoogleEnableAdData, ThrowOnError>): RequestResult<GoogleEnableAdResponses, GoogleEnableAdErrors, ThrowOnError> => (options.client ?? client).post<GoogleEnableAdResponses, GoogleEnableAdErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ads/{id}/enable',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List Google Ads keywords\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Lists the keywords (`ad_group_criterion` of type KEYWORD) in the connection’s account — each with its criterion id, text, match type, status, negative flag, and owning ad group.\n */\nexport const googleListKeywords = <ThrowOnError extends boolean = true>(options: Options<GoogleListKeywordsData, ThrowOnError>): RequestResult<GoogleListKeywordsResponses, GoogleListKeywordsErrors, ThrowOnError> => (options.client ?? client).get<GoogleListKeywordsResponses, GoogleListKeywordsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/keywords',\n ...options\n});\n\n/**\n * Create a Google Ads keyword\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Creates a keyword (an `ad_group_criterion` of type KEYWORD) under an ad group on the connection’s account. Pass `dry_run: true` to validate against Google without creating. Returns the new resource id + resource_name.\n */\nexport const googleCreateKeyword = <ThrowOnError extends boolean = true>(options: Options<GoogleCreateKeywordData, ThrowOnError>): RequestResult<GoogleCreateKeywordResponses, GoogleCreateKeywordErrors, ThrowOnError> => (options.client ?? client).post<GoogleCreateKeywordResponses, GoogleCreateKeywordErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/keywords',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete a Google Ads keyword\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Removes a keyword (an `ad_group_criterion`) by its criterion id (Google’s native remove). Pass `dry_run: true` to validate the removal against Google without applying it.\n */\nexport const googleDeleteKeyword = <ThrowOnError extends boolean = true>(options: Options<GoogleDeleteKeywordData, ThrowOnError>): RequestResult<GoogleDeleteKeywordResponses, GoogleDeleteKeywordErrors, ThrowOnError> => (options.client ?? client).delete<GoogleDeleteKeywordResponses, GoogleDeleteKeywordErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/keywords/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Retrieve a Google Ads keyword\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Returns one keyword (`ad_group_criterion` of type KEYWORD) by its criterion id, from the connection’s account — text, match type, status, negative flag, and owning ad group.\n */\nexport const googleGetKeyword = <ThrowOnError extends boolean = true>(options: Options<GoogleGetKeywordData, ThrowOnError>): RequestResult<GoogleGetKeywordResponses, GoogleGetKeywordErrors, ThrowOnError> => (options.client ?? client).get<GoogleGetKeywordResponses, GoogleGetKeywordErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/keywords/{id}',\n ...options\n});\n\n/**\n * Set a Google Ads keyword’s bid\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Sets a keyword’s manual CPC bid (in micros) by criterion id. Money write — secret-key-only. Pass `dry_run: true` to validate without applying.\n */\nexport const googleSetKeywordBid = <ThrowOnError extends boolean = true>(options: Options<GoogleSetKeywordBidData, ThrowOnError>): RequestResult<GoogleSetKeywordBidResponses, GoogleSetKeywordBidErrors, ThrowOnError> => (options.client ?? client).patch<GoogleSetKeywordBidResponses, GoogleSetKeywordBidErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/keywords/{id}/bid',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Pause a Google Ads keyword\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Pauses a keyword (`ad_group_criterion`) by its criterion id (reversible). Pass `dry_run: true` to preview without applying. Returns the new status and whether it executed.\n */\nexport const googlePauseKeyword = <ThrowOnError extends boolean = true>(options: Options<GooglePauseKeywordData, ThrowOnError>): RequestResult<GooglePauseKeywordResponses, GooglePauseKeywordErrors, ThrowOnError> => (options.client ?? client).post<GooglePauseKeywordResponses, GooglePauseKeywordErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/keywords/{id}/pause',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Enable a Google Ads keyword\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Enables (resumes) a keyword (`ad_group_criterion`) by its criterion id. Pass `dry_run: true` to preview without applying. Returns the new status and whether it executed.\n */\nexport const googleEnableKeyword = <ThrowOnError extends boolean = true>(options: Options<GoogleEnableKeywordData, ThrowOnError>): RequestResult<GoogleEnableKeywordResponses, GoogleEnableKeywordErrors, ThrowOnError> => (options.client ?? client).post<GoogleEnableKeywordResponses, GoogleEnableKeywordErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/keywords/{id}/enable',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List Google Ads conversion actions\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Returns the conversion actions (the `conversion_action` resource) on the connection’s account — id, name, status, type, category, origin, primary-goal flag, counting type, value settings, and tag snippets.\n */\nexport const googleListConversionActions = <ThrowOnError extends boolean = true>(options: Options<GoogleListConversionActionsData, ThrowOnError>): RequestResult<GoogleListConversionActionsResponses, GoogleListConversionActionsErrors, ThrowOnError> => (options.client ?? client).get<GoogleListConversionActionsResponses, GoogleListConversionActionsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/conversion-actions',\n ...options\n});\n\n/**\n * Create a Google Ads conversion action\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Creates a conversion action (the `conversion_action` resource) — a website tag (WEBPAGE) or an offline/API-reported action (UPLOAD_CLICKS) — on the connection’s account. Pass `dry_run: true` to validate against Google without creating. Returns the new resource id + resource_name.\n */\nexport const googleCreateConversionAction = <ThrowOnError extends boolean = true>(options: Options<GoogleCreateConversionActionData, ThrowOnError>): RequestResult<GoogleCreateConversionActionResponses, GoogleCreateConversionActionErrors, ThrowOnError> => (options.client ?? client).post<GoogleCreateConversionActionResponses, GoogleCreateConversionActionErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/conversion-actions',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Retrieve a Google Ads conversion action\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Returns a single conversion action (the `conversion_action` resource) by its numeric id on the connection’s account.\n */\nexport const googleGetConversionAction = <ThrowOnError extends boolean = true>(options: Options<GoogleGetConversionActionData, ThrowOnError>): RequestResult<GoogleGetConversionActionResponses, GoogleGetConversionActionErrors, ThrowOnError> => (options.client ?? client).get<GoogleGetConversionActionResponses, GoogleGetConversionActionErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/conversion-actions/{id}',\n ...options\n});\n\n/**\n * List Google Ads conversion goals\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Returns the conversion goals (the `customer_conversion_goal` resource) on the connection’s account — category, origin, and whether each is biddable. Google auto-creates these per category × origin.\n */\nexport const googleListConversionGoals = <ThrowOnError extends boolean = true>(options: Options<GoogleListConversionGoalsData, ThrowOnError>): RequestResult<GoogleListConversionGoalsResponses, GoogleListConversionGoalsErrors, ThrowOnError> => (options.client ?? client).get<GoogleListConversionGoalsResponses, GoogleListConversionGoalsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/conversion-goals',\n ...options\n});\n\n/**\n * Set a Google Ads conversion goal’s biddable flag\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Sets whether a conversion goal (selected by category × origin) is biddable — a primary goal Google optimises toward, or a secondary observation-only goal. Pass `dry_run: true` to preview without applying. Returns the goal and whether it executed.\n */\nexport const googleSetConversionGoal = <ThrowOnError extends boolean = true>(options: Options<GoogleSetConversionGoalData, ThrowOnError>): RequestResult<GoogleSetConversionGoalResponses, GoogleSetConversionGoalErrors, ThrowOnError> => (options.client ?? client).post<GoogleSetConversionGoalResponses, GoogleSetConversionGoalErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/conversion-goals',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Upload Google Ads offline conversions\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Uploads offline click conversions (the `UploadClickConversions` call) against the connection’s account — report conversions that happened off-site against the click (gclid/gbraid/wbraid) or first-party identifiers that drove them. Partial failure is per-row: the response reports how many rows succeeded/failed and Google’s own error for each failed row. Pass `dry_run: true` to validate the batch against Google without recording anything.\n */\nexport const googleUploadConversions = <ThrowOnError extends boolean = true>(options: Options<GoogleUploadConversionsData, ThrowOnError>): RequestResult<GoogleUploadConversionsResponses, GoogleUploadConversionsErrors, ThrowOnError> => (options.client ?? client).post<GoogleUploadConversionsResponses, GoogleUploadConversionsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/conversion-uploads',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Upload a Google Ads image asset\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Uploads a Postrun image asset (its validated Google Ads rendition) to the connection’s account as an `image` asset, returning the new resource id + resource_name to chain into an ad/asset assembly. Pass `dry_run: true` to validate against Google without creating anything (Google’s native validate_only). The media asset must have a ready Google Ads rendition, else a 409.\n */\nexport const googleUploadImageAsset = <ThrowOnError extends boolean = true>(options: Options<GoogleUploadImageAssetData, ThrowOnError>): RequestResult<GoogleUploadImageAssetResponses, GoogleUploadImageAssetErrors, ThrowOnError> => (options.client ?? client).post<GoogleUploadImageAssetResponses, GoogleUploadImageAssetErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/assets/images',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List request logs\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Lists the API activity for your account — one entry per action, newest first. Filter by profile, connection, platform, status, source, action, or time range.\n */\nexport const logsList = <ThrowOnError extends boolean = true>(options?: Options<LogsListData, ThrowOnError>): RequestResult<LogsListResponses, LogsListErrors, ThrowOnError> => (options?.client ?? client).get<LogsListResponses, LogsListErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/logs',\n ...options\n});\n\n/**\n * Retrieve a request log\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Retrieves a single request log entry by id.\n */\nexport const logsGet = <ThrowOnError extends boolean = true>(options: Options<LogsGetData, ThrowOnError>): RequestResult<LogsGetResponses, LogsGetErrors, ThrowOnError> => (options.client ?? client).get<LogsGetResponses, LogsGetErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/logs/{id}',\n ...options\n});\n\n/**\n * List webhook endpoints\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Lists the webhook endpoints registered for your account.\n */\nexport const webhooksListEndpoints = <ThrowOnError extends boolean = true>(options?: Options<WebhooksListEndpointsData, ThrowOnError>): RequestResult<WebhooksListEndpointsResponses, WebhooksListEndpointsErrors, ThrowOnError> => (options?.client ?? client).get<WebhooksListEndpointsResponses, WebhooksListEndpointsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/webhooks/endpoints',\n ...options\n});\n\n/**\n * Create a webhook endpoint\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Registers a URL to receive the chosen event types. Delivery, retries, and signing are handled for you.\n */\nexport const webhooksCreateEndpoint = <ThrowOnError extends boolean = true>(options: Options<WebhooksCreateEndpointData, ThrowOnError>): RequestResult<WebhooksCreateEndpointResponses, WebhooksCreateEndpointErrors, ThrowOnError> => (options.client ?? client).post<WebhooksCreateEndpointResponses, WebhooksCreateEndpointErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/webhooks/endpoints',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete a webhook endpoint\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Deletes a webhook endpoint. Delivery to it stops immediately.\n */\nexport const webhooksDeleteEndpoint = <ThrowOnError extends boolean = true>(options: Options<WebhooksDeleteEndpointData, ThrowOnError>): RequestResult<WebhooksDeleteEndpointResponses, WebhooksDeleteEndpointErrors, ThrowOnError> => (options.client ?? client).delete<WebhooksDeleteEndpointResponses, WebhooksDeleteEndpointErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/webhooks/endpoints/{id}',\n ...options\n});\n\n/**\n * Retrieve a webhook endpoint\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Retrieves a single webhook endpoint by id.\n */\nexport const webhooksGetEndpoint = <ThrowOnError extends boolean = true>(options: Options<WebhooksGetEndpointData, ThrowOnError>): RequestResult<WebhooksGetEndpointResponses, WebhooksGetEndpointErrors, ThrowOnError> => (options.client ?? client).get<WebhooksGetEndpointResponses, WebhooksGetEndpointErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/webhooks/endpoints/{id}',\n ...options\n});\n\n/**\n * Update a webhook endpoint\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Updates a webhook endpoint. Send only the fields you want to change; provide at least one.\n */\nexport const webhooksUpdateEndpoint = <ThrowOnError extends boolean = true>(options: Options<WebhooksUpdateEndpointData, ThrowOnError>): RequestResult<WebhooksUpdateEndpointResponses, WebhooksUpdateEndpointErrors, ThrowOnError> => (options.client ?? client).patch<WebhooksUpdateEndpointResponses, WebhooksUpdateEndpointErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/webhooks/endpoints/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Create a webhook portal link\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Mints a one-time App Portal URL where you (or your customer) self-serve webhook delivery logs and signing secrets.\n */\nexport const webhooksCreatePortal = <ThrowOnError extends boolean = true>(options?: Options<WebhooksCreatePortalData, ThrowOnError>): RequestResult<WebhooksCreatePortalResponses, WebhooksCreatePortalErrors, ThrowOnError> => (options?.client ?? client).post<WebhooksCreatePortalResponses, WebhooksCreatePortalErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/webhooks/portal',\n ...options\n});\n\n/**\n * List webhook event types\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Lists the event types you can subscribe an endpoint to (the catalog).\n */\nexport const webhooksListEventTypes = <ThrowOnError extends boolean = true>(options?: Options<WebhooksListEventTypesData, ThrowOnError>): RequestResult<WebhooksListEventTypesResponses, WebhooksListEventTypesErrors, ThrowOnError> => (options?.client ?? client).get<WebhooksListEventTypesResponses, WebhooksListEventTypesErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/webhooks/event-types',\n ...options\n});\n\n/**\n * Send a test event\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Emits a `webhook.ping` event to your subscribed endpoints so you can verify delivery end to end.\n */\nexport const webhooksPing = <ThrowOnError extends boolean = true>(options: Options<WebhooksPingData, ThrowOnError>): RequestResult<WebhooksPingResponses, WebhooksPingErrors, ThrowOnError> => (options.client ?? client).post<WebhooksPingResponses, WebhooksPingErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/webhooks/ping',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Mint a scoped frontend token\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Mints a short-lived, profile-scoped token from your secret `pr_` key. Call this from your backend; the returned token is safe to hand to a browser, which then calls the Postrun API directly. The secret key never touches the browser.\n */\nexport const tokensMint = <ThrowOnError extends boolean = true>(options: Options<TokensMintData, ThrowOnError>): RequestResult<TokensMintResponses, TokensMintErrors, ThrowOnError> => (options.client ?? client).post<TokensMintResponses, TokensMintErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/tokens',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n","import type {\n Connection,\n CreatePostInput,\n MediaResource,\n PostMetadata,\n PostPlatform,\n PostTypeFor,\n PostVariantInput,\n PublishMode,\n SettingsFor,\n UpdatePostInput,\n} from './resources';\n\n/* --------------------------------- types --------------------------------- */\n\n/** A media attachment — the uploaded asset (or just its id + kind). */\nexport type MediaInput = Pick<MediaResource, 'id' | 'kind'>;\n\n/** Base content, shared across channels unless a channel overrides it. */\nexport interface PostContent {\n body?: string;\n media?: readonly MediaInput[];\n}\n\n/**\n * One channel's config. The SDK owns the plumbing (connection, media, assembly)\n * and derives `post_type` from the media; the CUSTOMER owns `settings` — the\n * platform's native, fully-typed config. An Instagram setting on an X channel is\n * a compile error. `postType` is an optional override of the derived value.\n */\nexport interface ChannelConfig<P extends PostPlatform> {\n settings: SettingsFor<P>;\n postType?: PostTypeFor<P>;\n body?: string;\n media?: readonly MediaInput[];\n connectionId?: string;\n}\n\n/** Channels keyed by platform — each value typed to that platform. */\nexport type Channels = { [P in PostPlatform]?: ChannelConfig<P> };\n\nexport interface ComposePostInput {\n profileId: string;\n content?: PostContent;\n channels: Channels;\n publish?: PublishMode;\n scheduleAt?: string;\n externalId?: string;\n metadata?: PostMetadata;\n tags?: readonly string[];\n notes?: string;\n dryRun?: boolean;\n}\n\n/** A post edit. Omit `channels` for a light edit; include it to rebuild variants. */\nexport interface ComposeUpdateInput {\n content?: PostContent;\n channels?: Channels;\n publish?: PublishMode;\n scheduleAt?: string;\n externalId?: string;\n metadata?: PostMetadata;\n tags?: readonly string[];\n notes?: string;\n dryRun?: boolean;\n}\n\n/** The connections a build resolves against (accepts a full `Connection[]`). */\nexport type ConnectionRef = Pick<Connection, 'id' | 'platform'>;\n\n/**\n * Thrown only for a genuine USAGE error the SDK can't paper over — an\n * unresolvable connection, or a build with zero channels. It is NEVER thrown for\n * a media/`post_type` combination: validity (which media pair with which\n * post_type, document support, count limits, …) is the SERVER's job, surfaced as\n * typed `ValidationIssue`s by `POST /v1/posts/validate`. `derivePostType` is\n * best-effort SUGAR, so the SDK can always build an in-progress composition.\n */\nexport class ComposeError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'ComposeError';\n }\n}\n\ntype VariantFor<P extends PostPlatform> = Extract<PostVariantInput, { platform: P }>;\n\n/* ----------------------------- platform handlers -------------------------- */\n\n/** What a handler receives once `post_type` is resolved (derived or explicit). */\ninterface ResolvedChannel<P extends PostPlatform> {\n settings: SettingsFor<P>;\n postType: PostTypeFor<P>;\n connectionId: string;\n body: string | undefined;\n media: readonly { media_id: string }[];\n}\n\n/**\n * Each platform implements two layers:\n * - `derivePostType` — the SUGAR: a BEST-EFFORT default `post_type` guessed from\n * the media. Pure and TOTAL — it NEVER throws and never decides validity; it\n * only runs when the caller doesn't pass `postType`. The SERVER\n * (`POST /v1/posts/validate`) is the sole authority on whether the\n * composition is publishable, returning typed `ValidationIssue`s.\n * - `buildVariant` — the explicit CORE: assemble the typed variant from a\n * resolved channel. Passes `settings` straight through (the customer owns it).\n * Splitting them keeps the core stable and the derivation purely additive.\n */\ninterface PlatformHandler<P extends PostPlatform> {\n derivePostType(media: readonly MediaInput[]): PostTypeFor<P>;\n buildVariant(resolved: ResolvedChannel<P>): VariantFor<P>;\n}\n\nfunction countKinds(media: readonly MediaInput[]) {\n let images = 0;\n let videos = 0;\n let documents = 0;\n for (const item of media) {\n if (item.kind === 'video') videos += 1;\n else if (item.kind === 'document') documents += 1;\n else images += 1; // image | gif\n }\n return { images, videos, documents };\n}\n\n/**\n * X / LinkedIn / Facebook have no mixed-media placement: a post is text, images,\n * OR a single video. This is a BEST-EFFORT guess — it never throws. When a video\n * is present it wins the placement (`video`/`reel`), else 2+ images is\n * `multi_image` and a lone item is `single_image`. The SERVER rules on whether\n * the actual combination (a blend, >1 video, a document) is publishable.\n */\nfunction deriveSinglePlacement<V extends 'video' | 'reel'>(\n media: readonly MediaInput[],\n videoType: V,\n): 'single_image' | 'multi_image' | V {\n const { images, videos } = countKinds(media);\n if (videos >= 1) return videoType;\n return images >= 2 ? 'multi_image' : 'single_image';\n}\n\nconst xHandler: PlatformHandler<'x'> = {\n derivePostType: (media) => {\n if (media.length === 0) return 'text';\n return deriveSinglePlacement(media, 'video');\n },\n buildVariant: ({ settings, postType, connectionId, body, media }) => ({\n platform: 'x',\n post_type: postType,\n connection_id: connectionId,\n body,\n media: [...media],\n settings,\n }),\n};\n\nconst linkedInHandler: PlatformHandler<'linkedin'> = {\n derivePostType: (media) => {\n if (media.length === 0) return 'text';\n if (countKinds(media).documents > 0) {\n // A document rides as a `single_image` post_type; the customer sets\n // `content_kind: 'document'` in settings — we don't infer it. Best-effort:\n // multi-document is a server concern, not a local throw.\n return 'single_image';\n }\n return deriveSinglePlacement(media, 'video');\n },\n buildVariant: ({ settings, postType, connectionId, body, media }) => ({\n platform: 'linkedin',\n post_type: postType,\n connection_id: connectionId,\n body,\n media: [...media],\n settings,\n }),\n};\n\nconst facebookHandler: PlatformHandler<'facebook_page'> = {\n derivePostType: (media) => {\n if (media.length === 0) return 'text';\n return deriveSinglePlacement(media, 'reel');\n },\n buildVariant: ({ settings, postType, connectionId, body, media }) => ({\n platform: 'facebook_page',\n post_type: postType,\n connection_id: connectionId,\n body,\n media: [...media],\n settings,\n }),\n};\n\nconst instagramHandler: PlatformHandler<'instagram'> = {\n derivePostType: (media) => {\n // Best-effort: empty media falls back to `single_image` (the server rules on\n // whether Instagram needs media). 2+ items is a carousel (the API allows it\n // to mix image/gif/video); a lone video is a reel, else a single image.\n if (media.length >= 2) return 'carousel';\n return countKinds(media).videos === 1 ? 'reel' : 'single_image';\n },\n buildVariant: ({ settings, postType, connectionId, body, media }) => ({\n platform: 'instagram',\n post_type: postType,\n connection_id: connectionId,\n body,\n media: [...media],\n settings,\n }),\n};\n\nconst tiktokHandler: PlatformHandler<'tiktok'> = {\n derivePostType: (media) => {\n // Best-effort: TikTok keeps video and photo posts separate (a video post is\n // one standalone video; photos form a single image or a multi-photo\n // carousel). A video present wins `video`; else 2+ images is a carousel and a\n // lone item is `single_image`. The SERVER rules on a blend / >1 video / docs /\n // empty media.\n const { images, videos } = countKinds(media);\n if (videos >= 1) return 'video';\n return images >= 2 ? 'carousel' : 'single_image';\n },\n buildVariant: ({ settings, postType, connectionId, body, media }) => ({\n platform: 'tiktok',\n post_type: postType,\n connection_id: connectionId,\n body,\n media: [...media],\n settings,\n }),\n};\n\n/**\n * The handler registry. A `Record<PostPlatform, …>` (no optional keys), so a\n * platform the contract defines without a handler here is a COMPILE ERROR.\n */\nconst PLATFORM_HANDLERS: { [P in PostPlatform]: PlatformHandler<P> } = {\n x: xHandler,\n linkedin: linkedInHandler,\n facebook_page: facebookHandler,\n instagram: instagramHandler,\n tiktok: tiktokHandler,\n};\n\n/** Narrow any platform string to a posting platform. */\nexport function isPostPlatform(value: string): value is PostPlatform {\n return Object.prototype.hasOwnProperty.call(PLATFORM_HANDLERS, value);\n}\n\n/** Posting platforms — the single source, derived from the handler registry\n * (the `.filter` type-guard narrows `string[]` → `PostPlatform[]`, cast-free). */\nexport const POST_PLATFORMS: PostPlatform[] =\n Object.keys(PLATFORM_HANDLERS).filter(isPostPlatform);\n\n/* -------------------------------- assembly -------------------------------- */\n\nfunction resolveConnectionId(\n platform: PostPlatform,\n connectionId: string | undefined,\n connections: readonly ConnectionRef[],\n): string {\n if (connectionId) return connectionId;\n const match = connections.find((connection) => connection.platform === platform);\n if (!match) {\n throw new ComposeError(\n `No connection for \"${platform}\" on this profile. Connect the account or pass connectionId.`,\n );\n }\n return match.id;\n}\n\n/** Resolve one channel into its typed variant. Generic over the concrete `P`, so\n * the handler / config / result stay correlated with no cast. */\nfunction buildChannel<P extends PostPlatform>(\n handler: PlatformHandler<P>,\n platform: P,\n config: ChannelConfig<P>,\n content: PostContent,\n connections: readonly ConnectionRef[],\n): VariantFor<P> {\n const media = config.media ?? content.media ?? [];\n return handler.buildVariant({\n settings: config.settings,\n postType: config.postType ?? handler.derivePostType(media),\n connectionId: resolveConnectionId(platform, config.connectionId, connections),\n body: config.body ?? content.body,\n media: media.map((item) => ({ media_id: item.id })),\n });\n}\n\n/**\n * Resolve ONE platform's channel, or `undefined` when the caller didn't include\n * it. Generic over the concrete `P`, so `channels[platform]` and\n * `PLATFORM_HANDLERS[platform]` stay correlated to the same platform with no cast.\n * Wrapping the registry lookup in this generic is what lets `buildVariants`\n * iterate `POST_PLATFORMS` (a union) without the per-member variance error.\n */\nfunction collectChannel<P extends PostPlatform>(\n platform: P,\n channels: Channels,\n content: PostContent,\n connections: readonly ConnectionRef[],\n): VariantFor<P> | undefined {\n const config = channels[platform];\n if (!config) return undefined;\n return buildChannel(\n PLATFORM_HANDLERS[platform],\n platform,\n config,\n content,\n connections,\n );\n}\n\nfunction buildVariants(\n content: PostContent,\n channels: Channels,\n connections: readonly ConnectionRef[],\n): PostVariantInput[] {\n // Driven by POST_PLATFORMS (derived from the exhaustive PLATFORM_HANDLERS), so a\n // new platform added to the registry is dispatched here automatically — no\n // hand-maintained per-platform branch to forget (the gap that once dropped TikTok).\n const variants = POST_PLATFORMS.flatMap((platform) => {\n const variant = collectChannel(platform, channels, content, connections);\n return variant ? [variant] : [];\n });\n\n if (variants.length === 0) {\n // The ONE retained composition-level guard: \"you called build with no\n // channels\" is a programmer USAGE error, not a per-end-user validity judgment.\n // It is NOT a verdict on whether any media/post_type combination is\n // publishable — that authority lives entirely on the server.\n throw new ComposeError('At least one channel is required.');\n }\n return variants;\n}\n\n/**\n * Turn an ergonomic `{ content, channels }` input into the exact\n * `CreatePostInput` the API expects — resolving each channel's connection,\n * attaching the shared/overridden media, and deriving a best-effort `post_type`\n * from that media (sugar — the server validates the real composition). The build\n * is TOTAL: it never throws for a media/post_type combination, so an in-progress\n * post can always be built to validate. The customer never assembles `variants[]`\n * or sees a `connection_id`, and owns each channel's typed `settings`.\n */\nexport function buildCreatePost(\n input: ComposePostInput,\n connections: readonly ConnectionRef[],\n): CreatePostInput {\n return {\n profile_id: input.profileId,\n publish: input.publish,\n schedule_at: input.scheduleAt,\n external_id: input.externalId,\n metadata: input.metadata,\n tags: input.tags ? [...input.tags] : undefined,\n notes: input.notes,\n dry_run: input.dryRun,\n variants: buildVariants(input.content ?? {}, input.channels, connections),\n };\n}\n\n/** The envelope fields the API counts as a real edit (`dry_run` deliberately not). */\nconst MUTABLE_ENVELOPE_KEYS = [\n 'publish',\n 'scheduleAt',\n 'externalId',\n 'metadata',\n 'tags',\n 'notes',\n] as const satisfies readonly (keyof ComposeUpdateInput)[];\n\n/**\n * Build an `UpdatePostInput`. With `channels`, the full variant set is rebuilt\n * (the API's PATCH replaces it); without it, only the envelope changes.\n */\nexport function buildUpdatePost(\n input: ComposeUpdateInput,\n connections: readonly ConnectionRef[] = [],\n): UpdatePostInput {\n const changesEnvelope = MUTABLE_ENVELOPE_KEYS.some((key) => input[key] !== undefined);\n if (!input.channels && !changesEnvelope) {\n throw new ComposeError(\n 'A post update must change at least one field — pass content/channels or an ' +\n 'envelope field (publish, scheduleAt, tags, …).',\n );\n }\n\n return {\n publish: input.publish,\n schedule_at: input.scheduleAt,\n external_id: input.externalId,\n metadata: input.metadata,\n tags: input.tags ? [...input.tags] : undefined,\n notes: input.notes,\n dry_run: input.dryRun,\n variants: input.channels\n ? buildVariants(input.content ?? {}, input.channels, connections)\n : undefined,\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/client/core/bodySerializer.gen.ts","../src/client/core/serverSentEvents.gen.ts","../src/client/core/pathSerializer.gen.ts","../src/client/core/utils.gen.ts","../src/client/core/auth.gen.ts","../src/client/client/utils.gen.ts","../src/client/client/client.gen.ts","../src/client/zod.gen.ts","../src/errors.ts","../src/client.ts","../src/client/client.gen.ts","../src/client/sdk.gen.ts","../src/resources.ts","../src/compose.ts"],"names":["url","joinedValues","config","request","z","z2","client"],"mappings":"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","file":"index.cjs","sourcesContent":["// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { ArrayStyle, ObjectStyle, SerializerOptions } from './pathSerializer.gen';\n\nexport type QuerySerializer = (query: Record<string, unknown>) => string;\n\nexport type BodySerializer = (body: unknown) => unknown;\n\ntype QuerySerializerOptionsObject = {\n allowReserved?: boolean;\n array?: Partial<SerializerOptions<ArrayStyle>>;\n object?: Partial<SerializerOptions<ObjectStyle>>;\n};\n\nexport type QuerySerializerOptions = QuerySerializerOptionsObject & {\n /**\n * Per-parameter serialization overrides. When provided, these settings\n * override the global array/object settings for specific parameter names.\n */\n parameters?: Record<string, QuerySerializerOptionsObject>;\n};\n\nconst serializeFormDataPair = (data: FormData, key: string, value: unknown): void => {\n if (typeof value === 'string' || value instanceof Blob) {\n data.append(key, value);\n } else if (value instanceof Date) {\n data.append(key, value.toISOString());\n } else {\n data.append(key, JSON.stringify(value));\n }\n};\n\nconst serializeUrlSearchParamsPair = (data: URLSearchParams, key: string, value: unknown): void => {\n if (typeof value === 'string') {\n data.append(key, value);\n } else {\n data.append(key, JSON.stringify(value));\n }\n};\n\nexport const formDataBodySerializer = {\n bodySerializer: (body: unknown): FormData => {\n const data = new FormData();\n\n Object.entries(body as Record<string, unknown>).forEach(([key, value]) => {\n if (value === undefined || value === null) {\n return;\n }\n if (Array.isArray(value)) {\n value.forEach((v) => serializeFormDataPair(data, key, v));\n } else {\n serializeFormDataPair(data, key, value);\n }\n });\n\n return data;\n },\n};\n\nexport const jsonBodySerializer = {\n bodySerializer: (body: unknown): string =>\n JSON.stringify(body, (_key, value) => (typeof value === 'bigint' ? value.toString() : value)),\n};\n\nexport const urlSearchParamsBodySerializer = {\n bodySerializer: (body: unknown): string => {\n const data = new URLSearchParams();\n\n Object.entries(body as Record<string, unknown>).forEach(([key, value]) => {\n if (value === undefined || value === null) {\n return;\n }\n if (Array.isArray(value)) {\n value.forEach((v) => serializeUrlSearchParamsPair(data, key, v));\n } else {\n serializeUrlSearchParamsPair(data, key, value);\n }\n });\n\n return data.toString();\n },\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { Config } from './types.gen';\n\nexport type ServerSentEventsOptions<TData = unknown> = Omit<RequestInit, 'method'> &\n Pick<Config, 'method' | 'responseTransformer' | 'responseValidator'> & {\n /**\n * Fetch API implementation. You can use this option to provide a custom\n * fetch instance.\n *\n * @default globalThis.fetch\n */\n fetch?: typeof fetch;\n /**\n * Implementing clients can call request interceptors inside this hook.\n */\n onRequest?: (url: string, init: RequestInit) => Promise<Request>;\n /**\n * Callback invoked when a network or parsing error occurs during streaming.\n *\n * This option applies only if the endpoint returns a stream of events.\n *\n * @param error The error that occurred.\n */\n onSseError?: (error: unknown) => void;\n /**\n * Callback invoked when an event is streamed from the server.\n *\n * This option applies only if the endpoint returns a stream of events.\n *\n * @param event Event streamed from the server.\n * @returns Nothing (void).\n */\n onSseEvent?: (event: StreamEvent<TData>) => void;\n serializedBody?: RequestInit['body'];\n /**\n * Default retry delay in milliseconds.\n *\n * This option applies only if the endpoint returns a stream of events.\n *\n * @default 3000\n */\n sseDefaultRetryDelay?: number;\n /**\n * Maximum number of retry attempts before giving up.\n */\n sseMaxRetryAttempts?: number;\n /**\n * Maximum retry delay in milliseconds.\n *\n * Applies only when exponential backoff is used.\n *\n * This option applies only if the endpoint returns a stream of events.\n *\n * @default 30000\n */\n sseMaxRetryDelay?: number;\n /**\n * Optional sleep function for retry backoff.\n *\n * Defaults to using `setTimeout`.\n */\n sseSleepFn?: (ms: number) => Promise<void>;\n url: string;\n };\n\nexport interface StreamEvent<TData = unknown> {\n data: TData;\n event?: string;\n id?: string;\n retry?: number;\n}\n\nexport type ServerSentEventsResult<TData = unknown, TReturn = void, TNext = unknown> = {\n stream: AsyncGenerator<\n TData extends Record<string, unknown> ? TData[keyof TData] : TData,\n TReturn,\n TNext\n >;\n};\n\nexport function createSseClient<TData = unknown>({\n onRequest,\n onSseError,\n onSseEvent,\n responseTransformer,\n responseValidator,\n sseDefaultRetryDelay,\n sseMaxRetryAttempts,\n sseMaxRetryDelay,\n sseSleepFn,\n url,\n ...options\n}: ServerSentEventsOptions): ServerSentEventsResult<TData> {\n let lastEventId: string | undefined;\n\n const sleep = sseSleepFn ?? ((ms: number) => new Promise((resolve) => setTimeout(resolve, ms)));\n\n const createStream = async function* () {\n let retryDelay: number = sseDefaultRetryDelay ?? 3000;\n let attempt = 0;\n const signal = options.signal ?? new AbortController().signal;\n\n while (true) {\n if (signal.aborted) break;\n\n attempt++;\n\n const headers =\n options.headers instanceof Headers\n ? options.headers\n : new Headers(options.headers as Record<string, string> | undefined);\n\n if (lastEventId !== undefined) {\n headers.set('Last-Event-ID', lastEventId);\n }\n\n try {\n const requestInit: RequestInit = {\n redirect: 'follow',\n ...options,\n body: options.serializedBody,\n headers,\n signal,\n };\n let request = new Request(url, requestInit);\n if (onRequest) {\n request = await onRequest(url, requestInit);\n }\n // fetch must be assigned here, otherwise it would throw the error:\n // TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation\n const _fetch = options.fetch ?? globalThis.fetch;\n const response = await _fetch(request);\n\n if (!response.ok) throw new Error(`SSE failed: ${response.status} ${response.statusText}`);\n\n if (!response.body) throw new Error('No body in SSE response');\n\n const reader = response.body.pipeThrough(new TextDecoderStream()).getReader();\n\n let buffer = '';\n\n const abortHandler = () => {\n try {\n reader.cancel();\n } catch {\n // noop\n }\n };\n\n signal.addEventListener('abort', abortHandler);\n\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n buffer += value;\n buffer = buffer.replace(/\\r\\n?/g, '\\n'); // normalize line endings\n\n const chunks = buffer.split('\\n\\n');\n buffer = chunks.pop() ?? '';\n\n for (const chunk of chunks) {\n const lines = chunk.split('\\n');\n const dataLines: Array<string> = [];\n let eventName: string | undefined;\n\n for (const line of lines) {\n if (line.startsWith('data:')) {\n dataLines.push(line.replace(/^data:\\s*/, ''));\n } else if (line.startsWith('event:')) {\n eventName = line.replace(/^event:\\s*/, '');\n } else if (line.startsWith('id:')) {\n lastEventId = line.replace(/^id:\\s*/, '');\n } else if (line.startsWith('retry:')) {\n const parsed = Number.parseInt(line.replace(/^retry:\\s*/, ''), 10);\n if (!Number.isNaN(parsed)) {\n retryDelay = parsed;\n }\n }\n }\n\n let data: unknown;\n let parsedJson = false;\n\n if (dataLines.length) {\n const rawData = dataLines.join('\\n');\n try {\n data = JSON.parse(rawData);\n parsedJson = true;\n } catch {\n data = rawData;\n }\n }\n\n if (parsedJson) {\n if (responseValidator) {\n await responseValidator(data);\n }\n\n if (responseTransformer) {\n data = await responseTransformer(data);\n }\n }\n\n onSseEvent?.({\n data,\n event: eventName,\n id: lastEventId,\n retry: retryDelay,\n });\n\n if (dataLines.length) {\n yield data as any;\n }\n }\n }\n } finally {\n signal.removeEventListener('abort', abortHandler);\n reader.releaseLock();\n }\n\n break; // exit loop on normal completion\n } catch (error) {\n // connection failed or aborted; retry after delay\n onSseError?.(error);\n\n if (sseMaxRetryAttempts !== undefined && attempt >= sseMaxRetryAttempts) {\n break; // stop after firing error\n }\n\n // exponential backoff: double retry each attempt, cap at 30s\n const backoff = Math.min(retryDelay * 2 ** (attempt - 1), sseMaxRetryDelay ?? 30000);\n await sleep(backoff);\n }\n }\n };\n\n const stream = createStream();\n\n return { stream };\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\ninterface SerializeOptions<T> extends SerializePrimitiveOptions, SerializerOptions<T> {}\n\ninterface SerializePrimitiveOptions {\n allowReserved?: boolean;\n name: string;\n}\n\nexport interface SerializerOptions<T> {\n /**\n * @default true\n */\n explode: boolean;\n style: T;\n}\n\nexport type ArrayStyle = 'form' | 'spaceDelimited' | 'pipeDelimited';\nexport type ArraySeparatorStyle = ArrayStyle | MatrixStyle;\ntype MatrixStyle = 'label' | 'matrix' | 'simple';\nexport type ObjectStyle = 'form' | 'deepObject';\ntype ObjectSeparatorStyle = ObjectStyle | MatrixStyle;\n\ninterface SerializePrimitiveParam extends SerializePrimitiveOptions {\n value: string;\n}\n\nexport const separatorArrayExplode = (style: ArraySeparatorStyle): '.' | ';' | ',' | '&' => {\n switch (style) {\n case 'label':\n return '.';\n case 'matrix':\n return ';';\n case 'simple':\n return ',';\n default:\n return '&';\n }\n};\n\nexport const separatorArrayNoExplode = (style: ArraySeparatorStyle): ',' | '|' | '%20' => {\n switch (style) {\n case 'form':\n return ',';\n case 'pipeDelimited':\n return '|';\n case 'spaceDelimited':\n return '%20';\n default:\n return ',';\n }\n};\n\nexport const separatorObjectExplode = (style: ObjectSeparatorStyle): '.' | ';' | ',' | '&' => {\n switch (style) {\n case 'label':\n return '.';\n case 'matrix':\n return ';';\n case 'simple':\n return ',';\n default:\n return '&';\n }\n};\n\nexport const serializeArrayParam = ({\n allowReserved,\n explode,\n name,\n style,\n value,\n}: SerializeOptions<ArraySeparatorStyle> & {\n value: unknown[];\n}): string => {\n if (!explode) {\n const joinedValues = (\n allowReserved ? value : value.map((v) => encodeURIComponent(v as string))\n ).join(separatorArrayNoExplode(style));\n switch (style) {\n case 'label':\n return `.${joinedValues}`;\n case 'matrix':\n return `;${name}=${joinedValues}`;\n case 'simple':\n return joinedValues;\n default:\n return `${name}=${joinedValues}`;\n }\n }\n\n const separator = separatorArrayExplode(style);\n const joinedValues = value\n .map((v) => {\n if (style === 'label' || style === 'simple') {\n return allowReserved ? v : encodeURIComponent(v as string);\n }\n\n return serializePrimitiveParam({\n allowReserved,\n name,\n value: v as string,\n });\n })\n .join(separator);\n return style === 'label' || style === 'matrix' ? separator + joinedValues : joinedValues;\n};\n\nexport const serializePrimitiveParam = ({\n allowReserved,\n name,\n value,\n}: SerializePrimitiveParam): string => {\n if (value === undefined || value === null) {\n return '';\n }\n\n if (typeof value === 'object') {\n throw new Error(\n 'Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.',\n );\n }\n\n return `${name}=${allowReserved ? value : encodeURIComponent(value)}`;\n};\n\nexport const serializeObjectParam = ({\n allowReserved,\n explode,\n name,\n style,\n value,\n valueOnly,\n}: SerializeOptions<ObjectSeparatorStyle> & {\n value: Record<string, unknown> | Date;\n valueOnly?: boolean;\n}): string => {\n if (value instanceof Date) {\n return valueOnly ? value.toISOString() : `${name}=${value.toISOString()}`;\n }\n\n if (style !== 'deepObject' && !explode) {\n let values: string[] = [];\n Object.entries(value).forEach(([key, v]) => {\n values = [...values, key, allowReserved ? (v as string) : encodeURIComponent(v as string)];\n });\n const joinedValues = values.join(',');\n switch (style) {\n case 'form':\n return `${name}=${joinedValues}`;\n case 'label':\n return `.${joinedValues}`;\n case 'matrix':\n return `;${name}=${joinedValues}`;\n default:\n return joinedValues;\n }\n }\n\n const separator = separatorObjectExplode(style);\n const joinedValues = Object.entries(value)\n .map(([key, v]) =>\n serializePrimitiveParam({\n allowReserved,\n name: style === 'deepObject' ? `${name}[${key}]` : key,\n value: v as string,\n }),\n )\n .join(separator);\n return style === 'label' || style === 'matrix' ? separator + joinedValues : joinedValues;\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { BodySerializer, QuerySerializer } from './bodySerializer.gen';\nimport {\n type ArraySeparatorStyle,\n serializeArrayParam,\n serializeObjectParam,\n serializePrimitiveParam,\n} from './pathSerializer.gen';\n\nexport interface PathSerializer {\n path: Record<string, unknown>;\n url: string;\n}\n\nexport const PATH_PARAM_RE: RegExp = /\\{[^{}]+\\}/g;\n\nexport const defaultPathSerializer = ({ path, url: _url }: PathSerializer): string => {\n let url = _url;\n const matches = _url.match(PATH_PARAM_RE);\n if (matches) {\n for (const match of matches) {\n let explode = false;\n let name = match.substring(1, match.length - 1);\n let style: ArraySeparatorStyle = 'simple';\n\n if (name.endsWith('*')) {\n explode = true;\n name = name.substring(0, name.length - 1);\n }\n\n if (name.startsWith('.')) {\n name = name.substring(1);\n style = 'label';\n } else if (name.startsWith(';')) {\n name = name.substring(1);\n style = 'matrix';\n }\n\n const value = path[name];\n\n if (value === undefined || value === null) {\n continue;\n }\n\n if (Array.isArray(value)) {\n url = url.replace(match, serializeArrayParam({ explode, name, style, value }));\n continue;\n }\n\n if (typeof value === 'object') {\n url = url.replace(\n match,\n serializeObjectParam({\n explode,\n name,\n style,\n value: value as Record<string, unknown>,\n valueOnly: true,\n }),\n );\n continue;\n }\n\n if (style === 'matrix') {\n url = url.replace(\n match,\n `;${serializePrimitiveParam({\n name,\n value: value as string,\n })}`,\n );\n continue;\n }\n\n const replaceValue = encodeURIComponent(\n style === 'label' ? `.${value as string}` : (value as string),\n );\n url = url.replace(match, replaceValue);\n }\n }\n return url;\n};\n\nexport const getUrl = ({\n baseUrl,\n path,\n query,\n querySerializer,\n url: _url,\n}: {\n baseUrl?: string;\n path?: Record<string, unknown>;\n query?: Record<string, unknown>;\n querySerializer: QuerySerializer;\n url: string;\n}): string => {\n const pathUrl = _url.startsWith('/') ? _url : `/${_url}`;\n let url = (baseUrl ?? '') + pathUrl;\n if (path) {\n url = defaultPathSerializer({ path, url });\n }\n let search = query ? querySerializer(query) : '';\n if (search.startsWith('?')) {\n search = search.substring(1);\n }\n if (search) {\n url += `?${search}`;\n }\n return url;\n};\n\nexport function getValidRequestBody(options: {\n body?: unknown;\n bodySerializer?: BodySerializer | null;\n serializedBody?: unknown;\n}): unknown {\n const hasBody = options.body !== undefined;\n const isSerializedBody = hasBody && options.bodySerializer;\n\n if (isSerializedBody) {\n if ('serializedBody' in options) {\n const hasSerializedBody =\n options.serializedBody !== undefined && options.serializedBody !== '';\n\n return hasSerializedBody ? options.serializedBody : null;\n }\n\n // not all clients implement a serializedBody property (i.e., client-axios)\n return options.body !== '' ? options.body : null;\n }\n\n // plain/text body\n if (hasBody) {\n return options.body;\n }\n\n // no body was provided\n return undefined;\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\nexport type AuthToken = string | undefined;\n\nexport interface Auth {\n /**\n * Which part of the request do we use to send the auth?\n *\n * @default 'header'\n */\n in?: 'header' | 'query' | 'cookie';\n /**\n * A unique identifier for the security scheme.\n *\n * Defined only when there are multiple security schemes whose `Auth`\n * shape would otherwise be identical.\n */\n key?: string;\n /**\n * Header or query parameter name.\n *\n * @default 'Authorization'\n */\n name?: string;\n scheme?: 'basic' | 'bearer';\n type: 'apiKey' | 'http';\n}\n\nexport const getAuthToken = async (\n auth: Auth,\n callback: ((auth: Auth) => Promise<AuthToken> | AuthToken) | AuthToken,\n): Promise<string | undefined> => {\n const token = typeof callback === 'function' ? await callback(auth) : callback;\n\n if (!token) {\n return;\n }\n\n if (auth.scheme === 'bearer') {\n return `Bearer ${token}`;\n }\n\n if (auth.scheme === 'basic') {\n return `Basic ${btoa(token)}`;\n }\n\n return token;\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport { getAuthToken } from '../core/auth.gen';\nimport type { QuerySerializerOptions } from '../core/bodySerializer.gen';\nimport { jsonBodySerializer } from '../core/bodySerializer.gen';\nimport {\n serializeArrayParam,\n serializeObjectParam,\n serializePrimitiveParam,\n} from '../core/pathSerializer.gen';\nimport { getUrl } from '../core/utils.gen';\nimport type { Client, ClientOptions, Config, RequestOptions } from './types.gen';\n\nexport const createQuerySerializer = <T = unknown>({\n parameters = {},\n ...args\n}: QuerySerializerOptions = {}): ((queryParams: T) => string) => {\n const querySerializer = (queryParams: T): string => {\n const search: string[] = [];\n if (queryParams && typeof queryParams === 'object') {\n for (const name in queryParams) {\n const value = queryParams[name];\n\n if (value === undefined || value === null) {\n continue;\n }\n\n const options = parameters[name] || args;\n\n if (Array.isArray(value)) {\n const serializedArray = serializeArrayParam({\n allowReserved: options.allowReserved,\n explode: true,\n name,\n style: 'form',\n value,\n ...options.array,\n });\n if (serializedArray) search.push(serializedArray);\n } else if (typeof value === 'object') {\n const serializedObject = serializeObjectParam({\n allowReserved: options.allowReserved,\n explode: true,\n name,\n style: 'deepObject',\n value: value as Record<string, unknown>,\n ...options.object,\n });\n if (serializedObject) search.push(serializedObject);\n } else {\n const serializedPrimitive = serializePrimitiveParam({\n allowReserved: options.allowReserved,\n name,\n value: value as string,\n });\n if (serializedPrimitive) search.push(serializedPrimitive);\n }\n }\n }\n return search.join('&');\n };\n return querySerializer;\n};\n\n/**\n * Infers parseAs value from provided Content-Type header.\n */\nexport const getParseAs = (contentType: string | null): Exclude<Config['parseAs'], 'auto'> => {\n if (!contentType) {\n // If no Content-Type header is provided, the best we can do is return the raw response body,\n // which is effectively the same as the 'stream' option.\n return 'stream';\n }\n\n const cleanContent = contentType.split(';')[0]?.trim();\n\n if (!cleanContent) {\n return;\n }\n\n if (cleanContent.startsWith('application/json') || cleanContent.endsWith('+json')) {\n return 'json';\n }\n\n if (cleanContent === 'multipart/form-data') {\n return 'formData';\n }\n\n if (\n ['application/', 'audio/', 'image/', 'video/'].some((type) => cleanContent.startsWith(type))\n ) {\n return 'blob';\n }\n\n if (cleanContent.startsWith('text/')) {\n return 'text';\n }\n\n return;\n};\n\nconst checkForExistence = (\n options: Pick<RequestOptions, 'auth' | 'query'> & {\n headers: Headers;\n },\n name?: string,\n): boolean => {\n if (!name) {\n return false;\n }\n if (\n options.headers.has(name) ||\n options.query?.[name] ||\n options.headers.get('Cookie')?.includes(`${name}=`)\n ) {\n return true;\n }\n return false;\n};\n\nexport async function setAuthParams(\n options: Pick<RequestOptions, 'auth' | 'query' | 'security'> & {\n headers: Headers;\n },\n): Promise<void> {\n for (const auth of options.security ?? []) {\n if (checkForExistence(options, auth.name)) {\n continue;\n }\n\n const token = await getAuthToken(auth, options.auth);\n\n if (!token) {\n continue;\n }\n\n const name = auth.name ?? 'Authorization';\n\n switch (auth.in) {\n case 'query':\n if (!options.query) {\n options.query = {};\n }\n options.query[name] = token;\n break;\n case 'cookie':\n options.headers.append('Cookie', `${name}=${token}`);\n break;\n case 'header':\n default:\n options.headers.set(name, token);\n break;\n }\n }\n}\n\nexport const buildUrl: Client['buildUrl'] = (options) =>\n getUrl({\n baseUrl: options.baseUrl as string,\n path: options.path,\n query: options.query,\n querySerializer:\n typeof options.querySerializer === 'function'\n ? options.querySerializer\n : createQuerySerializer(options.querySerializer),\n url: options.url,\n });\n\nexport const mergeConfigs = (a: Config, b: Config): Config => {\n const config = { ...a, ...b };\n if (config.baseUrl?.endsWith('/')) {\n config.baseUrl = config.baseUrl.substring(0, config.baseUrl.length - 1);\n }\n config.headers = mergeHeaders(a.headers, b.headers);\n return config;\n};\n\nconst headersEntries = (headers: Headers): Array<[string, string]> => {\n const entries: Array<[string, string]> = [];\n headers.forEach((value, key) => {\n entries.push([key, value]);\n });\n return entries;\n};\n\nexport const mergeHeaders = (\n ...headers: Array<Required<Config>['headers'] | undefined>\n): Headers => {\n const mergedHeaders = new Headers();\n for (const header of headers) {\n if (!header) {\n continue;\n }\n\n const iterator = header instanceof Headers ? headersEntries(header) : Object.entries(header);\n\n for (const [key, value] of iterator) {\n if (value === null) {\n mergedHeaders.delete(key);\n } else if (Array.isArray(value)) {\n for (const v of value) {\n mergedHeaders.append(key, v as string);\n }\n } else if (value !== undefined) {\n // assume object headers are meant to be JSON stringified, i.e., their\n // content value in OpenAPI specification is 'application/json'\n mergedHeaders.set(\n key,\n typeof value === 'object' ? JSON.stringify(value) : (value as string),\n );\n }\n }\n }\n return mergedHeaders;\n};\n\ntype ErrInterceptor<Err, Res, Req, Options> = (\n error: Err,\n /** response may be undefined due to a network error where no response object is produced */\n response: Res | undefined,\n /** request may be undefined, because error may be from building the request object itself */\n request: Req | undefined,\n options: Options,\n) => Err | Promise<Err>;\n\ntype ReqInterceptor<Req, Options> = (request: Req, options: Options) => Req | Promise<Req>;\n\ntype ResInterceptor<Res, Req, Options> = (\n response: Res,\n request: Req,\n options: Options,\n) => Res | Promise<Res>;\n\nclass Interceptors<Interceptor> {\n fns: Array<Interceptor | null> = [];\n\n clear(): void {\n this.fns = [];\n }\n\n eject(id: number | Interceptor): void {\n const index = this.getInterceptorIndex(id);\n if (this.fns[index]) {\n this.fns[index] = null;\n }\n }\n\n exists(id: number | Interceptor): boolean {\n const index = this.getInterceptorIndex(id);\n return Boolean(this.fns[index]);\n }\n\n getInterceptorIndex(id: number | Interceptor): number {\n if (typeof id === 'number') {\n return this.fns[id] ? id : -1;\n }\n return this.fns.indexOf(id);\n }\n\n update(id: number | Interceptor, fn: Interceptor): number | Interceptor | false {\n const index = this.getInterceptorIndex(id);\n if (this.fns[index]) {\n this.fns[index] = fn;\n return id;\n }\n return false;\n }\n\n use(fn: Interceptor): number {\n this.fns.push(fn);\n return this.fns.length - 1;\n }\n}\n\nexport interface Middleware<Req, Res, Err, Options> {\n error: Interceptors<ErrInterceptor<Err, Res, Req, Options>>;\n request: Interceptors<ReqInterceptor<Req, Options>>;\n response: Interceptors<ResInterceptor<Res, Req, Options>>;\n}\n\nexport const createInterceptors = <Req, Res, Err, Options>(): Middleware<\n Req,\n Res,\n Err,\n Options\n> => ({\n error: new Interceptors<ErrInterceptor<Err, Res, Req, Options>>(),\n request: new Interceptors<ReqInterceptor<Req, Options>>(),\n response: new Interceptors<ResInterceptor<Res, Req, Options>>(),\n});\n\nconst defaultQuerySerializer = createQuerySerializer({\n allowReserved: false,\n array: {\n explode: true,\n style: 'form',\n },\n object: {\n explode: true,\n style: 'deepObject',\n },\n});\n\nconst defaultHeaders = {\n 'Content-Type': 'application/json',\n};\n\nexport const createConfig = <T extends ClientOptions = ClientOptions>(\n override: Config<Omit<ClientOptions, keyof T> & T> = {},\n): Config<Omit<ClientOptions, keyof T> & T> => ({\n ...jsonBodySerializer,\n headers: defaultHeaders,\n parseAs: 'auto',\n querySerializer: defaultQuerySerializer,\n ...override,\n});\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport { createSseClient } from '../core/serverSentEvents.gen';\nimport type { HttpMethod } from '../core/types.gen';\nimport { getValidRequestBody } from '../core/utils.gen';\nimport type { Client, Config, RequestOptions, ResolvedRequestOptions } from './types.gen';\nimport {\n buildUrl,\n createConfig,\n createInterceptors,\n getParseAs,\n mergeConfigs,\n mergeHeaders,\n setAuthParams,\n} from './utils.gen';\n\ntype ReqInit = Omit<RequestInit, 'body' | 'headers'> & {\n body?: any;\n headers: ReturnType<typeof mergeHeaders>;\n};\n\nexport const createClient = (config: Config = {}): Client => {\n let _config = mergeConfigs(createConfig(), config);\n\n const getConfig = (): Config => ({ ..._config });\n\n const setConfig = (config: Config): Config => {\n _config = mergeConfigs(_config, config);\n return getConfig();\n };\n\n const interceptors = createInterceptors<Request, Response, unknown, ResolvedRequestOptions>();\n\n const beforeRequest = async <\n TData = unknown,\n TResponseStyle extends 'data' | 'fields' = 'fields',\n ThrowOnError extends boolean = boolean,\n Url extends string = string,\n >(\n options: RequestOptions<TData, TResponseStyle, ThrowOnError, Url>,\n ) => {\n const opts = {\n ..._config,\n ...options,\n fetch: options.fetch ?? _config.fetch ?? globalThis.fetch,\n headers: mergeHeaders(_config.headers, options.headers),\n serializedBody: undefined as string | undefined,\n };\n\n if (opts.security) {\n await setAuthParams(opts);\n }\n\n if (opts.requestValidator) {\n await opts.requestValidator(opts);\n }\n\n if (opts.body !== undefined && opts.bodySerializer) {\n opts.serializedBody = opts.bodySerializer(opts.body) as string | undefined;\n }\n\n // remove Content-Type header if body is empty to avoid sending invalid requests\n if (opts.body === undefined || opts.serializedBody === '') {\n opts.headers.delete('Content-Type');\n }\n\n const resolvedOpts = opts as typeof opts &\n ResolvedRequestOptions<TResponseStyle, ThrowOnError, Url>;\n const url = buildUrl(resolvedOpts);\n\n return { opts: resolvedOpts, url };\n };\n\n const request: Client['request'] = async (options) => {\n const throwOnError = options.throwOnError ?? _config.throwOnError;\n const responseStyle = options.responseStyle ?? _config.responseStyle;\n\n let request: Request | undefined;\n let response: Response | undefined;\n\n try {\n const { opts, url } = await beforeRequest(options);\n const requestInit: ReqInit = {\n redirect: 'follow',\n ...opts,\n body: getValidRequestBody(opts),\n };\n\n request = new Request(url, requestInit);\n\n for (const fn of interceptors.request.fns) {\n if (fn) {\n request = await fn(request, opts);\n }\n }\n\n // fetch must be assigned here, otherwise it would throw the error:\n // TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation\n const _fetch = opts.fetch!;\n\n response = await _fetch(request);\n\n for (const fn of interceptors.response.fns) {\n if (fn) {\n response = await fn(response, request, opts);\n }\n }\n\n const result = {\n request,\n response,\n };\n\n if (response.ok) {\n const parseAs =\n (opts.parseAs === 'auto'\n ? getParseAs(response.headers.get('Content-Type'))\n : opts.parseAs) ?? 'json';\n\n if (response.status === 204 || response.headers.get('Content-Length') === '0') {\n let emptyData: any;\n switch (parseAs) {\n case 'arrayBuffer':\n case 'blob':\n case 'text':\n emptyData = await response[parseAs]();\n break;\n case 'formData':\n emptyData = new FormData();\n break;\n case 'stream':\n emptyData = response.body;\n break;\n case 'json':\n default:\n emptyData = {};\n break;\n }\n return opts.responseStyle === 'data'\n ? emptyData\n : {\n data: emptyData,\n ...result,\n };\n }\n\n let data: any;\n switch (parseAs) {\n case 'arrayBuffer':\n case 'blob':\n case 'formData':\n case 'text':\n data = await response[parseAs]();\n break;\n case 'json': {\n // Some servers return 200 with no Content-Length and empty body.\n // response.json() would throw; read as text and parse if non-empty.\n const text = await response.text();\n data = text ? JSON.parse(text) : {};\n break;\n }\n case 'stream':\n return opts.responseStyle === 'data'\n ? response.body\n : {\n data: response.body,\n ...result,\n };\n }\n\n if (parseAs === 'json') {\n if (opts.responseValidator) {\n await opts.responseValidator(data);\n }\n\n if (opts.responseTransformer) {\n data = await opts.responseTransformer(data);\n }\n }\n\n return opts.responseStyle === 'data'\n ? data\n : {\n data,\n ...result,\n };\n }\n\n const textError = await response.text();\n let jsonError: unknown;\n\n try {\n jsonError = JSON.parse(textError);\n } catch {\n // noop\n }\n\n throw jsonError ?? textError;\n } catch (error) {\n let finalError = error;\n\n for (const fn of interceptors.error.fns) {\n if (fn) {\n finalError = await fn(finalError, response, request, options as ResolvedRequestOptions);\n }\n }\n\n finalError = finalError || {};\n\n if (throwOnError) {\n throw finalError;\n }\n\n // TODO: we probably want to return error and improve types\n return responseStyle === 'data'\n ? undefined\n : {\n error: finalError,\n request,\n response,\n };\n }\n };\n\n const makeMethodFn = (method: Uppercase<HttpMethod>) => (options: RequestOptions) =>\n request({ ...options, method });\n\n const makeSseFn = (method: Uppercase<HttpMethod>) => async (options: RequestOptions) => {\n const { opts, url } = await beforeRequest(options);\n return createSseClient({\n ...opts,\n body: opts.body as BodyInit | null | undefined,\n method,\n onRequest: async (url, init) => {\n let request = new Request(url, init);\n for (const fn of interceptors.request.fns) {\n if (fn) {\n request = await fn(request, opts);\n }\n }\n return request;\n },\n serializedBody: getValidRequestBody(opts) as BodyInit | null | undefined,\n url,\n });\n };\n\n const _buildUrl: Client['buildUrl'] = (options) => buildUrl({ ..._config, ...options });\n\n return {\n buildUrl: _buildUrl,\n connect: makeMethodFn('CONNECT'),\n delete: makeMethodFn('DELETE'),\n get: makeMethodFn('GET'),\n getConfig,\n head: makeMethodFn('HEAD'),\n interceptors,\n options: makeMethodFn('OPTIONS'),\n patch: makeMethodFn('PATCH'),\n post: makeMethodFn('POST'),\n put: makeMethodFn('PUT'),\n request,\n setConfig,\n sse: {\n connect: makeSseFn('CONNECT'),\n delete: makeSseFn('DELETE'),\n get: makeSseFn('GET'),\n head: makeSseFn('HEAD'),\n options: makeSseFn('OPTIONS'),\n patch: makeSseFn('PATCH'),\n post: makeSseFn('POST'),\n put: makeSseFn('PUT'),\n trace: makeSseFn('TRACE'),\n },\n trace: makeMethodFn('TRACE'),\n } as Client;\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport * as z from 'zod';\n\n/**\n * ErrorCode\n *\n * The closed set of machine-readable Postrun error codes. Branch on this. Each links to https://docs.postrun.ai/errors/<code>.\n */\nexport const zErrorCode = z.enum([\n 'unauthorized',\n 'forbidden',\n 'not_found',\n 'conflict',\n 'validation_failed',\n 'rate_limited',\n 'internal_error',\n 'idempotency_key_invalid',\n 'idempotency_key_reused',\n 'idempotency_request_in_progress',\n 'account_not_available',\n 'connection_reauth_required',\n 'connection_not_pending',\n 'not_implemented',\n 'connection_discovery_failed',\n 'media_processing',\n 'not_publishable',\n 'invalid_connection',\n 'invalid_media',\n 'profile_scope_invalid',\n 'media_unprobeable',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_format_indeterminate',\n 'media_count_invalid',\n 'body_too_long',\n 'content_missing',\n 'content_conflict',\n 'content_incomplete',\n 'content_kind_mismatch',\n 'media_type_mismatch',\n 'tag_limit_exceeded',\n 'reel_field_on_non_reel',\n 'field_placement_invalid',\n 'media_not_ready',\n 'media_failed',\n 'media_unsupported',\n 'media_kind_mismatch',\n 'variant_unparseable',\n 'publishing_unavailable',\n 'x_duplicate_content',\n 'x_not_authorized',\n 'x_access_not_permitted',\n 'x_rate_limited',\n 'x_publish_failed',\n 'x_media_upload_failed',\n 'linkedin_duplicate_content',\n 'linkedin_auth_expired',\n 'linkedin_permission_denied',\n 'linkedin_media_processing',\n 'linkedin_media_upload_failed',\n 'linkedin_publish_failed',\n 'instagram_media_processing',\n 'instagram_container_expired',\n 'instagram_container_failed',\n 'instagram_rate_limited',\n 'instagram_not_authorized',\n 'instagram_publish_failed',\n 'facebook_reel_processing',\n 'facebook_reel_failed',\n 'facebook_rate_limited',\n 'facebook_not_authorized',\n 'facebook_publish_failed',\n 'tiktok_privacy_not_allowed',\n 'tiktok_duration_exceeds_max',\n 'tiktok_media_processing',\n 'tiktok_not_authorized',\n 'tiktok_rate_limited',\n 'tiktok_publish_failed',\n 'connection_platform_mismatch',\n 'connection_removed'\n]);\n\nexport const zProfilesListQuery = z.object({\n limit: z.int().gte(1).lte(100).optional().default(20),\n offset: z.int().gte(0).lte(9007199254740991).optional().default(0),\n external_id: z.string().optional(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])).optional()\n});\n\n/**\n * OK\n */\nexport const zProfilesListResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().nullable(),\n external_id: z.string().nullable(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])),\n created_at: z.string().nullable(),\n updated_at: z.string().nullable()\n })),\n total: z.int().gte(-9007199254740991).lte(9007199254740991),\n limit: z.int().gte(-9007199254740991).lte(9007199254740991),\n offset: z.int().gte(-9007199254740991).lte(9007199254740991),\n has_more: z.boolean()\n});\n\nexport const zProfilesCreateBody = z.object({\n name: z.string().min(1).max(255),\n description: z.string().max(280).optional(),\n external_id: z.string().min(1).max(255).optional(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])).optional()\n});\n\n/**\n * OK\n */\nexport const zProfilesCreateResponse = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().nullable(),\n external_id: z.string().nullable(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])),\n created_at: z.string().nullable(),\n updated_at: z.string().nullable()\n});\n\nexport const zProfilesDeletePath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zProfilesDeleteResponse = z.object({\n id: z.string(),\n object: z.literal('profile'),\n deleted: z.literal(true)\n});\n\nexport const zProfilesGetPath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zProfilesGetResponse = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().nullable(),\n external_id: z.string().nullable(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])),\n created_at: z.string().nullable(),\n updated_at: z.string().nullable()\n});\n\nexport const zProfilesUpdateBody = z.object({\n name: z.string().min(1).max(255).optional(),\n description: z.string().max(280).nullish(),\n external_id: z.string().min(1).max(255).optional(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])).optional()\n});\n\nexport const zProfilesUpdatePath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zProfilesUpdateResponse = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().nullable(),\n external_id: z.string().nullable(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])),\n created_at: z.string().nullable(),\n updated_at: z.string().nullable()\n});\n\nexport const zConnectionsListByProfilePath = z.object({\n id: z.string()\n});\n\nexport const zConnectionsListByProfileQuery = z.object({\n limit: z.int().gte(1).lte(100).optional().default(20),\n offset: z.int().gte(0).lte(9007199254740991).optional().default(0),\n nango_connection_id: z.string().min(1).optional(),\n kind: z.enum(['posting', 'ads']).optional(),\n status: z.enum([\n 'pending',\n 'active',\n 'needs_reauth'\n ]).optional()\n});\n\n/**\n * OK\n */\nexport const zConnectionsListByProfileResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n profile_id: z.string(),\n platform: z.enum([\n 'meta_ads',\n 'google_ads',\n 'tiktok_ads',\n 'x',\n 'linkedin',\n 'facebook_page',\n 'instagram',\n 'tiktok'\n ]),\n kind: z.enum(['posting', 'ads']),\n status: z.enum([\n 'pending',\n 'active',\n 'needs_reauth'\n ]),\n external_account_id: z.string().nullable(),\n external_account_name: z.string().nullable(),\n username: z.string().nullable(),\n avatar_url: z.string().nullable(),\n profile_url: z.string().nullable(),\n reauth_at: z.string().nullable(),\n currency: z.string().nullable(),\n created_at: z.string().nullable(),\n updated_at: z.string().nullable()\n })),\n total: z.int().gte(-9007199254740991).lte(9007199254740991),\n limit: z.int().gte(-9007199254740991).lte(9007199254740991),\n offset: z.int().gte(-9007199254740991).lte(9007199254740991),\n has_more: z.boolean()\n});\n\nexport const zConnectionsDeletePath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zConnectionsDeleteResponse = z.object({\n id: z.string(),\n object: z.literal('connection'),\n deleted: z.literal(true)\n});\n\nexport const zConnectionsGetPath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zConnectionsGetResponse = z.object({\n id: z.string(),\n profile_id: z.string(),\n platform: z.enum([\n 'meta_ads',\n 'google_ads',\n 'tiktok_ads',\n 'x',\n 'linkedin',\n 'facebook_page',\n 'instagram',\n 'tiktok'\n ]),\n kind: z.enum(['posting', 'ads']),\n status: z.enum([\n 'pending',\n 'active',\n 'needs_reauth'\n ]),\n external_account_id: z.string().nullable(),\n external_account_name: z.string().nullable(),\n username: z.string().nullable(),\n avatar_url: z.string().nullable(),\n profile_url: z.string().nullable(),\n reauth_at: z.string().nullable(),\n currency: z.string().nullable(),\n created_at: z.string().nullable(),\n updated_at: z.string().nullable()\n});\n\nexport const zConnectionsSelectBody = z.object({\n external_account_id: z.string().min(1)\n});\n\nexport const zConnectionsSelectPath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zConnectionsSelectResponse = z.object({\n id: z.string(),\n profile_id: z.string(),\n platform: z.enum([\n 'meta_ads',\n 'google_ads',\n 'tiktok_ads',\n 'x',\n 'linkedin',\n 'facebook_page',\n 'instagram',\n 'tiktok'\n ]),\n kind: z.enum(['posting', 'ads']),\n status: z.enum([\n 'pending',\n 'active',\n 'needs_reauth'\n ]),\n external_account_id: z.string().nullable(),\n external_account_name: z.string().nullable(),\n username: z.string().nullable(),\n avatar_url: z.string().nullable(),\n profile_url: z.string().nullable(),\n reauth_at: z.string().nullable(),\n currency: z.string().nullable(),\n created_at: z.string().nullable(),\n updated_at: z.string().nullable()\n});\n\nexport const zConnectionsListAccountsPath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zConnectionsListAccountsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n external_account_id: z.string(),\n name: z.string().nullable(),\n currency: z.string().nullable(),\n username: z.string().nullish(),\n avatar_url: z.string().nullish(),\n profile_url: z.string().nullish(),\n instagram: z.object({\n external_account_id: z.string(),\n name: z.string().nullable(),\n username: z.string().nullish(),\n avatar_url: z.string().nullish(),\n profile_url: z.string().nullish()\n }).nullish()\n }))\n});\n\nexport const zConnectionsConnectBody = z.object({\n platform: z.enum([\n 'meta_ads',\n 'google_ads',\n 'x',\n 'linkedin',\n 'facebook_page',\n 'tiktok'\n ])\n});\n\nexport const zConnectionsConnectPath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zConnectionsConnectResponse = z.object({\n hosted_connect_url: z.string(),\n connect_token: z.string(),\n connect_session_token: z.string(),\n provider_config_key: z.string(),\n nango_host: z.string(),\n expires_at: z.string()\n});\n\nexport const zMediaListQuery = z.object({\n limit: z.int().gte(1).lte(100).optional().default(20),\n offset: z.int().gte(0).lte(9007199254740991).optional().default(0),\n profile_id: z.string().optional(),\n status: z.enum([\n 'uploading',\n 'processing',\n 'ready',\n 'failed'\n ]).optional(),\n kind: z.enum([\n 'image',\n 'video',\n 'gif',\n 'document'\n ]).optional(),\n external_id: z.string().optional(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])).optional()\n});\n\n/**\n * OK\n */\nexport const zMediaListResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n object: z.literal('media'),\n profile_id: z.string(),\n kind: z.enum([\n 'image',\n 'video',\n 'gif',\n 'document'\n ]).nullable(),\n content_type: z.string().nullable(),\n status: z.enum([\n 'uploading',\n 'processing',\n 'ready',\n 'failed'\n ]),\n progress: z.object({\n stage: z.enum([\n 'queued',\n 'analyzing',\n 'transcoding',\n 'done'\n ]),\n percent: z.int().gte(0).lte(100)\n }),\n raw: z.boolean(),\n error: z.object({\n code: z.enum([\n 'media_unprobeable',\n 'media_format_indeterminate',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_unsupported'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional()\n }).nullable(),\n source: z.object({\n format: z.string(),\n bytes: z.int().gte(0).lte(9007199254740991),\n width: z.int().gt(0).lte(9007199254740991).nullable(),\n height: z.int().gt(0).lte(9007199254740991).nullable(),\n duration_ms: z.int().gte(0).lte(9007199254740991).nullable()\n }).nullable(),\n alt_text: z.string().max(1000).nullable(),\n per_platform: z.record(z.string(), z.object({\n status: z.enum([\n 'processing',\n 'ready',\n 'failed'\n ]),\n url: z.string().nullable(),\n width: z.int().gt(0).lte(9007199254740991).nullable(),\n height: z.int().gt(0).lte(9007199254740991).nullable(),\n bytes: z.int().gte(0).lte(9007199254740991).nullable(),\n warnings: z.array(z.object({\n code: z.enum([\n 'media_unprobeable',\n 'media_format_indeterminate',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_unsupported'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional()\n })),\n errors: z.array(z.object({\n code: z.enum([\n 'media_unprobeable',\n 'media_format_indeterminate',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_unsupported'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional()\n }))\n })),\n external_id: z.string().nullable(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])),\n created_at: z.string(),\n updated_at: z.string()\n })),\n total: z.int().gte(-9007199254740991).lte(9007199254740991),\n limit: z.int().gte(-9007199254740991).lte(9007199254740991),\n offset: z.int().gte(-9007199254740991).lte(9007199254740991),\n has_more: z.boolean()\n});\n\n/**\n * Create a media asset — either via the signed direct upload target (omit source_url) or by importing from a public https source_url (we fetch + validate + transform + store). Size limits: a direct-upload video may be up to 5 GB; all other direct uploads and any source_url import must be 1 GB or smaller. A file over its limit is rejected with `media_too_large`.\n */\nexport const zMediaCreateBody = z.object({\n profile_id: z.string(),\n kind: z.enum([\n 'image',\n 'video',\n 'gif',\n 'document'\n ]).optional(),\n content_type: z.string().min(1).regex(/^(?:(?:image|video)\\/[A-Za-z0-9][A-Za-z0-9!#$&^_.+-]*|application\\/pdf|application\\/msword|application\\/vnd\\.openxmlformats-officedocument\\.wordprocessingml\\.document|application\\/vnd\\.ms-powerpoint|application\\/vnd\\.openxmlformats-officedocument\\.presentationml\\.presentation)$/).optional(),\n source_url: z.url().optional(),\n targets: z.array(z.enum([\n 'x',\n 'linkedin',\n 'facebook_page',\n 'instagram',\n 'tiktok',\n 'google_ads'\n ])).min(1).optional(),\n raw: z.boolean().optional().default(false),\n alt_text: z.string().max(1000).optional(),\n external_id: z.string().min(1).max(255).optional(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])).optional()\n});\n\n/**\n * OK\n */\nexport const zMediaCreateResponse = z.object({\n id: z.string(),\n object: z.literal('media'),\n profile_id: z.string(),\n kind: z.enum([\n 'image',\n 'video',\n 'gif',\n 'document'\n ]).nullable(),\n content_type: z.string().nullable(),\n status: z.enum([\n 'uploading',\n 'processing',\n 'ready',\n 'failed'\n ]),\n progress: z.object({\n stage: z.enum([\n 'queued',\n 'analyzing',\n 'transcoding',\n 'done'\n ]),\n percent: z.int().gte(0).lte(100)\n }),\n raw: z.boolean(),\n error: z.object({\n code: z.enum([\n 'media_unprobeable',\n 'media_format_indeterminate',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_unsupported'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional()\n }).nullable(),\n source: z.object({\n format: z.string(),\n bytes: z.int().gte(0).lte(9007199254740991),\n width: z.int().gt(0).lte(9007199254740991).nullable(),\n height: z.int().gt(0).lte(9007199254740991).nullable(),\n duration_ms: z.int().gte(0).lte(9007199254740991).nullable()\n }).nullable(),\n alt_text: z.string().max(1000).nullable(),\n per_platform: z.record(z.string(), z.object({\n status: z.enum([\n 'processing',\n 'ready',\n 'failed'\n ]),\n url: z.string().nullable(),\n width: z.int().gt(0).lte(9007199254740991).nullable(),\n height: z.int().gt(0).lte(9007199254740991).nullable(),\n bytes: z.int().gte(0).lte(9007199254740991).nullable(),\n warnings: z.array(z.object({\n code: z.enum([\n 'media_unprobeable',\n 'media_format_indeterminate',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_unsupported'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional()\n })),\n errors: z.array(z.object({\n code: z.enum([\n 'media_unprobeable',\n 'media_format_indeterminate',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_unsupported'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional()\n }))\n })),\n external_id: z.string().nullable(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])),\n created_at: z.string(),\n updated_at: z.string(),\n upload: z.object({\n url: z.url(),\n method: z.literal('PUT'),\n headers: z.record(z.string(), z.string()),\n expires_at: z.string()\n }).nullable()\n});\n\nexport const zMediaDeletePath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zMediaDeleteResponse = z.object({\n id: z.string(),\n object: z.literal('media'),\n deleted: z.literal(true)\n});\n\nexport const zMediaGetPath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zMediaGetResponse = z.object({\n id: z.string(),\n object: z.literal('media'),\n profile_id: z.string(),\n kind: z.enum([\n 'image',\n 'video',\n 'gif',\n 'document'\n ]).nullable(),\n content_type: z.string().nullable(),\n status: z.enum([\n 'uploading',\n 'processing',\n 'ready',\n 'failed'\n ]),\n progress: z.object({\n stage: z.enum([\n 'queued',\n 'analyzing',\n 'transcoding',\n 'done'\n ]),\n percent: z.int().gte(0).lte(100)\n }),\n raw: z.boolean(),\n error: z.object({\n code: z.enum([\n 'media_unprobeable',\n 'media_format_indeterminate',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_unsupported'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional()\n }).nullable(),\n source: z.object({\n format: z.string(),\n bytes: z.int().gte(0).lte(9007199254740991),\n width: z.int().gt(0).lte(9007199254740991).nullable(),\n height: z.int().gt(0).lte(9007199254740991).nullable(),\n duration_ms: z.int().gte(0).lte(9007199254740991).nullable()\n }).nullable(),\n alt_text: z.string().max(1000).nullable(),\n per_platform: z.record(z.string(), z.object({\n status: z.enum([\n 'processing',\n 'ready',\n 'failed'\n ]),\n url: z.string().nullable(),\n width: z.int().gt(0).lte(9007199254740991).nullable(),\n height: z.int().gt(0).lte(9007199254740991).nullable(),\n bytes: z.int().gte(0).lte(9007199254740991).nullable(),\n warnings: z.array(z.object({\n code: z.enum([\n 'media_unprobeable',\n 'media_format_indeterminate',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_unsupported'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional()\n })),\n errors: z.array(z.object({\n code: z.enum([\n 'media_unprobeable',\n 'media_format_indeterminate',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_unsupported'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional()\n }))\n })),\n external_id: z.string().nullable(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])),\n created_at: z.string(),\n updated_at: z.string()\n});\n\nexport const zMediaUpdateBody = z.object({\n alt_text: z.string().max(1000).nullish(),\n external_id: z.string().min(1).max(255).nullish(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])).optional(),\n targets: z.array(z.enum([\n 'x',\n 'linkedin',\n 'facebook_page',\n 'instagram',\n 'tiktok',\n 'google_ads'\n ])).min(1).optional()\n});\n\nexport const zMediaUpdatePath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zMediaUpdateResponse = z.object({\n id: z.string(),\n object: z.literal('media'),\n profile_id: z.string(),\n kind: z.enum([\n 'image',\n 'video',\n 'gif',\n 'document'\n ]).nullable(),\n content_type: z.string().nullable(),\n status: z.enum([\n 'uploading',\n 'processing',\n 'ready',\n 'failed'\n ]),\n progress: z.object({\n stage: z.enum([\n 'queued',\n 'analyzing',\n 'transcoding',\n 'done'\n ]),\n percent: z.int().gte(0).lte(100)\n }),\n raw: z.boolean(),\n error: z.object({\n code: z.enum([\n 'media_unprobeable',\n 'media_format_indeterminate',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_unsupported'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional()\n }).nullable(),\n source: z.object({\n format: z.string(),\n bytes: z.int().gte(0).lte(9007199254740991),\n width: z.int().gt(0).lte(9007199254740991).nullable(),\n height: z.int().gt(0).lte(9007199254740991).nullable(),\n duration_ms: z.int().gte(0).lte(9007199254740991).nullable()\n }).nullable(),\n alt_text: z.string().max(1000).nullable(),\n per_platform: z.record(z.string(), z.object({\n status: z.enum([\n 'processing',\n 'ready',\n 'failed'\n ]),\n url: z.string().nullable(),\n width: z.int().gt(0).lte(9007199254740991).nullable(),\n height: z.int().gt(0).lte(9007199254740991).nullable(),\n bytes: z.int().gte(0).lte(9007199254740991).nullable(),\n warnings: z.array(z.object({\n code: z.enum([\n 'media_unprobeable',\n 'media_format_indeterminate',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_unsupported'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional()\n })),\n errors: z.array(z.object({\n code: z.enum([\n 'media_unprobeable',\n 'media_format_indeterminate',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_unsupported'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional()\n }))\n })),\n external_id: z.string().nullable(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])),\n created_at: z.string(),\n updated_at: z.string()\n});\n\nexport const zPostsListQuery = z.object({\n limit: z.int().gte(1).lte(100).optional().default(20),\n offset: z.int().gte(0).lte(9007199254740991).optional().default(0),\n profile_id: z.string().optional(),\n external_id: z.string().optional(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])).optional(),\n scheduled_after: z.iso.datetime().optional(),\n scheduled_before: z.iso.datetime().optional(),\n updated_after: z.iso.datetime().optional(),\n status: z.array(z.enum([\n 'draft',\n 'scheduled',\n 'publishing',\n 'partially_published',\n 'published',\n 'failed'\n ])).optional()\n});\n\n/**\n * OK\n */\nexport const zPostsListResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n object: z.literal('post'),\n profile_id: z.string(),\n external_id: z.string().nullable(),\n status: z.enum([\n 'draft',\n 'scheduled',\n 'publishing',\n 'partially_published',\n 'published',\n 'failed'\n ]),\n schedule_at: z.string().nullable(),\n tags: z.array(z.string()),\n notes: z.string().nullable(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])),\n variants: z.array(z.object({\n id: z.string(),\n object: z.literal('post_variant'),\n connection_id: z.string().nullable(),\n platform: z.enum([\n 'x',\n 'linkedin',\n 'facebook_page',\n 'instagram',\n 'tiktok'\n ]),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'video',\n 'reel',\n 'carousel'\n ]),\n body: z.string().nullable(),\n status: z.enum([\n 'draft',\n 'scheduled',\n 'publishing',\n 'published',\n 'failed'\n ]),\n settings: z.record(z.string(), z.unknown()),\n schedule_at: z.string().nullable(),\n result: z.object({\n platform_post_id: z.string(),\n permalink: z.string().nullable(),\n published_at: z.string()\n }).nullable(),\n error: z.object({\n code: z.string(),\n message: z.string()\n }).nullable(),\n media: z.array(z.object({\n media_id: z.string(),\n position: z.int().gte(-9007199254740991).lte(9007199254740991),\n crop_box: z.record(z.string(), z.unknown()).nullable(),\n alt_text_override: z.string().nullable()\n }))\n })),\n created_at: z.string(),\n updated_at: z.string()\n })),\n total: z.int().gte(-9007199254740991).lte(9007199254740991),\n limit: z.int().gte(-9007199254740991).lte(9007199254740991),\n offset: z.int().gte(-9007199254740991).lte(9007199254740991),\n has_more: z.boolean()\n});\n\nexport const zPostsCreateBody = z.object({\n profile_id: z.string(),\n publish: z.enum([\n 'now',\n 'schedule',\n 'draft'\n ]).optional().default('draft'),\n schedule_at: z.iso.datetime().optional(),\n external_id: z.string().min(1).max(255).optional(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])).optional(),\n tags: z.array(z.string()).optional(),\n notes: z.string().optional(),\n dry_run: z.boolean().optional().default(false),\n variants: z.array(z.union([\n z.object({\n platform: z.literal('x'),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'video'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n reply_settings: z.enum([\n 'everyone',\n 'following',\n 'mentionedUsers',\n 'subscribers',\n 'verified'\n ]).optional(),\n quote_tweet_id: z.string().regex(/^[0-9]{1,19}$/).optional(),\n poll: z.object({\n options: z.array(z.string().min(1).max(25)).min(2).max(4),\n duration_minutes: z.int().gte(5).lte(10080),\n reply_settings: z.enum([\n 'following',\n 'mentionedUsers',\n 'subscribers',\n 'verified'\n ]).optional()\n }).optional(),\n reply: z.object({\n in_reply_to_tweet_id: z.string().regex(/^[0-9]{1,19}$/),\n exclude_reply_user_ids: z.array(z.string().regex(/^[0-9]{1,19}$/)).optional(),\n auto_populate_reply_metadata: z.boolean().optional()\n }).optional(),\n community_id: z.string().regex(/^[0-9]{1,19}$/).optional(),\n for_super_followers_only: z.boolean().optional(),\n geo: z.object({\n place_id: z.string()\n }).optional(),\n card_uri: z.string().optional(),\n media_tagged_user_ids: z.array(z.string().regex(/^[0-9]{1,19}$/)).max(10).optional()\n }).optional().default({})\n }),\n z.object({\n platform: z.literal('linkedin'),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'video'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n visibility: z.enum(['PUBLIC', 'CONNECTIONS']),\n content_kind: z.enum([\n 'text',\n 'single_image',\n 'video',\n 'multi_image',\n 'document',\n 'article',\n 'poll'\n ]),\n article: z.object({\n source: z.url(),\n title: z.string().max(400).optional(),\n description: z.string().max(4086).optional(),\n thumbnail_media_id: z.string().optional()\n }).optional(),\n poll: z.object({\n question: z.string().min(1).max(140),\n options: z.array(z.string().min(1).max(30)).min(2).max(4),\n duration: z.enum([\n 'ONE_DAY',\n 'THREE_DAYS',\n 'SEVEN_DAYS',\n 'FOURTEEN_DAYS'\n ])\n }).optional(),\n document: z.object({\n title: z.string().min(1).max(400)\n }).optional(),\n disable_reshare: z.boolean().optional(),\n mentions: z.array(z.object({\n type: z.enum(['person', 'organization']),\n name: z.string().min(1),\n urn: z.string().regex(/^urn:li:(person|organization):/)\n })).optional()\n })\n }),\n z.object({\n platform: z.literal('instagram'),\n post_type: z.enum([\n 'single_image',\n 'carousel',\n 'reel'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n media_type: z.enum([\n 'IMAGE',\n 'CAROUSEL',\n 'REELS'\n ]).optional(),\n location_id: z.string().optional(),\n user_tags: z.array(z.object({\n username: z.string().min(1),\n x: z.number().gte(0).lte(1),\n y: z.number().gte(0).lte(1)\n })).optional(),\n collaborators: z.array(z.string().min(1)).max(3).optional(),\n share_to_feed: z.boolean().optional(),\n thumb_offset: z.int().gte(0).lte(9007199254740991).optional(),\n cover_url: z.url().optional(),\n audio_name: z.string().optional()\n })\n }),\n z.object({\n platform: z.literal('facebook_page'),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'reel'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n link: z.url().optional()\n }).optional().default({})\n }),\n z.object({\n platform: z.literal('tiktok'),\n post_type: z.enum([\n 'video',\n 'single_image',\n 'carousel'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n privacy_level: z.enum([\n 'PUBLIC_TO_EVERYONE',\n 'MUTUAL_FOLLOW_FRIENDS',\n 'FOLLOWER_OF_CREATOR',\n 'SELF_ONLY'\n ]).optional(),\n disable_comment: z.boolean().optional(),\n disable_duet: z.boolean().optional(),\n disable_stitch: z.boolean().optional(),\n video_cover_timestamp_ms: z.int().gte(0).lte(9007199254740991).optional(),\n photo_cover_index: z.int().gte(0).lte(9007199254740991).optional(),\n auto_add_music: z.boolean().optional(),\n brand_content_toggle: z.boolean().optional(),\n brand_organic_toggle: z.boolean().optional(),\n is_aigc: z.boolean().optional()\n }).optional().default({})\n })\n ])).min(1)\n});\n\n/**\n * OK\n */\nexport const zPostsCreateResponse = z.object({\n id: z.string(),\n object: z.literal('post'),\n profile_id: z.string(),\n external_id: z.string().nullable(),\n status: z.enum([\n 'draft',\n 'scheduled',\n 'publishing',\n 'partially_published',\n 'published',\n 'failed'\n ]),\n schedule_at: z.string().nullable(),\n tags: z.array(z.string()),\n notes: z.string().nullable(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])),\n variants: z.array(z.object({\n id: z.string(),\n object: z.literal('post_variant'),\n connection_id: z.string().nullable(),\n platform: z.enum([\n 'x',\n 'linkedin',\n 'facebook_page',\n 'instagram',\n 'tiktok'\n ]),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'video',\n 'reel',\n 'carousel'\n ]),\n body: z.string().nullable(),\n status: z.enum([\n 'draft',\n 'scheduled',\n 'publishing',\n 'published',\n 'failed'\n ]),\n settings: z.record(z.string(), z.unknown()),\n schedule_at: z.string().nullable(),\n result: z.object({\n platform_post_id: z.string(),\n permalink: z.string().nullable(),\n published_at: z.string()\n }).nullable(),\n error: z.object({\n code: z.string(),\n message: z.string()\n }).nullable(),\n media: z.array(z.object({\n media_id: z.string(),\n position: z.int().gte(-9007199254740991).lte(9007199254740991),\n crop_box: z.record(z.string(), z.unknown()).nullable(),\n alt_text_override: z.string().nullable()\n }))\n })),\n created_at: z.string(),\n updated_at: z.string(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zPostsDeletePath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zPostsDeleteResponse = z.object({\n id: z.string(),\n object: z.literal('post'),\n deleted: z.literal(true)\n});\n\nexport const zPostsGetPath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zPostsGetResponse = z.object({\n id: z.string(),\n object: z.literal('post'),\n profile_id: z.string(),\n external_id: z.string().nullable(),\n status: z.enum([\n 'draft',\n 'scheduled',\n 'publishing',\n 'partially_published',\n 'published',\n 'failed'\n ]),\n schedule_at: z.string().nullable(),\n tags: z.array(z.string()),\n notes: z.string().nullable(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])),\n variants: z.array(z.object({\n id: z.string(),\n object: z.literal('post_variant'),\n connection_id: z.string().nullable(),\n platform: z.enum([\n 'x',\n 'linkedin',\n 'facebook_page',\n 'instagram',\n 'tiktok'\n ]),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'video',\n 'reel',\n 'carousel'\n ]),\n body: z.string().nullable(),\n status: z.enum([\n 'draft',\n 'scheduled',\n 'publishing',\n 'published',\n 'failed'\n ]),\n settings: z.record(z.string(), z.unknown()),\n schedule_at: z.string().nullable(),\n result: z.object({\n platform_post_id: z.string(),\n permalink: z.string().nullable(),\n published_at: z.string()\n }).nullable(),\n error: z.object({\n code: z.string(),\n message: z.string()\n }).nullable(),\n media: z.array(z.object({\n media_id: z.string(),\n position: z.int().gte(-9007199254740991).lte(9007199254740991),\n crop_box: z.record(z.string(), z.unknown()).nullable(),\n alt_text_override: z.string().nullable()\n }))\n })),\n created_at: z.string(),\n updated_at: z.string()\n});\n\nexport const zPostsUpdateBody = z.object({\n publish: z.enum([\n 'now',\n 'schedule',\n 'draft'\n ]).optional(),\n schedule_at: z.iso.datetime().nullish(),\n external_id: z.string().min(1).max(255).nullish(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])).optional(),\n tags: z.array(z.string()).optional(),\n notes: z.string().nullish(),\n dry_run: z.boolean().optional().default(false),\n variants: z.array(z.union([\n z.object({\n platform: z.literal('x'),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'video'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n reply_settings: z.enum([\n 'everyone',\n 'following',\n 'mentionedUsers',\n 'subscribers',\n 'verified'\n ]).optional(),\n quote_tweet_id: z.string().regex(/^[0-9]{1,19}$/).optional(),\n poll: z.object({\n options: z.array(z.string().min(1).max(25)).min(2).max(4),\n duration_minutes: z.int().gte(5).lte(10080),\n reply_settings: z.enum([\n 'following',\n 'mentionedUsers',\n 'subscribers',\n 'verified'\n ]).optional()\n }).optional(),\n reply: z.object({\n in_reply_to_tweet_id: z.string().regex(/^[0-9]{1,19}$/),\n exclude_reply_user_ids: z.array(z.string().regex(/^[0-9]{1,19}$/)).optional(),\n auto_populate_reply_metadata: z.boolean().optional()\n }).optional(),\n community_id: z.string().regex(/^[0-9]{1,19}$/).optional(),\n for_super_followers_only: z.boolean().optional(),\n geo: z.object({\n place_id: z.string()\n }).optional(),\n card_uri: z.string().optional(),\n media_tagged_user_ids: z.array(z.string().regex(/^[0-9]{1,19}$/)).max(10).optional()\n }).optional().default({})\n }),\n z.object({\n platform: z.literal('linkedin'),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'video'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n visibility: z.enum(['PUBLIC', 'CONNECTIONS']),\n content_kind: z.enum([\n 'text',\n 'single_image',\n 'video',\n 'multi_image',\n 'document',\n 'article',\n 'poll'\n ]),\n article: z.object({\n source: z.url(),\n title: z.string().max(400).optional(),\n description: z.string().max(4086).optional(),\n thumbnail_media_id: z.string().optional()\n }).optional(),\n poll: z.object({\n question: z.string().min(1).max(140),\n options: z.array(z.string().min(1).max(30)).min(2).max(4),\n duration: z.enum([\n 'ONE_DAY',\n 'THREE_DAYS',\n 'SEVEN_DAYS',\n 'FOURTEEN_DAYS'\n ])\n }).optional(),\n document: z.object({\n title: z.string().min(1).max(400)\n }).optional(),\n disable_reshare: z.boolean().optional(),\n mentions: z.array(z.object({\n type: z.enum(['person', 'organization']),\n name: z.string().min(1),\n urn: z.string().regex(/^urn:li:(person|organization):/)\n })).optional()\n })\n }),\n z.object({\n platform: z.literal('instagram'),\n post_type: z.enum([\n 'single_image',\n 'carousel',\n 'reel'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n media_type: z.enum([\n 'IMAGE',\n 'CAROUSEL',\n 'REELS'\n ]).optional(),\n location_id: z.string().optional(),\n user_tags: z.array(z.object({\n username: z.string().min(1),\n x: z.number().gte(0).lte(1),\n y: z.number().gte(0).lte(1)\n })).optional(),\n collaborators: z.array(z.string().min(1)).max(3).optional(),\n share_to_feed: z.boolean().optional(),\n thumb_offset: z.int().gte(0).lte(9007199254740991).optional(),\n cover_url: z.url().optional(),\n audio_name: z.string().optional()\n })\n }),\n z.object({\n platform: z.literal('facebook_page'),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'reel'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n link: z.url().optional()\n }).optional().default({})\n }),\n z.object({\n platform: z.literal('tiktok'),\n post_type: z.enum([\n 'video',\n 'single_image',\n 'carousel'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n privacy_level: z.enum([\n 'PUBLIC_TO_EVERYONE',\n 'MUTUAL_FOLLOW_FRIENDS',\n 'FOLLOWER_OF_CREATOR',\n 'SELF_ONLY'\n ]).optional(),\n disable_comment: z.boolean().optional(),\n disable_duet: z.boolean().optional(),\n disable_stitch: z.boolean().optional(),\n video_cover_timestamp_ms: z.int().gte(0).lte(9007199254740991).optional(),\n photo_cover_index: z.int().gte(0).lte(9007199254740991).optional(),\n auto_add_music: z.boolean().optional(),\n brand_content_toggle: z.boolean().optional(),\n brand_organic_toggle: z.boolean().optional(),\n is_aigc: z.boolean().optional()\n }).optional().default({})\n })\n ])).min(1).optional()\n});\n\nexport const zPostsUpdatePath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zPostsUpdateResponse = z.object({\n id: z.string(),\n object: z.literal('post'),\n profile_id: z.string(),\n external_id: z.string().nullable(),\n status: z.enum([\n 'draft',\n 'scheduled',\n 'publishing',\n 'partially_published',\n 'published',\n 'failed'\n ]),\n schedule_at: z.string().nullable(),\n tags: z.array(z.string()),\n notes: z.string().nullable(),\n metadata: z.record(z.string(), z.union([\n z.string().max(500),\n z.number(),\n z.boolean()\n ])),\n variants: z.array(z.object({\n id: z.string(),\n object: z.literal('post_variant'),\n connection_id: z.string().nullable(),\n platform: z.enum([\n 'x',\n 'linkedin',\n 'facebook_page',\n 'instagram',\n 'tiktok'\n ]),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'video',\n 'reel',\n 'carousel'\n ]),\n body: z.string().nullable(),\n status: z.enum([\n 'draft',\n 'scheduled',\n 'publishing',\n 'published',\n 'failed'\n ]),\n settings: z.record(z.string(), z.unknown()),\n schedule_at: z.string().nullable(),\n result: z.object({\n platform_post_id: z.string(),\n permalink: z.string().nullable(),\n published_at: z.string()\n }).nullable(),\n error: z.object({\n code: z.string(),\n message: z.string()\n }).nullable(),\n media: z.array(z.object({\n media_id: z.string(),\n position: z.int().gte(-9007199254740991).lte(9007199254740991),\n crop_box: z.record(z.string(), z.unknown()).nullable(),\n alt_text_override: z.string().nullable()\n }))\n })),\n created_at: z.string(),\n updated_at: z.string(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zPostsValidateBody = z.object({\n profile_id: z.string(),\n variants: z.array(z.union([\n z.object({\n platform: z.literal('x'),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'video'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n reply_settings: z.enum([\n 'everyone',\n 'following',\n 'mentionedUsers',\n 'subscribers',\n 'verified'\n ]).optional(),\n quote_tweet_id: z.string().regex(/^[0-9]{1,19}$/).optional(),\n poll: z.object({\n options: z.array(z.string().min(1).max(25)).min(2).max(4),\n duration_minutes: z.int().gte(5).lte(10080),\n reply_settings: z.enum([\n 'following',\n 'mentionedUsers',\n 'subscribers',\n 'verified'\n ]).optional()\n }).optional(),\n reply: z.object({\n in_reply_to_tweet_id: z.string().regex(/^[0-9]{1,19}$/),\n exclude_reply_user_ids: z.array(z.string().regex(/^[0-9]{1,19}$/)).optional(),\n auto_populate_reply_metadata: z.boolean().optional()\n }).optional(),\n community_id: z.string().regex(/^[0-9]{1,19}$/).optional(),\n for_super_followers_only: z.boolean().optional(),\n geo: z.object({\n place_id: z.string()\n }).optional(),\n card_uri: z.string().optional(),\n media_tagged_user_ids: z.array(z.string().regex(/^[0-9]{1,19}$/)).max(10).optional()\n }).optional().default({})\n }),\n z.object({\n platform: z.literal('linkedin'),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'video'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n visibility: z.enum(['PUBLIC', 'CONNECTIONS']),\n content_kind: z.enum([\n 'text',\n 'single_image',\n 'video',\n 'multi_image',\n 'document',\n 'article',\n 'poll'\n ]),\n article: z.object({\n source: z.url(),\n title: z.string().max(400).optional(),\n description: z.string().max(4086).optional(),\n thumbnail_media_id: z.string().optional()\n }).optional(),\n poll: z.object({\n question: z.string().min(1).max(140),\n options: z.array(z.string().min(1).max(30)).min(2).max(4),\n duration: z.enum([\n 'ONE_DAY',\n 'THREE_DAYS',\n 'SEVEN_DAYS',\n 'FOURTEEN_DAYS'\n ])\n }).optional(),\n document: z.object({\n title: z.string().min(1).max(400)\n }).optional(),\n disable_reshare: z.boolean().optional(),\n mentions: z.array(z.object({\n type: z.enum(['person', 'organization']),\n name: z.string().min(1),\n urn: z.string().regex(/^urn:li:(person|organization):/)\n })).optional()\n })\n }),\n z.object({\n platform: z.literal('instagram'),\n post_type: z.enum([\n 'single_image',\n 'carousel',\n 'reel'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n media_type: z.enum([\n 'IMAGE',\n 'CAROUSEL',\n 'REELS'\n ]).optional(),\n location_id: z.string().optional(),\n user_tags: z.array(z.object({\n username: z.string().min(1),\n x: z.number().gte(0).lte(1),\n y: z.number().gte(0).lte(1)\n })).optional(),\n collaborators: z.array(z.string().min(1)).max(3).optional(),\n share_to_feed: z.boolean().optional(),\n thumb_offset: z.int().gte(0).lte(9007199254740991).optional(),\n cover_url: z.url().optional(),\n audio_name: z.string().optional()\n })\n }),\n z.object({\n platform: z.literal('facebook_page'),\n post_type: z.enum([\n 'text',\n 'single_image',\n 'multi_image',\n 'reel'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n link: z.url().optional()\n }).optional().default({})\n }),\n z.object({\n platform: z.literal('tiktok'),\n post_type: z.enum([\n 'video',\n 'single_image',\n 'carousel'\n ]),\n connection_id: z.string(),\n body: z.string().optional(),\n media: z.array(z.object({\n media_id: z.string(),\n crop_box: z.record(z.string(), z.unknown()).nullish(),\n alt_text_override: z.string().nullish()\n })).optional().default([]),\n settings: z.object({\n privacy_level: z.enum([\n 'PUBLIC_TO_EVERYONE',\n 'MUTUAL_FOLLOW_FRIENDS',\n 'FOLLOWER_OF_CREATOR',\n 'SELF_ONLY'\n ]).optional(),\n disable_comment: z.boolean().optional(),\n disable_duet: z.boolean().optional(),\n disable_stitch: z.boolean().optional(),\n video_cover_timestamp_ms: z.int().gte(0).lte(9007199254740991).optional(),\n photo_cover_index: z.int().gte(0).lte(9007199254740991).optional(),\n auto_add_music: z.boolean().optional(),\n brand_content_toggle: z.boolean().optional(),\n brand_organic_toggle: z.boolean().optional(),\n is_aigc: z.boolean().optional()\n }).optional().default({})\n })\n ])).min(1)\n});\n\n/**\n * OK\n */\nexport const zPostsValidateResponse = z.object({\n object: z.literal('validation'),\n publishable: z.boolean(),\n issues: z.array(z.object({\n code: z.enum([\n 'unauthorized',\n 'forbidden',\n 'not_found',\n 'conflict',\n 'validation_failed',\n 'rate_limited',\n 'internal_error',\n 'idempotency_key_invalid',\n 'idempotency_key_reused',\n 'idempotency_request_in_progress',\n 'account_not_available',\n 'connection_reauth_required',\n 'connection_not_pending',\n 'not_implemented',\n 'connection_discovery_failed',\n 'media_processing',\n 'not_publishable',\n 'invalid_connection',\n 'invalid_media',\n 'profile_scope_invalid',\n 'media_unprobeable',\n 'media_too_large',\n 'media_aspect_ratio_unsupported',\n 'media_resolution_too_low',\n 'media_gif_unsupported',\n 'media_format_recompressed',\n 'media_resolution_downscaled',\n 'video_container_unsupported',\n 'video_codec_unsupported',\n 'video_audio_codec_unsupported',\n 'video_too_large',\n 'video_too_small',\n 'video_dimensions_unsupported',\n 'video_dimensions_too_large',\n 'video_fps_unsupported',\n 'video_fps_too_low',\n 'video_aspect_unsupported',\n 'video_duration_too_short',\n 'video_duration_exceeds_max',\n 'video_transform_failed',\n 'media_fetch_failed',\n 'document_format_unsupported',\n 'document_too_large',\n 'document_too_many_pages',\n 'media_format_indeterminate',\n 'media_count_invalid',\n 'body_too_long',\n 'content_missing',\n 'content_conflict',\n 'content_incomplete',\n 'content_kind_mismatch',\n 'media_type_mismatch',\n 'tag_limit_exceeded',\n 'reel_field_on_non_reel',\n 'field_placement_invalid',\n 'media_not_ready',\n 'media_failed',\n 'media_unsupported',\n 'media_kind_mismatch',\n 'variant_unparseable',\n 'publishing_unavailable',\n 'x_duplicate_content',\n 'x_not_authorized',\n 'x_access_not_permitted',\n 'x_rate_limited',\n 'x_publish_failed',\n 'x_media_upload_failed',\n 'linkedin_duplicate_content',\n 'linkedin_auth_expired',\n 'linkedin_permission_denied',\n 'linkedin_media_processing',\n 'linkedin_media_upload_failed',\n 'linkedin_publish_failed',\n 'instagram_media_processing',\n 'instagram_container_expired',\n 'instagram_container_failed',\n 'instagram_rate_limited',\n 'instagram_not_authorized',\n 'instagram_publish_failed',\n 'facebook_reel_processing',\n 'facebook_reel_failed',\n 'facebook_rate_limited',\n 'facebook_not_authorized',\n 'facebook_publish_failed',\n 'tiktok_privacy_not_allowed',\n 'tiktok_duration_exceeds_max',\n 'tiktok_media_processing',\n 'tiktok_not_authorized',\n 'tiktok_rate_limited',\n 'tiktok_publish_failed',\n 'connection_platform_mismatch',\n 'connection_removed'\n ]),\n message: z.string(),\n hint: z.string().optional(),\n allowed: z.array(z.string()).optional(),\n got: z.string().optional(),\n variant_index: z.int().gte(-9007199254740991).lte(9007199254740991),\n path: z.array(z.union([z.string(), z.number()]))\n }))\n});\n\nexport const zMetaAccountPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * A Meta (Facebook) ad account.\n */\nexport const zMetaAccountResponse = z.object({\n id: z.string(),\n account_id: z.string(),\n name: z.string().nullable(),\n account_status: z.int().gte(-9007199254740991).lte(9007199254740991),\n currency: z.string(),\n timezone_name: z.string().nullable(),\n amount_spent: z.string(),\n balance: z.string(),\n spend_cap: z.string().nullable()\n});\n\nexport const zMetaInsightsPath = z.object({\n connection_id: z.string()\n});\n\nexport const zMetaInsightsQuery = z.object({\n level: z.enum([\n 'account',\n 'campaign',\n 'adset',\n 'ad'\n ]).optional().default('account'),\n date_preset: z.enum([\n 'today',\n 'yesterday',\n 'this_month',\n 'last_month',\n 'this_quarter',\n 'maximum',\n 'data_maximum',\n 'last_3d',\n 'last_7d',\n 'last_14d',\n 'last_28d',\n 'last_30d',\n 'last_90d',\n 'last_week_mon_sun',\n 'last_week_sun_sat',\n 'last_quarter',\n 'last_year',\n 'this_week_mon_today',\n 'this_week_sun_today',\n 'this_year'\n ]).optional().default('last_30d'),\n time_range: z.object({\n since: z.string().regex(/^\\d{4}-\\d{2}-\\d{2}$/),\n until: z.string().regex(/^\\d{4}-\\d{2}-\\d{2}$/)\n }).optional(),\n time_increment: z.union([\n z.int().gte(1).lte(90),\n z.literal('monthly'),\n z.literal('all_days')\n ]).optional()\n});\n\n/**\n * A list of curated Meta ad-insights rows.\n */\nexport const zMetaInsightsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n date_start: z.string(),\n date_stop: z.string(),\n account_id: z.string().optional(),\n campaign_id: z.string().optional(),\n campaign_name: z.string().optional(),\n adset_id: z.string().optional(),\n adset_name: z.string().optional(),\n ad_id: z.string().optional(),\n ad_name: z.string().optional(),\n spend: z.string().optional(),\n impressions: z.string().optional(),\n clicks: z.string().optional(),\n ctr: z.string().optional(),\n cpc: z.string().optional(),\n cpm: z.string().optional(),\n cpp: z.string().optional(),\n reach: z.string().optional(),\n frequency: z.string().optional()\n }))\n});\n\nexport const zMetaCampaignsPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * A list of Meta ad campaigns.\n */\nexport const zMetaCampaignsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n account_id: z.string().optional(),\n name: z.string().nullable(),\n status: z.string().optional(),\n effective_status: z.string().optional(),\n objective: z.string().optional(),\n daily_budget: z.string().optional(),\n lifetime_budget: z.string().optional(),\n budget_remaining: z.string().optional(),\n bid_strategy: z.string().optional(),\n created_time: z.string().optional(),\n start_time: z.string().optional(),\n stop_time: z.string().optional()\n }))\n});\n\nexport const zMetaCampaignPath = z.object({\n connection_id: z.string(),\n campaign_id: z.string().min(1)\n});\n\n/**\n * A Meta (Facebook) ad campaign.\n */\nexport const zMetaCampaignResponse = z.object({\n id: z.string(),\n account_id: z.string().optional(),\n name: z.string().nullable(),\n status: z.string().optional(),\n effective_status: z.string().optional(),\n objective: z.string().optional(),\n daily_budget: z.string().optional(),\n lifetime_budget: z.string().optional(),\n budget_remaining: z.string().optional(),\n bid_strategy: z.string().optional(),\n created_time: z.string().optional(),\n start_time: z.string().optional(),\n stop_time: z.string().optional()\n});\n\nexport const zMetaAdsetsPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * A list of Meta ad sets.\n */\nexport const zMetaAdsetsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n account_id: z.string().optional(),\n name: z.string().nullable(),\n status: z.string().optional(),\n effective_status: z.string().optional(),\n campaign_id: z.string().optional(),\n daily_budget: z.string().optional(),\n lifetime_budget: z.string().optional(),\n budget_remaining: z.string().optional(),\n bid_amount: z.string().optional(),\n billing_event: z.string().optional(),\n optimization_goal: z.string().optional(),\n start_time: z.string().optional(),\n end_time: z.string().optional()\n }))\n});\n\nexport const zMetaAdsetPath = z.object({\n connection_id: z.string(),\n adset_id: z.string().min(1)\n});\n\n/**\n * A Meta (Facebook) ad set.\n */\nexport const zMetaAdsetResponse = z.object({\n id: z.string(),\n account_id: z.string().optional(),\n name: z.string().nullable(),\n status: z.string().optional(),\n effective_status: z.string().optional(),\n campaign_id: z.string().optional(),\n daily_budget: z.string().optional(),\n lifetime_budget: z.string().optional(),\n budget_remaining: z.string().optional(),\n bid_amount: z.string().optional(),\n billing_event: z.string().optional(),\n optimization_goal: z.string().optional(),\n start_time: z.string().optional(),\n end_time: z.string().optional()\n});\n\nexport const zMetaAdsPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * A list of Meta ads.\n */\nexport const zMetaAdsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n name: z.string().nullable(),\n status: z.string().optional(),\n effective_status: z.string().optional(),\n adset_id: z.string().optional(),\n campaign_id: z.string().optional(),\n account_id: z.string().optional(),\n created_time: z.string().optional(),\n updated_time: z.string().optional()\n }))\n});\n\nexport const zMetaAdPath = z.object({\n connection_id: z.string(),\n ad_id: z.string().min(1)\n});\n\n/**\n * A Meta (Facebook) ad.\n */\nexport const zMetaAdResponse = z.object({\n id: z.string(),\n name: z.string().nullable(),\n status: z.string().optional(),\n effective_status: z.string().optional(),\n adset_id: z.string().optional(),\n campaign_id: z.string().optional(),\n account_id: z.string().optional(),\n created_time: z.string().optional(),\n updated_time: z.string().optional()\n});\n\nexport const zGoogleGetAccountPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * A connected Google Ads account (the `customer` resource): id, descriptive name, currency, time zone, status, and whether it is a manager (MCC) or test account.\n */\nexport const zGoogleGetAccountResponse = z.object({\n id: z.string(),\n descriptive_name: z.string().nullable(),\n currency_code: z.string().nullable(),\n time_zone: z.string().nullable(),\n status: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ENABLED',\n 'CANCELED',\n 'SUSPENDED',\n 'CLOSED'\n ]),\n manager: z.boolean(),\n test_account: z.boolean()\n});\n\nexport const zGoogleGetInsightsBody = z.object({\n level: z.enum([\n 'account',\n 'campaign',\n 'ad_group'\n ]).optional().default('campaign'),\n metrics: z.array(z.enum([\n 'impressions',\n 'clicks',\n 'ctr',\n 'average_cpc',\n 'cost_micros',\n 'conversions',\n 'conversions_value',\n 'cost_per_conversion'\n ])).min(1).optional().default([\n 'impressions',\n 'clicks',\n 'cost_micros',\n 'conversions'\n ]),\n segments: z.array(z.enum(['date', 'device'])).optional(),\n since: z.string().regex(/^\\d{4}-\\d{2}-\\d{2}$/),\n until: z.string().regex(/^\\d{4}-\\d{2}-\\d{2}$/)\n});\n\nexport const zGoogleGetInsightsPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * Performance rows for the requested level, metrics, and window.\n */\nexport const zGoogleGetInsightsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n level: z.enum([\n 'account',\n 'campaign',\n 'ad_group'\n ]),\n id: z.string(),\n name: z.string().nullable(),\n metrics: z.record(z.string(), z.number().nullable()),\n segments: z.record(z.string(), z.string()).optional()\n }))\n});\n\nexport const zGoogleRunGaqlBody = z.object({\n query: z.string().min(1).max(10000)\n});\n\nexport const zGoogleRunGaqlPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * The native GAQL rows for the query (unnormalised).\n */\nexport const zGoogleRunGaqlResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.union([z.unknown(), z.null()]))\n});\n\nexport const zGoogleCreateBudgetBody = z.object({\n name: z.string().min(1).max(255),\n amount_micros: z.int().gt(0).lte(9007199254740991),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleCreateBudgetPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleCreateBudgetResponse = z.object({\n id: z.string().nullable(),\n resource_name: z.string().nullable(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleDeleteBudgetBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleDeleteBudgetPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * OK\n */\nexport const zGoogleDeleteBudgetResponse = z.object({\n id: z.string(),\n removed: z.boolean(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleEditBudgetBody = z.object({\n amount_micros: z.int().gt(0).lte(9007199254740991),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleEditBudgetPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * OK\n */\nexport const zGoogleEditBudgetResponse = z.object({\n id: z.string(),\n resource_name: z.string(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleListCampaignsPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleListCampaignsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n name: z.string().nullable(),\n status: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ENABLED',\n 'PAUSED',\n 'REMOVED'\n ]),\n advertising_channel_type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'SEARCH',\n 'DISPLAY',\n 'SHOPPING',\n 'HOTEL',\n 'VIDEO',\n 'MULTI_CHANNEL',\n 'LOCAL',\n 'SMART',\n 'PERFORMANCE_MAX',\n 'LOCAL_SERVICES',\n 'TRAVEL',\n 'DEMAND_GEN'\n ]),\n bidding_strategy_type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'COMMISSION',\n 'ENHANCED_CPC',\n 'FIXED_CPM',\n 'FIXED_SHARE_OF_VOICE',\n 'INVALID',\n 'MANUAL_CPA',\n 'MANUAL_CPC',\n 'MANUAL_CPM',\n 'MANUAL_CPV',\n 'MAXIMIZE_CONVERSIONS',\n 'MAXIMIZE_CONVERSION_VALUE',\n 'PAGE_ONE_PROMOTED',\n 'PERCENT_CPC',\n 'TARGET_CPA',\n 'TARGET_CPC',\n 'TARGET_CPM',\n 'TARGET_CPV',\n 'TARGET_IMPRESSION_SHARE',\n 'TARGET_OUTRANK_SHARE',\n 'TARGET_ROAS',\n 'TARGET_SPEND'\n ])\n }))\n});\n\nexport const zGoogleCreateCampaignBody = z.object({\n name: z.string().min(1).max(255),\n channel: z.enum(['SEARCH', 'DISPLAY']),\n campaign_budget: z.string().min(1),\n bidding: z.enum([\n 'manual_cpc',\n 'maximize_conversions',\n 'target_spend'\n ]),\n status: z.enum(['ENABLED', 'PAUSED']).optional().default('PAUSED'),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleCreateCampaignPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleCreateCampaignResponse = z.object({\n id: z.string().nullable(),\n resource_name: z.string().nullable(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleDeleteCampaignBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleDeleteCampaignPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * OK\n */\nexport const zGoogleDeleteCampaignResponse = z.object({\n id: z.string(),\n removed: z.boolean(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleGetCampaignPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * A Google Ads campaign (the `campaign` resource): id, name, status, advertising channel type, and bidding strategy type. (start/end dates are a fast-follow — the Opteo v23 campaign type does not yet expose them as typed fields, and we never cast.)\n */\nexport const zGoogleGetCampaignResponse = z.object({\n id: z.string(),\n name: z.string().nullable(),\n status: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ENABLED',\n 'PAUSED',\n 'REMOVED'\n ]),\n advertising_channel_type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'SEARCH',\n 'DISPLAY',\n 'SHOPPING',\n 'HOTEL',\n 'VIDEO',\n 'MULTI_CHANNEL',\n 'LOCAL',\n 'SMART',\n 'PERFORMANCE_MAX',\n 'LOCAL_SERVICES',\n 'TRAVEL',\n 'DEMAND_GEN'\n ]),\n bidding_strategy_type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'COMMISSION',\n 'ENHANCED_CPC',\n 'FIXED_CPM',\n 'FIXED_SHARE_OF_VOICE',\n 'INVALID',\n 'MANUAL_CPA',\n 'MANUAL_CPC',\n 'MANUAL_CPM',\n 'MANUAL_CPV',\n 'MAXIMIZE_CONVERSIONS',\n 'MAXIMIZE_CONVERSION_VALUE',\n 'PAGE_ONE_PROMOTED',\n 'PERCENT_CPC',\n 'TARGET_CPA',\n 'TARGET_CPC',\n 'TARGET_CPM',\n 'TARGET_CPV',\n 'TARGET_IMPRESSION_SHARE',\n 'TARGET_OUTRANK_SHARE',\n 'TARGET_ROAS',\n 'TARGET_SPEND'\n ])\n});\n\nexport const zGoogleEditCampaignBody = z.object({\n name: z.string().min(1).max(255),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleEditCampaignPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * OK\n */\nexport const zGoogleEditCampaignResponse = z.object({\n id: z.string(),\n resource_name: z.string(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGooglePauseCampaignBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGooglePauseCampaignPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * The outcome of a status change: the resource id, the new status, whether it was a dry run, and whether it executed.\n */\nexport const zGooglePauseCampaignResponse = z.object({\n id: z.string(),\n status: z.enum(['ENABLED', 'PAUSED']),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleEnableCampaignBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleEnableCampaignPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * The outcome of a status change: the resource id, the new status, whether it was a dry run, and whether it executed.\n */\nexport const zGoogleEnableCampaignResponse = z.object({\n id: z.string(),\n status: z.enum(['ENABLED', 'PAUSED']),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleListAdGroupsPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleListAdGroupsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n name: z.string().nullable(),\n status: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ENABLED',\n 'PAUSED',\n 'REMOVED'\n ]),\n type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'SEARCH_STANDARD',\n 'DISPLAY_STANDARD',\n 'SHOPPING_PRODUCT_ADS',\n 'HOTEL_ADS',\n 'SHOPPING_SMART_ADS',\n 'VIDEO_BUMPER',\n 'VIDEO_TRUE_VIEW_IN_STREAM',\n 'VIDEO_TRUE_VIEW_IN_DISPLAY',\n 'VIDEO_NON_SKIPPABLE_IN_STREAM',\n 'SEARCH_DYNAMIC_ADS',\n 'SHOPPING_COMPARISON_LISTING_ADS',\n 'PROMOTED_HOTEL_ADS',\n 'VIDEO_RESPONSIVE',\n 'VIDEO_EFFICIENT_REACH',\n 'SMART_CAMPAIGN_ADS',\n 'TRAVEL_ADS',\n 'YOUTUBE_AUDIO'\n ]),\n campaign: z.string().nullable()\n }))\n});\n\nexport const zGoogleCreateAdGroupBody = z.object({\n name: z.string().min(1).max(255),\n campaign: z.string().min(1),\n type: z.enum(['SEARCH_STANDARD', 'DISPLAY_STANDARD']),\n status: z.enum(['ENABLED', 'PAUSED']).optional().default('ENABLED'),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleCreateAdGroupPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleCreateAdGroupResponse = z.object({\n id: z.string().nullable(),\n resource_name: z.string().nullable(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleDeleteAdGroupBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleDeleteAdGroupPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * OK\n */\nexport const zGoogleDeleteAdGroupResponse = z.object({\n id: z.string(),\n removed: z.boolean(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleGetAdGroupPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * A Google Ads ad group (the `ad_group` resource): id, name, status, type, and the resource name of the parent campaign.\n */\nexport const zGoogleGetAdGroupResponse = z.object({\n id: z.string(),\n name: z.string().nullable(),\n status: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ENABLED',\n 'PAUSED',\n 'REMOVED'\n ]),\n type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'SEARCH_STANDARD',\n 'DISPLAY_STANDARD',\n 'SHOPPING_PRODUCT_ADS',\n 'HOTEL_ADS',\n 'SHOPPING_SMART_ADS',\n 'VIDEO_BUMPER',\n 'VIDEO_TRUE_VIEW_IN_STREAM',\n 'VIDEO_TRUE_VIEW_IN_DISPLAY',\n 'VIDEO_NON_SKIPPABLE_IN_STREAM',\n 'SEARCH_DYNAMIC_ADS',\n 'SHOPPING_COMPARISON_LISTING_ADS',\n 'PROMOTED_HOTEL_ADS',\n 'VIDEO_RESPONSIVE',\n 'VIDEO_EFFICIENT_REACH',\n 'SMART_CAMPAIGN_ADS',\n 'TRAVEL_ADS',\n 'YOUTUBE_AUDIO'\n ]),\n campaign: z.string().nullable()\n});\n\nexport const zGoogleEditAdGroupBody = z.object({\n name: z.string().min(1).max(255),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleEditAdGroupPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * OK\n */\nexport const zGoogleEditAdGroupResponse = z.object({\n id: z.string(),\n resource_name: z.string(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleSetAdGroupBidsBody = z.object({\n cpc_bid_micros: z.int().gt(0).lte(9007199254740991).optional(),\n cpm_bid_micros: z.int().gt(0).lte(9007199254740991).optional(),\n target_cpa_micros: z.int().gt(0).lte(9007199254740991).optional(),\n target_roas: z.number().gt(0).optional(),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleSetAdGroupBidsPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * OK\n */\nexport const zGoogleSetAdGroupBidsResponse = z.object({\n id: z.string(),\n resource_name: z.string(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGooglePauseAdGroupBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGooglePauseAdGroupPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * The outcome of a status change: the resource id, the new status, whether it was a dry run, and whether it executed.\n */\nexport const zGooglePauseAdGroupResponse = z.object({\n id: z.string(),\n status: z.enum(['ENABLED', 'PAUSED']),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleEnableAdGroupBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleEnableAdGroupPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * The outcome of a status change: the resource id, the new status, whether it was a dry run, and whether it executed.\n */\nexport const zGoogleEnableAdGroupResponse = z.object({\n id: z.string(),\n status: z.enum(['ENABLED', 'PAUSED']),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleListAdsPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleListAdsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n name: z.string().nullable(),\n type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'TEXT_AD',\n 'EXPANDED_TEXT_AD',\n 'EXPANDED_DYNAMIC_SEARCH_AD',\n 'HOTEL_AD',\n 'SHOPPING_SMART_AD',\n 'SHOPPING_PRODUCT_AD',\n 'VIDEO_AD',\n 'IMAGE_AD',\n 'RESPONSIVE_SEARCH_AD',\n 'LEGACY_RESPONSIVE_DISPLAY_AD',\n 'APP_AD',\n 'LEGACY_APP_INSTALL_AD',\n 'RESPONSIVE_DISPLAY_AD',\n 'LOCAL_AD',\n 'HTML5_UPLOAD_AD',\n 'DYNAMIC_HTML5_AD',\n 'APP_ENGAGEMENT_AD',\n 'SHOPPING_COMPARISON_LISTING_AD',\n 'VIDEO_BUMPER_AD',\n 'VIDEO_NON_SKIPPABLE_IN_STREAM_AD',\n 'VIDEO_TRUEVIEW_IN_STREAM_AD',\n 'VIDEO_RESPONSIVE_AD',\n 'SMART_CAMPAIGN_AD',\n 'CALL_AD',\n 'APP_PRE_REGISTRATION_AD',\n 'IN_FEED_VIDEO_AD',\n 'DEMAND_GEN_MULTI_ASSET_AD',\n 'DEMAND_GEN_CAROUSEL_AD',\n 'TRAVEL_AD',\n 'DEMAND_GEN_VIDEO_RESPONSIVE_AD',\n 'DEMAND_GEN_PRODUCT_AD',\n 'YOUTUBE_AUDIO_AD'\n ]),\n status: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ENABLED',\n 'PAUSED',\n 'REMOVED'\n ]),\n ad_group: z.string().nullable()\n }))\n});\n\nexport const zGoogleCreateAdBody = z.object({\n ad_group: z.string().min(1),\n final_urls: z.array(z.url()).min(1),\n headlines: z.array(z.object({\n text: z.string().min(1).max(30),\n pinned_field: z.enum([\n 'HEADLINE_1',\n 'HEADLINE_2',\n 'HEADLINE_3'\n ]).optional()\n })).min(3).max(15),\n descriptions: z.array(z.object({\n text: z.string().min(1).max(90)\n })).min(2).max(4),\n path1: z.string().max(15).optional(),\n path2: z.string().max(15).optional(),\n status: z.enum(['ENABLED', 'PAUSED']).optional().default('PAUSED'),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleCreateAdPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleCreateAdResponse = z.object({\n id: z.string().nullable(),\n resource_name: z.string().nullable(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleDeleteAdBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleDeleteAdPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * OK\n */\nexport const zGoogleDeleteAdResponse = z.object({\n id: z.string(),\n removed: z.boolean(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleGetAdPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * A Google Ads ad (the `ad_group_ad` resource): id, name, creative type, serving status, and the ad group resource name it belongs to.\n */\nexport const zGoogleGetAdResponse = z.object({\n id: z.string(),\n name: z.string().nullable(),\n type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'TEXT_AD',\n 'EXPANDED_TEXT_AD',\n 'EXPANDED_DYNAMIC_SEARCH_AD',\n 'HOTEL_AD',\n 'SHOPPING_SMART_AD',\n 'SHOPPING_PRODUCT_AD',\n 'VIDEO_AD',\n 'IMAGE_AD',\n 'RESPONSIVE_SEARCH_AD',\n 'LEGACY_RESPONSIVE_DISPLAY_AD',\n 'APP_AD',\n 'LEGACY_APP_INSTALL_AD',\n 'RESPONSIVE_DISPLAY_AD',\n 'LOCAL_AD',\n 'HTML5_UPLOAD_AD',\n 'DYNAMIC_HTML5_AD',\n 'APP_ENGAGEMENT_AD',\n 'SHOPPING_COMPARISON_LISTING_AD',\n 'VIDEO_BUMPER_AD',\n 'VIDEO_NON_SKIPPABLE_IN_STREAM_AD',\n 'VIDEO_TRUEVIEW_IN_STREAM_AD',\n 'VIDEO_RESPONSIVE_AD',\n 'SMART_CAMPAIGN_AD',\n 'CALL_AD',\n 'APP_PRE_REGISTRATION_AD',\n 'IN_FEED_VIDEO_AD',\n 'DEMAND_GEN_MULTI_ASSET_AD',\n 'DEMAND_GEN_CAROUSEL_AD',\n 'TRAVEL_AD',\n 'DEMAND_GEN_VIDEO_RESPONSIVE_AD',\n 'DEMAND_GEN_PRODUCT_AD',\n 'YOUTUBE_AUDIO_AD'\n ]),\n status: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ENABLED',\n 'PAUSED',\n 'REMOVED'\n ]),\n ad_group: z.string().nullable()\n});\n\nexport const zGoogleCreateDisplayAdBody = z.object({\n ad_group: z.string().min(1),\n final_urls: z.array(z.url()).min(1),\n marketing_images: z.array(z.object({\n asset: z.string().min(1)\n })).max(15).optional().default([]),\n square_marketing_images: z.array(z.object({\n asset: z.string().min(1)\n })).max(15).optional().default([]),\n logo_images: z.array(z.object({\n asset: z.string().min(1)\n })).max(5).optional().default([]),\n square_logo_images: z.array(z.object({\n asset: z.string().min(1)\n })).max(5).optional().default([]),\n headlines: z.array(z.object({\n text: z.string().min(1).max(30)\n })).min(1).max(5),\n long_headline: z.object({\n text: z.string().min(1).max(90)\n }),\n descriptions: z.array(z.object({\n text: z.string().min(1).max(90)\n })).min(1).max(5),\n business_name: z.string().min(1).max(25).optional(),\n call_to_action_text: z.string().min(1).optional(),\n main_color: z.string().min(1).optional(),\n accent_color: z.string().min(1).optional(),\n status: z.enum(['ENABLED', 'PAUSED']).optional().default('PAUSED'),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleCreateDisplayAdPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleCreateDisplayAdResponse = z.object({\n id: z.string().nullable(),\n resource_name: z.string().nullable(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGooglePauseAdBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGooglePauseAdPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * The outcome of a status change: the resource id, the new status, whether it was a dry run, and whether it executed.\n */\nexport const zGooglePauseAdResponse = z.object({\n id: z.string(),\n status: z.enum(['ENABLED', 'PAUSED']),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleEnableAdBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleEnableAdPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * The outcome of a status change: the resource id, the new status, whether it was a dry run, and whether it executed.\n */\nexport const zGoogleEnableAdResponse = z.object({\n id: z.string(),\n status: z.enum(['ENABLED', 'PAUSED']),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleListKeywordsPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleListKeywordsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n text: z.string().nullable(),\n match_type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'EXACT',\n 'PHRASE',\n 'BROAD'\n ]),\n status: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ENABLED',\n 'PAUSED',\n 'REMOVED'\n ]),\n negative: z.boolean(),\n ad_group: z.string().nullable()\n }))\n});\n\nexport const zGoogleCreateKeywordBody = z.object({\n ad_group: z.string().min(1),\n text: z.string().min(1).max(80),\n match_type: z.enum([\n 'EXACT',\n 'PHRASE',\n 'BROAD'\n ]),\n negative: z.boolean().optional().default(false),\n status: z.enum(['ENABLED', 'PAUSED']).optional().default('ENABLED'),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleCreateKeywordPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleCreateKeywordResponse = z.object({\n id: z.string().nullable(),\n resource_name: z.string().nullable(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleDeleteKeywordBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleDeleteKeywordPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * OK\n */\nexport const zGoogleDeleteKeywordResponse = z.object({\n id: z.string(),\n removed: z.boolean(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleGetKeywordPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * A Google Ads keyword (an `ad_group_criterion` of type KEYWORD): criterion id, text, match type, status, whether it is a negative keyword, and the owning ad group resource name.\n */\nexport const zGoogleGetKeywordResponse = z.object({\n id: z.string(),\n text: z.string().nullable(),\n match_type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'EXACT',\n 'PHRASE',\n 'BROAD'\n ]),\n status: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ENABLED',\n 'PAUSED',\n 'REMOVED'\n ]),\n negative: z.boolean(),\n ad_group: z.string().nullable()\n});\n\nexport const zGoogleSetKeywordBidBody = z.object({\n cpc_bid_micros: z.int().gt(0).lte(9007199254740991),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleSetKeywordBidPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * OK\n */\nexport const zGoogleSetKeywordBidResponse = z.object({\n id: z.string(),\n resource_name: z.string(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGooglePauseKeywordBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGooglePauseKeywordPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * The outcome of a status change: the resource id, the new status, whether it was a dry run, and whether it executed.\n */\nexport const zGooglePauseKeywordResponse = z.object({\n id: z.string(),\n status: z.enum(['ENABLED', 'PAUSED']),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleEnableKeywordBody = z.object({\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleEnableKeywordPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * The outcome of a status change: the resource id, the new status, whether it was a dry run, and whether it executed.\n */\nexport const zGoogleEnableKeywordResponse = z.object({\n id: z.string(),\n status: z.enum(['ENABLED', 'PAUSED']),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleListConversionActionsPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleListConversionActionsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n name: z.string().nullable(),\n status: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ENABLED',\n 'REMOVED',\n 'HIDDEN'\n ]),\n type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'AD_CALL',\n 'CLICK_TO_CALL',\n 'GOOGLE_PLAY_DOWNLOAD',\n 'GOOGLE_PLAY_IN_APP_PURCHASE',\n 'UPLOAD_CALLS',\n 'UPLOAD_CLICKS',\n 'WEBPAGE',\n 'WEBSITE_CALL',\n 'STORE_SALES_DIRECT_UPLOAD',\n 'STORE_SALES',\n 'FIREBASE_ANDROID_FIRST_OPEN',\n 'FIREBASE_ANDROID_IN_APP_PURCHASE',\n 'FIREBASE_ANDROID_CUSTOM',\n 'FIREBASE_IOS_FIRST_OPEN',\n 'FIREBASE_IOS_IN_APP_PURCHASE',\n 'FIREBASE_IOS_CUSTOM',\n 'THIRD_PARTY_APP_ANALYTICS_ANDROID_FIRST_OPEN',\n 'THIRD_PARTY_APP_ANALYTICS_ANDROID_IN_APP_PURCHASE',\n 'THIRD_PARTY_APP_ANALYTICS_ANDROID_CUSTOM',\n 'THIRD_PARTY_APP_ANALYTICS_IOS_FIRST_OPEN',\n 'THIRD_PARTY_APP_ANALYTICS_IOS_IN_APP_PURCHASE',\n 'THIRD_PARTY_APP_ANALYTICS_IOS_CUSTOM',\n 'ANDROID_APP_PRE_REGISTRATION',\n 'ANDROID_INSTALLS_ALL_OTHER_APPS',\n 'FLOODLIGHT_ACTION',\n 'FLOODLIGHT_TRANSACTION',\n 'GOOGLE_HOSTED',\n 'LEAD_FORM_SUBMIT',\n 'SALESFORCE',\n 'SEARCH_ADS_360',\n 'SMART_CAMPAIGN_AD_CLICKS_TO_CALL',\n 'SMART_CAMPAIGN_MAP_CLICKS_TO_CALL',\n 'SMART_CAMPAIGN_MAP_DIRECTIONS',\n 'SMART_CAMPAIGN_TRACKED_CALLS',\n 'STORE_VISITS',\n 'WEBPAGE_CODELESS',\n 'UNIVERSAL_ANALYTICS_GOAL',\n 'UNIVERSAL_ANALYTICS_TRANSACTION',\n 'GOOGLE_ANALYTICS_4_CUSTOM',\n 'GOOGLE_ANALYTICS_4_PURCHASE'\n ]),\n category: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'DEFAULT',\n 'PAGE_VIEW',\n 'PURCHASE',\n 'SIGNUP',\n 'DOWNLOAD',\n 'ADD_TO_CART',\n 'BEGIN_CHECKOUT',\n 'SUBSCRIBE_PAID',\n 'PHONE_CALL_LEAD',\n 'IMPORTED_LEAD',\n 'SUBMIT_LEAD_FORM',\n 'BOOK_APPOINTMENT',\n 'REQUEST_QUOTE',\n 'GET_DIRECTIONS',\n 'OUTBOUND_CLICK',\n 'CONTACT',\n 'ENGAGEMENT',\n 'STORE_VISIT',\n 'STORE_SALE',\n 'QUALIFIED_LEAD',\n 'CONVERTED_LEAD'\n ]),\n origin: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'WEBSITE',\n 'GOOGLE_HOSTED',\n 'APP',\n 'CALL_FROM_ADS',\n 'STORE',\n 'YOUTUBE_HOSTED'\n ]),\n primary_for_goal: z.boolean(),\n counting_type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ONE_PER_CLICK',\n 'MANY_PER_CLICK'\n ]),\n value_settings: z.object({\n default_value: z.number().nullable(),\n default_currency_code: z.string().nullable(),\n always_use_default_value: z.boolean().nullable()\n }).nullable(),\n tag_snippets: z.array(z.object({\n type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'WEBPAGE',\n 'WEBPAGE_ONCLICK',\n 'CLICK_TO_CALL',\n 'WEBSITE_CALL'\n ]),\n page_format: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'HTML',\n 'AMP'\n ]),\n global_site_tag: z.string().nullable(),\n event_snippet: z.string().nullable()\n }))\n }))\n});\n\nexport const zGoogleCreateConversionActionBody = z.object({\n name: z.string().min(1).max(255),\n type: z.enum(['WEBPAGE', 'UPLOAD_CLICKS']),\n category: z.enum([\n 'DEFAULT',\n 'PAGE_VIEW',\n 'PURCHASE',\n 'SIGNUP',\n 'DOWNLOAD',\n 'ADD_TO_CART',\n 'BEGIN_CHECKOUT',\n 'SUBSCRIBE_PAID',\n 'PHONE_CALL_LEAD',\n 'IMPORTED_LEAD',\n 'SUBMIT_LEAD_FORM',\n 'BOOK_APPOINTMENT',\n 'REQUEST_QUOTE',\n 'GET_DIRECTIONS',\n 'OUTBOUND_CLICK',\n 'CONTACT',\n 'ENGAGEMENT',\n 'STORE_VISIT',\n 'STORE_SALE',\n 'QUALIFIED_LEAD',\n 'CONVERTED_LEAD'\n ]),\n status: z.enum(['ENABLED']).optional().default('ENABLED'),\n value_settings: z.object({\n default_value: z.number().gte(0).optional(),\n default_currency_code: z.string().length(3).optional(),\n always_use_default_value: z.boolean().optional()\n }).optional(),\n counting_type: z.enum(['ONE_PER_CLICK', 'MANY_PER_CLICK']).optional(),\n click_through_lookback_window_days: z.int().gt(0).lte(9007199254740991).optional(),\n view_through_lookback_window_days: z.int().gt(0).lte(9007199254740991).optional(),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleCreateConversionActionPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleCreateConversionActionResponse = z.object({\n id: z.string().nullable(),\n resource_name: z.string().nullable(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleGetConversionActionPath = z.object({\n connection_id: z.string(),\n id: z.string().regex(/^\\d+$/)\n});\n\n/**\n * A Google Ads conversion action (the `conversion_action` resource): id, name, status, type, category, origin, whether it is a primary goal, counting type, value settings, and the website tag snippets (present only for a WEBPAGE action).\n */\nexport const zGoogleGetConversionActionResponse = z.object({\n id: z.string(),\n name: z.string().nullable(),\n status: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ENABLED',\n 'REMOVED',\n 'HIDDEN'\n ]),\n type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'AD_CALL',\n 'CLICK_TO_CALL',\n 'GOOGLE_PLAY_DOWNLOAD',\n 'GOOGLE_PLAY_IN_APP_PURCHASE',\n 'UPLOAD_CALLS',\n 'UPLOAD_CLICKS',\n 'WEBPAGE',\n 'WEBSITE_CALL',\n 'STORE_SALES_DIRECT_UPLOAD',\n 'STORE_SALES',\n 'FIREBASE_ANDROID_FIRST_OPEN',\n 'FIREBASE_ANDROID_IN_APP_PURCHASE',\n 'FIREBASE_ANDROID_CUSTOM',\n 'FIREBASE_IOS_FIRST_OPEN',\n 'FIREBASE_IOS_IN_APP_PURCHASE',\n 'FIREBASE_IOS_CUSTOM',\n 'THIRD_PARTY_APP_ANALYTICS_ANDROID_FIRST_OPEN',\n 'THIRD_PARTY_APP_ANALYTICS_ANDROID_IN_APP_PURCHASE',\n 'THIRD_PARTY_APP_ANALYTICS_ANDROID_CUSTOM',\n 'THIRD_PARTY_APP_ANALYTICS_IOS_FIRST_OPEN',\n 'THIRD_PARTY_APP_ANALYTICS_IOS_IN_APP_PURCHASE',\n 'THIRD_PARTY_APP_ANALYTICS_IOS_CUSTOM',\n 'ANDROID_APP_PRE_REGISTRATION',\n 'ANDROID_INSTALLS_ALL_OTHER_APPS',\n 'FLOODLIGHT_ACTION',\n 'FLOODLIGHT_TRANSACTION',\n 'GOOGLE_HOSTED',\n 'LEAD_FORM_SUBMIT',\n 'SALESFORCE',\n 'SEARCH_ADS_360',\n 'SMART_CAMPAIGN_AD_CLICKS_TO_CALL',\n 'SMART_CAMPAIGN_MAP_CLICKS_TO_CALL',\n 'SMART_CAMPAIGN_MAP_DIRECTIONS',\n 'SMART_CAMPAIGN_TRACKED_CALLS',\n 'STORE_VISITS',\n 'WEBPAGE_CODELESS',\n 'UNIVERSAL_ANALYTICS_GOAL',\n 'UNIVERSAL_ANALYTICS_TRANSACTION',\n 'GOOGLE_ANALYTICS_4_CUSTOM',\n 'GOOGLE_ANALYTICS_4_PURCHASE'\n ]),\n category: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'DEFAULT',\n 'PAGE_VIEW',\n 'PURCHASE',\n 'SIGNUP',\n 'DOWNLOAD',\n 'ADD_TO_CART',\n 'BEGIN_CHECKOUT',\n 'SUBSCRIBE_PAID',\n 'PHONE_CALL_LEAD',\n 'IMPORTED_LEAD',\n 'SUBMIT_LEAD_FORM',\n 'BOOK_APPOINTMENT',\n 'REQUEST_QUOTE',\n 'GET_DIRECTIONS',\n 'OUTBOUND_CLICK',\n 'CONTACT',\n 'ENGAGEMENT',\n 'STORE_VISIT',\n 'STORE_SALE',\n 'QUALIFIED_LEAD',\n 'CONVERTED_LEAD'\n ]),\n origin: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'WEBSITE',\n 'GOOGLE_HOSTED',\n 'APP',\n 'CALL_FROM_ADS',\n 'STORE',\n 'YOUTUBE_HOSTED'\n ]),\n primary_for_goal: z.boolean(),\n counting_type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'ONE_PER_CLICK',\n 'MANY_PER_CLICK'\n ]),\n value_settings: z.object({\n default_value: z.number().nullable(),\n default_currency_code: z.string().nullable(),\n always_use_default_value: z.boolean().nullable()\n }).nullable(),\n tag_snippets: z.array(z.object({\n type: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'WEBPAGE',\n 'WEBPAGE_ONCLICK',\n 'CLICK_TO_CALL',\n 'WEBSITE_CALL'\n ]),\n page_format: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'HTML',\n 'AMP'\n ]),\n global_site_tag: z.string().nullable(),\n event_snippet: z.string().nullable()\n }))\n});\n\nexport const zGoogleListConversionGoalsPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleListConversionGoalsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n category: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'DEFAULT',\n 'PAGE_VIEW',\n 'PURCHASE',\n 'SIGNUP',\n 'DOWNLOAD',\n 'ADD_TO_CART',\n 'BEGIN_CHECKOUT',\n 'SUBSCRIBE_PAID',\n 'PHONE_CALL_LEAD',\n 'IMPORTED_LEAD',\n 'SUBMIT_LEAD_FORM',\n 'BOOK_APPOINTMENT',\n 'REQUEST_QUOTE',\n 'GET_DIRECTIONS',\n 'OUTBOUND_CLICK',\n 'CONTACT',\n 'ENGAGEMENT',\n 'STORE_VISIT',\n 'STORE_SALE',\n 'QUALIFIED_LEAD',\n 'CONVERTED_LEAD'\n ]),\n origin: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'WEBSITE',\n 'GOOGLE_HOSTED',\n 'APP',\n 'CALL_FROM_ADS',\n 'STORE',\n 'YOUTUBE_HOSTED'\n ]),\n biddable: z.boolean()\n }))\n});\n\nexport const zGoogleSetConversionGoalBody = z.object({\n category: z.enum([\n 'DEFAULT',\n 'PAGE_VIEW',\n 'PURCHASE',\n 'SIGNUP',\n 'DOWNLOAD',\n 'ADD_TO_CART',\n 'BEGIN_CHECKOUT',\n 'SUBSCRIBE_PAID',\n 'PHONE_CALL_LEAD',\n 'IMPORTED_LEAD',\n 'SUBMIT_LEAD_FORM',\n 'BOOK_APPOINTMENT',\n 'REQUEST_QUOTE',\n 'GET_DIRECTIONS',\n 'OUTBOUND_CLICK',\n 'CONTACT',\n 'ENGAGEMENT',\n 'STORE_VISIT',\n 'STORE_SALE',\n 'QUALIFIED_LEAD',\n 'CONVERTED_LEAD'\n ]),\n origin: z.enum([\n 'WEBSITE',\n 'GOOGLE_HOSTED',\n 'APP',\n 'CALL_FROM_ADS',\n 'STORE',\n 'YOUTUBE_HOSTED'\n ]),\n biddable: z.boolean(),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleSetConversionGoalPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * The outcome of a conversion-goal update: the goal’s category and origin, the new biddable value, whether it was a dry run, and whether it executed.\n */\nexport const zGoogleSetConversionGoalResponse = z.object({\n category: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'DEFAULT',\n 'PAGE_VIEW',\n 'PURCHASE',\n 'SIGNUP',\n 'DOWNLOAD',\n 'ADD_TO_CART',\n 'BEGIN_CHECKOUT',\n 'SUBSCRIBE_PAID',\n 'PHONE_CALL_LEAD',\n 'IMPORTED_LEAD',\n 'SUBMIT_LEAD_FORM',\n 'BOOK_APPOINTMENT',\n 'REQUEST_QUOTE',\n 'GET_DIRECTIONS',\n 'OUTBOUND_CLICK',\n 'CONTACT',\n 'ENGAGEMENT',\n 'STORE_VISIT',\n 'STORE_SALE',\n 'QUALIFIED_LEAD',\n 'CONVERTED_LEAD'\n ]),\n origin: z.enum([\n 'UNSPECIFIED',\n 'UNKNOWN',\n 'WEBSITE',\n 'GOOGLE_HOSTED',\n 'APP',\n 'CALL_FROM_ADS',\n 'STORE',\n 'YOUTUBE_HOSTED'\n ]),\n biddable: z.boolean(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zGoogleUploadConversionsBody = z.object({\n conversions: z.array(z.object({\n conversion_action: z.string().min(1),\n conversion_date_time: z.string().regex(/^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}[+-]\\d{2}:\\d{2}$/),\n conversion_value: z.number().gte(0).optional(),\n currency_code: z.string().length(3).optional(),\n order_id: z.string().optional(),\n gclid: z.string().optional(),\n gbraid: z.string().optional(),\n wbraid: z.string().optional(),\n user_identifiers: z.array(z.object({\n hashed_email: z.string().regex(/^[a-f0-9]{64}$/).optional(),\n hashed_phone_number: z.string().regex(/^[a-f0-9]{64}$/).optional(),\n user_identifier_source: z.enum(['FIRST_PARTY', 'THIRD_PARTY']).optional()\n })).min(1).max(5).optional(),\n consent: z.object({\n ad_user_data: z.enum(['GRANTED', 'DENIED']).optional(),\n ad_personalization: z.enum(['GRANTED', 'DENIED']).optional()\n }).optional()\n })).min(1).max(2000),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleUploadConversionsPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * The outcome of an offline conversion upload: received / succeeded / failed counts and the per-row errors Google returned.\n */\nexport const zGoogleUploadConversionsResponse = z.object({\n received: z.int().gte(-9007199254740991).lte(9007199254740991),\n succeeded: z.int().gte(-9007199254740991).lte(9007199254740991),\n failed: z.int().gte(-9007199254740991).lte(9007199254740991),\n errors: z.array(z.object({\n index: z.int().gte(-9007199254740991).lte(9007199254740991),\n error_code: z.string(),\n message: z.string()\n })),\n dry_run: z.boolean()\n});\n\nexport const zGoogleUploadImageAssetBody = z.object({\n media_id: z.string(),\n dry_run: z.boolean().optional().default(false)\n});\n\nexport const zGoogleUploadImageAssetPath = z.object({\n connection_id: z.string()\n});\n\n/**\n * OK\n */\nexport const zGoogleUploadImageAssetResponse = z.object({\n id: z.string().nullable(),\n resource_name: z.string().nullable(),\n dry_run: z.boolean(),\n executed: z.boolean()\n});\n\nexport const zLogsListQuery = z.object({\n limit: z.int().gte(1).lte(100).optional().default(20),\n offset: z.int().gte(0).lte(9007199254740991).optional().default(0),\n profile_id: z.string().optional(),\n connection_id: z.string().optional(),\n platform: z.enum([\n 'meta_ads',\n 'google_ads',\n 'tiktok_ads',\n 'x',\n 'linkedin',\n 'facebook_page',\n 'instagram',\n 'tiktok'\n ]).optional(),\n status: z.enum([\n 'pending',\n 'success',\n 'error'\n ]).optional(),\n source: z.enum([\n 'api',\n 'dashboard',\n 'mcp',\n 'scheduler'\n ]).optional(),\n action: z.string().min(1).optional(),\n created_after: z.iso.datetime().optional(),\n created_before: z.iso.datetime().optional()\n});\n\n/**\n * OK\n */\nexport const zLogsListResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n source: z.enum([\n 'api',\n 'dashboard',\n 'mcp',\n 'scheduler'\n ]),\n action: z.string(),\n status: z.enum([\n 'pending',\n 'success',\n 'error'\n ]),\n status_code: z.int().gte(-9007199254740991).lte(9007199254740991).nullable(),\n platform: z.enum([\n 'meta_ads',\n 'google_ads',\n 'tiktok_ads',\n 'x',\n 'linkedin',\n 'facebook_page',\n 'instagram',\n 'tiktok'\n ]).nullable(),\n request_method: z.string().nullable(),\n request_path: z.string().nullable(),\n request_body: z.unknown().nullish(),\n response_body: z.unknown().nullish(),\n error: z.unknown().nullish(),\n external_id: z.string().nullable(),\n idempotency_key: z.string().nullable(),\n request_id: z.string().nullable(),\n duration_ms: z.int().gte(-9007199254740991).lte(9007199254740991).nullable(),\n profile_id: z.string().nullable(),\n connection_id: z.string().nullable(),\n api_key_id: z.string().nullable(),\n created_at: z.string().nullable(),\n updated_at: z.string().nullable()\n })),\n total: z.int().gte(-9007199254740991).lte(9007199254740991),\n limit: z.int().gte(-9007199254740991).lte(9007199254740991),\n offset: z.int().gte(-9007199254740991).lte(9007199254740991),\n has_more: z.boolean()\n});\n\nexport const zLogsGetPath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zLogsGetResponse = z.object({\n id: z.string(),\n source: z.enum([\n 'api',\n 'dashboard',\n 'mcp',\n 'scheduler'\n ]),\n action: z.string(),\n status: z.enum([\n 'pending',\n 'success',\n 'error'\n ]),\n status_code: z.int().gte(-9007199254740991).lte(9007199254740991).nullable(),\n platform: z.enum([\n 'meta_ads',\n 'google_ads',\n 'tiktok_ads',\n 'x',\n 'linkedin',\n 'facebook_page',\n 'instagram',\n 'tiktok'\n ]).nullable(),\n request_method: z.string().nullable(),\n request_path: z.string().nullable(),\n request_body: z.unknown().nullish(),\n response_body: z.unknown().nullish(),\n error: z.unknown().nullish(),\n external_id: z.string().nullable(),\n idempotency_key: z.string().nullable(),\n request_id: z.string().nullable(),\n duration_ms: z.int().gte(-9007199254740991).lte(9007199254740991).nullable(),\n profile_id: z.string().nullable(),\n connection_id: z.string().nullable(),\n api_key_id: z.string().nullable(),\n created_at: z.string().nullable(),\n updated_at: z.string().nullable()\n});\n\nexport const zWebhooksListEndpointsQuery = z.object({\n limit: z.int().gte(1).lte(100).optional().default(20),\n offset: z.int().gte(0).lte(9007199254740991).optional().default(0)\n});\n\n/**\n * OK\n */\nexport const zWebhooksListEndpointsResponse = z.object({\n object: z.literal('list'),\n data: z.array(z.object({\n id: z.string(),\n url: z.string(),\n description: z.string(),\n event_types: z.array(z.string()),\n disabled: z.boolean(),\n created_at: z.string(),\n updated_at: z.string()\n })),\n total: z.int().gte(-9007199254740991).lte(9007199254740991),\n limit: z.int().gte(-9007199254740991).lte(9007199254740991),\n offset: z.int().gte(-9007199254740991).lte(9007199254740991),\n has_more: z.boolean()\n});\n\nexport const zWebhooksCreateEndpointBody = z.object({\n url: z.url(),\n description: z.string().max(255).optional(),\n event_types: z.array(z.enum([\n 'webhook.ping',\n 'post.published',\n 'post.failed',\n 'post.completed'\n ]))\n});\n\n/**\n * OK\n */\nexport const zWebhooksCreateEndpointResponse = z.object({\n id: z.string(),\n url: z.string(),\n description: z.string(),\n event_types: z.array(z.string()),\n disabled: z.boolean(),\n created_at: z.string(),\n updated_at: z.string()\n});\n\nexport const zWebhooksDeleteEndpointPath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zWebhooksDeleteEndpointResponse = z.object({\n id: z.string(),\n object: z.literal('webhook_endpoint'),\n deleted: z.literal(true)\n});\n\nexport const zWebhooksGetEndpointPath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zWebhooksGetEndpointResponse = z.object({\n id: z.string(),\n url: z.string(),\n description: z.string(),\n event_types: z.array(z.string()),\n disabled: z.boolean(),\n created_at: z.string(),\n updated_at: z.string()\n});\n\nexport const zWebhooksUpdateEndpointBody = z.object({\n url: z.url().optional(),\n description: z.string().max(255).optional(),\n disabled: z.boolean().optional(),\n event_types: z.array(z.enum([\n 'webhook.ping',\n 'post.published',\n 'post.failed',\n 'post.completed'\n ])).optional()\n});\n\nexport const zWebhooksUpdateEndpointPath = z.object({\n id: z.string()\n});\n\n/**\n * OK\n */\nexport const zWebhooksUpdateEndpointResponse = z.object({\n id: z.string(),\n url: z.string(),\n description: z.string(),\n event_types: z.array(z.string()),\n disabled: z.boolean(),\n created_at: z.string(),\n updated_at: z.string()\n});\n\n/**\n * OK\n */\nexport const zWebhooksCreatePortalResponse = z.object({\n url: z.string()\n});\n\n/**\n * OK\n */\nexport const zWebhooksListEventTypesResponse = z.array(z.object({\n name: z.string(),\n group: z.string(),\n description: z.string()\n}));\n\nexport const zWebhooksPingBody = z.object({\n message: z.string().max(255).optional().default('Hello from Postrun')\n});\n\n/**\n * OK\n */\nexport const zWebhooksPingResponse = z.object({\n id: z.string()\n});\n\n/**\n * Mint a short-lived, profile-scoped frontend token. Called by your backend with a secret `pr_` key; the returned token is safe to hand to a browser.\n */\nexport const zTokensMintBody = z.object({\n profile_scope: z.union([\n z.object({\n type: z.literal('ids'),\n values: z.array(z.string()).min(1).max(100)\n }),\n z.object({\n type: z.literal('external_id'),\n values: z.array(z.string().min(1).max(255)).min(1).max(50)\n }),\n z.object({\n type: z.literal('all')\n })\n ]),\n scopes: z.array(z.enum([\n 'profiles:read',\n 'profiles:write',\n 'connections:read',\n 'connections:write',\n 'ads:read',\n 'ads:write',\n 'posts:read',\n 'posts:write',\n 'media:read',\n 'media:write'\n ])).min(1),\n ttl_seconds: z.int().gte(60).lte(1800).optional().default(900)\n});\n\n/**\n * OK\n */\nexport const zTokensMintResponse = z.object({\n token: z.string(),\n expires_at: z.string()\n});\n","import * as z from 'zod';\n\nimport { zErrorCode } from './client/zod.gen';\nimport type { ErrorCode } from './client/types.gen';\n\n/**\n * The closed set of machine-readable Postrun error codes — DERIVED from the\n * generated `ErrorCode` component union (emitted from the API's `ErrorCodeSchema`\n * via the OpenAPI spec), never hand-listed. Branch on `PostrunError.code` and the\n * compiler narrows + autocompletes the exact set the API can return. Each member\n * documents itself at https://docs.postrun.ai/errors/<code>.\n */\nexport type PostrunErrorCode = ErrorCode;\n\n/**\n * The RFC 9457 problem body the Postrun API returns on every transport error —\n * its `encodeProblem` emits `{ type, title, status, code, detail, request_id?,\n * errors? }`, with the human message in `detail`.\n *\n * Modeled here with a tolerant Zod schema rather than DERIVED from the generated\n * types ON PURPOSE: the OpenAPI spec narrows `code` per-endpoint+status, so there\n * is no single generated \"problem body\" type to derive from — we parse the real\n * body here and surface the closed `code` union via `PostrunErrorCode`.\n */\nconst ProblemSchema = z.object({\n type: z.string().optional(),\n title: z.string().optional(),\n status: z.number().optional(),\n code: z.string().optional(),\n detail: z.string().optional(),\n // RFC 9457 calls the occurrence id `instance`; our bodies emit it as\n // `request_id`. Tolerate both, preferring `request_id`.\n request_id: z.string().optional(),\n instance: z.string().optional(),\n errors: z\n .array(z.object({ field: z.string(), code: z.string(), detail: z.string() }))\n .optional(),\n});\n\nexport type PostrunProblem = z.infer<typeof ProblemSchema>;\n\n/** One invalid field on a validation (422) failure. */\nexport type PostrunFieldError = NonNullable<PostrunProblem['errors']>[number];\n\n/** A typed error thrown by the client on a failed request. */\nexport class PostrunError extends Error {\n readonly status: number;\n /** The machine-readable code to branch on (closed union), if the body had one. */\n readonly code?: PostrunErrorCode;\n /** The request id for support/debugging (our `request_id`, or RFC `instance`). */\n readonly request_id?: string;\n /** Per-field validation problems on a 422, surfaced for convenience. */\n readonly fieldErrors: PostrunFieldError[];\n readonly problem?: PostrunProblem;\n\n constructor(status: number, rawProblem?: unknown) {\n const problem = ProblemSchema.safeParse(rawProblem).data;\n super(problem?.detail ?? problem?.title ?? `Postrun API error (${status})`);\n this.name = 'PostrunError';\n this.status = status;\n // Re-validate the body's `code` against the generated closed set so the field\n // is the typed union, not a bare string — an unknown code stays `undefined`\n // (no swallowed surprise) rather than being cast in.\n this.code = zErrorCode.safeParse(problem?.code).data;\n this.request_id = problem?.request_id ?? problem?.instance;\n this.fieldErrors = problem?.errors ?? [];\n this.problem = problem;\n }\n}\n","import { createClient, createConfig } from './client/client';\nimport type { Client } from './client/client';\nimport { PostrunError } from './errors';\n\n/**\n * The strongly-typed Postrun API client (Hey API). Pass it to any generated SDK\n * function via `{ client }`; every path, param, body, and response is inferred\n * from the OpenAPI spec, so the SDK can never drift from the live API.\n */\nexport type PostrunClient = Client;\n\nexport interface PostrunClientOptions {\n /** Override the API base URL (defaults to the production gateway). */\n baseUrl?: string;\n /**\n * Returns a valid short-lived scoped token. The host app's backend mints it\n * from a secret `pr_` key (`POST /v1/tokens`); the secret never reaches the\n * browser. Called per request — cache/refresh before `exp` inside here.\n */\n getToken: () => string | Promise<string>;\n}\n\nconst DEFAULT_BASE_URL = 'https://api.postrun.ai/v1';\n\n/** Append `key=value` (URL-encoded) for one scalar to the running parts list. */\nfunction appendScalar(parts: string[], key: string, value: unknown): void {\n parts.push(\n `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`,\n );\n}\n\n/**\n * Serialize the query string for every Postrun request, by value shape:\n *\n * - **Array** (e.g. `status`) → repeated params (`status=a&status=b`), the\n * OpenAPI `form`/`explode` form the API parses into a `.in(...)` filter. A\n * JSON-encoded array would fail the array-of-enum validation.\n * - **Object** (e.g. `metadata`) → one URL-encoded JSON blob, because the API's\n * schema runs a `JSON.parse` preprocess on it; bracket form would mean the\n * server never sees a `metadata` key and silently drops the filter.\n * - **Scalar** → the value as-is.\n *\n * Operations needing a different shape (the ads reads' `metrics`/`segments`\n * params) carry their own per-call serializer in the generated SDK, which\n * overrides this.\n */\nfunction serializeQuery(query: Record<string, unknown>): string {\n const parts: string[] = [];\n\n for (const [key, value] of Object.entries(query)) {\n if (value === undefined || value === null) {\n continue;\n }\n\n if (Array.isArray(value)) {\n for (const item of value) {\n if (item !== undefined && item !== null) {\n appendScalar(parts, key, item);\n }\n }\n } else if (typeof value === 'object') {\n appendScalar(parts, key, JSON.stringify(value));\n } else {\n appendScalar(parts, key, value);\n }\n }\n\n return parts.join('&');\n}\n\n/**\n * Construct a typed client. The browser only ever holds the scoped token —\n * `getToken` is invoked per request and its value is sent as `Bearer <token>`\n * for the spec's `bearerAuth` security scheme.\n *\n * Calls throw on failure (`throwOnError`), so SDK functions return the value\n * directly (no `{ data, error }` to unwrap) — the throw-based shape every major\n * SDK uses. The error interceptor maps the raw failure to a typed `PostrunError`\n * (status + machine `code` + RFC 9457 problem), so `catch` always gets the same\n * actionable shape.\n */\nexport function createPostrunClient(\n options: PostrunClientOptions,\n): PostrunClient {\n const client = createClient(\n createConfig({\n baseUrl: options.baseUrl ?? DEFAULT_BASE_URL,\n auth: () => options.getToken(),\n querySerializer: serializeQuery,\n throwOnError: true,\n }),\n );\n\n client.interceptors.error.use((error, response) =>\n error instanceof PostrunError\n ? error\n : new PostrunError(response?.status ?? 0, error),\n );\n\n return client;\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport { type Client, type ClientOptions, type Config, createClient, createConfig } from './client';\nimport type { ClientOptions as ClientOptions2 } from './types.gen';\n\n/**\n * The `createClientConfig()` function will be called on client initialization\n * and the returned object will become the client's initial configuration.\n *\n * You may want to initialize your client this way instead of calling\n * `setConfig()`. This is useful for example if you're using Next.js\n * to ensure your client always has the correct values.\n */\nexport type CreateClientConfig<T extends ClientOptions = ClientOptions2> = (override?: Config<ClientOptions & T>) => Config<Required<ClientOptions> & T>;\n\nexport const client: Client = createClient(createConfig<ClientOptions2>({ baseUrl: 'https://api.postrun.ai/v1', throwOnError: true }));\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { Client, ClientMeta, Options as Options2, RequestResult, TDataShape } from './client';\nimport { client } from './client.gen';\nimport type { ConnectionsConnectData, ConnectionsConnectErrors, ConnectionsConnectResponses, ConnectionsDeleteData, ConnectionsDeleteErrors, ConnectionsDeleteResponses, ConnectionsGetData, ConnectionsGetErrors, ConnectionsGetResponses, ConnectionsListAccountsData, ConnectionsListAccountsErrors, ConnectionsListAccountsResponses, ConnectionsListByProfileData, ConnectionsListByProfileErrors, ConnectionsListByProfileResponses, ConnectionsSelectData, ConnectionsSelectErrors, ConnectionsSelectResponses, GoogleCreateAdData, GoogleCreateAdErrors, GoogleCreateAdGroupData, GoogleCreateAdGroupErrors, GoogleCreateAdGroupResponses, GoogleCreateAdResponses, GoogleCreateBudgetData, GoogleCreateBudgetErrors, GoogleCreateBudgetResponses, GoogleCreateCampaignData, GoogleCreateCampaignErrors, GoogleCreateCampaignResponses, GoogleCreateConversionActionData, GoogleCreateConversionActionErrors, GoogleCreateConversionActionResponses, GoogleCreateDisplayAdData, GoogleCreateDisplayAdErrors, GoogleCreateDisplayAdResponses, GoogleCreateKeywordData, GoogleCreateKeywordErrors, GoogleCreateKeywordResponses, GoogleDeleteAdData, GoogleDeleteAdErrors, GoogleDeleteAdGroupData, GoogleDeleteAdGroupErrors, GoogleDeleteAdGroupResponses, GoogleDeleteAdResponses, GoogleDeleteBudgetData, GoogleDeleteBudgetErrors, GoogleDeleteBudgetResponses, GoogleDeleteCampaignData, GoogleDeleteCampaignErrors, GoogleDeleteCampaignResponses, GoogleDeleteKeywordData, GoogleDeleteKeywordErrors, GoogleDeleteKeywordResponses, GoogleEditAdGroupData, GoogleEditAdGroupErrors, GoogleEditAdGroupResponses, GoogleEditBudgetData, GoogleEditBudgetErrors, GoogleEditBudgetResponses, GoogleEditCampaignData, GoogleEditCampaignErrors, GoogleEditCampaignResponses, GoogleEnableAdData, GoogleEnableAdErrors, GoogleEnableAdGroupData, GoogleEnableAdGroupErrors, GoogleEnableAdGroupResponses, GoogleEnableAdResponses, GoogleEnableCampaignData, GoogleEnableCampaignErrors, GoogleEnableCampaignResponses, GoogleEnableKeywordData, GoogleEnableKeywordErrors, GoogleEnableKeywordResponses, GoogleGetAccountData, GoogleGetAccountErrors, GoogleGetAccountResponses, GoogleGetAdData, GoogleGetAdErrors, GoogleGetAdGroupData, GoogleGetAdGroupErrors, GoogleGetAdGroupResponses, GoogleGetAdResponses, GoogleGetCampaignData, GoogleGetCampaignErrors, GoogleGetCampaignResponses, GoogleGetConversionActionData, GoogleGetConversionActionErrors, GoogleGetConversionActionResponses, GoogleGetInsightsData, GoogleGetInsightsErrors, GoogleGetInsightsResponses, GoogleGetKeywordData, GoogleGetKeywordErrors, GoogleGetKeywordResponses, GoogleListAdGroupsData, GoogleListAdGroupsErrors, GoogleListAdGroupsResponses, GoogleListAdsData, GoogleListAdsErrors, GoogleListAdsResponses, GoogleListCampaignsData, GoogleListCampaignsErrors, GoogleListCampaignsResponses, GoogleListConversionActionsData, GoogleListConversionActionsErrors, GoogleListConversionActionsResponses, GoogleListConversionGoalsData, GoogleListConversionGoalsErrors, GoogleListConversionGoalsResponses, GoogleListKeywordsData, GoogleListKeywordsErrors, GoogleListKeywordsResponses, GooglePauseAdData, GooglePauseAdErrors, GooglePauseAdGroupData, GooglePauseAdGroupErrors, GooglePauseAdGroupResponses, GooglePauseAdResponses, GooglePauseCampaignData, GooglePauseCampaignErrors, GooglePauseCampaignResponses, GooglePauseKeywordData, GooglePauseKeywordErrors, GooglePauseKeywordResponses, GoogleRunGaqlData, GoogleRunGaqlErrors, GoogleRunGaqlResponses, GoogleSetAdGroupBidsData, GoogleSetAdGroupBidsErrors, GoogleSetAdGroupBidsResponses, GoogleSetConversionGoalData, GoogleSetConversionGoalErrors, GoogleSetConversionGoalResponses, GoogleSetKeywordBidData, GoogleSetKeywordBidErrors, GoogleSetKeywordBidResponses, GoogleUploadConversionsData, GoogleUploadConversionsErrors, GoogleUploadConversionsResponses, GoogleUploadImageAssetData, GoogleUploadImageAssetErrors, GoogleUploadImageAssetResponses, LogsGetData, LogsGetErrors, LogsGetResponses, LogsListData, LogsListErrors, LogsListResponses, MediaCreateData, MediaCreateErrors, MediaCreateResponses, MediaDeleteData, MediaDeleteErrors, MediaDeleteResponses, MediaGetData, MediaGetErrors, MediaGetResponses, MediaListData, MediaListErrors, MediaListResponses, MediaUpdateData, MediaUpdateErrors, MediaUpdateResponses, MetaAccountData, MetaAccountErrors, MetaAccountResponses, MetaAdData, MetaAdErrors, MetaAdResponses, MetaAdsData, MetaAdsErrors, MetaAdsetData, MetaAdsetErrors, MetaAdsetResponses, MetaAdsetsData, MetaAdsetsErrors, MetaAdsetsResponses, MetaAdsResponses, MetaCampaignData, MetaCampaignErrors, MetaCampaignResponses, MetaCampaignsData, MetaCampaignsErrors, MetaCampaignsResponses, MetaInsightsData, MetaInsightsErrors, MetaInsightsResponses, PostsCreateData, PostsCreateErrors, PostsCreateResponses, PostsDeleteData, PostsDeleteErrors, PostsDeleteResponses, PostsGetData, PostsGetErrors, PostsGetResponses, PostsListData, PostsListErrors, PostsListResponses, PostsUpdateData, PostsUpdateErrors, PostsUpdateResponses, PostsValidateData, PostsValidateErrors, PostsValidateResponses, ProfilesCreateData, ProfilesCreateErrors, ProfilesCreateResponses, ProfilesDeleteData, ProfilesDeleteErrors, ProfilesDeleteResponses, ProfilesGetData, ProfilesGetErrors, ProfilesGetResponses, ProfilesListData, ProfilesListErrors, ProfilesListResponses, ProfilesUpdateData, ProfilesUpdateErrors, ProfilesUpdateResponses, TokensMintData, TokensMintErrors, TokensMintResponses, WebhooksCreateEndpointData, WebhooksCreateEndpointErrors, WebhooksCreateEndpointResponses, WebhooksCreatePortalData, WebhooksCreatePortalErrors, WebhooksCreatePortalResponses, WebhooksDeleteEndpointData, WebhooksDeleteEndpointErrors, WebhooksDeleteEndpointResponses, WebhooksGetEndpointData, WebhooksGetEndpointErrors, WebhooksGetEndpointResponses, WebhooksListEndpointsData, WebhooksListEndpointsErrors, WebhooksListEndpointsResponses, WebhooksListEventTypesData, WebhooksListEventTypesErrors, WebhooksListEventTypesResponses, WebhooksPingData, WebhooksPingErrors, WebhooksPingResponses, WebhooksUpdateEndpointData, WebhooksUpdateEndpointErrors, WebhooksUpdateEndpointResponses } from './types.gen';\n\nexport type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean, TResponse = unknown> = Options2<TData, ThrowOnError, TResponse> & {\n /**\n * You can provide a client instance returned by `createClient()` instead of\n * individual options. This might be also useful if you want to implement a\n * custom client.\n */\n client?: Client;\n /**\n * You can pass arbitrary values through the `meta` object. This can be\n * used to access values that aren't defined as part of the SDK function.\n */\n meta?: keyof ClientMeta extends never ? Record<string, unknown> : ClientMeta;\n};\n\n/**\n * List profiles\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `profiles:read` (the response is limited to the profiles the token is scoped to).\n *\n * Lists the profiles under your account, newest first.\n */\nexport const profilesList = <ThrowOnError extends boolean = true>(options?: Options<ProfilesListData, ThrowOnError>): RequestResult<ProfilesListResponses, ProfilesListErrors, ThrowOnError> => (options?.client ?? client).get<ProfilesListResponses, ProfilesListErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/profiles',\n ...options\n});\n\n/**\n * Create a profile\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `profiles:write` with account-wide profile scope (`all`); a profile-scoped token cannot create.\n *\n * Creates a profile — a client/brand workspace under your account, and the unit connections attach to.\n */\nexport const profilesCreate = <ThrowOnError extends boolean = true>(options: Options<ProfilesCreateData, ThrowOnError>): RequestResult<ProfilesCreateResponses, ProfilesCreateErrors, ThrowOnError> => (options.client ?? client).post<ProfilesCreateResponses, ProfilesCreateErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/profiles',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete a profile\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `profiles:write` scoped to the target profile.\n *\n * Deletes a profile. The profile must have no connections — delete its connections first (and a connection in turn cannot be deleted while a post still publishes through it).\n */\nexport const profilesDelete = <ThrowOnError extends boolean = true>(options: Options<ProfilesDeleteData, ThrowOnError>): RequestResult<ProfilesDeleteResponses, ProfilesDeleteErrors, ThrowOnError> => (options.client ?? client).delete<ProfilesDeleteResponses, ProfilesDeleteErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/profiles/{id}',\n ...options\n});\n\n/**\n * Retrieve a profile\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `profiles:read` scoped to the target profile.\n *\n * Retrieves a single profile by id.\n */\nexport const profilesGet = <ThrowOnError extends boolean = true>(options: Options<ProfilesGetData, ThrowOnError>): RequestResult<ProfilesGetResponses, ProfilesGetErrors, ThrowOnError> => (options.client ?? client).get<ProfilesGetResponses, ProfilesGetErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/profiles/{id}',\n ...options\n});\n\n/**\n * Update a profile\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `profiles:write` scoped to the target profile.\n *\n * Updates a profile. Send only the fields you want to change; provide at least one.\n */\nexport const profilesUpdate = <ThrowOnError extends boolean = true>(options: Options<ProfilesUpdateData, ThrowOnError>): RequestResult<ProfilesUpdateResponses, ProfilesUpdateErrors, ThrowOnError> => (options.client ?? client).patch<ProfilesUpdateResponses, ProfilesUpdateErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/profiles/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List a profile's connections\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `connections:read` scoped to the target profile.\n *\n * Lists the external accounts connected to a profile, most recent first. Returns 404 if the profile doesn't exist in your account.\n */\nexport const connectionsListByProfile = <ThrowOnError extends boolean = true>(options: Options<ConnectionsListByProfileData, ThrowOnError>): RequestResult<ConnectionsListByProfileResponses, ConnectionsListByProfileErrors, ThrowOnError> => (options.client ?? client).get<ConnectionsListByProfileResponses, ConnectionsListByProfileErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/profiles/{id}/connections',\n ...options\n});\n\n/**\n * Delete a connection\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `connections:write` scoped to the profile that owns the connection.\n *\n * Disconnects a connection. Returns a deletion marker; returns 404 if it does not exist in your account. Disconnect is unconditional — any scheduled posts that target this connection are not blocked; they fail gracefully at publish time with a `connection_removed` error until you reconnect and reschedule.\n */\nexport const connectionsDelete = <ThrowOnError extends boolean = true>(options: Options<ConnectionsDeleteData, ThrowOnError>): RequestResult<ConnectionsDeleteResponses, ConnectionsDeleteErrors, ThrowOnError> => (options.client ?? client).delete<ConnectionsDeleteResponses, ConnectionsDeleteErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/connections/{id}',\n ...options\n});\n\n/**\n * Retrieve a connection\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `connections:read` scoped to the profile that owns the connection.\n *\n * Retrieves a single connection by id.\n */\nexport const connectionsGet = <ThrowOnError extends boolean = true>(options: Options<ConnectionsGetData, ThrowOnError>): RequestResult<ConnectionsGetResponses, ConnectionsGetErrors, ThrowOnError> => (options.client ?? client).get<ConnectionsGetResponses, ConnectionsGetErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/connections/{id}',\n ...options\n});\n\n/**\n * Select a connection account\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `connections:write` scoped to the profile that owns the connection.\n *\n * Activates a pending connection by choosing which external account (e.g. which Meta ad account) it uses. The account must be one reachable through the connection’s OAuth grant; its canonical name + currency are resolved server-side from discovery, so the stored display values can’t be spoofed by the caller.\n */\nexport const connectionsSelect = <ThrowOnError extends boolean = true>(options: Options<ConnectionsSelectData, ThrowOnError>): RequestResult<ConnectionsSelectResponses, ConnectionsSelectErrors, ThrowOnError> => (options.client ?? client).patch<ConnectionsSelectResponses, ConnectionsSelectErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/connections/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List a connection’s discoverable accounts\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `connections:read` scoped to the profile that owns the connection.\n *\n * Lists the external ad accounts reachable through this connection’s OAuth grant — the picker shown after OAuth, while the connection is still pending account selection. Returns 404 if the connection does not exist in your account, and 501 if account discovery is not yet supported for the connection’s platform.\n */\nexport const connectionsListAccounts = <ThrowOnError extends boolean = true>(options: Options<ConnectionsListAccountsData, ThrowOnError>): RequestResult<ConnectionsListAccountsResponses, ConnectionsListAccountsErrors, ThrowOnError> => (options.client ?? client).get<ConnectionsListAccountsResponses, ConnectionsListAccountsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/connections/{id}/accounts',\n ...options\n});\n\n/**\n * Connect a platform account\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `connections:write` scoped to the target profile.\n *\n * Starts an OAuth connect flow for a platform on this profile. Returns a short-lived session the client uses to authorize; the connection is created once authorization succeeds.\n */\nexport const connectionsConnect = <ThrowOnError extends boolean = true>(options: Options<ConnectionsConnectData, ThrowOnError>): RequestResult<ConnectionsConnectResponses, ConnectionsConnectErrors, ThrowOnError> => (options.client ?? client).post<ConnectionsConnectResponses, ConnectionsConnectErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/profiles/{id}/connect',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List media\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `media:read` (the response is limited to the profiles the token is scoped to).\n *\n * Lists the media assets under your account, newest first. Filter by profile, status, kind, your own external_id, or metadata.\n */\nexport const mediaList = <ThrowOnError extends boolean = true>(options?: Options<MediaListData, ThrowOnError>): RequestResult<MediaListResponses, MediaListErrors, ThrowOnError> => (options?.client ?? client).get<MediaListResponses, MediaListErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/media',\n ...options\n});\n\n/**\n * Upload media\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `media:write` scoped to the target profile.\n *\n * Creates a media asset. Two ways to supply the bytes: (1) omit `source_url` and PUT the bytes to the returned signed upload target (the direct-upload path; `upload` is non-null), or (2) supply a public `https` `source_url` and we fetch the bytes server-side, validate, transform, and store them (the import path; `upload` is null). Either way the asset settles through the same probe/transform flow.\n */\nexport const mediaCreate = <ThrowOnError extends boolean = true>(options: Options<MediaCreateData, ThrowOnError>): RequestResult<MediaCreateResponses, MediaCreateErrors, ThrowOnError> => (options.client ?? client).post<MediaCreateResponses, MediaCreateErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/media',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete media\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `media:write` scoped to the profile that owns the media asset.\n *\n * Deletes a media asset and its stored renditions.\n */\nexport const mediaDelete = <ThrowOnError extends boolean = true>(options: Options<MediaDeleteData, ThrowOnError>): RequestResult<MediaDeleteResponses, MediaDeleteErrors, ThrowOnError> => (options.client ?? client).delete<MediaDeleteResponses, MediaDeleteErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/media/{id}',\n ...options\n});\n\n/**\n * Retrieve media\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `media:read` scoped to the profile that owns the media asset.\n *\n * Retrieves a media asset, including its per-platform processing status and renditions.\n */\nexport const mediaGet = <ThrowOnError extends boolean = true>(options: Options<MediaGetData, ThrowOnError>): RequestResult<MediaGetResponses, MediaGetErrors, ThrowOnError> => (options.client ?? client).get<MediaGetResponses, MediaGetErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/media/{id}',\n ...options\n});\n\n/**\n * Update media\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `media:write` scoped to the profile that owns the media asset.\n *\n * Updates a media asset (alt text, metadata, external_id) or adds `targets` to pre-warm more platforms. Send only the fields to change.\n */\nexport const mediaUpdate = <ThrowOnError extends boolean = true>(options: Options<MediaUpdateData, ThrowOnError>): RequestResult<MediaUpdateResponses, MediaUpdateErrors, ThrowOnError> => (options.client ?? client).patch<MediaUpdateResponses, MediaUpdateErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/media/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List posts\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `posts:read` (the response is limited to the profiles the token is scoped to).\n *\n * Lists the posts under your account, newest first. Filter by profile or your own external_id.\n */\nexport const postsList = <ThrowOnError extends boolean = true>(options?: Options<PostsListData, ThrowOnError>): RequestResult<PostsListResponses, PostsListErrors, ThrowOnError> => (options?.client ?? client).get<PostsListResponses, PostsListErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/posts',\n ...options\n});\n\n/**\n * Create a post\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `posts:write` scoped to the target profile.\n *\n * Composes a post + its per-channel variants. `publish` decides the outcome: `now` publishes immediately, `schedule` publishes at `schedule_at`, `draft` just stores it.\n */\nexport const postsCreate = <ThrowOnError extends boolean = true>(options: Options<PostsCreateData, ThrowOnError>): RequestResult<PostsCreateResponses, PostsCreateErrors, ThrowOnError> => (options.client ?? client).post<PostsCreateResponses, PostsCreateErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/posts',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete a post\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `posts:write` scoped to the profile that owns the post.\n *\n * Deletes a post and its variants. Returns a deletion marker; 404 if it does not exist in your account. Already-published posts are not retracted from the platform.\n */\nexport const postsDelete = <ThrowOnError extends boolean = true>(options: Options<PostsDeleteData, ThrowOnError>): RequestResult<PostsDeleteResponses, PostsDeleteErrors, ThrowOnError> => (options.client ?? client).delete<PostsDeleteResponses, PostsDeleteErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/posts/{id}',\n ...options\n});\n\n/**\n * Retrieve a post\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `posts:read` scoped to the profile that owns the post.\n *\n * Retrieves a single post by id, including its per-channel variants and their derived status.\n */\nexport const postsGet = <ThrowOnError extends boolean = true>(options: Options<PostsGetData, ThrowOnError>): RequestResult<PostsGetResponses, PostsGetErrors, ThrowOnError> => (options.client ?? client).get<PostsGetResponses, PostsGetErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/posts/{id}',\n ...options\n});\n\n/**\n * Update a post\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `posts:write` scoped to the profile that owns the post.\n *\n * Edits a post and/or transitions its publish state (`draft` / `schedule` / `now`). Valid only while the post is draft or scheduled. Send only the fields to change; providing `variants` replaces the whole set.\n */\nexport const postsUpdate = <ThrowOnError extends boolean = true>(options: Options<PostsUpdateData, ThrowOnError>): RequestResult<PostsUpdateResponses, PostsUpdateErrors, ThrowOnError> => (options.client ?? client).patch<PostsUpdateResponses, PostsUpdateErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/posts/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Validate a post\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `posts:read` scoped to the target profile.\n *\n * Runs the exact ownership + publish-readiness checks the create path runs under dry_run, with no side effects. Returns a per-issue verdict (`publishable` + `issues[]`) on 200; a reference to a connection/media outside the profile is a typed 422.\n */\nexport const postsValidate = <ThrowOnError extends boolean = true>(options: Options<PostsValidateData, ThrowOnError>): RequestResult<PostsValidateResponses, PostsValidateErrors, ThrowOnError> => (options.client ?? client).post<PostsValidateResponses, PostsValidateErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/posts/validate',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Retrieve the Meta ad account\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Retrieves the Meta ad account this connection is linked to — name, currency, status, and spend. Monetary fields are in the account currency’s minor units.\n */\nexport const metaAccount = <ThrowOnError extends boolean = true>(options: Options<MetaAccountData, ThrowOnError>): RequestResult<MetaAccountResponses, MetaAccountErrors, ThrowOnError> => (options.client ?? client).get<MetaAccountResponses, MetaAccountErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/meta/{connection_id}/account',\n ...options\n});\n\n/**\n * Retrieve Meta ad insights\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Retrieves performance insights for the connection’s Meta ad account, aggregated at the chosen `level` over a date window. Metric values are strings, in the account currency’s units.\n */\nexport const metaInsights = <ThrowOnError extends boolean = true>(options: Options<MetaInsightsData, ThrowOnError>): RequestResult<MetaInsightsResponses, MetaInsightsErrors, ThrowOnError> => (options.client ?? client).get<MetaInsightsResponses, MetaInsightsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/meta/{connection_id}/insights',\n ...options\n});\n\n/**\n * List Meta campaigns\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Lists the campaigns under the connection’s Meta ad account, with each campaign’s status, objective, and budgets (budgets in the account currency’s minor units).\n */\nexport const metaCampaigns = <ThrowOnError extends boolean = true>(options: Options<MetaCampaignsData, ThrowOnError>): RequestResult<MetaCampaignsResponses, MetaCampaignsErrors, ThrowOnError> => (options.client ?? client).get<MetaCampaignsResponses, MetaCampaignsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/meta/{connection_id}/campaigns',\n ...options\n});\n\n/**\n * Retrieve a Meta campaign\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Retrieves a single campaign under the connection’s Meta ad account by its campaign id — status, objective, and budgets.\n */\nexport const metaCampaign = <ThrowOnError extends boolean = true>(options: Options<MetaCampaignData, ThrowOnError>): RequestResult<MetaCampaignResponses, MetaCampaignErrors, ThrowOnError> => (options.client ?? client).get<MetaCampaignResponses, MetaCampaignErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/meta/{connection_id}/campaigns/{campaign_id}',\n ...options\n});\n\n/**\n * List Meta ad sets\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Lists the ad sets under the connection’s Meta ad account, with each ad set’s status, parent campaign, budgets, and optimization (budgets in the account currency’s minor units).\n */\nexport const metaAdsets = <ThrowOnError extends boolean = true>(options: Options<MetaAdsetsData, ThrowOnError>): RequestResult<MetaAdsetsResponses, MetaAdsetsErrors, ThrowOnError> => (options.client ?? client).get<MetaAdsetsResponses, MetaAdsetsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/meta/{connection_id}/adsets',\n ...options\n});\n\n/**\n * Retrieve a Meta ad set\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Retrieves a single ad set under the connection’s Meta ad account by its ad set id — status, parent campaign, budgets, and optimization.\n */\nexport const metaAdset = <ThrowOnError extends boolean = true>(options: Options<MetaAdsetData, ThrowOnError>): RequestResult<MetaAdsetResponses, MetaAdsetErrors, ThrowOnError> => (options.client ?? client).get<MetaAdsetResponses, MetaAdsetErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/meta/{connection_id}/adsets/{adset_id}',\n ...options\n});\n\n/**\n * List Meta ads\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Lists the ads under the connection’s Meta ad account, with each ad’s status, parent ad set and campaign ids, and timestamps.\n */\nexport const metaAds = <ThrowOnError extends boolean = true>(options: Options<MetaAdsData, ThrowOnError>): RequestResult<MetaAdsResponses, MetaAdsErrors, ThrowOnError> => (options.client ?? client).get<MetaAdsResponses, MetaAdsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/meta/{connection_id}/ads',\n ...options\n});\n\n/**\n * Retrieve a Meta ad\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Retrieves a single ad under the connection’s Meta ad account by its ad id — status, parent ad set and campaign ids, and timestamps.\n */\nexport const metaAd = <ThrowOnError extends boolean = true>(options: Options<MetaAdData, ThrowOnError>): RequestResult<MetaAdResponses, MetaAdErrors, ThrowOnError> => (options.client ?? client).get<MetaAdResponses, MetaAdErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/meta/{connection_id}/ads/{ad_id}',\n ...options\n});\n\n/**\n * Retrieve the connected Google Ads account\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Returns the Google Ads account (the `customer` resource) backing this connection — id, descriptive name, currency, time zone, status, and whether it is a manager (MCC) or test account.\n */\nexport const googleGetAccount = <ThrowOnError extends boolean = true>(options: Options<GoogleGetAccountData, ThrowOnError>): RequestResult<GoogleGetAccountResponses, GoogleGetAccountErrors, ThrowOnError> => (options.client ?? client).get<GoogleGetAccountResponses, GoogleGetAccountErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/account',\n ...options\n});\n\n/**\n * Google Ads performance insights\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Performance metrics for the connection’s account, at a chosen level (account / campaign / ad group), for a date range, with optional breakdowns. The flagship cross-checked read; use `/gaql` for anything outside this shape.\n */\nexport const googleGetInsights = <ThrowOnError extends boolean = true>(options: Options<GoogleGetInsightsData, ThrowOnError>): RequestResult<GoogleGetInsightsResponses, GoogleGetInsightsErrors, ThrowOnError> => (options.client ?? client).post<GoogleGetInsightsResponses, GoogleGetInsightsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/insights',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Run a raw GAQL query\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Runs a raw Google Ads Query Language (GAQL) query against the connection’s account and returns the native rows. Read-only (GAQL only does `SELECT`). The power-user escape hatch beneath the typed reads.\n */\nexport const googleRunGaql = <ThrowOnError extends boolean = true>(options: Options<GoogleRunGaqlData, ThrowOnError>): RequestResult<GoogleRunGaqlResponses, GoogleRunGaqlErrors, ThrowOnError> => (options.client ?? client).post<GoogleRunGaqlResponses, GoogleRunGaqlErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/gaql',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Create a Google Ads campaign budget\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Creates a standalone daily campaign budget (the `campaign_budget` resource) on the connection’s account. Money write — secret-key-only. Pass `dry_run: true` to validate against Google without creating. Returns the new resource id + resource_name to chain into a campaign.\n */\nexport const googleCreateBudget = <ThrowOnError extends boolean = true>(options: Options<GoogleCreateBudgetData, ThrowOnError>): RequestResult<GoogleCreateBudgetResponses, GoogleCreateBudgetErrors, ThrowOnError> => (options.client ?? client).post<GoogleCreateBudgetResponses, GoogleCreateBudgetErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/budgets',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete a Google Ads campaign budget\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Removes a campaign budget by numeric id (Google’s native remove). Pass `dry_run: true` to validate the removal against Google without applying it.\n */\nexport const googleDeleteBudget = <ThrowOnError extends boolean = true>(options: Options<GoogleDeleteBudgetData, ThrowOnError>): RequestResult<GoogleDeleteBudgetResponses, GoogleDeleteBudgetErrors, ThrowOnError> => (options.client ?? client).delete<GoogleDeleteBudgetResponses, GoogleDeleteBudgetErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/budgets/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Edit a Google Ads campaign budget\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Updates a budget’s daily amount (in micros) by numeric id. Money write — secret-key-only. Pass `dry_run: true` to validate against Google without applying.\n */\nexport const googleEditBudget = <ThrowOnError extends boolean = true>(options: Options<GoogleEditBudgetData, ThrowOnError>): RequestResult<GoogleEditBudgetResponses, GoogleEditBudgetErrors, ThrowOnError> => (options.client ?? client).patch<GoogleEditBudgetResponses, GoogleEditBudgetErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/budgets/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List Google Ads campaigns\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Returns the campaigns (the `campaign` resource) on the connection’s account — id, name, status, advertising channel type, and bidding strategy type.\n */\nexport const googleListCampaigns = <ThrowOnError extends boolean = true>(options: Options<GoogleListCampaignsData, ThrowOnError>): RequestResult<GoogleListCampaignsResponses, GoogleListCampaignsErrors, ThrowOnError> => (options.client ?? client).get<GoogleListCampaignsResponses, GoogleListCampaignsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/campaigns',\n ...options\n});\n\n/**\n * Create a Google Ads campaign\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Creates a Search or Display campaign (the `campaign` resource) on the connection’s account, attached to an existing budget. Pass `dry_run: true` to validate against Google without creating. Returns the new resource id + resource_name.\n */\nexport const googleCreateCampaign = <ThrowOnError extends boolean = true>(options: Options<GoogleCreateCampaignData, ThrowOnError>): RequestResult<GoogleCreateCampaignResponses, GoogleCreateCampaignErrors, ThrowOnError> => (options.client ?? client).post<GoogleCreateCampaignResponses, GoogleCreateCampaignErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/campaigns',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete a Google Ads campaign\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Removes a campaign by numeric id (Google’s native remove). Pass `dry_run: true` to validate the removal against Google without applying it.\n */\nexport const googleDeleteCampaign = <ThrowOnError extends boolean = true>(options: Options<GoogleDeleteCampaignData, ThrowOnError>): RequestResult<GoogleDeleteCampaignResponses, GoogleDeleteCampaignErrors, ThrowOnError> => (options.client ?? client).delete<GoogleDeleteCampaignResponses, GoogleDeleteCampaignErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/campaigns/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Retrieve a Google Ads campaign\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Returns a single campaign (the `campaign` resource) by its numeric id on the connection’s account — id, name, status, advertising channel type, and bidding strategy type.\n */\nexport const googleGetCampaign = <ThrowOnError extends boolean = true>(options: Options<GoogleGetCampaignData, ThrowOnError>): RequestResult<GoogleGetCampaignResponses, GoogleGetCampaignErrors, ThrowOnError> => (options.client ?? client).get<GoogleGetCampaignResponses, GoogleGetCampaignErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/campaigns/{id}',\n ...options\n});\n\n/**\n * Edit a Google Ads campaign\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Updates a campaign’s non-money fields (its name) by numeric id. Status has its own pause/enable endpoints; bids are a separate money write. Pass `dry_run: true` to validate against Google without applying.\n */\nexport const googleEditCampaign = <ThrowOnError extends boolean = true>(options: Options<GoogleEditCampaignData, ThrowOnError>): RequestResult<GoogleEditCampaignResponses, GoogleEditCampaignErrors, ThrowOnError> => (options.client ?? client).patch<GoogleEditCampaignResponses, GoogleEditCampaignErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/campaigns/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Pause a Google Ads campaign\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Pauses a campaign by its numeric id (reversible). Pass `dry_run: true` to preview without applying. Returns the new status and whether it executed.\n */\nexport const googlePauseCampaign = <ThrowOnError extends boolean = true>(options: Options<GooglePauseCampaignData, ThrowOnError>): RequestResult<GooglePauseCampaignResponses, GooglePauseCampaignErrors, ThrowOnError> => (options.client ?? client).post<GooglePauseCampaignResponses, GooglePauseCampaignErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/campaigns/{id}/pause',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Enable a Google Ads campaign\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Enables (resumes) a campaign by its numeric id. Pass `dry_run: true` to preview without applying. Returns the new status and whether it executed.\n */\nexport const googleEnableCampaign = <ThrowOnError extends boolean = true>(options: Options<GoogleEnableCampaignData, ThrowOnError>): RequestResult<GoogleEnableCampaignResponses, GoogleEnableCampaignErrors, ThrowOnError> => (options.client ?? client).post<GoogleEnableCampaignResponses, GoogleEnableCampaignErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/campaigns/{id}/enable',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List Google Ads ad groups\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Lists the ad groups (Google’s equivalent of an ad set) in the Google Ads account backing this connection — id, name, status, type, and parent campaign.\n */\nexport const googleListAdGroups = <ThrowOnError extends boolean = true>(options: Options<GoogleListAdGroupsData, ThrowOnError>): RequestResult<GoogleListAdGroupsResponses, GoogleListAdGroupsErrors, ThrowOnError> => (options.client ?? client).get<GoogleListAdGroupsResponses, GoogleListAdGroupsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ad-groups',\n ...options\n});\n\n/**\n * Create a Google Ads ad group\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Creates an ad group (the `ad_group` resource) under a campaign on the connection’s account. Pass `dry_run: true` to validate against Google without creating. Returns the new resource id + resource_name to chain into ads and keywords.\n */\nexport const googleCreateAdGroup = <ThrowOnError extends boolean = true>(options: Options<GoogleCreateAdGroupData, ThrowOnError>): RequestResult<GoogleCreateAdGroupResponses, GoogleCreateAdGroupErrors, ThrowOnError> => (options.client ?? client).post<GoogleCreateAdGroupResponses, GoogleCreateAdGroupErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ad-groups',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete a Google Ads ad group\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Removes an ad group by numeric id (Google’s native remove). Pass `dry_run: true` to validate the removal against Google without applying it.\n */\nexport const googleDeleteAdGroup = <ThrowOnError extends boolean = true>(options: Options<GoogleDeleteAdGroupData, ThrowOnError>): RequestResult<GoogleDeleteAdGroupResponses, GoogleDeleteAdGroupErrors, ThrowOnError> => (options.client ?? client).delete<GoogleDeleteAdGroupResponses, GoogleDeleteAdGroupErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ad-groups/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Retrieve a Google Ads ad group\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Returns a single ad group by its numeric id from the Google Ads account backing this connection — id, name, status, type, and parent campaign.\n */\nexport const googleGetAdGroup = <ThrowOnError extends boolean = true>(options: Options<GoogleGetAdGroupData, ThrowOnError>): RequestResult<GoogleGetAdGroupResponses, GoogleGetAdGroupErrors, ThrowOnError> => (options.client ?? client).get<GoogleGetAdGroupResponses, GoogleGetAdGroupErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ad-groups/{id}',\n ...options\n});\n\n/**\n * Edit a Google Ads ad group\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Updates an ad group’s non-money fields (its name) by numeric id. Status has its own pause/enable endpoints; bids are a separate money write. Pass `dry_run: true` to validate without applying.\n */\nexport const googleEditAdGroup = <ThrowOnError extends boolean = true>(options: Options<GoogleEditAdGroupData, ThrowOnError>): RequestResult<GoogleEditAdGroupResponses, GoogleEditAdGroupErrors, ThrowOnError> => (options.client ?? client).patch<GoogleEditAdGroupResponses, GoogleEditAdGroupErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ad-groups/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Set a Google Ads ad group’s bids\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Sets an ad group’s manual bids (cpc/cpm/target CPA in micros, target ROAS as a ratio) by numeric id. Money write — secret-key-only. Pass `dry_run: true` to validate without applying.\n */\nexport const googleSetAdGroupBids = <ThrowOnError extends boolean = true>(options: Options<GoogleSetAdGroupBidsData, ThrowOnError>): RequestResult<GoogleSetAdGroupBidsResponses, GoogleSetAdGroupBidsErrors, ThrowOnError> => (options.client ?? client).patch<GoogleSetAdGroupBidsResponses, GoogleSetAdGroupBidsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ad-groups/{id}/bids',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Pause a Google Ads ad group\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Pauses an ad group by its numeric id (reversible). Pass `dry_run: true` to preview without applying. Returns the new status and whether it executed.\n */\nexport const googlePauseAdGroup = <ThrowOnError extends boolean = true>(options: Options<GooglePauseAdGroupData, ThrowOnError>): RequestResult<GooglePauseAdGroupResponses, GooglePauseAdGroupErrors, ThrowOnError> => (options.client ?? client).post<GooglePauseAdGroupResponses, GooglePauseAdGroupErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ad-groups/{id}/pause',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Enable a Google Ads ad group\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Enables (resumes) an ad group by its numeric id. Pass `dry_run: true` to preview without applying. Returns the new status and whether it executed.\n */\nexport const googleEnableAdGroup = <ThrowOnError extends boolean = true>(options: Options<GoogleEnableAdGroupData, ThrowOnError>): RequestResult<GoogleEnableAdGroupResponses, GoogleEnableAdGroupErrors, ThrowOnError> => (options.client ?? client).post<GoogleEnableAdGroupResponses, GoogleEnableAdGroupErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ad-groups/{id}/enable',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List Google Ads ads\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Returns the ads (the `ad_group_ad` resource) on the connection’s account — id, name, creative type, serving status, and the owning ad group.\n */\nexport const googleListAds = <ThrowOnError extends boolean = true>(options: Options<GoogleListAdsData, ThrowOnError>): RequestResult<GoogleListAdsResponses, GoogleListAdsErrors, ThrowOnError> => (options.client ?? client).get<GoogleListAdsResponses, GoogleListAdsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ads',\n ...options\n});\n\n/**\n * Create a Google Ads responsive search ad\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Creates a Responsive Search Ad (the `ad_group_ad` resource, inline text — no image assets) under an ad group on the connection’s account. Pass `dry_run: true` to validate against Google without creating. Returns the new resource id + resource_name.\n */\nexport const googleCreateAd = <ThrowOnError extends boolean = true>(options: Options<GoogleCreateAdData, ThrowOnError>): RequestResult<GoogleCreateAdResponses, GoogleCreateAdErrors, ThrowOnError> => (options.client ?? client).post<GoogleCreateAdResponses, GoogleCreateAdErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ads',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete a Google Ads ad\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Removes an ad (an `ad_group_ad`) by its numeric id (Google’s native remove). Pass `dry_run: true` to validate the removal against Google without applying it.\n */\nexport const googleDeleteAd = <ThrowOnError extends boolean = true>(options: Options<GoogleDeleteAdData, ThrowOnError>): RequestResult<GoogleDeleteAdResponses, GoogleDeleteAdErrors, ThrowOnError> => (options.client ?? client).delete<GoogleDeleteAdResponses, GoogleDeleteAdErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ads/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Retrieve a Google Ads ad\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Returns a single ad (the `ad_group_ad` resource) by its numeric id on the connection’s account — id, name, creative type, serving status, and the owning ad group.\n */\nexport const googleGetAd = <ThrowOnError extends boolean = true>(options: Options<GoogleGetAdData, ThrowOnError>): RequestResult<GoogleGetAdResponses, GoogleGetAdErrors, ThrowOnError> => (options.client ?? client).get<GoogleGetAdResponses, GoogleGetAdErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ads/{id}',\n ...options\n});\n\n/**\n * Create a Google Ads responsive display ad\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Creates a Responsive Display Ad (the `ad_group_ad` resource) under a Display ad group on the connection’s account, assembled from already-uploaded image-asset resource_names (upload them first via POST /v1/google/{connection_id}/assets). Pass `dry_run: true` to validate against Google without creating. Returns the new resource id + resource_name.\n */\nexport const googleCreateDisplayAd = <ThrowOnError extends boolean = true>(options: Options<GoogleCreateDisplayAdData, ThrowOnError>): RequestResult<GoogleCreateDisplayAdResponses, GoogleCreateDisplayAdErrors, ThrowOnError> => (options.client ?? client).post<GoogleCreateDisplayAdResponses, GoogleCreateDisplayAdErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/display-ads',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Pause a Google Ads ad\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Pauses an ad by its numeric id (reversible). Pass `dry_run: true` to preview without applying. Returns the new status and whether it executed.\n */\nexport const googlePauseAd = <ThrowOnError extends boolean = true>(options: Options<GooglePauseAdData, ThrowOnError>): RequestResult<GooglePauseAdResponses, GooglePauseAdErrors, ThrowOnError> => (options.client ?? client).post<GooglePauseAdResponses, GooglePauseAdErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ads/{id}/pause',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Enable a Google Ads ad\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Enables (resumes) an ad by its numeric id. Pass `dry_run: true` to preview without applying. Returns the new status and whether it executed.\n */\nexport const googleEnableAd = <ThrowOnError extends boolean = true>(options: Options<GoogleEnableAdData, ThrowOnError>): RequestResult<GoogleEnableAdResponses, GoogleEnableAdErrors, ThrowOnError> => (options.client ?? client).post<GoogleEnableAdResponses, GoogleEnableAdErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/ads/{id}/enable',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List Google Ads keywords\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Lists the keywords (`ad_group_criterion` of type KEYWORD) in the connection’s account — each with its criterion id, text, match type, status, negative flag, and owning ad group.\n */\nexport const googleListKeywords = <ThrowOnError extends boolean = true>(options: Options<GoogleListKeywordsData, ThrowOnError>): RequestResult<GoogleListKeywordsResponses, GoogleListKeywordsErrors, ThrowOnError> => (options.client ?? client).get<GoogleListKeywordsResponses, GoogleListKeywordsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/keywords',\n ...options\n});\n\n/**\n * Create a Google Ads keyword\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Creates a keyword (an `ad_group_criterion` of type KEYWORD) under an ad group on the connection’s account. Pass `dry_run: true` to validate against Google without creating. Returns the new resource id + resource_name.\n */\nexport const googleCreateKeyword = <ThrowOnError extends boolean = true>(options: Options<GoogleCreateKeywordData, ThrowOnError>): RequestResult<GoogleCreateKeywordResponses, GoogleCreateKeywordErrors, ThrowOnError> => (options.client ?? client).post<GoogleCreateKeywordResponses, GoogleCreateKeywordErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/keywords',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete a Google Ads keyword\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Removes a keyword (an `ad_group_criterion`) by its criterion id (Google’s native remove). Pass `dry_run: true` to validate the removal against Google without applying it.\n */\nexport const googleDeleteKeyword = <ThrowOnError extends boolean = true>(options: Options<GoogleDeleteKeywordData, ThrowOnError>): RequestResult<GoogleDeleteKeywordResponses, GoogleDeleteKeywordErrors, ThrowOnError> => (options.client ?? client).delete<GoogleDeleteKeywordResponses, GoogleDeleteKeywordErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/keywords/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Retrieve a Google Ads keyword\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Returns one keyword (`ad_group_criterion` of type KEYWORD) by its criterion id, from the connection’s account — text, match type, status, negative flag, and owning ad group.\n */\nexport const googleGetKeyword = <ThrowOnError extends boolean = true>(options: Options<GoogleGetKeywordData, ThrowOnError>): RequestResult<GoogleGetKeywordResponses, GoogleGetKeywordErrors, ThrowOnError> => (options.client ?? client).get<GoogleGetKeywordResponses, GoogleGetKeywordErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/keywords/{id}',\n ...options\n});\n\n/**\n * Set a Google Ads keyword’s bid\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Sets a keyword’s manual CPC bid (in micros) by criterion id. Money write — secret-key-only. Pass `dry_run: true` to validate without applying.\n */\nexport const googleSetKeywordBid = <ThrowOnError extends boolean = true>(options: Options<GoogleSetKeywordBidData, ThrowOnError>): RequestResult<GoogleSetKeywordBidResponses, GoogleSetKeywordBidErrors, ThrowOnError> => (options.client ?? client).patch<GoogleSetKeywordBidResponses, GoogleSetKeywordBidErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/keywords/{id}/bid',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Pause a Google Ads keyword\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Pauses a keyword (`ad_group_criterion`) by its criterion id (reversible). Pass `dry_run: true` to preview without applying. Returns the new status and whether it executed.\n */\nexport const googlePauseKeyword = <ThrowOnError extends boolean = true>(options: Options<GooglePauseKeywordData, ThrowOnError>): RequestResult<GooglePauseKeywordResponses, GooglePauseKeywordErrors, ThrowOnError> => (options.client ?? client).post<GooglePauseKeywordResponses, GooglePauseKeywordErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/keywords/{id}/pause',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Enable a Google Ads keyword\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Enables (resumes) a keyword (`ad_group_criterion`) by its criterion id. Pass `dry_run: true` to preview without applying. Returns the new status and whether it executed.\n */\nexport const googleEnableKeyword = <ThrowOnError extends boolean = true>(options: Options<GoogleEnableKeywordData, ThrowOnError>): RequestResult<GoogleEnableKeywordResponses, GoogleEnableKeywordErrors, ThrowOnError> => (options.client ?? client).post<GoogleEnableKeywordResponses, GoogleEnableKeywordErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/keywords/{id}/enable',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List Google Ads conversion actions\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Returns the conversion actions (the `conversion_action` resource) on the connection’s account — id, name, status, type, category, origin, primary-goal flag, counting type, value settings, and tag snippets.\n */\nexport const googleListConversionActions = <ThrowOnError extends boolean = true>(options: Options<GoogleListConversionActionsData, ThrowOnError>): RequestResult<GoogleListConversionActionsResponses, GoogleListConversionActionsErrors, ThrowOnError> => (options.client ?? client).get<GoogleListConversionActionsResponses, GoogleListConversionActionsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/conversion-actions',\n ...options\n});\n\n/**\n * Create a Google Ads conversion action\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Creates a conversion action (the `conversion_action` resource) — a website tag (WEBPAGE) or an offline/API-reported action (UPLOAD_CLICKS) — on the connection’s account. Pass `dry_run: true` to validate against Google without creating. Returns the new resource id + resource_name.\n */\nexport const googleCreateConversionAction = <ThrowOnError extends boolean = true>(options: Options<GoogleCreateConversionActionData, ThrowOnError>): RequestResult<GoogleCreateConversionActionResponses, GoogleCreateConversionActionErrors, ThrowOnError> => (options.client ?? client).post<GoogleCreateConversionActionResponses, GoogleCreateConversionActionErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/conversion-actions',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Retrieve a Google Ads conversion action\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Returns a single conversion action (the `conversion_action` resource) by its numeric id on the connection’s account.\n */\nexport const googleGetConversionAction = <ThrowOnError extends boolean = true>(options: Options<GoogleGetConversionActionData, ThrowOnError>): RequestResult<GoogleGetConversionActionResponses, GoogleGetConversionActionErrors, ThrowOnError> => (options.client ?? client).get<GoogleGetConversionActionResponses, GoogleGetConversionActionErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/conversion-actions/{id}',\n ...options\n});\n\n/**\n * List Google Ads conversion goals\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:read` scoped to the profile that owns the connection.\n *\n * Returns the conversion goals (the `customer_conversion_goal` resource) on the connection’s account — category, origin, and whether each is biddable. Google auto-creates these per category × origin.\n */\nexport const googleListConversionGoals = <ThrowOnError extends boolean = true>(options: Options<GoogleListConversionGoalsData, ThrowOnError>): RequestResult<GoogleListConversionGoalsResponses, GoogleListConversionGoalsErrors, ThrowOnError> => (options.client ?? client).get<GoogleListConversionGoalsResponses, GoogleListConversionGoalsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/conversion-goals',\n ...options\n});\n\n/**\n * Set a Google Ads conversion goal’s biddable flag\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Sets whether a conversion goal (selected by category × origin) is biddable — a primary goal Google optimises toward, or a secondary observation-only goal. Pass `dry_run: true` to preview without applying. Returns the goal and whether it executed.\n */\nexport const googleSetConversionGoal = <ThrowOnError extends boolean = true>(options: Options<GoogleSetConversionGoalData, ThrowOnError>): RequestResult<GoogleSetConversionGoalResponses, GoogleSetConversionGoalErrors, ThrowOnError> => (options.client ?? client).post<GoogleSetConversionGoalResponses, GoogleSetConversionGoalErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/conversion-goals',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Upload Google Ads offline conversions\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Uploads offline click conversions (the `UploadClickConversions` call) against the connection’s account — report conversions that happened off-site against the click (gclid/gbraid/wbraid) or first-party identifiers that drove them. Partial failure is per-row: the response reports how many rows succeeded/failed and Google’s own error for each failed row. Pass `dry_run: true` to validate the batch against Google without recording anything.\n */\nexport const googleUploadConversions = <ThrowOnError extends boolean = true>(options: Options<GoogleUploadConversionsData, ThrowOnError>): RequestResult<GoogleUploadConversionsResponses, GoogleUploadConversionsErrors, ThrowOnError> => (options.client ?? client).post<GoogleUploadConversionsResponses, GoogleUploadConversionsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/conversion-uploads',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Upload a Google Ads image asset\n *\n * **Authentication.** Secret `pr_` API key, or a browser-safe frontend token granting `ads:write` scoped to the profile that owns the connection.\n *\n * Uploads a Postrun image asset (its validated Google Ads rendition) to the connection’s account as an `image` asset, returning the new resource id + resource_name to chain into an ad/asset assembly. Pass `dry_run: true` to validate against Google without creating anything (Google’s native validate_only). The media asset must have a ready Google Ads rendition, else a 409.\n */\nexport const googleUploadImageAsset = <ThrowOnError extends boolean = true>(options: Options<GoogleUploadImageAssetData, ThrowOnError>): RequestResult<GoogleUploadImageAssetResponses, GoogleUploadImageAssetErrors, ThrowOnError> => (options.client ?? client).post<GoogleUploadImageAssetResponses, GoogleUploadImageAssetErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }, {\n key: 'frontendToken',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/google/{connection_id}/assets/images',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * List request logs\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Lists the API activity for your account — one entry per action, newest first. Filter by profile, connection, platform, status, source, action, or time range.\n */\nexport const logsList = <ThrowOnError extends boolean = true>(options?: Options<LogsListData, ThrowOnError>): RequestResult<LogsListResponses, LogsListErrors, ThrowOnError> => (options?.client ?? client).get<LogsListResponses, LogsListErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/logs',\n ...options\n});\n\n/**\n * Retrieve a request log\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Retrieves a single request log entry by id.\n */\nexport const logsGet = <ThrowOnError extends boolean = true>(options: Options<LogsGetData, ThrowOnError>): RequestResult<LogsGetResponses, LogsGetErrors, ThrowOnError> => (options.client ?? client).get<LogsGetResponses, LogsGetErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/logs/{id}',\n ...options\n});\n\n/**\n * List webhook endpoints\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Lists the webhook endpoints registered for your account.\n */\nexport const webhooksListEndpoints = <ThrowOnError extends boolean = true>(options?: Options<WebhooksListEndpointsData, ThrowOnError>): RequestResult<WebhooksListEndpointsResponses, WebhooksListEndpointsErrors, ThrowOnError> => (options?.client ?? client).get<WebhooksListEndpointsResponses, WebhooksListEndpointsErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/webhooks/endpoints',\n ...options\n});\n\n/**\n * Create a webhook endpoint\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Registers a URL to receive the chosen event types. Delivery, retries, and signing are handled for you.\n */\nexport const webhooksCreateEndpoint = <ThrowOnError extends boolean = true>(options: Options<WebhooksCreateEndpointData, ThrowOnError>): RequestResult<WebhooksCreateEndpointResponses, WebhooksCreateEndpointErrors, ThrowOnError> => (options.client ?? client).post<WebhooksCreateEndpointResponses, WebhooksCreateEndpointErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/webhooks/endpoints',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Delete a webhook endpoint\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Deletes a webhook endpoint. Delivery to it stops immediately.\n */\nexport const webhooksDeleteEndpoint = <ThrowOnError extends boolean = true>(options: Options<WebhooksDeleteEndpointData, ThrowOnError>): RequestResult<WebhooksDeleteEndpointResponses, WebhooksDeleteEndpointErrors, ThrowOnError> => (options.client ?? client).delete<WebhooksDeleteEndpointResponses, WebhooksDeleteEndpointErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/webhooks/endpoints/{id}',\n ...options\n});\n\n/**\n * Retrieve a webhook endpoint\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Retrieves a single webhook endpoint by id.\n */\nexport const webhooksGetEndpoint = <ThrowOnError extends boolean = true>(options: Options<WebhooksGetEndpointData, ThrowOnError>): RequestResult<WebhooksGetEndpointResponses, WebhooksGetEndpointErrors, ThrowOnError> => (options.client ?? client).get<WebhooksGetEndpointResponses, WebhooksGetEndpointErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/webhooks/endpoints/{id}',\n ...options\n});\n\n/**\n * Update a webhook endpoint\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Updates a webhook endpoint. Send only the fields you want to change; provide at least one.\n */\nexport const webhooksUpdateEndpoint = <ThrowOnError extends boolean = true>(options: Options<WebhooksUpdateEndpointData, ThrowOnError>): RequestResult<WebhooksUpdateEndpointResponses, WebhooksUpdateEndpointErrors, ThrowOnError> => (options.client ?? client).patch<WebhooksUpdateEndpointResponses, WebhooksUpdateEndpointErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/webhooks/endpoints/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Create a webhook portal link\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Mints a one-time App Portal URL where you (or your customer) self-serve webhook delivery logs and signing secrets.\n */\nexport const webhooksCreatePortal = <ThrowOnError extends boolean = true>(options?: Options<WebhooksCreatePortalData, ThrowOnError>): RequestResult<WebhooksCreatePortalResponses, WebhooksCreatePortalErrors, ThrowOnError> => (options?.client ?? client).post<WebhooksCreatePortalResponses, WebhooksCreatePortalErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/webhooks/portal',\n ...options\n});\n\n/**\n * List webhook event types\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Lists the event types you can subscribe an endpoint to (the catalog).\n */\nexport const webhooksListEventTypes = <ThrowOnError extends boolean = true>(options?: Options<WebhooksListEventTypesData, ThrowOnError>): RequestResult<WebhooksListEventTypesResponses, WebhooksListEventTypesErrors, ThrowOnError> => (options?.client ?? client).get<WebhooksListEventTypesResponses, WebhooksListEventTypesErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/webhooks/event-types',\n ...options\n});\n\n/**\n * Send a test event\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Emits a `webhook.ping` event to your subscribed endpoints so you can verify delivery end to end.\n */\nexport const webhooksPing = <ThrowOnError extends boolean = true>(options: Options<WebhooksPingData, ThrowOnError>): RequestResult<WebhooksPingResponses, WebhooksPingErrors, ThrowOnError> => (options.client ?? client).post<WebhooksPingResponses, WebhooksPingErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/webhooks/ping',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n\n/**\n * Mint a scoped frontend token\n *\n * **Authentication.** Secret `pr_` API key only — this endpoint cannot be called with a browser token.\n *\n * Mints a short-lived, profile-scoped token from your secret `pr_` key. Call this from your backend; the returned token is safe to hand to a browser, which then calls the Postrun API directly. The secret key never touches the browser.\n */\nexport const tokensMint = <ThrowOnError extends boolean = true>(options: Options<TokensMintData, ThrowOnError>): RequestResult<TokensMintResponses, TokensMintErrors, ThrowOnError> => (options.client ?? client).post<TokensMintResponses, TokensMintErrors, ThrowOnError>({\n security: [{\n key: 'secretKey',\n scheme: 'bearer',\n type: 'http'\n }],\n url: '/tokens',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n});\n","import type {\n ConnectionsConnectData,\n ConnectionsConnectResponse,\n ConnectionsGetResponse,\n ConnectionsListAccountsResponse,\n ConnectionsListByProfileData,\n ConnectionsListByProfileResponse,\n ConnectionsSelectData,\n MediaCreateData,\n MediaCreateResponse,\n MediaGetResponse,\n MediaListData,\n MediaListResponse,\n MediaUpdateData,\n PostsCreateData,\n PostsGetResponse,\n PostsListData,\n PostsListResponse,\n PostsUpdateData,\n PostsValidateData,\n PostsValidateResponse,\n ProfilesCreateData,\n ProfilesGetResponse,\n ProfilesListData,\n ProfilesListResponse,\n ProfilesUpdateData,\n} from './client/types.gen';\n\n/**\n * Resource and input shapes, DERIVED from the generated Hey API operation types\n * (`*Data` = request `{ body, path, query }`, `*Response` = success body). Never\n * hand-declared — there is exactly one definition of each, sourced from the\n * contract, so `pnpm generate` keeps them in lockstep with the live API.\n */\n\n/** A profile — a client/brand workspace. */\nexport type Profile = ProfilesGetResponse;\n\n/** A page of profiles (the list envelope). */\nexport type ProfileList = ProfilesListResponse;\n\n/** Query parameters for listing profiles (filters + pagination). */\nexport type ListProfilesQuery = NonNullable<ProfilesListData['query']>;\n\n/** Request body to create a profile. */\nexport type CreateProfileInput = NonNullable<ProfilesCreateData['body']>;\n\n/** Request body to update a profile (send only what changes). */\nexport type UpdateProfileInput = NonNullable<ProfilesUpdateData['body']>;\n\n/** A connected social/ads account on a profile. */\nexport type Connection = ConnectionsGetResponse;\n\n/** A page of a profile's connections. */\nexport type ConnectionList = ConnectionsListByProfileResponse;\n\n/** Query filters for listing a profile's connections (kind / status / pagination). */\nexport type ListConnectionsQuery = NonNullable<\n ConnectionsListByProfileData['query']\n>;\n\n/** A connection's kind — `posting` (social) or `ads`. From the contract. */\nexport type ConnectionKind = NonNullable<ListConnectionsQuery['kind']>;\n\n/** A connection's lifecycle status — `pending` / `active` / `needs_reauth`. */\nexport type ConnectionStatus = NonNullable<ListConnectionsQuery['status']>;\n\n/** The session returned when starting a connect (OAuth) flow. */\nexport type ConnectSession = ConnectionsConnectResponse;\n\n/** A platform a connection can start an OAuth connect flow for. */\nexport type ConnectablePlatform =\n NonNullable<ConnectionsConnectData['body']>['platform'];\n\n/** Accounts discoverable on a pending connection, for the selection step. */\nexport type DiscoverableAccountList = ConnectionsListAccountsResponse;\n\n/** Request body to select an account on a pending connection. */\nexport type SelectAccountInput = NonNullable<ConnectionsSelectData['body']>;\n\n/** The create/update post body, derived from the contract. */\ntype CreatePostBody = NonNullable<PostsCreateData['body']>;\n\n/**\n * One channel's variant on WRITE — the per-platform discriminated-union member\n * with fully typed native `settings`. Preferred over the read resource's variant\n * for anything that inspects settings (on read, `settings` is an opaque record);\n * it is also the compose-time shape, which is exactly what a live preview renders.\n */\nexport type PostVariantInput = CreatePostBody['variants'][number];\n\n/** The X (Twitter) member of the write variant union — typed native settings\n * (`quote_tweet_id`, `reply`, `poll`, …). Narrowed from the contract, never\n * hand-declared. */\nexport type XPostVariant = Extract<PostVariantInput, { platform: 'x' }>;\n\n/** The LinkedIn member of the write variant union — typed native settings\n * (`content_kind`, `visibility`, `article`, `poll`, `document`, `mentions`).\n * Narrowed from the contract, never hand-declared. */\nexport type LinkedInPostVariant = Extract<\n PostVariantInput,\n { platform: 'linkedin' }\n>;\n\n/** A post — its variants, schedule, and derived status (the read resource). */\nexport type Post = PostsGetResponse;\n\n/**\n * One per-platform variant on a RETURNED post (the read resource): its own\n * `status`, a typed `error` ({@link PostVariantError}) when it failed, and a\n * `result` (platform id + permalink) when it published. Derived from the post\n * resource, never hand-declared. (For inspecting compose-time native `settings`,\n * prefer {@link PostVariantInput}; on read `settings` is opaque.)\n */\nexport type PostVariant = Post['variants'][number];\n\n/**\n * A variant's typed publish failure — `{ code, message }`. The `code` is the\n * adapter's own minted reason (`x_access_not_permitted`, `linkedin_auth_expired`,\n * …); it stays a `string` because adapter codes are minted outside the API's\n * closed registry. Derived from the variant, never hand-declared.\n */\nexport type PostVariantError = NonNullable<PostVariant['error']>;\n\n/**\n * Did the post fully publish? `true` ONLY when the rollup `status` is\n * `'published'` — `partially_published` and `failed` are NOT success. The single\n * pure predicate every surface (SDK, React hook, composer) shares, so \"success\"\n * has exactly one definition.\n */\nexport const isPublished = (post: Post): boolean =>\n post.status === 'published';\n\n/**\n * The variants that FAILED to publish, each carrying its typed {@link\n * PostVariantError}. Empty when none failed. The pure helper behind\n * `useCreatePost().failedVariants` — usable directly from a non-React caller so\n * the \"which platforms failed, and why\" projection has one definition.\n */\nexport const failedVariants = (post: Post): PostVariant[] =>\n post.variants.filter((variant) => variant.status === 'failed');\n\n/** A page of posts (the calendar/queue list). */\nexport type PostList = PostsListResponse;\n\n/** Query parameters for listing posts (filters + pagination). */\nexport type ListPostsQuery = NonNullable<PostsListData['query']>;\n\n/**\n * A post's derived rollup status — the values accepted by the list `status`\n * filter (draft / scheduled / publishing / partially_published / published /\n * failed). Sourced from the generated query contract, never hand-listed.\n */\nexport type PostStatus = NonNullable<ListPostsQuery['status']>[number];\n\n/** The full create-post request body — what `buildCreatePost` produces. */\nexport type CreatePostInput = CreatePostBody;\n\n/** The update-post request body — what `buildUpdatePost` produces. */\nexport type UpdatePostInput = NonNullable<PostsUpdateData['body']>;\n\n/**\n * The validate-post request body — the composition-only subset of the create\n * body (`profile_id` + `variants`). `buildCreatePost` produces a superset, so\n * its output is structurally assignable here. Derived from the contract.\n */\nexport type ValidatePostInput = NonNullable<PostsValidateData['body']>;\n\n/**\n * The server's publish-readiness verdict for a composed post — `{ object,\n * publishable, issues }`. The SERVER is the sole authority on validity; the SDK\n * only builds a best-effort payload and relays this result. Derived from the\n * contract, never hand-declared.\n */\nexport type PostValidation = PostsValidateResponse;\n\n/**\n * One typed, per-variant problem in a `PostValidation` — a closed-registry\n * `code`, a human `message`, the `variant_index` + `path` it applies to, and the\n * optional `hint`/`allowed`/`got` the rule produced. Narrowed from the contract.\n */\nexport type ValidationIssue = PostValidation['issues'][number];\n\n/** A posting platform — the variant discriminator (x / linkedin / …). */\nexport type PostPlatform = PostVariantInput['platform'];\n\n/** The allowed `post_type` union for a given platform. */\nexport type PostTypeFor<P extends PostPlatform> = Extract<\n PostVariantInput,\n { platform: P }\n>['post_type'];\n\n/** The native `settings` shape for a given platform (typed per channel). */\nexport type SettingsFor<P extends PostPlatform> = Extract<\n PostVariantInput,\n { platform: P }\n>['settings'];\n\n/** Publish mode: `now` | `schedule` | `draft`. */\nexport type PublishMode = NonNullable<CreatePostBody['publish']>;\n\n/** Customer metadata on a post (the shared scalar map). */\nexport type PostMetadata = NonNullable<CreatePostBody['metadata']>;\n\n/** A media asset (image/video/gif/document) with its per-platform renditions. */\nexport type MediaResource = MediaGetResponse;\n\n/**\n * A media asset's kind (image / video / gif / document), from the contract. The\n * resource's `kind` is nullable only in the transient pre-detection `uploading`\n * window; this is the concrete family, so it strips that null — what you pass to\n * create/upload and switch over on a settled asset.\n */\nexport type MediaKind = NonNullable<MediaResource['kind']>;\n\n/** A media render target — a post platform or `google_ads`. */\nexport type MediaTarget = NonNullable<\n NonNullable<MediaCreateData['body']>['targets']\n>[number];\n\n/** The create-media response: the resource plus a signed upload target. */\nexport type CreateMediaResult = MediaCreateResponse;\n\n/** The signed direct-to-storage upload target returned on create. */\nexport type UploadTarget = NonNullable<CreateMediaResult['upload']>;\n\n/** Request body to create a media asset. */\nexport type CreateMediaInput = NonNullable<MediaCreateData['body']>;\n\n/** Request body to update a media asset (alt text / metadata / extend targets). */\nexport type UpdateMediaInput = NonNullable<MediaUpdateData['body']>;\n\n/** A page of media assets (the list envelope). */\nexport type MediaList = MediaListResponse;\n\n/** Query parameters for listing media (filters + pagination). */\nexport type ListMediaQuery = NonNullable<MediaListData['query']>;\n\n/**\n * A media asset's lifecycle state — the values the list `status` filter accepts\n * (uploading / processing / ready / failed). From the contract, never hand-listed.\n */\nexport type MediaStatus = NonNullable<ListMediaQuery['status']>;\n\n/**\n * Customer metadata — a flat scalar map (`string | number | boolean`; ≤50 keys,\n * keys ≤40 chars, ≤500-char strings, 16 KiB serialized). The contract uses this\n * SAME shape on every stored resource (profiles / posts / media); this alias is\n * derived from the media write body as a stable representative, so it's the type\n * to annotate metadata you send — never `Record<string, unknown>`. (The three\n * resources share one structural shape in the spec; were the API ever to diverge\n * one, prefer that resource's own `*['metadata']` for it.)\n */\nexport type Metadata = NonNullable<CreateMediaInput['metadata']>;\n\n/**\n * A metadata filter for list endpoints — the same scalar map, matched by exact\n * containment (multiple keys ANDed; omit for no filter). Pass the object directly\n * from the SDK/React hooks; the client URL-encodes it for the REST query.\n */\nexport type MetadataFilter = NonNullable<ListMediaQuery['metadata']>;\n","import type {\n Connection,\n CreatePostInput,\n MediaResource,\n PostMetadata,\n PostPlatform,\n PostTypeFor,\n PostVariantInput,\n PublishMode,\n SettingsFor,\n UpdatePostInput,\n} from './resources';\n\n/* --------------------------------- types --------------------------------- */\n\n/** A media attachment — the uploaded asset (or just its id + kind). */\nexport type MediaInput = Pick<MediaResource, 'id' | 'kind'>;\n\n/** Base content, shared across channels unless a channel overrides it. */\nexport interface PostContent {\n body?: string;\n media?: readonly MediaInput[];\n}\n\n/**\n * One channel's config. The SDK owns the plumbing (connection, media, assembly)\n * and derives `post_type` from the media; the CUSTOMER owns `settings` — the\n * platform's native, fully-typed config. An Instagram setting on an X channel is\n * a compile error. `postType` is an optional override of the derived value.\n */\nexport interface ChannelConfig<P extends PostPlatform> {\n settings: SettingsFor<P>;\n postType?: PostTypeFor<P>;\n body?: string;\n media?: readonly MediaInput[];\n connectionId?: string;\n}\n\n/** Channels keyed by platform — each value typed to that platform. */\nexport type Channels = { [P in PostPlatform]?: ChannelConfig<P> };\n\nexport interface ComposePostInput {\n profileId: string;\n content?: PostContent;\n channels: Channels;\n publish?: PublishMode;\n scheduleAt?: string;\n externalId?: string;\n metadata?: PostMetadata;\n tags?: readonly string[];\n notes?: string;\n dryRun?: boolean;\n}\n\n/** A post edit. Omit `channels` for a light edit; include it to rebuild variants. */\nexport interface ComposeUpdateInput {\n content?: PostContent;\n channels?: Channels;\n publish?: PublishMode;\n scheduleAt?: string;\n externalId?: string;\n metadata?: PostMetadata;\n tags?: readonly string[];\n notes?: string;\n dryRun?: boolean;\n}\n\n/** The connections a build resolves against (accepts a full `Connection[]`). */\nexport type ConnectionRef = Pick<Connection, 'id' | 'platform'>;\n\n/**\n * Thrown only for a genuine USAGE error the SDK can't paper over — an\n * unresolvable connection, or a build with zero channels. It is NEVER thrown for\n * a media/`post_type` combination: validity (which media pair with which\n * post_type, document support, count limits, …) is the SERVER's job, surfaced as\n * typed `ValidationIssue`s by `POST /v1/posts/validate`. `derivePostType` is\n * best-effort SUGAR, so the SDK can always build an in-progress composition.\n */\nexport class ComposeError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'ComposeError';\n }\n}\n\ntype VariantFor<P extends PostPlatform> = Extract<PostVariantInput, { platform: P }>;\n\n/* ----------------------------- platform handlers -------------------------- */\n\n/** What a handler receives once `post_type` is resolved (derived or explicit). */\ninterface ResolvedChannel<P extends PostPlatform> {\n settings: SettingsFor<P>;\n postType: PostTypeFor<P>;\n connectionId: string;\n body: string | undefined;\n media: readonly { media_id: string }[];\n}\n\n/**\n * Each platform implements two layers:\n * - `derivePostType` — the SUGAR: a BEST-EFFORT default `post_type` guessed from\n * the media. Pure and TOTAL — it NEVER throws and never decides validity; it\n * only runs when the caller doesn't pass `postType`. The SERVER\n * (`POST /v1/posts/validate`) is the sole authority on whether the\n * composition is publishable, returning typed `ValidationIssue`s.\n * - `buildVariant` — the explicit CORE: assemble the typed variant from a\n * resolved channel. Passes `settings` straight through (the customer owns it).\n * Splitting them keeps the core stable and the derivation purely additive.\n */\ninterface PlatformHandler<P extends PostPlatform> {\n derivePostType(media: readonly MediaInput[]): PostTypeFor<P>;\n buildVariant(resolved: ResolvedChannel<P>): VariantFor<P>;\n}\n\nfunction countKinds(media: readonly MediaInput[]) {\n let images = 0;\n let videos = 0;\n let documents = 0;\n for (const item of media) {\n if (item.kind === 'video') videos += 1;\n else if (item.kind === 'document') documents += 1;\n else images += 1; // image | gif\n }\n return { images, videos, documents };\n}\n\n/**\n * X / LinkedIn / Facebook have no mixed-media placement: a post is text, images,\n * OR a single video. This is a BEST-EFFORT guess — it never throws. When a video\n * is present it wins the placement (`video`/`reel`), else 2+ images is\n * `multi_image` and a lone item is `single_image`. The SERVER rules on whether\n * the actual combination (a blend, >1 video, a document) is publishable.\n */\nfunction deriveSinglePlacement<V extends 'video' | 'reel'>(\n media: readonly MediaInput[],\n videoType: V,\n): 'single_image' | 'multi_image' | V {\n const { images, videos } = countKinds(media);\n if (videos >= 1) return videoType;\n return images >= 2 ? 'multi_image' : 'single_image';\n}\n\nconst xHandler: PlatformHandler<'x'> = {\n derivePostType: (media) => {\n if (media.length === 0) return 'text';\n return deriveSinglePlacement(media, 'video');\n },\n buildVariant: ({ settings, postType, connectionId, body, media }) => ({\n platform: 'x',\n post_type: postType,\n connection_id: connectionId,\n body,\n media: [...media],\n settings,\n }),\n};\n\nconst linkedInHandler: PlatformHandler<'linkedin'> = {\n derivePostType: (media) => {\n if (media.length === 0) return 'text';\n if (countKinds(media).documents > 0) {\n // A document rides as a `single_image` post_type; the customer sets\n // `content_kind: 'document'` in settings — we don't infer it. Best-effort:\n // multi-document is a server concern, not a local throw.\n return 'single_image';\n }\n return deriveSinglePlacement(media, 'video');\n },\n buildVariant: ({ settings, postType, connectionId, body, media }) => ({\n platform: 'linkedin',\n post_type: postType,\n connection_id: connectionId,\n body,\n media: [...media],\n settings,\n }),\n};\n\nconst facebookHandler: PlatformHandler<'facebook_page'> = {\n derivePostType: (media) => {\n if (media.length === 0) return 'text';\n return deriveSinglePlacement(media, 'reel');\n },\n buildVariant: ({ settings, postType, connectionId, body, media }) => ({\n platform: 'facebook_page',\n post_type: postType,\n connection_id: connectionId,\n body,\n media: [...media],\n settings,\n }),\n};\n\nconst instagramHandler: PlatformHandler<'instagram'> = {\n derivePostType: (media) => {\n // Best-effort: empty media falls back to `single_image` (the server rules on\n // whether Instagram needs media). 2+ items is a carousel (the API allows it\n // to mix image/gif/video); a lone video is a reel, else a single image.\n if (media.length >= 2) return 'carousel';\n return countKinds(media).videos === 1 ? 'reel' : 'single_image';\n },\n buildVariant: ({ settings, postType, connectionId, body, media }) => ({\n platform: 'instagram',\n post_type: postType,\n connection_id: connectionId,\n body,\n media: [...media],\n settings,\n }),\n};\n\nconst tiktokHandler: PlatformHandler<'tiktok'> = {\n derivePostType: (media) => {\n // Best-effort: TikTok keeps video and photo posts separate (a video post is\n // one standalone video; photos form a single image or a multi-photo\n // carousel). A video present wins `video`; else 2+ images is a carousel and a\n // lone item is `single_image`. The SERVER rules on a blend / >1 video / docs /\n // empty media.\n const { images, videos } = countKinds(media);\n if (videos >= 1) return 'video';\n return images >= 2 ? 'carousel' : 'single_image';\n },\n buildVariant: ({ settings, postType, connectionId, body, media }) => ({\n platform: 'tiktok',\n post_type: postType,\n connection_id: connectionId,\n body,\n media: [...media],\n settings,\n }),\n};\n\n/**\n * The handler registry. A `Record<PostPlatform, …>` (no optional keys), so a\n * platform the contract defines without a handler here is a COMPILE ERROR.\n */\nconst PLATFORM_HANDLERS: { [P in PostPlatform]: PlatformHandler<P> } = {\n x: xHandler,\n linkedin: linkedInHandler,\n facebook_page: facebookHandler,\n instagram: instagramHandler,\n tiktok: tiktokHandler,\n};\n\n/** Narrow any platform string to a posting platform. */\nexport function isPostPlatform(value: string): value is PostPlatform {\n return Object.prototype.hasOwnProperty.call(PLATFORM_HANDLERS, value);\n}\n\n/** Posting platforms — the single source, derived from the handler registry\n * (the `.filter` type-guard narrows `string[]` → `PostPlatform[]`, cast-free). */\nexport const POST_PLATFORMS: PostPlatform[] =\n Object.keys(PLATFORM_HANDLERS).filter(isPostPlatform);\n\n/* -------------------------------- assembly -------------------------------- */\n\nfunction resolveConnectionId(\n platform: PostPlatform,\n connectionId: string | undefined,\n connections: readonly ConnectionRef[],\n): string {\n if (connectionId) return connectionId;\n const match = connections.find((connection) => connection.platform === platform);\n if (!match) {\n throw new ComposeError(\n `No connection for \"${platform}\" on this profile. Connect the account or pass connectionId.`,\n );\n }\n return match.id;\n}\n\n/** Resolve one channel into its typed variant. Generic over the concrete `P`, so\n * the handler / config / result stay correlated with no cast. */\nfunction buildChannel<P extends PostPlatform>(\n handler: PlatformHandler<P>,\n platform: P,\n config: ChannelConfig<P>,\n content: PostContent,\n connections: readonly ConnectionRef[],\n): VariantFor<P> {\n const media = config.media ?? content.media ?? [];\n return handler.buildVariant({\n settings: config.settings,\n postType: config.postType ?? handler.derivePostType(media),\n connectionId: resolveConnectionId(platform, config.connectionId, connections),\n body: config.body ?? content.body,\n media: media.map((item) => ({ media_id: item.id })),\n });\n}\n\n/**\n * Resolve ONE platform's channel, or `undefined` when the caller didn't include\n * it. Generic over the concrete `P`, so `channels[platform]` and\n * `PLATFORM_HANDLERS[platform]` stay correlated to the same platform with no cast.\n * Wrapping the registry lookup in this generic is what lets `buildVariants`\n * iterate `POST_PLATFORMS` (a union) without the per-member variance error.\n */\nfunction collectChannel<P extends PostPlatform>(\n platform: P,\n channels: Channels,\n content: PostContent,\n connections: readonly ConnectionRef[],\n): VariantFor<P> | undefined {\n const config = channels[platform];\n if (!config) return undefined;\n return buildChannel(\n PLATFORM_HANDLERS[platform],\n platform,\n config,\n content,\n connections,\n );\n}\n\nfunction buildVariants(\n content: PostContent,\n channels: Channels,\n connections: readonly ConnectionRef[],\n): PostVariantInput[] {\n // Driven by POST_PLATFORMS (derived from the exhaustive PLATFORM_HANDLERS), so a\n // new platform added to the registry is dispatched here automatically — no\n // hand-maintained per-platform branch to forget (the gap that once dropped TikTok).\n const variants = POST_PLATFORMS.flatMap((platform) => {\n const variant = collectChannel(platform, channels, content, connections);\n return variant ? [variant] : [];\n });\n\n if (variants.length === 0) {\n // The ONE retained composition-level guard: \"you called build with no\n // channels\" is a programmer USAGE error, not a per-end-user validity judgment.\n // It is NOT a verdict on whether any media/post_type combination is\n // publishable — that authority lives entirely on the server.\n throw new ComposeError('At least one channel is required.');\n }\n return variants;\n}\n\n/**\n * Turn an ergonomic `{ content, channels }` input into the exact\n * `CreatePostInput` the API expects — resolving each channel's connection,\n * attaching the shared/overridden media, and deriving a best-effort `post_type`\n * from that media (sugar — the server validates the real composition). The build\n * is TOTAL: it never throws for a media/post_type combination, so an in-progress\n * post can always be built to validate. The customer never assembles `variants[]`\n * or sees a `connection_id`, and owns each channel's typed `settings`.\n */\nexport function buildCreatePost(\n input: ComposePostInput,\n connections: readonly ConnectionRef[],\n): CreatePostInput {\n return {\n profile_id: input.profileId,\n publish: input.publish,\n schedule_at: input.scheduleAt,\n external_id: input.externalId,\n metadata: input.metadata,\n tags: input.tags ? [...input.tags] : undefined,\n notes: input.notes,\n dry_run: input.dryRun,\n variants: buildVariants(input.content ?? {}, input.channels, connections),\n };\n}\n\n/** The envelope fields the API counts as a real edit (`dry_run` deliberately not). */\nconst MUTABLE_ENVELOPE_KEYS = [\n 'publish',\n 'scheduleAt',\n 'externalId',\n 'metadata',\n 'tags',\n 'notes',\n] as const satisfies readonly (keyof ComposeUpdateInput)[];\n\n/**\n * Build an `UpdatePostInput`. With `channels`, the full variant set is rebuilt\n * (the API's PATCH replaces it); without it, only the envelope changes.\n */\nexport function buildUpdatePost(\n input: ComposeUpdateInput,\n connections: readonly ConnectionRef[] = [],\n): UpdatePostInput {\n const changesEnvelope = MUTABLE_ENVELOPE_KEYS.some((key) => input[key] !== undefined);\n if (!input.channels && !changesEnvelope) {\n throw new ComposeError(\n 'A post update must change at least one field — pass content/channels or an ' +\n 'envelope field (publish, scheduleAt, tags, …).',\n );\n }\n\n return {\n publish: input.publish,\n schedule_at: input.scheduleAt,\n external_id: input.externalId,\n metadata: input.metadata,\n tags: input.tags ? [...input.tags] : undefined,\n notes: input.notes,\n dry_run: input.dryRun,\n variants: input.channels\n ? buildVariants(input.content ?? {}, input.channels, connections)\n : undefined,\n };\n}\n"]}