@camunda8/orchestration-cluster-api 9.0.2 → 9.0.3
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.
- package/CHANGELOG.md +7 -0
- package/dist/{chunk-JW2DWK5R.js → chunk-CSMB45H6.js} +18 -24
- package/dist/chunk-CSMB45H6.js.map +1 -0
- package/dist/fp/index.cjs +17 -23
- package/dist/fp/index.cjs.map +1 -1
- package/dist/fp/index.d.cts +1 -1
- package/dist/fp/index.d.ts +1 -1
- package/dist/fp/index.js +1 -1
- package/dist/{index-B7HfPv-I.d.ts → index-C-cbKqyy.d.ts} +4 -4
- package/dist/{index-C0kkfkPq.d.cts → index-iQD-RC8z.d.cts} +4 -4
- package/dist/index.cjs +17 -23
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-JW2DWK5R.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/runtime/errors.ts","../src/runtime/jobWorker.ts","../src/gen/core/serverSentEvents.gen.ts","../src/gen/core/pathSerializer.gen.ts","../src/gen/core/utils.gen.ts","../src/gen/core/auth.gen.ts","../src/gen/core/bodySerializer.gen.ts","../src/gen/client/utils.gen.ts","../src/gen/client/client.gen.ts","../src/gen/client.gen.ts","../src/gen/sdk.gen.ts","../src/runtime/auth.ts","../src/runtime/unifiedConfiguration.ts","../src/runtime/configSchema.ts","../src/runtime/eventual.ts","../src/runtime/installAuthInterceptor.ts","../src/runtime/version.ts","../src/runtime/supportLogger.ts","../src/runtime/telemetry.ts","../src/runtime/validationCore.ts","../src/runtime/formatValidation.ts","../src/runtime/validationExtras.ts","../src/runtime/validationManager.ts","../src/runtime/retry.ts","../src/runtime/backpressure.ts","../src/runtime/jobActions.ts","../src/runtime/threadedJobWorker.ts","../src/runtime/clientProxy.ts","../src/runtime/threadPool.ts","../src/runtime/responseEvaluation.ts","../src/gen/CamundaClient.ts","../src/fp-ts.ts"],"sourcesContent":["// Unified SDK error typing utilities.\n// Goal: Allow user code to discriminate errors in catch blocks with strong typing.\n\n// RFC 9457 / RFC 7807 style Problem Details passthrough (type, title, status, detail, instance)\nexport interface HttpSdkError extends Error {\n status: number;\n operationId?: string;\n retries?: { attempt: number; max: number };\n cause?: unknown;\n type?: string;\n title?: string;\n detail?: string;\n instance?: string;\n // marker for type guard\n name: 'HttpSdkError';\n}\n\nexport interface ValidationSdkError extends Error {\n side: 'request' | 'response';\n operationId: string;\n issues?: unknown;\n name: 'ValidationSdkError';\n}\n\nexport interface AuthSdkError extends Error {\n status?: number;\n cause?: unknown;\n name: 'AuthSdkError';\n}\n\nexport interface NetworkSdkError extends Error {\n cause?: unknown;\n name: 'NetworkSdkError';\n}\n\nexport interface CancelSdkError extends Error {\n operationId?: string;\n name: 'CancelSdkError';\n}\n\nexport type SdkError =\n | HttpSdkError\n | ValidationSdkError\n | AuthSdkError\n | NetworkSdkError\n | CancelSdkError;\n\nexport function isSdkError(e: unknown): e is SdkError {\n return (\n !!e &&\n typeof e === 'object' &&\n 'name' in e &&\n [\n 'HttpSdkError',\n 'ValidationSdkError',\n 'AuthSdkError',\n 'NetworkSdkError',\n 'CancelSdkError',\n ].includes((e as any).name)\n );\n}\n\n// Attempt to classify any thrown value to a stable SdkError.\nexport function normalizeError(err: unknown, ctx?: { opId?: string }): SdkError {\n if (isSdkError(err)) return err as SdkError;\n const e: any = err || {};\n // Explicit cancellation (AbortController / manual cancel) classification FIRST so we don't\n // downgrade into generic NetworkSdkError.\n if (\n e?.name === 'AbortError' ||\n e?.name === 'CancelError' ||\n e?.name === 'CancelSdkError' ||\n e?.code === 'ABORT_ERR' ||\n /aborted|abort|cancelled|canceled/i.test(e?.message || '')\n ) {\n const cErr = new Error('Cancelled') as CancelSdkError;\n cErr.name = 'CancelSdkError';\n cErr.operationId = ctx?.opId;\n // Preserve original stack/message detail if present\n if (e?.message && !/Cancelled/i.test(e.message)) cErr.message = e.message;\n if (e?.stack) cErr.stack = e.stack;\n return cErr;\n }\n // HTTP classification\n if (typeof e.status === 'number') {\n const msg = e.message || e.title || e.detail || `HTTP ${e.status}`;\n const httpErr = new Error(msg) as HttpSdkError;\n httpErr.name = 'HttpSdkError';\n httpErr.status = e.status;\n httpErr.operationId = ctx?.opId;\n for (const k of ['type', 'title', 'detail', 'instance'] as const) {\n if (e[k] !== undefined) httpErr[k] = e[k];\n }\n if (e.nonRetryable) (httpErr as any).nonRetryable = true;\n // preserve original stack if present\n if (e.stack && typeof e.stack === 'string') {\n httpErr.stack = e.stack;\n }\n return httpErr;\n }\n // Validation\n if (\n e?.code === 'VALIDATION_ERROR' ||\n /validation/i.test(e?.message || '') ||\n /Invalid .* request/i.test(e?.message || '')\n ) {\n const vErr = new Error(e.message || 'Validation error') as ValidationSdkError;\n vErr.name = 'ValidationSdkError';\n vErr.side = e.side || 'request';\n vErr.operationId = e.operationId || ctx?.opId || 'unknown';\n vErr.issues = e.issues;\n if (e.stack) vErr.stack = e.stack;\n return vErr;\n }\n // Auth\n if (/auth/i.test(e?.message || '') || e?.name === 'AuthError') {\n const aErr = new Error(e.message || 'Authentication error') as AuthSdkError;\n aErr.name = 'AuthSdkError';\n aErr.status = e.status;\n aErr.cause = e;\n if (e.stack) aErr.stack = e.stack;\n return aErr;\n }\n // Network\n if (e?.name === 'TypeError' || /network/i.test(e?.message || '')) {\n const nErr = new Error(e.message || 'Network error') as NetworkSdkError;\n nErr.name = 'NetworkSdkError';\n nErr.cause = e;\n if (e.stack) nErr.stack = e.stack;\n return nErr;\n }\n const unk = new Error(e?.message || 'Unknown error') as NetworkSdkError;\n unk.name = 'NetworkSdkError';\n unk.cause = e;\n if (e.stack) unk.stack = e.stack;\n return unk;\n}\nexport class CamundaValidationError extends Error {\n side: 'request' | 'response';\n operationId?: string;\n summary: string;\n issues: string[];\n constructor(params: {\n side: 'request' | 'response';\n operationId?: string;\n message: string;\n summary: string;\n issues: string[];\n }) {\n super(params.message);\n this.name = 'CamundaValidationError';\n this.side = params.side;\n this.operationId = params.operationId;\n this.summary = params.summary;\n this.issues = params.issues;\n }\n}\n\nexport class EventualConsistencyTimeoutError extends Error {\n code = 'CAMUNDA_SDK_EVENTUAL_TIMEOUT';\n attempts: number;\n elapsedMs: number;\n lastStatus?: number;\n lastResponseSnippet?: string;\n operationId?: string;\n constructor(params: {\n attempts: number;\n elapsedMs: number;\n lastStatus?: number;\n lastResponse?: any;\n operationId?: string;\n message?: string;\n }) {\n super(\n params.message ||\n `Eventual consistency timeout after ${params.elapsedMs}ms (${params.attempts} attempts)`\n );\n this.name = 'EventualConsistencyTimeoutError';\n this.attempts = params.attempts;\n this.elapsedMs = params.elapsedMs;\n this.lastStatus = params.lastStatus;\n this.operationId = params.operationId;\n if (params.lastResponse !== undefined) {\n try {\n const s =\n typeof params.lastResponse === 'string'\n ? params.lastResponse\n : JSON.stringify(params.lastResponse);\n this.lastResponseSnippet = s.length > 8192 ? `${s.slice(0, 8192)}…[truncated]` : s;\n } catch (_e) {\n // ignore serialization errors\n }\n }\n }\n}\n","import type { z } from 'zod';\nimport type { CamundaClient } from '../gen/CamundaClient';\nimport type { ActivateJobsResponses } from '../gen/types.gen';\nimport type { EnrichedActivatedJob } from './jobActions';\n\ntype ActivatedJobResult = ActivateJobsResponses[200]['jobs'][number];\n\n/** Unique receipt symbol returned by job action methods. */\n// Unique symbol used as opaque receipt sentinel for completed job actions.\nexport const JobActionReceipt = 'JOB_ACTION_RECEIPT' as const;\nexport type JobActionReceipt = typeof JobActionReceipt;\n\nexport interface JobWorkerConfig<\n In extends z.ZodTypeAny = any,\n Out extends z.ZodTypeAny = any,\n Headers extends z.ZodTypeAny = any,\n> {\n /** Zod schema for variables in the activated job */\n inputSchema?: In;\n /** Zod schema for variables in the complete command */\n outputSchema?: Out;\n /** Zod schema for custom headers in the activated job */\n customHeadersSchema?: Headers;\n /** Backoff between polls - default 1ms */\n pollIntervalMs?: number;\n jobHandler: (job: Job<In, Headers>) => Promise<JobActionReceipt> | JobActionReceipt;\n /** Immediately start polling for work - default `true` */\n autoStart?: boolean;\n /** concurrency limit — falls back to CAMUNDA_WORKER_MAX_CONCURRENT_JOBS env var */\n maxParallelJobs?: number;\n /**\n * The request will be completed when at least one job is activated or after the requestTimeout.\n * If the requestTimeout = 0, the request will be completed after a default configured timeout in the broker.\n * To immediately complete the request when no job is activated set the requestTimeout to a negative value\n *\n */\n pollTimeoutMs?: number;\n /** Job activation timeout — falls back to CAMUNDA_WORKER_TIMEOUT env var */\n jobTimeoutMs?: number;\n /** Zeebe job type */\n jobType: string;\n /** Optional list of variable names to fetch during activation */\n fetchVariables?: In extends z.ZodTypeAny ? Array<Extract<keyof z.infer<In>, string>> : string[];\n /** @deprecated Not used; pacing handled by long polling + client backpressure. Present only for migration compatibility. */\n maxBackoffTimeMs?: number;\n /** Optional explicit name */\n workerName?: string;\n /**\n * Maximum random delay (in seconds) before the worker starts polling.\n * When multiple application instances restart simultaneously, this spreads out\n * initial activation requests to avoid saturating the server.\n * `0` (the default) means no delay.\n */\n startupJitterMaxSeconds?: number;\n /**\n * Validate any provided input, output, customheader schema\n * default: false\n **/\n validateSchemas?: boolean;\n}\n\ntype InferOrUnknown<T extends z.ZodTypeAny | undefined> = T extends z.ZodTypeAny\n ? z.infer<T>\n : Record<string, unknown>;\n\nexport type Job<\n In extends z.ZodTypeAny | undefined,\n Headers extends z.ZodTypeAny | undefined,\n> = EnrichedActivatedJob & {\n variables: InferOrUnknown<In>;\n customHeaders: InferOrUnknown<Headers>;\n};\n\nlet _workerCounter = 0;\n\nconst DEFAULT_LONGPOLL_TIMEOUT = 0;\n\nexport class JobWorker {\n private _client: CamundaClient;\n private _cfg: JobWorkerConfig;\n private _maxParallelJobs: number;\n private _jobTimeoutMs: number;\n private _name: string;\n private _activeJobs = 0;\n private _stopped = false;\n private _pollTimer: any = null;\n private _inFlightActivation: any = null; // CancelablePromise-like\n private _log: ReturnType<CamundaClient['logger']>;\n\n constructor(client: CamundaClient, cfg: JobWorkerConfig) {\n this._client = client;\n this._cfg = { pollIntervalMs: 1, autoStart: true, validateSchemas: false, ...cfg };\n if (this._cfg.maxParallelJobs === undefined) {\n throw new Error(\n 'maxParallelJobs is required: set it on JobWorkerConfig or via CAMUNDA_WORKER_MAX_CONCURRENT_JOBS (environment variable or CamundaOptions.config override).'\n );\n }\n if (this._cfg.jobTimeoutMs === undefined) {\n throw new Error(\n 'jobTimeoutMs is required: set it on JobWorkerConfig or via CAMUNDA_WORKER_TIMEOUT (environment variable or CamundaOptions.config override).'\n );\n }\n this._maxParallelJobs = this._cfg.maxParallelJobs;\n this._jobTimeoutMs = this._cfg.jobTimeoutMs;\n this._name = cfg.workerName || `worker-${cfg.jobType}-${++_workerCounter}`;\n this._log = this._client.logger().scope(`worker:${this._name}`);\n if (cfg.maxBackoffTimeMs !== undefined) {\n this._log.debug(() => [\n 'worker.config.deprecated',\n { maxBackoffTimeMs: cfg.maxBackoffTimeMs },\n ]);\n }\n if (this._cfg.autoStart) this.start();\n }\n\n get name() {\n return this._name;\n }\n get activeJobs() {\n return this._activeJobs;\n }\n get stopped() {\n return this._stopped;\n }\n\n start() {\n if (this._stopped) return;\n if (this._pollTimer) return; // already running\n this._log.info('worker.start');\n const jitterMax = this._cfg.startupJitterMaxSeconds ?? 0;\n if (jitterMax > 0) {\n const jitterMs = Math.floor(Math.random() * jitterMax * 1000);\n this._log.info(() => ['worker.start.jitter', { delayMs: jitterMs }]);\n this._scheduleNext(jitterMs);\n } else {\n this._scheduleNext(0);\n }\n }\n\n stop() {\n this._stopped = true;\n if (this._pollTimer) clearTimeout(this._pollTimer);\n this._pollTimer = null;\n if (this._inFlightActivation?.cancel) {\n try {\n this._inFlightActivation.cancel();\n } catch {\n /* ignore */\n }\n }\n this._log.info('worker.stop');\n }\n\n /**\n * Gracefully stop the worker: prevent new polls, allow any in-flight activation to finish\n * without cancellation, and wait for currently active jobs to drain (be acknowledged) up to waitUpToMs.\n * If timeout is reached, falls back to hard stop logic (cancels activation if still pending).\n */\n async stopGracefully(opts?: { waitUpToMs?: number; checkIntervalMs?: number }) {\n const waitUpToMs = opts?.waitUpToMs ?? 5000;\n const checkIntervalMs = opts?.checkIntervalMs ?? 10;\n this._stopped = true;\n if (this._pollTimer) clearTimeout(this._pollTimer);\n this._pollTimer = null;\n const start = Date.now();\n // Wait for activation to settle (do not cancel proactively)\n if (this._inFlightActivation) {\n try {\n await Promise.race([\n this._inFlightActivation,\n new Promise((_, rej) =>\n setTimeout(() => rej(new Error('activation.wait.timeout')), waitUpToMs)\n ),\n ]);\n } catch (e: any) {\n // If activation timed out, we will proceed to fallback below.\n if (e && e.message === 'activation.wait.timeout') {\n this._log.debug('worker.gracefulStop.activationTimeout');\n }\n }\n }\n // Wait for active jobs to drain\n while (this._activeJobs > 0 && Date.now() - start < waitUpToMs) {\n await new Promise((r) => setTimeout(r, checkIntervalMs));\n }\n const timedOut = this._activeJobs > 0;\n if (timedOut) {\n // Fallback: cancel activation if still present and perform hard stop semantics.\n if (this._inFlightActivation?.cancel) {\n try {\n this._inFlightActivation.cancel();\n } catch {\n /* ignore */\n }\n }\n this._log.debug('worker.gracefulStop.timeout', { remaining: this._activeJobs });\n } else {\n this._log.debug('worker.gracefulStop.done');\n }\n return { remainingJobs: this._activeJobs, timedOut };\n }\n\n private _scheduleNext(delayMs: number) {\n if (this._stopped) return;\n this._pollTimer = setTimeout(() => this._poll(), delayMs);\n }\n\n private async _poll() {\n this._pollTimer = null;\n if (this._stopped) return;\n // If at capacity, defer\n if (this._activeJobs >= this._maxParallelJobs) {\n this._scheduleNext(this._cfg.pollIntervalMs!);\n return;\n }\n const batchSize = this._maxParallelJobs - this._activeJobs;\n if (batchSize <= 0) {\n this._scheduleNext(this._cfg.pollIntervalMs!);\n return;\n }\n // Activation body shape inferred – using common fields\n const body = {\n type: this._cfg.jobType,\n worker: this._name,\n maxJobsToActivate: batchSize,\n requestTimeout: this._cfg.pollTimeoutMs ?? DEFAULT_LONGPOLL_TIMEOUT,\n timeout: this._jobTimeoutMs,\n // API expects `fetchVariable`; map from config `fetchVariables`\n ...(this._cfg.fetchVariables && this._cfg.fetchVariables.length > 0\n ? { fetchVariable: this._cfg.fetchVariables }\n : {}),\n };\n this._log.debug(() => ['activation.request', { batchSize }]);\n let result: ActivatedJobResult[] = [];\n try {\n this._inFlightActivation = this._client.activateJobs(body);\n const activation = await this._inFlightActivation;\n this._inFlightActivation = null;\n result = activation?.jobs || [];\n this._log.debug(() => ['activation.response', { jobs: result.length }]);\n } catch (e) {\n this._inFlightActivation = null;\n if (this._stopped) return; // Ignore errors after stop\n // Suppress logging for intentional cancellation (user-initiated stop).\n if ((e as any)?.name === 'CancelSdkError') {\n this._log.debug('activation.cancelled');\n } else {\n this._log.error('activation.error', e);\n }\n this._scheduleNext(this._cfg.pollIntervalMs!);\n return;\n }\n if (!result || result.length === 0) {\n // No jobs – simply schedule next poll\n this._scheduleNext(this._cfg.pollIntervalMs!);\n return;\n }\n this._activeJobs += result.length;\n // Immediately schedule next poll (long polling already provided delay)\n this._scheduleNext(0);\n for (const raw of result) {\n this._handleJob(raw).catch((err) => {\n this._log.error('job.handler.unexpected', err);\n });\n }\n }\n\n private async _handleJob(raw: ActivatedJobResult & Partial<EnrichedActivatedJob>) {\n if (this._stopped) {\n this._decrementOnce();\n return;\n }\n // Validation of input/custom headers\n let variables: any = raw.variables;\n let headers: any = raw.customHeaders;\n if (this._cfg.validateSchemas) {\n if (this._cfg.inputSchema) {\n const parsed = this._cfg.inputSchema.safeParse(variables);\n if (!parsed.success) {\n this._log.warn('job.validation.variables.failed', parsed.error.flatten());\n await this._failValidation(raw as ActivatedJobResult, 'Invalid variables');\n return;\n }\n variables = parsed.data;\n }\n if (this._cfg.customHeadersSchema) {\n const parsed = this._cfg.customHeadersSchema.safeParse(headers);\n if (!parsed.success) {\n this._log.warn('job.validation.headers.failed', parsed.error.flatten());\n await this._failValidation(raw as ActivatedJobResult, 'Invalid custom headers');\n return;\n }\n headers = parsed.data;\n }\n }\n // Mutate enriched job with validated data if present\n const job: Job<any, any> = Object.assign(raw, { variables, customHeaders: headers }) as Job<\n any,\n any\n >;\n try {\n const receipt = await this._cfg.jobHandler(job);\n if (!job.acknowledged) {\n this._log.warn('job.handler.noAction', { jobKey: raw.jobKey });\n }\n return receipt;\n } catch (e: any) {\n this._log.error('job.handler.error', e);\n try {\n const retries = raw.retries;\n await this._client.failJob({\n jobKey: raw.jobKey,\n errorMessage: e?.message || 'Handler error',\n retries: typeof retries === 'number' ? Math.max(0, retries - 1) : 0,\n });\n } catch (failErr) {\n this._log.error('job.fail.error', failErr);\n }\n return JobActionReceipt;\n } finally {\n this._decrementOnce();\n }\n }\n\n private async _failValidation(raw: ActivatedJobResult, msg: string) {\n try {\n await this._client.failJob({ jobKey: raw.jobKey, errorMessage: msg });\n } catch (e) {\n this._log.error('job.fail.validation.error', e);\n } finally {\n this._decrementOnce();\n }\n }\n\n private _decrementOnce() {\n this._activeJobs = Math.max(0, this._activeJobs - 1);\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<\n RequestInit,\n 'method'\n> &\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<\n TData = unknown,\n TReturn = void,\n TNext = unknown,\n> = {\n stream: AsyncGenerator<\n TData extends Record<string, unknown> ? TData[keyof TData] : TData,\n TReturn,\n TNext\n >;\n};\n\nexport const 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 =\n sseSleepFn ??\n ((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)\n throw new Error(\n `SSE failed: ${response.status} ${response.statusText}`,\n );\n\n if (!response.body) throw new Error('No body in SSE response');\n\n const reader = response.body\n .pipeThrough(new TextDecoderStream())\n .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\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(\n line.replace(/^retry:\\s*/, ''),\n 10,\n );\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 (\n sseMaxRetryAttempts !== undefined &&\n attempt >= sseMaxRetryAttempts\n ) {\n break; // stop after firing error\n }\n\n // exponential backoff: double retry each attempt, cap at 30s\n const backoff = Math.min(\n retryDelay * 2 ** (attempt - 1),\n sseMaxRetryDelay ?? 30000,\n );\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>\n extends SerializePrimitiveOptions,\n 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) => {\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}) => {\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'\n ? separator + joinedValues\n : joinedValues;\n};\n\nexport const serializePrimitiveParam = ({\n allowReserved,\n name,\n value,\n}: SerializePrimitiveParam) => {\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}) => {\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 = [\n ...values,\n key,\n allowReserved ? (v as string) : encodeURIComponent(v as string),\n ];\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'\n ? separator + joinedValues\n : 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 = /\\{[^{}]+\\}/g;\n\nexport const defaultPathSerializer = ({ path, url: _url }: PathSerializer) => {\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(\n match,\n serializeArrayParam({ explode, name, style, value }),\n );\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}) => {\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}) {\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 * 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 =\n 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 type {\n ArrayStyle,\n ObjectStyle,\n SerializerOptions,\n} from './pathSerializer.gen';\n\nexport type QuerySerializer = (query: Record<string, unknown>) => string;\n\nexport type BodySerializer = (body: any) => any;\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 = (\n data: FormData,\n key: string,\n value: unknown,\n): 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 = (\n data: URLSearchParams,\n key: string,\n value: unknown,\n): 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: <T extends Record<string, any> | Array<Record<string, any>>>(\n body: T,\n ): FormData => {\n const data = new FormData();\n\n Object.entries(body).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: <T>(body: T): string =>\n JSON.stringify(body, (_key, value) =>\n typeof value === 'bigint' ? value.toString() : value,\n ),\n};\n\nexport const urlSearchParamsBodySerializer = {\n bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(\n body: T,\n ): string => {\n const data = new URLSearchParams();\n\n Object.entries(body).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 { 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 = {}) => {\n const querySerializer = (queryParams: T) => {\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 = (\n contentType: string | null,\n): 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 (\n cleanContent.startsWith('application/json') ||\n cleanContent.endsWith('+json')\n ) {\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) =>\n cleanContent.startsWith(type),\n )\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 const setAuthParams = async ({\n security,\n ...options\n}: Pick<Required<RequestOptions>, 'security'> &\n Pick<RequestOptions, 'auth' | 'query'> & {\n headers: Headers;\n }) => {\n for (const auth of 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 =\n header instanceof Headers\n ? headersEntries(header)\n : 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: Res,\n request: Req,\n options: Options,\n) => Err | Promise<Err>;\n\ntype ReqInterceptor<Req, Options> = (\n request: Req,\n options: Options,\n) => 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(\n id: number | Interceptor,\n fn: Interceptor,\n ): 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 {\n Client,\n Config,\n RequestOptions,\n ResolvedRequestOptions,\n} 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<\n Request,\n Response,\n unknown,\n ResolvedRequestOptions\n >();\n\n const beforeRequest = async (options: RequestOptions) => {\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,\n };\n\n if (opts.security) {\n await setAuthParams({\n ...opts,\n security: opts.security,\n });\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);\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 url = buildUrl(opts);\n\n return { opts, url };\n };\n\n const request: Client['request'] = async (options) => {\n // @ts-expect-error\n const { opts, url } = await beforeRequest(options);\n const requestInit: ReqInit = {\n redirect: 'follow',\n ...opts,\n body: getValidRequestBody(opts),\n };\n\n let 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 let 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 (\n response.status === 204 ||\n response.headers.get('Content-Length') === '0'\n ) {\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 'json':\n case 'text':\n data = await response[parseAs]();\n break;\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 const error = jsonError ?? textError;\n let finalError = error;\n\n for (const fn of interceptors.error.fns) {\n if (fn) {\n finalError = (await fn(error, response, request, opts)) as string;\n }\n }\n\n finalError = finalError || ({} as string);\n\n if (opts.throwOnError) {\n throw finalError;\n }\n\n // TODO: we probably want to return error and improve types\n return opts.responseStyle === 'data'\n ? undefined\n : {\n error: finalError,\n ...result,\n };\n };\n\n const makeMethodFn =\n (method: Uppercase<HttpMethod>) => (options: RequestOptions) =>\n request({ ...options, method });\n\n const makeSseFn =\n (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 headers: opts.headers as unknown as Record<string, string>,\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 url,\n });\n };\n\n return {\n 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 { 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 = createClient(createConfig<ClientOptions2>({\n throwOnError: true\n}));\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport { type Client, formDataBodySerializer, type Options as Options2, type TDataShape } from './client';\nimport { client } from './client.gen';\nimport type { ActivateAdHocSubProcessActivitiesData, ActivateAdHocSubProcessActivitiesErrors, ActivateAdHocSubProcessActivitiesResponses, ActivateJobsData, ActivateJobsErrors, ActivateJobsResponses, AssignClientToGroupData, AssignClientToGroupErrors, AssignClientToGroupResponses, AssignClientToTenantData, AssignClientToTenantErrors, AssignClientToTenantResponses, AssignGroupToTenantData, AssignGroupToTenantErrors, AssignGroupToTenantResponses, AssignMappingRuleToGroupData, AssignMappingRuleToGroupErrors, AssignMappingRuleToGroupResponses, AssignMappingRuleToTenantData, AssignMappingRuleToTenantErrors, AssignMappingRuleToTenantResponses, AssignRoleToClientData, AssignRoleToClientErrors, AssignRoleToClientResponses, AssignRoleToGroupData, AssignRoleToGroupErrors, AssignRoleToGroupResponses, AssignRoleToMappingRuleData, AssignRoleToMappingRuleErrors, AssignRoleToMappingRuleResponses, AssignRoleToTenantData, AssignRoleToTenantErrors, AssignRoleToTenantResponses, AssignRoleToUserData, AssignRoleToUserErrors, AssignRoleToUserResponses, AssignUserTaskData, AssignUserTaskErrors, AssignUserTaskResponses, AssignUserToGroupData, AssignUserToGroupErrors, AssignUserToGroupResponses, AssignUserToTenantData, AssignUserToTenantErrors, AssignUserToTenantResponses, BroadcastSignalData, BroadcastSignalErrors, BroadcastSignalResponses, CancelBatchOperationData, CancelBatchOperationErrors, CancelBatchOperationResponses, CancelProcessInstanceData, CancelProcessInstanceErrors, CancelProcessInstanceResponses, CancelProcessInstancesBatchOperationData, CancelProcessInstancesBatchOperationErrors, CancelProcessInstancesBatchOperationResponses, CompleteJobData, CompleteJobErrors, CompleteJobResponses, CompleteUserTaskData, CompleteUserTaskErrors, CompleteUserTaskResponses, CorrelateMessageData, CorrelateMessageErrors, CorrelateMessageResponses, CreateAdminUserData, CreateAdminUserErrors, CreateAdminUserResponses, CreateAuthorizationData, CreateAuthorizationErrors, CreateAuthorizationResponses, CreateDeploymentData, CreateDeploymentErrors, CreateDeploymentResponses, CreateDocumentData, CreateDocumentErrors, CreateDocumentLinkData, CreateDocumentLinkErrors, CreateDocumentLinkResponses, CreateDocumentResponses, CreateDocumentsData, CreateDocumentsErrors, CreateDocumentsResponses, CreateElementInstanceVariablesData, CreateElementInstanceVariablesErrors, CreateElementInstanceVariablesResponses, CreateGlobalClusterVariableData, CreateGlobalClusterVariableErrors, CreateGlobalClusterVariableResponses, CreateGlobalTaskListenerData, CreateGlobalTaskListenerErrors, CreateGlobalTaskListenerResponses, CreateGroupData, CreateGroupErrors, CreateGroupResponses, CreateMappingRuleData, CreateMappingRuleErrors, CreateMappingRuleResponses, CreateProcessInstanceData, CreateProcessInstanceErrors, CreateProcessInstanceResponses, CreateRoleData, CreateRoleErrors, CreateRoleResponses, CreateTenantClusterVariableData, CreateTenantClusterVariableErrors, CreateTenantClusterVariableResponses, CreateTenantData, CreateTenantErrors, CreateTenantResponses, CreateUserData, CreateUserErrors, CreateUserResponses, DeleteAuthorizationData, DeleteAuthorizationErrors, DeleteAuthorizationResponses, DeleteDecisionInstanceData, DeleteDecisionInstanceErrors, DeleteDecisionInstanceResponses, DeleteDecisionInstancesBatchOperationData, DeleteDecisionInstancesBatchOperationErrors, DeleteDecisionInstancesBatchOperationResponses, DeleteDocumentData, DeleteDocumentErrors, DeleteDocumentResponses, DeleteGlobalClusterVariableData, DeleteGlobalClusterVariableErrors, DeleteGlobalClusterVariableResponses, DeleteGlobalTaskListenerData, DeleteGlobalTaskListenerErrors, DeleteGlobalTaskListenerResponses, DeleteGroupData, DeleteGroupErrors, DeleteGroupResponses, DeleteMappingRuleData, DeleteMappingRuleErrors, DeleteMappingRuleResponses, DeleteProcessInstanceData, DeleteProcessInstanceErrors, DeleteProcessInstanceResponses, DeleteProcessInstancesBatchOperationData, DeleteProcessInstancesBatchOperationErrors, DeleteProcessInstancesBatchOperationResponses, DeleteResourceData, DeleteResourceErrors, DeleteResourceResponses, DeleteRoleData, DeleteRoleErrors, DeleteRoleResponses, DeleteTenantClusterVariableData, DeleteTenantClusterVariableErrors, DeleteTenantClusterVariableResponses, DeleteTenantData, DeleteTenantErrors, DeleteTenantResponses, DeleteUserData, DeleteUserErrors, DeleteUserResponses, EvaluateConditionalsData, EvaluateConditionalsErrors, EvaluateConditionalsResponses, EvaluateDecisionData, EvaluateDecisionErrors, EvaluateDecisionResponses, EvaluateExpressionData, EvaluateExpressionErrors, EvaluateExpressionResponses, FailJobData, FailJobErrors, FailJobResponses, GetAuditLogData, GetAuditLogErrors, GetAuditLogResponses, GetAuthenticationData, GetAuthenticationErrors, GetAuthenticationResponses, GetAuthorizationData, GetAuthorizationErrors, GetAuthorizationResponses, GetBatchOperationData, GetBatchOperationErrors, GetBatchOperationResponses, GetDecisionDefinitionData, GetDecisionDefinitionErrors, GetDecisionDefinitionResponses, GetDecisionDefinitionXmlData, GetDecisionDefinitionXmlErrors, GetDecisionDefinitionXmlResponses, GetDecisionInstanceData, GetDecisionInstanceErrors, GetDecisionInstanceResponses, GetDecisionRequirementsData, GetDecisionRequirementsErrors, GetDecisionRequirementsResponses, GetDecisionRequirementsXmlData, GetDecisionRequirementsXmlErrors, GetDecisionRequirementsXmlResponses, GetDocumentData, GetDocumentErrors, GetDocumentResponses, GetElementInstanceData, GetElementInstanceErrors, GetElementInstanceResponses, GetGlobalClusterVariableData, GetGlobalClusterVariableErrors, GetGlobalClusterVariableResponses, GetGlobalJobStatisticsData, GetGlobalJobStatisticsErrors, GetGlobalJobStatisticsResponses, GetGlobalTaskListenerData, GetGlobalTaskListenerErrors, GetGlobalTaskListenerResponses, GetGroupData, GetGroupErrors, GetGroupResponses, GetIncidentData, GetIncidentErrors, GetIncidentResponses, GetJobErrorStatisticsData, GetJobErrorStatisticsErrors, GetJobErrorStatisticsResponses, GetJobTimeSeriesStatisticsData, GetJobTimeSeriesStatisticsErrors, GetJobTimeSeriesStatisticsResponses, GetJobTypeStatisticsData, GetJobTypeStatisticsErrors, GetJobTypeStatisticsResponses, GetJobWorkerStatisticsData, GetJobWorkerStatisticsErrors, GetJobWorkerStatisticsResponses, GetLicenseData, GetLicenseErrors, GetLicenseResponses, GetMappingRuleData, GetMappingRuleErrors, GetMappingRuleResponses, GetProcessDefinitionData, GetProcessDefinitionErrors, GetProcessDefinitionInstanceStatisticsData, GetProcessDefinitionInstanceStatisticsErrors, GetProcessDefinitionInstanceStatisticsResponses, GetProcessDefinitionInstanceVersionStatisticsData, GetProcessDefinitionInstanceVersionStatisticsErrors, GetProcessDefinitionInstanceVersionStatisticsResponses, GetProcessDefinitionMessageSubscriptionStatisticsData, GetProcessDefinitionMessageSubscriptionStatisticsErrors, GetProcessDefinitionMessageSubscriptionStatisticsResponses, GetProcessDefinitionResponses, GetProcessDefinitionStatisticsData, GetProcessDefinitionStatisticsErrors, GetProcessDefinitionStatisticsResponses, GetProcessDefinitionXmlData, GetProcessDefinitionXmlErrors, GetProcessDefinitionXmlResponses, GetProcessInstanceCallHierarchyData, GetProcessInstanceCallHierarchyErrors, GetProcessInstanceCallHierarchyResponses, GetProcessInstanceData, GetProcessInstanceErrors, GetProcessInstanceResponses, GetProcessInstanceSequenceFlowsData, GetProcessInstanceSequenceFlowsErrors, GetProcessInstanceSequenceFlowsResponses, GetProcessInstanceStatisticsByDefinitionData, GetProcessInstanceStatisticsByDefinitionErrors, GetProcessInstanceStatisticsByDefinitionResponses, GetProcessInstanceStatisticsByErrorData, GetProcessInstanceStatisticsByErrorErrors, GetProcessInstanceStatisticsByErrorResponses, GetProcessInstanceStatisticsData, GetProcessInstanceStatisticsErrors, GetProcessInstanceStatisticsResponses, GetResourceContentData, GetResourceContentErrors, GetResourceContentResponses, GetResourceData, GetResourceErrors, GetResourceResponses, GetRoleData, GetRoleErrors, GetRoleResponses, GetStartProcessFormData, GetStartProcessFormErrors, GetStartProcessFormResponses, GetStatusData, GetStatusErrors, GetStatusResponses, GetSystemConfigurationData, GetSystemConfigurationErrors, GetSystemConfigurationResponses, GetTenantClusterVariableData, GetTenantClusterVariableErrors, GetTenantClusterVariableResponses, GetTenantData, GetTenantErrors, GetTenantResponses, GetTopologyData, GetTopologyErrors, GetTopologyResponses, GetUsageMetricsData, GetUsageMetricsErrors, GetUsageMetricsResponses, GetUserData, GetUserErrors, GetUserResponses, GetUserTaskData, GetUserTaskErrors, GetUserTaskFormData, GetUserTaskFormErrors, GetUserTaskFormResponses, GetUserTaskResponses, GetVariableData, GetVariableErrors, GetVariableResponses, MigrateProcessInstanceData, MigrateProcessInstanceErrors, MigrateProcessInstanceResponses, MigrateProcessInstancesBatchOperationData, MigrateProcessInstancesBatchOperationErrors, MigrateProcessInstancesBatchOperationResponses, ModifyProcessInstanceData, ModifyProcessInstanceErrors, ModifyProcessInstanceResponses, ModifyProcessInstancesBatchOperationData, ModifyProcessInstancesBatchOperationErrors, ModifyProcessInstancesBatchOperationResponses, PinClockData, PinClockErrors, PinClockResponses, PublishMessageData, PublishMessageErrors, PublishMessageResponses, ResetClockData, ResetClockErrors, ResetClockResponses, ResolveIncidentData, ResolveIncidentErrors, ResolveIncidentResponses, ResolveIncidentsBatchOperationData, ResolveIncidentsBatchOperationErrors, ResolveIncidentsBatchOperationResponses, ResolveProcessInstanceIncidentsData, ResolveProcessInstanceIncidentsErrors, ResolveProcessInstanceIncidentsResponses, ResumeBatchOperationData, ResumeBatchOperationErrors, ResumeBatchOperationResponses, SearchAuditLogsData, SearchAuditLogsErrors, SearchAuditLogsResponses, SearchAuthorizationsData, SearchAuthorizationsErrors, SearchAuthorizationsResponses, SearchBatchOperationItemsData, SearchBatchOperationItemsErrors, SearchBatchOperationItemsResponses, SearchBatchOperationsData, SearchBatchOperationsErrors, SearchBatchOperationsResponses, SearchClientsForGroupData, SearchClientsForGroupErrors, SearchClientsForGroupResponses, SearchClientsForRoleData, SearchClientsForRoleErrors, SearchClientsForRoleResponses, SearchClientsForTenantData, SearchClientsForTenantResponses, SearchClusterVariablesData, SearchClusterVariablesErrors, SearchClusterVariablesResponses, SearchCorrelatedMessageSubscriptionsData, SearchCorrelatedMessageSubscriptionsErrors, SearchCorrelatedMessageSubscriptionsResponses, SearchDecisionDefinitionsData, SearchDecisionDefinitionsErrors, SearchDecisionDefinitionsResponses, SearchDecisionInstancesData, SearchDecisionInstancesErrors, SearchDecisionInstancesResponses, SearchDecisionRequirementsData, SearchDecisionRequirementsErrors, SearchDecisionRequirementsResponses, SearchElementInstanceIncidentsData, SearchElementInstanceIncidentsErrors, SearchElementInstanceIncidentsResponses, SearchElementInstancesData, SearchElementInstancesErrors, SearchElementInstancesResponses, SearchGlobalTaskListenersData, SearchGlobalTaskListenersErrors, SearchGlobalTaskListenersResponses, SearchGroupIdsForTenantData, SearchGroupIdsForTenantResponses, SearchGroupsData, SearchGroupsErrors, SearchGroupsForRoleData, SearchGroupsForRoleErrors, SearchGroupsForRoleResponses, SearchGroupsResponses, SearchIncidentsData, SearchIncidentsErrors, SearchIncidentsResponses, SearchJobsData, SearchJobsErrors, SearchJobsResponses, SearchMappingRuleData, SearchMappingRuleErrors, SearchMappingRuleResponses, SearchMappingRulesForGroupData, SearchMappingRulesForGroupErrors, SearchMappingRulesForGroupResponses, SearchMappingRulesForRoleData, SearchMappingRulesForRoleErrors, SearchMappingRulesForRoleResponses, SearchMappingRulesForTenantData, SearchMappingRulesForTenantResponses, SearchMessageSubscriptionsData, SearchMessageSubscriptionsErrors, SearchMessageSubscriptionsResponses, SearchProcessDefinitionsData, SearchProcessDefinitionsErrors, SearchProcessDefinitionsResponses, SearchProcessInstanceIncidentsData, SearchProcessInstanceIncidentsErrors, SearchProcessInstanceIncidentsResponses, SearchProcessInstancesData, SearchProcessInstancesErrors, SearchProcessInstancesResponses, SearchRolesData, SearchRolesErrors, SearchRolesForGroupData, SearchRolesForGroupErrors, SearchRolesForGroupResponses, SearchRolesForTenantData, SearchRolesForTenantResponses, SearchRolesResponses, SearchTenantsData, SearchTenantsErrors, SearchTenantsResponses, SearchUsersData, SearchUsersErrors, SearchUsersForGroupData, SearchUsersForGroupErrors, SearchUsersForGroupResponses, SearchUsersForRoleData, SearchUsersForRoleErrors, SearchUsersForRoleResponses, SearchUsersForTenantData, SearchUsersForTenantResponses, SearchUsersResponses, SearchUserTaskAuditLogsData, SearchUserTaskAuditLogsErrors, SearchUserTaskAuditLogsResponses, SearchUserTaskEffectiveVariablesData, SearchUserTaskEffectiveVariablesErrors, SearchUserTaskEffectiveVariablesResponses, SearchUserTasksData, SearchUserTasksErrors, SearchUserTasksResponses, SearchUserTaskVariablesData, SearchUserTaskVariablesErrors, SearchUserTaskVariablesResponses, SearchVariablesData, SearchVariablesErrors, SearchVariablesResponses, SuspendBatchOperationData, SuspendBatchOperationErrors, SuspendBatchOperationResponses, ThrowJobErrorData, ThrowJobErrorErrors, ThrowJobErrorResponses, UnassignClientFromGroupData, UnassignClientFromGroupErrors, UnassignClientFromGroupResponses, UnassignClientFromTenantData, UnassignClientFromTenantErrors, UnassignClientFromTenantResponses, UnassignGroupFromTenantData, UnassignGroupFromTenantErrors, UnassignGroupFromTenantResponses, UnassignMappingRuleFromGroupData, UnassignMappingRuleFromGroupErrors, UnassignMappingRuleFromGroupResponses, UnassignMappingRuleFromTenantData, UnassignMappingRuleFromTenantErrors, UnassignMappingRuleFromTenantResponses, UnassignRoleFromClientData, UnassignRoleFromClientErrors, UnassignRoleFromClientResponses, UnassignRoleFromGroupData, UnassignRoleFromGroupErrors, UnassignRoleFromGroupResponses, UnassignRoleFromMappingRuleData, UnassignRoleFromMappingRuleErrors, UnassignRoleFromMappingRuleResponses, UnassignRoleFromTenantData, UnassignRoleFromTenantErrors, UnassignRoleFromTenantResponses, UnassignRoleFromUserData, UnassignRoleFromUserErrors, UnassignRoleFromUserResponses, UnassignUserFromGroupData, UnassignUserFromGroupErrors, UnassignUserFromGroupResponses, UnassignUserFromTenantData, UnassignUserFromTenantErrors, UnassignUserFromTenantResponses, UnassignUserTaskData, UnassignUserTaskErrors, UnassignUserTaskResponses, UpdateAuthorizationData, UpdateAuthorizationErrors, UpdateAuthorizationResponses, UpdateGlobalClusterVariableData, UpdateGlobalClusterVariableErrors, UpdateGlobalClusterVariableResponses, UpdateGlobalTaskListenerData, UpdateGlobalTaskListenerErrors, UpdateGlobalTaskListenerResponses, UpdateGroupData, UpdateGroupErrors, UpdateGroupResponses, UpdateJobData, UpdateJobErrors, UpdateJobResponses, UpdateMappingRuleData, UpdateMappingRuleErrors, UpdateMappingRuleResponses, UpdateRoleData, UpdateRoleErrors, UpdateRoleResponses, UpdateTenantClusterVariableData, UpdateTenantClusterVariableErrors, UpdateTenantClusterVariableResponses, UpdateTenantData, UpdateTenantErrors, UpdateTenantResponses, UpdateUserData, UpdateUserErrors, UpdateUserResponses, UpdateUserTaskData, UpdateUserTaskErrors, UpdateUserTaskResponses } from './types.gen';\nexport type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = Options2<TData, ThrowOnError> & {\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?: Record<string, unknown>;\n};\n\n/**\n * Search audit logs\n *\n * Search for audit logs based on given criteria.\n */\nexport const searchAuditLogs = <ThrowOnError extends boolean = true>(options?: Options<SearchAuditLogsData, ThrowOnError>) => {\n return (options?.client ?? client).post<SearchAuditLogsResponses, SearchAuditLogsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/audit-logs/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get audit log\n *\n * Get an audit log entry by auditLogKey.\n */\nexport const getAuditLog = <ThrowOnError extends boolean = true>(options: Options<GetAuditLogData, ThrowOnError>) => {\n return (options.client ?? client).get<GetAuditLogResponses, GetAuditLogErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/audit-logs/{auditLogKey}',\n ...options\n });\n};\n\n/**\n * Get current user\n *\n * Retrieves the current authenticated user.\n */\nexport const getAuthentication = <ThrowOnError extends boolean = true>(options?: Options<GetAuthenticationData, ThrowOnError>) => {\n return (options?.client ?? client).get<GetAuthenticationResponses, GetAuthenticationErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n security: [\n {\n scheme: 'bearer',\n type: 'http'\n }\n ],\n url: '/authentication/me',\n ...options\n });\n};\n\n/**\n * Create authorization\n *\n * Create the authorization.\n */\nexport const createAuthorization = <ThrowOnError extends boolean = true>(options: Options<CreateAuthorizationData, ThrowOnError>) => {\n return (options.client ?? client).post<CreateAuthorizationResponses, CreateAuthorizationErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/authorizations',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Search authorizations\n *\n * Search for authorizations based on given criteria.\n */\nexport const searchAuthorizations = <ThrowOnError extends boolean = true>(options?: Options<SearchAuthorizationsData, ThrowOnError>) => {\n return (options?.client ?? client).post<SearchAuthorizationsResponses, SearchAuthorizationsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/authorizations/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete authorization\n *\n * Deletes the authorization with the given key.\n */\nexport const deleteAuthorization = <ThrowOnError extends boolean = true>(options: Options<DeleteAuthorizationData, ThrowOnError>) => {\n return (options.client ?? client).delete<DeleteAuthorizationResponses, DeleteAuthorizationErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/authorizations/{authorizationKey}',\n ...options\n });\n};\n\n/**\n * Get authorization\n *\n * Get authorization by the given key.\n */\nexport const getAuthorization = <ThrowOnError extends boolean = true>(options: Options<GetAuthorizationData, ThrowOnError>) => {\n return (options.client ?? client).get<GetAuthorizationResponses, GetAuthorizationErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/authorizations/{authorizationKey}',\n ...options\n });\n};\n\n/**\n * Update authorization\n *\n * Update the authorization with the given key.\n */\nexport const updateAuthorization = <ThrowOnError extends boolean = true>(options: Options<UpdateAuthorizationData, ThrowOnError>) => {\n return (options.client ?? client).put<UpdateAuthorizationResponses, UpdateAuthorizationErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/authorizations/{authorizationKey}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Search batch operation items\n *\n * Search for batch operation items based on given criteria.\n */\nexport const searchBatchOperationItems = <ThrowOnError extends boolean = true>(options?: Options<SearchBatchOperationItemsData, ThrowOnError>) => {\n return (options?.client ?? client).post<SearchBatchOperationItemsResponses, SearchBatchOperationItemsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/batch-operation-items/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Search batch operations\n *\n * Search for batch operations based on given criteria.\n */\nexport const searchBatchOperations = <ThrowOnError extends boolean = true>(options?: Options<SearchBatchOperationsData, ThrowOnError>) => {\n return (options?.client ?? client).post<SearchBatchOperationsResponses, SearchBatchOperationsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/batch-operations/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get batch operation\n *\n * Get batch operation by key.\n */\nexport const getBatchOperation = <ThrowOnError extends boolean = true>(options: Options<GetBatchOperationData, ThrowOnError>) => {\n return (options.client ?? client).get<GetBatchOperationResponses, GetBatchOperationErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/batch-operations/{batchOperationKey}',\n ...options\n });\n};\n\n/**\n * Cancel Batch operation\n *\n * Cancels a running batch operation.\n * This is done asynchronously, the progress can be tracked using the batch operation status endpoint (/batch-operations/{batchOperationKey}).\n *\n */\nexport const cancelBatchOperation = <ThrowOnError extends boolean = true>(options: Options<CancelBatchOperationData, ThrowOnError>) => {\n return (options.client ?? client).post<CancelBatchOperationResponses, CancelBatchOperationErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/batch-operations/{batchOperationKey}/cancellation',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Resume Batch operation\n *\n * Resumes a suspended batch operation.\n * This is done asynchronously, the progress can be tracked using the batch operation status endpoint (/batch-operations/{batchOperationKey}).\n *\n */\nexport const resumeBatchOperation = <ThrowOnError extends boolean = true>(options: Options<ResumeBatchOperationData, ThrowOnError>) => {\n return (options.client ?? client).post<ResumeBatchOperationResponses, ResumeBatchOperationErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/batch-operations/{batchOperationKey}/resumption',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Suspend Batch operation\n *\n * Suspends a running batch operation.\n * This is done asynchronously, the progress can be tracked using the batch operation status endpoint (/batch-operations/{batchOperationKey}).\n *\n */\nexport const suspendBatchOperation = <ThrowOnError extends boolean = true>(options: Options<SuspendBatchOperationData, ThrowOnError>) => {\n return (options.client ?? client).post<SuspendBatchOperationResponses, SuspendBatchOperationErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/batch-operations/{batchOperationKey}/suspension',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Pin internal clock (alpha)\n *\n * Set a precise, static time for the Zeebe engine's internal clock.\n * When the clock is pinned, it remains at the specified time and does not advance.\n * To change the time, the clock must be pinned again with a new timestamp.\n *\n * This endpoint is an alpha feature and may be subject to change\n * in future releases.\n *\n */\nexport const pinClock = <ThrowOnError extends boolean = true>(options: Options<PinClockData, ThrowOnError>) => {\n return (options.client ?? client).put<PinClockResponses, PinClockErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/clock',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Reset internal clock (alpha)\n *\n * Resets the Zeebe engine's internal clock to the current system time, enabling it to tick in real-time.\n * This operation is useful for returning the clock to\n * normal behavior after it has been pinned to a specific time.\n *\n * This endpoint is an alpha feature and may be subject to change\n * in future releases.\n *\n */\nexport const resetClock = <ThrowOnError extends boolean = true>(options?: Options<ResetClockData, ThrowOnError>) => {\n return (options?.client ?? client).post<ResetClockResponses, ResetClockErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/clock/reset',\n ...options\n });\n};\n\n/**\n * Create a global-scoped cluster variable\n *\n * Create a global-scoped cluster variable.\n */\nexport const createGlobalClusterVariable = <ThrowOnError extends boolean = true>(options: Options<CreateGlobalClusterVariableData, ThrowOnError>) => {\n return (options.client ?? client).post<CreateGlobalClusterVariableResponses, CreateGlobalClusterVariableErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/cluster-variables/global',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Delete a global-scoped cluster variable\n *\n * Delete a global-scoped cluster variable.\n */\nexport const deleteGlobalClusterVariable = <ThrowOnError extends boolean = true>(options: Options<DeleteGlobalClusterVariableData, ThrowOnError>) => {\n return (options.client ?? client).delete<DeleteGlobalClusterVariableResponses, DeleteGlobalClusterVariableErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/cluster-variables/global/{name}',\n ...options\n });\n};\n\n/**\n * Get a global-scoped cluster variable\n *\n * Get a global-scoped cluster variable.\n */\nexport const getGlobalClusterVariable = <ThrowOnError extends boolean = true>(options: Options<GetGlobalClusterVariableData, ThrowOnError>) => {\n return (options.client ?? client).get<GetGlobalClusterVariableResponses, GetGlobalClusterVariableErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/cluster-variables/global/{name}',\n ...options\n });\n};\n\n/**\n * Update a global-scoped cluster variable\n *\n * Updates the value of an existing global cluster variable.\n * The variable must exist, otherwise a 404 error is returned.\n *\n */\nexport const updateGlobalClusterVariable = <ThrowOnError extends boolean = true>(options: Options<UpdateGlobalClusterVariableData, ThrowOnError>) => {\n return (options.client ?? client).put<UpdateGlobalClusterVariableResponses, UpdateGlobalClusterVariableErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/cluster-variables/global/{name}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Search for cluster variables based on given criteria. By default, long variable values in the response are truncated.\n */\nexport const searchClusterVariables = <ThrowOnError extends boolean = true>(options?: Options<SearchClusterVariablesData, ThrowOnError>) => {\n return (options?.client ?? client).post<SearchClusterVariablesResponses, SearchClusterVariablesErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/cluster-variables/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create a tenant-scoped cluster variable\n *\n * Create a new cluster variable for the given tenant.\n */\nexport const createTenantClusterVariable = <ThrowOnError extends boolean = true>(options: Options<CreateTenantClusterVariableData, ThrowOnError>) => {\n return (options.client ?? client).post<CreateTenantClusterVariableResponses, CreateTenantClusterVariableErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/cluster-variables/tenants/{tenantId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Delete a tenant-scoped cluster variable\n *\n * Delete a tenant-scoped cluster variable.\n */\nexport const deleteTenantClusterVariable = <ThrowOnError extends boolean = true>(options: Options<DeleteTenantClusterVariableData, ThrowOnError>) => {\n return (options.client ?? client).delete<DeleteTenantClusterVariableResponses, DeleteTenantClusterVariableErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/cluster-variables/tenants/{tenantId}/{name}',\n ...options\n });\n};\n\n/**\n * Get a tenant-scoped cluster variable\n *\n * Get a tenant-scoped cluster variable.\n */\nexport const getTenantClusterVariable = <ThrowOnError extends boolean = true>(options: Options<GetTenantClusterVariableData, ThrowOnError>) => {\n return (options.client ?? client).get<GetTenantClusterVariableResponses, GetTenantClusterVariableErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/cluster-variables/tenants/{tenantId}/{name}',\n ...options\n });\n};\n\n/**\n * Update a tenant-scoped cluster variable\n *\n * Updates the value of an existing tenant-scoped cluster variable.\n * The variable must exist, otherwise a 404 error is returned.\n *\n */\nexport const updateTenantClusterVariable = <ThrowOnError extends boolean = true>(options: Options<UpdateTenantClusterVariableData, ThrowOnError>) => {\n return (options.client ?? client).put<UpdateTenantClusterVariableResponses, UpdateTenantClusterVariableErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/cluster-variables/tenants/{tenantId}/{name}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Evaluate root level conditional start events\n *\n * Evaluates root-level conditional start events for process definitions.\n * If the evaluation is successful, it will return the keys of all created process instances, along with their associated process definition key.\n * Multiple root-level conditional start events of the same process definition can trigger if their conditions evaluate to true.\n *\n */\nexport const evaluateConditionals = <ThrowOnError extends boolean = true>(options: Options<EvaluateConditionalsData, ThrowOnError>) => {\n return (options.client ?? client).post<EvaluateConditionalsResponses, EvaluateConditionalsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/conditionals/evaluation',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Search correlated message subscriptions\n *\n * Search correlated message subscriptions based on given criteria.\n */\nexport const searchCorrelatedMessageSubscriptions = <ThrowOnError extends boolean = true>(options?: Options<SearchCorrelatedMessageSubscriptionsData, ThrowOnError>) => {\n return (options?.client ?? client).post<SearchCorrelatedMessageSubscriptionsResponses, SearchCorrelatedMessageSubscriptionsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/correlated-message-subscriptions/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Evaluate decision\n *\n * Evaluates a decision.\n * You specify the decision to evaluate either by using its unique key (as returned by\n * DeployResource), or using the decision ID. When using the decision ID, the latest deployed\n * version of the decision is used.\n *\n */\nexport const evaluateDecision = <ThrowOnError extends boolean = true>(options: Options<EvaluateDecisionData, ThrowOnError>) => {\n return (options.client ?? client).post<EvaluateDecisionResponses, EvaluateDecisionErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/decision-definitions/evaluation',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Search decision definitions\n *\n * Search for decision definitions based on given criteria.\n */\nexport const searchDecisionDefinitions = <ThrowOnError extends boolean = true>(options?: Options<SearchDecisionDefinitionsData, ThrowOnError>) => {\n return (options?.client ?? client).post<SearchDecisionDefinitionsResponses, SearchDecisionDefinitionsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/decision-definitions/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get decision definition\n *\n * Returns a decision definition by key.\n */\nexport const getDecisionDefinition = <ThrowOnError extends boolean = true>(options: Options<GetDecisionDefinitionData, ThrowOnError>) => {\n return (options.client ?? client).get<GetDecisionDefinitionResponses, GetDecisionDefinitionErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/decision-definitions/{decisionDefinitionKey}',\n ...options\n });\n};\n\n/**\n * Get decision definition XML\n *\n * Returns decision definition as XML.\n */\nexport const getDecisionDefinitionXml = <ThrowOnError extends boolean = true>(options: Options<GetDecisionDefinitionXmlData, ThrowOnError>) => {\n return (options.client ?? client).get<GetDecisionDefinitionXmlResponses, GetDecisionDefinitionXmlErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/decision-definitions/{decisionDefinitionKey}/xml',\n ...options\n });\n};\n\n/**\n * Search decision instances\n *\n * Search for decision instances based on given criteria.\n */\nexport const searchDecisionInstances = <ThrowOnError extends boolean = true>(options?: Options<SearchDecisionInstancesData, ThrowOnError>) => {\n return (options?.client ?? client).post<SearchDecisionInstancesResponses, SearchDecisionInstancesErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/decision-instances/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get decision instance\n *\n * Returns a decision instance.\n */\nexport const getDecisionInstance = <ThrowOnError extends boolean = true>(options: Options<GetDecisionInstanceData, ThrowOnError>) => {\n return (options.client ?? client).get<GetDecisionInstanceResponses, GetDecisionInstanceErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/decision-instances/{decisionEvaluationInstanceKey}',\n ...options\n });\n};\n\n/**\n * Delete decision instance\n *\n * Delete all associated decision evaluations based on provided key.\n */\nexport const deleteDecisionInstance = <ThrowOnError extends boolean = true>(options: Options<DeleteDecisionInstanceData, ThrowOnError>) => {\n return (options.client ?? client).post<DeleteDecisionInstanceResponses, DeleteDecisionInstanceErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/decision-instances/{decisionEvaluationKey}/deletion',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Delete decision instances (batch)\n *\n * Delete multiple decision instances. This will delete the historic data from secondary storage.\n * This is done asynchronously, the progress can be tracked using the batchOperationKey from the response and the batch operation status endpoint (/batch-operations/{batchOperationKey}).\n *\n */\nexport const deleteDecisionInstancesBatchOperation = <ThrowOnError extends boolean = true>(options: Options<DeleteDecisionInstancesBatchOperationData, ThrowOnError>) => {\n return (options.client ?? client).post<DeleteDecisionInstancesBatchOperationResponses, DeleteDecisionInstancesBatchOperationErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/decision-instances/deletion',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Search decision requirements\n *\n * Search for decision requirements based on given criteria.\n */\nexport const searchDecisionRequirements = <ThrowOnError extends boolean = true>(options?: Options<SearchDecisionRequirementsData, ThrowOnError>) => {\n return (options?.client ?? client).post<SearchDecisionRequirementsResponses, SearchDecisionRequirementsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/decision-requirements/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get decision requirements\n *\n * Returns Decision Requirements as JSON.\n */\nexport const getDecisionRequirements = <ThrowOnError extends boolean = true>(options: Options<GetDecisionRequirementsData, ThrowOnError>) => {\n return (options.client ?? client).get<GetDecisionRequirementsResponses, GetDecisionRequirementsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/decision-requirements/{decisionRequirementsKey}',\n ...options\n });\n};\n\n/**\n * Get decision requirements XML\n *\n * Returns decision requirements as XML.\n */\nexport const getDecisionRequirementsXml = <ThrowOnError extends boolean = true>(options: Options<GetDecisionRequirementsXmlData, ThrowOnError>) => {\n return (options.client ?? client).get<GetDecisionRequirementsXmlResponses, GetDecisionRequirementsXmlErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/decision-requirements/{decisionRequirementsKey}/xml',\n ...options\n });\n};\n\n/**\n * Deploy resources\n *\n * Deploys one or more resources (e.g. processes, decision models, or forms).\n * This is an atomic call, i.e. either all resources are deployed or none of them are.\n *\n */\nexport const createDeployment = <ThrowOnError extends boolean = true>(options: Options<CreateDeploymentData, ThrowOnError>) => {\n return (options.client ?? client).post<CreateDeploymentResponses, CreateDeploymentErrors, ThrowOnError>({\n ...formDataBodySerializer,\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/deployments',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options.headers\n }\n });\n};\n\n/**\n * Upload document\n *\n * Upload a document to the Camunda 8 cluster.\n *\n * Note that this is currently supported for document stores of type: AWS, GCP, in-memory (non-production), local (non-production)\n *\n */\nexport const createDocument = <ThrowOnError extends boolean = true>(options: Options<CreateDocumentData, ThrowOnError>) => {\n return (options.client ?? client).post<CreateDocumentResponses, CreateDocumentErrors, ThrowOnError>({\n ...formDataBodySerializer,\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/documents',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options.headers\n }\n });\n};\n\n/**\n * Upload multiple documents\n *\n * Upload multiple documents to the Camunda 8 cluster.\n *\n * The caller must provide a file name for each document, which will be used in case of a multi-status response\n * to identify which documents failed to upload. The file name can be provided in the `Content-Disposition` header\n * of the file part or in the `fileName` field of the metadata. You can add a parallel array of metadata objects. These\n * are matched with the files based on index, and must have the same length as the files array.\n * To pass homogenous metadata for all files, spread the metadata over the metadata array.\n * A filename value provided explicitly via the metadata array in the request overrides the `Content-Disposition` header\n * of the file part.\n *\n * In case of a multi-status response, the response body will contain a list of `DocumentBatchProblemDetail` objects,\n * each of which contains the file name of the document that failed to upload and the reason for the failure.\n * The client can choose to retry the whole batch or individual documents based on the response.\n *\n * Note that this is currently supported for document stores of type: AWS, GCP, in-memory (non-production), local (non-production)\n *\n */\nexport const createDocuments = <ThrowOnError extends boolean = true>(options: Options<CreateDocumentsData, ThrowOnError>) => {\n return (options.client ?? client).post<CreateDocumentsResponses, CreateDocumentsErrors, ThrowOnError>({\n ...formDataBodySerializer,\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/documents/batch',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options.headers\n }\n });\n};\n\n/**\n * Delete document\n *\n * Delete a document from the Camunda 8 cluster.\n *\n * Note that this is currently supported for document stores of type: AWS, GCP, in-memory (non-production), local (non-production)\n *\n */\nexport const deleteDocument = <ThrowOnError extends boolean = true>(options: Options<DeleteDocumentData, ThrowOnError>) => {\n return (options.client ?? client).delete<DeleteDocumentResponses, DeleteDocumentErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/documents/{documentId}',\n ...options\n });\n};\n\n/**\n * Download document\n *\n * Download a document from the Camunda 8 cluster.\n *\n * Note that this is currently supported for document stores of type: AWS, GCP, in-memory (non-production), local (non-production)\n *\n */\nexport const getDocument = <ThrowOnError extends boolean = true>(options: Options<GetDocumentData, ThrowOnError>) => {\n return (options.client ?? client).get<GetDocumentResponses, GetDocumentErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/documents/{documentId}',\n ...options\n });\n};\n\n/**\n * Create document link\n *\n * Create a link to a document in the Camunda 8 cluster.\n *\n * Note that this is currently supported for document stores of type: AWS, GCP\n *\n */\nexport const createDocumentLink = <ThrowOnError extends boolean = true>(options: Options<CreateDocumentLinkData, ThrowOnError>) => {\n return (options.client ?? client).post<CreateDocumentLinkResponses, CreateDocumentLinkErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/documents/{documentId}/links',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Activate activities within an ad-hoc sub-process\n *\n * Activates selected activities within an ad-hoc sub-process identified by element ID.\n * The provided element IDs must exist within the ad-hoc sub-process instance identified by the\n * provided adHocSubProcessInstanceKey.\n *\n */\nexport const activateAdHocSubProcessActivities = <ThrowOnError extends boolean = true>(options: Options<ActivateAdHocSubProcessActivitiesData, ThrowOnError>) => {\n return (options.client ?? client).post<ActivateAdHocSubProcessActivitiesResponses, ActivateAdHocSubProcessActivitiesErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/element-instances/ad-hoc-activities/{adHocSubProcessInstanceKey}/activation',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Search element instances\n *\n * Search for element instances based on given criteria.\n */\nexport const searchElementInstances = <ThrowOnError extends boolean = true>(options?: Options<SearchElementInstancesData, ThrowOnError>) => {\n return (options?.client ?? client).post<SearchElementInstancesResponses, SearchElementInstancesErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/element-instances/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get element instance\n *\n * Returns element instance as JSON.\n */\nexport const getElementInstance = <ThrowOnError extends boolean = true>(options: Options<GetElementInstanceData, ThrowOnError>) => {\n return (options.client ?? client).get<GetElementInstanceResponses, GetElementInstanceErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/element-instances/{elementInstanceKey}',\n ...options\n });\n};\n\n/**\n * Search for incidents of a specific element instance\n *\n * Search for incidents caused by the specified element instance, including incidents of any child instances created from this element instance.\n *\n * Although the `elementInstanceKey` is provided as a path parameter to indicate the root element instance,\n * you may also include an `elementInstanceKey` within the filter object to narrow results to specific\n * child element instances. This is useful, for example, if you want to isolate incidents associated with\n * nested or subordinate elements within the given element instance while excluding incidents directly tied\n * to the root element itself.\n *\n */\nexport const searchElementInstanceIncidents = <ThrowOnError extends boolean = true>(options: Options<SearchElementInstanceIncidentsData, ThrowOnError>) => {\n return (options.client ?? client).post<SearchElementInstanceIncidentsResponses, SearchElementInstanceIncidentsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/element-instances/{elementInstanceKey}/incidents/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Update element instance variables\n *\n * Updates all the variables of a particular scope (for example, process instance, element instance) with the given variable data.\n * Specify the element instance in the `elementInstanceKey` parameter.\n * Variable updates can be delayed by listener-related processing; if processing exceeds the\n * request timeout, this endpoint can return 504. Other gateway timeout causes are also\n * possible. Retry with backoff and inspect listener worker availability and logs when this\n * repeats.\n *\n */\nexport const createElementInstanceVariables = <ThrowOnError extends boolean = true>(options: Options<CreateElementInstanceVariablesData, ThrowOnError>) => {\n return (options.client ?? client).put<CreateElementInstanceVariablesResponses, CreateElementInstanceVariablesErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/element-instances/{elementInstanceKey}/variables',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Evaluate an expression\n *\n * Evaluates a FEEL expression and returns the result. Supports references to tenant scoped cluster variables when a tenant ID is provided.\n */\nexport const evaluateExpression = <ThrowOnError extends boolean = true>(options: Options<EvaluateExpressionData, ThrowOnError>) => {\n return (options.client ?? client).post<EvaluateExpressionResponses, EvaluateExpressionErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/expression/evaluation',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Create global user task listener\n *\n * Create a new global user task listener.\n */\nexport const createGlobalTaskListener = <ThrowOnError extends boolean = true>(options: Options<CreateGlobalTaskListenerData, ThrowOnError>) => {\n return (options.client ?? client).post<CreateGlobalTaskListenerResponses, CreateGlobalTaskListenerErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/global-task-listeners',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Delete global user task listener\n *\n * Deletes a global user task listener.\n */\nexport const deleteGlobalTaskListener = <ThrowOnError extends boolean = true>(options: Options<DeleteGlobalTaskListenerData, ThrowOnError>) => {\n return (options.client ?? client).delete<DeleteGlobalTaskListenerResponses, DeleteGlobalTaskListenerErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/global-task-listeners/{id}',\n ...options\n });\n};\n\n/**\n * Get global user task listener\n *\n * Get a global user task listener by its id.\n */\nexport const getGlobalTaskListener = <ThrowOnError extends boolean = true>(options: Options<GetGlobalTaskListenerData, ThrowOnError>) => {\n return (options.client ?? client).get<GetGlobalTaskListenerResponses, GetGlobalTaskListenerErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/global-task-listeners/{id}',\n ...options\n });\n};\n\n/**\n * Update global user task listener\n *\n * Updates a global user task listener.\n */\nexport const updateGlobalTaskListener = <ThrowOnError extends boolean = true>(options: Options<UpdateGlobalTaskListenerData, ThrowOnError>) => {\n return (options.client ?? client).put<UpdateGlobalTaskListenerResponses, UpdateGlobalTaskListenerErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/global-task-listeners/{id}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Search global user task listeners\n *\n * Search for global user task listeners based on given criteria.\n */\nexport const searchGlobalTaskListeners = <ThrowOnError extends boolean = true>(options?: Options<SearchGlobalTaskListenersData, ThrowOnError>) => {\n return (options?.client ?? client).post<SearchGlobalTaskListenersResponses, SearchGlobalTaskListenersErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/global-task-listeners/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Create group\n *\n * Create a new group.\n */\nexport const createGroup = <ThrowOnError extends boolean = true>(options?: Options<CreateGroupData, ThrowOnError>) => {\n return (options?.client ?? client).post<CreateGroupResponses, CreateGroupErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/groups',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Search groups\n *\n * Search for groups based on given criteria.\n */\nexport const searchGroups = <ThrowOnError extends boolean = true>(options?: Options<SearchGroupsData, ThrowOnError>) => {\n return (options?.client ?? client).post<SearchGroupsResponses, SearchGroupsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/groups/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete group\n *\n * Deletes the group with the given ID.\n */\nexport const deleteGroup = <ThrowOnError extends boolean = true>(options: Options<DeleteGroupData, ThrowOnError>) => {\n return (options.client ?? client).delete<DeleteGroupResponses, DeleteGroupErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/groups/{groupId}',\n ...options\n });\n};\n\n/**\n * Get group\n *\n * Get a group by its ID.\n */\nexport const getGroup = <ThrowOnError extends boolean = true>(options: Options<GetGroupData, ThrowOnError>) => {\n return (options.client ?? client).get<GetGroupResponses, GetGroupErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/groups/{groupId}',\n ...options\n });\n};\n\n/**\n * Update group\n *\n * Update a group with the given ID.\n */\nexport const updateGroup = <ThrowOnError extends boolean = true>(options: Options<UpdateGroupData, ThrowOnError>) => {\n return (options.client ?? client).put<UpdateGroupResponses, UpdateGroupErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/groups/{groupId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Search group clients\n *\n * Search clients assigned to a group.\n */\nexport const searchClientsForGroup = <ThrowOnError extends boolean = true>(options: Options<SearchClientsForGroupData, ThrowOnError>) => {\n return (options.client ?? client).post<SearchClientsForGroupResponses, SearchClientsForGroupErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/groups/{groupId}/clients/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Unassign a client from a group\n *\n * Unassigns a client from a group.\n * The client is removed as a group member, with associated authorizations, roles, and tenant assignments no longer applied.\n *\n */\nexport const unassignClientFromGroup = <ThrowOnError extends boolean = true>(options: Options<UnassignClientFromGroupData, ThrowOnError>) => {\n return (options.client ?? client).delete<UnassignClientFromGroupResponses, UnassignClientFromGroupErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/groups/{groupId}/clients/{clientId}',\n ...options\n });\n};\n\n/**\n * Assign a client to a group\n *\n * Assigns a client to a group, making it a member of the group.\n * Members of the group inherit the group authorizations, roles, and tenant assignments.\n *\n */\nexport const assignClientToGroup = <ThrowOnError extends boolean = true>(options: Options<AssignClientToGroupData, ThrowOnError>) => {\n return (options.client ?? client).put<AssignClientToGroupResponses, AssignClientToGroupErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/groups/{groupId}/clients/{clientId}',\n ...options\n });\n};\n\n/**\n * Search group mapping rules\n *\n * Search mapping rules assigned to a group.\n */\nexport const searchMappingRulesForGroup = <ThrowOnError extends boolean = true>(options: Options<SearchMappingRulesForGroupData, ThrowOnError>) => {\n return (options.client ?? client).post<SearchMappingRulesForGroupResponses, SearchMappingRulesForGroupErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/groups/{groupId}/mapping-rules/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Unassign a mapping rule from a group\n *\n * Unassigns a mapping rule from a group.\n */\nexport const unassignMappingRuleFromGroup = <ThrowOnError extends boolean = true>(options: Options<UnassignMappingRuleFromGroupData, ThrowOnError>) => {\n return (options.client ?? client).delete<UnassignMappingRuleFromGroupResponses, UnassignMappingRuleFromGroupErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/groups/{groupId}/mapping-rules/{mappingRuleId}',\n ...options\n });\n};\n\n/**\n * Assign a mapping rule to a group\n *\n * Assigns a mapping rule to a group.\n */\nexport const assignMappingRuleToGroup = <ThrowOnError extends boolean = true>(options: Options<AssignMappingRuleToGroupData, ThrowOnError>) => {\n return (options.client ?? client).put<AssignMappingRuleToGroupResponses, AssignMappingRuleToGroupErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/groups/{groupId}/mapping-rules/{mappingRuleId}',\n ...options\n });\n};\n\n/**\n * Search group roles\n *\n * Search roles assigned to a group.\n */\nexport const searchRolesForGroup = <ThrowOnError extends boolean = true>(options: Options<SearchRolesForGroupData, ThrowOnError>) => {\n return (options.client ?? client).post<SearchRolesForGroupResponses, SearchRolesForGroupErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/groups/{groupId}/roles/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Search group users\n *\n * Search users assigned to a group.\n */\nexport const searchUsersForGroup = <ThrowOnError extends boolean = true>(options: Options<SearchUsersForGroupData, ThrowOnError>) => {\n return (options.client ?? client).post<SearchUsersForGroupResponses, SearchUsersForGroupErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/groups/{groupId}/users/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Unassign a user from a group\n *\n * Unassigns a user from a group.\n * The user is removed as a group member, with associated authorizations, roles, and tenant assignments no longer applied.\n *\n */\nexport const unassignUserFromGroup = <ThrowOnError extends boolean = true>(options: Options<UnassignUserFromGroupData, ThrowOnError>) => {\n return (options.client ?? client).delete<UnassignUserFromGroupResponses, UnassignUserFromGroupErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/groups/{groupId}/users/{username}',\n ...options\n });\n};\n\n/**\n * Assign a user to a group\n *\n * Assigns a user to a group, making the user a member of the group.\n * Group members inherit the group authorizations, roles, and tenant assignments.\n *\n */\nexport const assignUserToGroup = <ThrowOnError extends boolean = true>(options: Options<AssignUserToGroupData, ThrowOnError>) => {\n return (options.client ?? client).put<AssignUserToGroupResponses, AssignUserToGroupErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/groups/{groupId}/users/{username}',\n ...options\n });\n};\n\n/**\n * Search incidents\n *\n * Search for incidents based on given criteria.\n *\n */\nexport const searchIncidents = <ThrowOnError extends boolean = true>(options?: Options<SearchIncidentsData, ThrowOnError>) => {\n return (options?.client ?? client).post<SearchIncidentsResponses, SearchIncidentsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/incidents/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get incident\n *\n * Returns incident as JSON.\n *\n */\nexport const getIncident = <ThrowOnError extends boolean = true>(options: Options<GetIncidentData, ThrowOnError>) => {\n return (options.client ?? client).get<GetIncidentResponses, GetIncidentErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/incidents/{incidentKey}',\n ...options\n });\n};\n\n/**\n * Resolve incident\n *\n * Marks the incident as resolved; most likely a call to Update job will be necessary\n * to reset the job's retries, followed by this call.\n *\n */\nexport const resolveIncident = <ThrowOnError extends boolean = true>(options: Options<ResolveIncidentData, ThrowOnError>) => {\n return (options.client ?? client).post<ResolveIncidentResponses, ResolveIncidentErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/incidents/{incidentKey}/resolution',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get process instance statistics by definition\n *\n * Returns statistics for active process instances with incidents, grouped by process\n * definition. The result set is scoped to a specific incident error hash code, which must be\n * provided as a filter in the request body.\n *\n */\nexport const getProcessInstanceStatisticsByDefinition = <ThrowOnError extends boolean = true>(options: Options<GetProcessInstanceStatisticsByDefinitionData, ThrowOnError>) => {\n return (options.client ?? client).post<GetProcessInstanceStatisticsByDefinitionResponses, GetProcessInstanceStatisticsByDefinitionErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/incidents/statistics/process-instances-by-definition',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get process instance statistics by error\n *\n * Returns statistics for active process instances that currently have active incidents,\n * grouped by incident error hash code.\n *\n */\nexport const getProcessInstanceStatisticsByError = <ThrowOnError extends boolean = true>(options?: Options<GetProcessInstanceStatisticsByErrorData, ThrowOnError>) => {\n return (options?.client ?? client).post<GetProcessInstanceStatisticsByErrorResponses, GetProcessInstanceStatisticsByErrorErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/incidents/statistics/process-instances-by-error',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Activate jobs\n *\n * Iterate through all known partitions and activate jobs up to the requested maximum.\n *\n */\nexport const activateJobs = <ThrowOnError extends boolean = true>(options: Options<ActivateJobsData, ThrowOnError>) => {\n return (options.client ?? client).post<ActivateJobsResponses, ActivateJobsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/jobs/activation',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Search jobs\n *\n * Search for jobs based on given criteria.\n */\nexport const searchJobs = <ThrowOnError extends boolean = true>(options?: Options<SearchJobsData, ThrowOnError>) => {\n return (options?.client ?? client).post<SearchJobsResponses, SearchJobsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/jobs/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Update job\n *\n * Update a job with the given key.\n */\nexport const updateJob = <ThrowOnError extends boolean = true>(options: Options<UpdateJobData, ThrowOnError>) => {\n return (options.client ?? client).patch<UpdateJobResponses, UpdateJobErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/jobs/{jobKey}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Complete job\n *\n * Complete a job with the given payload, which allows completing the associated service task.\n *\n */\nexport const completeJob = <ThrowOnError extends boolean = true>(options: Options<CompleteJobData, ThrowOnError>) => {\n return (options.client ?? client).post<CompleteJobResponses, CompleteJobErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/jobs/{jobKey}/completion',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Throw error for job\n *\n * Reports a business error (i.e. non-technical) that occurs while processing a job.\n *\n */\nexport const throwJobError = <ThrowOnError extends boolean = true>(options: Options<ThrowJobErrorData, ThrowOnError>) => {\n return (options.client ?? client).post<ThrowJobErrorResponses, ThrowJobErrorErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/jobs/{jobKey}/error',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Fail job\n *\n * Mark the job as failed.\n *\n */\nexport const failJob = <ThrowOnError extends boolean = true>(options: Options<FailJobData, ThrowOnError>) => {\n return (options.client ?? client).post<FailJobResponses, FailJobErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/jobs/{jobKey}/failure',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Global job statistics\n *\n * Returns global aggregated counts for jobs. Filter by the creation time window (required) and optionally by jobType.\n *\n */\nexport const getGlobalJobStatistics = <ThrowOnError extends boolean = true>(options: Options<GetGlobalJobStatisticsData, ThrowOnError>) => {\n return (options.client ?? client).get<GetGlobalJobStatisticsResponses, GetGlobalJobStatisticsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/jobs/statistics/global',\n ...options\n });\n};\n\n/**\n * Get job statistics by type\n *\n * Get statistics about jobs, grouped by job type.\n *\n */\nexport const getJobTypeStatistics = <ThrowOnError extends boolean = true>(options: Options<GetJobTypeStatisticsData, ThrowOnError>) => {\n return (options.client ?? client).post<GetJobTypeStatisticsResponses, GetJobTypeStatisticsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/jobs/statistics/by-types',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get job statistics by worker\n *\n * Get statistics about jobs, grouped by worker, for a given job type.\n *\n */\nexport const getJobWorkerStatistics = <ThrowOnError extends boolean = true>(options: Options<GetJobWorkerStatisticsData, ThrowOnError>) => {\n return (options.client ?? client).post<GetJobWorkerStatisticsResponses, GetJobWorkerStatisticsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/jobs/statistics/by-workers',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get time-series metrics for a job type\n *\n * Returns a list of time-bucketed metrics ordered ascending by time.\n * The `from` and `to` fields select the time window of interest.\n * Each item in the response corresponds to one time bucket of the requested resolution.\n *\n */\nexport const getJobTimeSeriesStatistics = <ThrowOnError extends boolean = true>(options: Options<GetJobTimeSeriesStatisticsData, ThrowOnError>) => {\n return (options.client ?? client).post<GetJobTimeSeriesStatisticsResponses, GetJobTimeSeriesStatisticsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/jobs/statistics/time-series',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get error metrics for a job type\n *\n * Returns aggregated metrics per error for the given jobType.\n *\n */\nexport const getJobErrorStatistics = <ThrowOnError extends boolean = true>(options: Options<GetJobErrorStatisticsData, ThrowOnError>) => {\n return (options.client ?? client).post<GetJobErrorStatisticsResponses, GetJobErrorStatisticsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/jobs/statistics/errors',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get license status\n *\n * Obtains the status of the current Camunda license.\n */\nexport const getLicense = <ThrowOnError extends boolean = true>(options?: Options<GetLicenseData, ThrowOnError>) => {\n return (options?.client ?? client).get<GetLicenseResponses, GetLicenseErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/license',\n ...options\n });\n};\n\n/**\n * Create mapping rule\n *\n * Create a new mapping rule\n *\n */\nexport const createMappingRule = <ThrowOnError extends boolean = true>(options?: Options<CreateMappingRuleData, ThrowOnError>) => {\n return (options?.client ?? client).post<CreateMappingRuleResponses, CreateMappingRuleErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/mapping-rules',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Search mapping rules\n *\n * Search for mapping rules based on given criteria.\n *\n */\nexport const searchMappingRule = <ThrowOnError extends boolean = true>(options?: Options<SearchMappingRuleData, ThrowOnError>) => {\n return (options?.client ?? client).post<SearchMappingRuleResponses, SearchMappingRuleErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/mapping-rules/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete a mapping rule\n *\n * Deletes the mapping rule with the given ID.\n *\n */\nexport const deleteMappingRule = <ThrowOnError extends boolean = true>(options: Options<DeleteMappingRuleData, ThrowOnError>) => {\n return (options.client ?? client).delete<DeleteMappingRuleResponses, DeleteMappingRuleErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/mapping-rules/{mappingRuleId}',\n ...options\n });\n};\n\n/**\n * Get a mapping rule\n *\n * Gets the mapping rule with the given ID.\n *\n */\nexport const getMappingRule = <ThrowOnError extends boolean = true>(options: Options<GetMappingRuleData, ThrowOnError>) => {\n return (options.client ?? client).get<GetMappingRuleResponses, GetMappingRuleErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/mapping-rules/{mappingRuleId}',\n ...options\n });\n};\n\n/**\n * Update mapping rule\n *\n * Update a mapping rule.\n *\n */\nexport const updateMappingRule = <ThrowOnError extends boolean = true>(options: Options<UpdateMappingRuleData, ThrowOnError>) => {\n return (options.client ?? client).put<UpdateMappingRuleResponses, UpdateMappingRuleErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/mapping-rules/{mappingRuleId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Search message subscriptions\n *\n * Search for message subscriptions based on given criteria.\n */\nexport const searchMessageSubscriptions = <ThrowOnError extends boolean = true>(options?: Options<SearchMessageSubscriptionsData, ThrowOnError>) => {\n return (options?.client ?? client).post<SearchMessageSubscriptionsResponses, SearchMessageSubscriptionsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/message-subscriptions/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Correlate message\n *\n * Publishes a message and correlates it to a subscription.\n * If correlation is successful it will return the first process instance key the message correlated with.\n * The message is not buffered.\n * Use the publish message endpoint to send messages that can be buffered.\n *\n */\nexport const correlateMessage = <ThrowOnError extends boolean = true>(options: Options<CorrelateMessageData, ThrowOnError>) => {\n return (options.client ?? client).post<CorrelateMessageResponses, CorrelateMessageErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/messages/correlation',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Publish message\n *\n * Publishes a single message.\n * Messages are published to specific partitions computed from their correlation keys.\n * Messages can be buffered.\n * The endpoint does not wait for a correlation result.\n * Use the message correlation endpoint for such use cases.\n *\n */\nexport const publishMessage = <ThrowOnError extends boolean = true>(options: Options<PublishMessageData, ThrowOnError>) => {\n return (options.client ?? client).post<PublishMessageResponses, PublishMessageErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/messages/publication',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Search process definitions\n *\n * Search for process definitions based on given criteria.\n */\nexport const searchProcessDefinitions = <ThrowOnError extends boolean = true>(options?: Options<SearchProcessDefinitionsData, ThrowOnError>) => {\n return (options?.client ?? client).post<SearchProcessDefinitionsResponses, SearchProcessDefinitionsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-definitions/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get message subscription statistics\n *\n * Get message subscription statistics, grouped by process definition.\n *\n */\nexport const getProcessDefinitionMessageSubscriptionStatistics = <ThrowOnError extends boolean = true>(options?: Options<GetProcessDefinitionMessageSubscriptionStatisticsData, ThrowOnError>) => {\n return (options?.client ?? client).post<GetProcessDefinitionMessageSubscriptionStatisticsResponses, GetProcessDefinitionMessageSubscriptionStatisticsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-definitions/statistics/message-subscriptions',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get process instance statistics\n *\n * Get statistics about process instances, grouped by process definition and tenant.\n *\n */\nexport const getProcessDefinitionInstanceStatistics = <ThrowOnError extends boolean = true>(options?: Options<GetProcessDefinitionInstanceStatisticsData, ThrowOnError>) => {\n return (options?.client ?? client).post<GetProcessDefinitionInstanceStatisticsResponses, GetProcessDefinitionInstanceStatisticsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-definitions/statistics/process-instances',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get process definition\n *\n * Returns process definition as JSON.\n */\nexport const getProcessDefinition = <ThrowOnError extends boolean = true>(options: Options<GetProcessDefinitionData, ThrowOnError>) => {\n return (options.client ?? client).get<GetProcessDefinitionResponses, GetProcessDefinitionErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-definitions/{processDefinitionKey}',\n ...options\n });\n};\n\n/**\n * Get process start form\n *\n * Get the start form of a process.\n * Note that this endpoint will only return linked forms. This endpoint does not support embedded forms.\n *\n */\nexport const getStartProcessForm = <ThrowOnError extends boolean = true>(options: Options<GetStartProcessFormData, ThrowOnError>) => {\n return (options.client ?? client).get<GetStartProcessFormResponses, GetStartProcessFormErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-definitions/{processDefinitionKey}/form',\n ...options\n });\n};\n\n/**\n * Get process definition statistics\n *\n * Get statistics about elements in currently running process instances by process definition key and search filter.\n */\nexport const getProcessDefinitionStatistics = <ThrowOnError extends boolean = true>(options: Options<GetProcessDefinitionStatisticsData, ThrowOnError>) => {\n return (options.client ?? client).post<GetProcessDefinitionStatisticsResponses, GetProcessDefinitionStatisticsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-definitions/{processDefinitionKey}/statistics/element-instances',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get process definition XML\n *\n * Returns process definition as XML.\n */\nexport const getProcessDefinitionXml = <ThrowOnError extends boolean = true>(options: Options<GetProcessDefinitionXmlData, ThrowOnError>) => {\n return (options.client ?? client).get<GetProcessDefinitionXmlResponses, GetProcessDefinitionXmlErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-definitions/{processDefinitionKey}/xml',\n ...options\n });\n};\n\n/**\n * Get process instance statistics by version\n *\n * Get statistics about process instances, grouped by version for a given process definition.\n * The process definition ID must be provided as a required field in the request body filter.\n *\n */\nexport const getProcessDefinitionInstanceVersionStatistics = <ThrowOnError extends boolean = true>(options: Options<GetProcessDefinitionInstanceVersionStatisticsData, ThrowOnError>) => {\n return (options.client ?? client).post<GetProcessDefinitionInstanceVersionStatisticsResponses, GetProcessDefinitionInstanceVersionStatisticsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-definitions/statistics/process-instances-by-version',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Create process instance\n *\n * Creates and starts an instance of the specified process.\n * The process definition to use to create the instance can be specified either using its unique key\n * (as returned by Deploy resources), or using the BPMN process id and a version.\n *\n * Waits for the completion of the process instance before returning a result\n * when awaitCompletion is enabled.\n *\n */\nexport const createProcessInstance = <ThrowOnError extends boolean = true>(options: Options<CreateProcessInstanceData, ThrowOnError>) => {\n return (options.client ?? client).post<CreateProcessInstanceResponses, CreateProcessInstanceErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-instances',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Cancel process instances (batch)\n *\n * Cancels multiple running process instances.\n * Since only ACTIVE root instances can be cancelled, any given filters for state and\n * parentProcessInstanceKey are ignored and overridden during this batch operation.\n * This is done asynchronously, the progress can be tracked using the batchOperationKey from the response and the batch operation status endpoint (/batch-operations/{batchOperationKey}).\n *\n */\nexport const cancelProcessInstancesBatchOperation = <ThrowOnError extends boolean = true>(options: Options<CancelProcessInstancesBatchOperationData, ThrowOnError>) => {\n return (options.client ?? client).post<CancelProcessInstancesBatchOperationResponses, CancelProcessInstancesBatchOperationErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-instances/cancellation',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Delete process instances (batch)\n *\n * Delete multiple process instances. This will delete the historic data from secondary storage.\n * Only process instances in a final state (COMPLETED or TERMINATED) can be deleted.\n * This is done asynchronously, the progress can be tracked using the batchOperationKey from the response and the batch operation status endpoint (/batch-operations/{batchOperationKey}).\n *\n */\nexport const deleteProcessInstancesBatchOperation = <ThrowOnError extends boolean = true>(options: Options<DeleteProcessInstancesBatchOperationData, ThrowOnError>) => {\n return (options.client ?? client).post<DeleteProcessInstancesBatchOperationResponses, DeleteProcessInstancesBatchOperationErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-instances/deletion',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Resolve related incidents (batch)\n *\n * Resolves multiple instances of process instances.\n * Since only process instances with ACTIVE state can have unresolved incidents, any given\n * filters for state are ignored and overridden during this batch operation.\n * This is done asynchronously, the progress can be tracked using the batchOperationKey from the response and the batch operation status endpoint (/batch-operations/{batchOperationKey}).\n *\n */\nexport const resolveIncidentsBatchOperation = <ThrowOnError extends boolean = true>(options?: Options<ResolveIncidentsBatchOperationData, ThrowOnError>) => {\n return (options?.client ?? client).post<ResolveIncidentsBatchOperationResponses, ResolveIncidentsBatchOperationErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-instances/incident-resolution',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Migrate process instances (batch)\n *\n * Migrate multiple process instances.\n * Since only process instances with ACTIVE state can be migrated, any given\n * filters for state are ignored and overridden during this batch operation.\n * This is done asynchronously, the progress can be tracked using the batchOperationKey from the response and the batch operation status endpoint (/batch-operations/{batchOperationKey}).\n *\n */\nexport const migrateProcessInstancesBatchOperation = <ThrowOnError extends boolean = true>(options: Options<MigrateProcessInstancesBatchOperationData, ThrowOnError>) => {\n return (options.client ?? client).post<MigrateProcessInstancesBatchOperationResponses, MigrateProcessInstancesBatchOperationErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-instances/migration',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Modify process instances (batch)\n *\n * Modify multiple process instances.\n * Since only process instances with ACTIVE state can be modified, any given\n * filters for state are ignored and overridden during this batch operation.\n * In contrast to single modification operation, it is not possible to add variable instructions or modify by element key.\n * It is only possible to use the element id of the source and target.\n * This is done asynchronously, the progress can be tracked using the batchOperationKey from the response and the batch operation status endpoint (/batch-operations/{batchOperationKey}).\n *\n */\nexport const modifyProcessInstancesBatchOperation = <ThrowOnError extends boolean = true>(options: Options<ModifyProcessInstancesBatchOperationData, ThrowOnError>) => {\n return (options.client ?? client).post<ModifyProcessInstancesBatchOperationResponses, ModifyProcessInstancesBatchOperationErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-instances/modification',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Search process instances\n *\n * Search for process instances based on given criteria.\n */\nexport const searchProcessInstances = <ThrowOnError extends boolean = true>(options?: Options<SearchProcessInstancesData, ThrowOnError>) => {\n return (options?.client ?? client).post<SearchProcessInstancesResponses, SearchProcessInstancesErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-instances/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get process instance\n *\n * Get the process instance by the process instance key.\n */\nexport const getProcessInstance = <ThrowOnError extends boolean = true>(options: Options<GetProcessInstanceData, ThrowOnError>) => {\n return (options.client ?? client).get<GetProcessInstanceResponses, GetProcessInstanceErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-instances/{processInstanceKey}',\n ...options\n });\n};\n\n/**\n * Get call hierarchy\n *\n * Returns the call hierarchy for a given process instance, showing its ancestry up to the root instance.\n */\nexport const getProcessInstanceCallHierarchy = <ThrowOnError extends boolean = true>(options: Options<GetProcessInstanceCallHierarchyData, ThrowOnError>) => {\n return (options.client ?? client).get<GetProcessInstanceCallHierarchyResponses, GetProcessInstanceCallHierarchyErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-instances/{processInstanceKey}/call-hierarchy',\n ...options\n });\n};\n\n/**\n * Cancel process instance\n *\n * Cancels a running process instance. As a cancellation includes more than just the removal of the process instance resource, the cancellation resource must be posted. Cancellation can wait on listener-related processing; when that processing does not complete in time, this endpoint can return 504. Other gateway timeout causes are also possible. Retry with backoff and inspect listener worker availability and logs when this repeats.\n *\n */\nexport const cancelProcessInstance = <ThrowOnError extends boolean = true>(options: Options<CancelProcessInstanceData, ThrowOnError>) => {\n return (options.client ?? client).post<CancelProcessInstanceResponses, CancelProcessInstanceErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-instances/{processInstanceKey}/cancellation',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Delete process instance\n *\n * Deletes a process instance. Only instances that are completed or terminated can be deleted.\n */\nexport const deleteProcessInstance = <ThrowOnError extends boolean = true>(options: Options<DeleteProcessInstanceData, ThrowOnError>) => {\n return (options.client ?? client).post<DeleteProcessInstanceResponses, DeleteProcessInstanceErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-instances/{processInstanceKey}/deletion',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Resolve related incidents\n *\n * Creates a batch operation to resolve multiple incidents of a process instance.\n */\nexport const resolveProcessInstanceIncidents = <ThrowOnError extends boolean = true>(options: Options<ResolveProcessInstanceIncidentsData, ThrowOnError>) => {\n return (options.client ?? client).post<ResolveProcessInstanceIncidentsResponses, ResolveProcessInstanceIncidentsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-instances/{processInstanceKey}/incident-resolution',\n ...options\n });\n};\n\n/**\n * Search related incidents\n *\n * Search for incidents caused by the process instance or any of its called process or decision instances.\n *\n * Although the `processInstanceKey` is provided as a path parameter to indicate the root process instance,\n * you may also include a `processInstanceKey` within the filter object to narrow results to specific\n * child process instances. This is useful, for example, if you want to isolate incidents associated with\n * subprocesses or called processes under the root instance while excluding incidents directly tied to the root.\n *\n */\nexport const searchProcessInstanceIncidents = <ThrowOnError extends boolean = true>(options: Options<SearchProcessInstanceIncidentsData, ThrowOnError>) => {\n return (options.client ?? client).post<SearchProcessInstanceIncidentsResponses, SearchProcessInstanceIncidentsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-instances/{processInstanceKey}/incidents/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Migrate process instance\n *\n * Migrates a process instance to a new process definition.\n * This request can contain multiple mapping instructions to define mapping between the active\n * process instance's elements and target process definition elements.\n *\n * Use this to upgrade a process instance to a new version of a process or to\n * a different process definition, e.g. to keep your running instances up-to-date with the\n * latest process improvements.\n *\n */\nexport const migrateProcessInstance = <ThrowOnError extends boolean = true>(options: Options<MigrateProcessInstanceData, ThrowOnError>) => {\n return (options.client ?? client).post<MigrateProcessInstanceResponses, MigrateProcessInstanceErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-instances/{processInstanceKey}/migration',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Modify process instance\n *\n * Modifies a running process instance.\n * This request can contain multiple instructions to activate an element of the process or\n * to terminate an active instance of an element.\n *\n * Use this to repair a process instance that is stuck on an element or took an unintended path.\n * For example, because an external system is not available or doesn't respond as expected.\n *\n */\nexport const modifyProcessInstance = <ThrowOnError extends boolean = true>(options: Options<ModifyProcessInstanceData, ThrowOnError>) => {\n return (options.client ?? client).post<ModifyProcessInstanceResponses, ModifyProcessInstanceErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-instances/{processInstanceKey}/modification',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get sequence flows\n *\n * Get sequence flows taken by the process instance.\n */\nexport const getProcessInstanceSequenceFlows = <ThrowOnError extends boolean = true>(options: Options<GetProcessInstanceSequenceFlowsData, ThrowOnError>) => {\n return (options.client ?? client).get<GetProcessInstanceSequenceFlowsResponses, GetProcessInstanceSequenceFlowsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-instances/{processInstanceKey}/sequence-flows',\n ...options\n });\n};\n\n/**\n * Get element instance statistics\n *\n * Get statistics about elements by the process instance key.\n */\nexport const getProcessInstanceStatistics = <ThrowOnError extends boolean = true>(options: Options<GetProcessInstanceStatisticsData, ThrowOnError>) => {\n return (options.client ?? client).get<GetProcessInstanceStatisticsResponses, GetProcessInstanceStatisticsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/process-instances/{processInstanceKey}/statistics/element-instances',\n ...options\n });\n};\n\n/**\n * Get resource\n *\n * Returns a deployed resource.\n * :::info\n * Currently, this endpoint only supports RPA resources.\n * :::\n *\n */\nexport const getResource = <ThrowOnError extends boolean = true>(options: Options<GetResourceData, ThrowOnError>) => {\n return (options.client ?? client).get<GetResourceResponses, GetResourceErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/resources/{resourceKey}',\n ...options\n });\n};\n\n/**\n * Get resource content\n *\n * Returns the content of a deployed resource.\n * :::info\n * Currently, this endpoint only supports RPA resources.\n * :::\n *\n */\nexport const getResourceContent = <ThrowOnError extends boolean = true>(options: Options<GetResourceContentData, ThrowOnError>) => {\n return (options.client ?? client).get<GetResourceContentResponses, GetResourceContentErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/resources/{resourceKey}/content',\n ...options\n });\n};\n\n/**\n * Delete resource\n *\n * Deletes a deployed resource. This can be a process definition, decision requirements\n * definition, or form definition deployed using the deploy resources endpoint. Specify the\n * resource you want to delete in the `resourceKey` parameter.\n *\n * Once a resource has been deleted it cannot be recovered. If the resource needs to be\n * available again, a new deployment of the resource is required.\n *\n * By default, only the resource itself is deleted from the runtime state. To also delete the\n * historic data associated with a resource, set the `deleteHistory` flag in the request body\n * to `true`. The historic data is deleted asynchronously via a batch operation. The details of\n * the created batch operation are included in the response. Note that history deletion is only\n * supported for process resources; for other resource types this flag is ignored and no history\n * will be deleted.\n */\nexport const deleteResource = <ThrowOnError extends boolean = true>(options: Options<DeleteResourceData, ThrowOnError>) => {\n return (options.client ?? client).post<DeleteResourceResponses, DeleteResourceErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/resources/{resourceKey}/deletion',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Create role\n *\n * Create a new role.\n */\nexport const createRole = <ThrowOnError extends boolean = true>(options?: Options<CreateRoleData, ThrowOnError>) => {\n return (options?.client ?? client).post<CreateRoleResponses, CreateRoleErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/roles',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Search roles\n *\n * Search for roles based on given criteria.\n */\nexport const searchRoles = <ThrowOnError extends boolean = true>(options?: Options<SearchRolesData, ThrowOnError>) => {\n return (options?.client ?? client).post<SearchRolesResponses, SearchRolesErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/roles/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete role\n *\n * Deletes the role with the given ID.\n */\nexport const deleteRole = <ThrowOnError extends boolean = true>(options: Options<DeleteRoleData, ThrowOnError>) => {\n return (options.client ?? client).delete<DeleteRoleResponses, DeleteRoleErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/roles/{roleId}',\n ...options\n });\n};\n\n/**\n * Get role\n *\n * Get a role by its ID.\n */\nexport const getRole = <ThrowOnError extends boolean = true>(options: Options<GetRoleData, ThrowOnError>) => {\n return (options.client ?? client).get<GetRoleResponses, GetRoleErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/roles/{roleId}',\n ...options\n });\n};\n\n/**\n * Update role\n *\n * Update a role with the given ID.\n */\nexport const updateRole = <ThrowOnError extends boolean = true>(options: Options<UpdateRoleData, ThrowOnError>) => {\n return (options.client ?? client).put<UpdateRoleResponses, UpdateRoleErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/roles/{roleId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Search role clients\n *\n * Search clients with assigned role.\n */\nexport const searchClientsForRole = <ThrowOnError extends boolean = true>(options: Options<SearchClientsForRoleData, ThrowOnError>) => {\n return (options.client ?? client).post<SearchClientsForRoleResponses, SearchClientsForRoleErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/roles/{roleId}/clients/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Unassign a role from a client\n *\n * Unassigns the specified role from the client. The client will no longer inherit the authorizations associated with this role.\n */\nexport const unassignRoleFromClient = <ThrowOnError extends boolean = true>(options: Options<UnassignRoleFromClientData, ThrowOnError>) => {\n return (options.client ?? client).delete<UnassignRoleFromClientResponses, UnassignRoleFromClientErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/roles/{roleId}/clients/{clientId}',\n ...options\n });\n};\n\n/**\n * Assign a role to a client\n *\n * Assigns the specified role to the client. The client will inherit the authorizations associated with this role.\n */\nexport const assignRoleToClient = <ThrowOnError extends boolean = true>(options: Options<AssignRoleToClientData, ThrowOnError>) => {\n return (options.client ?? client).put<AssignRoleToClientResponses, AssignRoleToClientErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/roles/{roleId}/clients/{clientId}',\n ...options\n });\n};\n\n/**\n * Search role groups\n *\n * Search groups with assigned role.\n */\nexport const searchGroupsForRole = <ThrowOnError extends boolean = true>(options: Options<SearchGroupsForRoleData, ThrowOnError>) => {\n return (options.client ?? client).post<SearchGroupsForRoleResponses, SearchGroupsForRoleErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/roles/{roleId}/groups/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Unassign a role from a group\n *\n * Unassigns the specified role from the group. All group members (user or client) no longer inherit the authorizations associated with this role.\n */\nexport const unassignRoleFromGroup = <ThrowOnError extends boolean = true>(options: Options<UnassignRoleFromGroupData, ThrowOnError>) => {\n return (options.client ?? client).delete<UnassignRoleFromGroupResponses, UnassignRoleFromGroupErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/roles/{roleId}/groups/{groupId}',\n ...options\n });\n};\n\n/**\n * Assign a role to a group\n *\n * Assigns the specified role to the group. Every member of the group (user or client) will inherit the authorizations associated with this role.\n */\nexport const assignRoleToGroup = <ThrowOnError extends boolean = true>(options: Options<AssignRoleToGroupData, ThrowOnError>) => {\n return (options.client ?? client).put<AssignRoleToGroupResponses, AssignRoleToGroupErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/roles/{roleId}/groups/{groupId}',\n ...options\n });\n};\n\n/**\n * Search role mapping rules\n *\n * Search mapping rules with assigned role.\n */\nexport const searchMappingRulesForRole = <ThrowOnError extends boolean = true>(options: Options<SearchMappingRulesForRoleData, ThrowOnError>) => {\n return (options.client ?? client).post<SearchMappingRulesForRoleResponses, SearchMappingRulesForRoleErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/roles/{roleId}/mapping-rules/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Unassign a role from a mapping rule\n *\n * Unassigns a role from a mapping rule.\n */\nexport const unassignRoleFromMappingRule = <ThrowOnError extends boolean = true>(options: Options<UnassignRoleFromMappingRuleData, ThrowOnError>) => {\n return (options.client ?? client).delete<UnassignRoleFromMappingRuleResponses, UnassignRoleFromMappingRuleErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/roles/{roleId}/mapping-rules/{mappingRuleId}',\n ...options\n });\n};\n\n/**\n * Assign a role to a mapping rule\n *\n * Assigns a role to a mapping rule.\n */\nexport const assignRoleToMappingRule = <ThrowOnError extends boolean = true>(options: Options<AssignRoleToMappingRuleData, ThrowOnError>) => {\n return (options.client ?? client).put<AssignRoleToMappingRuleResponses, AssignRoleToMappingRuleErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/roles/{roleId}/mapping-rules/{mappingRuleId}',\n ...options\n });\n};\n\n/**\n * Search role users\n *\n * Search users with assigned role.\n */\nexport const searchUsersForRole = <ThrowOnError extends boolean = true>(options: Options<SearchUsersForRoleData, ThrowOnError>) => {\n return (options.client ?? client).post<SearchUsersForRoleResponses, SearchUsersForRoleErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/roles/{roleId}/users/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Unassign a role from a user\n *\n * Unassigns a role from a user. The user will no longer inherit the authorizations associated with this role.\n */\nexport const unassignRoleFromUser = <ThrowOnError extends boolean = true>(options: Options<UnassignRoleFromUserData, ThrowOnError>) => {\n return (options.client ?? client).delete<UnassignRoleFromUserResponses, UnassignRoleFromUserErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/roles/{roleId}/users/{username}',\n ...options\n });\n};\n\n/**\n * Assign a role to a user\n *\n * Assigns the specified role to the user. The user will inherit the authorizations associated with this role.\n */\nexport const assignRoleToUser = <ThrowOnError extends boolean = true>(options: Options<AssignRoleToUserData, ThrowOnError>) => {\n return (options.client ?? client).put<AssignRoleToUserResponses, AssignRoleToUserErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/roles/{roleId}/users/{username}',\n ...options\n });\n};\n\n/**\n * Create admin user\n *\n * Creates a new user and assigns the admin role to it. This endpoint is only usable when users are managed in the Orchestration Cluster and while no user is assigned to the admin role.\n */\nexport const createAdminUser = <ThrowOnError extends boolean = true>(options: Options<CreateAdminUserData, ThrowOnError>) => {\n return (options.client ?? client).post<CreateAdminUserResponses, CreateAdminUserErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/setup/user',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Broadcast signal\n *\n * Broadcasts a signal.\n */\nexport const broadcastSignal = <ThrowOnError extends boolean = true>(options: Options<BroadcastSignalData, ThrowOnError>) => {\n return (options.client ?? client).post<BroadcastSignalResponses, BroadcastSignalErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/signals/broadcast',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get cluster status\n *\n * Checks the health status of the cluster by verifying if there's at least one partition with a healthy leader.\n */\nexport const getStatus = <ThrowOnError extends boolean = true>(options?: Options<GetStatusData, ThrowOnError>) => {\n return (options?.client ?? client).get<GetStatusResponses, GetStatusErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/status',\n ...options\n });\n};\n\n/**\n * Get usage metrics\n *\n * Retrieve the usage metrics based on given criteria.\n */\nexport const getUsageMetrics = <ThrowOnError extends boolean = true>(options: Options<GetUsageMetricsData, ThrowOnError>) => {\n return (options.client ?? client).get<GetUsageMetricsResponses, GetUsageMetricsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/system/usage-metrics',\n ...options\n });\n};\n\n/**\n * System configuration (alpha)\n *\n * Returns the current system configuration. The response is an envelope\n * that groups settings by feature area.\n *\n * This endpoint is an alpha feature and may be subject to change\n * in future releases.\n *\n */\nexport const getSystemConfiguration = <ThrowOnError extends boolean = true>(options?: Options<GetSystemConfigurationData, ThrowOnError>) => {\n return (options?.client ?? client).get<GetSystemConfigurationResponses, GetSystemConfigurationErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/system/configuration',\n ...options\n });\n};\n\n/**\n * Create tenant\n *\n * Creates a new tenant.\n */\nexport const createTenant = <ThrowOnError extends boolean = true>(options: Options<CreateTenantData, ThrowOnError>) => {\n return (options.client ?? client).post<CreateTenantResponses, CreateTenantErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/tenants',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Search tenants\n *\n * Retrieves a filtered and sorted list of tenants.\n */\nexport const searchTenants = <ThrowOnError extends boolean = true>(options?: Options<SearchTenantsData, ThrowOnError>) => {\n return (options?.client ?? client).post<SearchTenantsResponses, SearchTenantsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/tenants/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete tenant\n *\n * Deletes an existing tenant.\n */\nexport const deleteTenant = <ThrowOnError extends boolean = true>(options: Options<DeleteTenantData, ThrowOnError>) => {\n return (options.client ?? client).delete<DeleteTenantResponses, DeleteTenantErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/tenants/{tenantId}',\n ...options\n });\n};\n\n/**\n * Get tenant\n *\n * Retrieves a single tenant by tenant ID.\n */\nexport const getTenant = <ThrowOnError extends boolean = true>(options: Options<GetTenantData, ThrowOnError>) => {\n return (options.client ?? client).get<GetTenantResponses, GetTenantErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/tenants/{tenantId}',\n ...options\n });\n};\n\n/**\n * Update tenant\n *\n * Updates an existing tenant.\n */\nexport const updateTenant = <ThrowOnError extends boolean = true>(options: Options<UpdateTenantData, ThrowOnError>) => {\n return (options.client ?? client).put<UpdateTenantResponses, UpdateTenantErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/tenants/{tenantId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Search clients for tenant\n *\n * Retrieves a filtered and sorted list of clients for a specified tenant.\n */\nexport const searchClientsForTenant = <ThrowOnError extends boolean = true>(options: Options<SearchClientsForTenantData, ThrowOnError>) => {\n return (options.client ?? client).post<SearchClientsForTenantResponses, unknown, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/tenants/{tenantId}/clients/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Unassign a client from a tenant\n *\n * Unassigns the client from the specified tenant.\n * The client can no longer access tenant data.\n *\n */\nexport const unassignClientFromTenant = <ThrowOnError extends boolean = true>(options: Options<UnassignClientFromTenantData, ThrowOnError>) => {\n return (options.client ?? client).delete<UnassignClientFromTenantResponses, UnassignClientFromTenantErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/tenants/{tenantId}/clients/{clientId}',\n ...options\n });\n};\n\n/**\n * Assign a client to a tenant\n *\n * Assign the client to the specified tenant.\n * The client can then access tenant data and perform authorized actions.\n *\n */\nexport const assignClientToTenant = <ThrowOnError extends boolean = true>(options: Options<AssignClientToTenantData, ThrowOnError>) => {\n return (options.client ?? client).put<AssignClientToTenantResponses, AssignClientToTenantErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/tenants/{tenantId}/clients/{clientId}',\n ...options\n });\n};\n\n/**\n * Search groups for tenant\n *\n * Retrieves a filtered and sorted list of groups for a specified tenant.\n */\nexport const searchGroupIdsForTenant = <ThrowOnError extends boolean = true>(options: Options<SearchGroupIdsForTenantData, ThrowOnError>) => {\n return (options.client ?? client).post<SearchGroupIdsForTenantResponses, unknown, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/tenants/{tenantId}/groups/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Unassign a group from a tenant\n *\n * Unassigns a group from a specified tenant.\n * Members of the group (users, clients) will no longer have access to the tenant's data - except they are assigned directly to the tenant.\n *\n */\nexport const unassignGroupFromTenant = <ThrowOnError extends boolean = true>(options: Options<UnassignGroupFromTenantData, ThrowOnError>) => {\n return (options.client ?? client).delete<UnassignGroupFromTenantResponses, UnassignGroupFromTenantErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/tenants/{tenantId}/groups/{groupId}',\n ...options\n });\n};\n\n/**\n * Assign a group to a tenant\n *\n * Assigns a group to a specified tenant.\n * Group members (users, clients) can then access tenant data and perform authorized actions.\n *\n */\nexport const assignGroupToTenant = <ThrowOnError extends boolean = true>(options: Options<AssignGroupToTenantData, ThrowOnError>) => {\n return (options.client ?? client).put<AssignGroupToTenantResponses, AssignGroupToTenantErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/tenants/{tenantId}/groups/{groupId}',\n ...options\n });\n};\n\n/**\n * Search mapping rules for tenant\n *\n * Retrieves a filtered and sorted list of MappingRules for a specified tenant.\n */\nexport const searchMappingRulesForTenant = <ThrowOnError extends boolean = true>(options: Options<SearchMappingRulesForTenantData, ThrowOnError>) => {\n return (options.client ?? client).post<SearchMappingRulesForTenantResponses, unknown, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/tenants/{tenantId}/mapping-rules/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Unassign a mapping rule from a tenant\n *\n * Unassigns a single mapping rule from a specified tenant without deleting the rule.\n */\nexport const unassignMappingRuleFromTenant = <ThrowOnError extends boolean = true>(options: Options<UnassignMappingRuleFromTenantData, ThrowOnError>) => {\n return (options.client ?? client).delete<UnassignMappingRuleFromTenantResponses, UnassignMappingRuleFromTenantErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/tenants/{tenantId}/mapping-rules/{mappingRuleId}',\n ...options\n });\n};\n\n/**\n * Assign a mapping rule to a tenant\n *\n * Assign a single mapping rule to a specified tenant.\n */\nexport const assignMappingRuleToTenant = <ThrowOnError extends boolean = true>(options: Options<AssignMappingRuleToTenantData, ThrowOnError>) => {\n return (options.client ?? client).put<AssignMappingRuleToTenantResponses, AssignMappingRuleToTenantErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/tenants/{tenantId}/mapping-rules/{mappingRuleId}',\n ...options\n });\n};\n\n/**\n * Search roles for tenant\n *\n * Retrieves a filtered and sorted list of roles for a specified tenant.\n */\nexport const searchRolesForTenant = <ThrowOnError extends boolean = true>(options: Options<SearchRolesForTenantData, ThrowOnError>) => {\n return (options.client ?? client).post<SearchRolesForTenantResponses, unknown, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/tenants/{tenantId}/roles/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Unassign a role from a tenant\n *\n * Unassigns a role from a specified tenant.\n * Users, Clients or Groups, that have the role assigned, will no longer have access to the\n * tenant's data - unless they are assigned directly to the tenant.\n *\n */\nexport const unassignRoleFromTenant = <ThrowOnError extends boolean = true>(options: Options<UnassignRoleFromTenantData, ThrowOnError>) => {\n return (options.client ?? client).delete<UnassignRoleFromTenantResponses, UnassignRoleFromTenantErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/tenants/{tenantId}/roles/{roleId}',\n ...options\n });\n};\n\n/**\n * Assign a role to a tenant\n *\n * Assigns a role to a specified tenant.\n * Users, Clients or Groups, that have the role assigned, will get access to the tenant's data and can perform actions according to their authorizations.\n *\n */\nexport const assignRoleToTenant = <ThrowOnError extends boolean = true>(options: Options<AssignRoleToTenantData, ThrowOnError>) => {\n return (options.client ?? client).put<AssignRoleToTenantResponses, AssignRoleToTenantErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/tenants/{tenantId}/roles/{roleId}',\n ...options\n });\n};\n\n/**\n * Search users for tenant\n *\n * Retrieves a filtered and sorted list of users for a specified tenant.\n */\nexport const searchUsersForTenant = <ThrowOnError extends boolean = true>(options: Options<SearchUsersForTenantData, ThrowOnError>) => {\n return (options.client ?? client).post<SearchUsersForTenantResponses, unknown, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/tenants/{tenantId}/users/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Unassign a user from a tenant\n *\n * Unassigns the user from the specified tenant.\n * The user can no longer access tenant data.\n *\n */\nexport const unassignUserFromTenant = <ThrowOnError extends boolean = true>(options: Options<UnassignUserFromTenantData, ThrowOnError>) => {\n return (options.client ?? client).delete<UnassignUserFromTenantResponses, UnassignUserFromTenantErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/tenants/{tenantId}/users/{username}',\n ...options\n });\n};\n\n/**\n * Assign a user to a tenant\n *\n * Assign a single user to a specified tenant. The user can then access tenant data and perform authorized actions.\n */\nexport const assignUserToTenant = <ThrowOnError extends boolean = true>(options: Options<AssignUserToTenantData, ThrowOnError>) => {\n return (options.client ?? client).put<AssignUserToTenantResponses, AssignUserToTenantErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/tenants/{tenantId}/users/{username}',\n ...options\n });\n};\n\n/**\n * Get cluster topology\n *\n * Obtains the current topology of the cluster the gateway is part of.\n */\nexport const getTopology = <ThrowOnError extends boolean = true>(options?: Options<GetTopologyData, ThrowOnError>) => {\n return (options?.client ?? client).get<GetTopologyResponses, GetTopologyErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/topology',\n ...options\n });\n};\n\n/**\n * Create user\n *\n * Create a new user.\n */\nexport const createUser = <ThrowOnError extends boolean = true>(options: Options<CreateUserData, ThrowOnError>) => {\n return (options.client ?? client).post<CreateUserResponses, CreateUserErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/users',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Search users\n *\n * Search for users based on given criteria.\n */\nexport const searchUsers = <ThrowOnError extends boolean = true>(options?: Options<SearchUsersData, ThrowOnError>) => {\n return (options?.client ?? client).post<SearchUsersResponses, SearchUsersErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/users/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Delete user\n *\n * Deletes a user.\n */\nexport const deleteUser = <ThrowOnError extends boolean = true>(options: Options<DeleteUserData, ThrowOnError>) => {\n return (options.client ?? client).delete<DeleteUserResponses, DeleteUserErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/users/{username}',\n ...options\n });\n};\n\n/**\n * Get user\n *\n * Get a user by its username.\n */\nexport const getUser = <ThrowOnError extends boolean = true>(options: Options<GetUserData, ThrowOnError>) => {\n return (options.client ?? client).get<GetUserResponses, GetUserErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/users/{username}',\n ...options\n });\n};\n\n/**\n * Update user\n *\n * Updates a user.\n */\nexport const updateUser = <ThrowOnError extends boolean = true>(options: Options<UpdateUserData, ThrowOnError>) => {\n return (options.client ?? client).put<UpdateUserResponses, UpdateUserErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/users/{username}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Search user tasks\n *\n * Search for user tasks based on given criteria.\n */\nexport const searchUserTasks = <ThrowOnError extends boolean = true>(options?: Options<SearchUserTasksData, ThrowOnError>) => {\n return (options?.client ?? client).post<SearchUserTasksResponses, SearchUserTasksErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/user-tasks/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get user task\n *\n * Get the user task by the user task key.\n */\nexport const getUserTask = <ThrowOnError extends boolean = true>(options: Options<GetUserTaskData, ThrowOnError>) => {\n return (options.client ?? client).get<GetUserTaskResponses, GetUserTaskErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/user-tasks/{userTaskKey}',\n ...options\n });\n};\n\n/**\n * Update user task\n *\n * Update a user task with the given key. Updates wait for blocking task listeners on this lifecycle transition. If listener processing is delayed beyond the request timeout, this endpoint can return 504. Other gateway timeout causes are also possible. Retry with backoff and inspect listener worker availability and logs when this repeats.\n *\n */\nexport const updateUserTask = <ThrowOnError extends boolean = true>(options: Options<UpdateUserTaskData, ThrowOnError>) => {\n return (options.client ?? client).patch<UpdateUserTaskResponses, UpdateUserTaskErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/user-tasks/{userTaskKey}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Unassign user task\n *\n * Removes the assignee of a task with the given key. Unassignment waits for blocking task listeners on this lifecycle transition. If listener processing is delayed beyond the request timeout, this endpoint can return 504. Other gateway timeout causes are also possible. Retry with backoff and inspect listener worker availability and logs when this repeats.\n *\n */\nexport const unassignUserTask = <ThrowOnError extends boolean = true>(options: Options<UnassignUserTaskData, ThrowOnError>) => {\n return (options.client ?? client).delete<UnassignUserTaskResponses, UnassignUserTaskErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/user-tasks/{userTaskKey}/assignee',\n ...options\n });\n};\n\n/**\n * Assign user task\n *\n * Assigns a user task with the given key to the given assignee. Assignment waits for blocking task listeners on this lifecycle transition. If listener processing is delayed beyond the request timeout, this endpoint can return 504. Other gateway timeout causes are also possible. Retry with backoff and inspect listener worker availability and logs when this repeats.\n *\n */\nexport const assignUserTask = <ThrowOnError extends boolean = true>(options: Options<AssignUserTaskData, ThrowOnError>) => {\n return (options.client ?? client).post<AssignUserTaskResponses, AssignUserTaskErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/user-tasks/{userTaskKey}/assignment',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Search user task audit logs\n *\n * Search for user task audit logs based on given criteria.\n */\nexport const searchUserTaskAuditLogs = <ThrowOnError extends boolean = true>(options: Options<SearchUserTaskAuditLogsData, ThrowOnError>) => {\n return (options.client ?? client).post<SearchUserTaskAuditLogsResponses, SearchUserTaskAuditLogsErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/user-tasks/{userTaskKey}/audit-logs/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Complete user task\n *\n * Completes a user task with the given key. Completion waits for blocking task listeners on this lifecycle transition. If listener processing is delayed beyond the request timeout, this endpoint can return 504. Other gateway timeout causes are also possible. Retry with backoff and inspect listener worker availability and logs when this repeats.\n *\n */\nexport const completeUserTask = <ThrowOnError extends boolean = true>(options: Options<CompleteUserTaskData, ThrowOnError>) => {\n return (options.client ?? client).post<CompleteUserTaskResponses, CompleteUserTaskErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/user-tasks/{userTaskKey}/completion',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Search user task effective variables\n *\n * Search for the effective variables of a user task. This endpoint returns deduplicated\n * variables where each variable name appears at most once. When the same variable name exists\n * at multiple scope levels in the scope hierarchy, the value from the innermost scope (closest\n * to the user task) takes precedence. This is useful for retrieving the actual runtime state\n * of variables as seen by the user task. By default, long variable values in the response are\n * truncated.\n *\n */\nexport const searchUserTaskEffectiveVariables = <ThrowOnError extends boolean = true>(options: Options<SearchUserTaskEffectiveVariablesData, ThrowOnError>) => {\n return (options.client ?? client).post<SearchUserTaskEffectiveVariablesResponses, SearchUserTaskEffectiveVariablesErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/user-tasks/{userTaskKey}/effective-variables/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Get user task form\n *\n * Get the form of a user task.\n * Note that this endpoint will only return linked forms. This endpoint does not support embedded forms.\n *\n */\nexport const getUserTaskForm = <ThrowOnError extends boolean = true>(options: Options<GetUserTaskFormData, ThrowOnError>) => {\n return (options.client ?? client).get<GetUserTaskFormResponses, GetUserTaskFormErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/user-tasks/{userTaskKey}/form',\n ...options\n });\n};\n\n/**\n * Search user task variables\n *\n * Search for user task variables based on given criteria. This endpoint returns all variable\n * documents visible from the user task's scope, including variables from parent scopes in the\n * scope hierarchy. If the same variable name exists at multiple scope levels, each scope's\n * variable is returned as a separate result. Use the\n * `/user-tasks/{userTaskKey}/effective-variables/search` endpoint to get deduplicated variables\n * where the innermost scope takes precedence. By default, long variable values in the response\n * are truncated.\n *\n */\nexport const searchUserTaskVariables = <ThrowOnError extends boolean = true>(options: Options<SearchUserTaskVariablesData, ThrowOnError>) => {\n return (options.client ?? client).post<SearchUserTaskVariablesResponses, SearchUserTaskVariablesErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/user-tasks/{userTaskKey}/variables/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n};\n\n/**\n * Search variables\n *\n * Search for variables based on given criteria.\n *\n * This endpoint returns variables that exist directly at the specified scopes - it does not\n * include variables from parent scopes that would be visible through the scope hierarchy.\n *\n * Variables can be process-level (scoped to the process instance) or local (scoped to specific\n * BPMN elements like tasks, subprocesses, etc.).\n *\n * By default, long variable values in the response are truncated.\n */\nexport const searchVariables = <ThrowOnError extends boolean = true>(options?: Options<SearchVariablesData, ThrowOnError>) => {\n return (options?.client ?? client).post<SearchVariablesResponses, SearchVariablesErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/variables/search',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n};\n\n/**\n * Get variable\n *\n * Get a variable by its key.\n *\n * This endpoint returns both process-level and local (element-scoped) variables.\n * The variable's scopeKey indicates whether it's a process-level variable or scoped to a\n * specific element instance.\n */\nexport const getVariable = <ThrowOnError extends boolean = true>(options: Options<GetVariableData, ThrowOnError>) => {\n return (options.client ?? client).get<GetVariableResponses, GetVariableErrors, ThrowOnError>({\n requestValidator: undefined,\n responseValidator: undefined,\n url: '/variables/{variableKey}',\n ...options\n });\n};\n","import type { Logger } from './logger';\nimport type {\n TelemetryAuthErrorEvent,\n TelemetryAuthStartEvent,\n TelemetryAuthSuccessEvent,\n TelemetryHooks,\n} from './telemetry';\nimport type { CamundaConfig } from './unifiedConfiguration';\n\n/** Auth error codes */\nexport enum CamundaAuthErrorCode {\n TOKEN_FETCH_FAILED = 'TOKEN_FETCH_FAILED',\n TOKEN_PARSE_FAILED = 'TOKEN_PARSE_FAILED',\n TOKEN_EXPIRED = 'TOKEN_EXPIRED',\n TOKEN_REFRESH_CONFLICT = 'TOKEN_REFRESH_CONFLICT',\n OAUTH_CONFIG_MISSING = 'OAUTH_CONFIG_MISSING',\n BASIC_CREDENTIALS_MISSING = 'BASIC_CREDENTIALS_MISSING',\n MTLS_CONFIG_MISSING = 'MTLS_CONFIG_MISSING',\n MTLS_LOAD_FAILED = 'MTLS_LOAD_FAILED',\n}\n\nexport class CamundaAuthError extends Error {\n constructor(\n public code: CamundaAuthErrorCode,\n message: string,\n public cause?: any\n ) {\n super(`${code}: ${message}`);\n this.name = 'CamundaAuthError';\n }\n}\n\nexport interface AuthTokenCacheEntry {\n access_token: string;\n token_type?: string;\n scope?: string;\n expires_at_epoch_ms: number; // real expiry (provider exp - skew buffer)\n obtained_at_epoch_ms: number; // when fetched\n oauth_url: string;\n client_id?: string;\n audience?: string;\n}\n\ntype HeadersHook = (\n headers: Record<string, string>\n) => Promise<Record<string, string>> | Record<string, string>;\n\n/** Internal singleflight & state */\nclass OAuthManager {\n private refreshing: Promise<string> | null = null;\n private token: AuthTokenCacheEntry | null = null;\n private readonly storageKey: string;\n private readonly isBrowser = typeof window !== 'undefined';\n private readonly session: Storage | null;\n constructor(\n private cfg: CamundaConfig,\n private logger: Logger,\n private tHooks?: TelemetryHooks,\n private correlationProvider?: () => string | undefined\n ) {\n const hashBase = `${cfg.oauth.oauthUrl}|${cfg.oauth.clientId || ''}|${cfg.tokenAudience}|${cfg.oauth.scope || ''}`;\n this.storageKey = `camunda_oauth_token_cache_${this.simpleHash(hashBase)}`;\n this.session =\n this.isBrowser && typeof window.sessionStorage !== 'undefined' ? window.sessionStorage : null;\n // Load disk cache (Node) or session cache (browser)\n this.loadPersisted();\n }\n private simpleHash(s: string): string {\n let h = 0;\n for (let i = 0; i < s.length; i++) {\n h = (Math.imul(31, h) + s.charCodeAt(i)) | 0;\n }\n return (h >>> 0).toString(16);\n }\n private log(...args: any[]) {\n this.logger.debug(...args);\n }\n private now() {\n return Date.now();\n }\n private loadPersisted() {\n if (this.session) {\n try {\n const raw = this.session.getItem(this.storageKey);\n if (raw) {\n this.token = JSON.parse(raw);\n }\n } catch {\n /* ignore */\n }\n }\n if (!this.session && this.cfg.oauth.cacheDir && this.isNode()) {\n try {\n const fs = require('node:fs');\n\n const path = require('node:path');\n const file = path.join(this.cfg.oauth.cacheDir, `${this.storageKey}.json`);\n if (fs.existsSync(file)) {\n const raw = fs.readFileSync(file, 'utf8');\n this.token = JSON.parse(raw);\n }\n } catch {\n /* ignore */\n }\n }\n }\n private persist() {\n if (this.token) {\n if (this.session) {\n try {\n this.session.setItem(this.storageKey, JSON.stringify(this.token));\n } catch {\n /* ignore */\n }\n } else if (this.cfg.oauth.cacheDir && this.isNode()) {\n try {\n const fs = require('node:fs');\n\n const path = require('node:path');\n if (!fs.existsSync(this.cfg.oauth.cacheDir))\n fs.mkdirSync(this.cfg.oauth.cacheDir, { recursive: true });\n const file = path.join(this.cfg.oauth.cacheDir, `${this.storageKey}.json`);\n const tmp = `${file}.tmp`;\n fs.writeFileSync(tmp, JSON.stringify(this.token), { mode: 0o600 });\n fs.renameSync(tmp, file);\n } catch {\n /* ignore */\n }\n }\n }\n }\n private isNode() {\n return typeof process !== 'undefined' && !!process.versions?.node;\n }\n private effectiveExpiry(t: AuthTokenCacheEntry) {\n return t.expires_at_epoch_ms;\n }\n private shouldRefresh(t: AuthTokenCacheEntry) {\n const now = this.now();\n if (now < t.obtained_at_epoch_ms - 30000) {\n // clock jumped backwards\n this.log('Clock skew backwards detected; invalidating token');\n return true;\n }\n const refreshLead = 5000; // 5s lead\n return now >= this.effectiveExpiry(t) - refreshLead;\n }\n async getToken(\n fetcher: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n ): Promise<string> {\n if (this.token && !this.shouldRefresh(this.token)) return this.token.access_token;\n if (this.refreshing) {\n try {\n return await this.refreshing;\n } catch (e) {\n if (this.token && !this.shouldRefresh(this.token)) return this.token.access_token; // keep old until expiry\n throw e;\n }\n }\n this.refreshing = this.fetchAndStore(fetcher).finally(() => {\n this.refreshing = null;\n });\n return this.refreshing;\n }\n async forceRefresh(\n fetcher: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n ): Promise<string> {\n this.refreshing = this.fetchAndStore(fetcher).finally(() => {\n this.refreshing = null;\n });\n return this.refreshing;\n }\n clearCache(opts: { disk?: boolean; memory?: boolean } = { disk: true, memory: true }) {\n if (opts.memory) this.token = null;\n if (opts.disk) {\n if (this.session) {\n this.session.removeItem(this.storageKey);\n } else if (this.cfg.oauth.cacheDir && this.isNode()) {\n try {\n const fs = require('node:fs');\n\n const path = require('node:path');\n const file = path.join(this.cfg.oauth.cacheDir, `${this.storageKey}.json`);\n if (fs.existsSync(file)) fs.unlinkSync(file);\n } catch {\n /*ignore*/\n }\n }\n }\n }\n private async fetchAndStore(\n fetcher: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n ): Promise<string> {\n if (!this.cfg.oauth.clientId || !this.cfg.oauth.clientSecret)\n throw new CamundaAuthError(\n CamundaAuthErrorCode.OAUTH_CONFIG_MISSING,\n 'Missing OAuth client credentials'\n );\n const body = new URLSearchParams();\n body.set('grant_type', this.cfg.oauth.grantType || 'client_credentials');\n body.set('client_id', this.cfg.oauth.clientId);\n body.set('client_secret', this.cfg.oauth.clientSecret);\n body.set('audience', this.cfg.tokenAudience);\n if (this.cfg.oauth.scope) body.set('scope', this.cfg.oauth.scope);\n const max = this.cfg.oauth.retry.max || 5;\n const base = this.cfg.oauth.retry.baseDelayMs || 1000;\n let attempt = 0;\n let lastErr: any;\n while (attempt < max) {\n const controller = new AbortController();\n const timeout = setTimeout(() => controller.abort(), this.cfg.oauth.timeoutMs);\n try {\n if (attempt === 0) {\n const evt: TelemetryAuthStartEvent = {\n type: 'auth.start',\n ts: Date.now(),\n audience: this.cfg.tokenAudience,\n endpoint: this.cfg.oauth.oauthUrl,\n cache: !!this.token,\n correlationId: this.correlationProvider?.(),\n };\n try {\n this.tHooks?.authStart?.(evt);\n } catch {\n /* ignore */\n }\n }\n this.logger.debug(`OAuth token attempt ${attempt + 1}/${max}`);\n const res = await fetcher(this.cfg.oauth.oauthUrl, {\n method: 'POST',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded' },\n body: body.toString(),\n signal: controller.signal,\n });\n clearTimeout(timeout);\n if (!res.ok) {\n lastErr = new Error(`HTTP ${res.status}`);\n throw lastErr;\n }\n const json: any = await res.json();\n if (!json.access_token || !json.expires_in)\n throw new CamundaAuthError(\n CamundaAuthErrorCode.TOKEN_PARSE_FAILED,\n 'Missing access_token or expires_in in response'\n );\n const now = this.now();\n const lifetimeMs = json.expires_in * 1000;\n const skewBuffer = Math.max(30000, Math.floor(lifetimeMs * 0.05));\n const entry: AuthTokenCacheEntry = {\n access_token: json.access_token,\n token_type: json.token_type,\n scope: json.scope,\n obtained_at_epoch_ms: now,\n expires_at_epoch_ms: now + lifetimeMs - skewBuffer,\n oauth_url: this.cfg.oauth.oauthUrl,\n client_id: this.cfg.oauth.clientId,\n audience: this.cfg.tokenAudience,\n };\n this.token = entry;\n this.persist();\n this.logger.info(\n 'Token fetched; effective expiry (s)=',\n Math.round((entry.expires_at_epoch_ms - now) / 1000)\n );\n try {\n const evt: TelemetryAuthSuccessEvent = {\n type: 'auth.success',\n ts: Date.now(),\n audience: this.cfg.tokenAudience,\n endpoint: this.cfg.oauth.oauthUrl,\n cached: false,\n durationMs: Date.now() - now,\n expiresInSec: Math.round((entry.expires_at_epoch_ms - now) / 1000),\n scopes: entry.scope ? String(entry.scope).split(/\\s+/) : undefined,\n correlationId: this.correlationProvider?.(),\n };\n this.tHooks?.authSuccess?.(evt);\n } catch {\n /* ignore */\n }\n return entry.access_token;\n } catch (e: any) {\n clearTimeout(timeout);\n lastErr = e;\n attempt++;\n if (attempt >= max) break;\n const delay = base * 2 ** (attempt - 1);\n const jitter = delay * 0.2 * (Math.random() - 0.5); // +/-20%\n const sleep = delay + jitter;\n try {\n // Emit retry event (domain auth) with computed next delay\n this.tHooks?.retry?.({\n type: 'retry',\n ts: Date.now(),\n attempt,\n nextDelayMs: Math.round(sleep),\n reason: lastErr?.message || 'error',\n domain: 'auth',\n correlationId: this.correlationProvider?.(),\n });\n } catch {\n /* ignore */\n }\n await new Promise((r) => setTimeout(r, sleep));\n }\n }\n try {\n const evt: TelemetryAuthErrorEvent = {\n type: 'auth.error',\n ts: Date.now(),\n audience: this.cfg.tokenAudience,\n endpoint: this.cfg.oauth.oauthUrl,\n durationMs: 0,\n status: lastErr?.message?.match(/HTTP (\\d+)/)?.[1] ? parseInt(RegExp.$1, 10) : undefined,\n message: lastErr?.message || String(lastErr),\n correlationId: this.correlationProvider?.(),\n };\n this.tHooks?.authError?.(evt);\n } catch {\n /* ignore */\n }\n throw new CamundaAuthError(\n CamundaAuthErrorCode.TOKEN_FETCH_FAILED,\n `Failed to fetch token after ${max} attempts: ${lastErr?.message || lastErr}`,\n lastErr\n );\n }\n}\n\nclass BasicAuthManager {\n private token: string;\n constructor(cfg: CamundaConfig) {\n const u = cfg.auth.basic?.username?.trim();\n const p = cfg.auth.basic?.password?.trim();\n if (!u || !p)\n throw new CamundaAuthError(\n CamundaAuthErrorCode.BASIC_CREDENTIALS_MISSING,\n 'Missing basic auth username or password'\n );\n if (typeof Buffer !== 'undefined') {\n this.token = Buffer.from(`${u}:${p}`).toString('base64');\n } else {\n // browser fallback\n this.token = btoa(`${u}:${p}`);\n }\n }\n getHeader() {\n return `Basic ${this.token}`;\n }\n}\n\nexport interface AuthFacade {\n getAuthHeaders(): Promise<Record<string, string>>;\n forceRefresh(): Promise<string | undefined>;\n clearCache(opts?: { disk?: boolean; memory?: boolean }): void;\n registerHeadersHook(h: HeadersHook): void;\n /** test-only helper */\n debug__setTokenExpiry?(epochMs: number): void;\n}\n\nexport function createAuthFacade(\n config: CamundaConfig,\n opts?: {\n fetch?: (input: RequestInfo, init?: RequestInit) => Promise<Response>;\n logger?: Logger;\n telemetryHooks?: TelemetryHooks;\n correlationProvider?: () => string | undefined;\n }\n): AuthFacade {\n const cfg = config;\n const noop: Logger = {\n level: () => 'silent',\n setLevel: () => {},\n setTransport: () => {},\n error: () => {},\n warn: () => {},\n info: () => {},\n debug: () => {},\n trace: () => {},\n silly: () => {},\n code: () => {},\n scope: () => noop,\n };\n const authLogger = (opts?.logger || noop).scope('auth');\n const tHooks = opts?.telemetryHooks;\n const hooks: HeadersHook[] = [];\n let oauth: OAuthManager | null = null;\n let basic: BasicAuthManager | null = null;\n if (cfg.auth.strategy === 'OAUTH')\n oauth = new OAuthManager(cfg, authLogger.scope('oauth'), tHooks, opts?.correlationProvider);\n else if (cfg.auth.strategy === 'BASIC') basic = new BasicAuthManager(cfg);\n const fetcher = (input: RequestInfo, init?: RequestInit) =>\n opts?.fetch ? opts.fetch(input, init) : fetch(input, init);\n // mTLS: if in Node and mtls config present, create https.Agent and augment fetch with agent option.\n let nodeAgent: any = null;\n if (cfg.mtls && typeof process !== 'undefined' && process.versions?.node) {\n try {\n const fs = require('node:fs');\n\n const https = require('node:https');\n const material: any = {};\n if (cfg.mtls.cert || cfg.mtls.certPath)\n material.cert = cfg.mtls.cert || fs.readFileSync(cfg.mtls.certPath, 'utf8');\n if (cfg.mtls.key || cfg.mtls.keyPath)\n material.key = cfg.mtls.key || fs.readFileSync(cfg.mtls.keyPath, 'utf8');\n if (cfg.mtls.ca || cfg.mtls.caPath)\n material.ca = cfg.mtls.ca || fs.readFileSync(cfg.mtls.caPath, 'utf8');\n if (cfg.mtls.keyPassphrase) material.passphrase = cfg.mtls.keyPassphrase;\n nodeAgent = new https.Agent(material);\n // Expose for request layer reuse without import cycles.\n try {\n (globalThis as any).__CAMUNDA_MTLS_AGENT = nodeAgent;\n } catch {}\n } catch (e) {\n authLogger.warn(\n 'Failed to create mTLS agent – proceeding without mTLS',\n (e as any)?.message || e\n );\n }\n }\n const withAgent = async (input: RequestInfo, init?: RequestInit) => {\n if (nodeAgent) {\n // @ts-ignore Node fetch agent injection\n return fetcher(input, { ...(init || {}), agent: nodeAgent });\n }\n return fetcher(input, init);\n };\n return {\n async getAuthHeaders() {\n const h: Record<string, string> = {};\n if (oauth) h.Authorization = `Bearer ${await oauth.getToken(withAgent)}`;\n else if (basic) h.Authorization = basic.getHeader();\n let acc = h;\n for (const hook of hooks) {\n acc = await hook(acc);\n }\n return acc;\n },\n async forceRefresh() {\n if (oauth) return oauth.forceRefresh(withAgent);\n return undefined;\n },\n clearCache(opts) {\n if (oauth) oauth.clearCache(opts);\n },\n registerHeadersHook(h) {\n hooks.push(h);\n },\n debug__setTokenExpiry(epochMs: number) {\n // biome-ignore lint/complexity/useLiteralKeys: bracket notation bypasses TS private access check\n if (oauth && oauth['token']) {\n (oauth as any).token.expires_at_epoch_ms = epochMs;\n }\n },\n };\n}\n// (No default singleton export; auth is instance-scoped via Camunda constructor.)\n","// Unified configuration hydration rebuilt on top of configSchema + typed-env.\n// Single source of truth: configSchema.ts (SCHEMA)\n// Responsibilities kept: precedence, conditional requirements, validation grammar,\n// strict parsing (booleans, ints), secrets redaction, aggregated errors.\n\n// Static import for path placed before other module imports to satisfy lint ordering\nimport path from 'node:path';\nimport { createEnv } from 'typed-env';\nimport {\n allKeys,\n type EnvOverrides,\n type EnvVarKey,\n isSecret,\n requiredWhen as requiredWhenMeta,\n SCHEMA,\n schemaEntry,\n} from './configSchema';\n\nexport type AuthStrategy = 'NONE' | 'OAUTH' | 'BASIC';\nexport type ValidationMode = 'none' | 'warn' | 'strict' | 'fanatical';\n\nexport interface Warning {\n key?: string;\n code: WarningCode;\n message: string;\n details?: any; // future-proof details for machine processing\n}\n\nexport enum WarningCode {\n DEPRECATED = 'DEPRECATED',\n}\n\nexport interface ConfigErrorDetail {\n key?: string;\n code: ConfigErrorCode;\n message: string;\n details?: any;\n}\n\nexport enum ConfigErrorCode {\n CONFIG_MISSING_REQUIRED = 'CONFIG_MISSING_REQUIRED',\n CONFIG_INVALID_ENUM = 'CONFIG_INVALID_ENUM',\n CONFIG_INVALID_BOOLEAN = 'CONFIG_INVALID_BOOLEAN',\n CONFIG_INVALID_INTEGER = 'CONFIG_INVALID_INTEGER',\n CONFIG_INVALID_VALIDATION_SYNTAX = 'CONFIG_INVALID_VALIDATION_SYNTAX',\n}\n\nexport class CamundaConfigurationError extends Error {\n public readonly errors: ConfigErrorDetail[];\n constructor(errors: ConfigErrorDetail[]) {\n const msg = errors.map((e) => `${e.code}${e.key ? `(${e.key})` : ''}: ${e.message}`).join('\\n');\n super(msg);\n this.name = 'CamundaConfigurationError';\n this.errors = errors;\n }\n}\n\n// (Legacy SPEC removed; use SCHEMA in configSchema.ts)\n\n// Public type helpers for constructing flat env-style override objects\n// (Legacy flat config types removed; use EnvOverrides and EnvVarKey instead.)\n\n// Resulting strongly typed config\nexport interface CamundaConfig {\n restAddress: string;\n tokenAudience: string;\n defaultTenantId: string; // branded at usage sites as TenantId\n httpRetry: { maxAttempts: number; baseDelayMs: number; maxDelayMs: number }; // generic HTTP operation retry policy\n backpressure: {\n enabled: boolean;\n profile: string; // BALANCED | CONSERVATIVE | AGGRESSIVE | LEGACY\n observeOnly: boolean; // LEGACY profile semantics (collect signals, no gating)\n initialMax: number;\n softFactor: number;\n severeFactor: number;\n recoveryIntervalMs: number;\n recoveryStep: number;\n decayQuietMs: number;\n floor: number;\n severeThreshold: number;\n maxWaiters: number;\n healthyRecoveryMultiplier: number;\n unlimitedAfterHealthyMs: number;\n };\n oauth: {\n clientId?: string;\n clientSecret?: string;\n oauthUrl: string;\n grantType: string;\n scope?: string;\n timeoutMs: number;\n retry: { max: number; baseDelayMs: number };\n cacheDir?: string;\n };\n auth: {\n strategy: AuthStrategy;\n basic?: { username?: string; password?: string };\n };\n validation: {\n req: ValidationMode;\n res: ValidationMode;\n raw: string; // normalized raw spec for reproducibility\n };\n logLevel: 'silent' | 'error' | 'warn' | 'info' | 'debug' | 'trace';\n eventual?: { pollDefaultMs: number };\n // authVerbose removed (pre-release cleanup)\n mtls?: {\n cert?: string;\n key?: string;\n ca?: string;\n keyPassphrase?: string;\n certPath?: string;\n keyPath?: string;\n caPath?: string;\n };\n telemetry?: { log: boolean; correlation: boolean };\n supportLog?: { enabled: boolean; filePath: string };\n workerDefaults?: {\n jobTimeoutMs?: number;\n maxParallelJobs?: number;\n pollTimeoutMs?: number;\n workerName?: string;\n startupJitterMaxSeconds?: number;\n };\n // Raw access (canonical uppercase enums applied) keyed by env var (internal/debug)\n __raw: Record<string, string | undefined>;\n}\n\nexport interface HydratedConfiguration {\n config: CamundaConfig;\n warnings: Warning[];\n provided: Record<string, string>; // User provided (including explicit defaults, excluding empty strings)\n effective: Record<string, string>; // All keys with effective values (defaults filled)\n redacted: Record<string, string>; // Redacted effective\n toProvidedObject(): Record<string, string>;\n toEffectiveObject(): Record<string, string>;\n toRedactedObject(): Record<string, string>;\n toDisplayString(): string;\n}\n\nexport interface HydrateOptions {\n env?: Record<string, string | undefined>;\n overrides?: EnvOverrides; // strongly typed overrides\n}\n\n// Utility: deep freeze\nfunction deepFreeze<T>(o: T): T {\n if (o && typeof o === 'object' && !Object.isFrozen(o)) {\n Object.freeze(o);\n for (const k of Object.keys(o)) {\n // @ts-ignore\n deepFreeze(o[k]);\n }\n }\n return o;\n}\n\n// Secrets redaction (keep length, mask all but last 4; <=4 => all masked)\nfunction redactSecret(v: string): string {\n const len = v.length;\n if (len <= 4) return '*'.repeat(len);\n const tail = v.slice(-4);\n return '*'.repeat(len - 4) + tail;\n}\n\n// Boolean parser\nfunction parseBoolean(raw: string, key: string, errors: ConfigErrorDetail[]): boolean | undefined {\n const v = raw.trim().toLowerCase();\n if (v === '') return undefined;\n if (['true', 'yes', '1', 'on'].includes(v)) return true;\n if (['false', 'no', '0', 'off'].includes(v)) return false;\n errors.push({\n code: ConfigErrorCode.CONFIG_INVALID_BOOLEAN,\n key,\n message: `Invalid boolean value '${raw}'. Expected one of true,false,yes,no,1,0,on,off.`,\n });\n return undefined;\n}\n\n// Integer parser\nfunction parseInteger(raw: string, key: string, errors: ConfigErrorDetail[]): number | undefined {\n const v = raw.trim();\n if (v === '') return undefined;\n if (/^[0-9]+$/.test(v)) return parseInt(v, 10);\n errors.push({\n code: ConfigErrorCode.CONFIG_INVALID_INTEGER,\n key,\n message: `Invalid integer '${raw}'. Only unsigned base-10 integers allowed.`,\n });\n return undefined;\n}\n\n// Signed integer parser (allows negative values)\nfunction parseSignedInteger(\n raw: string,\n key: string,\n errors: ConfigErrorDetail[]\n): number | undefined {\n const v = raw.trim();\n if (v === '') return undefined;\n if (/^-?[0-9]+$/.test(v)) return parseInt(v, 10);\n errors.push({\n code: ConfigErrorCode.CONFIG_INVALID_INTEGER,\n key,\n message: `Invalid integer '${raw}'. Only base-10 integers (optionally negative) allowed.`,\n });\n return undefined;\n}\n\n// Validation mini-language parser (strict per design)\nfunction parseValidation(\n raw: string,\n errors: ConfigErrorDetail[]\n): { req: ValidationMode; res: ValidationMode; raw: string } {\n const val = raw.trim();\n if (val === '') return { req: 'none', res: 'none', raw: 'req:none,res:none' };\n const lower = val.toLowerCase();\n if (['none', 'warn', 'strict', 'fanatical'].includes(lower)) {\n return {\n req: lower as ValidationMode,\n res: lower as ValidationMode,\n raw: `req:${lower},res:${lower}`,\n };\n }\n const parts = val\n .split(',')\n .map((p) => p.trim())\n .filter(Boolean);\n const seen: Record<string, boolean> = {};\n let req: ValidationMode = 'none';\n let res: ValidationMode = 'none';\n for (const part of parts) {\n const [lhs, rhs] = part.split(':').map((s) => s?.trim().toLowerCase());\n if (!lhs || !rhs) {\n errors.push({\n code: ConfigErrorCode.CONFIG_INVALID_VALIDATION_SYNTAX,\n key: 'CAMUNDA_SDK_VALIDATION',\n message: `Malformed segment '${part}'`,\n });\n continue;\n }\n if (lhs !== 'req' && lhs !== 'res') {\n errors.push({\n code: ConfigErrorCode.CONFIG_INVALID_VALIDATION_SYNTAX,\n key: 'CAMUNDA_SDK_VALIDATION',\n message: `Unknown scope '${lhs}'`,\n });\n continue;\n }\n if (!['none', 'warn', 'strict', 'fanatical'].includes(rhs)) {\n errors.push({\n code: ConfigErrorCode.CONFIG_INVALID_VALIDATION_SYNTAX,\n key: 'CAMUNDA_SDK_VALIDATION',\n message: `Unknown mode '${rhs}'`,\n });\n continue;\n }\n if (seen[lhs]) {\n errors.push({\n code: ConfigErrorCode.CONFIG_INVALID_VALIDATION_SYNTAX,\n key: 'CAMUNDA_SDK_VALIDATION',\n message: `Duplicate scope '${lhs}'`,\n });\n continue;\n }\n seen[lhs] = true;\n if (lhs === 'req') req = rhs as ValidationMode;\n else res = rhs as ValidationMode;\n }\n return { req, res, raw: `req:${req},res:${res}` };\n}\n\nexport function hydrateConfig(options: HydrateOptions = {}): HydratedConfiguration {\n const baseEnv =\n options.env ||\n (typeof process !== 'undefined' ? (process.env as Record<string, string | undefined>) : {});\n const overrides = options.overrides || {};\n const errors: ConfigErrorDetail[] = [];\n const warnings: Warning[] = [];\n const provided: Record<string, string> = {};\n const effective: Record<string, string> = {};\n const rawMap: Record<string, string | undefined> = {};\n // Track provided (user intent): env or override present (non-empty string for env)\n for (const k of allKeys()) {\n if ((overrides as any)[k] !== undefined) {\n provided[k] = String((overrides as any)[k]).trim();\n } else if (baseEnv[k] !== undefined && baseEnv[k]!.trim() !== '') {\n provided[k] = baseEnv[k]!.trim();\n }\n }\n // Flag: did the user explicitly set an auth strategy (via env or overrides)?\n const userSetStrategy =\n provided.CAMUNDA_AUTH_STRATEGY !== undefined && provided.CAMUNDA_AUTH_STRATEGY.trim() !== '';\n\n // Build typed-env schema with parser functions that accumulate errors instead of throwing early\n const parseErrors: ConfigErrorDetail[] = [];\n function boolParserFactory(key: string) {\n return (v: string) => {\n const parsed = parseBoolean(v, key, parseErrors);\n if (parsed === undefined) return undefined;\n return parsed;\n };\n }\n function intParserFactory(key: string) {\n return (v: string) => {\n const parsed = parseInteger(v, key, parseErrors);\n if (parsed === undefined) return undefined;\n return parsed;\n };\n }\n function signedIntParserFactory(key: string) {\n return (v: string) => {\n const parsed = parseSignedInteger(v, key, parseErrors);\n if (parsed === undefined) return undefined;\n return parsed;\n };\n }\n function enumParserFactory(key: string, choices: readonly string[]) {\n // Case-insensitive parsing. Canonicalize to schema-declared casing style.\n // If all choices are lowercase => return lowercase value.\n // If all choices are uppercase => return uppercase value.\n // Mixed casing (currently unused) => return the exact schema choice matched.\n const lowered = choices.map((c) => c.toLowerCase());\n const allLower = choices.every((c) => c === c.toLowerCase());\n const allUpper = choices.every((c) => c === c.toUpperCase());\n return (v: string) => {\n const raw = v.trim();\n const candidateLower = raw.toLowerCase();\n const idx = lowered.indexOf(candidateLower);\n if (idx === -1) {\n parseErrors.push({\n code: ConfigErrorCode.CONFIG_INVALID_ENUM,\n key,\n message: `Invalid value '${v}' (expected one of ${choices.join('|')}).`,\n });\n return undefined;\n }\n if (allLower) return lowered[idx];\n if (allUpper) return choices[idx];\n return choices[idx];\n };\n }\n\n const typedEnvSchema: Record<string, any> = {};\n for (const k of allKeys()) {\n const entry = schemaEntry(k);\n const baseOpt = { optional: true };\n if (entry.type === 'string') {\n typedEnvSchema[k] =\n entry.default !== undefined\n ? { type: 'string', default: entry.default, ...baseOpt }\n : { type: 'string', ...baseOpt };\n } else if (entry.type === 'boolean') {\n const base: any = { parser: boolParserFactory(k), ...baseOpt };\n if (entry.default !== undefined) base.default = !!entry.default;\n typedEnvSchema[k] = base;\n } else if (entry.type === 'int') {\n const base: any = { parser: intParserFactory(k), ...baseOpt };\n if (entry.default !== undefined) base.default = entry.default;\n typedEnvSchema[k] = base;\n } else if (entry.type === 'signedInt') {\n const base: any = { parser: signedIntParserFactory(k), ...baseOpt };\n if (entry.default !== undefined) base.default = entry.default;\n typedEnvSchema[k] = base;\n } else if (entry.type === 'enum') {\n const base: any = { parser: enumParserFactory(k, entry.choices || []), ...baseOpt };\n if (entry.default !== undefined) base.default = entry.default;\n typedEnvSchema[k] = base;\n }\n }\n\n // Compose input env (process.env + overrides stringified) (defaults handled by typed-env schema)\n const envInput: Record<string, string> = {};\n for (const k of allKeys()) {\n if ((overrides as any)[k] !== undefined) envInput[k] = String((overrides as any)[k]);\n else if (baseEnv[k] !== undefined) envInput[k] = baseEnv[k]!;\n }\n // Alias handling: promote CAMUNDA_SUPPORT_LOGGER to CAMUNDA_SUPPORT_LOG_ENABLED if set\n if (\n envInput.CAMUNDA_SUPPORT_LOG_ENABLED === undefined &&\n envInput.CAMUNDA_SUPPORT_LOGGER !== undefined\n ) {\n envInput.CAMUNDA_SUPPORT_LOG_ENABLED = envInput.CAMUNDA_SUPPORT_LOGGER;\n }\n\n // Alias: accept ZEEBE_REST_ADDRESS as CAMUNDA_REST_ADDRESS (if primary unset)\n if (\n envInput.CAMUNDA_REST_ADDRESS === undefined &&\n baseEnv.ZEEBE_REST_ADDRESS !== undefined &&\n baseEnv.ZEEBE_REST_ADDRESS!.trim() !== ''\n ) {\n envInput.CAMUNDA_REST_ADDRESS = baseEnv.ZEEBE_REST_ADDRESS!.trim();\n }\n\n // Implicit auth strategy inference: if OAUTH URL provided and no explicit strategy, default to OAUTH\n if (\n (envInput.CAMUNDA_AUTH_STRATEGY === undefined ||\n envInput.CAMUNDA_AUTH_STRATEGY.trim() === '') &&\n envInput.CAMUNDA_OAUTH_URL !== undefined &&\n envInput.CAMUNDA_OAUTH_URL.trim() !== '' &&\n envInput.CAMUNDA_CLIENT_ID !== undefined &&\n envInput.CAMUNDA_CLIENT_ID.trim() !== '' &&\n envInput.CAMUNDA_CLIENT_SECRET !== undefined &&\n envInput.CAMUNDA_CLIENT_SECRET.trim() !== ''\n ) {\n envInput.CAMUNDA_AUTH_STRATEGY = 'OAUTH';\n }\n\n // Run typed-env (will not throw for our parser-based validation; parseErrors collects issues)\n let envTyped: Record<string, any> = {};\n envTyped = createEnv(typedEnvSchema, { env: envInput });\n\n // Build rawMap from typed values (string representation); fill in defaults for unset keys if defined\n for (const k of allKeys()) {\n const entry = schemaEntry(k);\n const rawProvided = envInput[k];\n const val = envTyped[k];\n if (val !== undefined && val !== null) {\n rawMap[k] = typeof val === 'string' ? val : String(val);\n } else if (rawProvided !== undefined) {\n // A provided value failed to parse; parseErrors already collected.\n // Leave rawMap unset so conditional logic can still detect missing requiredWhen.\n } else if (entry.default !== undefined) {\n rawMap[k] = String(entry.default);\n }\n }\n\n // Post-default inference safeguard: if auth strategy still NONE (default applied) but OAuth URL provided\n // and user did not explicitly set a strategy, infer OAUTH. This covers cases where earlier inference\n // might be overridden by schema default application.\n if (\n !userSetStrategy &&\n rawMap.CAMUNDA_AUTH_STRATEGY === 'NONE' &&\n rawMap.CAMUNDA_OAUTH_URL &&\n rawMap.CAMUNDA_OAUTH_URL!.trim() !== '' &&\n rawMap.CAMUNDA_CLIENT_ID &&\n rawMap.CAMUNDA_CLIENT_ID!.trim() !== '' &&\n rawMap.CAMUNDA_CLIENT_SECRET &&\n rawMap.CAMUNDA_CLIENT_SECRET!.trim() !== ''\n ) {\n rawMap.CAMUNDA_AUTH_STRATEGY = 'OAUTH';\n }\n\n // Parse primitives (int, boolean, enum normalization) replicating original semantics\n const authStrategyRaw = (rawMap.CAMUNDA_AUTH_STRATEGY || 'NONE').toString();\n const authStrategy = authStrategyRaw.trim().toUpperCase();\n if (!['NONE', 'OAUTH', 'BASIC'].includes(authStrategy)) {\n errors.push({\n code: ConfigErrorCode.CONFIG_INVALID_ENUM,\n key: 'CAMUNDA_AUTH_STRATEGY',\n message: `Invalid auth strategy '${authStrategyRaw}'. Expected NONE|OAUTH|BASIC.`,\n });\n }\n\n // Collect conditional missing keys by strategy for merged error messages\n const missingByCondition: Record<string, string[]> = {};\n\n // Conditional requirement evaluation\n for (const k of allKeys()) {\n const req = requiredWhenMeta(k as EnvVarKey);\n if (req) {\n const condValue = rawMap[req.key]?.trim().toUpperCase();\n if (condValue === req.equals) {\n const origin = (baseEnv[k] ?? overrides[k] ?? '').toString().trim();\n if (origin === '') {\n const list = missingByCondition[req.equals] || (missingByCondition[req.equals] = []);\n list.push(k);\n }\n }\n }\n }\n\n // Merge parseErrors into main errors (after conditional pass to accumulate all)\n for (const pe of parseErrors) errors.push(pe);\n // Filter: eliminate any error without a key (we only care about keyed invalid values)\n for (let i = errors.length - 1; i >= 0; i--) {\n if (!errors[i].key) errors.splice(i, 1);\n }\n // Remove any spurious errors recorded without key (guard future logic)\n // Also, do not treat missing optional keys as errors: current parseErrors only include invalid provided values.\n\n // Aggregate missing condition keys into single error per condition (strategy)\n for (const cond of Object.keys(missingByCondition)) {\n const keys = Array.from(new Set(missingByCondition[cond])).sort();\n errors.push({\n code: ConfigErrorCode.CONFIG_MISSING_REQUIRED,\n message: `Missing required configuration for ${cond}: ${keys.join(', ')}`,\n details: { strategy: cond, keys },\n });\n }\n\n // TLS / mTLS validation.\n // CA-only is valid (trust a self-signed server cert without client identity).\n // Client cert and key must come as a pair.\n // A passphrase without a client key is invalid.\n const mtlsCertProvided = !!(rawMap.CAMUNDA_MTLS_CERT || rawMap.CAMUNDA_MTLS_CERT_PATH);\n const mtlsKeyProvided = !!(rawMap.CAMUNDA_MTLS_KEY || rawMap.CAMUNDA_MTLS_KEY_PATH);\n if (mtlsCertProvided !== mtlsKeyProvided) {\n errors.push({\n code: ConfigErrorCode.CONFIG_MISSING_REQUIRED,\n message:\n 'Incomplete mTLS configuration; both certificate (CAMUNDA_MTLS_CERT|_PATH) and key (CAMUNDA_MTLS_KEY|_PATH) must be provided together.',\n });\n }\n if (rawMap.CAMUNDA_MTLS_KEY_PASSPHRASE && !mtlsKeyProvided) {\n errors.push({\n code: ConfigErrorCode.CONFIG_MISSING_REQUIRED,\n message: 'CAMUNDA_MTLS_KEY_PASSPHRASE is set but no client key was provided.',\n });\n }\n\n // Parse validation config after potential errors so we gather full set\n const validationRaw = rawMap.CAMUNDA_SDK_VALIDATION || 'req:none,res:none';\n const validation = parseValidation(validationRaw, errors);\n\n // If any errors, throw aggregated (sorted by key then code for determinism)\n if (errors.length) {\n errors.sort((a, b) => (a.key || '').localeCompare(b.key || '') || a.code.localeCompare(b.code));\n throw new CamundaConfigurationError(errors);\n }\n\n // Build effective map (string values) & redacted\n for (const k of allKeys()) {\n const val = rawMap[k];\n if (val !== undefined) effective[k] = val;\n }\n // Redacted copy\n const redacted: Record<string, string> = {};\n for (const [k, v] of Object.entries(effective)) {\n if (isSecret(k as EnvVarKey) && v) redacted[k] = redactSecret(v);\n else redacted[k] = v;\n }\n\n // Normalize restAddress to ensure it ends with /v2 (idempotent)\n let _restAddress = rawMap.CAMUNDA_REST_ADDRESS!;\n if (_restAddress) {\n // Trim whitespace and trailing slashes first\n _restAddress = _restAddress.trim();\n // If it already ends with /v2 or /v2/, leave as-is; else append\n if (!/\\/v2\\/?$/i.test(_restAddress)) {\n _restAddress = `${_restAddress.replace(/\\/+$/, '')}/v2`;\n } else {\n // Canonicalize to no trailing slash (optional design choice); keep existing behavior by not altering\n }\n }\n // Apply backpressure profile defaults if individual vars not explicitly provided.\n const profile = (rawMap.CAMUNDA_SDK_BACKPRESSURE_PROFILE || 'BALANCED').toString().toUpperCase();\n interface BpPreset {\n initialMax: number;\n soft: number;\n severe: number;\n recoveryInterval: number;\n recoveryStep: number;\n quietMs: number;\n floor: number;\n severeThreshold: number;\n maxWaiters: number;\n healthyRecoveryMultiplier: number;\n unlimitedAfterHealthyMs: number;\n }\n const PRESETS: Record<string, BpPreset> = {\n BALANCED: {\n initialMax: 16,\n soft: 70,\n severe: 50,\n recoveryInterval: 1000,\n recoveryStep: 1,\n quietMs: 2000,\n floor: 1,\n severeThreshold: 3,\n maxWaiters: 1000,\n healthyRecoveryMultiplier: 150,\n unlimitedAfterHealthyMs: 30_000,\n },\n CONSERVATIVE: {\n initialMax: 12,\n soft: 60,\n severe: 40,\n recoveryInterval: 1200,\n recoveryStep: 1,\n quietMs: 2500,\n floor: 1,\n severeThreshold: 2,\n maxWaiters: 500,\n healthyRecoveryMultiplier: 130,\n unlimitedAfterHealthyMs: 60_000,\n },\n AGGRESSIVE: {\n initialMax: 24,\n soft: 80,\n severe: 60,\n recoveryInterval: 800,\n recoveryStep: 2,\n quietMs: 1500,\n floor: 2,\n severeThreshold: 4,\n maxWaiters: 2000,\n healthyRecoveryMultiplier: 200,\n unlimitedAfterHealthyMs: 15_000,\n },\n LEGACY: {\n // observe-only: we still need plausible defaults if user overrides individual knobs\n initialMax: 16,\n soft: 70,\n severe: 50,\n recoveryInterval: 1000,\n recoveryStep: 1,\n quietMs: 2000,\n floor: 1,\n severeThreshold: 3,\n maxWaiters: 1000,\n healthyRecoveryMultiplier: 150,\n unlimitedAfterHealthyMs: 30_000,\n },\n };\n const preset = PRESETS[profile] || PRESETS.BALANCED;\n // Only override when user did NOT explicitly provide a value (env or override). We rely on the\n // 'provided' map built earlier; default schema values should not block profile application.\n function ensure(k: string, val: number) {\n if (!provided[k]) rawMap[k] = String(val);\n }\n // Only fill when the specific env var is absent (explicit override wins over profile).\n ensure('CAMUNDA_SDK_BACKPRESSURE_INITIAL_MAX', preset.initialMax);\n ensure('CAMUNDA_SDK_BACKPRESSURE_SOFT_FACTOR', preset.soft);\n ensure('CAMUNDA_SDK_BACKPRESSURE_SEVERE_FACTOR', preset.severe);\n ensure('CAMUNDA_SDK_BACKPRESSURE_RECOVERY_INTERVAL_MS', preset.recoveryInterval);\n ensure('CAMUNDA_SDK_BACKPRESSURE_RECOVERY_STEP', preset.recoveryStep);\n ensure('CAMUNDA_SDK_BACKPRESSURE_DECAY_QUIET_MS', preset.quietMs);\n ensure('CAMUNDA_SDK_BACKPRESSURE_FLOOR', preset.floor);\n ensure('CAMUNDA_SDK_BACKPRESSURE_SEVERE_THRESHOLD', preset.severeThreshold);\n ensure('CAMUNDA_SDK_BACKPRESSURE_MAX_WAITERS', preset.maxWaiters);\n ensure('CAMUNDA_SDK_BACKPRESSURE_HEALTHY_RECOVERY_MULTIPLIER', preset.healthyRecoveryMultiplier);\n ensure('CAMUNDA_SDK_BACKPRESSURE_UNLIMITED_AFTER_HEALTHY_MS', preset.unlimitedAfterHealthyMs);\n const config: CamundaConfig = {\n restAddress: _restAddress,\n tokenAudience: rawMap.CAMUNDA_TOKEN_AUDIENCE!,\n defaultTenantId: rawMap.CAMUNDA_DEFAULT_TENANT_ID || '<default>',\n httpRetry: {\n maxAttempts: parseInt(rawMap.CAMUNDA_SDK_HTTP_RETRY_MAX_ATTEMPTS || '3', 10),\n baseDelayMs: parseInt(rawMap.CAMUNDA_SDK_HTTP_RETRY_BASE_DELAY_MS || '100', 10),\n maxDelayMs: parseInt(rawMap.CAMUNDA_SDK_HTTP_RETRY_MAX_DELAY_MS || '2000', 10),\n },\n backpressure: {\n enabled: profile !== 'LEGACY',\n profile,\n observeOnly: profile === 'LEGACY',\n initialMax: parseInt(rawMap.CAMUNDA_SDK_BACKPRESSURE_INITIAL_MAX || '16', 10),\n softFactor: Math.min(\n 1,\n Math.max(\n 0.01,\n (parseInt(rawMap.CAMUNDA_SDK_BACKPRESSURE_SOFT_FACTOR || '70', 10) || 70) / 100\n )\n ),\n severeFactor: Math.min(\n 1,\n Math.max(\n 0.01,\n (parseInt(rawMap.CAMUNDA_SDK_BACKPRESSURE_SEVERE_FACTOR || '50', 10) || 50) / 100\n )\n ),\n recoveryIntervalMs: parseInt(\n rawMap.CAMUNDA_SDK_BACKPRESSURE_RECOVERY_INTERVAL_MS || '1000',\n 10\n ),\n recoveryStep: parseInt(rawMap.CAMUNDA_SDK_BACKPRESSURE_RECOVERY_STEP || '1', 10),\n decayQuietMs: parseInt(rawMap.CAMUNDA_SDK_BACKPRESSURE_DECAY_QUIET_MS || '2000', 10),\n floor: parseInt(rawMap.CAMUNDA_SDK_BACKPRESSURE_FLOOR || '1', 10),\n severeThreshold: parseInt(rawMap.CAMUNDA_SDK_BACKPRESSURE_SEVERE_THRESHOLD || '3', 10),\n maxWaiters: parseInt(rawMap.CAMUNDA_SDK_BACKPRESSURE_MAX_WAITERS || '1000', 10),\n healthyRecoveryMultiplier: Math.max(\n 1,\n (parseInt(rawMap.CAMUNDA_SDK_BACKPRESSURE_HEALTHY_RECOVERY_MULTIPLIER || '150', 10) ||\n 150) / 100\n ),\n unlimitedAfterHealthyMs: parseInt(\n rawMap.CAMUNDA_SDK_BACKPRESSURE_UNLIMITED_AFTER_HEALTHY_MS || '30000',\n 10\n ),\n },\n oauth: {\n clientId: rawMap.CAMUNDA_CLIENT_ID?.trim() || undefined,\n clientSecret: rawMap.CAMUNDA_CLIENT_SECRET?.trim() || undefined,\n oauthUrl: rawMap.CAMUNDA_OAUTH_URL!,\n grantType: rawMap.CAMUNDA_OAUTH_GRANT_TYPE!,\n scope: rawMap.CAMUNDA_OAUTH_SCOPE?.trim() || undefined,\n timeoutMs: parseInt(rawMap.CAMUNDA_OAUTH_TIMEOUT_MS!, 10),\n retry: {\n max: parseInt(rawMap.CAMUNDA_OAUTH_RETRY_MAX!, 10),\n baseDelayMs: parseInt(rawMap.CAMUNDA_OAUTH_RETRY_BASE_DELAY_MS!, 10),\n },\n cacheDir: rawMap.CAMUNDA_OAUTH_CACHE_DIR?.trim() || undefined,\n },\n auth: {\n strategy: authStrategy as AuthStrategy,\n basic:\n authStrategy === 'BASIC'\n ? {\n username: rawMap.CAMUNDA_BASIC_AUTH_USERNAME?.trim(),\n password: rawMap.CAMUNDA_BASIC_AUTH_PASSWORD?.trim(),\n }\n : undefined,\n },\n validation: { req: validation.req, res: validation.res, raw: validation.raw },\n logLevel: (rawMap.CAMUNDA_SDK_LOG_LEVEL as CamundaConfig['logLevel']) || 'error',\n eventual: {\n pollDefaultMs: parseInt(rawMap.CAMUNDA_SDK_EVENTUAL_POLL_DEFAULT_MS || '500', 10),\n },\n mtls:\n rawMap.CAMUNDA_MTLS_CERT_PATH ||\n rawMap.CAMUNDA_MTLS_KEY_PATH ||\n rawMap.CAMUNDA_MTLS_CA_PATH ||\n rawMap.CAMUNDA_MTLS_CERT ||\n rawMap.CAMUNDA_MTLS_KEY ||\n rawMap.CAMUNDA_MTLS_CA ||\n rawMap.CAMUNDA_MTLS_KEY_PASSPHRASE\n ? {\n cert: rawMap.CAMUNDA_MTLS_CERT || undefined,\n key: rawMap.CAMUNDA_MTLS_KEY || undefined,\n ca: rawMap.CAMUNDA_MTLS_CA || undefined,\n keyPassphrase: rawMap.CAMUNDA_MTLS_KEY_PASSPHRASE || undefined,\n certPath: rawMap.CAMUNDA_MTLS_CERT_PATH || undefined,\n keyPath: rawMap.CAMUNDA_MTLS_KEY_PATH || undefined,\n caPath: rawMap.CAMUNDA_MTLS_CA_PATH || undefined,\n }\n : undefined,\n telemetry: {\n log: (rawMap.CAMUNDA_SDK_TELEMETRY_LOG || 'false').toString().toLowerCase() === 'true',\n correlation:\n (rawMap.CAMUNDA_SDK_TELEMETRY_CORRELATION || 'false').toString().toLowerCase() === 'true',\n },\n supportLog: {\n enabled: (rawMap.CAMUNDA_SUPPORT_LOG_ENABLED || 'false').toString().toLowerCase() === 'true',\n filePath:\n rawMap.CAMUNDA_SUPPORT_LOG_FILE_PATH ||\n (typeof process !== 'undefined' && typeof process.cwd === 'function'\n ? path.join(process.cwd(), 'camunda-support.log')\n : 'camunda-support.log'),\n },\n workerDefaults:\n rawMap.CAMUNDA_WORKER_TIMEOUT ||\n rawMap.CAMUNDA_WORKER_MAX_CONCURRENT_JOBS ||\n rawMap.CAMUNDA_WORKER_REQUEST_TIMEOUT ||\n rawMap.CAMUNDA_WORKER_NAME ||\n rawMap.CAMUNDA_WORKER_STARTUP_JITTER_MAX_SECONDS\n ? {\n jobTimeoutMs: rawMap.CAMUNDA_WORKER_TIMEOUT\n ? parseInt(rawMap.CAMUNDA_WORKER_TIMEOUT, 10)\n : undefined,\n maxParallelJobs: rawMap.CAMUNDA_WORKER_MAX_CONCURRENT_JOBS\n ? parseInt(rawMap.CAMUNDA_WORKER_MAX_CONCURRENT_JOBS, 10)\n : undefined,\n pollTimeoutMs: rawMap.CAMUNDA_WORKER_REQUEST_TIMEOUT\n ? parseInt(rawMap.CAMUNDA_WORKER_REQUEST_TIMEOUT, 10)\n : undefined,\n workerName: rawMap.CAMUNDA_WORKER_NAME || undefined,\n startupJitterMaxSeconds: rawMap.CAMUNDA_WORKER_STARTUP_JITTER_MAX_SECONDS\n ? parseInt(rawMap.CAMUNDA_WORKER_STARTUP_JITTER_MAX_SECONDS, 10)\n : undefined,\n }\n : undefined,\n __raw: { ...rawMap },\n };\n\n deepFreeze(config);\n\n const api: HydratedConfiguration = {\n config,\n warnings,\n provided: Object.keys(provided)\n .sort()\n .reduce<Record<string, string>>((acc, k) => {\n acc[k] = provided[k];\n return acc;\n }, {}),\n effective: Object.keys(effective)\n .sort()\n .reduce<Record<string, string>>((acc, k) => {\n acc[k] = effective[k];\n return acc;\n }, {}),\n redacted: Object.keys(redacted)\n .sort()\n .reduce<Record<string, string>>((acc, k) => {\n acc[k] = redacted[k];\n return acc;\n }, {}),\n toProvidedObject() {\n return { ...this.provided };\n },\n toEffectiveObject() {\n return { ...this.effective };\n },\n toRedactedObject() {\n return { ...this.redacted };\n },\n toDisplayString() {\n return Object.entries(this.redacted)\n .map(([k, v]) => `${k}=${v}`)\n .join('\\n');\n },\n };\n // Record last hydrated configuration for runtime consumers (e.g., validation gating) that\n // call convenience helpers without explicit DI. This preserves test semantics where\n // hydrateConfig({ env: { ... } }) is invoked directly without also calling a higher-level\n // apply function. (Greenfield simplification: single source of truth here.)\n try {\n (globalThis as any).__CAMUNDA_SDK_LAST_CONFIG = api;\n } catch {\n /* ignore (SSR edge) */\n }\n return api;\n}\n\n// Async variant scaffolding (supports fetch + timeout + window global). Implementation minimal until browser integration.\nexport interface HydrateAsyncOptions extends HydrateOptions {\n fetch?: () => Promise<Record<string, string | undefined>>;\n timeoutMs?: number;\n}\nexport async function hydrateConfigAsync(\n options: HydrateAsyncOptions = {}\n): Promise<HydratedConfiguration> {\n const { fetch, timeoutMs } = options;\n let fetched: Record<string, string | undefined> = {};\n if (fetch) {\n fetched = await (timeoutMs ? withTimeout(fetch(), timeoutMs) : fetch());\n } else if (typeof window !== 'undefined' && (window as any).CAMUNDA_CONFIG) {\n fetched = (window as any).CAMUNDA_CONFIG;\n }\n return hydrateConfig({\n env: { ...(options.env || {}), ...fetched },\n overrides: options.overrides,\n });\n}\n\nasync function withTimeout<T>(p: Promise<T>, ms: number): Promise<T> {\n let to: any;\n return await Promise.race([\n p.then((v) => {\n clearTimeout(to);\n return v;\n }),\n new Promise<T>((_, rej) => {\n to = setTimeout(\n () =>\n rej(\n new CamundaConfigurationError([\n {\n code: ConfigErrorCode.CONFIG_INVALID_ENUM,\n message: `Configuration fetch timed out after ${ms}ms`,\n },\n ])\n ),\n ms\n );\n }),\n ]);\n}\n\n// Export spec for TypeDoc extraction tooling\n// Export projection of schema entries for docs generation\nexport function configurationSpec() {\n return SCHEMA;\n}\n\n/**\n * Non-mutating accessor for the most recently hydrated configuration.\n * Returns the same HydratedConfiguration object that the last call to\n * hydrateConfig / hydrateConfigAsync produced, or undefined if hydration\n * has not occurred yet in this process. This function NEVER performs\n * hydration itself (no environment reads / parsing side-effects).\n */\nexport function getConfig(): HydratedConfiguration | undefined {\n try {\n return (globalThis as any).__CAMUNDA_SDK_LAST_CONFIG as HydratedConfiguration | undefined;\n } catch {\n return undefined;\n }\n}\n","// Canonical configuration schema (single source of truth)\n// Each entry describes one environment variable exposed to users.\n// Types are inferred via 'as const' and mapped to runtime & compile-time types.\n\nexport const SCHEMA = {\n CAMUNDA_REST_ADDRESS: {\n type: 'string',\n default: 'http://localhost:8080/v2',\n doc: 'Base REST endpoint address.',\n },\n CAMUNDA_SDK_HTTP_RETRY_MAX_ATTEMPTS: {\n desc: 'Maximum total HTTP attempts (including the initial attempt) for transient failures (429,503, network).',\n type: 'int',\n default: 3,\n },\n CAMUNDA_SDK_HTTP_RETRY_BASE_DELAY_MS: {\n desc: 'Base delay in milliseconds for exponential backoff (full jitter) for HTTP retries.',\n type: 'int',\n default: 100,\n },\n CAMUNDA_SDK_HTTP_RETRY_MAX_DELAY_MS: {\n desc: 'Maximum delay cap in milliseconds for HTTP retry backoff.',\n type: 'int',\n default: 2000,\n },\n CAMUNDA_TOKEN_AUDIENCE: {\n type: 'string',\n default: 'zeebe.camunda.io',\n doc: 'Token audience for OAuth flows.',\n },\n CAMUNDA_CLIENT_ID: {\n type: 'string',\n doc: 'OAuth client id (required when CAMUNDA_AUTH_STRATEGY=OAUTH).',\n requiredWhen: { key: 'CAMUNDA_AUTH_STRATEGY', equals: 'OAUTH' },\n },\n CAMUNDA_CLIENT_SECRET: {\n type: 'string',\n secret: true,\n doc: 'OAuth client secret (required when CAMUNDA_AUTH_STRATEGY=OAUTH).',\n requiredWhen: { key: 'CAMUNDA_AUTH_STRATEGY', equals: 'OAUTH' },\n },\n CAMUNDA_OAUTH_URL: {\n type: 'string',\n default: 'https://login.cloud.camunda.io/oauth/token',\n doc: 'OAuth token URL.',\n },\n CAMUNDA_OAUTH_GRANT_TYPE: {\n type: 'string',\n default: 'client_credentials',\n doc: 'OAuth grant type.',\n },\n CAMUNDA_OAUTH_SCOPE: {\n type: 'string',\n doc: 'Optional OAuth scope (space-separated).',\n },\n CAMUNDA_OAUTH_TIMEOUT_MS: {\n type: 'int',\n default: 5000,\n doc: 'Timeout in ms for OAuth token fetch.',\n },\n CAMUNDA_OAUTH_RETRY_MAX: {\n type: 'int',\n default: 5,\n doc: 'Maximum OAuth token fetch attempts (including initial).',\n },\n CAMUNDA_OAUTH_RETRY_BASE_DELAY_MS: {\n type: 'int',\n default: 1000,\n doc: 'Base delay (ms) for first retry (exponential backoff).',\n },\n CAMUNDA_OAUTH_CACHE_DIR: {\n type: 'string',\n doc: 'Directory for disk caching OAuth tokens (Node only).',\n },\n CAMUNDA_AUTH_STRATEGY: {\n type: 'enum',\n choices: ['NONE', 'OAUTH', 'BASIC'] as const,\n default: 'NONE',\n doc: 'Authentication strategy.',\n },\n CAMUNDA_BASIC_AUTH_USERNAME: {\n type: 'string',\n doc: 'Basic auth username (required when CAMUNDA_AUTH_STRATEGY=BASIC).',\n requiredWhen: { key: 'CAMUNDA_AUTH_STRATEGY', equals: 'BASIC' },\n },\n CAMUNDA_BASIC_AUTH_PASSWORD: {\n type: 'string',\n secret: true,\n doc: 'Basic auth password (required when CAMUNDA_AUTH_STRATEGY=BASIC).',\n requiredWhen: { key: 'CAMUNDA_AUTH_STRATEGY', equals: 'BASIC' },\n },\n CAMUNDA_SDK_VALIDATION: {\n type: 'string',\n default: 'req:none,res:none',\n doc: 'Validation mini-language controlling req/res modes.',\n },\n CAMUNDA_SDK_LOG_LEVEL: {\n type: 'enum',\n choices: ['silent', 'error', 'warn', 'info', 'debug', 'trace', 'silly'] as const,\n default: 'error',\n doc: 'SDK log level. \"silly\" adds unsafe deep diagnostics including HTTP request and response bodies.',\n },\n CAMUNDA_SDK_TELEMETRY_LOG: {\n type: 'boolean',\n default: false,\n doc: 'Emit telemetry (auth/http/retry) events to the SDK logger automatically (no code).',\n },\n CAMUNDA_SDK_TELEMETRY_CORRELATION: {\n type: 'boolean',\n default: false,\n doc: 'Enable correlation context (withCorrelation helper) when auto telemetry logging is on.',\n },\n CAMUNDA_MTLS_CERT_PATH: { type: 'string', doc: 'Path to client certificate (PEM) for mTLS.' },\n CAMUNDA_MTLS_KEY_PATH: { type: 'string', doc: 'Path to client private key (PEM) for mTLS.' },\n CAMUNDA_MTLS_CA_PATH: { type: 'string', doc: 'Path to CA certificate bundle (PEM) for mTLS.' },\n CAMUNDA_MTLS_KEY_PASSPHRASE: {\n type: 'string',\n secret: true,\n doc: 'Optional passphrase for encrypted private key.',\n },\n CAMUNDA_MTLS_CERT: { type: 'string', doc: 'Inline PEM client certificate.' },\n CAMUNDA_MTLS_KEY: { type: 'string', secret: true, doc: 'Inline PEM client private key.' },\n CAMUNDA_MTLS_CA: { type: 'string', doc: 'Inline PEM CA bundle.' },\n CAMUNDA_SDK_EVENTUAL_POLL_DEFAULT_MS: {\n type: 'int',\n default: 500,\n doc: 'Default poll interval (ms) for eventually consistent endpoint polling.',\n },\n CAMUNDA_DEFAULT_TENANT_ID: {\n type: 'string',\n default: '<default>',\n doc: 'Default tenant id applied to operations when an explicit tenantId is not provided (branded TenantId).',\n },\n // CAMUNDA_SDK_BACKPRESSURE_ENABLED removed in favor of profile LEGACY (observe-only) vs others (active gating)\n CAMUNDA_SDK_BACKPRESSURE_INITIAL_MAX: {\n type: 'int',\n default: 16,\n doc: 'Initial bootstrap concurrency cap once first backpressure signal occurs.',\n },\n CAMUNDA_SDK_BACKPRESSURE_SOFT_FACTOR: {\n type: 'int',\n default: 70,\n doc: 'Percentage (integer) multiplier applied to permits on soft backpressure event (e.g. 70 => 0.7x).',\n },\n CAMUNDA_SDK_BACKPRESSURE_SEVERE_FACTOR: {\n type: 'int',\n default: 50,\n doc: 'Percentage multiplier applied when escalating to severe (e.g. 50 => 0.5x).',\n },\n CAMUNDA_SDK_BACKPRESSURE_RECOVERY_INTERVAL_MS: {\n type: 'int',\n default: 1000,\n doc: 'Interval in ms between passive recovery checks while healthy hints observed.',\n },\n CAMUNDA_SDK_BACKPRESSURE_RECOVERY_STEP: {\n type: 'int',\n default: 1,\n doc: 'Permits regained per recovery interval until reaching bootstrap cap.',\n },\n CAMUNDA_SDK_BACKPRESSURE_DECAY_QUIET_MS: {\n type: 'int',\n default: 2000,\n doc: 'Quiet period (ms) without backpressure signals required to downgrade severity.',\n },\n CAMUNDA_SDK_BACKPRESSURE_FLOOR: {\n type: 'int',\n default: 1,\n doc: 'Minimum floor concurrency when degraded.',\n },\n CAMUNDA_SDK_BACKPRESSURE_SEVERE_THRESHOLD: {\n type: 'int',\n default: 3,\n doc: 'Consecutive backpressure events required to enter severe state.',\n },\n CAMUNDA_SDK_BACKPRESSURE_MAX_WAITERS: {\n type: 'int',\n default: 1000,\n doc: 'Maximum number of queued waiters before fail-fast rejection to prevent unbounded memory growth.',\n },\n CAMUNDA_SDK_BACKPRESSURE_HEALTHY_RECOVERY_MULTIPLIER: {\n type: 'int',\n default: 150,\n doc: 'Percentage (integer) multiplicative growth factor for permits during healthy recovery (e.g. 150 => 1.5x). Applied each recovery interval once severity is healthy.',\n },\n CAMUNDA_SDK_BACKPRESSURE_UNLIMITED_AFTER_HEALTHY_MS: {\n type: 'int',\n default: 30000,\n doc: 'Sustained healthy period (ms) after which permits return to unlimited (no cap).',\n },\n CAMUNDA_SDK_BACKPRESSURE_PROFILE: {\n type: 'enum',\n choices: ['BALANCED', 'CONSERVATIVE', 'AGGRESSIVE', 'LEGACY'] as const,\n default: 'BALANCED',\n doc: 'Preset profile for backpressure tuning (LEGACY = observe-only, no gating; other profiles enable adaptive global concurrency control).',\n },\n // Support logging (optional diagnostic file emission; Node-only)\n CAMUNDA_SUPPORT_LOG_ENABLED: {\n type: 'boolean',\n default: false,\n doc: 'Enable creation of a support log file with environment & configuration diagnostics (Node-only).',\n },\n CAMUNDA_SUPPORT_LOG_FILE_PATH: {\n type: 'string',\n doc: 'Override support log output file path (default: ./camunda-support.log in current working directory).',\n },\n // Backward-compatible alias (boolean) if users set CAMUNDA_SUPPORT_LOGGER=true by mistake\n CAMUNDA_SUPPORT_LOGGER: {\n type: 'boolean',\n default: false,\n doc: 'Alias for CAMUNDA_SUPPORT_LOG_ENABLED (deprecated).',\n },\n // Worker defaults (heritable to all workers created via createJobWorker/createThreadedJobWorker)\n CAMUNDA_WORKER_TIMEOUT: {\n type: 'int',\n doc: 'Default job timeout in ms for all workers. Individual JobWorkerConfig.jobTimeoutMs overrides this.',\n },\n CAMUNDA_WORKER_MAX_CONCURRENT_JOBS: {\n type: 'int',\n doc: 'Default max parallel jobs for all workers. Individual JobWorkerConfig.maxParallelJobs overrides this.',\n },\n CAMUNDA_WORKER_REQUEST_TIMEOUT: {\n type: 'signedInt',\n doc: 'Default long-poll timeout in ms for all workers. Negative values cause activation to complete immediately when no jobs are available. Individual JobWorkerConfig.pollTimeoutMs overrides this.',\n },\n CAMUNDA_WORKER_NAME: {\n type: 'string',\n doc: 'Default worker name for all workers. Individual JobWorkerConfig.workerName overrides this.',\n },\n CAMUNDA_WORKER_STARTUP_JITTER_MAX_SECONDS: {\n type: 'int',\n doc: 'Default startup jitter in seconds for all workers. Individual JobWorkerConfig.startupJitterMaxSeconds overrides this.',\n },\n} as const;\n\nexport type EnvVarKey = keyof typeof SCHEMA;\n\n// Map schema primitive to TS type\ntype PrimitiveType<T> = T extends { type: 'string' }\n ? string\n : T extends { type: 'boolean' }\n ? boolean\n : T extends { type: 'int' | 'signedInt' }\n ? number\n : T extends { type: 'enum'; choices: readonly (infer C)[] }\n ? C\n : never;\n\nexport type EnvVarValue<K extends EnvVarKey> = PrimitiveType<(typeof SCHEMA)[K]>;\n\n// Flat overrides (strongly typed values)\nexport type EnvOverrides = Partial<{ [K in EnvVarKey]: EnvVarValue<K> }>;\n\n// Secret metadata accessor\nexport function isSecret(key: EnvVarKey): boolean {\n return !!(SCHEMA as any)[key].secret;\n}\nexport function requiredWhen(key: EnvVarKey): { key: EnvVarKey; equals: string } | undefined {\n return (SCHEMA as any)[key].requiredWhen;\n}\nexport function defaultValue(key: EnvVarKey): any {\n return (SCHEMA as any)[key].default;\n}\nexport function schemaEntry(key: EnvVarKey) {\n return (SCHEMA as any)[key];\n}\nexport function allKeys(): EnvVarKey[] {\n return Object.keys(SCHEMA) as EnvVarKey[];\n}\n","// Eventual consistency polling runtime.\n// This file purposely avoids depending on generated core modules (legacy path ../gen/core/* removed)\n// and instead provides a lightweight CancelablePromise wrapper locally so it can be used\n// by codegen without circular deps.\n\nimport type { Result } from '../resultClient';\nimport { EventualConsistencyTimeoutError } from './errors';\nimport type { Logger } from './logger';\nimport { hydrateConfig } from './unifiedConfiguration';\n\nexport interface CancelablePromise<T> extends Promise<T> {\n cancel(): void;\n}\n\nfunction toCancelable<T>(\n factory: (signal: AbortSignal) => undefined | Promise<T>\n): CancelablePromise<T> {\n const ac = new AbortController();\n let rejectFn: (e: any) => void = () => {};\n const p = new Promise<T>((resolve, reject) => {\n rejectFn = reject;\n const r = factory(ac.signal);\n if (r && typeof (r as Promise<T>).then === 'function') {\n (r as Promise<T>).then(resolve, reject);\n }\n }) as CancelablePromise<T>;\n p.cancel = () => {\n ac.abort();\n rejectFn(new Error('Cancelled'));\n };\n return p;\n}\n\n/** Manages eventual consistency for a given operation */\nexport interface ConsistencyOptions<T> {\n /* How long are you willing to wait, in ms? Set to 0 to ignore eventual consistency */\n waitUpToMs: number;\n /* How often will we poll the endpoint? Default 500ms */\n pollIntervalMs?: number; // user provided (optional override)\n /* Optional predicate function to determine if the result is valid */\n predicate?: (result: T) => boolean | Promise<boolean>;\n onAttempt?: (info: {\n attempt: number;\n elapsedMs: number;\n remainingMs: number;\n status?: number;\n predicateResult?: boolean;\n nextDelayMs?: number;\n }) => void;\n onComplete?: (info: { attempts: number; elapsedMs: number }) => void;\n abortSignal?: AbortSignal;\n /** When true, log every 200 attempt result body (raw response) before predicate evaluation */\n trace?: boolean;\n}\n\n// Internal union shape (reserved for potential future use when refactoring invoke handling)\ntype PollInvokeResult<T> =\n | { kind: 'success'; value: T; status?: number }\n | { kind: 'error'; error: any; status?: number };\n\nfunction now() {\n return Date.now();\n}\n\n// errorMode: 'throw' returns CancelablePromise<T> rejecting on errors; 'result' resolves with Result<T> never throwing.\n// Overloads (Option A):\n// - Default / throw mode -> CancelablePromise<T>\n// - Result mode -> CancelablePromise<Result<T>>\nexport function eventualPoll<T>(\n operationId: string,\n isGet: boolean,\n invoke: () => CancelablePromise<T>,\n options: ConsistencyOptions<T> & { logger?: Logger; errorMode?: 'throw' | undefined }\n): CancelablePromise<T>;\nexport function eventualPoll<T>(\n operationId: string,\n isGet: boolean,\n invoke: () => CancelablePromise<T>,\n options: ConsistencyOptions<T> & { logger?: Logger; errorMode: 'result' }\n): CancelablePromise<Result<T>>;\nexport function eventualPoll<T>(\n operationId: string,\n isGet: boolean,\n invoke: () => CancelablePromise<T>,\n options: ConsistencyOptions<T> & { logger?: Logger; errorMode?: 'throw' | 'result' }\n): CancelablePromise<any> {\n const { waitUpToMs, predicate, onAttempt, onComplete, abortSignal, trace } = options;\n const elog = options.logger?.scope('eventual');\n const pollDefaultMs = hydrateConfig().config.eventual?.pollDefaultMs || 500;\n const userInterval = options.pollIntervalMs;\n const baseInterval = userInterval != null ? userInterval : pollDefaultMs;\n const pollInterval = Math.max(10, baseInterval);\n\n if (waitUpToMs === 0) {\n const base = invoke();\n if (options.errorMode === 'result') {\n return toCancelable<Result<T>>((signal) => {\n signal.addEventListener('abort', () => base.cancel?.());\n return base\n .then((v) => ({ ok: true, value: v }) as Result<T>)\n .catch((e) => ({ ok: false, error: e }) as Result<T>);\n });\n }\n return base;\n }\n\n return toCancelable<any>((outerSignal) => {\n let attempts = 0;\n const started = now();\n let cancelled = false;\n const abortImmediateStatuses = new Set([400, 401, 403, 409, 422]);\n\n const externalAbort = () => {\n cancelled = true;\n };\n if (abortSignal) {\n if (abortSignal.aborted) externalAbort();\n else abortSignal.addEventListener('abort', externalAbort);\n }\n const cleanup = () => {\n if (abortSignal) abortSignal.removeEventListener('abort', externalAbort);\n };\n\n const loop = (resolve: (v: T) => void, reject: (e: any) => void) => {\n if (cancelled || outerSignal.aborted) return reject(new Error('Cancelled'));\n attempts++;\n let settled = false;\n const settleOk = (val: T) => {\n if (settled) return;\n settled = true;\n cleanup();\n if (options.errorMode === 'result') (resolve as any)({ ok: true, value: val } as Result<T>);\n else resolve(val);\n };\n const settleErr = (err: any) => {\n if (settled) return;\n settled = true;\n cleanup();\n if (options.errorMode === 'result')\n (resolve as any)({ ok: false, error: err } as Result<T>);\n else reject(err);\n };\n const req = invoke();\n req\n .then(async (res: any) => {\n if (cancelled || outerSignal.aborted) return settleErr(new Error('Cancelled'));\n if (trace) {\n try {\n // Use debug to avoid spamming higher log levels; serialize carefully.\n const preview =\n typeof res === 'object' ? JSON.stringify(res).slice(0, 1000) : String(res);\n elog?.debug?.(() => [`op=${operationId} attempt=${attempts} trace body=${preview}`]);\n } catch {\n /* ignore serialization issues */\n }\n }\n let ok = true;\n try {\n if (predicate) ok = await predicate(res);\n else if (!isGet && res && typeof res === 'object' && Array.isArray(res.items))\n ok = res.items.length > 0;\n } catch (e) {\n return settleErr(e);\n }\n const elapsed = now() - started;\n const remaining = waitUpToMs - elapsed;\n if (ok) {\n onAttempt?.({\n attempt: attempts,\n elapsedMs: elapsed,\n remainingMs: Math.max(0, remaining),\n status: 200,\n predicateResult: ok,\n nextDelayMs: 0,\n });\n if (trace) {\n elog?.debug?.(() => [\n `op=${operationId} attempt=${attempts} status=200 predicate=true elapsed=${elapsed}ms totalAttempts=${attempts}`,\n ]);\n }\n onComplete?.({ attempts, elapsedMs: elapsed });\n return settleOk(res);\n }\n if (remaining <= 0) {\n return settleErr(\n new EventualConsistencyTimeoutError({\n attempts,\n elapsedMs: elapsed,\n lastStatus: 200,\n lastResponse: res,\n operationId,\n })\n );\n }\n const delay = Math.min(pollInterval, remaining);\n onAttempt?.({\n attempt: attempts,\n elapsedMs: elapsed,\n remainingMs: Math.max(0, remaining),\n status: 200,\n predicateResult: ok,\n nextDelayMs: delay,\n });\n elog?.debug?.(() => [\n `op=${operationId} attempt=${attempts} status=200 predicate=false nextDelay=${delay}ms remaining=${remaining}`,\n ]);\n setTimeout(() => loop(resolve, reject), delay);\n })\n .catch((err: any) => {\n if (cancelled || outerSignal.aborted) return settleErr(new Error('Cancelled'));\n const status: number | undefined = err?.status;\n const elapsed = now() - started;\n const remaining = waitUpToMs - elapsed;\n if (status === 404 && isGet && remaining > 0) {\n const delay = Math.min(pollInterval, remaining);\n onAttempt?.({\n attempt: attempts,\n elapsedMs: elapsed,\n remainingMs: Math.max(0, remaining),\n status,\n predicateResult: false,\n nextDelayMs: delay,\n });\n return setTimeout(() => loop(resolve, reject), delay);\n }\n if (status === 429 && remaining > 0) {\n let delay = pollInterval * 2;\n const ra =\n err?.headers?.['retry-after'] ||\n err?.headers?.['Retry-After'] ||\n err?.body?.retryAfter ||\n err?.body?.['Retry-After'];\n if (ra) {\n const parsed = parseInt(ra, 10);\n if (!Number.isNaN(parsed)) delay = parsed < 1000 ? parsed * 1000 : parsed;\n }\n delay = Math.min(delay, pollInterval * 5, 2000, remaining);\n const jitter = 0.9 + Math.random() * 0.2;\n delay = Math.floor(delay * jitter);\n onAttempt?.({\n attempt: attempts,\n elapsedMs: elapsed,\n remainingMs: Math.max(0, remaining),\n status,\n predicateResult: false,\n nextDelayMs: delay,\n });\n return setTimeout(() => loop(resolve, reject), delay);\n }\n if (status && (abortImmediateStatuses.has(status) || status >= 500))\n return settleErr(err);\n if (remaining <= 0)\n return settleErr(\n new EventualConsistencyTimeoutError({\n attempts,\n elapsedMs: elapsed,\n lastStatus: status,\n lastResponse: err?.body,\n operationId,\n })\n );\n return settleErr(err);\n });\n };\n\n return new Promise<T>((resolve, reject) => loop(resolve, reject));\n });\n}\n","import type { Client } from '../gen/client/types.gen';\n\n/**\n * Installs a request interceptor on the provided client that injects the Authorization\n * header using the supplied getAuthHeaders callback while auth strategy is not NONE.\n * Safe to call multiple times on fresh client instances (e.g., after reconfigure).\n */\nexport function installAuthInterceptor(\n client: Client,\n getStrategy: () => string,\n getAuthHeaders: () => Promise<Record<string, string>>\n) {\n client.interceptors.request.use(async (request) => {\n try {\n if (getStrategy() === 'NONE') return request;\n const hdrs = await getAuthHeaders();\n const auth = hdrs?.Authorization;\n if (auth && !request.headers.get('Authorization')) {\n const h = new Headers(request.headers);\n h.set('Authorization', auth);\n return new Request(request, { headers: h });\n }\n } catch {\n /* swallow to avoid breaking request flow */\n }\n return request;\n });\n}\n","// @generated by scripts/write-version-constant.ts\nexport const packageVersion = '9.0.2';\n","// CamundaSupportLogger implementation (Node) + Noop fallback for browser builds.\n// Mirrors logic from related SDK example while adapting to existing unified configuration & redaction.\n// Tree-shakable: Node-only modules imported dynamically and guarded by process/version detection.\n\nimport { packageVersion } from '../runtime/version';\nimport type { CamundaConfig } from './unifiedConfiguration';\n\nexport interface SupportLogger {\n log(message: string | number | boolean | object, addTimestamp?: boolean): void;\n}\n\nexport class NoopSupportLogger implements SupportLogger {\n log(_message: any, _addTimestamp = true): void {\n /* no-op */\n }\n}\n\n// Circular-safe JSON stringify borrowed pattern (simplified)\nfunction safeStringifyReplacer(seen: WeakSet<object>) {\n return (_: string, value: any) => {\n if (value && typeof value?.toJSON === 'function') {\n try {\n value = value.toJSON();\n } catch {\n /* ignore */\n }\n }\n if (!(value !== null && typeof value === 'object')) return value;\n if (seen.has(value)) return '[Circular]';\n seen.add(value);\n const out: any = Array.isArray(value) ? [] : {};\n for (const [k, v] of Object.entries(value)) {\n out[k] = safeStringifyReplacer(seen)(k, v);\n }\n seen.delete(value);\n return out;\n };\n}\nfunction safeStringify(obj: any, indentation = 2) {\n try {\n return JSON.stringify(obj, safeStringifyReplacer(new WeakSet()), indentation);\n } catch (e) {\n return `\"[StringifyFailed ${(e as any)?.message || 'error'}]\"`;\n }\n}\n\n// Sensitive key elision – we rely on raw env config values.\nconst SENSITIVE_KEYS = [\n 'CAMUNDA_BASIC_AUTH_PASSWORD',\n 'CAMUNDA_CLIENT_SECRET',\n 'CAMUNDA_MTLS_KEY_PASSPHRASE',\n];\nfunction obscureSensitiveInfo(raw: Record<string, string | undefined>) {\n const redacted: Record<string, string | undefined> = {};\n for (const [k, v] of Object.entries(raw)) {\n if (v && SENSITIVE_KEYS.includes(k)) {\n const prefix = v.slice(0, 4);\n const omitted = Math.max(0, v.length - 4);\n redacted[k] = `${prefix}...[${omitted} chars omitted]`;\n } else redacted[k] = v;\n }\n return redacted;\n}\n\nexport class CamundaSupportLogger implements SupportLogger {\n private enabled: boolean;\n private filepath: string;\n\n constructor(config: CamundaConfig) {\n const enabled = !!config.supportLog?.enabled;\n this.enabled = enabled;\n this.filepath =\n config.supportLog?.filePath ||\n (typeof process !== 'undefined'\n ? require('node:path').join(process.cwd(), 'camunda-support.log')\n : 'camunda-support.log');\n if (!this.enabled || !isNode()) return;\n const fs = require('node:fs') as typeof import('node:fs');\n if (fs.existsSync(this.filepath)) {\n // ensure uniqueness; append numeric suffix, with upper bound to avoid infinite loop\n let n = 1;\n const base = this.filepath;\n const MAX_SUFFIX = 1000;\n while (fs.existsSync(this.filepath) && n < MAX_SUFFIX) {\n this.filepath = `${base}-${n++}`;\n }\n if (fs.existsSync(this.filepath)) {\n throw new Error(\n `Unable to find unique support log filename after ${MAX_SUFFIX} attempts. ` +\n `Please clean up old log files or specify a different filePath in supportLog config.`\n );\n }\n }\n // Emit preamble immediately for the built-in logger (maintains existing behavior)\n writeSupportLogPreamble(this, config);\n }\n\n log(message: string | number | boolean | object, addTimestamp = true): void {\n if (!this.enabled || !isNode()) return;\n const fs = require('node:fs') as typeof import('node:fs');\n const msg = typeof message === 'object' ? safeStringify(message) : String(message);\n const line = addTimestamp ? `[${new Date().toISOString()}]: ${msg}\\n` : `${msg}\\n`;\n try {\n fs.appendFileSync(this.filepath, line);\n } catch (err) {\n // Last resort: console.error to surface inability to write\n\n console.error(`Failed to write support log to ${this.filepath}:`, err);\n }\n }\n}\n\nfunction isNode(): boolean {\n return typeof process !== 'undefined' && !!process.versions?.node;\n}\n\nexport function createSupportLogger(\n config: CamundaConfig,\n injected?: SupportLogger\n): SupportLogger {\n if (injected) return injected;\n if (!isNode()) return new NoopSupportLogger();\n if (!config.supportLog?.enabled) return new NoopSupportLogger();\n return new CamundaSupportLogger(config);\n}\n\n// Reusable preamble emission allowing custom injected loggers to receive the standard header & config dump.\n// Guarded to run only once per logger instance.\nexport function writeSupportLogPreamble(logger: SupportLogger, config: CamundaConfig) {\n const anyLogger = logger;\n if ((anyLogger as any).__preambleEmitted) return;\n (anyLogger as any).__preambleEmitted = true;\n try {\n logger.log('********************************************************', false);\n logger.log(\n 'Camunda Support Debugging log. Supply this to Camunda Technical Support to assist in troubleshooting issues',\n false\n );\n logger.log('* https://camunda.com/services/camunda-success/', false);\n logger.log('* https://github.com/camunda/orchestration-cluster-api-js/issues', false);\n logger.log(\n '**WARNING**: This log may contain sensitive secrets. Review before sharing publicly.',\n false\n );\n logger.log('********************************************************', false);\n logger.log(\n `CamundaSupportLogger active. Target path: ${config.supportLog?.filePath || 'camunda-support.log'}`\n );\n logger.log(`Camunda SDK version: ${packageVersion}`, false);\n try {\n const os = require('node:os') as typeof import('node:os');\n const osInfo = {\n platform: os.platform(),\n release: os.release(),\n type: os.type(),\n arch: os.arch(),\n version: os.version?.(),\n hostname: os.hostname(),\n totalmem: os.totalmem(),\n freemem: os.freemem(),\n cpus: os.cpus().length,\n uptime: os.uptime(),\n };\n logger.log(`/** OS Information */\\n${safeStringify(osInfo)}\\n`, false);\n } catch {\n /* ignore */\n }\n const raw = config.__raw || {};\n const obscured = obscureSensitiveInfo(raw);\n logger.log(`/** Configuration */\\n${safeStringify(obscured)}\\n`, false);\n } catch {\n /* swallow */\n }\n}\n","// Telemetry Phase 1: hook-based lightweight instrumentation\nimport type { Logger } from './logger';\nimport type { SupportLogger } from './supportLogger';\n\nexport interface TelemetryHooks {\n beforeRequest?(e: TelemetryHttpStartEvent): void;\n afterResponse?(e: TelemetryHttpEndEvent): void;\n requestError?(e: TelemetryHttpErrorEvent): void;\n authStart?(e: TelemetryAuthStartEvent): void;\n authSuccess?(e: TelemetryAuthSuccessEvent): void;\n authError?(e: TelemetryAuthErrorEvent): void;\n retry?(e: TelemetryRetryEvent): void; // generic retry/backoff (currently OAuth)\n}\n\nexport interface TelemetryOptionsInternal {\n hooks?: TelemetryHooks;\n correlation?: () => string | undefined; // provider for correlation id\n logger?: Logger; // optional, only used for trace mirroring\n mirrorToLog?: boolean; // if true, emit trace level log.code events\n supportLogger?: SupportLogger; // unconditional sink (even when main log level filters)\n}\n\ninterface BaseEvt {\n ts: number;\n correlationId?: string;\n requestId: string;\n}\nexport interface TelemetryHttpStartEvent extends BaseEvt {\n type: 'http.start';\n method: string;\n url: string;\n attempt: number;\n}\nexport interface TelemetryHttpEndEvent extends BaseEvt {\n type: 'http.end';\n method: string;\n url: string;\n attempt: number;\n status: number;\n durationMs: number;\n}\nexport interface TelemetryHttpErrorEvent extends BaseEvt {\n type: 'http.error';\n method: string;\n url: string;\n attempt: number;\n errorKind: 'network' | 'abort';\n message: string;\n durationMs: number;\n}\nexport interface TelemetryAuthStartEvent {\n type: 'auth.start';\n ts: number;\n correlationId?: string;\n audience: string;\n endpoint: string;\n cache: boolean;\n}\nexport interface TelemetryAuthSuccessEvent {\n type: 'auth.success';\n ts: number;\n correlationId?: string;\n audience: string;\n endpoint: string;\n cached: boolean;\n durationMs: number;\n expiresInSec: number;\n scopes?: string[];\n}\nexport interface TelemetryAuthErrorEvent {\n type: 'auth.error';\n ts: number;\n correlationId?: string;\n audience: string;\n endpoint: string;\n durationMs: number;\n status?: number;\n message: string;\n}\nexport interface TelemetryRetryEvent {\n type: 'retry';\n ts: number;\n correlationId?: string;\n attempt: number;\n nextDelayMs: number;\n reason: string;\n domain: 'auth';\n}\n\nexport type TelemetryHttpEvent =\n | TelemetryHttpStartEvent\n | TelemetryHttpEndEvent\n | TelemetryHttpErrorEvent;\nexport type TelemetryAuthEvent =\n | TelemetryAuthStartEvent\n | TelemetryAuthSuccessEvent\n | TelemetryAuthErrorEvent;\nexport type TelemetryRetryDomainEvent = TelemetryRetryEvent;\n\n// Shallow URL redaction: strip query parameter values\nfunction redactUrl(u: string): string {\n try {\n const url = new URL(u);\n if (url.searchParams && Array.from(url.searchParams.keys()).length) {\n const keys = Array.from(new Set(Array.from(url.searchParams.keys())));\n url.search = keys.length ? `?${keys.map((k) => k).join('&')}` : '';\n }\n return url.toString();\n } catch {\n return u;\n }\n}\n\nlet globalRequestCounter = 0;\n\n// No-op fast path wrapper\nexport function wrapFetch(\n orig: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>,\n opts: TelemetryOptionsInternal | undefined\n) {\n if (!opts || (!opts.hooks && !opts.correlation && !opts.mirrorToLog)) return orig;\n const hooks = opts.hooks;\n const logger = opts.logger?.scope('telemetry');\n const mirror = !!opts.mirrorToLog && !!logger;\n function mirrorLog(evt: TelemetryHttpEvent) {\n if (!mirror) return;\n const opName = `${evt.method} ${evt.url}`;\n if (evt.type === 'http.end') {\n logger!.trace(() => [\n `op=${opName} http.end method=${evt.method} status=${(evt as TelemetryHttpEndEvent).status} url=${evt.url} attempt=${evt.attempt} duration=${(evt as TelemetryHttpEndEvent).durationMs}ms requestId=${evt.requestId}`,\n ]);\n } else if (evt.type === 'http.error') {\n const e = evt as TelemetryHttpErrorEvent;\n logger!.trace(() => [\n `op=${opName} http.error method=${e.method} url=${e.url} attempt=${e.attempt} kind=${e.errorKind} msg=${sanitize(e.message)} duration=${e.durationMs}ms requestId=${e.requestId}`,\n ]);\n } else if (evt.type === 'http.start') {\n logger!.trace(() => [\n `op=${opName} http.start method=${evt.method} url=${evt.url} attempt=${evt.attempt} requestId=${evt.requestId}`,\n ]);\n }\n }\n function sanitize(msg: string) {\n if (!msg) return '';\n return msg.replace(/\\s+/g, ' ').slice(0, 300);\n }\n return async function wrapped(input: RequestInfo | URL, init?: RequestInit): Promise<Response> {\n const attempt = (init as any)?.__camundaAttempt || 1; // future retry integration\n let method: string = 'GET';\n if (init?.method) method = init.method;\n else if (typeof Request !== 'undefined' && input instanceof Request && input.method)\n method = input.method; // fallback\n method = method.toUpperCase();\n let origUrl: string;\n if (typeof input === 'string') origUrl = input;\n else if (typeof URL !== 'undefined' && input instanceof URL) origUrl = input.toString();\n else if (typeof Request !== 'undefined' && input instanceof Request) origUrl = input.url;\n else origUrl = (input as any)?.url || input?.toString?.() || String(input);\n const redactedUrl = redactUrl(origUrl);\n const requestId = `r${(++globalRequestCounter).toString(36)}`;\n const correlationId = opts.correlation ? opts.correlation() : undefined;\n const start = Date.now();\n // Unsafe deep diagnostics: capture body when log level 'silly'. Only handles readily serializable bodies.\n let bodyPreview: string | undefined;\n try {\n const lvl = logger?.level?.();\n if (lvl === 'silly' && (method === 'POST' || method === 'PUT' || method === 'PATCH')) {\n let body: any = init?.body;\n if (body === undefined && typeof Request !== 'undefined' && input instanceof Request) {\n try {\n body = await (input as Request).clone().text();\n } catch {\n body = undefined;\n }\n }\n if (body !== undefined && body !== null) {\n if (typeof body === 'string') bodyPreview = body;\n else if (body instanceof URLSearchParams) bodyPreview = body.toString();\n else if (typeof FormData !== 'undefined' && body instanceof FormData) {\n const entries: string[] = [];\n for (const [k, v] of (body as any).entries()) {\n entries.push(`${k}=${typeof v === 'string' ? v.slice(0, 200) : '[File]'}`);\n }\n bodyPreview = entries.join('&');\n } else if (body instanceof Blob) {\n bodyPreview = `[Blob size=${(body as Blob).size}]`;\n } else if (body instanceof ArrayBuffer) {\n bodyPreview = `[ArrayBuffer byteLength=${(body as ArrayBuffer).byteLength}]`;\n } else if (body instanceof Uint8Array) {\n bodyPreview = `[Uint8Array length=${(body as Uint8Array).length}]`;\n } else if (typeof body === 'object') {\n try {\n bodyPreview = JSON.stringify(body).slice(0, 4000);\n } catch {\n bodyPreview = '[Unstringifiable object body]';\n }\n }\n if (bodyPreview && bodyPreview.length > 4000)\n bodyPreview = `${bodyPreview.slice(0, 4000)}…`;\n }\n }\n } catch {\n /* swallow body preview errors */\n }\n const startEvt: TelemetryHttpStartEvent = {\n type: 'http.start',\n ts: start,\n method,\n url: redactedUrl,\n attempt,\n requestId,\n correlationId,\n };\n try {\n hooks?.beforeRequest?.(startEvt);\n mirrorLog(startEvt);\n if (bodyPreview && logger?.level?.() === 'silly') {\n logger!.silly(() => [\n `op=${method} ${redactedUrl} http.body requestId=${requestId} size=${bodyPreview.length} preview=${bodyPreview}`,\n ]);\n }\n } catch {\n /* swallow */\n }\n try {\n const res = await orig(input, init);\n const end = Date.now();\n const endEvt: TelemetryHttpEndEvent = {\n type: 'http.end',\n ts: end,\n method,\n url: redactedUrl,\n attempt,\n status: res.status,\n durationMs: end - start,\n requestId,\n correlationId,\n };\n try {\n hooks?.afterResponse?.(endEvt);\n mirrorLog(endEvt);\n } catch {\n /* swallow */\n }\n // Unsafe deep diagnostics: response body preview when level=silly\n try {\n if (logger?.level?.() === 'silly') {\n let respPreview: string | undefined;\n // Clone so we do not consume original body\n const cloned = res.clone();\n const ctype = cloned.headers.get('Content-Type') || '';\n let originalSize: number;\n if (/^(application\\/json|text\\/)/i.test(ctype)) {\n // Attempt text read for JSON or text\n try {\n const text = await cloned.text();\n originalSize = text.length;\n respPreview = text.slice(0, 4000);\n if (text.length > 4000) respPreview += '…';\n } catch {\n respPreview = undefined;\n }\n } else if (/multipart\\//i.test(ctype)) {\n respPreview = '[multipart body omitted]';\n } else if (/octet-stream|binary/i.test(ctype)) {\n respPreview = '[binary body omitted]';\n } else {\n // Fallback: attempt text anyway, may succeed\n try {\n const text = await cloned.text();\n if (text) {\n originalSize = text.length;\n respPreview = text.slice(0, 200); // shorter for unknown types\n if (text.length > 200) respPreview += '…';\n }\n } catch {\n /* ignore */\n }\n }\n if (respPreview) {\n logger!.silly(() => [\n `op=${method} ${redactedUrl} http.response requestId=${requestId} status=${res.status} size=${originalSize} preview=${respPreview}`,\n ]);\n }\n }\n } catch {\n /* swallow response preview errors */\n }\n // Unconditional SupportLogger emission (if provided)\n try {\n const opName = `${endEvt.method} ${endEvt.url}`;\n opts.supportLogger?.log(\n `op=${opName} http.end method=${endEvt.method} status=${endEvt.status} url=${endEvt.url} attempt=${endEvt.attempt} durationMs=${endEvt.durationMs} requestId=${endEvt.requestId}`\n );\n } catch {\n /* ignore */\n }\n return res;\n } catch (e: any) {\n const end = Date.now();\n const errEvt: TelemetryHttpErrorEvent = {\n type: 'http.error',\n ts: end,\n method,\n url: redactedUrl,\n attempt,\n errorKind: e?.name === 'AbortError' ? 'abort' : 'network',\n message: e?.message || String(e),\n durationMs: end - start,\n requestId,\n correlationId,\n };\n try {\n hooks?.requestError?.(errEvt);\n mirrorLog(errEvt);\n } catch {\n /* swallow */\n }\n try {\n const opName = `${errEvt.method} ${errEvt.url}`;\n opts.supportLogger?.log(\n `op=${opName} http.error method=${errEvt.method} url=${errEvt.url} attempt=${errEvt.attempt} kind=${errEvt.errorKind} msg=${sanitize(errEvt.message)} durationMs=${errEvt.durationMs} requestId=${errEvt.requestId}`\n );\n } catch {\n /* ignore */\n }\n throw e;\n }\n };\n}\n\n// Simple correlation provider (Phase 1) used only when user passes manual withCorrelation\ntype CorrelationStore = { current?: string };\nconst store: CorrelationStore = {};\nexport function setCorrelation(id: string | undefined) {\n store.current = id;\n}\nexport function getCorrelation() {\n return store.current;\n}\n\n// Utility exposed to client: runs function with correlation ID\nexport async function withCorrelation<T>(id: string, fn: () => Promise<T> | T): Promise<T> {\n const prev = store.current;\n store.current = id;\n try {\n return await fn();\n } finally {\n store.current = prev;\n }\n}\n","/**\n * Pure validation helper (no global or instance side-effects) used by ValidationManager.\n * Centralizes request/response schema validation so future callers (e.g. streaming, batch)\n * can reuse consistent semantics without depending on ValidationManager internals.\n */\nimport { ZodError, type ZodTypeAny } from 'zod';\nimport { CamundaValidationError } from './errors';\nimport { formatValidationError, logFormattedValidation } from './formatValidation';\nimport type { Logger } from './logger';\nimport type { ValidationMode } from './validationManager';\n\nexport interface ApplySchemaValidationOptions<T = any> {\n side: 'request' | 'response';\n operationId: string; // for diagnostics\n mode: ValidationMode;\n schema?: ZodTypeAny;\n value: T;\n logger?: Logger;\n}\n\n/**\n * Applies schema validation according to the provided mode.\n * - none: returns original value\n * - warn: on success returns original value, on failure logs warning and returns original value\n * - strict: returns parsed value or throws CamundaValidationError\n */\nexport async function applySchemaValidation<T = any>(\n opts: ApplySchemaValidationOptions<T>\n): Promise<T> {\n const { side, operationId, mode, schema, value, logger } = opts;\n if (mode === 'none' || !schema) return value;\n try {\n const parsed = (schema.parseAsync ? await schema.parseAsync(value) : schema.parse(value)) as T;\n return mode === 'warn' ? value : parsed;\n } catch (err: any) {\n if (err instanceof ZodError) {\n const formatted = formatValidationError({ side, operationId, schema, value, error: err });\n if (mode === 'warn') {\n if (logger) logFormattedValidation('warn', formatted, logger);\n return value;\n }\n if (logger) logFormattedValidation('throw', formatted, logger); // will throw\n throw new CamundaValidationError({\n side,\n operationId,\n message: formatted.message,\n summary: formatted.summary,\n issues: formatted.issues,\n });\n }\n throw err;\n }\n}\n","import {\n type ZodError,\n type ZodIssue,\n ZodObject,\n type ZodRawShape,\n type ZodTypeAny,\n type ZodUnion,\n} from 'zod';\nimport type { Logger } from './logger';\n\nexport interface FormattedValidation {\n message: string;\n summary: string;\n issues: string[]; // trimmed issue lines\n}\n\n// All validation output is now verbose: full issue listing (no truncation heuristic)\nfunction identity<T>(v: T): T {\n return v;\n}\n\nfunction describeObjectShape(obj: ZodObject<ZodRawShape>): {\n required: string[];\n optional: string[];\n} {\n const shapeObj = obj.shape;\n const required: string[] = [];\n const optional: string[] = [];\n for (const k of Object.keys(shapeObj)) {\n const { optional: isOpt } = unwrapAndDetectOptional(shapeObj[k]);\n (isOpt ? optional : required).push(k);\n }\n return { required: required.sort(), optional: optional.sort() };\n}\n\nfunction unwrapAndDetectOptional(s: any): { schema: any; optional: boolean } {\n let cur = s;\n let optional = false;\n const seen = new Set<any>();\n while (cur && !seen.has(cur)) {\n seen.add(cur);\n const t = cur?._def?.typeName;\n if (t === 'ZodOptional') {\n optional = true;\n cur = cur._def.innerType;\n continue;\n }\n if (t === 'ZodDefault') {\n // default(value) implies required from caller perspective, but treat as optional keys absent? Keep as optional for discrimination heuristics.\n optional = true;\n cur = cur._def.innerType;\n continue;\n }\n if (t === 'ZodNullable') {\n cur = cur._def.innerType;\n continue;\n }\n if (t === 'ZodBranded') {\n cur = cur._def.type;\n continue;\n }\n if (t === 'ZodEffects') {\n cur = cur._def.schema;\n continue;\n }\n if (t === 'ZodLazy') {\n try {\n cur = cur._def.getter();\n continue;\n } catch {\n break;\n }\n }\n if (t === 'ZodIntersection') {\n // choose left for structural keys (both merged elsewhere earlier)\n cur = cur._def.left;\n continue;\n }\n break;\n }\n return { schema: cur, optional };\n}\n\ninterface FormattedUnion {\n lines: string[];\n variantCount: number;\n}\nfunction unwrapForInspection(s: any): any {\n let cur = s;\n const seen = new Set<any>();\n while (cur && !seen.has(cur)) {\n seen.add(cur);\n const t = cur?._def?.typeName;\n if (t === 'ZodLazy') {\n try {\n cur = cur._def.getter();\n continue;\n } catch {\n break;\n }\n }\n if (t === 'ZodEffects') {\n cur = cur._def.schema || cur;\n continue;\n }\n if (t === 'ZodBranded') {\n cur = cur._def.type || cur;\n continue;\n }\n if (t === 'ZodIntersection') {\n // unwrap intersections; merge object shapes when both sides objects\n const left = cur._def.left;\n const right = cur._def.right;\n if (left?._def?.typeName === 'ZodObject' && right?._def?.typeName === 'ZodObject') {\n try {\n const leftShapeFn = left._def.shape;\n const rightShapeFn = right._def.shape;\n const merged = { ...leftShapeFn(), ...rightShapeFn() };\n // create synthetic object for inspection only\n return (ZodObject as any).create(merged);\n } catch {\n /* ignore */\n }\n }\n cur = left;\n continue;\n }\n break;\n }\n return cur;\n}\nfunction formatUnion(schema: any): FormattedUnion | undefined {\n if (!(schema?._def?.typeName === 'ZodUnion')) return undefined;\n const u: ZodUnion<any> = schema;\n const variants: ZodTypeAny[] = (u as any)._def.options as any[];\n const requiredSets: string[][] = [];\n const variantLines = variants.map((v, i) => {\n const resolved = unwrapForInspection(v);\n const label = v.description || resolved.description || `Variant ${i + 1}`;\n if (resolved?._def?.typeName === 'ZodObject') {\n const { required, optional } = describeObjectShape(resolved as any);\n requiredSets.push(required.slice());\n let line = `${label}: required { ${required.join(', ') || '(none)'} } optional { ${optional.slice(0, 6).join(', ')}${optional.length > 6 ? '…' : ''} }`;\n const example: Record<string, any> = {};\n required.forEach((k) => (example[k] = '<value>'));\n line += ` example ${JSON.stringify(example)}`;\n return line;\n }\n requiredSets.push([]);\n return `${label}: ${resolved?._def?.typeName || 'unknown'} schema`;\n });\n const lines: string[] = [];\n if (variants.length > 1) {\n const signatures = requiredSets.map((s) => (s.length ? s.join('+') : '(none)')).join(' | ');\n lines.push(`Exactly one of the variant required-key sets must match: ${signatures}`);\n }\n lines.push(...variantLines);\n return { lines, variantCount: variants.length };\n}\n\nexport function formatValidationError(params: {\n side: 'request' | 'response';\n operationId?: string;\n schemaName?: string;\n schema?: ZodTypeAny;\n value?: any;\n error: ZodError;\n}): FormattedValidation {\n const { side, operationId, schemaName, schema, value, error } = params;\n const prefix = `Invalid ${operationId ? `${operationId} ` : ''}${side}`.trim();\n const providedKeys =\n value && typeof value === 'object' && !Array.isArray(value) ? Object.keys(value) : [];\n let union: FormattedUnion | undefined;\n // detect union top-level\n const firstIssue = error.issues[0];\n if (firstIssue?.code === 'invalid_union') {\n union = formatUnion(schema);\n }\n const allIssueLines = error.issues.map(formatIssue);\n const issueLines = identity(allIssueLines);\n const summaryParts = [\n union ? `${union.variantCount} variant(s) defined; none matched.` : undefined,\n providedKeys.length ? `provided keys: { ${providedKeys.join(', ')} }` : undefined,\n ].filter(Boolean);\n const summary = summaryParts.join(' ');\n const message = `${prefix}${schemaName ? ` (${schemaName})` : ''}: ${union ? 'no union variant matched' : 'validation failed'}`;\n const issues = [...(union?.lines || []), ...issueLines];\n return { message, summary, issues };\n}\n\nfunction formatIssue(issue: ZodIssue): string {\n const i: any = issue; // relax typing (Zod internal issue codes may expand across versions)\n const p = i.path?.length ? i.path.join('.') : '(root)';\n switch (i.code) {\n case 'invalid_type':\n return `${p}: expected ${i.expected} got ${i.received}`;\n case 'invalid_literal':\n return `${p}: expected literal ${JSON.stringify(i.expected)}`;\n case 'invalid_union':\n return `${p}: union mismatch`;\n case 'too_small':\n case 'too_big':\n return `${p}: ${i.message}`;\n case 'unrecognized_keys':\n return `${p}: unrecognized keys ${i.keys.join(', ')}`;\n case 'invalid_enum_value':\n return `${p}: expected one of ${i.options.join(', ')}`;\n default:\n return `${p}: ${i.message}`;\n }\n}\n\nexport function logFormattedValidation(\n kind: 'warn' | 'throw',\n formatted: FormattedValidation,\n logger: Logger\n) {\n const vLogger = logger.scope('validation');\n if (kind === 'warn') {\n vLogger.warn(\n () =>\n `${formatted.message}\\n ${formatted.summary}\\n Issues:\\n - ${formatted.issues.join('\\n - ')}`\n );\n return;\n }\n vLogger.error(() => `${formatted.message}\\n ${formatted.summary}`);\n const err = new Error(formatted.message);\n (err as any).issues = formatted.issues;\n throw err;\n}\n","import { ZodObject, type ZodTypeAny } from 'zod';\nimport { CamundaValidationError } from './errors';\nimport type { Logger } from './logger';\n\nexport type ExtrasPolicy = 'ignore' | 'warn' | 'error';\n\ninterface DetectOptions {\n operationId: string;\n value: any;\n schema?: ZodTypeAny;\n settings: { policy: ExtrasPolicy; deep: boolean; captureDir?: string };\n logger?: Logger;\n fanatical: boolean; // original mode was fanatical\n}\n\nconst seenCaptures = new Set<string>();\n\nfunction hash(str: string) {\n let h = 0,\n i = 0;\n const len = str.length;\n while (i < len) h = (Math.imul(31, h) + str.charCodeAt(i++)) | 0;\n return (h >>> 0).toString(16);\n}\n\nexport function detectExtrasAndMaybeThrow(opts: DetectOptions) {\n const { value, schema, settings, fanatical, operationId, logger } = opts;\n if (!value || typeof value !== 'object') return; // only objects\n if (!schema || !(schema instanceof ZodObject)) return; // root must be object for meaningful diff\n const extras: Record<string, string[]> = {};\n\n const visit = (val: any, sch: ZodTypeAny | undefined, path: string) => {\n if (!val || typeof val !== 'object') return;\n if (sch instanceof ZodObject) {\n const shape = (sch as ZodObject<any>).shape;\n const expected = new Set(Object.keys(shape));\n const keys = Object.keys(val);\n const unknown = keys.filter((k) => !expected.has(k));\n if (unknown.length) {\n extras[path || '/'] = unknown;\n }\n if (settings.deep) {\n for (const k of keys) {\n if (expected.has(k)) {\n visit(val[k], shape[k], path ? `${path}.${k}` : k);\n }\n }\n }\n }\n };\n\n visit(value, schema, '');\n\n const entries = Object.entries(extras);\n if (!entries.length) return;\n\n const flatIssues: string[] = [];\n for (const [p, keys] of entries) {\n flatIssues.push(`${p || '/'}: ${keys.join(', ')}`);\n }\n const summary = `Unknown properties in response: ${flatIssues.join('; ')}`;\n\n if (settings.policy === 'warn' || (fanatical && settings.policy !== 'error')) {\n logger?.warn('validation.extra', summary);\n }\n\n // Capture sample (root only) if capture dir configured (always for fanatical by design)\n if (settings.captureDir) {\n try {\n const fs = require('node:fs');\n\n const pathMod = require('node:path');\n if (!fs.existsSync(settings.captureDir))\n fs.mkdirSync(settings.captureDir, { recursive: true, mode: 0o700 });\n const sig = `${operationId}|${flatIssues.sort().join('|')}`;\n const h = hash(sig);\n if (!seenCaptures.has(h)) {\n seenCaptures.add(h);\n const file = pathMod.join(settings.captureDir, `${operationId}-${Date.now()}-${h}.json`);\n const payload = {\n operationId,\n extras: extras,\n timestamp: new Date().toISOString(),\n sample: value,\n };\n fs.writeFileSync(file, JSON.stringify(payload, null, 2), { mode: 0o600 });\n logger?.debug?.('validation.capture', file);\n }\n } catch {\n /* ignore capture errors */\n }\n }\n\n if (fanatical || settings.policy === 'error') {\n throw new CamundaValidationError({\n side: 'response',\n operationId,\n message: summary,\n summary,\n issues: flatIssues,\n });\n }\n}\n","import type { ZodTypeAny } from 'zod';\nimport type { Logger } from './logger';\nimport { applySchemaValidation } from './validationCore';\nimport { detectExtrasAndMaybeThrow } from './validationExtras';\n\nexport type ValidationMode = 'strict' | 'warn' | 'none' | 'fanatical';\n\nexport interface ValidationSettings {\n req: ValidationMode;\n res: ValidationMode;\n}\n\nexport class ValidationManager {\n private _settings: ValidationSettings;\n constructor(\n settings: ValidationSettings,\n private _logger?: Logger\n ) {\n this._settings = { ...settings };\n }\n update(settings: ValidationSettings) {\n this._settings = { ...settings };\n }\n attachLogger(logger: Logger) {\n this._logger = logger;\n }\n get settings() {\n return this._settings;\n }\n requestMode() {\n return this._settings.req;\n }\n responseMode() {\n return this._settings.res;\n }\n\n async gateRequest(opId: string, schema: ZodTypeAny | undefined, data: any) {\n return this._gate('request', opId, this._settings.req, schema, data);\n }\n async gateResponse(opId: string, schema: ZodTypeAny | undefined, data: any) {\n return this._gate('response', opId, this._settings.res, schema, data);\n }\n\n private async _gate(\n side: 'request' | 'response',\n opId: string,\n mode: ValidationMode,\n schema: ZodTypeAny | undefined,\n value: any\n ) {\n // fanatical piggybacks on strict for core parse semantics\n const effectiveMode = mode === 'fanatical' ? 'strict' : mode;\n const validated = await applySchemaValidation({\n side,\n operationId: opId,\n mode: effectiveMode,\n schema,\n value,\n logger: this._logger,\n });\n if (side === 'response' && mode === 'fanatical') {\n // Fanatical = strict + mandatory extras detection (error + capture)\n this._logger?.debug?.('validation.fanatical.extras', { operationId: opId });\n detectExtrasAndMaybeThrow({\n operationId: opId,\n value,\n schema,\n settings: {\n // Hard-coded fanatical semantics\n policy: 'error',\n deep: true,\n captureDir:\n (typeof process !== 'undefined' && process?.env?.CAMUNDA_SDK_VALIDATION_CAPTURE_DIR) ||\n '.camunda-sdk-captures',\n },\n logger: this._logger,\n fanatical: true,\n });\n }\n return validated;\n }\n}\n","// Generic HTTP retry abstraction.\n// Allows pluggable strategy via CamundaClient.configure in future.\nimport type { Logger } from './logger';\n\nexport interface RetryContext {\n attempt: number; // 1-based\n maxAttempts: number;\n lastError?: any;\n}\n\nexport type RetryStrategy = <T>(\n op: () => Promise<T>,\n classify?: (err: any) => RetryClassification\n) => Promise<T>;\n\nexport type RetryClassification =\n | { retryable: true; reason: string }\n | { retryable: false; reason: string };\n\nexport interface HttpRetryPolicy {\n maxAttempts: number; // total attempts including first\n baseDelayMs: number; // initial backoff\n maxDelayMs: number; // cap\n}\n\n/** Per-call options for individual SDK method invocations. */\nexport interface OperationOptions {\n /** Override retry behaviour for this call.\n * - Pass `false` to disable retry entirely (single attempt).\n * - Pass a partial policy to override specific fields (merged with global config).\n */\n retry?: Partial<HttpRetryPolicy> | false;\n}\n\nexport interface CreateRetryOptions {\n policy: HttpRetryPolicy;\n logger?: Logger;\n onAttempt?(info: { attempt: number; nextDelayMs: number; reason: string }): void;\n random?: () => number; // for test determinism\n}\n\nasync function sleep(ms: number) {\n return new Promise((r) => setTimeout(r, ms));\n}\n\nexport function createRetryExecutor(opts: CreateRetryOptions): RetryStrategy {\n const rand = opts.random || Math.random;\n return async function execute<T>(\n op: () => Promise<T>,\n classify?: (err: any) => RetryClassification\n ): Promise<T> {\n const { maxAttempts, baseDelayMs, maxDelayMs } = opts.policy;\n let attempt = 0;\n let lastErr: any;\n while (attempt < maxAttempts) {\n attempt++;\n try {\n return await op();\n } catch (e: any) {\n lastErr = e;\n if (attempt >= maxAttempts) break;\n const decision = classify ? classify(e) : defaultHttpClassifier(e);\n if (!decision.retryable) break;\n // exponential backoff with full jitter\n const exp = baseDelayMs * 2 ** (attempt - 1);\n const cap = Math.min(exp, maxDelayMs);\n const delay = Math.floor(rand() * cap);\n try {\n opts.onAttempt?.({ attempt, nextDelayMs: delay, reason: decision.reason });\n opts.logger?.trace(() => [\n 'http.retry.scheduled',\n { attempt: attempt + 1, max: maxAttempts, delayMs: delay, reason: decision.reason },\n ]);\n } catch {\n /* swallow logging errors */\n }\n await sleep(delay);\n }\n }\n throw lastErr;\n };\n}\n\n// Default classifier: network errors, fetch AbortError? (not retry), and HTTP 429/503.\nexport function defaultHttpClassifier(err: any): RetryClassification {\n // Fetch network error heuristic: TypeError with failed to fetch / network error messages\n if (err) {\n // Some generated method wrappers may pessimistically mark errors nonRetryable before\n // we have a chance to refine classification. We still want to treat broker backpressure\n // signals (RESOURCE_EXHAUSTED) as retryable even if flagged nonRetryable upstream.\n if (err.nonRetryable) {\n const status = err.status || err.response?.status;\n const title = err.title || err.response?.data?.title;\n const detail = err.detail || err.response?.data?.detail;\n if (\n status === 500 &&\n ((typeof title === 'string' && /RESOURCE_EXHAUSTED/.test(title)) ||\n (typeof detail === 'string' && /RESOURCE_EXHAUSTED/.test(detail)))\n ) {\n return { retryable: true, reason: 'backpressure-500-title' };\n }\n return { retryable: false, reason: 'explicit-non-retryable' };\n }\n const msg = (err.message || '').toLowerCase();\n if (err.name === 'TypeError' && (msg.includes('fetch') || msg.includes('network'))) {\n return { retryable: true, reason: 'network-error' };\n }\n const status = err.status || err.response?.status;\n if (status === 429) return { retryable: true, reason: 'http-429' }; // always retry 429\n const title = err.title || err.response?.data?.title;\n const detail = err.detail || err.response?.data?.detail;\n if (status === 503) {\n if (title === 'RESOURCE_EXHAUSTED') return { retryable: true, reason: 'backpressure-503' };\n return { retryable: false, reason: 'http-503-non-backpressure' };\n }\n if (status === 500) {\n if (\n (typeof detail === 'string' && /RESOURCE_EXHAUSTED/.test(detail)) ||\n (typeof title === 'string' && /RESOURCE_EXHAUSTED/.test(title))\n ) {\n return { retryable: true, reason: 'backpressure-500-detail' };\n }\n return { retryable: false, reason: 'http-500' };\n }\n }\n return { retryable: false, reason: 'non-retryable' };\n}\n\nexport async function executeWithHttpRetry<T>(\n fn: () => Promise<T>,\n policy: HttpRetryPolicy,\n logger?: Logger,\n classify: (err: any) => RetryClassification = defaultHttpClassifier,\n onAttempt?: (info: { attempt: number; nextDelayMs: number; reason: string }) => void\n): Promise<T> {\n // Use internal executor directly for deterministic single-attempt behavior on non-retryable errors.\n const exec = createRetryExecutor({ policy, logger, onAttempt });\n return exec(fn, classify);\n}\n","// Adaptive semaphore-based global backpressure controller.\n// Escalates on broker backpressure signals, throttles initiating operations.\n// Exempt operations (e.g., job completion/failure) bypass acquire.\n\nimport type { Logger } from './logger';\n\nexport interface BackpressureConfig {\n enabled?: boolean;\n observeOnly?: boolean; // LEGACY profile: record severity, never gate\n initialMaxConcurrency?: number | null; // null => unlimited until first backpressure\n floorConcurrency?: number; // minimum when degraded\n reduceFactor?: number; // factor applied on each backpressure event (soft)\n severeReduceFactor?: number; // factor when entering severe state\n recoveryIntervalMs?: number; // interval between passive recover steps\n recoveryStep?: number; // permits regained per interval\n severeThreshold?: number; // consecutive events to count as severe\n decayQuietMs?: number; // time with no events before reducing severity\n maxWaiters?: number; // max queued waiters before fail-fast rejection (default 1000)\n healthyRecoveryMultiplier?: number; // multiplicative increase factor when healthy (default 1.5)\n unlimitedAfterHealthyMs?: number; // return to unlimited after this many ms of healthy (default 30000)\n backoffInitialMs?: number; // initial backoff delay at floor (default 25)\n backoffMaxMs?: number; // maximum backoff delay (default 2000)\n backoffEscalate?: number; // backoff multiplier on each 429 at floor (default 2.0)\n}\n\nexport type BackpressureSeverity = 'healthy' | 'soft' | 'severe';\n\nexport interface BackpressureManagerOptions {\n logger?: Logger;\n config?: BackpressureConfig;\n now?: () => number;\n sleep?: (ms: number) => Promise<void>; // injectable for testing\n}\n\ninterface Waiter {\n resolve: () => void;\n reject: (e: any) => void;\n signal?: AbortSignal;\n}\n\nexport class BackpressureManager {\n private logger?: Logger;\n private now: () => number;\n private sleep: (ms: number) => Promise<void>;\n private cfg: Required<BackpressureConfig>;\n private severity: BackpressureSeverity = 'healthy';\n private consecutive = 0;\n private lastEventAt = 0;\n private permitsCurrent = 0;\n private permitsMax: number | null; // null => unlimited\n private waiters: Waiter[] = [];\n private lastRecoverCheck = 0;\n private observeOnly = false;\n private healthySince = 0; // timestamp when severity last became healthy\n private backoffMs = 0; // current backoff delay in ms (0 = no backoff)\n\n constructor(opts: BackpressureManagerOptions = {}) {\n this.logger = opts.logger;\n this.now = opts.now || (() => Date.now());\n this.sleep = opts.sleep || ((ms) => new Promise<void>((r) => setTimeout(r, ms)));\n this.cfg = {\n enabled: true,\n initialMaxConcurrency: null,\n floorConcurrency: 1,\n reduceFactor: 0.7,\n severeReduceFactor: 0.5,\n recoveryIntervalMs: 1000,\n recoveryStep: 1,\n severeThreshold: 3,\n decayQuietMs: 2000,\n maxWaiters: 1000,\n healthyRecoveryMultiplier: 1.5,\n unlimitedAfterHealthyMs: 30_000,\n backoffInitialMs: 25,\n backoffMaxMs: 2000,\n backoffEscalate: 2.0,\n ...opts.config,\n } as Required<BackpressureConfig>;\n this.observeOnly = !!this.cfg.observeOnly;\n this.permitsMax =\n this.cfg.enabled === false || this.observeOnly ? null : this.cfg.initialMaxConcurrency; // often null\n }\n\n isEnabled() {\n return this.cfg.enabled !== false && !this.observeOnly;\n }\n\n getState() {\n return {\n severity: this.severity,\n consecutive: this.consecutive,\n // When disabled, report unlimited semantics explicitly\n permitsMax: this.cfg.enabled === false ? null : this.permitsMax,\n permitsCurrent: this.cfg.enabled === false ? 0 : this.permitsCurrent,\n waiters: this.waiters.length,\n backoffMs: this.backoffMs,\n };\n }\n\n private log(evt: string, data: any, prevSeverity?: BackpressureSeverity) {\n // Always emit trace-level detailed event.\n this.logger?.trace?.(() => [`backpressure.${evt}`, data]);\n if (evt === 'severity') {\n const curr = data.severity as BackpressureSeverity;\n // Unhealthy boundary crossings at info: entering unhealthy (healthy->soft/severe)\n // and recovery (soft/severe->healthy). All other severity shifts at debug.\n const enteringUnhealthy = prevSeverity === 'healthy' && curr !== 'healthy';\n const recoveringHealthy = prevSeverity !== 'healthy' && curr === 'healthy';\n const level: 'info' | 'debug' = enteringUnhealthy || recoveringHealthy ? 'info' : 'debug';\n this.logger?.[level]?.(() => [\n 'bp.state.change',\n { event: evt, from: prevSeverity, to: curr },\n ]);\n } else if (evt.startsWith('permits.')) {\n // Permits changes are noisy; emit at debug rather than info.\n this.logger?.debug?.(() => ['bp.state.change', { event: evt, ...data }]);\n }\n }\n\n async acquire(signal?: AbortSignal) {\n if (this.observeOnly) return; // never gate in observe-only mode\n if (!this.isEnabled()) return;\n if (this.permitsMax === null) return; // unlimited fast path\n // Backoff-at-floor: delay before acquiring to rate-limit at floor\n if (this.backoffMs > 0) {\n await this.sleep(this.backoffMs);\n // Re-check after sleep — may have gone unlimited\n if (this.permitsMax === null) return;\n }\n // Attempt immediate acquire\n if (this.permitsCurrent < (this.permitsMax || 0)) {\n this.permitsCurrent++;\n return;\n }\n // Fail-fast if waiter queue is at capacity\n if (this.waiters.length >= this.cfg.maxWaiters) {\n const err: any = new Error(\n `Backpressure waiter queue full (${this.cfg.maxWaiters}). Rejecting to prevent unbounded memory growth.`\n );\n err.code = 'BACKPRESSURE_QUEUE_FULL';\n throw err;\n }\n // Queue\n return new Promise<void>((resolve, reject) => {\n const waiter: Waiter = { resolve: () => resolve(), reject, signal };\n if (signal) {\n if (signal.aborted) {\n reject(signal.reason || new Error('aborted'));\n return;\n }\n const onAbort = () => {\n this.waiters = this.waiters.filter((w) => w !== waiter);\n reject(signal.reason || new Error('aborted'));\n };\n signal.addEventListener('abort', onAbort, { once: true });\n }\n this.waiters.push(waiter);\n });\n }\n\n release() {\n if (!this.isEnabled()) return; // disabled or observeOnly (we don't track permits in observeOnly)\n if (this.permitsMax === null) return;\n if (this.permitsCurrent > 0) this.permitsCurrent--;\n // Drain a waiter if capacity\n while (this.waiters.length && this.permitsCurrent < (this.permitsMax || 0)) {\n const next = this.waiters.shift();\n if (!next) break;\n this.permitsCurrent++;\n try {\n next.resolve();\n } catch {\n /* ignore waiter resolve errors */\n }\n }\n }\n\n recordBackpressure() {\n if (!this.cfg.enabled && !this.observeOnly) return;\n const now = this.now();\n this.lastEventAt = now;\n this.consecutive++;\n this.healthySince = 0; // reset sustained-healthy timer on any backpressure event\n if (!this.observeOnly) {\n if (this.permitsMax === null) {\n this.permitsMax = 16;\n this.permitsCurrent = Math.min(this.permitsCurrent, this.permitsMax);\n }\n }\n const prevSeverity = this.severity;\n if (this.consecutive >= this.cfg.severeThreshold) {\n this.severity = 'severe';\n if (!this.observeOnly) this.scalePermits(this.cfg.severeReduceFactor);\n } else if (this.severity === 'healthy') {\n this.severity = 'soft';\n if (!this.observeOnly) this.scalePermits(this.cfg.reduceFactor);\n } else if (this.severity === 'soft') {\n if (!this.observeOnly) this.scalePermits(this.cfg.reduceFactor);\n }\n // Escalate backoff when stuck at floor + severe\n if (\n !this.observeOnly &&\n this.permitsMax !== null &&\n this.permitsMax <= this.cfg.floorConcurrency &&\n this.severity === 'severe'\n ) {\n if (this.backoffMs === 0) {\n this.backoffMs = this.cfg.backoffInitialMs;\n } else {\n this.backoffMs = Math.min(this.cfg.backoffMaxMs, this.backoffMs * this.cfg.backoffEscalate);\n }\n this.log('backoff.escalate', { delayMs: this.backoffMs });\n }\n if (this.severity !== prevSeverity)\n this.log('severity', { severity: this.severity }, prevSeverity);\n }\n\n recordHealthyHint() {\n // Called after a successful call with no backpressure classification\n if (!this.cfg.enabled && !this.observeOnly) return;\n // Reset backoff immediately on success — server has capacity\n if (this.backoffMs > 0) {\n this.backoffMs = 0;\n this.log('backoff.clear', { reason: 'healthy-hint' });\n }\n const now = this.now();\n // Passive recovery check piggy-backed\n this.maybeRecover(now);\n }\n\n private scalePermits(factor: number) {\n if (this.permitsMax === null) return;\n const next = Math.max(this.cfg.floorConcurrency, Math.ceil(this.permitsMax * factor));\n if (next < this.permitsMax) {\n this.permitsMax = next;\n this.log('permits.scale', { max: this.permitsMax });\n }\n }\n\n private maybeRecover(now = this.now()) {\n if (this.permitsMax === null || this.observeOnly) return; // unlimited or observe-only\n if (now - this.lastRecoverCheck < this.cfg.recoveryIntervalMs) return;\n this.lastRecoverCheck = now;\n // Decay severity if quiet\n if (now - this.lastEventAt > this.cfg.decayQuietMs) {\n const prev = this.severity;\n if (this.severity === 'severe') this.severity = 'soft';\n else if (this.severity === 'soft') {\n this.severity = 'healthy';\n this.healthySince = now;\n }\n if (this.severity === 'healthy') this.consecutive = 0;\n if (prev !== this.severity) {\n // Clear backoff when severity improves\n if (this.backoffMs > 0) {\n this.backoffMs = 0;\n this.log('backoff.clear', { reason: 'severity-decay' });\n }\n this.log('severity', { severity: this.severity }, prev);\n }\n }\n // Recovery: grow permits back toward and beyond the bootstrap cap.\n // Phase 1 (soft/recovering): additive increase (+recoveryStep) up to bootstrap cap.\n // Phase 2 (healthy): multiplicative increase (×healthyRecoveryMultiplier) beyond bootstrap cap.\n // Phase 3 (sustained healthy): return to unlimited after unlimitedAfterHealthyMs.\n if (this.permitsMax !== null) {\n const bootstrapCap = this.cfg.initialMaxConcurrency ?? 16;\n if (this.severity !== 'healthy') {\n // Phase 1: additive recovery while not yet healthy\n if (this.permitsMax < bootstrapCap) {\n this.permitsMax = Math.min(bootstrapCap, this.permitsMax + this.cfg.recoveryStep);\n // Clear backoff when leaving floor\n if (this.permitsMax > this.cfg.floorConcurrency && this.backoffMs > 0) {\n this.backoffMs = 0;\n this.log('backoff.clear', { reason: 'left-floor' });\n }\n this.log('permits.recover', { max: this.permitsMax, phase: 'additive' }, this.severity);\n this.release();\n }\n } else {\n // Phase 3: sustained healthy → return to unlimited\n if (this.healthySince > 0 && now - this.healthySince >= this.cfg.unlimitedAfterHealthyMs) {\n this.permitsMax = null;\n this.permitsCurrent = 0;\n this.backoffMs = 0;\n // Drain all waiters since we're now unlimited\n while (this.waiters.length) {\n const w = this.waiters.shift();\n try {\n w?.resolve();\n } catch {\n /* ignore */\n }\n }\n this.log('permits.unlimited', { reason: 'sustained-healthy' }, this.severity);\n return;\n }\n // Phase 2: multiplicative growth while healthy\n const next = Math.ceil(this.permitsMax * this.cfg.healthyRecoveryMultiplier);\n if (next > this.permitsMax) {\n this.permitsMax = next;\n this.log(\n 'permits.recover',\n { max: this.permitsMax, phase: 'multiplicative' },\n this.severity\n );\n this.release();\n }\n }\n }\n }\n}\n","import type { CamundaClient } from '../gen/CamundaClient';\nimport type { ActivateJobsResponses, JobResult, ThrowJobErrorData } from '../gen/types.gen';\nimport { JobActionReceipt } from './jobWorker';\n\ntype ActivatedJobResult = ActivateJobsResponses[200]['jobs'][number];\ntype JobErrorRequest = ThrowJobErrorData['body'];\n\n/** Enriched job type with convenience methods. */\nexport interface EnrichedActivatedJob extends ActivatedJobResult {\n complete(variables?: { [k: string]: any }, result?: JobResult): Promise<JobActionReceipt>;\n fail(body: any): Promise<JobActionReceipt>;\n error(error: JobErrorRequest): Promise<JobActionReceipt>;\n cancelWorkflow(): Promise<JobActionReceipt>;\n ignore(): Promise<JobActionReceipt>;\n /**\n * Extend the timeout for the job by setting a new timeout\n */\n modifyJobTimeout: ({ newTimeoutMs }: { newTimeoutMs: number }) => Promise<void>;\n modifyRetries: ({ retries }: { retries: number }) => Promise<void>;\n log: ReturnType<CamundaClient['logger']>;\n /** Set true once any acknowledgement method is invoked. */\n acknowledged?: boolean;\n}\n\nexport interface JobFailureConfiguration {\n errorMessage: string;\n /**\n * If not specified, the library will decrement the \"current remaining retries\" count by one\n */\n retries?: number;\n /**\n * Optional backoff for subsequent retries, in milliseconds. If not specified, it is zero.\n */\n retryBackOff?: number;\n /**\n * Optional variable update for the job\n */\n variables?: { [key: string]: any };\n}\n\n/** Create an enriched job object with action methods (no worker bookkeeping). */\nexport function enrichActivatedJob(\n raw: ActivatedJobResult,\n client: CamundaClient,\n log: ReturnType<CamundaClient['logger']>\n): EnrichedActivatedJob {\n let acknowledged = false;\n const ack = () => {\n if (!acknowledged) {\n acknowledged = true;\n job.acknowledged = true;\n }\n };\n const job: Partial<EnrichedActivatedJob> = { ...raw, log };\n job.complete = async (\n variables: { [k: string]: any } = {},\n result?: JobResult\n ): Promise<JobActionReceipt> => {\n try {\n await client.completeJob({\n variables,\n jobKey: raw.jobKey,\n ...(result !== undefined && { result }),\n });\n } finally {\n ack();\n }\n return JobActionReceipt;\n };\n job.fail = async (reason: JobFailureConfiguration): Promise<JobActionReceipt> => {\n try {\n await client.failJob({ ...reason, jobKey: raw.jobKey });\n } finally {\n ack();\n }\n return JobActionReceipt;\n };\n job.error = async (error: JobErrorRequest): Promise<JobActionReceipt> => {\n try {\n await client.throwJobError({ ...error, jobKey: raw.jobKey });\n } finally {\n ack();\n }\n return JobActionReceipt;\n };\n job.cancelWorkflow = async (): Promise<JobActionReceipt> => {\n try {\n await client.cancelProcessInstance({\n processInstanceKey: raw.processInstanceKey,\n });\n } finally {\n ack();\n }\n return JobActionReceipt;\n };\n job.ignore = async (): Promise<JobActionReceipt> => {\n ack();\n return JobActionReceipt;\n };\n job.modifyJobTimeout = ({ newTimeoutMs }: { newTimeoutMs: number }) =>\n client.updateJob({ changeset: { timeout: newTimeoutMs }, jobKey: raw.jobKey });\n job.modifyRetries = ({ retries }: { retries: number }) =>\n client.updateJob({ changeset: { retries }, jobKey: raw.jobKey });\n return job as EnrichedActivatedJob;\n}\n","import type { z } from 'zod';\nimport type { CamundaClient } from '../gen/CamundaClient';\nimport type { ActivateJobsResponses } from '../gen/types.gen';\nimport type { EnrichedActivatedJob } from './jobActions';\nimport type { JobActionReceipt } from './jobWorker';\nimport type { ThreadPool } from './threadPool';\n\ntype ActivatedJobResult = ActivateJobsResponses[200]['jobs'][number];\n\n/**\n * The job object received by a threaded handler.\n * Same shape as EnrichedActivatedJob but without the logger (not available across threads).\n */\nexport type ThreadedJob = Omit<EnrichedActivatedJob, 'log'>;\n\n/**\n * Handler function signature for threaded job workers.\n *\n * Import this type in your handler module for full intellisense on `job` and `client`:\n *\n * ```ts\n * import type { ThreadedJobHandler } from '@camunda8/orchestration-cluster-api';\n *\n * const handler: ThreadedJobHandler = async (job, client) => {\n * // full intellisense for job.variables, job.complete(), client.publishMessage(), etc.\n * return job.complete({ result: 'done' });\n * };\n * export default handler;\n * ```\n */\nexport type ThreadedJobHandler = (\n job: ThreadedJob,\n client: CamundaClient\n) => Promise<JobActionReceipt> | JobActionReceipt;\n\n/**\n * Configuration for a threaded job worker.\n * Same as JobWorkerConfig but replaces `jobHandler` with `handlerModule`.\n */\nexport interface ThreadedJobWorkerConfig<\n In extends z.ZodTypeAny = any,\n Out extends z.ZodTypeAny = any,\n Headers extends z.ZodTypeAny = any,\n> {\n /** Absolute or relative path to a JS/TS module that exports a default handler function.\n * The function signature must be: `(job, client) => Promise<JobActionReceipt>` */\n handlerModule: string;\n /** Zod schema for variables in the activated job */\n inputSchema?: In;\n /** Zod schema for variables in the complete command */\n outputSchema?: Out;\n /** Zod schema for custom headers in the activated job */\n customHeadersSchema?: Headers;\n /** Backoff between polls - default 1ms */\n pollIntervalMs?: number;\n /** Immediately start polling for work - default `true` */\n autoStart?: boolean;\n /** concurrency limit */\n maxParallelJobs?: number;\n /**\n * The request will be completed when at least one job is activated or after the requestTimeout.\n * If the requestTimeout = 0, the request will be completed after a default configured timeout in the broker.\n * To immediately complete the request when no job is activated set the requestTimeout to a negative value\n */\n pollTimeoutMs?: number;\n /** Job activation timeout */\n jobTimeoutMs?: number;\n /** Zeebe job type */\n jobType: string;\n /** Optional list of variable names to fetch during activation */\n fetchVariables?: In extends z.ZodTypeAny ? Array<Extract<keyof z.infer<In>, string>> : string[];\n /** Optional explicit name */\n workerName?: string;\n /**\n * Maximum random delay (in seconds) before the worker starts polling.\n * When multiple application instances restart simultaneously, this spreads out\n * initial activation requests to avoid saturating the server.\n * `0` (the default) means no delay.\n */\n startupJitterMaxSeconds?: number;\n /**\n * Validate any provided input, output, customheader schema\n * default: false\n **/\n validateSchemas?: boolean;\n /**\n * Number of threads in the shared pool (used only when the pool is first created;\n * subsequent workers share the existing pool).\n * Default: number of CPU cores available to the process.\n */\n threadPoolSize?: number;\n}\n\nlet _workerCounter = 0;\n\nconst DEFAULT_LONGPOLL_TIMEOUT = 0;\n\n/**\n * A job worker that runs handler logic in a shared pool of worker_threads,\n * keeping the main Node.js event loop free for polling and I/O.\n *\n * The thread pool is owned by CamundaClient and shared across all threaded workers.\n * Each thread is generic — the handler module path is sent with each job,\n * and threads cache loaded handlers by module path.\n */\nexport class ThreadedJobWorker {\n private _client: CamundaClient;\n private _pool: ThreadPool;\n private _cfg: ThreadedJobWorkerConfig;\n private _maxParallelJobs: number;\n private _jobTimeoutMs: number;\n private _name: string;\n private _activeJobs = 0;\n private _stopped = false;\n private _pollTimer: any = null;\n private _inFlightActivation: any = null;\n private _log: ReturnType<CamundaClient['logger']>;\n private _jobQueue: Array<{ raw: ActivatedJobResult & Partial<EnrichedActivatedJob> }> = [];\n\n constructor(client: CamundaClient, pool: ThreadPool, cfg: ThreadedJobWorkerConfig) {\n this._client = client;\n this._pool = pool;\n this._cfg = { pollIntervalMs: 1, autoStart: true, validateSchemas: false, ...cfg };\n if (this._cfg.maxParallelJobs === undefined) {\n throw new Error(\n 'maxParallelJobs is required: set it on ThreadedJobWorkerConfig or via CAMUNDA_WORKER_MAX_CONCURRENT_JOBS (environment variable or CamundaOptions.config override).'\n );\n }\n if (this._cfg.jobTimeoutMs === undefined) {\n throw new Error(\n 'jobTimeoutMs is required: set it on ThreadedJobWorkerConfig or via CAMUNDA_WORKER_TIMEOUT (environment variable or CamundaOptions.config override).'\n );\n }\n this._maxParallelJobs = this._cfg.maxParallelJobs;\n this._jobTimeoutMs = this._cfg.jobTimeoutMs;\n this._name = cfg.workerName || `threaded-worker-${cfg.jobType}-${++_workerCounter}`;\n this._log = this._client.logger().scope(`worker:${this._name}`);\n\n // Drain queued jobs when a thread becomes ready or idle\n this._pool.onThreadReady = () => this._drainQueue();\n\n if (this._cfg.autoStart) this.start();\n }\n\n get name() {\n return this._name;\n }\n get activeJobs() {\n return this._activeJobs;\n }\n get stopped() {\n return this._stopped;\n }\n /** Number of threads in the shared pool. */\n get poolSize() {\n return this._pool.size;\n }\n /** Number of threads currently processing a job (across all workers). */\n get busyThreads() {\n return this._pool.busyCount;\n }\n /** Resolves when the shared thread pool has finished initialising. */\n get ready(): Promise<void> {\n return this._pool.ready;\n }\n\n start() {\n if (this._stopped) return;\n if (this._pollTimer) return;\n this._log.info('worker.start');\n const jitterMax = this._cfg.startupJitterMaxSeconds ?? 0;\n if (jitterMax > 0) {\n const jitterMs = Math.floor(Math.random() * jitterMax * 1000);\n this._log.info(() => ['worker.start.jitter', { delayMs: jitterMs }]);\n this._scheduleNext(jitterMs);\n } else {\n this._scheduleNext(0);\n }\n }\n\n stop() {\n this._stopped = true;\n if (this._pollTimer) clearTimeout(this._pollTimer);\n this._pollTimer = null;\n if (this._inFlightActivation?.cancel) {\n try {\n this._inFlightActivation.cancel();\n } catch {\n /* ignore */\n }\n }\n this._log.info('worker.stop');\n }\n\n async stopGracefully(opts?: { waitUpToMs?: number; checkIntervalMs?: number }) {\n const waitUpToMs = opts?.waitUpToMs ?? 5000;\n const checkIntervalMs = opts?.checkIntervalMs ?? 10;\n this._stopped = true;\n if (this._pollTimer) clearTimeout(this._pollTimer);\n this._pollTimer = null;\n const start = Date.now();\n if (this._inFlightActivation) {\n try {\n await Promise.race([\n this._inFlightActivation,\n new Promise((_, rej) =>\n setTimeout(() => rej(new Error('activation.wait.timeout')), waitUpToMs)\n ),\n ]);\n } catch (e: any) {\n if (e && e.message === 'activation.wait.timeout') {\n this._log.debug('worker.gracefulStop.activationTimeout');\n }\n }\n }\n while (this._activeJobs > 0 && Date.now() - start < waitUpToMs) {\n await new Promise((r) => setTimeout(r, checkIntervalMs));\n }\n const timedOut = this._activeJobs > 0;\n if (timedOut) {\n if (this._inFlightActivation?.cancel) {\n try {\n this._inFlightActivation.cancel();\n } catch {\n /* ignore */\n }\n }\n this._log.debug('worker.gracefulStop.timeout', { remaining: this._activeJobs });\n } else {\n this._log.debug('worker.gracefulStop.done');\n }\n return { remainingJobs: this._activeJobs, timedOut };\n }\n\n // ─── Job dispatch ───\n\n private _drainQueue() {\n this._log.trace(() => [\n 'drain.start',\n { queued: this._jobQueue.length, idle: this._pool.idleCount, active: this._activeJobs },\n ]);\n while (this._jobQueue.length > 0) {\n const idle = this._pool.getIdleWorker();\n if (!idle) {\n this._log.trace(() => ['drain.noIdle', { queued: this._jobQueue.length }]);\n break;\n }\n const item = this._jobQueue.shift()!;\n this._log.trace(() => [\n 'drain.dispatch',\n { jobKey: item.raw.jobKey, queued: this._jobQueue.length },\n ]);\n this._dispatchToThread(idle, item.raw);\n }\n }\n\n private async _dispatchToThread(\n pw: import('./threadPool').PoolWorker,\n raw: ActivatedJobResult & Partial<EnrichedActivatedJob>\n ) {\n const jobData = this._serializeJob(raw);\n\n this._log.trace(() => [\n 'dispatch.send',\n { jobKey: raw.jobKey, handler: this._cfg.handlerModule },\n ]);\n\n this._pool.dispatch(pw, jobData, this._cfg.handlerModule, {\n onComplete: (completionAction) => {\n this._log.trace(() => [\n 'dispatch.onComplete',\n {\n jobKey: raw.jobKey,\n hasAction: !!completionAction,\n method: completionAction?.method,\n active: this._activeJobs,\n },\n ]);\n // Execute the completion API call on the main thread's event loop —\n // this runs concurrently without blocking any worker thread.\n if (completionAction) {\n const { method, args } = completionAction;\n const fn = (this._client as any)[method];\n if (typeof fn === 'function') {\n this._log.trace(() => ['dispatch.completion.fire', { jobKey: raw.jobKey, method }]);\n fn.apply(this._client, args)\n .then(() => {\n this._log.trace(() => ['dispatch.completion.ok', { jobKey: raw.jobKey, method }]);\n })\n .catch((err: any) => {\n this._log.error('job.completion.error', {\n jobKey: raw.jobKey,\n method,\n err: err?.message,\n });\n });\n } else {\n this._log.error('job.completion.noMethod', { jobKey: raw.jobKey, method });\n }\n } else {\n this._log.trace(() => ['dispatch.onComplete.noAction', { jobKey: raw.jobKey }]);\n }\n this._decrementOnce();\n this._drainQueue();\n },\n onError: (err) => {\n this._log.error('job.thread.error', { jobKey: raw.jobKey, err });\n this._client\n .failJob({\n jobKey: raw.jobKey!,\n errorMessage: err?.message || 'Thread handler error',\n retries: typeof raw.retries === 'number' ? Math.max(0, raw.retries - 1) : 0,\n })\n .catch((failErr: any) => {\n this._log.error('job.fail.error', failErr);\n })\n .finally(() => {\n this._decrementOnce();\n this._drainQueue();\n });\n },\n });\n }\n\n private _serializeJob(\n raw: ActivatedJobResult & Partial<EnrichedActivatedJob>\n ): Record<string, unknown> {\n const data: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(raw)) {\n if (typeof value === 'function') continue;\n if (key === 'log') continue;\n data[key] = value;\n }\n return JSON.parse(JSON.stringify(data));\n }\n\n // ─── Polling (same pattern as JobWorker) ───\n\n private _scheduleNext(delayMs: number) {\n if (this._stopped) return;\n this._pollTimer = setTimeout(() => this._poll(), delayMs);\n }\n\n private async _poll() {\n this._pollTimer = null;\n if (this._stopped) return;\n // Ensure shared thread pool is ready before polling\n await this._pool.ready;\n if (this._activeJobs >= this._maxParallelJobs) {\n this._scheduleNext(this._cfg.pollIntervalMs!);\n return;\n }\n // Activate up to the concurrency headroom. Jobs that arrive when all\n // threads are busy are queued in _jobQueue and dispatched via _drainQueue\n // as threads become idle, keeping the pipeline full.\n const batchSize = this._maxParallelJobs - this._activeJobs;\n if (batchSize <= 0) {\n this._scheduleNext(this._cfg.pollIntervalMs!);\n return;\n }\n const body = {\n type: this._cfg.jobType,\n worker: this._name,\n maxJobsToActivate: batchSize,\n requestTimeout: this._cfg.pollTimeoutMs ?? DEFAULT_LONGPOLL_TIMEOUT,\n timeout: this._jobTimeoutMs,\n ...(this._cfg.fetchVariables && this._cfg.fetchVariables.length > 0\n ? { fetchVariable: this._cfg.fetchVariables }\n : {}),\n };\n this._log.debug(() => ['activation.request', { batchSize }]);\n let result: ActivatedJobResult[] = [];\n try {\n this._inFlightActivation = this._client.activateJobs(body);\n const activation = await this._inFlightActivation;\n this._inFlightActivation = null;\n result = activation?.jobs || [];\n this._log.debug(() => ['activation.response', { jobs: result.length }]);\n } catch (e) {\n this._inFlightActivation = null;\n if (this._stopped) return;\n if ((e as any)?.name === 'CancelSdkError') {\n this._log.debug('activation.cancelled');\n } else {\n this._log.error('activation.error', e);\n }\n this._scheduleNext(this._cfg.pollIntervalMs!);\n return;\n }\n if (!result || result.length === 0) {\n this._scheduleNext(this._cfg.pollIntervalMs!);\n return;\n }\n this._activeJobs += result.length;\n this._scheduleNext(0);\n for (const raw of result) {\n this._handleJob(raw as ActivatedJobResult & Partial<EnrichedActivatedJob>);\n }\n }\n\n private _handleJob(raw: ActivatedJobResult & Partial<EnrichedActivatedJob>) {\n this._log.trace(() => [\n 'job.handle',\n { jobKey: raw.jobKey, active: this._activeJobs, queued: this._jobQueue.length },\n ]);\n if (this._stopped) {\n this._log.trace(() => ['job.handle.stopped', { jobKey: raw.jobKey }]);\n this._decrementOnce();\n return;\n }\n let variables: any = raw.variables;\n let headers: any = raw.customHeaders;\n if (this._cfg.validateSchemas) {\n if (this._cfg.inputSchema) {\n const parsed = this._cfg.inputSchema.safeParse(variables);\n if (!parsed.success) {\n this._log.warn('job.validation.variables.failed', parsed.error.flatten());\n this._failValidation(raw as ActivatedJobResult, 'Invalid variables');\n return;\n }\n variables = parsed.data;\n }\n if (this._cfg.customHeadersSchema) {\n const parsed = this._cfg.customHeadersSchema.safeParse(headers);\n if (!parsed.success) {\n this._log.warn('job.validation.headers.failed', parsed.error.flatten());\n this._failValidation(raw as ActivatedJobResult, 'Invalid custom headers');\n return;\n }\n headers = parsed.data;\n }\n }\n const enriched = Object.assign(raw, { variables, customHeaders: headers });\n const idle = this._pool.getIdleWorker();\n if (idle) {\n this._log.trace(() => ['job.handle.dispatch', { jobKey: raw.jobKey }]);\n this._dispatchToThread(idle, enriched);\n } else {\n this._log.trace(() => [\n 'job.handle.queued',\n { jobKey: raw.jobKey, queueLen: this._jobQueue.length + 1 },\n ]);\n this._jobQueue.push({ raw: enriched });\n }\n }\n\n private async _failValidation(raw: ActivatedJobResult, msg: string) {\n try {\n await this._client.failJob({ jobKey: raw.jobKey, errorMessage: msg });\n } catch (e) {\n this._log.error('job.fail.validation.error', e);\n } finally {\n this._decrementOnce();\n }\n }\n\n private _decrementOnce() {\n const was = this._activeJobs;\n this._activeJobs = Math.max(0, this._activeJobs - 1);\n this._log.trace(() => ['job.active', { was, now: this._activeJobs }]);\n }\n}\n","/**\n * Client proxy for worker_threads: allows threaded job handlers to call\n * CamundaClient methods transparently via MessagePort.\n *\n * Main thread side: installClientCallHandler(port, client)\n * Worker thread side: createClientProxy(port) → CamundaClient-shaped proxy\n */\n\nimport type { MessagePort } from 'node:worker_threads';\nimport type { CamundaClient } from '../gen/CamundaClient';\n\n// Wire protocol\nexport interface ClientCallMessage {\n type: 'client-call';\n callId: string;\n method: string;\n args: unknown[];\n}\n\nexport interface ClientCallResult {\n type: 'client-call-result';\n callId: string;\n result?: unknown;\n error?: string;\n}\n\n/** Fallback UUID generator for runtimes where globalThis.crypto.randomUUID is unavailable. */\nlet _counter = 0;\nfunction fallbackUUID(): string {\n return `${Date.now().toString(36)}-${(++_counter).toString(36)}-${Math.random().toString(36).slice(2, 10)}`;\n}\n\n/**\n * Create a Proxy that looks like CamundaClient but forwards every method call\n * over a MessagePort to the main thread. Runs inside a worker thread.\n */\nexport function createClientProxy(port: MessagePort): CamundaClient {\n return new Proxy({} as CamundaClient, {\n get(_, method: string) {\n // Ignore symbol properties and common non-method accesses\n if (typeof method === 'symbol') return undefined;\n if (method === 'then') return undefined; // Prevent Proxy from being treated as thenable\n if (method === 'toJSON') return undefined;\n\n return (...args: unknown[]) => {\n const callId = globalThis.crypto?.randomUUID\n ? globalThis.crypto.randomUUID()\n : fallbackUUID();\n const msg: ClientCallMessage = { type: 'client-call', callId, method, args };\n port.postMessage(msg);\n return new Promise<unknown>((resolve, reject) => {\n const handler = (reply: ClientCallResult) => {\n if (reply.type !== 'client-call-result' || reply.callId !== callId) return;\n port.off('message', handler);\n if (reply.error !== undefined) {\n reject(new Error(reply.error));\n } else {\n resolve(reply.result);\n }\n };\n port.on('message', handler);\n });\n };\n },\n });\n}\n\n/**\n * Install a message handler on a MessagePort (main thread side) that\n * receives client-call messages from a worker thread and executes them\n * on the real CamundaClient instance.\n */\nexport function installClientCallHandler(port: MessagePort, client: CamundaClient): void {\n port.on('message', async (msg: ClientCallMessage) => {\n if (msg.type !== 'client-call') return;\n try {\n const fn = (client as any)[msg.method];\n if (typeof fn !== 'function') {\n throw new Error(`CamundaClient has no method '${msg.method}'`);\n }\n const result = await fn.apply(client, msg.args);\n const reply: ClientCallResult = { type: 'client-call-result', callId: msg.callId, result };\n port.postMessage(reply);\n } catch (err: any) {\n const reply: ClientCallResult = {\n type: 'client-call-result',\n callId: msg.callId,\n error: err?.message || String(err),\n };\n port.postMessage(reply);\n }\n });\n}\n","/**\n * Shared thread pool for ThreadedJobWorkers.\n *\n * Owned by CamundaClient and shared across all threaded workers in the process.\n * Each thread is generic — the handler module path is sent with each job message,\n * and threads cache loaded handlers by module path.\n *\n * All node: imports are dynamic to keep the module tree browser-safe.\n */\n\nimport type { CamundaClient } from '../gen/CamundaClient';\nimport { installClientCallHandler } from './clientProxy';\n\nexport interface PoolWorker {\n worker: import('node:worker_threads').Worker;\n busy: boolean;\n ready: boolean;\n /** The taskId currently being processed by this worker (if busy). */\n currentTaskId?: string;\n}\n\nexport interface PendingJob {\n resolve: (ok: boolean, completionAction?: { method: string; args: unknown[] }) => void;\n reject: (err: Error) => void;\n}\n\n/** Lazily resolved Node.js modules (avoids top-level node: imports for browser bundlers). */\ninterface NodeModules {\n MessageChannel: typeof import('node:worker_threads').MessageChannel;\n randomUUID: typeof import('node:crypto').randomUUID;\n}\n\nexport class ThreadPool {\n private _pool: PoolWorker[] = [];\n private _pending: Map<string, PendingJob> = new Map();\n private _node!: NodeModules;\n private _log: ReturnType<CamundaClient['logger']>;\n private _client: CamundaClient;\n private _ready: Promise<void>;\n private _terminated = false;\n private _entryPath = '';\n private _Worker!: typeof import('node:worker_threads').Worker;\n private _onThreadReady?: () => void;\n\n constructor(client: CamundaClient, size?: number) {\n this._client = client;\n this._log = client.logger().scope('thread-pool');\n this._ready = this._init(size);\n }\n\n /** Resolves when all threads have been spawned and signalled ready. */\n get ready(): Promise<void> {\n return this._ready;\n }\n\n /** Total number of threads in the pool. */\n get size(): number {\n return this._pool.length;\n }\n\n /** Number of threads currently processing a job. */\n get busyCount(): number {\n return this._pool.filter((pw) => pw.busy).length;\n }\n\n /** Number of threads that are ready and idle. */\n get idleCount(): number {\n return this._pool.filter((pw) => pw.ready && !pw.busy).length;\n }\n\n /** Register a callback invoked whenever a thread becomes ready or idle. */\n set onThreadReady(cb: (() => void) | undefined) {\n this._onThreadReady = cb;\n }\n\n /** Find the first ready & idle thread. */\n getIdleWorker(): PoolWorker | undefined {\n return this._pool.find((pw) => pw.ready && !pw.busy);\n }\n\n /**\n * Dispatch a serialized job to a specific idle worker.\n * The caller is responsible for checking idleness first.\n */\n async dispatch(\n pw: PoolWorker,\n jobData: Record<string, unknown>,\n handlerModule: string,\n callbacks: {\n onComplete: (completionAction?: { method: string; args: unknown[] }) => void;\n onError: (err: Error) => void;\n }\n ): Promise<void> {\n const { randomUUID, MessageChannel } = this._node;\n const taskId = randomUUID();\n pw.busy = true;\n pw.currentTaskId = taskId;\n\n this._log.trace(() => ['pool.dispatch', { taskId, jobKey: jobData.jobKey, handlerModule }]);\n\n const { port1: mainPort, port2: workerPort } = new MessageChannel();\n installClientCallHandler(mainPort, this._client);\n\n this._pending.set(taskId, {\n resolve: (_ok: boolean, completionAction?: { method: string; args: unknown[] }) => {\n this._log.trace(() => [\n 'pool.resolve',\n { taskId, hasAction: !!completionAction, method: completionAction?.method },\n ]);\n this._pending.delete(taskId);\n mainPort.close();\n callbacks.onComplete(completionAction);\n },\n reject: (err: Error) => {\n this._pending.delete(taskId);\n mainPort.close();\n callbacks.onError(err);\n },\n });\n\n pw.worker.postMessage({ type: 'job', taskId, jobData, handlerModule, clientPort: workerPort }, [\n workerPort,\n ]);\n }\n\n /** Terminate all threads and reject any in-flight tasks. */\n terminate(): void {\n this._terminated = true;\n for (const pw of this._pool) {\n pw.worker.terminate().catch(() => {});\n }\n this._pool = [];\n // Reject all pending tasks so callers don't hang.\n for (const [, pending] of this._pending) {\n pending.reject(new Error('Thread pool terminated'));\n }\n this._pending.clear();\n }\n\n /** Reject the pending task for a worker that errored/exited and reset its state. */\n private _rejectWorkerTask(pw: PoolWorker, message: string): void {\n pw.busy = false;\n if (pw.currentTaskId) {\n const pending = this._pending.get(pw.currentTaskId);\n if (pending) {\n this._pending.delete(pw.currentTaskId);\n pending.reject(new Error(message));\n }\n pw.currentTaskId = undefined;\n }\n }\n\n /** Replace a dead worker in the pool with a freshly spawned one. */\n private _respawn(deadPw: PoolWorker): void {\n const idx = this._pool.indexOf(deadPw);\n if (idx === -1) return;\n const newPw = this._spawnWorker();\n this._pool[idx] = newPw;\n this._log.info(() => ['thread.respawn', { index: idx }]);\n }\n\n /** Create a single worker thread and wire up its event handlers. */\n private _spawnWorker(): PoolWorker {\n const worker = new this._Worker(this._entryPath);\n const pw: PoolWorker = { worker, busy: false, ready: false };\n\n worker.on('message', (msg: any) => {\n if (msg.type === 'ready') {\n pw.ready = true;\n this._log.debug(() => ['thread.ready']);\n this._onThreadReady?.();\n return;\n }\n if (msg.type === 'job-result') {\n this._log.debug(() => [\n 'thread.job-result',\n { taskId: msg.taskId, ok: msg.ok, error: msg.error },\n ]);\n this._log.trace(() => [\n 'thread.job-result.detail',\n {\n taskId: msg.taskId,\n hasCompletionAction: !!msg.completionAction,\n method: msg.completionAction?.method,\n pending: this._pending.has(msg.taskId),\n },\n ]);\n pw.busy = false;\n pw.currentTaskId = undefined;\n const pending = this._pending.get(msg.taskId);\n if (pending) {\n if (msg.ok) {\n pending.resolve(true, msg.completionAction);\n } else {\n pending.reject(new Error(msg.error || 'Handler failed'));\n }\n } else {\n this._log.warn('thread.job-result.noPending', { taskId: msg.taskId });\n }\n return;\n }\n });\n\n worker.on('error', (err) => {\n this._log.error('thread.error', err);\n this._rejectWorkerTask(pw, `Worker thread error: ${err.message}`);\n pw.ready = false;\n // Note: 'exit' fires after 'error', so respawn is handled there.\n });\n\n worker.on('exit', (code) => {\n if (!this._terminated) {\n this._log.warn('thread.exit', { code });\n this._rejectWorkerTask(pw, `Worker thread exited unexpectedly (code ${code})`);\n this._respawn(pw);\n }\n });\n\n return pw;\n }\n\n private async _init(requestedSize?: number): Promise<void> {\n const [workerThreads, pathMod, crypto] = await Promise.all([\n import('node:worker_threads'),\n import('node:path'),\n import('node:crypto'),\n ]);\n this._Worker = workerThreads.Worker;\n const { join } = pathMod;\n\n this._node = {\n MessageChannel: workerThreads.MessageChannel,\n randomUUID: crypto.randomUUID,\n };\n\n const cpus = await (async () => {\n try {\n const os = await import('node:os');\n return os.availableParallelism?.() || os.cpus().length;\n } catch {\n return 4;\n }\n })();\n const size = requestedSize ?? cpus;\n\n const fs = await import('node:fs');\n const url = await import('node:url');\n // __dirname works in CJS and vitest/tsx, but not in native ESM dist output.\n // Derive directory from import.meta.url when available, falling back to __dirname.\n const dir =\n typeof __dirname !== 'undefined'\n ? __dirname\n : pathMod.dirname(url.fileURLToPath(import.meta.url));\n const jsPath = join(dir, 'threadWorkerEntry.js');\n if (fs.existsSync(jsPath)) {\n // Production: compiled entry sits alongside this file in dist/\n this._entryPath = jsPath;\n } else {\n // Dev/test: running from source (e.g. vitest), look for the compiled entry in dist/\n const distPath = pathMod.resolve(dir, '..', '..', 'dist', 'threadWorkerEntry.js');\n if (!fs.existsSync(distPath)) {\n throw new Error(\n `threadWorkerEntry.js not found at ${jsPath} or ${distPath}. Run \"npm run build\" first.`\n );\n }\n this._entryPath = distPath;\n }\n\n for (let i = 0; i < size; i++) {\n this._pool.push(this._spawnWorker());\n }\n\n this._log.info(() => ['thread-pool.init', { size, entryPath: this._entryPath }]);\n }\n}\n","// Shared helper to evaluate a raw transport response (with throwOnError:false)\n// and decide whether to throw a normalized error or return domain data.\n// This centralizes the logic so generated client method wrappers stay terse.\n\ninterface EvalOptions {\n opId: string;\n buildBackpressureError?: (r: any) => Error | undefined;\n}\n\nexport function evaluateSdkResponse(raw: any, opts: EvalOptions) {\n if (!raw || typeof raw !== 'object') return raw;\n // Support nested problem payload under raw.error without top-level status\n const status = raw.status || raw.response?.status || raw.error?.status;\n if (!status) {\n // No discernible HTTP status: unwrap data if present\n return raw.data !== undefined ? raw.data : raw;\n }\n const isCandidate = status === 429 || status === 503 || status === 500;\n if (isCandidate) {\n const err = opts.buildBackpressureError?.(raw);\n if (err) throw err;\n } else if (status >= 400) {\n // Non-candidate HTTP error: synthesize an HttpSdkError early for clearer stack\n const prob = raw.error && typeof raw.error === 'object' ? raw.error : raw;\n let msg = prob.title || prob.detail || prob.message || `HTTP ${status}`;\n if (prob.title && prob.detail && prob.title !== prob.detail) {\n msg = `${prob.title} [${opts.opId}]: ${prob.detail}`;\n }\n const err: any = new Error(msg);\n err.name = 'HttpSdkError';\n err.status = status;\n err.operationId = opts.opId;\n for (const k of ['type', 'title', 'detail', 'instance'])\n if (prob[k] !== undefined) err[k] = prob[k];\n err.nonRetryable = true;\n throw err;\n }\n // Success (2xx / 3xx) path\n return raw.data !== undefined ? raw.data : raw;\n}\n","// @generated from CamundaClient.template.ts - DO NOT EDIT DIRECTLY\nimport { createClient } from '../gen/client/client.gen';\nimport * as Sdk from '../gen/sdk.gen';\nimport { createAuthFacade } from '../runtime/auth';\nimport type { CamundaConfig } from '../runtime/unifiedConfiguration';\nimport type { EnvOverrides } from '../runtime/configSchema';\nimport { hydrateConfig } from '../runtime/unifiedConfiguration';\nimport { ConsistencyOptions, eventualPoll } from '../runtime/eventual';\nimport { installAuthInterceptor } from '../runtime/installAuthInterceptor';\nimport { createLogger, type Logger, type LogLevel, type LogTransport } from '../runtime/logger';\nimport {\n createSupportLogger,\n type SupportLogger,\n writeSupportLogPreamble,\n} from '../runtime/supportLogger';\nimport {\n wrapFetch,\n withCorrelation as _withCorrelation,\n getCorrelation,\n} from '../runtime/telemetry';\nimport { ValidationManager } from '../runtime/validationManager';\nimport type { Client } from '../gen/client/types.gen';\nimport {\n executeWithHttpRetry,\n defaultHttpClassifier,\n type HttpRetryPolicy,\n type OperationOptions,\n} from '../runtime/retry';\nimport { normalizeError } from '../runtime/errors';\nimport { BackpressureManager } from '../runtime/backpressure';\nimport { JobWorker, type JobWorkerConfig } from '../runtime/jobWorker';\nimport { enrichActivatedJob, EnrichedActivatedJob } from '../runtime/jobActions';\nimport { ThreadedJobWorker, type ThreadedJobWorkerConfig } from '../runtime/threadedJobWorker';\nimport { ThreadPool } from '../runtime/threadPool';\nimport { evaluateSdkResponse } from '../runtime/responseEvaluation';\n\n// Internal deep-freeze to make exposed config immutable for consumers.\nfunction deepFreeze<T>(obj: T): T {\n if (obj && typeof obj === 'object' && !Object.isFrozen(obj)) {\n Object.freeze(obj as any);\n for (const v of Object.values(obj as any)) {\n if (v && typeof v === 'object') deepFreeze(v as any);\n }\n }\n return obj;\n}\n\n// === AUTO-GENERATED CAMUNDA SUPPORT TYPES START ===\n// Generated\n// Operations: 183\ntype _RawReturn<F> = F extends (...a:any)=>Promise<infer R> ? R : never;\ntype _DataOf<F> = Exclude<_RawReturn<F> extends { data: infer D } ? D : _RawReturn<F>, undefined>;\ntype activateAdHocSubProcessActivitiesOptions = Parameters<typeof Sdk.activateAdHocSubProcessActivities>[0];\ntype activateAdHocSubProcessActivitiesBody = (NonNullable<activateAdHocSubProcessActivitiesOptions> extends { body?: infer B } ? B : never);\ntype activateAdHocSubProcessActivitiesPathParam_adHocSubProcessInstanceKey = (NonNullable<activateAdHocSubProcessActivitiesOptions> extends { path: { adHocSubProcessInstanceKey: infer P } } ? P : any);\nexport type activateAdHocSubProcessActivitiesInput = activateAdHocSubProcessActivitiesBody & { adHocSubProcessInstanceKey: activateAdHocSubProcessActivitiesPathParam_adHocSubProcessInstanceKey };\ntype activateJobsOptions = Parameters<typeof Sdk.activateJobs>[0];\ntype activateJobsBody = (NonNullable<activateJobsOptions> extends { body?: infer B } ? B : never);\nexport type activateJobsInput = activateJobsBody;\ntype assignClientToGroupOptions = Parameters<typeof Sdk.assignClientToGroup>[0];\ntype assignClientToGroupPathParam_groupId = (NonNullable<assignClientToGroupOptions> extends { path: { groupId: infer P } } ? P : any);\ntype assignClientToGroupPathParam_clientId = (NonNullable<assignClientToGroupOptions> extends { path: { clientId: infer P } } ? P : any);\nexport type assignClientToGroupInput = { groupId: assignClientToGroupPathParam_groupId; clientId: assignClientToGroupPathParam_clientId };\ntype assignClientToTenantOptions = Parameters<typeof Sdk.assignClientToTenant>[0];\ntype assignClientToTenantPathParam_tenantId = (NonNullable<assignClientToTenantOptions> extends { path: { tenantId: infer P } } ? P : any);\ntype assignClientToTenantPathParam_clientId = (NonNullable<assignClientToTenantOptions> extends { path: { clientId: infer P } } ? P : any);\nexport type assignClientToTenantInput = { tenantId: assignClientToTenantPathParam_tenantId; clientId: assignClientToTenantPathParam_clientId };\ntype assignGroupToTenantOptions = Parameters<typeof Sdk.assignGroupToTenant>[0];\ntype assignGroupToTenantPathParam_tenantId = (NonNullable<assignGroupToTenantOptions> extends { path: { tenantId: infer P } } ? P : any);\ntype assignGroupToTenantPathParam_groupId = (NonNullable<assignGroupToTenantOptions> extends { path: { groupId: infer P } } ? P : any);\nexport type assignGroupToTenantInput = { tenantId: assignGroupToTenantPathParam_tenantId; groupId: assignGroupToTenantPathParam_groupId };\ntype assignMappingRuleToGroupOptions = Parameters<typeof Sdk.assignMappingRuleToGroup>[0];\ntype assignMappingRuleToGroupPathParam_groupId = (NonNullable<assignMappingRuleToGroupOptions> extends { path: { groupId: infer P } } ? P : any);\ntype assignMappingRuleToGroupPathParam_mappingRuleId = (NonNullable<assignMappingRuleToGroupOptions> extends { path: { mappingRuleId: infer P } } ? P : any);\nexport type assignMappingRuleToGroupInput = { groupId: assignMappingRuleToGroupPathParam_groupId; mappingRuleId: assignMappingRuleToGroupPathParam_mappingRuleId };\ntype assignMappingRuleToTenantOptions = Parameters<typeof Sdk.assignMappingRuleToTenant>[0];\ntype assignMappingRuleToTenantPathParam_tenantId = (NonNullable<assignMappingRuleToTenantOptions> extends { path: { tenantId: infer P } } ? P : any);\ntype assignMappingRuleToTenantPathParam_mappingRuleId = (NonNullable<assignMappingRuleToTenantOptions> extends { path: { mappingRuleId: infer P } } ? P : any);\nexport type assignMappingRuleToTenantInput = { tenantId: assignMappingRuleToTenantPathParam_tenantId; mappingRuleId: assignMappingRuleToTenantPathParam_mappingRuleId };\ntype assignRoleToClientOptions = Parameters<typeof Sdk.assignRoleToClient>[0];\ntype assignRoleToClientPathParam_roleId = (NonNullable<assignRoleToClientOptions> extends { path: { roleId: infer P } } ? P : any);\ntype assignRoleToClientPathParam_clientId = (NonNullable<assignRoleToClientOptions> extends { path: { clientId: infer P } } ? P : any);\nexport type assignRoleToClientInput = { roleId: assignRoleToClientPathParam_roleId; clientId: assignRoleToClientPathParam_clientId };\ntype assignRoleToGroupOptions = Parameters<typeof Sdk.assignRoleToGroup>[0];\ntype assignRoleToGroupPathParam_roleId = (NonNullable<assignRoleToGroupOptions> extends { path: { roleId: infer P } } ? P : any);\ntype assignRoleToGroupPathParam_groupId = (NonNullable<assignRoleToGroupOptions> extends { path: { groupId: infer P } } ? P : any);\nexport type assignRoleToGroupInput = { roleId: assignRoleToGroupPathParam_roleId; groupId: assignRoleToGroupPathParam_groupId };\ntype assignRoleToMappingRuleOptions = Parameters<typeof Sdk.assignRoleToMappingRule>[0];\ntype assignRoleToMappingRulePathParam_roleId = (NonNullable<assignRoleToMappingRuleOptions> extends { path: { roleId: infer P } } ? P : any);\ntype assignRoleToMappingRulePathParam_mappingRuleId = (NonNullable<assignRoleToMappingRuleOptions> extends { path: { mappingRuleId: infer P } } ? P : any);\nexport type assignRoleToMappingRuleInput = { roleId: assignRoleToMappingRulePathParam_roleId; mappingRuleId: assignRoleToMappingRulePathParam_mappingRuleId };\ntype assignRoleToTenantOptions = Parameters<typeof Sdk.assignRoleToTenant>[0];\ntype assignRoleToTenantPathParam_tenantId = (NonNullable<assignRoleToTenantOptions> extends { path: { tenantId: infer P } } ? P : any);\ntype assignRoleToTenantPathParam_roleId = (NonNullable<assignRoleToTenantOptions> extends { path: { roleId: infer P } } ? P : any);\nexport type assignRoleToTenantInput = { tenantId: assignRoleToTenantPathParam_tenantId; roleId: assignRoleToTenantPathParam_roleId };\ntype assignRoleToUserOptions = Parameters<typeof Sdk.assignRoleToUser>[0];\ntype assignRoleToUserPathParam_roleId = (NonNullable<assignRoleToUserOptions> extends { path: { roleId: infer P } } ? P : any);\ntype assignRoleToUserPathParam_username = (NonNullable<assignRoleToUserOptions> extends { path: { username: infer P } } ? P : any);\nexport type assignRoleToUserInput = { roleId: assignRoleToUserPathParam_roleId; username: assignRoleToUserPathParam_username };\ntype assignUserTaskOptions = Parameters<typeof Sdk.assignUserTask>[0];\ntype assignUserTaskBody = (NonNullable<assignUserTaskOptions> extends { body?: infer B } ? B : never);\ntype assignUserTaskPathParam_userTaskKey = (NonNullable<assignUserTaskOptions> extends { path: { userTaskKey: infer P } } ? P : any);\nexport type assignUserTaskInput = assignUserTaskBody & { userTaskKey: assignUserTaskPathParam_userTaskKey };\ntype assignUserToGroupOptions = Parameters<typeof Sdk.assignUserToGroup>[0];\ntype assignUserToGroupPathParam_groupId = (NonNullable<assignUserToGroupOptions> extends { path: { groupId: infer P } } ? P : any);\ntype assignUserToGroupPathParam_username = (NonNullable<assignUserToGroupOptions> extends { path: { username: infer P } } ? P : any);\nexport type assignUserToGroupInput = { groupId: assignUserToGroupPathParam_groupId; username: assignUserToGroupPathParam_username };\ntype assignUserToTenantOptions = Parameters<typeof Sdk.assignUserToTenant>[0];\ntype assignUserToTenantPathParam_tenantId = (NonNullable<assignUserToTenantOptions> extends { path: { tenantId: infer P } } ? P : any);\ntype assignUserToTenantPathParam_username = (NonNullable<assignUserToTenantOptions> extends { path: { username: infer P } } ? P : any);\nexport type assignUserToTenantInput = { tenantId: assignUserToTenantPathParam_tenantId; username: assignUserToTenantPathParam_username };\ntype broadcastSignalOptions = Parameters<typeof Sdk.broadcastSignal>[0];\ntype broadcastSignalBody = (NonNullable<broadcastSignalOptions> extends { body?: infer B } ? B : never);\nexport type broadcastSignalInput = broadcastSignalBody;\ntype cancelBatchOperationOptions = Parameters<typeof Sdk.cancelBatchOperation>[0];\ntype cancelBatchOperationBody = (NonNullable<cancelBatchOperationOptions> extends { body?: infer B } ? B : never);\ntype cancelBatchOperationPathParam_batchOperationKey = (NonNullable<cancelBatchOperationOptions> extends { path: { batchOperationKey: infer P } } ? P : any);\nexport type cancelBatchOperationInput = cancelBatchOperationBody & { batchOperationKey: cancelBatchOperationPathParam_batchOperationKey };\ntype cancelProcessInstanceOptions = Parameters<typeof Sdk.cancelProcessInstance>[0];\ntype cancelProcessInstanceBody = (NonNullable<cancelProcessInstanceOptions> extends { body?: infer B } ? B : never);\ntype cancelProcessInstancePathParam_processInstanceKey = (NonNullable<cancelProcessInstanceOptions> extends { path: { processInstanceKey: infer P } } ? P : any);\nexport type cancelProcessInstanceInput = cancelProcessInstanceBody & { processInstanceKey: cancelProcessInstancePathParam_processInstanceKey };\ntype cancelProcessInstancesBatchOperationOptions = Parameters<typeof Sdk.cancelProcessInstancesBatchOperation>[0];\ntype cancelProcessInstancesBatchOperationBody = (NonNullable<cancelProcessInstancesBatchOperationOptions> extends { body?: infer B } ? B : never);\nexport type cancelProcessInstancesBatchOperationInput = cancelProcessInstancesBatchOperationBody;\ntype completeJobOptions = Parameters<typeof Sdk.completeJob>[0];\ntype completeJobBody = (NonNullable<completeJobOptions> extends { body?: infer B } ? B : never);\ntype completeJobPathParam_jobKey = (NonNullable<completeJobOptions> extends { path: { jobKey: infer P } } ? P : any);\nexport type completeJobInput = completeJobBody & { jobKey: completeJobPathParam_jobKey };\ntype completeUserTaskOptions = Parameters<typeof Sdk.completeUserTask>[0];\ntype completeUserTaskBody = (NonNullable<completeUserTaskOptions> extends { body?: infer B } ? B : never);\ntype completeUserTaskPathParam_userTaskKey = (NonNullable<completeUserTaskOptions> extends { path: { userTaskKey: infer P } } ? P : any);\nexport type completeUserTaskInput = completeUserTaskBody & { userTaskKey: completeUserTaskPathParam_userTaskKey };\ntype correlateMessageOptions = Parameters<typeof Sdk.correlateMessage>[0];\ntype correlateMessageBody = (NonNullable<correlateMessageOptions> extends { body?: infer B } ? B : never);\nexport type correlateMessageInput = correlateMessageBody;\ntype createAdminUserOptions = Parameters<typeof Sdk.createAdminUser>[0];\ntype createAdminUserBody = (NonNullable<createAdminUserOptions> extends { body?: infer B } ? B : never);\nexport type createAdminUserInput = createAdminUserBody;\ntype createAuthorizationOptions = Parameters<typeof Sdk.createAuthorization>[0];\ntype createAuthorizationBody = (NonNullable<createAuthorizationOptions> extends { body?: infer B } ? B : never);\nexport type createAuthorizationInput = createAuthorizationBody;\ntype createDeploymentOptions = Parameters<typeof Sdk.createDeployment>[0];\ntype createDeploymentBody = (NonNullable<createDeploymentOptions> extends { body?: infer B } ? B : never);\nexport type createDeploymentInput = Omit<createDeploymentBody, 'resources'> & { resources: File[] };\ntype createDocumentOptions = Parameters<typeof Sdk.createDocument>[0];\ntype createDocumentBody = (NonNullable<createDocumentOptions> extends { body?: infer B } ? B : never);\ntype createDocumentQueryParam_storeId = (NonNullable<createDocumentOptions> extends { query?: { storeId?: infer Q } } ? Q : any);\ntype createDocumentQueryParam_documentId = (NonNullable<createDocumentOptions> extends { query?: { documentId?: infer Q } } ? Q : any);\nexport type createDocumentInput = createDocumentBody & { storeId?: createDocumentQueryParam_storeId; documentId?: createDocumentQueryParam_documentId };\ntype createDocumentLinkOptions = Parameters<typeof Sdk.createDocumentLink>[0];\ntype createDocumentLinkBody = (NonNullable<createDocumentLinkOptions> extends { body?: infer B } ? B : never);\ntype createDocumentLinkPathParam_documentId = (NonNullable<createDocumentLinkOptions> extends { path: { documentId: infer P } } ? P : any);\ntype createDocumentLinkQueryParam_storeId = (NonNullable<createDocumentLinkOptions> extends { query?: { storeId?: infer Q } } ? Q : any);\ntype createDocumentLinkQueryParam_contentHash = (NonNullable<createDocumentLinkOptions> extends { query?: { contentHash?: infer Q } } ? Q : any);\nexport type createDocumentLinkInput = createDocumentLinkBody & { documentId: createDocumentLinkPathParam_documentId; storeId?: createDocumentLinkQueryParam_storeId; contentHash?: createDocumentLinkQueryParam_contentHash };\ntype createDocumentsOptions = Parameters<typeof Sdk.createDocuments>[0];\ntype createDocumentsBody = (NonNullable<createDocumentsOptions> extends { body?: infer B } ? B : never);\ntype createDocumentsQueryParam_storeId = (NonNullable<createDocumentsOptions> extends { query?: { storeId?: infer Q } } ? Q : any);\nexport type createDocumentsInput = createDocumentsBody & { storeId?: createDocumentsQueryParam_storeId };\ntype createElementInstanceVariablesOptions = Parameters<typeof Sdk.createElementInstanceVariables>[0];\ntype createElementInstanceVariablesBody = (NonNullable<createElementInstanceVariablesOptions> extends { body?: infer B } ? B : never);\ntype createElementInstanceVariablesPathParam_elementInstanceKey = (NonNullable<createElementInstanceVariablesOptions> extends { path: { elementInstanceKey: infer P } } ? P : any);\nexport type createElementInstanceVariablesInput = createElementInstanceVariablesBody & { elementInstanceKey: createElementInstanceVariablesPathParam_elementInstanceKey };\ntype createGlobalClusterVariableOptions = Parameters<typeof Sdk.createGlobalClusterVariable>[0];\ntype createGlobalClusterVariableBody = (NonNullable<createGlobalClusterVariableOptions> extends { body?: infer B } ? B : never);\nexport type createGlobalClusterVariableInput = createGlobalClusterVariableBody;\ntype createGlobalTaskListenerOptions = Parameters<typeof Sdk.createGlobalTaskListener>[0];\ntype createGlobalTaskListenerBody = (NonNullable<createGlobalTaskListenerOptions> extends { body?: infer B } ? B : never);\nexport type createGlobalTaskListenerInput = createGlobalTaskListenerBody;\ntype createGroupOptions = Parameters<typeof Sdk.createGroup>[0];\ntype createGroupBody = (NonNullable<createGroupOptions> extends { body?: infer B } ? B : never);\nexport type createGroupInput = createGroupBody;\ntype createMappingRuleOptions = Parameters<typeof Sdk.createMappingRule>[0];\ntype createMappingRuleBody = (NonNullable<createMappingRuleOptions> extends { body?: infer B } ? B : never);\nexport type createMappingRuleInput = createMappingRuleBody;\ntype createProcessInstanceOptions = Parameters<typeof Sdk.createProcessInstance>[0];\ntype createProcessInstanceBody = (NonNullable<createProcessInstanceOptions> extends { body?: infer B } ? B : never);\nexport type createProcessInstanceInput = createProcessInstanceBody;\ntype createRoleOptions = Parameters<typeof Sdk.createRole>[0];\ntype createRoleBody = (NonNullable<createRoleOptions> extends { body?: infer B } ? B : never);\nexport type createRoleInput = createRoleBody;\ntype createTenantOptions = Parameters<typeof Sdk.createTenant>[0];\ntype createTenantBody = (NonNullable<createTenantOptions> extends { body?: infer B } ? B : never);\nexport type createTenantInput = createTenantBody;\ntype createTenantClusterVariableOptions = Parameters<typeof Sdk.createTenantClusterVariable>[0];\ntype createTenantClusterVariableBody = (NonNullable<createTenantClusterVariableOptions> extends { body?: infer B } ? B : never);\ntype createTenantClusterVariablePathParam_tenantId = (NonNullable<createTenantClusterVariableOptions> extends { path: { tenantId: infer P } } ? P : any);\nexport type createTenantClusterVariableInput = createTenantClusterVariableBody & { tenantId: createTenantClusterVariablePathParam_tenantId };\ntype createUserOptions = Parameters<typeof Sdk.createUser>[0];\ntype createUserBody = (NonNullable<createUserOptions> extends { body?: infer B } ? B : never);\nexport type createUserInput = createUserBody;\ntype deleteAuthorizationOptions = Parameters<typeof Sdk.deleteAuthorization>[0];\ntype deleteAuthorizationPathParam_authorizationKey = (NonNullable<deleteAuthorizationOptions> extends { path: { authorizationKey: infer P } } ? P : any);\nexport type deleteAuthorizationInput = { authorizationKey: deleteAuthorizationPathParam_authorizationKey };\ntype deleteDecisionInstanceOptions = Parameters<typeof Sdk.deleteDecisionInstance>[0];\ntype deleteDecisionInstanceBody = (NonNullable<deleteDecisionInstanceOptions> extends { body?: infer B } ? B : never);\ntype deleteDecisionInstancePathParam_decisionEvaluationKey = (NonNullable<deleteDecisionInstanceOptions> extends { path: { decisionEvaluationKey: infer P } } ? P : any);\nexport type deleteDecisionInstanceInput = deleteDecisionInstanceBody & { decisionEvaluationKey: deleteDecisionInstancePathParam_decisionEvaluationKey };\ntype deleteDecisionInstancesBatchOperationOptions = Parameters<typeof Sdk.deleteDecisionInstancesBatchOperation>[0];\ntype deleteDecisionInstancesBatchOperationBody = (NonNullable<deleteDecisionInstancesBatchOperationOptions> extends { body?: infer B } ? B : never);\nexport type deleteDecisionInstancesBatchOperationInput = deleteDecisionInstancesBatchOperationBody;\ntype deleteDocumentOptions = Parameters<typeof Sdk.deleteDocument>[0];\ntype deleteDocumentPathParam_documentId = (NonNullable<deleteDocumentOptions> extends { path: { documentId: infer P } } ? P : any);\ntype deleteDocumentQueryParam_storeId = (NonNullable<deleteDocumentOptions> extends { query?: { storeId?: infer Q } } ? Q : any);\nexport type deleteDocumentInput = { documentId: deleteDocumentPathParam_documentId; storeId?: deleteDocumentQueryParam_storeId };\ntype deleteGlobalClusterVariableOptions = Parameters<typeof Sdk.deleteGlobalClusterVariable>[0];\ntype deleteGlobalClusterVariablePathParam_name = (NonNullable<deleteGlobalClusterVariableOptions> extends { path: { name: infer P } } ? P : any);\nexport type deleteGlobalClusterVariableInput = { name: deleteGlobalClusterVariablePathParam_name };\ntype deleteGlobalTaskListenerOptions = Parameters<typeof Sdk.deleteGlobalTaskListener>[0];\ntype deleteGlobalTaskListenerPathParam_id = (NonNullable<deleteGlobalTaskListenerOptions> extends { path: { id: infer P } } ? P : any);\nexport type deleteGlobalTaskListenerInput = { id: deleteGlobalTaskListenerPathParam_id };\ntype deleteGroupOptions = Parameters<typeof Sdk.deleteGroup>[0];\ntype deleteGroupPathParam_groupId = (NonNullable<deleteGroupOptions> extends { path: { groupId: infer P } } ? P : any);\nexport type deleteGroupInput = { groupId: deleteGroupPathParam_groupId };\ntype deleteMappingRuleOptions = Parameters<typeof Sdk.deleteMappingRule>[0];\ntype deleteMappingRulePathParam_mappingRuleId = (NonNullable<deleteMappingRuleOptions> extends { path: { mappingRuleId: infer P } } ? P : any);\nexport type deleteMappingRuleInput = { mappingRuleId: deleteMappingRulePathParam_mappingRuleId };\ntype deleteProcessInstanceOptions = Parameters<typeof Sdk.deleteProcessInstance>[0];\ntype deleteProcessInstanceBody = (NonNullable<deleteProcessInstanceOptions> extends { body?: infer B } ? B : never);\ntype deleteProcessInstancePathParam_processInstanceKey = (NonNullable<deleteProcessInstanceOptions> extends { path: { processInstanceKey: infer P } } ? P : any);\nexport type deleteProcessInstanceInput = deleteProcessInstanceBody & { processInstanceKey: deleteProcessInstancePathParam_processInstanceKey };\ntype deleteProcessInstancesBatchOperationOptions = Parameters<typeof Sdk.deleteProcessInstancesBatchOperation>[0];\ntype deleteProcessInstancesBatchOperationBody = (NonNullable<deleteProcessInstancesBatchOperationOptions> extends { body?: infer B } ? B : never);\nexport type deleteProcessInstancesBatchOperationInput = deleteProcessInstancesBatchOperationBody;\ntype deleteResourceOptions = Parameters<typeof Sdk.deleteResource>[0];\ntype deleteResourceBody = (NonNullable<deleteResourceOptions> extends { body?: infer B } ? B : never);\ntype deleteResourcePathParam_resourceKey = (NonNullable<deleteResourceOptions> extends { path: { resourceKey: infer P } } ? P : any);\nexport type deleteResourceInput = deleteResourceBody & { resourceKey: deleteResourcePathParam_resourceKey };\ntype deleteRoleOptions = Parameters<typeof Sdk.deleteRole>[0];\ntype deleteRolePathParam_roleId = (NonNullable<deleteRoleOptions> extends { path: { roleId: infer P } } ? P : any);\nexport type deleteRoleInput = { roleId: deleteRolePathParam_roleId };\ntype deleteTenantOptions = Parameters<typeof Sdk.deleteTenant>[0];\ntype deleteTenantPathParam_tenantId = (NonNullable<deleteTenantOptions> extends { path: { tenantId: infer P } } ? P : any);\nexport type deleteTenantInput = { tenantId: deleteTenantPathParam_tenantId };\ntype deleteTenantClusterVariableOptions = Parameters<typeof Sdk.deleteTenantClusterVariable>[0];\ntype deleteTenantClusterVariablePathParam_tenantId = (NonNullable<deleteTenantClusterVariableOptions> extends { path: { tenantId: infer P } } ? P : any);\ntype deleteTenantClusterVariablePathParam_name = (NonNullable<deleteTenantClusterVariableOptions> extends { path: { name: infer P } } ? P : any);\nexport type deleteTenantClusterVariableInput = { tenantId: deleteTenantClusterVariablePathParam_tenantId; name: deleteTenantClusterVariablePathParam_name };\ntype deleteUserOptions = Parameters<typeof Sdk.deleteUser>[0];\ntype deleteUserPathParam_username = (NonNullable<deleteUserOptions> extends { path: { username: infer P } } ? P : any);\nexport type deleteUserInput = { username: deleteUserPathParam_username };\ntype evaluateConditionalsOptions = Parameters<typeof Sdk.evaluateConditionals>[0];\ntype evaluateConditionalsBody = (NonNullable<evaluateConditionalsOptions> extends { body?: infer B } ? B : never);\nexport type evaluateConditionalsInput = evaluateConditionalsBody;\ntype evaluateDecisionOptions = Parameters<typeof Sdk.evaluateDecision>[0];\ntype evaluateDecisionBody = (NonNullable<evaluateDecisionOptions> extends { body?: infer B } ? B : never);\nexport type evaluateDecisionInput = evaluateDecisionBody;\ntype evaluateExpressionOptions = Parameters<typeof Sdk.evaluateExpression>[0];\ntype evaluateExpressionBody = (NonNullable<evaluateExpressionOptions> extends { body?: infer B } ? B : never);\nexport type evaluateExpressionInput = evaluateExpressionBody;\ntype failJobOptions = Parameters<typeof Sdk.failJob>[0];\ntype failJobBody = (NonNullable<failJobOptions> extends { body?: infer B } ? B : never);\ntype failJobPathParam_jobKey = (NonNullable<failJobOptions> extends { path: { jobKey: infer P } } ? P : any);\nexport type failJobInput = failJobBody & { jobKey: failJobPathParam_jobKey };\ntype getAuditLogOptions = Parameters<typeof Sdk.getAuditLog>[0];\ntype getAuditLogPathParam_auditLogKey = (NonNullable<getAuditLogOptions> extends { path: { auditLogKey: infer P } } ? P : any);\nexport type getAuditLogInput = { auditLogKey: getAuditLogPathParam_auditLogKey };\n/** Management of eventual consistency **/\nexport type getAuditLogConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getAuditLog>> \n};\ntype getAuthenticationOptions = Parameters<typeof Sdk.getAuthentication>[0];\nexport type getAuthenticationInput = void;\ntype getAuthorizationOptions = Parameters<typeof Sdk.getAuthorization>[0];\ntype getAuthorizationPathParam_authorizationKey = (NonNullable<getAuthorizationOptions> extends { path: { authorizationKey: infer P } } ? P : any);\nexport type getAuthorizationInput = { authorizationKey: getAuthorizationPathParam_authorizationKey };\n/** Management of eventual consistency **/\nexport type getAuthorizationConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getAuthorization>> \n};\ntype getBatchOperationOptions = Parameters<typeof Sdk.getBatchOperation>[0];\ntype getBatchOperationPathParam_batchOperationKey = (NonNullable<getBatchOperationOptions> extends { path: { batchOperationKey: infer P } } ? P : any);\nexport type getBatchOperationInput = { batchOperationKey: getBatchOperationPathParam_batchOperationKey };\n/** Management of eventual consistency **/\nexport type getBatchOperationConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getBatchOperation>> \n};\ntype getDecisionDefinitionOptions = Parameters<typeof Sdk.getDecisionDefinition>[0];\ntype getDecisionDefinitionPathParam_decisionDefinitionKey = (NonNullable<getDecisionDefinitionOptions> extends { path: { decisionDefinitionKey: infer P } } ? P : any);\nexport type getDecisionDefinitionInput = { decisionDefinitionKey: getDecisionDefinitionPathParam_decisionDefinitionKey };\n/** Management of eventual consistency **/\nexport type getDecisionDefinitionConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getDecisionDefinition>> \n};\ntype getDecisionDefinitionXmlOptions = Parameters<typeof Sdk.getDecisionDefinitionXml>[0];\ntype getDecisionDefinitionXmlPathParam_decisionDefinitionKey = (NonNullable<getDecisionDefinitionXmlOptions> extends { path: { decisionDefinitionKey: infer P } } ? P : any);\nexport type getDecisionDefinitionXmlInput = { decisionDefinitionKey: getDecisionDefinitionXmlPathParam_decisionDefinitionKey };\n/** Management of eventual consistency **/\nexport type getDecisionDefinitionXmlConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getDecisionDefinitionXml>> \n};\ntype getDecisionInstanceOptions = Parameters<typeof Sdk.getDecisionInstance>[0];\ntype getDecisionInstancePathParam_decisionEvaluationInstanceKey = (NonNullable<getDecisionInstanceOptions> extends { path: { decisionEvaluationInstanceKey: infer P } } ? P : any);\nexport type getDecisionInstanceInput = { decisionEvaluationInstanceKey: getDecisionInstancePathParam_decisionEvaluationInstanceKey };\n/** Management of eventual consistency **/\nexport type getDecisionInstanceConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getDecisionInstance>> \n};\ntype getDecisionRequirementsOptions = Parameters<typeof Sdk.getDecisionRequirements>[0];\ntype getDecisionRequirementsPathParam_decisionRequirementsKey = (NonNullable<getDecisionRequirementsOptions> extends { path: { decisionRequirementsKey: infer P } } ? P : any);\nexport type getDecisionRequirementsInput = { decisionRequirementsKey: getDecisionRequirementsPathParam_decisionRequirementsKey };\n/** Management of eventual consistency **/\nexport type getDecisionRequirementsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getDecisionRequirements>> \n};\ntype getDecisionRequirementsXmlOptions = Parameters<typeof Sdk.getDecisionRequirementsXml>[0];\ntype getDecisionRequirementsXmlPathParam_decisionRequirementsKey = (NonNullable<getDecisionRequirementsXmlOptions> extends { path: { decisionRequirementsKey: infer P } } ? P : any);\nexport type getDecisionRequirementsXmlInput = { decisionRequirementsKey: getDecisionRequirementsXmlPathParam_decisionRequirementsKey };\n/** Management of eventual consistency **/\nexport type getDecisionRequirementsXmlConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getDecisionRequirementsXml>> \n};\ntype getDocumentOptions = Parameters<typeof Sdk.getDocument>[0];\ntype getDocumentPathParam_documentId = (NonNullable<getDocumentOptions> extends { path: { documentId: infer P } } ? P : any);\ntype getDocumentQueryParam_storeId = (NonNullable<getDocumentOptions> extends { query?: { storeId?: infer Q } } ? Q : any);\ntype getDocumentQueryParam_contentHash = (NonNullable<getDocumentOptions> extends { query?: { contentHash?: infer Q } } ? Q : any);\nexport type getDocumentInput = { documentId: getDocumentPathParam_documentId; storeId?: getDocumentQueryParam_storeId; contentHash?: getDocumentQueryParam_contentHash };\ntype getElementInstanceOptions = Parameters<typeof Sdk.getElementInstance>[0];\ntype getElementInstancePathParam_elementInstanceKey = (NonNullable<getElementInstanceOptions> extends { path: { elementInstanceKey: infer P } } ? P : any);\nexport type getElementInstanceInput = { elementInstanceKey: getElementInstancePathParam_elementInstanceKey };\n/** Management of eventual consistency **/\nexport type getElementInstanceConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getElementInstance>> \n};\ntype getGlobalClusterVariableOptions = Parameters<typeof Sdk.getGlobalClusterVariable>[0];\ntype getGlobalClusterVariablePathParam_name = (NonNullable<getGlobalClusterVariableOptions> extends { path: { name: infer P } } ? P : any);\nexport type getGlobalClusterVariableInput = { name: getGlobalClusterVariablePathParam_name };\n/** Management of eventual consistency **/\nexport type getGlobalClusterVariableConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getGlobalClusterVariable>> \n};\ntype getGlobalJobStatisticsOptions = Parameters<typeof Sdk.getGlobalJobStatistics>[0];\ntype getGlobalJobStatisticsQueryParam_from = (NonNullable<getGlobalJobStatisticsOptions> extends { query?: { from?: infer Q } } ? Q : any);\ntype getGlobalJobStatisticsQueryParam_to = (NonNullable<getGlobalJobStatisticsOptions> extends { query?: { to?: infer Q } } ? Q : any);\ntype getGlobalJobStatisticsQueryParam_jobType = (NonNullable<getGlobalJobStatisticsOptions> extends { query?: { jobType?: infer Q } } ? Q : any);\nexport type getGlobalJobStatisticsInput = { from: getGlobalJobStatisticsQueryParam_from; to: getGlobalJobStatisticsQueryParam_to; jobType?: getGlobalJobStatisticsQueryParam_jobType };\n/** Management of eventual consistency **/\nexport type getGlobalJobStatisticsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getGlobalJobStatistics>> \n};\ntype getGlobalTaskListenerOptions = Parameters<typeof Sdk.getGlobalTaskListener>[0];\ntype getGlobalTaskListenerPathParam_id = (NonNullable<getGlobalTaskListenerOptions> extends { path: { id: infer P } } ? P : any);\nexport type getGlobalTaskListenerInput = { id: getGlobalTaskListenerPathParam_id };\n/** Management of eventual consistency **/\nexport type getGlobalTaskListenerConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getGlobalTaskListener>> \n};\ntype getGroupOptions = Parameters<typeof Sdk.getGroup>[0];\ntype getGroupPathParam_groupId = (NonNullable<getGroupOptions> extends { path: { groupId: infer P } } ? P : any);\nexport type getGroupInput = { groupId: getGroupPathParam_groupId };\n/** Management of eventual consistency **/\nexport type getGroupConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getGroup>> \n};\ntype getIncidentOptions = Parameters<typeof Sdk.getIncident>[0];\ntype getIncidentPathParam_incidentKey = (NonNullable<getIncidentOptions> extends { path: { incidentKey: infer P } } ? P : any);\nexport type getIncidentInput = { incidentKey: getIncidentPathParam_incidentKey };\n/** Management of eventual consistency **/\nexport type getIncidentConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getIncident>> \n};\ntype getJobErrorStatisticsOptions = Parameters<typeof Sdk.getJobErrorStatistics>[0];\ntype getJobErrorStatisticsBody = (NonNullable<getJobErrorStatisticsOptions> extends { body?: infer B } ? B : never);\nexport type getJobErrorStatisticsInput = getJobErrorStatisticsBody;\n/** Management of eventual consistency **/\nexport type getJobErrorStatisticsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getJobErrorStatistics>> \n};\ntype getJobTimeSeriesStatisticsOptions = Parameters<typeof Sdk.getJobTimeSeriesStatistics>[0];\ntype getJobTimeSeriesStatisticsBody = (NonNullable<getJobTimeSeriesStatisticsOptions> extends { body?: infer B } ? B : never);\nexport type getJobTimeSeriesStatisticsInput = getJobTimeSeriesStatisticsBody;\n/** Management of eventual consistency **/\nexport type getJobTimeSeriesStatisticsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getJobTimeSeriesStatistics>> \n};\ntype getJobTypeStatisticsOptions = Parameters<typeof Sdk.getJobTypeStatistics>[0];\ntype getJobTypeStatisticsBody = (NonNullable<getJobTypeStatisticsOptions> extends { body?: infer B } ? B : never);\nexport type getJobTypeStatisticsInput = getJobTypeStatisticsBody;\n/** Management of eventual consistency **/\nexport type getJobTypeStatisticsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getJobTypeStatistics>> \n};\ntype getJobWorkerStatisticsOptions = Parameters<typeof Sdk.getJobWorkerStatistics>[0];\ntype getJobWorkerStatisticsBody = (NonNullable<getJobWorkerStatisticsOptions> extends { body?: infer B } ? B : never);\nexport type getJobWorkerStatisticsInput = getJobWorkerStatisticsBody;\n/** Management of eventual consistency **/\nexport type getJobWorkerStatisticsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getJobWorkerStatistics>> \n};\ntype getLicenseOptions = Parameters<typeof Sdk.getLicense>[0];\nexport type getLicenseInput = void;\ntype getMappingRuleOptions = Parameters<typeof Sdk.getMappingRule>[0];\ntype getMappingRulePathParam_mappingRuleId = (NonNullable<getMappingRuleOptions> extends { path: { mappingRuleId: infer P } } ? P : any);\nexport type getMappingRuleInput = { mappingRuleId: getMappingRulePathParam_mappingRuleId };\n/** Management of eventual consistency **/\nexport type getMappingRuleConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getMappingRule>> \n};\ntype getProcessDefinitionOptions = Parameters<typeof Sdk.getProcessDefinition>[0];\ntype getProcessDefinitionPathParam_processDefinitionKey = (NonNullable<getProcessDefinitionOptions> extends { path: { processDefinitionKey: infer P } } ? P : any);\nexport type getProcessDefinitionInput = { processDefinitionKey: getProcessDefinitionPathParam_processDefinitionKey };\n/** Management of eventual consistency **/\nexport type getProcessDefinitionConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getProcessDefinition>> \n};\ntype getProcessDefinitionInstanceStatisticsOptions = Parameters<typeof Sdk.getProcessDefinitionInstanceStatistics>[0];\ntype getProcessDefinitionInstanceStatisticsBody = (NonNullable<getProcessDefinitionInstanceStatisticsOptions> extends { body?: infer B } ? B : never);\nexport type getProcessDefinitionInstanceStatisticsInput = getProcessDefinitionInstanceStatisticsBody;\n/** Management of eventual consistency **/\nexport type getProcessDefinitionInstanceStatisticsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getProcessDefinitionInstanceStatistics>> \n};\ntype getProcessDefinitionInstanceVersionStatisticsOptions = Parameters<typeof Sdk.getProcessDefinitionInstanceVersionStatistics>[0];\ntype getProcessDefinitionInstanceVersionStatisticsBody = (NonNullable<getProcessDefinitionInstanceVersionStatisticsOptions> extends { body?: infer B } ? B : never);\nexport type getProcessDefinitionInstanceVersionStatisticsInput = getProcessDefinitionInstanceVersionStatisticsBody;\n/** Management of eventual consistency **/\nexport type getProcessDefinitionInstanceVersionStatisticsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getProcessDefinitionInstanceVersionStatistics>> \n};\ntype getProcessDefinitionMessageSubscriptionStatisticsOptions = Parameters<typeof Sdk.getProcessDefinitionMessageSubscriptionStatistics>[0];\ntype getProcessDefinitionMessageSubscriptionStatisticsBody = (NonNullable<getProcessDefinitionMessageSubscriptionStatisticsOptions> extends { body?: infer B } ? B : never);\nexport type getProcessDefinitionMessageSubscriptionStatisticsInput = getProcessDefinitionMessageSubscriptionStatisticsBody;\n/** Management of eventual consistency **/\nexport type getProcessDefinitionMessageSubscriptionStatisticsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getProcessDefinitionMessageSubscriptionStatistics>> \n};\ntype getProcessDefinitionStatisticsOptions = Parameters<typeof Sdk.getProcessDefinitionStatistics>[0];\ntype getProcessDefinitionStatisticsBody = (NonNullable<getProcessDefinitionStatisticsOptions> extends { body?: infer B } ? B : never);\ntype getProcessDefinitionStatisticsPathParam_processDefinitionKey = (NonNullable<getProcessDefinitionStatisticsOptions> extends { path: { processDefinitionKey: infer P } } ? P : any);\nexport type getProcessDefinitionStatisticsInput = getProcessDefinitionStatisticsBody & { processDefinitionKey: getProcessDefinitionStatisticsPathParam_processDefinitionKey };\n/** Management of eventual consistency **/\nexport type getProcessDefinitionStatisticsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getProcessDefinitionStatistics>> \n};\ntype getProcessDefinitionXmlOptions = Parameters<typeof Sdk.getProcessDefinitionXml>[0];\ntype getProcessDefinitionXmlPathParam_processDefinitionKey = (NonNullable<getProcessDefinitionXmlOptions> extends { path: { processDefinitionKey: infer P } } ? P : any);\nexport type getProcessDefinitionXmlInput = { processDefinitionKey: getProcessDefinitionXmlPathParam_processDefinitionKey };\n/** Management of eventual consistency **/\nexport type getProcessDefinitionXmlConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getProcessDefinitionXml>> \n};\ntype getProcessInstanceOptions = Parameters<typeof Sdk.getProcessInstance>[0];\ntype getProcessInstancePathParam_processInstanceKey = (NonNullable<getProcessInstanceOptions> extends { path: { processInstanceKey: infer P } } ? P : any);\nexport type getProcessInstanceInput = { processInstanceKey: getProcessInstancePathParam_processInstanceKey };\n/** Management of eventual consistency **/\nexport type getProcessInstanceConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getProcessInstance>> \n};\ntype getProcessInstanceCallHierarchyOptions = Parameters<typeof Sdk.getProcessInstanceCallHierarchy>[0];\ntype getProcessInstanceCallHierarchyPathParam_processInstanceKey = (NonNullable<getProcessInstanceCallHierarchyOptions> extends { path: { processInstanceKey: infer P } } ? P : any);\nexport type getProcessInstanceCallHierarchyInput = { processInstanceKey: getProcessInstanceCallHierarchyPathParam_processInstanceKey };\n/** Management of eventual consistency **/\nexport type getProcessInstanceCallHierarchyConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getProcessInstanceCallHierarchy>> \n};\ntype getProcessInstanceSequenceFlowsOptions = Parameters<typeof Sdk.getProcessInstanceSequenceFlows>[0];\ntype getProcessInstanceSequenceFlowsPathParam_processInstanceKey = (NonNullable<getProcessInstanceSequenceFlowsOptions> extends { path: { processInstanceKey: infer P } } ? P : any);\nexport type getProcessInstanceSequenceFlowsInput = { processInstanceKey: getProcessInstanceSequenceFlowsPathParam_processInstanceKey };\n/** Management of eventual consistency **/\nexport type getProcessInstanceSequenceFlowsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getProcessInstanceSequenceFlows>> \n};\ntype getProcessInstanceStatisticsOptions = Parameters<typeof Sdk.getProcessInstanceStatistics>[0];\ntype getProcessInstanceStatisticsPathParam_processInstanceKey = (NonNullable<getProcessInstanceStatisticsOptions> extends { path: { processInstanceKey: infer P } } ? P : any);\nexport type getProcessInstanceStatisticsInput = { processInstanceKey: getProcessInstanceStatisticsPathParam_processInstanceKey };\n/** Management of eventual consistency **/\nexport type getProcessInstanceStatisticsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getProcessInstanceStatistics>> \n};\ntype getProcessInstanceStatisticsByDefinitionOptions = Parameters<typeof Sdk.getProcessInstanceStatisticsByDefinition>[0];\ntype getProcessInstanceStatisticsByDefinitionBody = (NonNullable<getProcessInstanceStatisticsByDefinitionOptions> extends { body?: infer B } ? B : never);\nexport type getProcessInstanceStatisticsByDefinitionInput = getProcessInstanceStatisticsByDefinitionBody;\n/** Management of eventual consistency **/\nexport type getProcessInstanceStatisticsByDefinitionConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getProcessInstanceStatisticsByDefinition>> \n};\ntype getProcessInstanceStatisticsByErrorOptions = Parameters<typeof Sdk.getProcessInstanceStatisticsByError>[0];\ntype getProcessInstanceStatisticsByErrorBody = (NonNullable<getProcessInstanceStatisticsByErrorOptions> extends { body?: infer B } ? B : never);\nexport type getProcessInstanceStatisticsByErrorInput = getProcessInstanceStatisticsByErrorBody;\n/** Management of eventual consistency **/\nexport type getProcessInstanceStatisticsByErrorConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getProcessInstanceStatisticsByError>> \n};\ntype getResourceOptions = Parameters<typeof Sdk.getResource>[0];\ntype getResourcePathParam_resourceKey = (NonNullable<getResourceOptions> extends { path: { resourceKey: infer P } } ? P : any);\nexport type getResourceInput = { resourceKey: getResourcePathParam_resourceKey };\ntype getResourceContentOptions = Parameters<typeof Sdk.getResourceContent>[0];\ntype getResourceContentPathParam_resourceKey = (NonNullable<getResourceContentOptions> extends { path: { resourceKey: infer P } } ? P : any);\nexport type getResourceContentInput = { resourceKey: getResourceContentPathParam_resourceKey };\ntype getRoleOptions = Parameters<typeof Sdk.getRole>[0];\ntype getRolePathParam_roleId = (NonNullable<getRoleOptions> extends { path: { roleId: infer P } } ? P : any);\nexport type getRoleInput = { roleId: getRolePathParam_roleId };\n/** Management of eventual consistency **/\nexport type getRoleConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getRole>> \n};\ntype getStartProcessFormOptions = Parameters<typeof Sdk.getStartProcessForm>[0];\ntype getStartProcessFormPathParam_processDefinitionKey = (NonNullable<getStartProcessFormOptions> extends { path: { processDefinitionKey: infer P } } ? P : any);\nexport type getStartProcessFormInput = { processDefinitionKey: getStartProcessFormPathParam_processDefinitionKey };\n/** Management of eventual consistency **/\nexport type getStartProcessFormConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getStartProcessForm>> \n};\ntype getStatusOptions = Parameters<typeof Sdk.getStatus>[0];\nexport type getStatusInput = void;\ntype getSystemConfigurationOptions = Parameters<typeof Sdk.getSystemConfiguration>[0];\nexport type getSystemConfigurationInput = void;\ntype getTenantOptions = Parameters<typeof Sdk.getTenant>[0];\ntype getTenantPathParam_tenantId = (NonNullable<getTenantOptions> extends { path: { tenantId: infer P } } ? P : any);\nexport type getTenantInput = { tenantId: getTenantPathParam_tenantId };\n/** Management of eventual consistency **/\nexport type getTenantConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getTenant>> \n};\ntype getTenantClusterVariableOptions = Parameters<typeof Sdk.getTenantClusterVariable>[0];\ntype getTenantClusterVariablePathParam_tenantId = (NonNullable<getTenantClusterVariableOptions> extends { path: { tenantId: infer P } } ? P : any);\ntype getTenantClusterVariablePathParam_name = (NonNullable<getTenantClusterVariableOptions> extends { path: { name: infer P } } ? P : any);\nexport type getTenantClusterVariableInput = { tenantId: getTenantClusterVariablePathParam_tenantId; name: getTenantClusterVariablePathParam_name };\n/** Management of eventual consistency **/\nexport type getTenantClusterVariableConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getTenantClusterVariable>> \n};\ntype getTopologyOptions = Parameters<typeof Sdk.getTopology>[0];\nexport type getTopologyInput = void;\ntype getUsageMetricsOptions = Parameters<typeof Sdk.getUsageMetrics>[0];\ntype getUsageMetricsQueryParam_startTime = (NonNullable<getUsageMetricsOptions> extends { query?: { startTime?: infer Q } } ? Q : any);\ntype getUsageMetricsQueryParam_endTime = (NonNullable<getUsageMetricsOptions> extends { query?: { endTime?: infer Q } } ? Q : any);\ntype getUsageMetricsQueryParam_tenantId = (NonNullable<getUsageMetricsOptions> extends { query?: { tenantId?: infer Q } } ? Q : any);\ntype getUsageMetricsQueryParam_withTenants = (NonNullable<getUsageMetricsOptions> extends { query?: { withTenants?: infer Q } } ? Q : any);\nexport type getUsageMetricsInput = { startTime: getUsageMetricsQueryParam_startTime; endTime: getUsageMetricsQueryParam_endTime; tenantId?: getUsageMetricsQueryParam_tenantId; withTenants?: getUsageMetricsQueryParam_withTenants };\n/** Management of eventual consistency **/\nexport type getUsageMetricsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getUsageMetrics>> \n};\ntype getUserOptions = Parameters<typeof Sdk.getUser>[0];\ntype getUserPathParam_username = (NonNullable<getUserOptions> extends { path: { username: infer P } } ? P : any);\nexport type getUserInput = { username: getUserPathParam_username };\n/** Management of eventual consistency **/\nexport type getUserConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getUser>> \n};\ntype getUserTaskOptions = Parameters<typeof Sdk.getUserTask>[0];\ntype getUserTaskPathParam_userTaskKey = (NonNullable<getUserTaskOptions> extends { path: { userTaskKey: infer P } } ? P : any);\nexport type getUserTaskInput = { userTaskKey: getUserTaskPathParam_userTaskKey };\n/** Management of eventual consistency **/\nexport type getUserTaskConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getUserTask>> \n};\ntype getUserTaskFormOptions = Parameters<typeof Sdk.getUserTaskForm>[0];\ntype getUserTaskFormPathParam_userTaskKey = (NonNullable<getUserTaskFormOptions> extends { path: { userTaskKey: infer P } } ? P : any);\nexport type getUserTaskFormInput = { userTaskKey: getUserTaskFormPathParam_userTaskKey };\n/** Management of eventual consistency **/\nexport type getUserTaskFormConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getUserTaskForm>> \n};\ntype getVariableOptions = Parameters<typeof Sdk.getVariable>[0];\ntype getVariablePathParam_variableKey = (NonNullable<getVariableOptions> extends { path: { variableKey: infer P } } ? P : any);\nexport type getVariableInput = { variableKey: getVariablePathParam_variableKey };\n/** Management of eventual consistency **/\nexport type getVariableConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.getVariable>> \n};\ntype migrateProcessInstanceOptions = Parameters<typeof Sdk.migrateProcessInstance>[0];\ntype migrateProcessInstanceBody = (NonNullable<migrateProcessInstanceOptions> extends { body?: infer B } ? B : never);\ntype migrateProcessInstancePathParam_processInstanceKey = (NonNullable<migrateProcessInstanceOptions> extends { path: { processInstanceKey: infer P } } ? P : any);\nexport type migrateProcessInstanceInput = migrateProcessInstanceBody & { processInstanceKey: migrateProcessInstancePathParam_processInstanceKey };\ntype migrateProcessInstancesBatchOperationOptions = Parameters<typeof Sdk.migrateProcessInstancesBatchOperation>[0];\ntype migrateProcessInstancesBatchOperationBody = (NonNullable<migrateProcessInstancesBatchOperationOptions> extends { body?: infer B } ? B : never);\nexport type migrateProcessInstancesBatchOperationInput = migrateProcessInstancesBatchOperationBody;\ntype modifyProcessInstanceOptions = Parameters<typeof Sdk.modifyProcessInstance>[0];\ntype modifyProcessInstanceBody = (NonNullable<modifyProcessInstanceOptions> extends { body?: infer B } ? B : never);\ntype modifyProcessInstancePathParam_processInstanceKey = (NonNullable<modifyProcessInstanceOptions> extends { path: { processInstanceKey: infer P } } ? P : any);\nexport type modifyProcessInstanceInput = modifyProcessInstanceBody & { processInstanceKey: modifyProcessInstancePathParam_processInstanceKey };\ntype modifyProcessInstancesBatchOperationOptions = Parameters<typeof Sdk.modifyProcessInstancesBatchOperation>[0];\ntype modifyProcessInstancesBatchOperationBody = (NonNullable<modifyProcessInstancesBatchOperationOptions> extends { body?: infer B } ? B : never);\nexport type modifyProcessInstancesBatchOperationInput = modifyProcessInstancesBatchOperationBody;\ntype pinClockOptions = Parameters<typeof Sdk.pinClock>[0];\ntype pinClockBody = (NonNullable<pinClockOptions> extends { body?: infer B } ? B : never);\nexport type pinClockInput = pinClockBody;\ntype publishMessageOptions = Parameters<typeof Sdk.publishMessage>[0];\ntype publishMessageBody = (NonNullable<publishMessageOptions> extends { body?: infer B } ? B : never);\nexport type publishMessageInput = publishMessageBody;\ntype resetClockOptions = Parameters<typeof Sdk.resetClock>[0];\nexport type resetClockInput = void;\ntype resolveIncidentOptions = Parameters<typeof Sdk.resolveIncident>[0];\ntype resolveIncidentBody = (NonNullable<resolveIncidentOptions> extends { body?: infer B } ? B : never);\ntype resolveIncidentPathParam_incidentKey = (NonNullable<resolveIncidentOptions> extends { path: { incidentKey: infer P } } ? P : any);\nexport type resolveIncidentInput = resolveIncidentBody & { incidentKey: resolveIncidentPathParam_incidentKey };\ntype resolveIncidentsBatchOperationOptions = Parameters<typeof Sdk.resolveIncidentsBatchOperation>[0];\ntype resolveIncidentsBatchOperationBody = (NonNullable<resolveIncidentsBatchOperationOptions> extends { body?: infer B } ? B : never);\nexport type resolveIncidentsBatchOperationInput = resolveIncidentsBatchOperationBody;\ntype resolveProcessInstanceIncidentsOptions = Parameters<typeof Sdk.resolveProcessInstanceIncidents>[0];\ntype resolveProcessInstanceIncidentsPathParam_processInstanceKey = (NonNullable<resolveProcessInstanceIncidentsOptions> extends { path: { processInstanceKey: infer P } } ? P : any);\nexport type resolveProcessInstanceIncidentsInput = { processInstanceKey: resolveProcessInstanceIncidentsPathParam_processInstanceKey };\ntype resumeBatchOperationOptions = Parameters<typeof Sdk.resumeBatchOperation>[0];\ntype resumeBatchOperationBody = (NonNullable<resumeBatchOperationOptions> extends { body?: infer B } ? B : never);\ntype resumeBatchOperationPathParam_batchOperationKey = (NonNullable<resumeBatchOperationOptions> extends { path: { batchOperationKey: infer P } } ? P : any);\nexport type resumeBatchOperationInput = resumeBatchOperationBody & { batchOperationKey: resumeBatchOperationPathParam_batchOperationKey };\ntype searchAuditLogsOptions = Parameters<typeof Sdk.searchAuditLogs>[0];\ntype searchAuditLogsBody = (NonNullable<searchAuditLogsOptions> extends { body?: infer B } ? B : never);\nexport type searchAuditLogsInput = searchAuditLogsBody;\n/** Management of eventual consistency **/\nexport type searchAuditLogsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchAuditLogs>> \n};\ntype searchAuthorizationsOptions = Parameters<typeof Sdk.searchAuthorizations>[0];\ntype searchAuthorizationsBody = (NonNullable<searchAuthorizationsOptions> extends { body?: infer B } ? B : never);\nexport type searchAuthorizationsInput = searchAuthorizationsBody;\n/** Management of eventual consistency **/\nexport type searchAuthorizationsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchAuthorizations>> \n};\ntype searchBatchOperationItemsOptions = Parameters<typeof Sdk.searchBatchOperationItems>[0];\ntype searchBatchOperationItemsBody = (NonNullable<searchBatchOperationItemsOptions> extends { body?: infer B } ? B : never);\nexport type searchBatchOperationItemsInput = searchBatchOperationItemsBody;\n/** Management of eventual consistency **/\nexport type searchBatchOperationItemsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchBatchOperationItems>> \n};\ntype searchBatchOperationsOptions = Parameters<typeof Sdk.searchBatchOperations>[0];\ntype searchBatchOperationsBody = (NonNullable<searchBatchOperationsOptions> extends { body?: infer B } ? B : never);\nexport type searchBatchOperationsInput = searchBatchOperationsBody;\n/** Management of eventual consistency **/\nexport type searchBatchOperationsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchBatchOperations>> \n};\ntype searchClientsForGroupOptions = Parameters<typeof Sdk.searchClientsForGroup>[0];\ntype searchClientsForGroupBody = (NonNullable<searchClientsForGroupOptions> extends { body?: infer B } ? B : never);\ntype searchClientsForGroupPathParam_groupId = (NonNullable<searchClientsForGroupOptions> extends { path: { groupId: infer P } } ? P : any);\nexport type searchClientsForGroupInput = searchClientsForGroupBody & { groupId: searchClientsForGroupPathParam_groupId };\n/** Management of eventual consistency **/\nexport type searchClientsForGroupConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchClientsForGroup>> \n};\ntype searchClientsForRoleOptions = Parameters<typeof Sdk.searchClientsForRole>[0];\ntype searchClientsForRoleBody = (NonNullable<searchClientsForRoleOptions> extends { body?: infer B } ? B : never);\ntype searchClientsForRolePathParam_roleId = (NonNullable<searchClientsForRoleOptions> extends { path: { roleId: infer P } } ? P : any);\nexport type searchClientsForRoleInput = searchClientsForRoleBody & { roleId: searchClientsForRolePathParam_roleId };\n/** Management of eventual consistency **/\nexport type searchClientsForRoleConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchClientsForRole>> \n};\ntype searchClientsForTenantOptions = Parameters<typeof Sdk.searchClientsForTenant>[0];\ntype searchClientsForTenantBody = (NonNullable<searchClientsForTenantOptions> extends { body?: infer B } ? B : never);\ntype searchClientsForTenantPathParam_tenantId = (NonNullable<searchClientsForTenantOptions> extends { path: { tenantId: infer P } } ? P : any);\nexport type searchClientsForTenantInput = searchClientsForTenantBody & { tenantId: searchClientsForTenantPathParam_tenantId };\n/** Management of eventual consistency **/\nexport type searchClientsForTenantConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchClientsForTenant>> \n};\ntype searchClusterVariablesOptions = Parameters<typeof Sdk.searchClusterVariables>[0];\ntype searchClusterVariablesBody = (NonNullable<searchClusterVariablesOptions> extends { body?: infer B } ? B : never);\ntype searchClusterVariablesQueryParam_truncateValues = (NonNullable<searchClusterVariablesOptions> extends { query?: { truncateValues?: infer Q } } ? Q : any);\nexport type searchClusterVariablesInput = searchClusterVariablesBody & { truncateValues?: searchClusterVariablesQueryParam_truncateValues };\n/** Management of eventual consistency **/\nexport type searchClusterVariablesConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchClusterVariables>> \n};\ntype searchCorrelatedMessageSubscriptionsOptions = Parameters<typeof Sdk.searchCorrelatedMessageSubscriptions>[0];\ntype searchCorrelatedMessageSubscriptionsBody = (NonNullable<searchCorrelatedMessageSubscriptionsOptions> extends { body?: infer B } ? B : never);\nexport type searchCorrelatedMessageSubscriptionsInput = searchCorrelatedMessageSubscriptionsBody;\n/** Management of eventual consistency **/\nexport type searchCorrelatedMessageSubscriptionsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchCorrelatedMessageSubscriptions>> \n};\ntype searchDecisionDefinitionsOptions = Parameters<typeof Sdk.searchDecisionDefinitions>[0];\ntype searchDecisionDefinitionsBody = (NonNullable<searchDecisionDefinitionsOptions> extends { body?: infer B } ? B : never);\nexport type searchDecisionDefinitionsInput = searchDecisionDefinitionsBody;\n/** Management of eventual consistency **/\nexport type searchDecisionDefinitionsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchDecisionDefinitions>> \n};\ntype searchDecisionInstancesOptions = Parameters<typeof Sdk.searchDecisionInstances>[0];\ntype searchDecisionInstancesBody = (NonNullable<searchDecisionInstancesOptions> extends { body?: infer B } ? B : never);\nexport type searchDecisionInstancesInput = searchDecisionInstancesBody;\n/** Management of eventual consistency **/\nexport type searchDecisionInstancesConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchDecisionInstances>> \n};\ntype searchDecisionRequirementsOptions = Parameters<typeof Sdk.searchDecisionRequirements>[0];\ntype searchDecisionRequirementsBody = (NonNullable<searchDecisionRequirementsOptions> extends { body?: infer B } ? B : never);\nexport type searchDecisionRequirementsInput = searchDecisionRequirementsBody;\n/** Management of eventual consistency **/\nexport type searchDecisionRequirementsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchDecisionRequirements>> \n};\ntype searchElementInstanceIncidentsOptions = Parameters<typeof Sdk.searchElementInstanceIncidents>[0];\ntype searchElementInstanceIncidentsBody = (NonNullable<searchElementInstanceIncidentsOptions> extends { body?: infer B } ? B : never);\ntype searchElementInstanceIncidentsPathParam_elementInstanceKey = (NonNullable<searchElementInstanceIncidentsOptions> extends { path: { elementInstanceKey: infer P } } ? P : any);\nexport type searchElementInstanceIncidentsInput = searchElementInstanceIncidentsBody & { elementInstanceKey: searchElementInstanceIncidentsPathParam_elementInstanceKey };\n/** Management of eventual consistency **/\nexport type searchElementInstanceIncidentsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchElementInstanceIncidents>> \n};\ntype searchElementInstancesOptions = Parameters<typeof Sdk.searchElementInstances>[0];\ntype searchElementInstancesBody = (NonNullable<searchElementInstancesOptions> extends { body?: infer B } ? B : never);\nexport type searchElementInstancesInput = searchElementInstancesBody;\n/** Management of eventual consistency **/\nexport type searchElementInstancesConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchElementInstances>> \n};\ntype searchGlobalTaskListenersOptions = Parameters<typeof Sdk.searchGlobalTaskListeners>[0];\ntype searchGlobalTaskListenersBody = (NonNullable<searchGlobalTaskListenersOptions> extends { body?: infer B } ? B : never);\nexport type searchGlobalTaskListenersInput = searchGlobalTaskListenersBody;\n/** Management of eventual consistency **/\nexport type searchGlobalTaskListenersConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchGlobalTaskListeners>> \n};\ntype searchGroupIdsForTenantOptions = Parameters<typeof Sdk.searchGroupIdsForTenant>[0];\ntype searchGroupIdsForTenantBody = (NonNullable<searchGroupIdsForTenantOptions> extends { body?: infer B } ? B : never);\ntype searchGroupIdsForTenantPathParam_tenantId = (NonNullable<searchGroupIdsForTenantOptions> extends { path: { tenantId: infer P } } ? P : any);\nexport type searchGroupIdsForTenantInput = searchGroupIdsForTenantBody & { tenantId: searchGroupIdsForTenantPathParam_tenantId };\n/** Management of eventual consistency **/\nexport type searchGroupIdsForTenantConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchGroupIdsForTenant>> \n};\ntype searchGroupsOptions = Parameters<typeof Sdk.searchGroups>[0];\ntype searchGroupsBody = (NonNullable<searchGroupsOptions> extends { body?: infer B } ? B : never);\nexport type searchGroupsInput = searchGroupsBody;\n/** Management of eventual consistency **/\nexport type searchGroupsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchGroups>> \n};\ntype searchGroupsForRoleOptions = Parameters<typeof Sdk.searchGroupsForRole>[0];\ntype searchGroupsForRoleBody = (NonNullable<searchGroupsForRoleOptions> extends { body?: infer B } ? B : never);\ntype searchGroupsForRolePathParam_roleId = (NonNullable<searchGroupsForRoleOptions> extends { path: { roleId: infer P } } ? P : any);\nexport type searchGroupsForRoleInput = searchGroupsForRoleBody & { roleId: searchGroupsForRolePathParam_roleId };\n/** Management of eventual consistency **/\nexport type searchGroupsForRoleConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchGroupsForRole>> \n};\ntype searchIncidentsOptions = Parameters<typeof Sdk.searchIncidents>[0];\ntype searchIncidentsBody = (NonNullable<searchIncidentsOptions> extends { body?: infer B } ? B : never);\nexport type searchIncidentsInput = searchIncidentsBody;\n/** Management of eventual consistency **/\nexport type searchIncidentsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchIncidents>> \n};\ntype searchJobsOptions = Parameters<typeof Sdk.searchJobs>[0];\ntype searchJobsBody = (NonNullable<searchJobsOptions> extends { body?: infer B } ? B : never);\nexport type searchJobsInput = searchJobsBody;\n/** Management of eventual consistency **/\nexport type searchJobsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchJobs>> \n};\ntype searchMappingRuleOptions = Parameters<typeof Sdk.searchMappingRule>[0];\ntype searchMappingRuleBody = (NonNullable<searchMappingRuleOptions> extends { body?: infer B } ? B : never);\nexport type searchMappingRuleInput = searchMappingRuleBody;\n/** Management of eventual consistency **/\nexport type searchMappingRuleConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchMappingRule>> \n};\ntype searchMappingRulesForGroupOptions = Parameters<typeof Sdk.searchMappingRulesForGroup>[0];\ntype searchMappingRulesForGroupBody = (NonNullable<searchMappingRulesForGroupOptions> extends { body?: infer B } ? B : never);\ntype searchMappingRulesForGroupPathParam_groupId = (NonNullable<searchMappingRulesForGroupOptions> extends { path: { groupId: infer P } } ? P : any);\nexport type searchMappingRulesForGroupInput = searchMappingRulesForGroupBody & { groupId: searchMappingRulesForGroupPathParam_groupId };\n/** Management of eventual consistency **/\nexport type searchMappingRulesForGroupConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchMappingRulesForGroup>> \n};\ntype searchMappingRulesForRoleOptions = Parameters<typeof Sdk.searchMappingRulesForRole>[0];\ntype searchMappingRulesForRoleBody = (NonNullable<searchMappingRulesForRoleOptions> extends { body?: infer B } ? B : never);\ntype searchMappingRulesForRolePathParam_roleId = (NonNullable<searchMappingRulesForRoleOptions> extends { path: { roleId: infer P } } ? P : any);\nexport type searchMappingRulesForRoleInput = searchMappingRulesForRoleBody & { roleId: searchMappingRulesForRolePathParam_roleId };\n/** Management of eventual consistency **/\nexport type searchMappingRulesForRoleConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchMappingRulesForRole>> \n};\ntype searchMappingRulesForTenantOptions = Parameters<typeof Sdk.searchMappingRulesForTenant>[0];\ntype searchMappingRulesForTenantBody = (NonNullable<searchMappingRulesForTenantOptions> extends { body?: infer B } ? B : never);\ntype searchMappingRulesForTenantPathParam_tenantId = (NonNullable<searchMappingRulesForTenantOptions> extends { path: { tenantId: infer P } } ? P : any);\nexport type searchMappingRulesForTenantInput = searchMappingRulesForTenantBody & { tenantId: searchMappingRulesForTenantPathParam_tenantId };\n/** Management of eventual consistency **/\nexport type searchMappingRulesForTenantConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchMappingRulesForTenant>> \n};\ntype searchMessageSubscriptionsOptions = Parameters<typeof Sdk.searchMessageSubscriptions>[0];\ntype searchMessageSubscriptionsBody = (NonNullable<searchMessageSubscriptionsOptions> extends { body?: infer B } ? B : never);\nexport type searchMessageSubscriptionsInput = searchMessageSubscriptionsBody;\n/** Management of eventual consistency **/\nexport type searchMessageSubscriptionsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchMessageSubscriptions>> \n};\ntype searchProcessDefinitionsOptions = Parameters<typeof Sdk.searchProcessDefinitions>[0];\ntype searchProcessDefinitionsBody = (NonNullable<searchProcessDefinitionsOptions> extends { body?: infer B } ? B : never);\nexport type searchProcessDefinitionsInput = searchProcessDefinitionsBody;\n/** Management of eventual consistency **/\nexport type searchProcessDefinitionsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchProcessDefinitions>> \n};\ntype searchProcessInstanceIncidentsOptions = Parameters<typeof Sdk.searchProcessInstanceIncidents>[0];\ntype searchProcessInstanceIncidentsBody = (NonNullable<searchProcessInstanceIncidentsOptions> extends { body?: infer B } ? B : never);\ntype searchProcessInstanceIncidentsPathParam_processInstanceKey = (NonNullable<searchProcessInstanceIncidentsOptions> extends { path: { processInstanceKey: infer P } } ? P : any);\nexport type searchProcessInstanceIncidentsInput = searchProcessInstanceIncidentsBody & { processInstanceKey: searchProcessInstanceIncidentsPathParam_processInstanceKey };\n/** Management of eventual consistency **/\nexport type searchProcessInstanceIncidentsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchProcessInstanceIncidents>> \n};\ntype searchProcessInstancesOptions = Parameters<typeof Sdk.searchProcessInstances>[0];\ntype searchProcessInstancesBody = (NonNullable<searchProcessInstancesOptions> extends { body?: infer B } ? B : never);\nexport type searchProcessInstancesInput = searchProcessInstancesBody;\n/** Management of eventual consistency **/\nexport type searchProcessInstancesConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchProcessInstances>> \n};\ntype searchRolesOptions = Parameters<typeof Sdk.searchRoles>[0];\ntype searchRolesBody = (NonNullable<searchRolesOptions> extends { body?: infer B } ? B : never);\nexport type searchRolesInput = searchRolesBody;\n/** Management of eventual consistency **/\nexport type searchRolesConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchRoles>> \n};\ntype searchRolesForGroupOptions = Parameters<typeof Sdk.searchRolesForGroup>[0];\ntype searchRolesForGroupBody = (NonNullable<searchRolesForGroupOptions> extends { body?: infer B } ? B : never);\ntype searchRolesForGroupPathParam_groupId = (NonNullable<searchRolesForGroupOptions> extends { path: { groupId: infer P } } ? P : any);\nexport type searchRolesForGroupInput = searchRolesForGroupBody & { groupId: searchRolesForGroupPathParam_groupId };\n/** Management of eventual consistency **/\nexport type searchRolesForGroupConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchRolesForGroup>> \n};\ntype searchRolesForTenantOptions = Parameters<typeof Sdk.searchRolesForTenant>[0];\ntype searchRolesForTenantBody = (NonNullable<searchRolesForTenantOptions> extends { body?: infer B } ? B : never);\ntype searchRolesForTenantPathParam_tenantId = (NonNullable<searchRolesForTenantOptions> extends { path: { tenantId: infer P } } ? P : any);\nexport type searchRolesForTenantInput = searchRolesForTenantBody & { tenantId: searchRolesForTenantPathParam_tenantId };\n/** Management of eventual consistency **/\nexport type searchRolesForTenantConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchRolesForTenant>> \n};\ntype searchTenantsOptions = Parameters<typeof Sdk.searchTenants>[0];\ntype searchTenantsBody = (NonNullable<searchTenantsOptions> extends { body?: infer B } ? B : never);\nexport type searchTenantsInput = searchTenantsBody;\n/** Management of eventual consistency **/\nexport type searchTenantsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchTenants>> \n};\ntype searchUsersOptions = Parameters<typeof Sdk.searchUsers>[0];\ntype searchUsersBody = (NonNullable<searchUsersOptions> extends { body?: infer B } ? B : never);\nexport type searchUsersInput = searchUsersBody;\n/** Management of eventual consistency **/\nexport type searchUsersConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchUsers>> \n};\ntype searchUsersForGroupOptions = Parameters<typeof Sdk.searchUsersForGroup>[0];\ntype searchUsersForGroupBody = (NonNullable<searchUsersForGroupOptions> extends { body?: infer B } ? B : never);\ntype searchUsersForGroupPathParam_groupId = (NonNullable<searchUsersForGroupOptions> extends { path: { groupId: infer P } } ? P : any);\nexport type searchUsersForGroupInput = searchUsersForGroupBody & { groupId: searchUsersForGroupPathParam_groupId };\n/** Management of eventual consistency **/\nexport type searchUsersForGroupConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchUsersForGroup>> \n};\ntype searchUsersForRoleOptions = Parameters<typeof Sdk.searchUsersForRole>[0];\ntype searchUsersForRoleBody = (NonNullable<searchUsersForRoleOptions> extends { body?: infer B } ? B : never);\ntype searchUsersForRolePathParam_roleId = (NonNullable<searchUsersForRoleOptions> extends { path: { roleId: infer P } } ? P : any);\nexport type searchUsersForRoleInput = searchUsersForRoleBody & { roleId: searchUsersForRolePathParam_roleId };\n/** Management of eventual consistency **/\nexport type searchUsersForRoleConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchUsersForRole>> \n};\ntype searchUsersForTenantOptions = Parameters<typeof Sdk.searchUsersForTenant>[0];\ntype searchUsersForTenantBody = (NonNullable<searchUsersForTenantOptions> extends { body?: infer B } ? B : never);\ntype searchUsersForTenantPathParam_tenantId = (NonNullable<searchUsersForTenantOptions> extends { path: { tenantId: infer P } } ? P : any);\nexport type searchUsersForTenantInput = searchUsersForTenantBody & { tenantId: searchUsersForTenantPathParam_tenantId };\n/** Management of eventual consistency **/\nexport type searchUsersForTenantConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchUsersForTenant>> \n};\ntype searchUserTaskAuditLogsOptions = Parameters<typeof Sdk.searchUserTaskAuditLogs>[0];\ntype searchUserTaskAuditLogsBody = (NonNullable<searchUserTaskAuditLogsOptions> extends { body?: infer B } ? B : never);\ntype searchUserTaskAuditLogsPathParam_userTaskKey = (NonNullable<searchUserTaskAuditLogsOptions> extends { path: { userTaskKey: infer P } } ? P : any);\nexport type searchUserTaskAuditLogsInput = searchUserTaskAuditLogsBody & { userTaskKey: searchUserTaskAuditLogsPathParam_userTaskKey };\n/** Management of eventual consistency **/\nexport type searchUserTaskAuditLogsConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchUserTaskAuditLogs>> \n};\ntype searchUserTaskEffectiveVariablesOptions = Parameters<typeof Sdk.searchUserTaskEffectiveVariables>[0];\ntype searchUserTaskEffectiveVariablesBody = (NonNullable<searchUserTaskEffectiveVariablesOptions> extends { body?: infer B } ? B : never);\ntype searchUserTaskEffectiveVariablesPathParam_userTaskKey = (NonNullable<searchUserTaskEffectiveVariablesOptions> extends { path: { userTaskKey: infer P } } ? P : any);\ntype searchUserTaskEffectiveVariablesQueryParam_truncateValues = (NonNullable<searchUserTaskEffectiveVariablesOptions> extends { query?: { truncateValues?: infer Q } } ? Q : any);\nexport type searchUserTaskEffectiveVariablesInput = searchUserTaskEffectiveVariablesBody & { userTaskKey: searchUserTaskEffectiveVariablesPathParam_userTaskKey; truncateValues?: searchUserTaskEffectiveVariablesQueryParam_truncateValues };\n/** Management of eventual consistency **/\nexport type searchUserTaskEffectiveVariablesConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchUserTaskEffectiveVariables>> \n};\ntype searchUserTasksOptions = Parameters<typeof Sdk.searchUserTasks>[0];\ntype searchUserTasksBody = (NonNullable<searchUserTasksOptions> extends { body?: infer B } ? B : never);\nexport type searchUserTasksInput = searchUserTasksBody;\n/** Management of eventual consistency **/\nexport type searchUserTasksConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchUserTasks>> \n};\ntype searchUserTaskVariablesOptions = Parameters<typeof Sdk.searchUserTaskVariables>[0];\ntype searchUserTaskVariablesBody = (NonNullable<searchUserTaskVariablesOptions> extends { body?: infer B } ? B : never);\ntype searchUserTaskVariablesPathParam_userTaskKey = (NonNullable<searchUserTaskVariablesOptions> extends { path: { userTaskKey: infer P } } ? P : any);\ntype searchUserTaskVariablesQueryParam_truncateValues = (NonNullable<searchUserTaskVariablesOptions> extends { query?: { truncateValues?: infer Q } } ? Q : any);\nexport type searchUserTaskVariablesInput = searchUserTaskVariablesBody & { userTaskKey: searchUserTaskVariablesPathParam_userTaskKey; truncateValues?: searchUserTaskVariablesQueryParam_truncateValues };\n/** Management of eventual consistency **/\nexport type searchUserTaskVariablesConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchUserTaskVariables>> \n};\ntype searchVariablesOptions = Parameters<typeof Sdk.searchVariables>[0];\ntype searchVariablesBody = (NonNullable<searchVariablesOptions> extends { body?: infer B } ? B : never);\ntype searchVariablesQueryParam_truncateValues = (NonNullable<searchVariablesOptions> extends { query?: { truncateValues?: infer Q } } ? Q : any);\nexport type searchVariablesInput = searchVariablesBody & { truncateValues?: searchVariablesQueryParam_truncateValues };\n/** Management of eventual consistency **/\nexport type searchVariablesConsistency = { \n/** Management of eventual consistency tolerance. Set waitUpToMs to 0 to ignore eventual consistency. pollInterval is 500ms by default. */\n consistency: ConsistencyOptions<_DataOf<typeof Sdk.searchVariables>> \n};\ntype suspendBatchOperationOptions = Parameters<typeof Sdk.suspendBatchOperation>[0];\ntype suspendBatchOperationBody = (NonNullable<suspendBatchOperationOptions> extends { body?: infer B } ? B : never);\ntype suspendBatchOperationPathParam_batchOperationKey = (NonNullable<suspendBatchOperationOptions> extends { path: { batchOperationKey: infer P } } ? P : any);\nexport type suspendBatchOperationInput = suspendBatchOperationBody & { batchOperationKey: suspendBatchOperationPathParam_batchOperationKey };\ntype throwJobErrorOptions = Parameters<typeof Sdk.throwJobError>[0];\ntype throwJobErrorBody = (NonNullable<throwJobErrorOptions> extends { body?: infer B } ? B : never);\ntype throwJobErrorPathParam_jobKey = (NonNullable<throwJobErrorOptions> extends { path: { jobKey: infer P } } ? P : any);\nexport type throwJobErrorInput = throwJobErrorBody & { jobKey: throwJobErrorPathParam_jobKey };\ntype unassignClientFromGroupOptions = Parameters<typeof Sdk.unassignClientFromGroup>[0];\ntype unassignClientFromGroupPathParam_groupId = (NonNullable<unassignClientFromGroupOptions> extends { path: { groupId: infer P } } ? P : any);\ntype unassignClientFromGroupPathParam_clientId = (NonNullable<unassignClientFromGroupOptions> extends { path: { clientId: infer P } } ? P : any);\nexport type unassignClientFromGroupInput = { groupId: unassignClientFromGroupPathParam_groupId; clientId: unassignClientFromGroupPathParam_clientId };\ntype unassignClientFromTenantOptions = Parameters<typeof Sdk.unassignClientFromTenant>[0];\ntype unassignClientFromTenantPathParam_tenantId = (NonNullable<unassignClientFromTenantOptions> extends { path: { tenantId: infer P } } ? P : any);\ntype unassignClientFromTenantPathParam_clientId = (NonNullable<unassignClientFromTenantOptions> extends { path: { clientId: infer P } } ? P : any);\nexport type unassignClientFromTenantInput = { tenantId: unassignClientFromTenantPathParam_tenantId; clientId: unassignClientFromTenantPathParam_clientId };\ntype unassignGroupFromTenantOptions = Parameters<typeof Sdk.unassignGroupFromTenant>[0];\ntype unassignGroupFromTenantPathParam_tenantId = (NonNullable<unassignGroupFromTenantOptions> extends { path: { tenantId: infer P } } ? P : any);\ntype unassignGroupFromTenantPathParam_groupId = (NonNullable<unassignGroupFromTenantOptions> extends { path: { groupId: infer P } } ? P : any);\nexport type unassignGroupFromTenantInput = { tenantId: unassignGroupFromTenantPathParam_tenantId; groupId: unassignGroupFromTenantPathParam_groupId };\ntype unassignMappingRuleFromGroupOptions = Parameters<typeof Sdk.unassignMappingRuleFromGroup>[0];\ntype unassignMappingRuleFromGroupPathParam_groupId = (NonNullable<unassignMappingRuleFromGroupOptions> extends { path: { groupId: infer P } } ? P : any);\ntype unassignMappingRuleFromGroupPathParam_mappingRuleId = (NonNullable<unassignMappingRuleFromGroupOptions> extends { path: { mappingRuleId: infer P } } ? P : any);\nexport type unassignMappingRuleFromGroupInput = { groupId: unassignMappingRuleFromGroupPathParam_groupId; mappingRuleId: unassignMappingRuleFromGroupPathParam_mappingRuleId };\ntype unassignMappingRuleFromTenantOptions = Parameters<typeof Sdk.unassignMappingRuleFromTenant>[0];\ntype unassignMappingRuleFromTenantPathParam_tenantId = (NonNullable<unassignMappingRuleFromTenantOptions> extends { path: { tenantId: infer P } } ? P : any);\ntype unassignMappingRuleFromTenantPathParam_mappingRuleId = (NonNullable<unassignMappingRuleFromTenantOptions> extends { path: { mappingRuleId: infer P } } ? P : any);\nexport type unassignMappingRuleFromTenantInput = { tenantId: unassignMappingRuleFromTenantPathParam_tenantId; mappingRuleId: unassignMappingRuleFromTenantPathParam_mappingRuleId };\ntype unassignRoleFromClientOptions = Parameters<typeof Sdk.unassignRoleFromClient>[0];\ntype unassignRoleFromClientPathParam_roleId = (NonNullable<unassignRoleFromClientOptions> extends { path: { roleId: infer P } } ? P : any);\ntype unassignRoleFromClientPathParam_clientId = (NonNullable<unassignRoleFromClientOptions> extends { path: { clientId: infer P } } ? P : any);\nexport type unassignRoleFromClientInput = { roleId: unassignRoleFromClientPathParam_roleId; clientId: unassignRoleFromClientPathParam_clientId };\ntype unassignRoleFromGroupOptions = Parameters<typeof Sdk.unassignRoleFromGroup>[0];\ntype unassignRoleFromGroupPathParam_roleId = (NonNullable<unassignRoleFromGroupOptions> extends { path: { roleId: infer P } } ? P : any);\ntype unassignRoleFromGroupPathParam_groupId = (NonNullable<unassignRoleFromGroupOptions> extends { path: { groupId: infer P } } ? P : any);\nexport type unassignRoleFromGroupInput = { roleId: unassignRoleFromGroupPathParam_roleId; groupId: unassignRoleFromGroupPathParam_groupId };\ntype unassignRoleFromMappingRuleOptions = Parameters<typeof Sdk.unassignRoleFromMappingRule>[0];\ntype unassignRoleFromMappingRulePathParam_roleId = (NonNullable<unassignRoleFromMappingRuleOptions> extends { path: { roleId: infer P } } ? P : any);\ntype unassignRoleFromMappingRulePathParam_mappingRuleId = (NonNullable<unassignRoleFromMappingRuleOptions> extends { path: { mappingRuleId: infer P } } ? P : any);\nexport type unassignRoleFromMappingRuleInput = { roleId: unassignRoleFromMappingRulePathParam_roleId; mappingRuleId: unassignRoleFromMappingRulePathParam_mappingRuleId };\ntype unassignRoleFromTenantOptions = Parameters<typeof Sdk.unassignRoleFromTenant>[0];\ntype unassignRoleFromTenantPathParam_tenantId = (NonNullable<unassignRoleFromTenantOptions> extends { path: { tenantId: infer P } } ? P : any);\ntype unassignRoleFromTenantPathParam_roleId = (NonNullable<unassignRoleFromTenantOptions> extends { path: { roleId: infer P } } ? P : any);\nexport type unassignRoleFromTenantInput = { tenantId: unassignRoleFromTenantPathParam_tenantId; roleId: unassignRoleFromTenantPathParam_roleId };\ntype unassignRoleFromUserOptions = Parameters<typeof Sdk.unassignRoleFromUser>[0];\ntype unassignRoleFromUserPathParam_roleId = (NonNullable<unassignRoleFromUserOptions> extends { path: { roleId: infer P } } ? P : any);\ntype unassignRoleFromUserPathParam_username = (NonNullable<unassignRoleFromUserOptions> extends { path: { username: infer P } } ? P : any);\nexport type unassignRoleFromUserInput = { roleId: unassignRoleFromUserPathParam_roleId; username: unassignRoleFromUserPathParam_username };\ntype unassignUserFromGroupOptions = Parameters<typeof Sdk.unassignUserFromGroup>[0];\ntype unassignUserFromGroupPathParam_groupId = (NonNullable<unassignUserFromGroupOptions> extends { path: { groupId: infer P } } ? P : any);\ntype unassignUserFromGroupPathParam_username = (NonNullable<unassignUserFromGroupOptions> extends { path: { username: infer P } } ? P : any);\nexport type unassignUserFromGroupInput = { groupId: unassignUserFromGroupPathParam_groupId; username: unassignUserFromGroupPathParam_username };\ntype unassignUserFromTenantOptions = Parameters<typeof Sdk.unassignUserFromTenant>[0];\ntype unassignUserFromTenantPathParam_tenantId = (NonNullable<unassignUserFromTenantOptions> extends { path: { tenantId: infer P } } ? P : any);\ntype unassignUserFromTenantPathParam_username = (NonNullable<unassignUserFromTenantOptions> extends { path: { username: infer P } } ? P : any);\nexport type unassignUserFromTenantInput = { tenantId: unassignUserFromTenantPathParam_tenantId; username: unassignUserFromTenantPathParam_username };\ntype unassignUserTaskOptions = Parameters<typeof Sdk.unassignUserTask>[0];\ntype unassignUserTaskPathParam_userTaskKey = (NonNullable<unassignUserTaskOptions> extends { path: { userTaskKey: infer P } } ? P : any);\nexport type unassignUserTaskInput = { userTaskKey: unassignUserTaskPathParam_userTaskKey };\ntype updateAuthorizationOptions = Parameters<typeof Sdk.updateAuthorization>[0];\ntype updateAuthorizationBody = (NonNullable<updateAuthorizationOptions> extends { body?: infer B } ? B : never);\ntype updateAuthorizationPathParam_authorizationKey = (NonNullable<updateAuthorizationOptions> extends { path: { authorizationKey: infer P } } ? P : any);\nexport type updateAuthorizationInput = updateAuthorizationBody & { authorizationKey: updateAuthorizationPathParam_authorizationKey };\ntype updateGlobalClusterVariableOptions = Parameters<typeof Sdk.updateGlobalClusterVariable>[0];\ntype updateGlobalClusterVariableBody = (NonNullable<updateGlobalClusterVariableOptions> extends { body?: infer B } ? B : never);\ntype updateGlobalClusterVariablePathParam_name = (NonNullable<updateGlobalClusterVariableOptions> extends { path: { name: infer P } } ? P : any);\nexport type updateGlobalClusterVariableInput = updateGlobalClusterVariableBody & { name: updateGlobalClusterVariablePathParam_name };\ntype updateGlobalTaskListenerOptions = Parameters<typeof Sdk.updateGlobalTaskListener>[0];\ntype updateGlobalTaskListenerBody = (NonNullable<updateGlobalTaskListenerOptions> extends { body?: infer B } ? B : never);\ntype updateGlobalTaskListenerPathParam_id = (NonNullable<updateGlobalTaskListenerOptions> extends { path: { id: infer P } } ? P : any);\nexport type updateGlobalTaskListenerInput = updateGlobalTaskListenerBody & { id: updateGlobalTaskListenerPathParam_id };\ntype updateGroupOptions = Parameters<typeof Sdk.updateGroup>[0];\ntype updateGroupBody = (NonNullable<updateGroupOptions> extends { body?: infer B } ? B : never);\ntype updateGroupPathParam_groupId = (NonNullable<updateGroupOptions> extends { path: { groupId: infer P } } ? P : any);\nexport type updateGroupInput = updateGroupBody & { groupId: updateGroupPathParam_groupId };\ntype updateJobOptions = Parameters<typeof Sdk.updateJob>[0];\ntype updateJobBody = (NonNullable<updateJobOptions> extends { body?: infer B } ? B : never);\ntype updateJobPathParam_jobKey = (NonNullable<updateJobOptions> extends { path: { jobKey: infer P } } ? P : any);\nexport type updateJobInput = updateJobBody & { jobKey: updateJobPathParam_jobKey };\ntype updateMappingRuleOptions = Parameters<typeof Sdk.updateMappingRule>[0];\ntype updateMappingRuleBody = (NonNullable<updateMappingRuleOptions> extends { body?: infer B } ? B : never);\ntype updateMappingRulePathParam_mappingRuleId = (NonNullable<updateMappingRuleOptions> extends { path: { mappingRuleId: infer P } } ? P : any);\nexport type updateMappingRuleInput = updateMappingRuleBody & { mappingRuleId: updateMappingRulePathParam_mappingRuleId };\ntype updateRoleOptions = Parameters<typeof Sdk.updateRole>[0];\ntype updateRoleBody = (NonNullable<updateRoleOptions> extends { body?: infer B } ? B : never);\ntype updateRolePathParam_roleId = (NonNullable<updateRoleOptions> extends { path: { roleId: infer P } } ? P : any);\nexport type updateRoleInput = updateRoleBody & { roleId: updateRolePathParam_roleId };\ntype updateTenantOptions = Parameters<typeof Sdk.updateTenant>[0];\ntype updateTenantBody = (NonNullable<updateTenantOptions> extends { body?: infer B } ? B : never);\ntype updateTenantPathParam_tenantId = (NonNullable<updateTenantOptions> extends { path: { tenantId: infer P } } ? P : any);\nexport type updateTenantInput = updateTenantBody & { tenantId: updateTenantPathParam_tenantId };\ntype updateTenantClusterVariableOptions = Parameters<typeof Sdk.updateTenantClusterVariable>[0];\ntype updateTenantClusterVariableBody = (NonNullable<updateTenantClusterVariableOptions> extends { body?: infer B } ? B : never);\ntype updateTenantClusterVariablePathParam_tenantId = (NonNullable<updateTenantClusterVariableOptions> extends { path: { tenantId: infer P } } ? P : any);\ntype updateTenantClusterVariablePathParam_name = (NonNullable<updateTenantClusterVariableOptions> extends { path: { name: infer P } } ? P : any);\nexport type updateTenantClusterVariableInput = updateTenantClusterVariableBody & { tenantId: updateTenantClusterVariablePathParam_tenantId; name: updateTenantClusterVariablePathParam_name };\ntype updateUserOptions = Parameters<typeof Sdk.updateUser>[0];\ntype updateUserBody = (NonNullable<updateUserOptions> extends { body?: infer B } ? B : never);\ntype updateUserPathParam_username = (NonNullable<updateUserOptions> extends { path: { username: infer P } } ? P : any);\nexport type updateUserInput = updateUserBody & { username: updateUserPathParam_username };\ntype updateUserTaskOptions = Parameters<typeof Sdk.updateUserTask>[0];\ntype updateUserTaskBody = (NonNullable<updateUserTaskOptions> extends { body?: infer B } ? B : never);\ntype updateUserTaskPathParam_userTaskKey = (NonNullable<updateUserTaskOptions> extends { path: { userTaskKey: infer P } } ? P : any);\nexport type updateUserTaskInput = updateUserTaskBody & { userTaskKey: updateUserTaskPathParam_userTaskKey };\nconst VOID_RESPONSES = new Set(['zDeleteAuthorizationResponse', 'zUpdateAuthorizationResponse', 'zCancelBatchOperationResponse', 'zResumeBatchOperationResponse', 'zSuspendBatchOperationResponse', 'zPinClockResponse', 'zResetClockResponse', 'zDeleteGlobalClusterVariableResponse', 'zDeleteTenantClusterVariableResponse', 'zDeleteDecisionInstanceResponse', 'zDeleteDocumentResponse', 'zActivateAdHocSubProcessActivitiesResponse', 'zCreateElementInstanceVariablesResponse', 'zDeleteGlobalTaskListenerResponse', 'zDeleteGroupResponse', 'zUnassignClientFromGroupResponse', 'zAssignClientToGroupResponse', 'zUnassignMappingRuleFromGroupResponse', 'zAssignMappingRuleToGroupResponse', 'zUnassignUserFromGroupResponse', 'zAssignUserToGroupResponse', 'zResolveIncidentResponse', 'zUpdateJobResponse', 'zCompleteJobResponse', 'zThrowJobErrorResponse', 'zFailJobResponse', 'zDeleteMappingRuleResponse', 'zCancelProcessInstanceResponse', 'zDeleteProcessInstanceResponse', 'zMigrateProcessInstanceResponse', 'zModifyProcessInstanceResponse', 'zDeleteRoleResponse', 'zUnassignRoleFromClientResponse', 'zAssignRoleToClientResponse', 'zUnassignRoleFromGroupResponse', 'zAssignRoleToGroupResponse', 'zUnassignRoleFromMappingRuleResponse', 'zAssignRoleToMappingRuleResponse', 'zUnassignRoleFromUserResponse', 'zAssignRoleToUserResponse', 'zGetStatusResponse', 'zDeleteTenantResponse', 'zUnassignClientFromTenantResponse', 'zAssignClientToTenantResponse', 'zUnassignGroupFromTenantResponse', 'zAssignGroupToTenantResponse', 'zUnassignMappingRuleFromTenantResponse', 'zAssignMappingRuleToTenantResponse', 'zUnassignRoleFromTenantResponse', 'zAssignRoleToTenantResponse', 'zUnassignUserFromTenantResponse', 'zAssignUserToTenantResponse', 'zDeleteUserResponse', 'zUpdateUserTaskResponse', 'zUnassignUserTaskResponse', 'zAssignUserTaskResponse', 'zCompleteUserTaskResponse']);\n/** Extended deployment result with typed buckets for direct access to deployed artifacts. */\nexport interface ExtendedDeploymentResult extends _DataOf<typeof Sdk.createDeployment> {\n processes: Array<NonNullable<_DataOf<typeof Sdk.createDeployment>[\"deployments\"][number][\"processDefinition\"]>>;\n decisions: Array<NonNullable<_DataOf<typeof Sdk.createDeployment>[\"deployments\"][number][\"decisionDefinition\"]>>;\n decisionRequirements: Array<NonNullable<_DataOf<typeof Sdk.createDeployment>[\"deployments\"][number][\"decisionRequirements\"]>>;\n forms: Array<NonNullable<_DataOf<typeof Sdk.createDeployment>[\"deployments\"][number][\"form\"]>>;\n resources: Array<NonNullable<_DataOf<typeof Sdk.createDeployment>[\"deployments\"][number][\"resource\"]>>;\n}\n// === AUTO-GENERATED CAMUNDA SUPPORT TYPES END ===\n\n// Cancelable primitive (kept lightweight & local)\nexport class CancelError extends Error {\n constructor() {\n super('Cancelled');\n this.name = 'CancelError';\n }\n}\nexport interface CancelablePromise<T> extends Promise<T> {\n cancel(): void;\n}\nfunction toCancelable<T>(factory: (signal: AbortSignal) => Promise<T>): CancelablePromise<T> {\n const ac = new AbortController();\n let settled = false;\n let rejectRef: (e: any) => void = () => {};\n const p: any = new Promise<T>((resolve, reject) => {\n rejectRef = reject;\n factory(ac.signal)\n .then((v) => {\n settled = true;\n resolve(v);\n })\n .catch((e) => {\n // If already canceled and fetch produced an abort, translate to CancelSdkError once.\n if (\n ac.signal.aborted &&\n (e?.name === 'AbortError' || /abort|cancel/i.test(e?.message || ''))\n ) {\n const c = new Error('Cancelled') as any;\n c.name = 'CancelSdkError';\n return reject(c);\n }\n reject(e);\n });\n });\n p.cancel = () => {\n if (ac.signal.aborted) return; // idempotent\n ac.abort();\n // If underlying promise hasn't settled yet, proactively reject with CancelSdkError.\n if (!settled) {\n const c = new Error('Cancelled') as any;\n c.name = 'CancelSdkError';\n rejectRef(c);\n }\n };\n return p as CancelablePromise<T>;\n}\n\n// New simplified input: we only accept an already hydrated CamundaConfig. Users wanting env\n// overrides or partials should call hydrateConfig first (single source of truth) and pass\n// the resulting config.\nexport interface CamundaOptions {\n // Strongly typed env-style overrides (CAMUNDA_* keys). Optional.\n config?: EnvOverrides;\n // Custom fetch implementation.\n fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;\n // Provide a custom env map (mainly for tests). Defaults to process.env.\n env?: Record<string, string | undefined>;\n // Per-client logging options\n log?: { level?: LogLevel; transport?: LogTransport };\n // Telemetry (Phase 1)\n telemetry?: {\n hooks?: import('../runtime/telemetry').TelemetryHooks;\n correlation?: boolean;\n mirrorToLog?: boolean;\n };\n // If true (default), non-2xx HTTP responses throw instead of returning an error object.\n // Set to false to opt into non-throwing behavior.\n throwOnError?: boolean;\n // Optional injected SupportLogger (Node-only). If absent, auto-created when enabled via env/config.\n supportLogger?: SupportLogger;\n}\n\nexport function createCamundaClient(options?: CamundaOptions) {\n return new CamundaClient(options);\n}\n\nexport class CamundaClient {\n private _client: Client;\n private _config: Readonly<CamundaConfig>;\n private _auth: ReturnType<typeof createAuthFacade> = createAuthFacade({\n restAddress: '',\n auth: { strategy: 'NONE', basic: { username: '', password: '' } } as any,\n validation: { req: 'none', res: 'none', raw: 'req:none,res:none' } as any,\n oauth: { oauthUrl: '', timeoutMs: 0, retry: { max: 0, baseDelayMs: 0 } } as any,\n tokenAudience: '',\n } as any);\n private _baseFetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;\n private _fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;\n private _validation: ValidationManager = new ValidationManager({ req: 'none', res: 'none' });\n private _log: Logger = createLogger();\n private _bp: BackpressureManager;\n /** Registered job workers created via createJobWorker (lifecycle managed by user). */\n private _workers: any[] = [];\n /** Shared thread pool for all threaded job workers (lazy-initialised on first use). */\n private _threadPool: ThreadPool | null = null;\n /** Support logger (Node-only; no-op in browser). */\n private _supportLogger: SupportLogger = new (class implements SupportLogger {\n log() {}\n })();\n\n // Internal fixed error mode for eventual consistency ('throw' | 'result'). Not user mutable after construction.\n private readonly _errorMode: 'throw' | 'result';\n\n private _overrides: EnvOverrides = {};\n\n constructor(opts: CamundaOptions = {}) {\n if (opts.config) this._overrides = { ...opts.config };\n const { config } = hydrateConfig({ overrides: this._overrides, env: opts.env });\n this._config = deepFreeze(config) as Readonly<CamundaConfig>;\n // Initialize per-client logger\n this._log = createLogger({\n level: opts.log?.level || this._config.logLevel,\n transport: opts.log?.transport,\n });\n const baseFetch = opts.fetch;\n this._baseFetch = baseFetch;\n this._fetch = baseFetch;\n // Telemetry wrap (after logger & config known). If user provided explicit telemetry, honor it.\n // Else if environment enabled auto telemetry logging, wrap with mirrorToLog + optional correlation.\n if (opts.telemetry) {\n this._fetch = wrapFetch(this._fetch || (fetch as any), {\n hooks: opts.telemetry.hooks,\n correlation: opts.telemetry.correlation ? () => getCorrelation() : undefined,\n logger: this._log,\n supportLogger: this._supportLogger,\n mirrorToLog: opts.telemetry.mirrorToLog,\n });\n } else if (this._config.telemetry?.log) {\n this._fetch = wrapFetch(this._fetch || (fetch as any), {\n hooks: undefined,\n correlation: this._config.telemetry.correlation ? () => getCorrelation() : undefined,\n logger: this._log,\n supportLogger: this._supportLogger,\n mirrorToLog: true,\n });\n } else if (\n // Auto-enable mirror telemetry when trace level and user did not explicitly set CAMUNDA_SDK_TELEMETRY_LOG to a disabling value.\n /^(trace|silly)$/.test(this._log.level()) &&\n !this._config.telemetry?.log &&\n // No explicit override provided\n (this._overrides as any)['CAMUNDA_SDK_TELEMETRY_LOG'] === undefined &&\n // And env var either absent or truthy enabling value\n (typeof process === 'undefined' ||\n process.env['CAMUNDA_SDK_TELEMETRY_LOG'] === undefined ||\n /^(1|true|yes|on)$/i.test(process.env['CAMUNDA_SDK_TELEMETRY_LOG'] || ''))\n ) {\n this._fetch = wrapFetch(this._fetch || (fetch as any), {\n hooks: undefined,\n correlation: this._config.telemetry?.correlation ? () => getCorrelation() : undefined,\n logger: this._log,\n supportLogger: this._supportLogger,\n mirrorToLog: true,\n });\n }\n this._client = createClient({\n baseUrl: this._config.restAddress,\n fetch: this._fetch,\n throwOnError: opts.throwOnError !== false,\n });\n // Unsafe diagnostic level warning\n if (this._log.level() === 'silly') {\n this._log.warn(\n 'log.level.silly.enabled',\n 'HTTP request and response bodies will be logged; this may leak sensitive information. Use only for local debugging.'\n );\n }\n installAuthInterceptor(\n this._client,\n () => this._config.auth.strategy,\n () => this._auth.getAuthHeaders()\n );\n this._auth = createAuthFacade(this._config, {\n fetch: this._fetch,\n logger: this._log,\n telemetryHooks: opts.telemetry?.hooks,\n correlationProvider:\n opts.telemetry?.correlation || (!opts.telemetry && this._config.telemetry?.correlation)\n ? () => getCorrelation()\n : undefined,\n });\n this._validation.update(this._config.validation);\n this._validation.attachLogger(this._log);\n this._errorMode = (opts as any).errorMode === 'result' ? 'result' : 'throw';\n // Support logger initialization (after config hydration & before major components start emitting)\n this._supportLogger = createSupportLogger(this._config, opts.supportLogger);\n try {\n this._supportLogger.log('CamundaClient constructed');\n } catch {\n /* ignore */\n }\n // Emit canonical support log preamble (idempotent; covers injected loggers)\n this.emitSupportLogPreamble();\n // Initialize global backpressure manager with tuned config\n this._bp = new BackpressureManager({\n logger: this._log.scope('bp'),\n config: {\n enabled: this._config.backpressure.enabled,\n observeOnly: this._config.backpressure.observeOnly,\n // In observe-only or disabled modes we keep permitsMax null.\n initialMaxConcurrency:\n this._config.backpressure.enabled && !this._config.backpressure.observeOnly\n ? this._config.backpressure.initialMax || null\n : null,\n reduceFactor: this._config.backpressure.softFactor,\n severeReduceFactor: this._config.backpressure.severeFactor,\n recoveryIntervalMs: this._config.backpressure.recoveryIntervalMs,\n recoveryStep: this._config.backpressure.recoveryStep,\n decayQuietMs: this._config.backpressure.decayQuietMs,\n floorConcurrency: this._config.backpressure.floor,\n severeThreshold: this._config.backpressure.severeThreshold,\n maxWaiters: this._config.backpressure.maxWaiters,\n healthyRecoveryMultiplier: this._config.backpressure.healthyRecoveryMultiplier,\n unlimitedAfterHealthyMs: this._config.backpressure.unlimitedAfterHealthyMs,\n },\n });\n // Debug-level emission of redacted effective configuration (lazy)\n this._log.debug(() => {\n try {\n const last = (globalThis as any).__CAMUNDA_SDK_LAST_CONFIG;\n const redacted = last?.toRedactedObject ? last.toRedactedObject() : undefined;\n return redacted ? ['config.hydrated', { config: redacted }] : ['config.hydrated'];\n } catch {\n return ['config.hydrated'];\n }\n });\n }\n\n get config(): Readonly<CamundaConfig> {\n return this._config;\n }\n /**\n * Read-only snapshot of current hydrated configuration (do not mutate directly).\n * Use configure(...) to apply changes.\n */\n getConfig(): Readonly<CamundaConfig> {\n return this._config;\n }\n\n // Merge new overrides and re-hydrate.\n configure(next: CamundaOptions) {\n if (next.config) this._overrides = { ...this._overrides, ...next.config };\n if (next.fetch) this._baseFetch = next.fetch;\n // Always wrap from the base fetch to avoid accumulating closure layers on repeated configure() calls.\n this._fetch = this._baseFetch;\n const { config } = hydrateConfig({ overrides: this._overrides, env: next.env });\n this._config = deepFreeze(config) as Readonly<CamundaConfig>;\n // Re-wrap fetch if telemetry present OR env auto telemetry toggled\n if (next.telemetry) {\n this._fetch = wrapFetch(this._fetch || (fetch as any), {\n hooks: next.telemetry.hooks,\n correlation: next.telemetry.correlation ? () => getCorrelation() : undefined,\n logger: this._log,\n supportLogger: this._supportLogger,\n mirrorToLog: next.telemetry.mirrorToLog,\n });\n } else if (this._config.telemetry?.log) {\n this._fetch = wrapFetch(this._fetch || (fetch as any), {\n hooks: undefined,\n correlation: this._config.telemetry.correlation ? () => getCorrelation() : undefined,\n logger: this._log,\n supportLogger: this._supportLogger,\n mirrorToLog: true,\n });\n } else if (\n /^(trace|silly)$/.test(this._log.level()) &&\n !this._config.telemetry?.log &&\n (this._overrides as any)['CAMUNDA_SDK_TELEMETRY_LOG'] === undefined &&\n (typeof process === 'undefined' ||\n process.env['CAMUNDA_SDK_TELEMETRY_LOG'] === undefined ||\n /^(1|true|yes|on)$/i.test(process.env['CAMUNDA_SDK_TELEMETRY_LOG'] || ''))\n ) {\n this._fetch = wrapFetch(this._fetch || (fetch as any), {\n hooks: undefined,\n correlation: this._config.telemetry?.correlation ? () => getCorrelation() : undefined,\n logger: this._log,\n supportLogger: this._supportLogger,\n mirrorToLog: true,\n });\n }\n this._client = createClient({\n baseUrl: this._config.restAddress,\n fetch: this._fetch,\n throwOnError: next.throwOnError !== false,\n });\n installAuthInterceptor(\n this._client,\n () => this._config.auth.strategy,\n () => this._auth.getAuthHeaders()\n );\n // Update logger level / transport if provided, else apply config log level\n if (next.log?.level) this._log.setLevel(next.log.level);\n else this._log.setLevel(this._config.logLevel);\n if (next.log?.transport !== undefined) this._log.setTransport(next.log.transport);\n this._auth = createAuthFacade(this._config, {\n fetch: this._fetch,\n logger: this._log,\n telemetryHooks: next.telemetry?.hooks,\n correlationProvider:\n next.telemetry?.correlation || (!next.telemetry && this._config.telemetry?.correlation)\n ? () => getCorrelation()\n : undefined,\n });\n this._validation.update(this._config.validation);\n this._validation.attachLogger(this._log);\n // _errorMode intentionally not mutable post-construction.\n // Re-init support logger only if it was disabled and now enabled (avoid overwriting custom injected instance)\n if (!next.supportLogger && !('supportLogger' in next)) {\n // Auto-detect change in enable flag\n const shouldEnable = this._config.supportLog?.enabled;\n const previouslyEnabled = (this._supportLogger as any).enabled === true; // heuristic\n if (shouldEnable && !previouslyEnabled) {\n this._supportLogger = createSupportLogger(this._config);\n this._supportLogger.log('Support logger enabled via reconfigure');\n }\n } else if (next.supportLogger) {\n this._supportLogger = next.supportLogger;\n this._supportLogger.log('Support logger injected via reconfigure');\n }\n // Emit updated redacted configuration when debug enabled\n this._log.debug(() => {\n try {\n const last = (globalThis as any).__CAMUNDA_SDK_LAST_CONFIG;\n const redacted = last?.toRedactedObject ? last.toRedactedObject() : undefined;\n return redacted ? ['config.reconfigured', { config: redacted }] : ['config.reconfigured'];\n } catch {\n return ['config.reconfigured'];\n }\n });\n }\n\n // Auth helpers\n async getAuthHeaders() {\n return this._auth.getAuthHeaders();\n }\n async forceAuthRefresh() {\n return this._auth.forceRefresh();\n }\n clearAuthCache(opts?: { disk?: boolean; memory?: boolean }) {\n this._auth.clearCache(opts);\n }\n onAuthHeaders(\n h: (headers: Record<string, string>) => Record<string, string> | Promise<Record<string, string>>\n ) {\n this._auth.registerHeadersHook(h);\n }\n\n /** @internal ValidationManager is internal; tests may reach via (client as any)._validation */\n /** Access a scoped logger (internal & future user emission). */\n logger(scope?: string) {\n return scope ? this._log.scope(scope) : this._log;\n }\n\n /** Internal accessor (read-only) for eventual consistency error mode. */\n getErrorMode(): 'throw' | 'result' {\n return this._errorMode;\n }\n\n /** Internal accessor for support logger (no public API commitment yet). */\n _getSupportLogger(): SupportLogger {\n return this._supportLogger;\n }\n\n /**\n * Emit the standard support log preamble & redacted configuration to the current support logger.\n * Safe to call multiple times; subsequent calls are ignored (idempotent).\n * Useful when a custom supportLogger was injected and you still want the canonical header & config dump.\n */\n emitSupportLogPreamble() {\n try {\n writeSupportLogPreamble(this._supportLogger, this._config as CamundaConfig);\n } catch (e) {\n this._log.debug(() => ['supportLog.preamble.error', e]);\n }\n }\n\n // Run a function with a correlation ID (manual propagation phase 1)\n withCorrelation<T>(id: string, fn: () => Promise<T> | T): Promise<T> {\n return _withCorrelation(id, fn);\n }\n\n // Helper for detecting documented void responses (stable public contract)\n // Referenced from generated code - DO NOT REMOVE\n // Uses build-time generated VOID_RESPONSES set (no runtime zod dependency needed)\n private _isVoidResponse(name: string): boolean {\n return VOID_RESPONSES.has(name);\n }\n\n // Lazy-load zod schemas on first validation use. Returns cached module.\n private _schemasPromise: Promise<typeof import('../gen/zod.gen')> | null = null;\n private _loadSchemas(): Promise<typeof import('../gen/zod.gen')> {\n if (!this._schemasPromise) {\n this._schemasPromise = import('../gen/zod.gen');\n }\n return this._schemasPromise;\n }\n\n /** Internal invocation helper to apply global backpressure gating + retry + normalization */\n public async _invokeWithRetry<T>(\n op: () => Promise<T>,\n opts: {\n opId: string;\n exempt?: boolean;\n classify?: (e: any) => { retryable: boolean; reason: string };\n retryOverride?: Partial<HttpRetryPolicy> | false;\n }\n ): Promise<T> {\n const { opId, exempt, classify, retryOverride } = opts;\n const policy: HttpRetryPolicy =\n retryOverride === false\n ? { maxAttempts: 1, baseDelayMs: 0, maxDelayMs: 0 }\n : retryOverride\n ? { ...this._config.httpRetry, ...retryOverride }\n : this._config.httpRetry;\n const signal: AbortSignal | undefined = undefined; // placeholder if we later pass through\n if (!exempt) {\n await this._bp.acquire(signal);\n }\n try {\n const result = await executeWithHttpRetry(\n async () => op(),\n policy,\n this._log.scope(opId),\n (err) => {\n const decision = (classify ? classify(err) : defaultHttpClassifier(err)) as any;\n if (decision && decision.retryable && /backpressure|http-429/.test(decision.reason)) {\n this._bp.recordBackpressure();\n }\n return decision;\n }\n );\n this._bp.recordHealthyHint();\n return result;\n } catch (e: any) {\n // Non-retryable or exhausted\n if (e && (e as any).status && (e as any).status === 429) this._bp.recordBackpressure();\n throw normalizeError(e, { opId });\n } finally {\n if (!exempt) this._bp.release();\n }\n }\n /** Shared evaluation for raw transport responses (throwOnError:false) */\n private _evaluateResponse(\n raw: any,\n opId: string,\n buildBackpressureError: (resp: any) => Error | undefined\n ) {\n return evaluateSdkResponse(raw, { opId, buildBackpressureError });\n }\n /** Public accessor for current backpressure adaptive limiter state (stable) */\n getBackpressureState() {\n try {\n return this._bp.getState();\n } catch (e) {\n this._log.error('Error retrieving backpressure state', e);\n return {\n severity: 'healthy',\n permitsMax: null,\n permitsCurrent: 0,\n consecutive: 0,\n waiters: 0,\n };\n }\n }\n /** Return a read-only snapshot of currently registered job workers. */\n getWorkers() {\n return [...this._workers];\n }\n /** Stop all registered job workers (best-effort) and terminate the shared thread pool. */\n stopAllWorkers() {\n for (const w of this._workers) {\n try {\n if (typeof w.stop === 'function') w.stop();\n } catch (e) {\n this._log.warn('worker.stop.error', e);\n }\n }\n if (this._threadPool) {\n this._threadPool.terminate();\n this._threadPool = null;\n }\n }\n\n /** Get or lazily create the shared thread pool for threaded job workers. */\n private _getOrCreateThreadPool(threadPoolSize?: number): ThreadPool {\n if (!this._threadPool) {\n this._threadPool = new ThreadPool(this as any, threadPoolSize);\n }\n return this._threadPool;\n }\n // === AUTO-GENERATED CAMUNDA METHODS START ===\n // Generated methods\n /**\n * Activate activities within an ad-hoc sub-process\n *\n * Activates selected activities within an ad-hoc sub-process identified by element ID.\n * The provided element IDs must exist within the ad-hoc sub-process instance identified by the\n * provided adHocSubProcessInstanceKey.\n *\n *\n * @example Activate ad-hoc sub-process activities\n * ```ts\n * async function activateAdHocSubProcessActivitiesExample(\n * adHocSubProcessInstanceKey: ElementInstanceKey,\n * elementId: ElementId\n * ) {\n * const camunda = createCamundaClient();\n * \n * await camunda.activateAdHocSubProcessActivities({\n * adHocSubProcessInstanceKey,\n * elements: [{ elementId }],\n * });\n * }\n * ```\n * @operationId activateAdHocSubProcessActivities\n * @tags Ad-hoc sub-process\n */\n activateAdHocSubProcessActivities(input: activateAdHocSubProcessActivitiesInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.activateAdHocSubProcessActivities>>;\n activateAdHocSubProcessActivities(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { adHocSubProcessInstanceKey, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { adHocSubProcessInstanceKey };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('activateAdHocSubProcessActivities', _schemas.zActivateAdHocSubProcessActivitiesData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.activateAdHocSubProcessActivities(opts);\n let data = this._evaluateResponse(_raw, 'activateAdHocSubProcessActivities', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zActivateAdHocSubProcessActivitiesResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zActivateAdHocSubProcessActivitiesResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('activateAdHocSubProcessActivities', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'activateAdHocSubProcessActivities', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Activate jobs\n *\n * Iterate through all known partitions and activate jobs up to the requested maximum.\n *\n *\n * @example Activate and process jobs\n * ```ts\n * async function activateJobsExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.activateJobs({\n * type: 'payment-processing',\n * timeout: 30000,\n * maxJobsToActivate: 5,\n * });\n * \n * for (const job of result.jobs) {\n * console.log(`Job ${job.jobKey}: ${job.type}`);\n * \n * // Each enriched job has helper methods\n * await job.complete({ paymentId: 'PAY-123' });\n * }\n * }\n * ```\n * @operationId activateJobs\n * @tags Job\n */\n activateJobs(input: activateJobsInput, options?: OperationOptions): CancelablePromise<{ jobs: EnrichedActivatedJob[] }>;\n activateJobs(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('activateJobs', _schemas.zActivateJobsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.activateJobs(opts);\n let data = this._evaluateResponse(_raw, 'activateJobs', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zActivateJobsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zActivateJobsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('activateJobs', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n if (data && data.jobs) { data.jobs = data.jobs.map((j: any) => enrichActivatedJob(j, this, this.logger().scope(`job:${j.jobKey}`))); }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'activateJobs', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Assign a client to a group\n *\n * Assigns a client to a group, making it a member of the group.\n * Members of the group inherit the group authorizations, roles, and tenant assignments.\n *\n *\n * @example Assign a client to a group\n * ```ts\n * async function assignClientToGroupExample() {\n * const camunda = createCamundaClient();\n * \n * await camunda.assignClientToGroup({\n * groupId: 'engineering-team',\n * clientId: 'my-service-account',\n * });\n * }\n * ```\n * @operationId assignClientToGroup\n * @tags Group\n */\n assignClientToGroup(input: assignClientToGroupInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.assignClientToGroup>>;\n assignClientToGroup(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { groupId, clientId } = arg || {};\n let envelope: any = {};\n envelope.path = { groupId, clientId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('assignClientToGroup', _schemas.zAssignClientToGroupData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.assignClientToGroup(opts);\n let data = this._evaluateResponse(_raw, 'assignClientToGroup', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zAssignClientToGroupResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zAssignClientToGroupResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('assignClientToGroup', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'assignClientToGroup', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Assign a client to a tenant\n *\n * Assign the client to the specified tenant.\n * The client can then access tenant data and perform authorized actions.\n *\n *\n * @example Assign a client to a tenant\n * ```ts\n * async function assignClientToTenantExample(tenantId: TenantId) {\n * const camunda = createCamundaClient();\n * \n * await camunda.assignClientToTenant({\n * tenantId,\n * clientId: 'my-service-account',\n * });\n * }\n * ```\n * @operationId assignClientToTenant\n * @tags Tenant\n */\n assignClientToTenant(input: assignClientToTenantInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.assignClientToTenant>>;\n assignClientToTenant(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { tenantId, clientId } = arg || {};\n let envelope: any = {};\n envelope.path = { tenantId, clientId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('assignClientToTenant', _schemas.zAssignClientToTenantData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.assignClientToTenant(opts);\n let data = this._evaluateResponse(_raw, 'assignClientToTenant', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zAssignClientToTenantResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zAssignClientToTenantResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('assignClientToTenant', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'assignClientToTenant', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Assign a group to a tenant\n *\n * Assigns a group to a specified tenant.\n * Group members (users, clients) can then access tenant data and perform authorized actions.\n *\n *\n * @example Assign a group to a tenant\n * ```ts\n * async function assignGroupToTenantExample(tenantId: TenantId) {\n * const camunda = createCamundaClient();\n * \n * await camunda.assignGroupToTenant({\n * tenantId,\n * groupId: 'engineering-team',\n * });\n * }\n * ```\n * @operationId assignGroupToTenant\n * @tags Tenant\n */\n assignGroupToTenant(input: assignGroupToTenantInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.assignGroupToTenant>>;\n assignGroupToTenant(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { tenantId, groupId } = arg || {};\n let envelope: any = {};\n envelope.path = { tenantId, groupId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('assignGroupToTenant', _schemas.zAssignGroupToTenantData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.assignGroupToTenant(opts);\n let data = this._evaluateResponse(_raw, 'assignGroupToTenant', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zAssignGroupToTenantResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zAssignGroupToTenantResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('assignGroupToTenant', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'assignGroupToTenant', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Assign a mapping rule to a group\n *\n * Assigns a mapping rule to a group.\n *\n * @example Assign a mapping rule to a group\n * ```ts\n * async function assignMappingRuleToGroupExample() {\n * const camunda = createCamundaClient();\n * \n * await camunda.assignMappingRuleToGroup({\n * groupId: 'engineering-team',\n * mappingRuleId: 'rule-123',\n * });\n * }\n * ```\n * @operationId assignMappingRuleToGroup\n * @tags Group\n */\n assignMappingRuleToGroup(input: assignMappingRuleToGroupInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.assignMappingRuleToGroup>>;\n assignMappingRuleToGroup(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { groupId, mappingRuleId } = arg || {};\n let envelope: any = {};\n envelope.path = { groupId, mappingRuleId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('assignMappingRuleToGroup', _schemas.zAssignMappingRuleToGroupData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.assignMappingRuleToGroup(opts);\n let data = this._evaluateResponse(_raw, 'assignMappingRuleToGroup', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zAssignMappingRuleToGroupResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zAssignMappingRuleToGroupResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('assignMappingRuleToGroup', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'assignMappingRuleToGroup', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Assign a mapping rule to a tenant\n *\n * Assign a single mapping rule to a specified tenant.\n *\n * @example Assign a mapping rule to a tenant\n * ```ts\n * async function assignMappingRuleToTenantExample(tenantId: TenantId) {\n * const camunda = createCamundaClient();\n * \n * await camunda.assignMappingRuleToTenant({\n * tenantId,\n * mappingRuleId: 'rule-123',\n * });\n * }\n * ```\n * @operationId assignMappingRuleToTenant\n * @tags Tenant\n */\n assignMappingRuleToTenant(input: assignMappingRuleToTenantInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.assignMappingRuleToTenant>>;\n assignMappingRuleToTenant(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { tenantId, mappingRuleId } = arg || {};\n let envelope: any = {};\n envelope.path = { tenantId, mappingRuleId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('assignMappingRuleToTenant', _schemas.zAssignMappingRuleToTenantData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.assignMappingRuleToTenant(opts);\n let data = this._evaluateResponse(_raw, 'assignMappingRuleToTenant', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zAssignMappingRuleToTenantResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zAssignMappingRuleToTenantResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('assignMappingRuleToTenant', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'assignMappingRuleToTenant', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Assign a role to a client\n *\n * Assigns the specified role to the client. The client will inherit the authorizations associated with this role.\n *\n * @example Assign a role to a client\n * ```ts\n * async function assignRoleToClientExample() {\n * const camunda = createCamundaClient();\n * \n * await camunda.assignRoleToClient({\n * roleId: 'process-admin',\n * clientId: 'my-service-account',\n * });\n * }\n * ```\n * @operationId assignRoleToClient\n * @tags Role\n */\n assignRoleToClient(input: assignRoleToClientInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.assignRoleToClient>>;\n assignRoleToClient(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { roleId, clientId } = arg || {};\n let envelope: any = {};\n envelope.path = { roleId, clientId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('assignRoleToClient', _schemas.zAssignRoleToClientData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.assignRoleToClient(opts);\n let data = this._evaluateResponse(_raw, 'assignRoleToClient', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zAssignRoleToClientResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zAssignRoleToClientResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('assignRoleToClient', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'assignRoleToClient', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Assign a role to a group\n *\n * Assigns the specified role to the group. Every member of the group (user or client) will inherit the authorizations associated with this role.\n *\n * @example Assign a role to a group\n * ```ts\n * async function assignRoleToGroupExample() {\n * const camunda = createCamundaClient();\n * \n * await camunda.assignRoleToGroup({\n * roleId: 'process-admin',\n * groupId: 'engineering-team',\n * });\n * }\n * ```\n * @operationId assignRoleToGroup\n * @tags Role\n */\n assignRoleToGroup(input: assignRoleToGroupInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.assignRoleToGroup>>;\n assignRoleToGroup(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { roleId, groupId } = arg || {};\n let envelope: any = {};\n envelope.path = { roleId, groupId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('assignRoleToGroup', _schemas.zAssignRoleToGroupData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.assignRoleToGroup(opts);\n let data = this._evaluateResponse(_raw, 'assignRoleToGroup', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zAssignRoleToGroupResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zAssignRoleToGroupResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('assignRoleToGroup', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'assignRoleToGroup', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Assign a role to a mapping rule\n *\n * Assigns a role to a mapping rule.\n *\n * @example Assign a role to a mapping rule\n * ```ts\n * async function assignRoleToMappingRuleExample() {\n * const camunda = createCamundaClient();\n * \n * await camunda.assignRoleToMappingRule({\n * roleId: 'process-admin',\n * mappingRuleId: 'rule-123',\n * });\n * }\n * ```\n * @operationId assignRoleToMappingRule\n * @tags Role\n */\n assignRoleToMappingRule(input: assignRoleToMappingRuleInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.assignRoleToMappingRule>>;\n assignRoleToMappingRule(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { roleId, mappingRuleId } = arg || {};\n let envelope: any = {};\n envelope.path = { roleId, mappingRuleId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('assignRoleToMappingRule', _schemas.zAssignRoleToMappingRuleData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.assignRoleToMappingRule(opts);\n let data = this._evaluateResponse(_raw, 'assignRoleToMappingRule', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zAssignRoleToMappingRuleResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zAssignRoleToMappingRuleResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('assignRoleToMappingRule', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'assignRoleToMappingRule', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Assign a role to a tenant\n *\n * Assigns a role to a specified tenant.\n * Users, Clients or Groups, that have the role assigned, will get access to the tenant's data and can perform actions according to their authorizations.\n *\n *\n * @example Assign a role to a tenant\n * ```ts\n * async function assignRoleToTenantExample(tenantId: TenantId) {\n * const camunda = createCamundaClient();\n * \n * await camunda.assignRoleToTenant({\n * tenantId,\n * roleId: 'process-admin',\n * });\n * }\n * ```\n * @operationId assignRoleToTenant\n * @tags Tenant\n */\n assignRoleToTenant(input: assignRoleToTenantInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.assignRoleToTenant>>;\n assignRoleToTenant(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { tenantId, roleId } = arg || {};\n let envelope: any = {};\n envelope.path = { tenantId, roleId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('assignRoleToTenant', _schemas.zAssignRoleToTenantData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.assignRoleToTenant(opts);\n let data = this._evaluateResponse(_raw, 'assignRoleToTenant', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zAssignRoleToTenantResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zAssignRoleToTenantResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('assignRoleToTenant', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'assignRoleToTenant', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Assign a role to a user\n *\n * Assigns the specified role to the user. The user will inherit the authorizations associated with this role.\n *\n * @example Assign a role to a user\n * ```ts\n * async function assignRoleToUserExample(username: Username) {\n * const camunda = createCamundaClient();\n * \n * await camunda.assignRoleToUser({\n * roleId: 'process-admin',\n * username,\n * });\n * }\n * ```\n * @operationId assignRoleToUser\n * @tags Role\n */\n assignRoleToUser(input: assignRoleToUserInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.assignRoleToUser>>;\n assignRoleToUser(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { roleId, username } = arg || {};\n let envelope: any = {};\n envelope.path = { roleId, username };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('assignRoleToUser', _schemas.zAssignRoleToUserData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.assignRoleToUser(opts);\n let data = this._evaluateResponse(_raw, 'assignRoleToUser', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zAssignRoleToUserResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zAssignRoleToUserResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('assignRoleToUser', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'assignRoleToUser', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Assign user task\n *\n * Assigns a user task with the given key to the given assignee. Assignment waits for blocking task listeners on this lifecycle transition. If listener processing is delayed beyond the request timeout, this endpoint can return 504. Other gateway timeout causes are also possible. Retry with backoff and inspect listener worker availability and logs when this repeats.\n *\n *\n * @example Assign a user task\n * ```ts\n * async function assignUserTaskExample(userTaskKey: UserTaskKey) {\n * const camunda = createCamundaClient();\n * \n * await camunda.assignUserTask({\n * userTaskKey,\n * assignee: 'alice',\n * allowOverride: true,\n * });\n * }\n * ```\n * @operationId assignUserTask\n * @tags User task\n */\n assignUserTask(input: assignUserTaskInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.assignUserTask>>;\n assignUserTask(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { userTaskKey, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { userTaskKey };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('assignUserTask', _schemas.zAssignUserTaskData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.assignUserTask(opts);\n let data = this._evaluateResponse(_raw, 'assignUserTask', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zAssignUserTaskResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zAssignUserTaskResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('assignUserTask', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'assignUserTask', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Assign a user to a group\n *\n * Assigns a user to a group, making the user a member of the group.\n * Group members inherit the group authorizations, roles, and tenant assignments.\n *\n *\n * @example Assign a user to a group\n * ```ts\n * async function assignUserToGroupExample(username: Username) {\n * const camunda = createCamundaClient();\n * \n * await camunda.assignUserToGroup({\n * groupId: 'engineering-team',\n * username,\n * });\n * }\n * ```\n * @operationId assignUserToGroup\n * @tags Group\n */\n assignUserToGroup(input: assignUserToGroupInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.assignUserToGroup>>;\n assignUserToGroup(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { groupId, username } = arg || {};\n let envelope: any = {};\n envelope.path = { groupId, username };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('assignUserToGroup', _schemas.zAssignUserToGroupData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.assignUserToGroup(opts);\n let data = this._evaluateResponse(_raw, 'assignUserToGroup', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zAssignUserToGroupResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zAssignUserToGroupResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('assignUserToGroup', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'assignUserToGroup', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Assign a user to a tenant\n *\n * Assign a single user to a specified tenant. The user can then access tenant data and perform authorized actions.\n *\n * @example Assign a user to a tenant\n * ```ts\n * async function assignUserToTenantExample(tenantId: TenantId, username: Username) {\n * const camunda = createCamundaClient();\n * \n * await camunda.assignUserToTenant({\n * tenantId,\n * username,\n * });\n * }\n * ```\n * @operationId assignUserToTenant\n * @tags Tenant\n */\n assignUserToTenant(input: assignUserToTenantInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.assignUserToTenant>>;\n assignUserToTenant(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { tenantId, username } = arg || {};\n let envelope: any = {};\n envelope.path = { tenantId, username };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('assignUserToTenant', _schemas.zAssignUserToTenantData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.assignUserToTenant(opts);\n let data = this._evaluateResponse(_raw, 'assignUserToTenant', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zAssignUserToTenantResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zAssignUserToTenantResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('assignUserToTenant', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'assignUserToTenant', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Broadcast signal\n *\n * Broadcasts a signal.\n *\n * @example Broadcast a signal\n * ```ts\n * async function broadcastSignalExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.broadcastSignal({\n * signalName: 'system-shutdown',\n * variables: {\n * reason: 'Scheduled maintenance',\n * },\n * });\n * \n * console.log(`Signal broadcast key: ${result.signalKey}`);\n * }\n * ```\n * @operationId broadcastSignal\n * @tags Signal\n */\n broadcastSignal(input: broadcastSignalInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.broadcastSignal>>;\n broadcastSignal(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (envelope.body && (envelope.body.tenantId === undefined || envelope.body.tenantId === null)) {\n envelope.body.tenantId = this._config.defaultTenantId;\n this._log.trace(() => ['tenant.default.inject', { op: 'broadcastSignal', tenant: this._config.defaultTenantId }]);\n }\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('broadcastSignal', _schemas.zBroadcastSignalData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.broadcastSignal(opts);\n let data = this._evaluateResponse(_raw, 'broadcastSignal', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zBroadcastSignalResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zBroadcastSignalResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('broadcastSignal', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'broadcastSignal', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Cancel Batch operation\n *\n * Cancels a running batch operation.\n * This is done asynchronously, the progress can be tracked using the batch operation status endpoint (/batch-operations/{batchOperationKey}).\n *\n *\n * @example Cancel a batch operation\n * ```ts\n * async function cancelBatchOperationExample(batchOperationKey: BatchOperationKey) {\n * const camunda = createCamundaClient();\n * \n * await camunda.cancelBatchOperation({ batchOperationKey });\n * }\n * ```\n * @operationId cancelBatchOperation\n * @tags Batch operation\n */\n cancelBatchOperation(input: cancelBatchOperationInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.cancelBatchOperation>>;\n cancelBatchOperation(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { batchOperationKey, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { batchOperationKey };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('cancelBatchOperation', _schemas.zCancelBatchOperationData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.cancelBatchOperation(opts);\n let data = this._evaluateResponse(_raw, 'cancelBatchOperation', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zCancelBatchOperationResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zCancelBatchOperationResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('cancelBatchOperation', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'cancelBatchOperation', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Cancel process instance\n *\n * Cancels a running process instance. As a cancellation includes more than just the removal of the process instance resource, the cancellation resource must be posted. Cancellation can wait on listener-related processing; when that processing does not complete in time, this endpoint can return 504. Other gateway timeout causes are also possible. Retry with backoff and inspect listener worker availability and logs when this repeats.\n *\n *\n * @example Cancel a process instance\n * ```ts\n * async function cancelProcessInstanceExample(processDefinitionId: ProcessDefinitionId) {\n * const camunda = createCamundaClient();\n * \n * // Create a process instance and get its key from the response\n * const created = await camunda.createProcessInstance({\n * processDefinitionId,\n * });\n * \n * // Cancel the process instance using the key from the creation response\n * await camunda.cancelProcessInstance({\n * processInstanceKey: created.processInstanceKey,\n * });\n * }\n * ```\n * @operationId cancelProcessInstance\n * @tags Process instance\n */\n cancelProcessInstance(input: cancelProcessInstanceInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.cancelProcessInstance>>;\n cancelProcessInstance(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { processInstanceKey, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { processInstanceKey };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('cancelProcessInstance', _schemas.zCancelProcessInstanceData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.cancelProcessInstance(opts);\n let data = this._evaluateResponse(_raw, 'cancelProcessInstance', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zCancelProcessInstanceResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zCancelProcessInstanceResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('cancelProcessInstance', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'cancelProcessInstance', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Cancel process instances (batch)\n *\n * Cancels multiple running process instances.\n * Since only ACTIVE root instances can be cancelled, any given filters for state and\n * parentProcessInstanceKey are ignored and overridden during this batch operation.\n * This is done asynchronously, the progress can be tracked using the batchOperationKey from the response and the batch operation status endpoint (/batch-operations/{batchOperationKey}).\n *\n *\n * @example Cancel process instances in batch\n * ```ts\n * async function cancelProcessInstancesBatchOperationExample(\n * processDefinitionKey: ProcessDefinitionKey\n * ) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.cancelProcessInstancesBatchOperation({\n * filter: {\n * processDefinitionKey,\n * },\n * });\n * \n * console.log(`Batch operation key: ${result.batchOperationKey}`);\n * }\n * ```\n * @operationId cancelProcessInstancesBatchOperation\n * @tags Process instance\n */\n cancelProcessInstancesBatchOperation(input: cancelProcessInstancesBatchOperationInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.cancelProcessInstancesBatchOperation>>;\n cancelProcessInstancesBatchOperation(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('cancelProcessInstancesBatchOperation', _schemas.zCancelProcessInstancesBatchOperationData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.cancelProcessInstancesBatchOperation(opts);\n let data = this._evaluateResponse(_raw, 'cancelProcessInstancesBatchOperation', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zCancelProcessInstancesBatchOperationResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zCancelProcessInstancesBatchOperationResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('cancelProcessInstancesBatchOperation', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'cancelProcessInstancesBatchOperation', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Complete job\n *\n * Complete a job with the given payload, which allows completing the associated service task.\n *\n *\n * @example Complete a job\n * ```ts\n * async function completeJobExample(jobKey: JobKey) {\n * const camunda = createCamundaClient();\n * \n * await camunda.completeJob({\n * jobKey,\n * variables: {\n * paymentId: 'PAY-123',\n * status: 'completed',\n * },\n * });\n * }\n * ```\n * @operationId completeJob\n * @tags Job\n */\n completeJob(input: completeJobInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.completeJob>>;\n completeJob(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { jobKey, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { jobKey };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('completeJob', _schemas.zCompleteJobData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.completeJob(opts);\n let data = this._evaluateResponse(_raw, 'completeJob', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zCompleteJobResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zCompleteJobResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('completeJob', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'completeJob', exempt: true, retryOverride: options?.retry });\n });\n }\n\n /**\n * Complete user task\n *\n * Completes a user task with the given key. Completion waits for blocking task listeners on this lifecycle transition. If listener processing is delayed beyond the request timeout, this endpoint can return 504. Other gateway timeout causes are also possible. Retry with backoff and inspect listener worker availability and logs when this repeats.\n *\n *\n * @example Complete a user task\n * ```ts\n * async function completeUserTaskExample(userTaskKey: UserTaskKey) {\n * const camunda = createCamundaClient();\n * \n * await camunda.completeUserTask({\n * userTaskKey,\n * variables: {\n * approved: true,\n * comment: 'Looks good',\n * },\n * });\n * }\n * ```\n * @operationId completeUserTask\n * @tags User task\n */\n completeUserTask(input: completeUserTaskInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.completeUserTask>>;\n completeUserTask(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { userTaskKey, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { userTaskKey };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('completeUserTask', _schemas.zCompleteUserTaskData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.completeUserTask(opts);\n let data = this._evaluateResponse(_raw, 'completeUserTask', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zCompleteUserTaskResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zCompleteUserTaskResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('completeUserTask', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'completeUserTask', exempt: true, retryOverride: options?.retry });\n });\n }\n\n /**\n * Correlate message\n *\n * Publishes a message and correlates it to a subscription.\n * If correlation is successful it will return the first process instance key the message correlated with.\n * The message is not buffered.\n * Use the publish message endpoint to send messages that can be buffered.\n *\n *\n * @example Correlate a message\n * ```ts\n * async function correlateMessageExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.correlateMessage({\n * name: 'order-payment-received',\n * correlationKey: 'ORD-12345',\n * variables: {\n * paymentId: 'PAY-123',\n * amount: 99.95,\n * },\n * });\n * \n * console.log(`Message correlated to: ${result.processInstanceKey}`);\n * }\n * ```\n * @operationId correlateMessage\n * @tags Message\n */\n correlateMessage(input: correlateMessageInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.correlateMessage>>;\n correlateMessage(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (envelope.body && (envelope.body.tenantId === undefined || envelope.body.tenantId === null)) {\n envelope.body.tenantId = this._config.defaultTenantId;\n this._log.trace(() => ['tenant.default.inject', { op: 'correlateMessage', tenant: this._config.defaultTenantId }]);\n }\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('correlateMessage', _schemas.zCorrelateMessageData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.correlateMessage(opts);\n let data = this._evaluateResponse(_raw, 'correlateMessage', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zCorrelateMessageResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zCorrelateMessageResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('correlateMessage', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'correlateMessage', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Create admin user\n *\n * Creates a new user and assigns the admin role to it. This endpoint is only usable when users are managed in the Orchestration Cluster and while no user is assigned to the admin role.\n *\n * @example Create an admin user\n * ```ts\n * async function createAdminUserExample(username: Username) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.createAdminUser({\n * username,\n * name: 'Admin User',\n * email: 'admin@example.com',\n * password: 'admin-password-123',\n * });\n * \n * console.log(`Created admin user: ${result.username}`);\n * }\n * ```\n * @operationId createAdminUser\n * @tags Setup\n */\n createAdminUser(input: createAdminUserInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.createAdminUser>>;\n createAdminUser(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('createAdminUser', _schemas.zCreateAdminUserData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.createAdminUser(opts);\n let data = this._evaluateResponse(_raw, 'createAdminUser', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zCreateAdminUserResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zCreateAdminUserResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('createAdminUser', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'createAdminUser', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Create authorization\n *\n * Create the authorization.\n *\n * @example Create an authorization\n * ```ts\n * async function createAuthorizationExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.createAuthorization({\n * ownerId: 'user-123',\n * ownerType: 'USER',\n * resourceId: 'order-process',\n * resourceType: 'PROCESS_DEFINITION',\n * permissionTypes: ['CREATE_PROCESS_INSTANCE', 'READ_PROCESS_INSTANCE'],\n * });\n * \n * console.log(`Authorization key: ${result.authorizationKey}`);\n * }\n * ```\n * @operationId createAuthorization\n * @tags Authorization\n */\n createAuthorization(input: createAuthorizationInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.createAuthorization>>;\n createAuthorization(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('createAuthorization', _schemas.zCreateAuthorizationData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.createAuthorization(opts);\n let data = this._evaluateResponse(_raw, 'createAuthorization', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zCreateAuthorizationResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zCreateAuthorizationResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('createAuthorization', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'createAuthorization', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Deploy resources\n *\n * Deploys one or more resources (e.g. processes, decision models, or forms).\n * This is an atomic call, i.e. either all resources are deployed or none of them are.\n *\n *\n * @example Deploy resources from files\n * ```ts\n * async function deployResourcesFromFilesExample() {\n * const camunda = createCamundaClient();\n * \n * // Node.js only: deploy directly from file paths\n * const result = await camunda.deployResourcesFromFiles(['./process.bpmn', './decision.dmn']);\n * \n * console.log(`Deployment key: ${result.deploymentKey}`);\n * }\n * ```\n * @operationId createDeployment\n * @tags Resource\n * @returns Enriched deployment result with typed arrays (processes, decisions, decisionRequirements, forms, resources).\n */\n createDeployment(input: createDeploymentInput, options?: OperationOptions): CancelablePromise<ExtendedDeploymentResult>;\n createDeployment(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (envelope.body && (envelope.body.tenantId === undefined || envelope.body.tenantId === null)) {\n envelope.body.tenantId = this._config.defaultTenantId;\n this._log.trace(() => ['tenant.default.inject', { op: 'createDeployment', tenant: this._config.defaultTenantId }]);\n }\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('createDeployment', _schemas.zCreateDeploymentData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.createDeployment(opts);\n let data = this._evaluateResponse(_raw, 'createDeployment', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zCreateDeploymentResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zCreateDeploymentResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('createDeployment', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n // Enrich deployment response AFTER validation to avoid fanatical extras errors\n if (data) {\n const base = data as _DataOf<typeof Sdk.createDeployment>;\n const ext: ExtendedDeploymentResult = { ...base, processes: [], decisions: [], decisionRequirements: [], forms: [], resources: [] };\n if (Array.isArray(base.deployments)) {\n for (const d of base.deployments) {\n if (d?.processDefinition) ext.processes.push(d.processDefinition);\n if (d?.decisionDefinition) ext.decisions.push(d.decisionDefinition);\n if (d?.decisionRequirements) ext.decisionRequirements.push(d.decisionRequirements);\n if (d?.form) ext.forms.push(d.form);\n if (d?.resource) ext.resources.push(d.resource);\n }\n }\n data = ext;\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'createDeployment', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Upload document\n *\n * Upload a document to the Camunda 8 cluster.\n *\n * Note that this is currently supported for document stores of type: AWS, GCP, in-memory (non-production), local (non-production)\n *\n *\n * @example Upload a document\n * ```ts\n * async function createDocumentExample() {\n * const camunda = createCamundaClient();\n * \n * const file = new Blob(['Hello, world!'], { type: 'text/plain' });\n * \n * const result = await camunda.createDocument({\n * file,\n * metadata: { fileName: 'hello.txt' },\n * });\n * \n * console.log(`Document ID: ${result.documentId}`);\n * }\n * ```\n * @operationId createDocument\n * @tags Document\n */\n createDocument(input: createDocumentInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.createDocument>>;\n createDocument(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { storeId, documentId, ..._body } = arg || {};\n let envelope: any = {};\n envelope.query = { storeId, documentId };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('createDocument', _schemas.zCreateDocumentData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.query) opts.query = envelope.query;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.createDocument(opts);\n let data = this._evaluateResponse(_raw, 'createDocument', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zCreateDocumentResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zCreateDocumentResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('createDocument', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'createDocument', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Create document link\n *\n * Create a link to a document in the Camunda 8 cluster.\n *\n * Note that this is currently supported for document stores of type: AWS, GCP\n *\n *\n * @example Create a document link\n * ```ts\n * async function createDocumentLinkExample(documentId: DocumentId) {\n * const camunda = createCamundaClient();\n * \n * const link = await camunda.createDocumentLink({\n * documentId,\n * timeToLive: 3600000,\n * });\n * \n * console.log(`Document link: ${link.url}`);\n * }\n * ```\n * @operationId createDocumentLink\n * @tags Document\n */\n createDocumentLink(input: createDocumentLinkInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.createDocumentLink>>;\n createDocumentLink(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { documentId, storeId, contentHash, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { documentId };\n envelope.query = { storeId, contentHash };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('createDocumentLink', _schemas.zCreateDocumentLinkData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.query) opts.query = envelope.query;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.createDocumentLink(opts);\n let data = this._evaluateResponse(_raw, 'createDocumentLink', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zCreateDocumentLinkResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zCreateDocumentLinkResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('createDocumentLink', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'createDocumentLink', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Upload multiple documents\n *\n * Upload multiple documents to the Camunda 8 cluster.\n *\n * The caller must provide a file name for each document, which will be used in case of a multi-status response\n * to identify which documents failed to upload. The file name can be provided in the `Content-Disposition` header\n * of the file part or in the `fileName` field of the metadata. You can add a parallel array of metadata objects. These\n * are matched with the files based on index, and must have the same length as the files array.\n * To pass homogenous metadata for all files, spread the metadata over the metadata array.\n * A filename value provided explicitly via the metadata array in the request overrides the `Content-Disposition` header\n * of the file part.\n *\n * In case of a multi-status response, the response body will contain a list of `DocumentBatchProblemDetail` objects,\n * each of which contains the file name of the document that failed to upload and the reason for the failure.\n * The client can choose to retry the whole batch or individual documents based on the response.\n *\n * Note that this is currently supported for document stores of type: AWS, GCP, in-memory (non-production), local (non-production)\n *\n *\n * @example Upload multiple documents\n * ```ts\n * async function createDocumentsExample() {\n * const camunda = createCamundaClient();\n * \n * const file1 = new Blob(['File one'], { type: 'text/plain' });\n * const file2 = new Blob(['File two'], { type: 'text/plain' });\n * \n * const result = await camunda.createDocuments({\n * files: [file1, file2],\n * metadataList: [{ fileName: 'one.txt' }, { fileName: 'two.txt' }],\n * });\n * \n * for (const doc of result.createdDocuments ?? []) {\n * console.log(`Created: ${doc.documentId}`);\n * }\n * }\n * ```\n * @operationId createDocuments\n * @tags Document\n */\n createDocuments(input: createDocumentsInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.createDocuments>>;\n createDocuments(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { storeId, ..._body } = arg || {};\n let envelope: any = {};\n envelope.query = { storeId };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('createDocuments', _schemas.zCreateDocumentsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.query) opts.query = envelope.query;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.createDocuments(opts);\n let data = this._evaluateResponse(_raw, 'createDocuments', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zCreateDocumentsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zCreateDocumentsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('createDocuments', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'createDocuments', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Update element instance variables\n *\n * Updates all the variables of a particular scope (for example, process instance, element instance) with the given variable data.\n * Specify the element instance in the `elementInstanceKey` parameter.\n * Variable updates can be delayed by listener-related processing; if processing exceeds the\n * request timeout, this endpoint can return 504. Other gateway timeout causes are also\n * possible. Retry with backoff and inspect listener worker availability and logs when this\n * repeats.\n *\n *\n * @example Create element instance variables\n * ```ts\n * async function createElementInstanceVariablesExample(elementInstanceKey: ElementInstanceKey) {\n * const camunda = createCamundaClient();\n * \n * await camunda.createElementInstanceVariables({\n * elementInstanceKey,\n * variables: { orderId: 'ORD-12345', status: 'processing' },\n * });\n * }\n * ```\n * @operationId createElementInstanceVariables\n * @tags Element instance\n */\n createElementInstanceVariables(input: createElementInstanceVariablesInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.createElementInstanceVariables>>;\n createElementInstanceVariables(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { elementInstanceKey, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { elementInstanceKey };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('createElementInstanceVariables', _schemas.zCreateElementInstanceVariablesData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.createElementInstanceVariables(opts);\n let data = this._evaluateResponse(_raw, 'createElementInstanceVariables', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zCreateElementInstanceVariablesResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zCreateElementInstanceVariablesResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('createElementInstanceVariables', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'createElementInstanceVariables', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Create a global-scoped cluster variable\n *\n * Create a global-scoped cluster variable.\n *\n * @example Create a global cluster variable\n * ```ts\n * async function createGlobalClusterVariableExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.createGlobalClusterVariable({\n * name: 'feature-flags',\n * value: { darkMode: true },\n * });\n * \n * console.log(`Created: ${result.name}`);\n * }\n * ```\n * @operationId createGlobalClusterVariable\n * @tags Cluster Variable\n */\n createGlobalClusterVariable(input: createGlobalClusterVariableInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.createGlobalClusterVariable>>;\n createGlobalClusterVariable(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('createGlobalClusterVariable', _schemas.zCreateGlobalClusterVariableData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.createGlobalClusterVariable(opts);\n let data = this._evaluateResponse(_raw, 'createGlobalClusterVariable', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zCreateGlobalClusterVariableResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zCreateGlobalClusterVariableResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('createGlobalClusterVariable', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'createGlobalClusterVariable', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Create global user task listener\n *\n * Create a new global user task listener.\n *\n * @example Create a global task listener\n * ```ts\n * async function createGlobalTaskListenerExample(id: GlobalListenerId) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.createGlobalTaskListener({\n * id,\n * eventTypes: ['completing'],\n * type: 'audit-log-listener',\n * });\n * \n * console.log(`Created listener: ${result.id}`);\n * }\n * ```\n * @operationId createGlobalTaskListener\n * @tags Global listener\n */\n createGlobalTaskListener(input: createGlobalTaskListenerInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.createGlobalTaskListener>>;\n createGlobalTaskListener(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('createGlobalTaskListener', _schemas.zCreateGlobalTaskListenerData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.createGlobalTaskListener(opts);\n let data = this._evaluateResponse(_raw, 'createGlobalTaskListener', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zCreateGlobalTaskListenerResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zCreateGlobalTaskListenerResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('createGlobalTaskListener', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'createGlobalTaskListener', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Create group\n *\n * Create a new group.\n *\n * @example Create a group\n * ```ts\n * async function createGroupExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.createGroup({\n * groupId: 'engineering-team',\n * name: 'Engineering Team',\n * });\n * \n * console.log(`Created group: ${result.groupId}`);\n * }\n * ```\n * @operationId createGroup\n * @tags Group\n */\n createGroup(input: createGroupInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.createGroup>>;\n createGroup(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('createGroup', _schemas.zCreateGroupData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.createGroup(opts);\n let data = this._evaluateResponse(_raw, 'createGroup', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zCreateGroupResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zCreateGroupResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('createGroup', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'createGroup', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Create mapping rule\n *\n * Create a new mapping rule\n *\n *\n * @example Create a mapping rule\n * ```ts\n * async function createMappingRuleExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.createMappingRule({\n * mappingRuleId: 'ldap-group-mapping',\n * name: 'LDAP Group Mapping',\n * claimName: 'groups',\n * claimValue: 'engineering',\n * });\n * \n * console.log(`Created mapping rule: ${result.mappingRuleId}`);\n * }\n * ```\n * @operationId createMappingRule\n * @tags Mapping rule\n */\n createMappingRule(input: createMappingRuleInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.createMappingRule>>;\n createMappingRule(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('createMappingRule', _schemas.zCreateMappingRuleData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.createMappingRule(opts);\n let data = this._evaluateResponse(_raw, 'createMappingRule', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zCreateMappingRuleResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zCreateMappingRuleResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('createMappingRule', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'createMappingRule', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Create process instance\n *\n * Creates and starts an instance of the specified process.\n * The process definition to use to create the instance can be specified either using its unique key\n * (as returned by Deploy resources), or using the BPMN process id and a version.\n *\n * Waits for the completion of the process instance before returning a result\n * when awaitCompletion is enabled.\n *\n *\n * @example By ID\n * ```ts\n * async function createProcessInstanceByIdExample(processDefinitionId: ProcessDefinitionId) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.createProcessInstance({\n * processDefinitionId,\n * variables: {\n * orderId: 'ORD-12345',\n * amount: 99.95,\n * },\n * });\n * \n * console.log(`Started process instance: ${result.processInstanceKey}`);\n * }\n * ```\n * @example By key\n * ```ts\n * async function createProcessInstanceByKeyExample(processDefinitionKey: ProcessDefinitionKey) {\n * const camunda = createCamundaClient();\n * \n * // Key from a previous API response (e.g. deployment)\n * const result = await camunda.createProcessInstance({\n * processDefinitionKey,\n * variables: {\n * orderId: 'ORD-12345',\n * amount: 99.95,\n * },\n * });\n * \n * console.log(`Started process instance: ${result.processInstanceKey}`);\n * }\n * ```\n * @operationId createProcessInstance\n * @tags Process instance\n */\n createProcessInstance(input: createProcessInstanceInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.createProcessInstance>>;\n createProcessInstance(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (envelope.body && (envelope.body.tenantId === undefined || envelope.body.tenantId === null)) {\n envelope.body.tenantId = this._config.defaultTenantId;\n this._log.trace(() => ['tenant.default.inject', { op: 'createProcessInstance', tenant: this._config.defaultTenantId }]);\n }\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('createProcessInstance', _schemas.zCreateProcessInstanceData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.createProcessInstance(opts);\n let data = this._evaluateResponse(_raw, 'createProcessInstance', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zCreateProcessInstanceResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zCreateProcessInstanceResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('createProcessInstance', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'createProcessInstance', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Create role\n *\n * Create a new role.\n *\n * @example Create a role\n * ```ts\n * async function createRoleExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.createRole({\n * roleId: 'process-admin',\n * name: 'Process Admin',\n * });\n * \n * console.log(`Created role: ${result.roleId}`);\n * }\n * ```\n * @operationId createRole\n * @tags Role\n */\n createRole(input: createRoleInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.createRole>>;\n createRole(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('createRole', _schemas.zCreateRoleData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.createRole(opts);\n let data = this._evaluateResponse(_raw, 'createRole', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zCreateRoleResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zCreateRoleResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('createRole', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'createRole', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Create tenant\n *\n * Creates a new tenant.\n *\n * @example Create a tenant\n * ```ts\n * async function createTenantExample(tenantId: TenantId) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.createTenant({\n * tenantId,\n * name: 'Customer Service',\n * });\n * \n * console.log(`Created tenant: ${result.tenantId}`);\n * }\n * ```\n * @operationId createTenant\n * @tags Tenant\n */\n createTenant(input: createTenantInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.createTenant>>;\n createTenant(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('createTenant', _schemas.zCreateTenantData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.createTenant(opts);\n let data = this._evaluateResponse(_raw, 'createTenant', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zCreateTenantResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zCreateTenantResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('createTenant', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'createTenant', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Create a tenant-scoped cluster variable\n *\n * Create a new cluster variable for the given tenant.\n *\n * @example Create a tenant cluster variable\n * ```ts\n * async function createTenantClusterVariableExample(tenantId: TenantId) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.createTenantClusterVariable({\n * tenantId,\n * name: 'config',\n * value: { region: 'us-east-1' },\n * });\n * \n * console.log(`Created: ${result.name}`);\n * }\n * ```\n * @operationId createTenantClusterVariable\n * @tags Cluster Variable\n */\n createTenantClusterVariable(input: createTenantClusterVariableInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.createTenantClusterVariable>>;\n createTenantClusterVariable(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { tenantId, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { tenantId };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('createTenantClusterVariable', _schemas.zCreateTenantClusterVariableData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.createTenantClusterVariable(opts);\n let data = this._evaluateResponse(_raw, 'createTenantClusterVariable', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zCreateTenantClusterVariableResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zCreateTenantClusterVariableResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('createTenantClusterVariable', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'createTenantClusterVariable', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Create user\n *\n * Create a new user.\n *\n * @example Create a user\n * ```ts\n * async function createUserExample(username: Username) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.createUser({\n * username,\n * name: 'Alice Smith',\n * email: 'alice@example.com',\n * password: 'secure-password-123',\n * });\n * \n * console.log(`Created user: ${result.username}`);\n * }\n * ```\n * @operationId createUser\n * @tags User\n */\n createUser(input: createUserInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.createUser>>;\n createUser(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('createUser', _schemas.zCreateUserData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.createUser(opts);\n let data = this._evaluateResponse(_raw, 'createUser', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zCreateUserResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zCreateUserResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('createUser', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'createUser', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Delete authorization\n *\n * Deletes the authorization with the given key.\n *\n * @example Delete an authorization\n * ```ts\n * async function deleteAuthorizationExample(authorizationKey: AuthorizationKey) {\n * const camunda = createCamundaClient();\n * \n * await camunda.deleteAuthorization({ authorizationKey });\n * }\n * ```\n * @operationId deleteAuthorization\n * @tags Authorization\n */\n deleteAuthorization(input: deleteAuthorizationInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.deleteAuthorization>>;\n deleteAuthorization(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { authorizationKey } = arg || {};\n let envelope: any = {};\n envelope.path = { authorizationKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('deleteAuthorization', _schemas.zDeleteAuthorizationData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.deleteAuthorization(opts);\n let data = this._evaluateResponse(_raw, 'deleteAuthorization', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zDeleteAuthorizationResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zDeleteAuthorizationResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('deleteAuthorization', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'deleteAuthorization', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Delete decision instance\n *\n * Delete all associated decision evaluations based on provided key.\n *\n * @example Delete a decision instance\n * ```ts\n * async function deleteDecisionInstanceExample(decisionEvaluationKey: DecisionEvaluationKey) {\n * const camunda = createCamundaClient();\n * \n * await camunda.deleteDecisionInstance({ decisionEvaluationKey });\n * }\n * ```\n * @operationId deleteDecisionInstance\n * @tags Decision instance\n */\n deleteDecisionInstance(input: deleteDecisionInstanceInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.deleteDecisionInstance>>;\n deleteDecisionInstance(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { decisionEvaluationKey, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { decisionEvaluationKey };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('deleteDecisionInstance', _schemas.zDeleteDecisionInstanceData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.deleteDecisionInstance(opts);\n let data = this._evaluateResponse(_raw, 'deleteDecisionInstance', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zDeleteDecisionInstanceResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zDeleteDecisionInstanceResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('deleteDecisionInstance', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'deleteDecisionInstance', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Delete decision instances (batch)\n *\n * Delete multiple decision instances. This will delete the historic data from secondary storage.\n * This is done asynchronously, the progress can be tracked using the batchOperationKey from the response and the batch operation status endpoint (/batch-operations/{batchOperationKey}).\n *\n *\n * @example Delete decision instances in batch\n * ```ts\n * async function deleteDecisionInstancesBatchOperationExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.deleteDecisionInstancesBatchOperation({\n * filter: {},\n * });\n * \n * console.log(`Batch operation key: ${result.batchOperationKey}`);\n * }\n * ```\n * @operationId deleteDecisionInstancesBatchOperation\n * @tags Decision instance\n */\n deleteDecisionInstancesBatchOperation(input: deleteDecisionInstancesBatchOperationInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.deleteDecisionInstancesBatchOperation>>;\n deleteDecisionInstancesBatchOperation(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('deleteDecisionInstancesBatchOperation', _schemas.zDeleteDecisionInstancesBatchOperationData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.deleteDecisionInstancesBatchOperation(opts);\n let data = this._evaluateResponse(_raw, 'deleteDecisionInstancesBatchOperation', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zDeleteDecisionInstancesBatchOperationResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zDeleteDecisionInstancesBatchOperationResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('deleteDecisionInstancesBatchOperation', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'deleteDecisionInstancesBatchOperation', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Delete document\n *\n * Delete a document from the Camunda 8 cluster.\n *\n * Note that this is currently supported for document stores of type: AWS, GCP, in-memory (non-production), local (non-production)\n *\n *\n * @example Delete a document\n * ```ts\n * async function deleteDocumentExample(documentId: DocumentId) {\n * const camunda = createCamundaClient();\n * \n * await camunda.deleteDocument({ documentId });\n * }\n * ```\n * @operationId deleteDocument\n * @tags Document\n */\n deleteDocument(input: deleteDocumentInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.deleteDocument>>;\n deleteDocument(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { documentId, storeId } = arg || {};\n let envelope: any = {};\n envelope.path = { documentId };\n envelope.query = { storeId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('deleteDocument', _schemas.zDeleteDocumentData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.query) opts.query = envelope.query;\n const call = async () => {\n try {\n const _raw = await Sdk.deleteDocument(opts);\n let data = this._evaluateResponse(_raw, 'deleteDocument', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zDeleteDocumentResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zDeleteDocumentResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('deleteDocument', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'deleteDocument', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Delete a global-scoped cluster variable\n *\n * Delete a global-scoped cluster variable.\n *\n * @example Delete a global cluster variable\n * ```ts\n * async function deleteGlobalClusterVariableExample() {\n * const camunda = createCamundaClient();\n * \n * await camunda.deleteGlobalClusterVariable({ name: 'feature-flags' });\n * }\n * ```\n * @operationId deleteGlobalClusterVariable\n * @tags Cluster Variable\n */\n deleteGlobalClusterVariable(input: deleteGlobalClusterVariableInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.deleteGlobalClusterVariable>>;\n deleteGlobalClusterVariable(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { name } = arg || {};\n let envelope: any = {};\n envelope.path = { name };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('deleteGlobalClusterVariable', _schemas.zDeleteGlobalClusterVariableData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.deleteGlobalClusterVariable(opts);\n let data = this._evaluateResponse(_raw, 'deleteGlobalClusterVariable', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zDeleteGlobalClusterVariableResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zDeleteGlobalClusterVariableResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('deleteGlobalClusterVariable', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'deleteGlobalClusterVariable', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Delete global user task listener\n *\n * Deletes a global user task listener.\n *\n * @example Delete a global task listener\n * ```ts\n * async function deleteGlobalTaskListenerExample(id: GlobalListenerId) {\n * const camunda = createCamundaClient();\n * \n * await camunda.deleteGlobalTaskListener({\n * id,\n * });\n * }\n * ```\n * @operationId deleteGlobalTaskListener\n * @tags Global listener\n */\n deleteGlobalTaskListener(input: deleteGlobalTaskListenerInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.deleteGlobalTaskListener>>;\n deleteGlobalTaskListener(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { id } = arg || {};\n let envelope: any = {};\n envelope.path = { id };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('deleteGlobalTaskListener', _schemas.zDeleteGlobalTaskListenerData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.deleteGlobalTaskListener(opts);\n let data = this._evaluateResponse(_raw, 'deleteGlobalTaskListener', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zDeleteGlobalTaskListenerResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zDeleteGlobalTaskListenerResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('deleteGlobalTaskListener', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'deleteGlobalTaskListener', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Delete group\n *\n * Deletes the group with the given ID.\n *\n * @example Delete a group\n * ```ts\n * async function deleteGroupExample() {\n * const camunda = createCamundaClient();\n * \n * await camunda.deleteGroup({ groupId: 'engineering-team' });\n * }\n * ```\n * @operationId deleteGroup\n * @tags Group\n */\n deleteGroup(input: deleteGroupInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.deleteGroup>>;\n deleteGroup(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { groupId } = arg || {};\n let envelope: any = {};\n envelope.path = { groupId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('deleteGroup', _schemas.zDeleteGroupData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.deleteGroup(opts);\n let data = this._evaluateResponse(_raw, 'deleteGroup', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zDeleteGroupResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zDeleteGroupResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('deleteGroup', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'deleteGroup', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Delete a mapping rule\n *\n * Deletes the mapping rule with the given ID.\n *\n *\n * @example Delete a mapping rule\n * ```ts\n * async function deleteMappingRuleExample() {\n * const camunda = createCamundaClient();\n * \n * await camunda.deleteMappingRule({ mappingRuleId: 'ldap-group-mapping' });\n * }\n * ```\n * @operationId deleteMappingRule\n * @tags Mapping rule\n */\n deleteMappingRule(input: deleteMappingRuleInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.deleteMappingRule>>;\n deleteMappingRule(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { mappingRuleId } = arg || {};\n let envelope: any = {};\n envelope.path = { mappingRuleId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('deleteMappingRule', _schemas.zDeleteMappingRuleData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.deleteMappingRule(opts);\n let data = this._evaluateResponse(_raw, 'deleteMappingRule', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zDeleteMappingRuleResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zDeleteMappingRuleResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('deleteMappingRule', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'deleteMappingRule', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Delete process instance\n *\n * Deletes a process instance. Only instances that are completed or terminated can be deleted.\n *\n * @example Delete a process instance\n * ```ts\n * async function deleteProcessInstanceExample(processInstanceKey: ProcessInstanceKey) {\n * const camunda = createCamundaClient();\n * \n * await camunda.deleteProcessInstance({ processInstanceKey });\n * }\n * ```\n * @operationId deleteProcessInstance\n * @tags Process instance\n */\n deleteProcessInstance(input: deleteProcessInstanceInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.deleteProcessInstance>>;\n deleteProcessInstance(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { processInstanceKey, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { processInstanceKey };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('deleteProcessInstance', _schemas.zDeleteProcessInstanceData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.deleteProcessInstance(opts);\n let data = this._evaluateResponse(_raw, 'deleteProcessInstance', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zDeleteProcessInstanceResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zDeleteProcessInstanceResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('deleteProcessInstance', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'deleteProcessInstance', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Delete process instances (batch)\n *\n * Delete multiple process instances. This will delete the historic data from secondary storage.\n * Only process instances in a final state (COMPLETED or TERMINATED) can be deleted.\n * This is done asynchronously, the progress can be tracked using the batchOperationKey from the response and the batch operation status endpoint (/batch-operations/{batchOperationKey}).\n *\n *\n * @example Delete process instances in batch\n * ```ts\n * async function deleteProcessInstancesBatchOperationExample(\n * processDefinitionKey: ProcessDefinitionKey\n * ) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.deleteProcessInstancesBatchOperation({\n * filter: {\n * processDefinitionKey,\n * },\n * });\n * \n * console.log(`Batch operation key: ${result.batchOperationKey}`);\n * }\n * ```\n * @operationId deleteProcessInstancesBatchOperation\n * @tags Process instance\n */\n deleteProcessInstancesBatchOperation(input: deleteProcessInstancesBatchOperationInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.deleteProcessInstancesBatchOperation>>;\n deleteProcessInstancesBatchOperation(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('deleteProcessInstancesBatchOperation', _schemas.zDeleteProcessInstancesBatchOperationData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.deleteProcessInstancesBatchOperation(opts);\n let data = this._evaluateResponse(_raw, 'deleteProcessInstancesBatchOperation', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zDeleteProcessInstancesBatchOperationResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zDeleteProcessInstancesBatchOperationResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('deleteProcessInstancesBatchOperation', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'deleteProcessInstancesBatchOperation', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Delete resource\n *\n * Deletes a deployed resource. This can be a process definition, decision requirements\n * definition, or form definition deployed using the deploy resources endpoint. Specify the\n * resource you want to delete in the `resourceKey` parameter.\n *\n * Once a resource has been deleted it cannot be recovered. If the resource needs to be\n * available again, a new deployment of the resource is required.\n *\n * By default, only the resource itself is deleted from the runtime state. To also delete the\n * historic data associated with a resource, set the `deleteHistory` flag in the request body\n * to `true`. The historic data is deleted asynchronously via a batch operation. The details of\n * the created batch operation are included in the response. Note that history deletion is only\n * supported for process resources; for other resource types this flag is ignored and no history\n * will be deleted.\n *\n * @example Delete a resource\n * ```ts\n * async function deleteResourceExample(resourceKey: ProcessDefinitionKey) {\n * const camunda = createCamundaClient();\n * \n * // Use a process definition key as a resource key for deletion\n * await camunda.deleteResource({\n * resourceKey,\n * });\n * }\n * ```\n * @operationId deleteResource\n * @tags Resource\n */\n deleteResource(input: deleteResourceInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.deleteResource>>;\n deleteResource(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { resourceKey, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { resourceKey };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('deleteResource', _schemas.zDeleteResourceData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.deleteResource(opts);\n let data = this._evaluateResponse(_raw, 'deleteResource', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zDeleteResourceResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zDeleteResourceResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('deleteResource', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'deleteResource', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Delete role\n *\n * Deletes the role with the given ID.\n *\n * @example Delete a role\n * ```ts\n * async function deleteRoleExample() {\n * const camunda = createCamundaClient();\n * \n * await camunda.deleteRole({ roleId: 'process-admin' });\n * }\n * ```\n * @operationId deleteRole\n * @tags Role\n */\n deleteRole(input: deleteRoleInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.deleteRole>>;\n deleteRole(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { roleId } = arg || {};\n let envelope: any = {};\n envelope.path = { roleId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('deleteRole', _schemas.zDeleteRoleData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.deleteRole(opts);\n let data = this._evaluateResponse(_raw, 'deleteRole', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zDeleteRoleResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zDeleteRoleResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('deleteRole', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'deleteRole', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Delete tenant\n *\n * Deletes an existing tenant.\n *\n * @example Delete a tenant\n * ```ts\n * async function deleteTenantExample(tenantId: TenantId) {\n * const camunda = createCamundaClient();\n * \n * await camunda.deleteTenant({ tenantId });\n * }\n * ```\n * @operationId deleteTenant\n * @tags Tenant\n */\n deleteTenant(input: deleteTenantInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.deleteTenant>>;\n deleteTenant(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { tenantId } = arg || {};\n let envelope: any = {};\n envelope.path = { tenantId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('deleteTenant', _schemas.zDeleteTenantData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.deleteTenant(opts);\n let data = this._evaluateResponse(_raw, 'deleteTenant', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zDeleteTenantResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zDeleteTenantResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('deleteTenant', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'deleteTenant', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Delete a tenant-scoped cluster variable\n *\n * Delete a tenant-scoped cluster variable.\n *\n * @example Delete a tenant cluster variable\n * ```ts\n * async function deleteTenantClusterVariableExample(tenantId: TenantId) {\n * const camunda = createCamundaClient();\n * \n * await camunda.deleteTenantClusterVariable({\n * tenantId,\n * name: 'config',\n * });\n * }\n * ```\n * @operationId deleteTenantClusterVariable\n * @tags Cluster Variable\n */\n deleteTenantClusterVariable(input: deleteTenantClusterVariableInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.deleteTenantClusterVariable>>;\n deleteTenantClusterVariable(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { tenantId, name } = arg || {};\n let envelope: any = {};\n envelope.path = { tenantId, name };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('deleteTenantClusterVariable', _schemas.zDeleteTenantClusterVariableData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.deleteTenantClusterVariable(opts);\n let data = this._evaluateResponse(_raw, 'deleteTenantClusterVariable', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zDeleteTenantClusterVariableResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zDeleteTenantClusterVariableResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('deleteTenantClusterVariable', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'deleteTenantClusterVariable', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Delete user\n *\n * Deletes a user.\n *\n * @example Delete a user\n * ```ts\n * async function deleteUserExample(username: Username) {\n * const camunda = createCamundaClient();\n * \n * await camunda.deleteUser({ username });\n * }\n * ```\n * @operationId deleteUser\n * @tags User\n */\n deleteUser(input: deleteUserInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.deleteUser>>;\n deleteUser(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { username } = arg || {};\n let envelope: any = {};\n envelope.path = { username };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('deleteUser', _schemas.zDeleteUserData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.deleteUser(opts);\n let data = this._evaluateResponse(_raw, 'deleteUser', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zDeleteUserResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zDeleteUserResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('deleteUser', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'deleteUser', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Evaluate root level conditional start events\n *\n * Evaluates root-level conditional start events for process definitions.\n * If the evaluation is successful, it will return the keys of all created process instances, along with their associated process definition key.\n * Multiple root-level conditional start events of the same process definition can trigger if their conditions evaluate to true.\n *\n *\n * @example Evaluate conditionals\n * ```ts\n * async function evaluateConditionalsExample(tenantId: TenantId) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.evaluateConditionals({\n * variables: { orderReady: true },\n * tenantId,\n * });\n * \n * console.log(`Evaluated conditionals: ${JSON.stringify(result)}`);\n * }\n * ```\n * @operationId evaluateConditionals\n * @tags Conditional\n */\n evaluateConditionals(input: evaluateConditionalsInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.evaluateConditionals>>;\n evaluateConditionals(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (envelope.body && (envelope.body.tenantId === undefined || envelope.body.tenantId === null)) {\n envelope.body.tenantId = this._config.defaultTenantId;\n this._log.trace(() => ['tenant.default.inject', { op: 'evaluateConditionals', tenant: this._config.defaultTenantId }]);\n }\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('evaluateConditionals', _schemas.zEvaluateConditionalsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.evaluateConditionals(opts);\n let data = this._evaluateResponse(_raw, 'evaluateConditionals', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zEvaluateConditionalsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zEvaluateConditionalsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('evaluateConditionals', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'evaluateConditionals', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Evaluate decision\n *\n * Evaluates a decision.\n * You specify the decision to evaluate either by using its unique key (as returned by\n * DeployResource), or using the decision ID. When using the decision ID, the latest deployed\n * version of the decision is used.\n *\n *\n * @example By ID\n * ```ts\n * async function evaluateDecisionByIdExample(decisionDefinitionId: DecisionDefinitionId) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.evaluateDecision({\n * decisionDefinitionId,\n * variables: {\n * amount: 1000,\n * invoiceCategory: 'Misc',\n * },\n * });\n * \n * console.log(`Decision: ${result.decisionDefinitionId}`);\n * console.log(`Output: ${result.output}`);\n * }\n * ```\n * @example By key\n * ```ts\n * async function evaluateDecisionByKeyExample(decisionDefinitionKey: DecisionDefinitionKey) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.evaluateDecision({\n * decisionDefinitionKey,\n * variables: {\n * amount: 1000,\n * invoiceCategory: 'Misc',\n * },\n * });\n * \n * console.log(`Decision output: ${result.output}`);\n * }\n * ```\n * @operationId evaluateDecision\n * @tags Decision definition\n */\n evaluateDecision(input: evaluateDecisionInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.evaluateDecision>>;\n evaluateDecision(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (envelope.body && (envelope.body.tenantId === undefined || envelope.body.tenantId === null)) {\n envelope.body.tenantId = this._config.defaultTenantId;\n this._log.trace(() => ['tenant.default.inject', { op: 'evaluateDecision', tenant: this._config.defaultTenantId }]);\n }\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('evaluateDecision', _schemas.zEvaluateDecisionData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.evaluateDecision(opts);\n let data = this._evaluateResponse(_raw, 'evaluateDecision', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zEvaluateDecisionResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zEvaluateDecisionResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('evaluateDecision', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'evaluateDecision', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Evaluate an expression\n *\n * Evaluates a FEEL expression and returns the result. Supports references to tenant scoped cluster variables when a tenant ID is provided.\n *\n * @example Evaluate an expression\n * ```ts\n * async function evaluateExpressionExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.evaluateExpression({\n * expression: '= x + y',\n * variables: { x: 10, y: 20 },\n * });\n * \n * console.log(`Result: ${result.result}`);\n * }\n * ```\n * @operationId evaluateExpression\n * @tags Expression\n */\n evaluateExpression(input: evaluateExpressionInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.evaluateExpression>>;\n evaluateExpression(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (envelope.body && (envelope.body.tenantId === undefined || envelope.body.tenantId === null)) {\n envelope.body.tenantId = this._config.defaultTenantId;\n this._log.trace(() => ['tenant.default.inject', { op: 'evaluateExpression', tenant: this._config.defaultTenantId }]);\n }\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('evaluateExpression', _schemas.zEvaluateExpressionData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.evaluateExpression(opts);\n let data = this._evaluateResponse(_raw, 'evaluateExpression', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zEvaluateExpressionResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zEvaluateExpressionResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('evaluateExpression', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'evaluateExpression', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Fail job\n *\n * Mark the job as failed.\n *\n *\n * @example Fail a job with retry\n * ```ts\n * async function failJobExample(jobKey: JobKey) {\n * const camunda = createCamundaClient();\n * \n * await camunda.failJob({\n * jobKey,\n * retries: 2,\n * errorMessage: 'Payment gateway timeout',\n * retryBackOff: 5000,\n * });\n * }\n * ```\n * @operationId failJob\n * @tags Job\n */\n failJob(input: failJobInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.failJob>>;\n failJob(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { jobKey, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { jobKey };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('failJob', _schemas.zFailJobData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.failJob(opts);\n let data = this._evaluateResponse(_raw, 'failJob', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zFailJobResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zFailJobResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('failJob', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'failJob', exempt: true, retryOverride: options?.retry });\n });\n }\n\n /**\n * Get audit log\n *\n * Get an audit log entry by auditLogKey.\n *\n * @example Get an audit log entry\n * ```ts\n * async function getAuditLogExample(auditLogKey: AuditLogKey) {\n * const camunda = createCamundaClient();\n * \n * const log = await camunda.getAuditLog({ auditLogKey }, { consistency: { waitUpToMs: 5000 } });\n * \n * console.log(`Audit log: ${log.operationType}`);\n * }\n * ```\n * @operationId getAuditLog\n * @tags Audit Log\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getAuditLog(input: getAuditLogInput, /** Management of eventual consistency **/ consistencyManagement: getAuditLogConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getAuditLog>>;\n getAuditLog(arg: any, /** Management of eventual consistency **/ consistencyManagement: getAuditLogConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { auditLogKey } = arg || {};\n let envelope: any = {};\n envelope.path = { auditLogKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getAuditLog', _schemas.zGetAuditLogData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getAuditLog(opts);\n let data = this._evaluateResponse(_raw, 'getAuditLog', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetAuditLogResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetAuditLogResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getAuditLog', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getAuditLog', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get current user\n *\n * Retrieves the current authenticated user.\n *\n * @example Get authentication info\n * ```ts\n * async function getAuthenticationExample() {\n * const camunda = createCamundaClient();\n * \n * const user = await camunda.getAuthentication();\n * \n * console.log(`Authenticated as: ${user.username}`);\n * }\n * ```\n * @operationId getAuthentication\n * @tags Authentication\n */\n getAuthentication(options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getAuthentication>>;\n getAuthentication(arg?: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const opts: any = { client: this._client, signal, throwOnError: false };\n const call = async () => {\n try {\n const _raw = await Sdk.getAuthentication(opts as any);\n let data = this._evaluateResponse(_raw, 'getAuthentication', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail))); \n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetAuthenticationResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetAuthenticationResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getAuthentication', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'getAuthentication', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Get authorization\n *\n * Get authorization by the given key.\n *\n * @example Get an authorization\n * ```ts\n * async function getAuthorizationExample(authorizationKey: AuthorizationKey) {\n * const camunda = createCamundaClient();\n * \n * const authorization = await camunda.getAuthorization(\n * { authorizationKey },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * console.log(`Owner: ${authorization.ownerId} (${authorization.ownerType})`);\n * }\n * ```\n * @operationId getAuthorization\n * @tags Authorization\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getAuthorization(input: getAuthorizationInput, /** Management of eventual consistency **/ consistencyManagement: getAuthorizationConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getAuthorization>>;\n getAuthorization(arg: any, /** Management of eventual consistency **/ consistencyManagement: getAuthorizationConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { authorizationKey } = arg || {};\n let envelope: any = {};\n envelope.path = { authorizationKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getAuthorization', _schemas.zGetAuthorizationData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getAuthorization(opts);\n let data = this._evaluateResponse(_raw, 'getAuthorization', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetAuthorizationResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetAuthorizationResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getAuthorization', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getAuthorization', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get batch operation\n *\n * Get batch operation by key.\n *\n * @example Get a batch operation\n * ```ts\n * async function getBatchOperationExample(batchOperationKey: BatchOperationKey) {\n * const camunda = createCamundaClient();\n * \n * const batch = await camunda.getBatchOperation(\n * { batchOperationKey },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * console.log(`Batch: ${batch.batchOperationType} (${batch.state})`);\n * }\n * ```\n * @operationId getBatchOperation\n * @tags Batch operation\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getBatchOperation(input: getBatchOperationInput, /** Management of eventual consistency **/ consistencyManagement: getBatchOperationConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getBatchOperation>>;\n getBatchOperation(arg: any, /** Management of eventual consistency **/ consistencyManagement: getBatchOperationConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { batchOperationKey } = arg || {};\n let envelope: any = {};\n envelope.path = { batchOperationKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getBatchOperation', _schemas.zGetBatchOperationData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getBatchOperation(opts);\n let data = this._evaluateResponse(_raw, 'getBatchOperation', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetBatchOperationResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetBatchOperationResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getBatchOperation', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getBatchOperation', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get decision definition\n *\n * Returns a decision definition by key.\n *\n * @example Get a decision definition\n * ```ts\n * async function getDecisionDefinitionExample(decisionDefinitionKey: DecisionDefinitionKey) {\n * const camunda = createCamundaClient();\n * \n * const definition = await camunda.getDecisionDefinition(\n * { decisionDefinitionKey },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * console.log(`Decision: ${definition.decisionDefinitionId}`);\n * console.log(`Version: ${definition.version}`);\n * }\n * ```\n * @operationId getDecisionDefinition\n * @tags Decision definition\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getDecisionDefinition(input: getDecisionDefinitionInput, /** Management of eventual consistency **/ consistencyManagement: getDecisionDefinitionConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getDecisionDefinition>>;\n getDecisionDefinition(arg: any, /** Management of eventual consistency **/ consistencyManagement: getDecisionDefinitionConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { decisionDefinitionKey } = arg || {};\n let envelope: any = {};\n envelope.path = { decisionDefinitionKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getDecisionDefinition', _schemas.zGetDecisionDefinitionData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getDecisionDefinition(opts);\n let data = this._evaluateResponse(_raw, 'getDecisionDefinition', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetDecisionDefinitionResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetDecisionDefinitionResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getDecisionDefinition', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getDecisionDefinition', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get decision definition XML\n *\n * Returns decision definition as XML.\n *\n * @example Get decision definition XML\n * ```ts\n * async function getDecisionDefinitionXmlExample(decisionDefinitionKey: DecisionDefinitionKey) {\n * const camunda = createCamundaClient();\n * \n * const xml = await camunda.getDecisionDefinitionXml(\n * { decisionDefinitionKey },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * console.log(`XML length: ${JSON.stringify(xml).length}`);\n * }\n * ```\n * @operationId getDecisionDefinitionXML\n * @tags Decision definition\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getDecisionDefinitionXml(input: getDecisionDefinitionXmlInput, /** Management of eventual consistency **/ consistencyManagement: getDecisionDefinitionXmlConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getDecisionDefinitionXml>>;\n getDecisionDefinitionXml(arg: any, /** Management of eventual consistency **/ consistencyManagement: getDecisionDefinitionXmlConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { decisionDefinitionKey } = arg || {};\n let envelope: any = {};\n envelope.path = { decisionDefinitionKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getDecisionDefinitionXML', _schemas.zGetDecisionDefinitionXmlData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getDecisionDefinitionXml(opts);\n let data = this._evaluateResponse(_raw, 'getDecisionDefinitionXML', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetDecisionDefinitionXmlResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetDecisionDefinitionXmlResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getDecisionDefinitionXML', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getDecisionDefinitionXML', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get decision instance\n *\n * Returns a decision instance.\n *\n * @example Get a decision instance\n * ```ts\n * async function getDecisionInstanceExample(\n * decisionEvaluationInstanceKey: DecisionEvaluationInstanceKey\n * ) {\n * const camunda = createCamundaClient();\n * \n * const instance = await camunda.getDecisionInstance(\n * { decisionEvaluationInstanceKey },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * console.log(`Decision: ${instance.decisionDefinitionId}`);\n * }\n * ```\n * @operationId getDecisionInstance\n * @tags Decision instance\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getDecisionInstance(input: getDecisionInstanceInput, /** Management of eventual consistency **/ consistencyManagement: getDecisionInstanceConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getDecisionInstance>>;\n getDecisionInstance(arg: any, /** Management of eventual consistency **/ consistencyManagement: getDecisionInstanceConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { decisionEvaluationInstanceKey } = arg || {};\n let envelope: any = {};\n envelope.path = { decisionEvaluationInstanceKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getDecisionInstance', _schemas.zGetDecisionInstanceData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getDecisionInstance(opts);\n let data = this._evaluateResponse(_raw, 'getDecisionInstance', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetDecisionInstanceResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetDecisionInstanceResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getDecisionInstance', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getDecisionInstance', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get decision requirements\n *\n * Returns Decision Requirements as JSON.\n *\n * @example Get decision requirements\n * ```ts\n * async function getDecisionRequirementsExample(decisionRequirementsKey: DecisionRequirementsKey) {\n * const camunda = createCamundaClient();\n * \n * const requirements = await camunda.getDecisionRequirements(\n * { decisionRequirementsKey },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * console.log(`Requirements: ${requirements.decisionRequirementsId}`);\n * }\n * ```\n * @operationId getDecisionRequirements\n * @tags Decision requirements\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getDecisionRequirements(input: getDecisionRequirementsInput, /** Management of eventual consistency **/ consistencyManagement: getDecisionRequirementsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getDecisionRequirements>>;\n getDecisionRequirements(arg: any, /** Management of eventual consistency **/ consistencyManagement: getDecisionRequirementsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { decisionRequirementsKey } = arg || {};\n let envelope: any = {};\n envelope.path = { decisionRequirementsKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getDecisionRequirements', _schemas.zGetDecisionRequirementsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getDecisionRequirements(opts);\n let data = this._evaluateResponse(_raw, 'getDecisionRequirements', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetDecisionRequirementsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetDecisionRequirementsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getDecisionRequirements', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getDecisionRequirements', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get decision requirements XML\n *\n * Returns decision requirements as XML.\n *\n * @example Get decision requirements XML\n * ```ts\n * async function getDecisionRequirementsXmlExample(decisionRequirementsKey: DecisionRequirementsKey) {\n * const camunda = createCamundaClient();\n * \n * const xml = await camunda.getDecisionRequirementsXml(\n * { decisionRequirementsKey },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * console.log(`XML length: ${JSON.stringify(xml).length}`);\n * }\n * ```\n * @operationId getDecisionRequirementsXML\n * @tags Decision requirements\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getDecisionRequirementsXml(input: getDecisionRequirementsXmlInput, /** Management of eventual consistency **/ consistencyManagement: getDecisionRequirementsXmlConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getDecisionRequirementsXml>>;\n getDecisionRequirementsXml(arg: any, /** Management of eventual consistency **/ consistencyManagement: getDecisionRequirementsXmlConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { decisionRequirementsKey } = arg || {};\n let envelope: any = {};\n envelope.path = { decisionRequirementsKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getDecisionRequirementsXML', _schemas.zGetDecisionRequirementsXmlData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getDecisionRequirementsXml(opts);\n let data = this._evaluateResponse(_raw, 'getDecisionRequirementsXML', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetDecisionRequirementsXmlResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetDecisionRequirementsXmlResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getDecisionRequirementsXML', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getDecisionRequirementsXML', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Download document\n *\n * Download a document from the Camunda 8 cluster.\n *\n * Note that this is currently supported for document stores of type: AWS, GCP, in-memory (non-production), local (non-production)\n *\n *\n * @example Download a document\n * ```ts\n * async function getDocumentExample(documentId: DocumentId) {\n * const camunda = createCamundaClient();\n * \n * await camunda.getDocument({ documentId });\n * \n * console.log(`Downloaded document: ${documentId}`);\n * }\n * ```\n * @operationId getDocument\n * @tags Document\n */\n getDocument(input: getDocumentInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getDocument>>;\n getDocument(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { documentId, storeId, contentHash } = arg || {};\n let envelope: any = {};\n envelope.path = { documentId };\n envelope.query = { storeId, contentHash };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getDocument', _schemas.zGetDocumentData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.query) opts.query = envelope.query;\n const call = async () => {\n try {\n const _raw = await Sdk.getDocument(opts);\n let data = this._evaluateResponse(_raw, 'getDocument', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetDocumentResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetDocumentResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getDocument', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'getDocument', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Get element instance\n *\n * Returns element instance as JSON.\n *\n * @example Get an element instance\n * ```ts\n * async function getElementInstanceExample(elementInstanceKey: ElementInstanceKey) {\n * const camunda = createCamundaClient();\n * \n * const element = await camunda.getElementInstance(\n * { elementInstanceKey },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * console.log(`Element: ${element.elementId} (${element.type})`);\n * }\n * ```\n * @operationId getElementInstance\n * @tags Element instance\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getElementInstance(input: getElementInstanceInput, /** Management of eventual consistency **/ consistencyManagement: getElementInstanceConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getElementInstance>>;\n getElementInstance(arg: any, /** Management of eventual consistency **/ consistencyManagement: getElementInstanceConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { elementInstanceKey } = arg || {};\n let envelope: any = {};\n envelope.path = { elementInstanceKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getElementInstance', _schemas.zGetElementInstanceData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getElementInstance(opts);\n let data = this._evaluateResponse(_raw, 'getElementInstance', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetElementInstanceResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetElementInstanceResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getElementInstance', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getElementInstance', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get a global-scoped cluster variable\n *\n * Get a global-scoped cluster variable.\n *\n * @example Get a global cluster variable\n * ```ts\n * async function getGlobalClusterVariableExample() {\n * const camunda = createCamundaClient();\n * \n * const variable = await camunda.getGlobalClusterVariable(\n * { name: 'feature-flags' },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * console.log(`${variable.name} = ${variable.value}`);\n * }\n * ```\n * @operationId getGlobalClusterVariable\n * @tags Cluster Variable\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getGlobalClusterVariable(input: getGlobalClusterVariableInput, /** Management of eventual consistency **/ consistencyManagement: getGlobalClusterVariableConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getGlobalClusterVariable>>;\n getGlobalClusterVariable(arg: any, /** Management of eventual consistency **/ consistencyManagement: getGlobalClusterVariableConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { name } = arg || {};\n let envelope: any = {};\n envelope.path = { name };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getGlobalClusterVariable', _schemas.zGetGlobalClusterVariableData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getGlobalClusterVariable(opts);\n let data = this._evaluateResponse(_raw, 'getGlobalClusterVariable', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetGlobalClusterVariableResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetGlobalClusterVariableResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getGlobalClusterVariable', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getGlobalClusterVariable', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Global job statistics\n *\n * Returns global aggregated counts for jobs. Filter by the creation time window (required) and optionally by jobType.\n *\n *\n * @example Get global job statistics\n * ```ts\n * async function getGlobalJobStatisticsExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.getGlobalJobStatistics(\n * {\n * from: '2025-01-01T00:00:00Z',\n * to: '2025-12-31T23:59:59Z',\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * console.log(`Statistics retrieved: ${JSON.stringify(result)}`);\n * }\n * ```\n * @operationId getGlobalJobStatistics\n * @tags Job\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getGlobalJobStatistics(input: getGlobalJobStatisticsInput, /** Management of eventual consistency **/ consistencyManagement: getGlobalJobStatisticsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getGlobalJobStatistics>>;\n getGlobalJobStatistics(arg: any, /** Management of eventual consistency **/ consistencyManagement: getGlobalJobStatisticsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { from, to, jobType } = arg || {};\n let envelope: any = {};\n envelope.query = { from, to, jobType };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getGlobalJobStatistics', _schemas.zGetGlobalJobStatisticsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.query) opts.query = envelope.query;\n const call = async () => {\n try {\n const _raw = await Sdk.getGlobalJobStatistics(opts);\n let data = this._evaluateResponse(_raw, 'getGlobalJobStatistics', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetGlobalJobStatisticsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetGlobalJobStatisticsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getGlobalJobStatistics', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getGlobalJobStatistics', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get global user task listener\n *\n * Get a global user task listener by its id.\n *\n * @example Get a global task listener\n * ```ts\n * async function getGlobalTaskListenerExample(id: GlobalListenerId) {\n * const camunda = createCamundaClient();\n * \n * const listener = await camunda.getGlobalTaskListener(\n * { id },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * console.log(`Listener: ${listener.type} (${listener.eventTypes})`);\n * }\n * ```\n * @operationId getGlobalTaskListener\n * @tags Global listener\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getGlobalTaskListener(input: getGlobalTaskListenerInput, /** Management of eventual consistency **/ consistencyManagement: getGlobalTaskListenerConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getGlobalTaskListener>>;\n getGlobalTaskListener(arg: any, /** Management of eventual consistency **/ consistencyManagement: getGlobalTaskListenerConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { id } = arg || {};\n let envelope: any = {};\n envelope.path = { id };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getGlobalTaskListener', _schemas.zGetGlobalTaskListenerData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getGlobalTaskListener(opts);\n let data = this._evaluateResponse(_raw, 'getGlobalTaskListener', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetGlobalTaskListenerResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetGlobalTaskListenerResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getGlobalTaskListener', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getGlobalTaskListener', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get group\n *\n * Get a group by its ID.\n *\n * @example Get a group\n * ```ts\n * async function getGroupExample() {\n * const camunda = createCamundaClient();\n * \n * const group = await camunda.getGroup(\n * { groupId: 'engineering-team' },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * console.log(`Group: ${group.name}`);\n * }\n * ```\n * @operationId getGroup\n * @tags Group\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getGroup(input: getGroupInput, /** Management of eventual consistency **/ consistencyManagement: getGroupConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getGroup>>;\n getGroup(arg: any, /** Management of eventual consistency **/ consistencyManagement: getGroupConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { groupId } = arg || {};\n let envelope: any = {};\n envelope.path = { groupId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getGroup', _schemas.zGetGroupData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getGroup(opts);\n let data = this._evaluateResponse(_raw, 'getGroup', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetGroupResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetGroupResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getGroup', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getGroup', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get incident\n *\n * Returns incident as JSON.\n *\n *\n * @example Get an incident\n * ```ts\n * async function getIncidentExample(incidentKey: IncidentKey) {\n * const camunda = createCamundaClient();\n * \n * const incident = await camunda.getIncident(\n * { incidentKey },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * console.log(`Type: ${incident.errorType}`);\n * console.log(`State: ${incident.state}`);\n * console.log(`Message: ${incident.errorMessage}`);\n * }\n * ```\n * @operationId getIncident\n * @tags Incident\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getIncident(input: getIncidentInput, /** Management of eventual consistency **/ consistencyManagement: getIncidentConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getIncident>>;\n getIncident(arg: any, /** Management of eventual consistency **/ consistencyManagement: getIncidentConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { incidentKey } = arg || {};\n let envelope: any = {};\n envelope.path = { incidentKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getIncident', _schemas.zGetIncidentData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getIncident(opts);\n let data = this._evaluateResponse(_raw, 'getIncident', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetIncidentResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetIncidentResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getIncident', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getIncident', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get error metrics for a job type\n *\n * Returns aggregated metrics per error for the given jobType.\n *\n *\n * @example Get job error statistics\n * ```ts\n * async function getJobErrorStatisticsExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.getJobErrorStatistics(\n * {\n * filter: {\n * from: '2025-01-01T00:00:00Z',\n * to: '2025-12-31T23:59:59Z',\n * jobType: 'payment-processing',\n * },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const stat of result.items ?? []) {\n * console.log(`Error: ${stat.errorMessage}, workers: ${stat.workers}`);\n * }\n * }\n * ```\n * @operationId getJobErrorStatistics\n * @tags Job\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getJobErrorStatistics(input: getJobErrorStatisticsInput, /** Management of eventual consistency **/ consistencyManagement: getJobErrorStatisticsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getJobErrorStatistics>>;\n getJobErrorStatistics(arg: any, /** Management of eventual consistency **/ consistencyManagement: getJobErrorStatisticsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getJobErrorStatistics', _schemas.zGetJobErrorStatisticsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.getJobErrorStatistics(opts);\n let data = this._evaluateResponse(_raw, 'getJobErrorStatistics', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetJobErrorStatisticsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetJobErrorStatisticsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getJobErrorStatistics', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getJobErrorStatistics', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get time-series metrics for a job type\n *\n * Returns a list of time-bucketed metrics ordered ascending by time.\n * The `from` and `to` fields select the time window of interest.\n * Each item in the response corresponds to one time bucket of the requested resolution.\n *\n *\n * @example Get job time series statistics\n * ```ts\n * async function getJobTimeSeriesStatisticsExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.getJobTimeSeriesStatistics(\n * {\n * filter: {\n * from: '2025-01-01T00:00:00Z',\n * to: '2025-12-31T23:59:59Z',\n * jobType: 'payment-processing',\n * },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const point of result.items ?? []) {\n * console.log(`Time: ${point.time}, created: ${point.created.count}`);\n * }\n * }\n * ```\n * @operationId getJobTimeSeriesStatistics\n * @tags Job\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getJobTimeSeriesStatistics(input: getJobTimeSeriesStatisticsInput, /** Management of eventual consistency **/ consistencyManagement: getJobTimeSeriesStatisticsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getJobTimeSeriesStatistics>>;\n getJobTimeSeriesStatistics(arg: any, /** Management of eventual consistency **/ consistencyManagement: getJobTimeSeriesStatisticsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getJobTimeSeriesStatistics', _schemas.zGetJobTimeSeriesStatisticsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.getJobTimeSeriesStatistics(opts);\n let data = this._evaluateResponse(_raw, 'getJobTimeSeriesStatistics', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetJobTimeSeriesStatisticsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetJobTimeSeriesStatisticsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getJobTimeSeriesStatistics', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getJobTimeSeriesStatistics', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get job statistics by type\n *\n * Get statistics about jobs, grouped by job type.\n *\n *\n * @example Get job type statistics\n * ```ts\n * async function getJobTypeStatisticsExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.getJobTypeStatistics({}, { consistency: { waitUpToMs: 5000 } });\n * \n * for (const stat of result.items ?? []) {\n * console.log(`Type: ${stat.jobType}, workers: ${stat.workers}`);\n * }\n * }\n * ```\n * @operationId getJobTypeStatistics\n * @tags Job\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getJobTypeStatistics(input: getJobTypeStatisticsInput, /** Management of eventual consistency **/ consistencyManagement: getJobTypeStatisticsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getJobTypeStatistics>>;\n getJobTypeStatistics(arg: any, /** Management of eventual consistency **/ consistencyManagement: getJobTypeStatisticsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getJobTypeStatistics', _schemas.zGetJobTypeStatisticsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.getJobTypeStatistics(opts);\n let data = this._evaluateResponse(_raw, 'getJobTypeStatistics', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetJobTypeStatisticsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetJobTypeStatisticsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getJobTypeStatistics', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getJobTypeStatistics', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get job statistics by worker\n *\n * Get statistics about jobs, grouped by worker, for a given job type.\n *\n *\n * @example Get job worker statistics\n * ```ts\n * async function getJobWorkerStatisticsExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.getJobWorkerStatistics(\n * {\n * filter: {\n * from: '2025-01-01T00:00:00Z',\n * to: '2025-12-31T23:59:59Z',\n * jobType: 'payment-processing',\n * },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const stat of result.items ?? []) {\n * console.log(`Worker: ${stat.worker}, completed: ${stat.completed.count}`);\n * }\n * }\n * ```\n * @operationId getJobWorkerStatistics\n * @tags Job\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getJobWorkerStatistics(input: getJobWorkerStatisticsInput, /** Management of eventual consistency **/ consistencyManagement: getJobWorkerStatisticsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getJobWorkerStatistics>>;\n getJobWorkerStatistics(arg: any, /** Management of eventual consistency **/ consistencyManagement: getJobWorkerStatisticsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getJobWorkerStatistics', _schemas.zGetJobWorkerStatisticsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.getJobWorkerStatistics(opts);\n let data = this._evaluateResponse(_raw, 'getJobWorkerStatistics', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetJobWorkerStatisticsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetJobWorkerStatisticsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getJobWorkerStatistics', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getJobWorkerStatistics', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get license status\n *\n * Obtains the status of the current Camunda license.\n *\n * @example Get license information\n * ```ts\n * async function getLicenseExample() {\n * const camunda = createCamundaClient();\n * \n * const license = await camunda.getLicense();\n * \n * console.log(`License type: ${license.validLicense}`);\n * }\n * ```\n * @operationId getLicense\n * @tags License\n */\n getLicense(options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getLicense>>;\n getLicense(arg?: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const opts: any = { client: this._client, signal, throwOnError: false };\n const call = async () => {\n try {\n const _raw = await Sdk.getLicense(opts as any);\n let data = this._evaluateResponse(_raw, 'getLicense', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail))); \n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetLicenseResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetLicenseResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getLicense', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'getLicense', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Get a mapping rule\n *\n * Gets the mapping rule with the given ID.\n *\n *\n * @example Get a mapping rule\n * ```ts\n * async function getMappingRuleExample() {\n * const camunda = createCamundaClient();\n * \n * const rule = await camunda.getMappingRule(\n * { mappingRuleId: 'ldap-group-mapping' },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * console.log(`Rule: ${rule.name} (${rule.claimName}=${rule.claimValue})`);\n * }\n * ```\n * @operationId getMappingRule\n * @tags Mapping rule\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getMappingRule(input: getMappingRuleInput, /** Management of eventual consistency **/ consistencyManagement: getMappingRuleConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getMappingRule>>;\n getMappingRule(arg: any, /** Management of eventual consistency **/ consistencyManagement: getMappingRuleConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { mappingRuleId } = arg || {};\n let envelope: any = {};\n envelope.path = { mappingRuleId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getMappingRule', _schemas.zGetMappingRuleData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getMappingRule(opts);\n let data = this._evaluateResponse(_raw, 'getMappingRule', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetMappingRuleResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetMappingRuleResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getMappingRule', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getMappingRule', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get process definition\n *\n * Returns process definition as JSON.\n *\n * @example Get a process definition\n * ```ts\n * async function getProcessDefinitionExample(processDefinitionKey: ProcessDefinitionKey) {\n * const camunda = createCamundaClient();\n * \n * const definition = await camunda.getProcessDefinition(\n * { processDefinitionKey },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * console.log(`Process: ${definition.processDefinitionId} v${definition.version}`);\n * }\n * ```\n * @operationId getProcessDefinition\n * @tags Process definition\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getProcessDefinition(input: getProcessDefinitionInput, /** Management of eventual consistency **/ consistencyManagement: getProcessDefinitionConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getProcessDefinition>>;\n getProcessDefinition(arg: any, /** Management of eventual consistency **/ consistencyManagement: getProcessDefinitionConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { processDefinitionKey } = arg || {};\n let envelope: any = {};\n envelope.path = { processDefinitionKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getProcessDefinition', _schemas.zGetProcessDefinitionData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getProcessDefinition(opts);\n let data = this._evaluateResponse(_raw, 'getProcessDefinition', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetProcessDefinitionResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetProcessDefinitionResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getProcessDefinition', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getProcessDefinition', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get process instance statistics\n *\n * Get statistics about process instances, grouped by process definition and tenant.\n *\n *\n * @example Get process definition instance statistics\n * ```ts\n * async function getProcessDefinitionInstanceStatisticsExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.getProcessDefinitionInstanceStatistics(\n * {},\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const stat of result.items ?? []) {\n * console.log(\n * `Definition ${stat.processDefinitionId}: ${stat.activeInstancesWithoutIncidentCount} active`\n * );\n * }\n * }\n * ```\n * @operationId getProcessDefinitionInstanceStatistics\n * @tags Process definition\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getProcessDefinitionInstanceStatistics(input: getProcessDefinitionInstanceStatisticsInput, /** Management of eventual consistency **/ consistencyManagement: getProcessDefinitionInstanceStatisticsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getProcessDefinitionInstanceStatistics>>;\n getProcessDefinitionInstanceStatistics(arg: any, /** Management of eventual consistency **/ consistencyManagement: getProcessDefinitionInstanceStatisticsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getProcessDefinitionInstanceStatistics', _schemas.zGetProcessDefinitionInstanceStatisticsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.getProcessDefinitionInstanceStatistics(opts);\n let data = this._evaluateResponse(_raw, 'getProcessDefinitionInstanceStatistics', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetProcessDefinitionInstanceStatisticsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetProcessDefinitionInstanceStatisticsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getProcessDefinitionInstanceStatistics', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getProcessDefinitionInstanceStatistics', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get process instance statistics by version\n *\n * Get statistics about process instances, grouped by version for a given process definition.\n * The process definition ID must be provided as a required field in the request body filter.\n *\n *\n * @example Get version statistics\n * ```ts\n * async function getProcessDefinitionInstanceVersionStatisticsExample(\n * processDefinitionId: ProcessDefinitionId\n * ) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.getProcessDefinitionInstanceVersionStatistics(\n * {\n * filter: {\n * processDefinitionId,\n * },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const stat of result.items ?? []) {\n * console.log(\n * `Version ${stat.processDefinitionVersion}: ${stat.activeInstancesWithoutIncidentCount} active`\n * );\n * }\n * }\n * ```\n * @operationId getProcessDefinitionInstanceVersionStatistics\n * @tags Process definition\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getProcessDefinitionInstanceVersionStatistics(input: getProcessDefinitionInstanceVersionStatisticsInput, /** Management of eventual consistency **/ consistencyManagement: getProcessDefinitionInstanceVersionStatisticsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getProcessDefinitionInstanceVersionStatistics>>;\n getProcessDefinitionInstanceVersionStatistics(arg: any, /** Management of eventual consistency **/ consistencyManagement: getProcessDefinitionInstanceVersionStatisticsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getProcessDefinitionInstanceVersionStatistics', _schemas.zGetProcessDefinitionInstanceVersionStatisticsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.getProcessDefinitionInstanceVersionStatistics(opts);\n let data = this._evaluateResponse(_raw, 'getProcessDefinitionInstanceVersionStatistics', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetProcessDefinitionInstanceVersionStatisticsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetProcessDefinitionInstanceVersionStatisticsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getProcessDefinitionInstanceVersionStatistics', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getProcessDefinitionInstanceVersionStatistics', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get message subscription statistics\n *\n * Get message subscription statistics, grouped by process definition.\n *\n *\n * @example Get message subscription statistics\n * ```ts\n * async function getProcessDefinitionMessageSubscriptionStatisticsExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.getProcessDefinitionMessageSubscriptionStatistics(\n * {},\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const stat of result.items ?? []) {\n * console.log(\n * `Definition ${stat.processDefinitionId}: ${stat.activeSubscriptions} subscriptions`\n * );\n * }\n * }\n * ```\n * @operationId getProcessDefinitionMessageSubscriptionStatistics\n * @tags Process definition\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getProcessDefinitionMessageSubscriptionStatistics(input: getProcessDefinitionMessageSubscriptionStatisticsInput, /** Management of eventual consistency **/ consistencyManagement: getProcessDefinitionMessageSubscriptionStatisticsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getProcessDefinitionMessageSubscriptionStatistics>>;\n getProcessDefinitionMessageSubscriptionStatistics(arg: any, /** Management of eventual consistency **/ consistencyManagement: getProcessDefinitionMessageSubscriptionStatisticsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getProcessDefinitionMessageSubscriptionStatistics', _schemas.zGetProcessDefinitionMessageSubscriptionStatisticsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.getProcessDefinitionMessageSubscriptionStatistics(opts);\n let data = this._evaluateResponse(_raw, 'getProcessDefinitionMessageSubscriptionStatistics', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetProcessDefinitionMessageSubscriptionStatisticsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetProcessDefinitionMessageSubscriptionStatisticsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getProcessDefinitionMessageSubscriptionStatistics', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getProcessDefinitionMessageSubscriptionStatistics', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get process definition statistics\n *\n * Get statistics about elements in currently running process instances by process definition key and search filter.\n *\n * @example Get process definition element statistics\n * ```ts\n * async function getProcessDefinitionStatisticsExample(processDefinitionKey: ProcessDefinitionKey) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.getProcessDefinitionStatistics(\n * { processDefinitionKey },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const stat of result.items ?? []) {\n * console.log(`Element ${stat.elementId}: active=${stat.active}`);\n * }\n * }\n * ```\n * @operationId getProcessDefinitionStatistics\n * @tags Process definition\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getProcessDefinitionStatistics(input: getProcessDefinitionStatisticsInput, /** Management of eventual consistency **/ consistencyManagement: getProcessDefinitionStatisticsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getProcessDefinitionStatistics>>;\n getProcessDefinitionStatistics(arg: any, /** Management of eventual consistency **/ consistencyManagement: getProcessDefinitionStatisticsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { processDefinitionKey, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { processDefinitionKey };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getProcessDefinitionStatistics', _schemas.zGetProcessDefinitionStatisticsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.getProcessDefinitionStatistics(opts);\n let data = this._evaluateResponse(_raw, 'getProcessDefinitionStatistics', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetProcessDefinitionStatisticsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetProcessDefinitionStatisticsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getProcessDefinitionStatistics', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getProcessDefinitionStatistics', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get process definition XML\n *\n * Returns process definition as XML.\n *\n * @example Get process definition XML\n * ```ts\n * async function getProcessDefinitionXmlExample(processDefinitionKey: ProcessDefinitionKey) {\n * const camunda = createCamundaClient();\n * \n * const xml = await camunda.getProcessDefinitionXml(\n * { processDefinitionKey },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * console.log(`XML length: ${JSON.stringify(xml).length}`);\n * }\n * ```\n * @operationId getProcessDefinitionXML\n * @tags Process definition\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getProcessDefinitionXml(input: getProcessDefinitionXmlInput, /** Management of eventual consistency **/ consistencyManagement: getProcessDefinitionXmlConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getProcessDefinitionXml>>;\n getProcessDefinitionXml(arg: any, /** Management of eventual consistency **/ consistencyManagement: getProcessDefinitionXmlConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { processDefinitionKey } = arg || {};\n let envelope: any = {};\n envelope.path = { processDefinitionKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getProcessDefinitionXML', _schemas.zGetProcessDefinitionXmlData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getProcessDefinitionXml(opts);\n let data = this._evaluateResponse(_raw, 'getProcessDefinitionXML', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetProcessDefinitionXmlResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetProcessDefinitionXmlResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getProcessDefinitionXML', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getProcessDefinitionXML', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get process instance\n *\n * Get the process instance by the process instance key.\n *\n * @example Get a process instance\n * ```ts\n * async function getProcessInstanceExample(processInstanceKey: ProcessInstanceKey) {\n * const camunda = createCamundaClient();\n * \n * const instance = await camunda.getProcessInstance(\n * { processInstanceKey },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * console.log(`State: ${instance.state}`);\n * console.log(`Process: ${instance.processDefinitionId}`);\n * }\n * ```\n * @operationId getProcessInstance\n * @tags Process instance\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getProcessInstance(input: getProcessInstanceInput, /** Management of eventual consistency **/ consistencyManagement: getProcessInstanceConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getProcessInstance>>;\n getProcessInstance(arg: any, /** Management of eventual consistency **/ consistencyManagement: getProcessInstanceConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { processInstanceKey } = arg || {};\n let envelope: any = {};\n envelope.path = { processInstanceKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getProcessInstance', _schemas.zGetProcessInstanceData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getProcessInstance(opts);\n let data = this._evaluateResponse(_raw, 'getProcessInstance', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetProcessInstanceResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetProcessInstanceResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getProcessInstance', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getProcessInstance', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get call hierarchy\n *\n * Returns the call hierarchy for a given process instance, showing its ancestry up to the root instance.\n *\n * @example Get process instance call hierarchy\n * ```ts\n * async function getProcessInstanceCallHierarchyExample(processInstanceKey: ProcessInstanceKey) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.getProcessInstanceCallHierarchy(\n * { processInstanceKey },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * console.log(`Call hierarchy entries: ${result.length}`);\n * }\n * ```\n * @operationId getProcessInstanceCallHierarchy\n * @tags Process instance\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getProcessInstanceCallHierarchy(input: getProcessInstanceCallHierarchyInput, /** Management of eventual consistency **/ consistencyManagement: getProcessInstanceCallHierarchyConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getProcessInstanceCallHierarchy>>;\n getProcessInstanceCallHierarchy(arg: any, /** Management of eventual consistency **/ consistencyManagement: getProcessInstanceCallHierarchyConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { processInstanceKey } = arg || {};\n let envelope: any = {};\n envelope.path = { processInstanceKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getProcessInstanceCallHierarchy', _schemas.zGetProcessInstanceCallHierarchyData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getProcessInstanceCallHierarchy(opts);\n let data = this._evaluateResponse(_raw, 'getProcessInstanceCallHierarchy', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetProcessInstanceCallHierarchyResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetProcessInstanceCallHierarchyResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getProcessInstanceCallHierarchy', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getProcessInstanceCallHierarchy', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get sequence flows\n *\n * Get sequence flows taken by the process instance.\n *\n * @example Get process instance sequence flows\n * ```ts\n * async function getProcessInstanceSequenceFlowsExample(processInstanceKey: ProcessInstanceKey) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.getProcessInstanceSequenceFlows(\n * { processInstanceKey },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const flow of result.items ?? []) {\n * console.log(`Sequence flow: ${flow.sequenceFlowId}`);\n * }\n * }\n * ```\n * @operationId getProcessInstanceSequenceFlows\n * @tags Process instance\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getProcessInstanceSequenceFlows(input: getProcessInstanceSequenceFlowsInput, /** Management of eventual consistency **/ consistencyManagement: getProcessInstanceSequenceFlowsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getProcessInstanceSequenceFlows>>;\n getProcessInstanceSequenceFlows(arg: any, /** Management of eventual consistency **/ consistencyManagement: getProcessInstanceSequenceFlowsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { processInstanceKey } = arg || {};\n let envelope: any = {};\n envelope.path = { processInstanceKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getProcessInstanceSequenceFlows', _schemas.zGetProcessInstanceSequenceFlowsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getProcessInstanceSequenceFlows(opts);\n let data = this._evaluateResponse(_raw, 'getProcessInstanceSequenceFlows', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetProcessInstanceSequenceFlowsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetProcessInstanceSequenceFlowsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getProcessInstanceSequenceFlows', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getProcessInstanceSequenceFlows', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get element instance statistics\n *\n * Get statistics about elements by the process instance key.\n *\n * @example Get process instance statistics\n * ```ts\n * async function getProcessInstanceStatisticsExample(processInstanceKey: ProcessInstanceKey) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.getProcessInstanceStatistics(\n * { processInstanceKey },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const stat of result.items ?? []) {\n * console.log(`Element ${stat.elementId}: active=${stat.active}`);\n * }\n * }\n * ```\n * @operationId getProcessInstanceStatistics\n * @tags Process instance\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getProcessInstanceStatistics(input: getProcessInstanceStatisticsInput, /** Management of eventual consistency **/ consistencyManagement: getProcessInstanceStatisticsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getProcessInstanceStatistics>>;\n getProcessInstanceStatistics(arg: any, /** Management of eventual consistency **/ consistencyManagement: getProcessInstanceStatisticsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { processInstanceKey } = arg || {};\n let envelope: any = {};\n envelope.path = { processInstanceKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getProcessInstanceStatistics', _schemas.zGetProcessInstanceStatisticsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getProcessInstanceStatistics(opts);\n let data = this._evaluateResponse(_raw, 'getProcessInstanceStatistics', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetProcessInstanceStatisticsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetProcessInstanceStatisticsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getProcessInstanceStatistics', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getProcessInstanceStatistics', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get process instance statistics by definition\n *\n * Returns statistics for active process instances with incidents, grouped by process\n * definition. The result set is scoped to a specific incident error hash code, which must be\n * provided as a filter in the request body.\n *\n *\n * @example Get instance statistics by definition\n * ```ts\n * async function getProcessInstanceStatisticsByDefinitionExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.getProcessInstanceStatisticsByDefinition(\n * {\n * filter: {\n * errorHashCode: 12345,\n * },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const stat of result.items ?? []) {\n * console.log(\n * `Definition ${stat.processDefinitionId}: ${stat.activeInstancesWithErrorCount} incidents`\n * );\n * }\n * }\n * ```\n * @operationId getProcessInstanceStatisticsByDefinition\n * @tags Incident\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getProcessInstanceStatisticsByDefinition(input: getProcessInstanceStatisticsByDefinitionInput, /** Management of eventual consistency **/ consistencyManagement: getProcessInstanceStatisticsByDefinitionConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getProcessInstanceStatisticsByDefinition>>;\n getProcessInstanceStatisticsByDefinition(arg: any, /** Management of eventual consistency **/ consistencyManagement: getProcessInstanceStatisticsByDefinitionConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getProcessInstanceStatisticsByDefinition', _schemas.zGetProcessInstanceStatisticsByDefinitionData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.getProcessInstanceStatisticsByDefinition(opts);\n let data = this._evaluateResponse(_raw, 'getProcessInstanceStatisticsByDefinition', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetProcessInstanceStatisticsByDefinitionResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetProcessInstanceStatisticsByDefinitionResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getProcessInstanceStatisticsByDefinition', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getProcessInstanceStatisticsByDefinition', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get process instance statistics by error\n *\n * Returns statistics for active process instances that currently have active incidents,\n * grouped by incident error hash code.\n *\n *\n * @example Get instance statistics by error\n * ```ts\n * async function getProcessInstanceStatisticsByErrorExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.getProcessInstanceStatisticsByError(\n * {},\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const stat of result.items ?? []) {\n * console.log(`Error: ${stat.errorMessage}, count: ${stat.activeInstancesWithErrorCount}`);\n * }\n * }\n * ```\n * @operationId getProcessInstanceStatisticsByError\n * @tags Incident\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getProcessInstanceStatisticsByError(input: getProcessInstanceStatisticsByErrorInput, /** Management of eventual consistency **/ consistencyManagement: getProcessInstanceStatisticsByErrorConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getProcessInstanceStatisticsByError>>;\n getProcessInstanceStatisticsByError(arg: any, /** Management of eventual consistency **/ consistencyManagement: getProcessInstanceStatisticsByErrorConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getProcessInstanceStatisticsByError', _schemas.zGetProcessInstanceStatisticsByErrorData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.getProcessInstanceStatisticsByError(opts);\n let data = this._evaluateResponse(_raw, 'getProcessInstanceStatisticsByError', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetProcessInstanceStatisticsByErrorResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetProcessInstanceStatisticsByErrorResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getProcessInstanceStatisticsByError', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getProcessInstanceStatisticsByError', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get resource\n *\n * Returns a deployed resource.\n * :::info\n * Currently, this endpoint only supports RPA resources.\n * :::\n *\n *\n * @example Get a resource\n * ```ts\n * async function getResourceExample(resourceKey: ProcessDefinitionKey) {\n * const camunda = createCamundaClient();\n * \n * const resource = await camunda.getResource({\n * resourceKey,\n * });\n * \n * console.log(`Resource: ${resource.resourceName} (${resource.resourceId})`);\n * }\n * ```\n * @operationId getResource\n * @tags Resource\n */\n getResource(input: getResourceInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getResource>>;\n getResource(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { resourceKey } = arg || {};\n let envelope: any = {};\n envelope.path = { resourceKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getResource', _schemas.zGetResourceData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getResource(opts);\n let data = this._evaluateResponse(_raw, 'getResource', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetResourceResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetResourceResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getResource', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'getResource', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Get resource content\n *\n * Returns the content of a deployed resource.\n * :::info\n * Currently, this endpoint only supports RPA resources.\n * :::\n *\n *\n * @example Get resource content\n * ```ts\n * async function getResourceContentExample(resourceKey: ProcessDefinitionKey) {\n * const camunda = createCamundaClient();\n * \n * const content = await camunda.getResourceContent({\n * resourceKey,\n * });\n * \n * console.log(`Content retrieved (type: ${typeof content})`);\n * }\n * ```\n * @operationId getResourceContent\n * @tags Resource\n */\n getResourceContent(input: getResourceContentInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getResourceContent>>;\n getResourceContent(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { resourceKey } = arg || {};\n let envelope: any = {};\n envelope.path = { resourceKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getResourceContent', _schemas.zGetResourceContentData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getResourceContent(opts);\n let data = this._evaluateResponse(_raw, 'getResourceContent', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetResourceContentResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetResourceContentResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getResourceContent', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'getResourceContent', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Get role\n *\n * Get a role by its ID.\n *\n * @example Get a role\n * ```ts\n * async function getRoleExample() {\n * const camunda = createCamundaClient();\n * \n * const role = await camunda.getRole(\n * { roleId: 'process-admin' },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * console.log(`Role: ${role.name}`);\n * }\n * ```\n * @operationId getRole\n * @tags Role\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getRole(input: getRoleInput, /** Management of eventual consistency **/ consistencyManagement: getRoleConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getRole>>;\n getRole(arg: any, /** Management of eventual consistency **/ consistencyManagement: getRoleConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { roleId } = arg || {};\n let envelope: any = {};\n envelope.path = { roleId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getRole', _schemas.zGetRoleData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getRole(opts);\n let data = this._evaluateResponse(_raw, 'getRole', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetRoleResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetRoleResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getRole', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getRole', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get process start form\n *\n * Get the start form of a process.\n * Note that this endpoint will only return linked forms. This endpoint does not support embedded forms.\n *\n *\n * @example Get start process form\n * ```ts\n * async function getStartProcessFormExample(processDefinitionKey: ProcessDefinitionKey) {\n * const camunda = createCamundaClient();\n * \n * const form = await camunda.getStartProcessForm(\n * { processDefinitionKey },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * if (form) {\n * console.log(`Form key: ${form.formKey}`);\n * }\n * }\n * ```\n * @operationId getStartProcessForm\n * @tags Process definition\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getStartProcessForm(input: getStartProcessFormInput, /** Management of eventual consistency **/ consistencyManagement: getStartProcessFormConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getStartProcessForm>>;\n getStartProcessForm(arg: any, /** Management of eventual consistency **/ consistencyManagement: getStartProcessFormConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { processDefinitionKey } = arg || {};\n let envelope: any = {};\n envelope.path = { processDefinitionKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getStartProcessForm', _schemas.zGetStartProcessFormData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getStartProcessForm(opts);\n let data = this._evaluateResponse(_raw, 'getStartProcessForm', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetStartProcessFormResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetStartProcessFormResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getStartProcessForm', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getStartProcessForm', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get cluster status\n *\n * Checks the health status of the cluster by verifying if there's at least one partition with a healthy leader.\n *\n * @example Check cluster status\n * ```ts\n * async function getStatusExample() {\n * const camunda = createCamundaClient();\n * \n * await camunda.getStatus();\n * \n * console.log('Cluster is healthy');\n * }\n * ```\n * @operationId getStatus\n * @tags Cluster\n */\n getStatus(options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getStatus>>;\n getStatus(arg?: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const opts: any = { client: this._client, signal, throwOnError: false };\n const call = async () => {\n try {\n const _raw = await Sdk.getStatus(opts as any);\n let data = this._evaluateResponse(_raw, 'getStatus', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail))); \n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetStatusResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetStatusResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getStatus', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'getStatus', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * System configuration (alpha)\n *\n * Returns the current system configuration. The response is an envelope\n * that groups settings by feature area.\n *\n * This endpoint is an alpha feature and may be subject to change\n * in future releases.\n *\n *\n * @example Get system configuration\n * ```ts\n * async function getSystemConfigurationExample() {\n * const camunda = createCamundaClient();\n * \n * const config = await camunda.getSystemConfiguration();\n * \n * console.log(`Configuration loaded: ${JSON.stringify(config)}`);\n * }\n * ```\n * @operationId getSystemConfiguration\n * @tags System\n */\n getSystemConfiguration(options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getSystemConfiguration>>;\n getSystemConfiguration(arg?: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const opts: any = { client: this._client, signal, throwOnError: false };\n const call = async () => {\n try {\n const _raw = await Sdk.getSystemConfiguration(opts as any);\n let data = this._evaluateResponse(_raw, 'getSystemConfiguration', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail))); \n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetSystemConfigurationResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetSystemConfigurationResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getSystemConfiguration', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'getSystemConfiguration', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Get tenant\n *\n * Retrieves a single tenant by tenant ID.\n *\n * @example Get a tenant\n * ```ts\n * async function getTenantExample(tenantId: TenantId) {\n * const camunda = createCamundaClient();\n * \n * const tenant = await camunda.getTenant({ tenantId }, { consistency: { waitUpToMs: 5000 } });\n * \n * console.log(`Tenant: ${tenant.name}`);\n * }\n * ```\n * @operationId getTenant\n * @tags Tenant\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getTenant(input: getTenantInput, /** Management of eventual consistency **/ consistencyManagement: getTenantConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getTenant>>;\n getTenant(arg: any, /** Management of eventual consistency **/ consistencyManagement: getTenantConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { tenantId } = arg || {};\n let envelope: any = {};\n envelope.path = { tenantId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getTenant', _schemas.zGetTenantData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getTenant(opts);\n let data = this._evaluateResponse(_raw, 'getTenant', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetTenantResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetTenantResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getTenant', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getTenant', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get a tenant-scoped cluster variable\n *\n * Get a tenant-scoped cluster variable.\n *\n * @example Get a tenant cluster variable\n * ```ts\n * async function getTenantClusterVariableExample(tenantId: TenantId) {\n * const camunda = createCamundaClient();\n * \n * const variable = await camunda.getTenantClusterVariable(\n * {\n * tenantId,\n * name: 'config',\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * console.log(`${variable.name} = ${variable.value}`);\n * }\n * ```\n * @operationId getTenantClusterVariable\n * @tags Cluster Variable\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getTenantClusterVariable(input: getTenantClusterVariableInput, /** Management of eventual consistency **/ consistencyManagement: getTenantClusterVariableConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getTenantClusterVariable>>;\n getTenantClusterVariable(arg: any, /** Management of eventual consistency **/ consistencyManagement: getTenantClusterVariableConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { tenantId, name } = arg || {};\n let envelope: any = {};\n envelope.path = { tenantId, name };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getTenantClusterVariable', _schemas.zGetTenantClusterVariableData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getTenantClusterVariable(opts);\n let data = this._evaluateResponse(_raw, 'getTenantClusterVariable', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetTenantClusterVariableResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetTenantClusterVariableResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getTenantClusterVariable', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getTenantClusterVariable', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get cluster topology\n *\n * Obtains the current topology of the cluster the gateway is part of.\n *\n * @example Get cluster topology\n * ```ts\n * async function getTopologyExample() {\n * const camunda = createCamundaClient();\n * \n * const topology = await camunda.getTopology();\n * \n * console.log(`Cluster size: ${topology.clusterSize}`);\n * console.log(`Partitions: ${topology.partitionsCount}`);\n * for (const broker of topology.brokers ?? []) {\n * console.log(` Broker ${broker.nodeId}: ${broker.host}:${broker.port}`);\n * }\n * }\n * ```\n * @operationId getTopology\n * @tags Cluster\n */\n getTopology(options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getTopology>>;\n getTopology(arg?: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const opts: any = { client: this._client, signal, throwOnError: false };\n const call = async () => {\n try {\n const _raw = await Sdk.getTopology(opts as any);\n let data = this._evaluateResponse(_raw, 'getTopology', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail))); \n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetTopologyResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetTopologyResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getTopology', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'getTopology', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Get usage metrics\n *\n * Retrieve the usage metrics based on given criteria.\n *\n * @example Get usage metrics\n * ```ts\n * async function getUsageMetricsExample() {\n * const camunda = createCamundaClient();\n * \n * const metrics = await camunda.getUsageMetrics(\n * {\n * startTime: '2025-01-01T00:00:00Z',\n * endTime: '2025-12-31T23:59:59Z',\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * console.log(`Usage metrics retrieved: ${JSON.stringify(metrics)}`);\n * }\n * ```\n * @operationId getUsageMetrics\n * @tags System\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getUsageMetrics(input: getUsageMetricsInput, /** Management of eventual consistency **/ consistencyManagement: getUsageMetricsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getUsageMetrics>>;\n getUsageMetrics(arg: any, /** Management of eventual consistency **/ consistencyManagement: getUsageMetricsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { startTime, endTime, tenantId, withTenants } = arg || {};\n let envelope: any = {};\n envelope.query = { startTime, endTime, tenantId, withTenants };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getUsageMetrics', _schemas.zGetUsageMetricsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.query) opts.query = envelope.query;\n const call = async () => {\n try {\n const _raw = await Sdk.getUsageMetrics(opts);\n let data = this._evaluateResponse(_raw, 'getUsageMetrics', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetUsageMetricsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetUsageMetricsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getUsageMetrics', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getUsageMetrics', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get user\n *\n * Get a user by its username.\n *\n * @example Get a user\n * ```ts\n * async function getUserExample(username: Username) {\n * const camunda = createCamundaClient();\n * \n * const user = await camunda.getUser({ username }, { consistency: { waitUpToMs: 5000 } });\n * \n * console.log(`User: ${user.name} (${user.email})`);\n * }\n * ```\n * @operationId getUser\n * @tags User\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getUser(input: getUserInput, /** Management of eventual consistency **/ consistencyManagement: getUserConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getUser>>;\n getUser(arg: any, /** Management of eventual consistency **/ consistencyManagement: getUserConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { username } = arg || {};\n let envelope: any = {};\n envelope.path = { username };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getUser', _schemas.zGetUserData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getUser(opts);\n let data = this._evaluateResponse(_raw, 'getUser', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetUserResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetUserResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getUser', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getUser', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get user task\n *\n * Get the user task by the user task key.\n *\n * @example Get a user task\n * ```ts\n * async function getUserTaskExample(userTaskKey: UserTaskKey) {\n * const camunda = createCamundaClient();\n * \n * const task = await camunda.getUserTask({ userTaskKey }, { consistency: { waitUpToMs: 5000 } });\n * \n * console.log(`Task: ${task.name} (${task.state})`);\n * }\n * ```\n * @operationId getUserTask\n * @tags User task\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getUserTask(input: getUserTaskInput, /** Management of eventual consistency **/ consistencyManagement: getUserTaskConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getUserTask>>;\n getUserTask(arg: any, /** Management of eventual consistency **/ consistencyManagement: getUserTaskConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { userTaskKey } = arg || {};\n let envelope: any = {};\n envelope.path = { userTaskKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getUserTask', _schemas.zGetUserTaskData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getUserTask(opts);\n let data = this._evaluateResponse(_raw, 'getUserTask', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetUserTaskResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetUserTaskResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getUserTask', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getUserTask', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get user task form\n *\n * Get the form of a user task.\n * Note that this endpoint will only return linked forms. This endpoint does not support embedded forms.\n *\n *\n * @example Get a user task form\n * ```ts\n * async function getUserTaskFormExample(userTaskKey: UserTaskKey) {\n * const camunda = createCamundaClient();\n * \n * const form = await camunda.getUserTaskForm(\n * { userTaskKey },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * if (form) {\n * console.log(`Form key: ${form.formKey}`);\n * }\n * }\n * ```\n * @operationId getUserTaskForm\n * @tags User task\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getUserTaskForm(input: getUserTaskFormInput, /** Management of eventual consistency **/ consistencyManagement: getUserTaskFormConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getUserTaskForm>>;\n getUserTaskForm(arg: any, /** Management of eventual consistency **/ consistencyManagement: getUserTaskFormConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { userTaskKey } = arg || {};\n let envelope: any = {};\n envelope.path = { userTaskKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getUserTaskForm', _schemas.zGetUserTaskFormData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getUserTaskForm(opts);\n let data = this._evaluateResponse(_raw, 'getUserTaskForm', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetUserTaskFormResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetUserTaskFormResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getUserTaskForm', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getUserTaskForm', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Get variable\n *\n * Get a variable by its key.\n *\n * This endpoint returns both process-level and local (element-scoped) variables.\n * The variable's scopeKey indicates whether it's a process-level variable or scoped to a\n * specific element instance.\n *\n * @example Get a variable\n * ```ts\n * async function getVariableExample(variableKey: VariableKey) {\n * const camunda = createCamundaClient();\n * \n * const variable = await camunda.getVariable(\n * { variableKey },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * console.log(`${variable.name} = ${variable.value}`);\n * }\n * ```\n * @operationId getVariable\n * @tags Variable\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n getVariable(input: getVariableInput, /** Management of eventual consistency **/ consistencyManagement: getVariableConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.getVariable>>;\n getVariable(arg: any, /** Management of eventual consistency **/ consistencyManagement: getVariableConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { variableKey } = arg || {};\n let envelope: any = {};\n envelope.path = { variableKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('getVariable', _schemas.zGetVariableData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.getVariable(opts);\n let data = this._evaluateResponse(_raw, 'getVariable', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zGetVariableResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zGetVariableResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('getVariable', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('getVariable', true, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Migrate process instance\n *\n * Migrates a process instance to a new process definition.\n * This request can contain multiple mapping instructions to define mapping between the active\n * process instance's elements and target process definition elements.\n *\n * Use this to upgrade a process instance to a new version of a process or to\n * a different process definition, e.g. to keep your running instances up-to-date with the\n * latest process improvements.\n *\n *\n * @example Migrate a process instance\n * ```ts\n * async function migrateProcessInstanceExample(\n * processInstanceKey: ProcessInstanceKey,\n * targetProcessDefinitionKey: ProcessDefinitionKey,\n * sourceElementId: ElementId,\n * targetElementId: ElementId\n * ) {\n * const camunda = createCamundaClient();\n * \n * await camunda.migrateProcessInstance({\n * processInstanceKey,\n * targetProcessDefinitionKey,\n * mappingInstructions: [\n * {\n * sourceElementId,\n * targetElementId,\n * },\n * ],\n * });\n * }\n * ```\n * @operationId migrateProcessInstance\n * @tags Process instance\n */\n migrateProcessInstance(input: migrateProcessInstanceInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.migrateProcessInstance>>;\n migrateProcessInstance(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { processInstanceKey, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { processInstanceKey };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('migrateProcessInstance', _schemas.zMigrateProcessInstanceData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.migrateProcessInstance(opts);\n let data = this._evaluateResponse(_raw, 'migrateProcessInstance', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zMigrateProcessInstanceResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zMigrateProcessInstanceResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('migrateProcessInstance', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'migrateProcessInstance', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Migrate process instances (batch)\n *\n * Migrate multiple process instances.\n * Since only process instances with ACTIVE state can be migrated, any given\n * filters for state are ignored and overridden during this batch operation.\n * This is done asynchronously, the progress can be tracked using the batchOperationKey from the response and the batch operation status endpoint (/batch-operations/{batchOperationKey}).\n *\n *\n * @example Migrate process instances in batch\n * ```ts\n * async function migrateProcessInstancesBatchOperationExample(\n * processDefinitionKey: ProcessDefinitionKey,\n * targetProcessDefinitionKey: ProcessDefinitionKey,\n * sourceElementId: ElementId,\n * targetElementId: ElementId\n * ) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.migrateProcessInstancesBatchOperation({\n * filter: {\n * processDefinitionKey,\n * },\n * migrationPlan: {\n * targetProcessDefinitionKey,\n * mappingInstructions: [\n * {\n * sourceElementId,\n * targetElementId,\n * },\n * ],\n * },\n * });\n * \n * console.log(`Batch operation key: ${result.batchOperationKey}`);\n * }\n * ```\n * @operationId migrateProcessInstancesBatchOperation\n * @tags Process instance\n */\n migrateProcessInstancesBatchOperation(input: migrateProcessInstancesBatchOperationInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.migrateProcessInstancesBatchOperation>>;\n migrateProcessInstancesBatchOperation(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('migrateProcessInstancesBatchOperation', _schemas.zMigrateProcessInstancesBatchOperationData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.migrateProcessInstancesBatchOperation(opts);\n let data = this._evaluateResponse(_raw, 'migrateProcessInstancesBatchOperation', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zMigrateProcessInstancesBatchOperationResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zMigrateProcessInstancesBatchOperationResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('migrateProcessInstancesBatchOperation', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'migrateProcessInstancesBatchOperation', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Modify process instance\n *\n * Modifies a running process instance.\n * This request can contain multiple instructions to activate an element of the process or\n * to terminate an active instance of an element.\n *\n * Use this to repair a process instance that is stuck on an element or took an unintended path.\n * For example, because an external system is not available or doesn't respond as expected.\n *\n *\n * @example Modify a process instance\n * ```ts\n * async function modifyProcessInstanceExample(\n * processInstanceKey: ProcessInstanceKey,\n * elementId: ElementId,\n * elementInstanceKey: ElementInstanceKey\n * ) {\n * const camunda = createCamundaClient();\n * \n * await camunda.modifyProcessInstance({\n * processInstanceKey,\n * activateInstructions: [{ elementId }],\n * terminateInstructions: [{ elementInstanceKey }],\n * });\n * }\n * ```\n * @operationId modifyProcessInstance\n * @tags Process instance\n */\n modifyProcessInstance(input: modifyProcessInstanceInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.modifyProcessInstance>>;\n modifyProcessInstance(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { processInstanceKey, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { processInstanceKey };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('modifyProcessInstance', _schemas.zModifyProcessInstanceData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.modifyProcessInstance(opts);\n let data = this._evaluateResponse(_raw, 'modifyProcessInstance', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zModifyProcessInstanceResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zModifyProcessInstanceResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('modifyProcessInstance', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'modifyProcessInstance', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Modify process instances (batch)\n *\n * Modify multiple process instances.\n * Since only process instances with ACTIVE state can be modified, any given\n * filters for state are ignored and overridden during this batch operation.\n * In contrast to single modification operation, it is not possible to add variable instructions or modify by element key.\n * It is only possible to use the element id of the source and target.\n * This is done asynchronously, the progress can be tracked using the batchOperationKey from the response and the batch operation status endpoint (/batch-operations/{batchOperationKey}).\n *\n *\n * @example Modify process instances in batch\n * ```ts\n * async function modifyProcessInstancesBatchOperationExample(\n * processDefinitionKey: ProcessDefinitionKey,\n * sourceElementId: ElementId,\n * targetElementId: ElementId\n * ) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.modifyProcessInstancesBatchOperation({\n * filter: {\n * processDefinitionKey,\n * },\n * moveInstructions: [\n * {\n * sourceElementId,\n * targetElementId,\n * },\n * ],\n * });\n * \n * console.log(`Batch operation key: ${result.batchOperationKey}`);\n * }\n * ```\n * @operationId modifyProcessInstancesBatchOperation\n * @tags Process instance\n */\n modifyProcessInstancesBatchOperation(input: modifyProcessInstancesBatchOperationInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.modifyProcessInstancesBatchOperation>>;\n modifyProcessInstancesBatchOperation(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('modifyProcessInstancesBatchOperation', _schemas.zModifyProcessInstancesBatchOperationData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.modifyProcessInstancesBatchOperation(opts);\n let data = this._evaluateResponse(_raw, 'modifyProcessInstancesBatchOperation', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zModifyProcessInstancesBatchOperationResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zModifyProcessInstancesBatchOperationResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('modifyProcessInstancesBatchOperation', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'modifyProcessInstancesBatchOperation', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Pin internal clock (alpha)\n *\n * Set a precise, static time for the Zeebe engine's internal clock.\n * When the clock is pinned, it remains at the specified time and does not advance.\n * To change the time, the clock must be pinned again with a new timestamp.\n *\n * This endpoint is an alpha feature and may be subject to change\n * in future releases.\n *\n *\n * @example Pin the cluster clock\n * ```ts\n * async function pinClockExample() {\n * const camunda = createCamundaClient();\n * \n * await camunda.pinClock({\n * timestamp: 1735689599000,\n * });\n * \n * console.log('Clock pinned');\n * }\n * ```\n * @operationId pinClock\n * @tags Clock\n */\n pinClock(input: pinClockInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.pinClock>>;\n pinClock(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('pinClock', _schemas.zPinClockData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.pinClock(opts);\n let data = this._evaluateResponse(_raw, 'pinClock', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zPinClockResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zPinClockResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('pinClock', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'pinClock', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Publish message\n *\n * Publishes a single message.\n * Messages are published to specific partitions computed from their correlation keys.\n * Messages can be buffered.\n * The endpoint does not wait for a correlation result.\n * Use the message correlation endpoint for such use cases.\n *\n *\n * @example Publish a message\n * ```ts\n * async function publishMessageExample() {\n * const camunda = createCamundaClient();\n * \n * await camunda.publishMessage({\n * name: 'order-payment-received',\n * correlationKey: 'ORD-12345',\n * timeToLive: 60000,\n * variables: {\n * paymentId: 'PAY-123',\n * },\n * });\n * }\n * ```\n * @operationId publishMessage\n * @tags Message\n */\n publishMessage(input: publishMessageInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.publishMessage>>;\n publishMessage(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (envelope.body && (envelope.body.tenantId === undefined || envelope.body.tenantId === null)) {\n envelope.body.tenantId = this._config.defaultTenantId;\n this._log.trace(() => ['tenant.default.inject', { op: 'publishMessage', tenant: this._config.defaultTenantId }]);\n }\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('publishMessage', _schemas.zPublishMessageData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.publishMessage(opts);\n let data = this._evaluateResponse(_raw, 'publishMessage', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zPublishMessageResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zPublishMessageResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('publishMessage', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'publishMessage', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Reset internal clock (alpha)\n *\n * Resets the Zeebe engine's internal clock to the current system time, enabling it to tick in real-time.\n * This operation is useful for returning the clock to\n * normal behavior after it has been pinned to a specific time.\n *\n * This endpoint is an alpha feature and may be subject to change\n * in future releases.\n *\n *\n * @example Reset the cluster clock\n * ```ts\n * async function resetClockExample() {\n * const camunda = createCamundaClient();\n * \n * await camunda.resetClock();\n * \n * console.log('Clock reset');\n * }\n * ```\n * @operationId resetClock\n * @tags Clock\n */\n resetClock(options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.resetClock>>;\n resetClock(arg?: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const opts: any = { client: this._client, signal, throwOnError: false };\n const call = async () => {\n try {\n const _raw = await Sdk.resetClock(opts as any);\n let data = this._evaluateResponse(_raw, 'resetClock', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail))); \n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zResetClockResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zResetClockResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('resetClock', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'resetClock', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Resolve incident\n *\n * Marks the incident as resolved; most likely a call to Update job will be necessary\n * to reset the job's retries, followed by this call.\n *\n *\n * @example Resolve an incident\n * ```ts\n * async function resolveIncidentExample(incidentKey: IncidentKey) {\n * const camunda = createCamundaClient();\n * \n * await camunda.resolveIncident({ incidentKey });\n * }\n * ```\n * @operationId resolveIncident\n * @tags Incident\n */\n resolveIncident(input: resolveIncidentInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.resolveIncident>>;\n resolveIncident(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { incidentKey, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { incidentKey };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('resolveIncident', _schemas.zResolveIncidentData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.resolveIncident(opts);\n let data = this._evaluateResponse(_raw, 'resolveIncident', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zResolveIncidentResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zResolveIncidentResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('resolveIncident', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'resolveIncident', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Resolve related incidents (batch)\n *\n * Resolves multiple instances of process instances.\n * Since only process instances with ACTIVE state can have unresolved incidents, any given\n * filters for state are ignored and overridden during this batch operation.\n * This is done asynchronously, the progress can be tracked using the batchOperationKey from the response and the batch operation status endpoint (/batch-operations/{batchOperationKey}).\n *\n *\n * @example Resolve incidents in batch\n * ```ts\n * async function resolveIncidentsBatchOperationExample(processDefinitionKey: ProcessDefinitionKey) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.resolveIncidentsBatchOperation({\n * filter: {\n * processDefinitionKey,\n * },\n * });\n * \n * console.log(`Batch operation key: ${result.batchOperationKey}`);\n * }\n * ```\n * @operationId resolveIncidentsBatchOperation\n * @tags Process instance\n */\n resolveIncidentsBatchOperation(input: resolveIncidentsBatchOperationInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.resolveIncidentsBatchOperation>>;\n resolveIncidentsBatchOperation(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('resolveIncidentsBatchOperation', _schemas.zResolveIncidentsBatchOperationData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.resolveIncidentsBatchOperation(opts);\n let data = this._evaluateResponse(_raw, 'resolveIncidentsBatchOperation', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zResolveIncidentsBatchOperationResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zResolveIncidentsBatchOperationResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('resolveIncidentsBatchOperation', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'resolveIncidentsBatchOperation', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Resolve related incidents\n *\n * Creates a batch operation to resolve multiple incidents of a process instance.\n *\n * @example Resolve process instance incidents\n * ```ts\n * async function resolveProcessInstanceIncidentsExample(processInstanceKey: ProcessInstanceKey) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.resolveProcessInstanceIncidents({ processInstanceKey });\n * \n * console.log(`Batch operation key: ${result.batchOperationKey}`);\n * }\n * ```\n * @operationId resolveProcessInstanceIncidents\n * @tags Process instance\n */\n resolveProcessInstanceIncidents(input: resolveProcessInstanceIncidentsInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.resolveProcessInstanceIncidents>>;\n resolveProcessInstanceIncidents(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { processInstanceKey } = arg || {};\n let envelope: any = {};\n envelope.path = { processInstanceKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('resolveProcessInstanceIncidents', _schemas.zResolveProcessInstanceIncidentsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.resolveProcessInstanceIncidents(opts);\n let data = this._evaluateResponse(_raw, 'resolveProcessInstanceIncidents', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zResolveProcessInstanceIncidentsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zResolveProcessInstanceIncidentsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('resolveProcessInstanceIncidents', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'resolveProcessInstanceIncidents', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Resume Batch operation\n *\n * Resumes a suspended batch operation.\n * This is done asynchronously, the progress can be tracked using the batch operation status endpoint (/batch-operations/{batchOperationKey}).\n *\n *\n * @example Resume a batch operation\n * ```ts\n * async function resumeBatchOperationExample(batchOperationKey: BatchOperationKey) {\n * const camunda = createCamundaClient();\n * \n * await camunda.resumeBatchOperation({ batchOperationKey });\n * }\n * ```\n * @operationId resumeBatchOperation\n * @tags Batch operation\n */\n resumeBatchOperation(input: resumeBatchOperationInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.resumeBatchOperation>>;\n resumeBatchOperation(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { batchOperationKey, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { batchOperationKey };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('resumeBatchOperation', _schemas.zResumeBatchOperationData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.resumeBatchOperation(opts);\n let data = this._evaluateResponse(_raw, 'resumeBatchOperation', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zResumeBatchOperationResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zResumeBatchOperationResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('resumeBatchOperation', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'resumeBatchOperation', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Search audit logs\n *\n * Search for audit logs based on given criteria.\n *\n * @example Search audit logs\n * ```ts\n * async function searchAuditLogsExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchAuditLogs(\n * {\n * page: { limit: 10 },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const log of result.items ?? []) {\n * console.log(`${log.auditLogKey}: ${log.operationType}`);\n * }\n * }\n * ```\n * @operationId searchAuditLogs\n * @tags Audit Log\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchAuditLogs(input: searchAuditLogsInput, /** Management of eventual consistency **/ consistencyManagement: searchAuditLogsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchAuditLogs>>;\n searchAuditLogs(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchAuditLogsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchAuditLogs', _schemas.zSearchAuditLogsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchAuditLogs(opts);\n let data = this._evaluateResponse(_raw, 'searchAuditLogs', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchAuditLogsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchAuditLogsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchAuditLogs', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchAuditLogs', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search authorizations\n *\n * Search for authorizations based on given criteria.\n *\n * @example Search authorizations\n * ```ts\n * async function searchAuthorizationsExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchAuthorizations(\n * {\n * filter: { ownerType: 'USER' },\n * page: { limit: 10 },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const auth of result.items ?? []) {\n * console.log(`${auth.authorizationKey}: ${auth.ownerId} - ${auth.resourceType}`);\n * }\n * }\n * ```\n * @operationId searchAuthorizations\n * @tags Authorization\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchAuthorizations(input: searchAuthorizationsInput, /** Management of eventual consistency **/ consistencyManagement: searchAuthorizationsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchAuthorizations>>;\n searchAuthorizations(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchAuthorizationsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchAuthorizations', _schemas.zSearchAuthorizationsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchAuthorizations(opts);\n let data = this._evaluateResponse(_raw, 'searchAuthorizations', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchAuthorizationsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchAuthorizationsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchAuthorizations', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchAuthorizations', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search batch operation items\n *\n * Search for batch operation items based on given criteria.\n *\n * @example Search batch operation items\n * ```ts\n * async function searchBatchOperationItemsExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchBatchOperationItems(\n * {\n * page: { limit: 10 },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const item of result.items ?? []) {\n * console.log(`Item: ${item.itemKey} (${item.state})`);\n * }\n * }\n * ```\n * @operationId searchBatchOperationItems\n * @tags Batch operation\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchBatchOperationItems(input: searchBatchOperationItemsInput, /** Management of eventual consistency **/ consistencyManagement: searchBatchOperationItemsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchBatchOperationItems>>;\n searchBatchOperationItems(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchBatchOperationItemsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchBatchOperationItems', _schemas.zSearchBatchOperationItemsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchBatchOperationItems(opts);\n let data = this._evaluateResponse(_raw, 'searchBatchOperationItems', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchBatchOperationItemsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchBatchOperationItemsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchBatchOperationItems', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchBatchOperationItems', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search batch operations\n *\n * Search for batch operations based on given criteria.\n *\n * @example Search batch operations\n * ```ts\n * async function searchBatchOperationsExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchBatchOperations(\n * {\n * page: { limit: 10 },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const batch of result.items ?? []) {\n * console.log(`${batch.batchOperationKey}: ${batch.batchOperationType} (${batch.state})`);\n * }\n * }\n * ```\n * @operationId searchBatchOperations\n * @tags Batch operation\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchBatchOperations(input: searchBatchOperationsInput, /** Management of eventual consistency **/ consistencyManagement: searchBatchOperationsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchBatchOperations>>;\n searchBatchOperations(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchBatchOperationsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchBatchOperations', _schemas.zSearchBatchOperationsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchBatchOperations(opts);\n let data = this._evaluateResponse(_raw, 'searchBatchOperations', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchBatchOperationsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchBatchOperationsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchBatchOperations', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchBatchOperations', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search group clients\n *\n * Search clients assigned to a group.\n *\n * @example Search clients in a group\n * ```ts\n * async function searchClientsForGroupExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchClientsForGroup(\n * { groupId: 'engineering-team' },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const client of result.items ?? []) {\n * console.log(`Client: ${client.clientId}`);\n * }\n * }\n * ```\n * @operationId searchClientsForGroup\n * @tags Group\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchClientsForGroup(input: searchClientsForGroupInput, /** Management of eventual consistency **/ consistencyManagement: searchClientsForGroupConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchClientsForGroup>>;\n searchClientsForGroup(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchClientsForGroupConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { groupId, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { groupId };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchClientsForGroup', _schemas.zSearchClientsForGroupData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchClientsForGroup(opts);\n let data = this._evaluateResponse(_raw, 'searchClientsForGroup', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchClientsForGroupResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchClientsForGroupResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchClientsForGroup', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchClientsForGroup', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search role clients\n *\n * Search clients with assigned role.\n *\n * @example Search clients for a role\n * ```ts\n * async function searchClientsForRoleExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchClientsForRole(\n * { roleId: 'process-admin' },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const client of result.items ?? []) {\n * console.log(`Client: ${client.clientId}`);\n * }\n * }\n * ```\n * @operationId searchClientsForRole\n * @tags Role\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchClientsForRole(input: searchClientsForRoleInput, /** Management of eventual consistency **/ consistencyManagement: searchClientsForRoleConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchClientsForRole>>;\n searchClientsForRole(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchClientsForRoleConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { roleId, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { roleId };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchClientsForRole', _schemas.zSearchClientsForRoleData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchClientsForRole(opts);\n let data = this._evaluateResponse(_raw, 'searchClientsForRole', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchClientsForRoleResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchClientsForRoleResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchClientsForRole', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchClientsForRole', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search clients for tenant\n *\n * Retrieves a filtered and sorted list of clients for a specified tenant.\n *\n * @example Search clients for a tenant\n * ```ts\n * async function searchClientsForTenantExample(tenantId: TenantId) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchClientsForTenant(\n * { tenantId },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const client of result.items ?? []) {\n * console.log(`Client: ${client.clientId}`);\n * }\n * }\n * ```\n * @operationId searchClientsForTenant\n * @tags Tenant\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchClientsForTenant(input: searchClientsForTenantInput, /** Management of eventual consistency **/ consistencyManagement: searchClientsForTenantConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchClientsForTenant>>;\n searchClientsForTenant(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchClientsForTenantConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { tenantId, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { tenantId };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchClientsForTenant', _schemas.zSearchClientsForTenantData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchClientsForTenant(opts);\n let data = this._evaluateResponse(_raw, 'searchClientsForTenant', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchClientsForTenantResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchClientsForTenantResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchClientsForTenant', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchClientsForTenant', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search for cluster variables based on given criteria. By default, long variable values in the response are truncated.\n *\n * @example Search cluster variables\n * ```ts\n * async function searchClusterVariablesExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchClusterVariables(\n * {\n * page: { limit: 10 },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const variable of result.items ?? []) {\n * console.log(`${variable.name} = ${variable.value}`);\n * }\n * }\n * ```\n * @operationId searchClusterVariables\n * @tags Cluster Variable\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchClusterVariables(input: searchClusterVariablesInput, /** Management of eventual consistency **/ consistencyManagement: searchClusterVariablesConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchClusterVariables>>;\n searchClusterVariables(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchClusterVariablesConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { truncateValues, ..._body } = arg || {};\n let envelope: any = {};\n envelope.query = { truncateValues };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchClusterVariables', _schemas.zSearchClusterVariablesData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.query) opts.query = envelope.query;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchClusterVariables(opts);\n let data = this._evaluateResponse(_raw, 'searchClusterVariables', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchClusterVariablesResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchClusterVariablesResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchClusterVariables', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchClusterVariables', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search correlated message subscriptions\n *\n * Search correlated message subscriptions based on given criteria.\n *\n * @example Search correlated message subscriptions\n * ```ts\n * async function searchCorrelatedMessageSubscriptionsExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchCorrelatedMessageSubscriptions(\n * {\n * page: { limit: 10 },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const sub of result.items ?? []) {\n * console.log(`Correlated subscription: ${sub.messageName}`);\n * }\n * }\n * ```\n * @operationId searchCorrelatedMessageSubscriptions\n * @tags Message subscription\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchCorrelatedMessageSubscriptions(input: searchCorrelatedMessageSubscriptionsInput, /** Management of eventual consistency **/ consistencyManagement: searchCorrelatedMessageSubscriptionsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchCorrelatedMessageSubscriptions>>;\n searchCorrelatedMessageSubscriptions(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchCorrelatedMessageSubscriptionsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchCorrelatedMessageSubscriptions', _schemas.zSearchCorrelatedMessageSubscriptionsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchCorrelatedMessageSubscriptions(opts);\n let data = this._evaluateResponse(_raw, 'searchCorrelatedMessageSubscriptions', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchCorrelatedMessageSubscriptionsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchCorrelatedMessageSubscriptionsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchCorrelatedMessageSubscriptions', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchCorrelatedMessageSubscriptions', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search decision definitions\n *\n * Search for decision definitions based on given criteria.\n *\n * @example Search decision definitions\n * ```ts\n * async function searchDecisionDefinitionsExample(decisionDefinitionId: DecisionDefinitionId) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchDecisionDefinitions(\n * {\n * filter: { decisionDefinitionId },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const definition of result.items ?? []) {\n * console.log(`${definition.decisionDefinitionId} v${definition.version}`);\n * }\n * }\n * ```\n * @operationId searchDecisionDefinitions\n * @tags Decision definition\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchDecisionDefinitions(input: searchDecisionDefinitionsInput, /** Management of eventual consistency **/ consistencyManagement: searchDecisionDefinitionsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchDecisionDefinitions>>;\n searchDecisionDefinitions(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchDecisionDefinitionsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchDecisionDefinitions', _schemas.zSearchDecisionDefinitionsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchDecisionDefinitions(opts);\n let data = this._evaluateResponse(_raw, 'searchDecisionDefinitions', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchDecisionDefinitionsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchDecisionDefinitionsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchDecisionDefinitions', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchDecisionDefinitions', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search decision instances\n *\n * Search for decision instances based on given criteria.\n *\n * @example Search decision instances\n * ```ts\n * async function searchDecisionInstancesExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchDecisionInstances(\n * {\n * page: { limit: 10 },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const instance of result.items ?? []) {\n * console.log(`${instance.decisionEvaluationKey}: ${instance.decisionDefinitionId}`);\n * }\n * }\n * ```\n * @operationId searchDecisionInstances\n * @tags Decision instance\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchDecisionInstances(input: searchDecisionInstancesInput, /** Management of eventual consistency **/ consistencyManagement: searchDecisionInstancesConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchDecisionInstances>>;\n searchDecisionInstances(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchDecisionInstancesConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchDecisionInstances', _schemas.zSearchDecisionInstancesData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchDecisionInstances(opts);\n let data = this._evaluateResponse(_raw, 'searchDecisionInstances', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchDecisionInstancesResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchDecisionInstancesResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchDecisionInstances', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchDecisionInstances', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search decision requirements\n *\n * Search for decision requirements based on given criteria.\n *\n * @example Search decision requirements\n * ```ts\n * async function searchDecisionRequirementsExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchDecisionRequirements(\n * {\n * page: { limit: 10 },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const req of result.items ?? []) {\n * console.log(`${req.decisionRequirementsKey}: ${req.decisionRequirementsId}`);\n * }\n * }\n * ```\n * @operationId searchDecisionRequirements\n * @tags Decision requirements\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchDecisionRequirements(input: searchDecisionRequirementsInput, /** Management of eventual consistency **/ consistencyManagement: searchDecisionRequirementsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchDecisionRequirements>>;\n searchDecisionRequirements(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchDecisionRequirementsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchDecisionRequirements', _schemas.zSearchDecisionRequirementsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchDecisionRequirements(opts);\n let data = this._evaluateResponse(_raw, 'searchDecisionRequirements', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchDecisionRequirementsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchDecisionRequirementsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchDecisionRequirements', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchDecisionRequirements', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search for incidents of a specific element instance\n *\n * Search for incidents caused by the specified element instance, including incidents of any child instances created from this element instance.\n *\n * Although the `elementInstanceKey` is provided as a path parameter to indicate the root element instance,\n * you may also include an `elementInstanceKey` within the filter object to narrow results to specific\n * child element instances. This is useful, for example, if you want to isolate incidents associated with\n * nested or subordinate elements within the given element instance while excluding incidents directly tied\n * to the root element itself.\n *\n *\n * @example Search element instance incidents\n * ```ts\n * async function searchElementInstanceIncidentsExample(elementInstanceKey: ElementInstanceKey) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchElementInstanceIncidents(\n * { elementInstanceKey },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const incident of result.items ?? []) {\n * console.log(`Incident: ${incident.errorType}`);\n * }\n * }\n * ```\n * @operationId searchElementInstanceIncidents\n * @tags Element instance\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchElementInstanceIncidents(input: searchElementInstanceIncidentsInput, /** Management of eventual consistency **/ consistencyManagement: searchElementInstanceIncidentsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchElementInstanceIncidents>>;\n searchElementInstanceIncidents(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchElementInstanceIncidentsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { elementInstanceKey, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { elementInstanceKey };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchElementInstanceIncidents', _schemas.zSearchElementInstanceIncidentsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchElementInstanceIncidents(opts);\n let data = this._evaluateResponse(_raw, 'searchElementInstanceIncidents', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchElementInstanceIncidentsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchElementInstanceIncidentsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchElementInstanceIncidents', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchElementInstanceIncidents', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search element instances\n *\n * Search for element instances based on given criteria.\n *\n * @example Search element instances\n * ```ts\n * async function searchElementInstancesExample(processInstanceKey: ProcessInstanceKey) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchElementInstances(\n * {\n * filter: {\n * processInstanceKey,\n * },\n * page: { limit: 10 },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const element of result.items ?? []) {\n * console.log(`${element.elementId}: ${element.type} (${element.state})`);\n * }\n * }\n * ```\n * @operationId searchElementInstances\n * @tags Element instance\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchElementInstances(input: searchElementInstancesInput, /** Management of eventual consistency **/ consistencyManagement: searchElementInstancesConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchElementInstances>>;\n searchElementInstances(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchElementInstancesConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchElementInstances', _schemas.zSearchElementInstancesData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchElementInstances(opts);\n let data = this._evaluateResponse(_raw, 'searchElementInstances', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchElementInstancesResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchElementInstancesResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchElementInstances', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchElementInstances', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search global user task listeners\n *\n * Search for global user task listeners based on given criteria.\n *\n * @example Search global task listeners\n * ```ts\n * async function searchGlobalTaskListenersExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchGlobalTaskListeners(\n * {\n * page: { limit: 10 },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const listener of result.items ?? []) {\n * console.log(`${listener.id}: ${listener.type} (${listener.eventTypes})`);\n * }\n * }\n * ```\n * @operationId searchGlobalTaskListeners\n * @tags Global listener\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchGlobalTaskListeners(input: searchGlobalTaskListenersInput, /** Management of eventual consistency **/ consistencyManagement: searchGlobalTaskListenersConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchGlobalTaskListeners>>;\n searchGlobalTaskListeners(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchGlobalTaskListenersConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchGlobalTaskListeners', _schemas.zSearchGlobalTaskListenersData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchGlobalTaskListeners(opts);\n let data = this._evaluateResponse(_raw, 'searchGlobalTaskListeners', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchGlobalTaskListenersResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchGlobalTaskListenersResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchGlobalTaskListeners', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchGlobalTaskListeners', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search groups for tenant\n *\n * Retrieves a filtered and sorted list of groups for a specified tenant.\n *\n * @example Search groups for a tenant\n * ```ts\n * async function searchGroupIdsForTenantExample(tenantId: TenantId) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchGroupIdsForTenant(\n * { tenantId },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const group of result.items ?? []) {\n * console.log(`Group: ${group.groupId}`);\n * }\n * }\n * ```\n * @operationId searchGroupIdsForTenant\n * @tags Tenant\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchGroupIdsForTenant(input: searchGroupIdsForTenantInput, /** Management of eventual consistency **/ consistencyManagement: searchGroupIdsForTenantConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchGroupIdsForTenant>>;\n searchGroupIdsForTenant(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchGroupIdsForTenantConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { tenantId, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { tenantId };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchGroupIdsForTenant', _schemas.zSearchGroupIdsForTenantData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchGroupIdsForTenant(opts);\n let data = this._evaluateResponse(_raw, 'searchGroupIdsForTenant', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchGroupIdsForTenantResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchGroupIdsForTenantResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchGroupIdsForTenant', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchGroupIdsForTenant', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search groups\n *\n * Search for groups based on given criteria.\n *\n * @example Search groups\n * ```ts\n * async function searchGroupsExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchGroups(\n * {\n * page: { limit: 10 },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const group of result.items ?? []) {\n * console.log(`${group.groupId}: ${group.name}`);\n * }\n * }\n * ```\n * @operationId searchGroups\n * @tags Group\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchGroups(input: searchGroupsInput, /** Management of eventual consistency **/ consistencyManagement: searchGroupsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchGroups>>;\n searchGroups(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchGroupsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchGroups', _schemas.zSearchGroupsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchGroups(opts);\n let data = this._evaluateResponse(_raw, 'searchGroups', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchGroupsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchGroupsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchGroups', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchGroups', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search role groups\n *\n * Search groups with assigned role.\n *\n * @example Search groups for a role\n * ```ts\n * async function searchGroupsForRoleExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchGroupsForRole(\n * { roleId: 'process-admin' },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const group of result.items ?? []) {\n * console.log(`Group: ${group.groupId}`);\n * }\n * }\n * ```\n * @operationId searchGroupsForRole\n * @tags Role\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchGroupsForRole(input: searchGroupsForRoleInput, /** Management of eventual consistency **/ consistencyManagement: searchGroupsForRoleConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchGroupsForRole>>;\n searchGroupsForRole(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchGroupsForRoleConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { roleId, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { roleId };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchGroupsForRole', _schemas.zSearchGroupsForRoleData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchGroupsForRole(opts);\n let data = this._evaluateResponse(_raw, 'searchGroupsForRole', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchGroupsForRoleResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchGroupsForRoleResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchGroupsForRole', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchGroupsForRole', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search incidents\n *\n * Search for incidents based on given criteria.\n *\n *\n * @example Search incidents\n * ```ts\n * async function searchIncidentsExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchIncidents(\n * {\n * filter: { state: 'ACTIVE' },\n * sort: [{ field: 'creationTime', order: 'DESC' }],\n * page: { limit: 20 },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const incident of result.items ?? []) {\n * console.log(`${incident.incidentKey}: ${incident.errorType} — ${incident.errorMessage}`);\n * }\n * console.log(`Total active incidents: ${result.page.totalItems}`);\n * }\n * ```\n * @operationId searchIncidents\n * @tags Incident\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchIncidents(input: searchIncidentsInput, /** Management of eventual consistency **/ consistencyManagement: searchIncidentsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchIncidents>>;\n searchIncidents(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchIncidentsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchIncidents', _schemas.zSearchIncidentsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchIncidents(opts);\n let data = this._evaluateResponse(_raw, 'searchIncidents', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchIncidentsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchIncidentsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchIncidents', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchIncidents', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search jobs\n *\n * Search for jobs based on given criteria.\n *\n * @example Search jobs\n * ```ts\n * async function searchJobsExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchJobs(\n * {\n * filter: { type: 'payment-processing', state: 'CREATED' },\n * page: { limit: 10 },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const job of result.items ?? []) {\n * console.log(`Job ${job.jobKey}: ${job.type} (${job.state})`);\n * }\n * }\n * ```\n * @operationId searchJobs\n * @tags Job\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchJobs(input: searchJobsInput, /** Management of eventual consistency **/ consistencyManagement: searchJobsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchJobs>>;\n searchJobs(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchJobsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchJobs', _schemas.zSearchJobsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchJobs(opts);\n let data = this._evaluateResponse(_raw, 'searchJobs', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchJobsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchJobsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchJobs', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchJobs', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search mapping rules\n *\n * Search for mapping rules based on given criteria.\n *\n *\n * @example Search mapping rules\n * ```ts\n * async function searchMappingRulesExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchMappingRule(\n * {\n * page: { limit: 10 },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const rule of result.items ?? []) {\n * console.log(`${rule.mappingRuleId}: ${rule.name}`);\n * }\n * }\n * ```\n * @operationId searchMappingRule\n * @tags Mapping rule\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchMappingRule(input: searchMappingRuleInput, /** Management of eventual consistency **/ consistencyManagement: searchMappingRuleConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchMappingRule>>;\n searchMappingRule(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchMappingRuleConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchMappingRule', _schemas.zSearchMappingRuleData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchMappingRule(opts);\n let data = this._evaluateResponse(_raw, 'searchMappingRule', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchMappingRuleResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchMappingRuleResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchMappingRule', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchMappingRule', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search group mapping rules\n *\n * Search mapping rules assigned to a group.\n *\n * @example Search mapping rules for a group\n * ```ts\n * async function searchMappingRulesForGroupExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchMappingRulesForGroup(\n * { groupId: 'engineering-team' },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const rule of result.items ?? []) {\n * console.log(`Mapping rule: ${rule.name}`);\n * }\n * }\n * ```\n * @operationId searchMappingRulesForGroup\n * @tags Group\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchMappingRulesForGroup(input: searchMappingRulesForGroupInput, /** Management of eventual consistency **/ consistencyManagement: searchMappingRulesForGroupConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchMappingRulesForGroup>>;\n searchMappingRulesForGroup(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchMappingRulesForGroupConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { groupId, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { groupId };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchMappingRulesForGroup', _schemas.zSearchMappingRulesForGroupData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchMappingRulesForGroup(opts);\n let data = this._evaluateResponse(_raw, 'searchMappingRulesForGroup', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchMappingRulesForGroupResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchMappingRulesForGroupResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchMappingRulesForGroup', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchMappingRulesForGroup', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search role mapping rules\n *\n * Search mapping rules with assigned role.\n *\n * @example Search mapping rules for a role\n * ```ts\n * async function searchMappingRulesForRoleExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchMappingRulesForRole(\n * { roleId: 'process-admin' },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const rule of result.items ?? []) {\n * console.log(`Mapping rule: ${rule.name}`);\n * }\n * }\n * ```\n * @operationId searchMappingRulesForRole\n * @tags Role\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchMappingRulesForRole(input: searchMappingRulesForRoleInput, /** Management of eventual consistency **/ consistencyManagement: searchMappingRulesForRoleConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchMappingRulesForRole>>;\n searchMappingRulesForRole(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchMappingRulesForRoleConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { roleId, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { roleId };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchMappingRulesForRole', _schemas.zSearchMappingRulesForRoleData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchMappingRulesForRole(opts);\n let data = this._evaluateResponse(_raw, 'searchMappingRulesForRole', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchMappingRulesForRoleResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchMappingRulesForRoleResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchMappingRulesForRole', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchMappingRulesForRole', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search mapping rules for tenant\n *\n * Retrieves a filtered and sorted list of MappingRules for a specified tenant.\n *\n * @example Search mapping rules for a tenant\n * ```ts\n * async function searchMappingRulesForTenantExample(tenantId: TenantId) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchMappingRulesForTenant(\n * { tenantId },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const rule of result.items ?? []) {\n * console.log(`Mapping rule: ${rule.name}`);\n * }\n * }\n * ```\n * @operationId searchMappingRulesForTenant\n * @tags Tenant\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchMappingRulesForTenant(input: searchMappingRulesForTenantInput, /** Management of eventual consistency **/ consistencyManagement: searchMappingRulesForTenantConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchMappingRulesForTenant>>;\n searchMappingRulesForTenant(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchMappingRulesForTenantConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { tenantId, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { tenantId };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchMappingRulesForTenant', _schemas.zSearchMappingRulesForTenantData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchMappingRulesForTenant(opts);\n let data = this._evaluateResponse(_raw, 'searchMappingRulesForTenant', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchMappingRulesForTenantResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchMappingRulesForTenantResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchMappingRulesForTenant', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchMappingRulesForTenant', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search message subscriptions\n *\n * Search for message subscriptions based on given criteria.\n *\n * @example Search message subscriptions\n * ```ts\n * async function searchMessageSubscriptionsExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchMessageSubscriptions(\n * {\n * page: { limit: 10 },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const sub of result.items ?? []) {\n * console.log(`Subscription: ${sub.messageName}`);\n * }\n * }\n * ```\n * @operationId searchMessageSubscriptions\n * @tags Message subscription\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchMessageSubscriptions(input: searchMessageSubscriptionsInput, /** Management of eventual consistency **/ consistencyManagement: searchMessageSubscriptionsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchMessageSubscriptions>>;\n searchMessageSubscriptions(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchMessageSubscriptionsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchMessageSubscriptions', _schemas.zSearchMessageSubscriptionsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchMessageSubscriptions(opts);\n let data = this._evaluateResponse(_raw, 'searchMessageSubscriptions', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchMessageSubscriptionsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchMessageSubscriptionsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchMessageSubscriptions', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchMessageSubscriptions', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search process definitions\n *\n * Search for process definitions based on given criteria.\n *\n * @example Search process definitions\n * ```ts\n * async function searchProcessDefinitionsExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchProcessDefinitions(\n * {\n * page: { limit: 10 },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const def of result.items ?? []) {\n * console.log(`${def.processDefinitionKey}: ${def.processDefinitionId} v${def.version}`);\n * }\n * }\n * ```\n * @operationId searchProcessDefinitions\n * @tags Process definition\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchProcessDefinitions(input: searchProcessDefinitionsInput, /** Management of eventual consistency **/ consistencyManagement: searchProcessDefinitionsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchProcessDefinitions>>;\n searchProcessDefinitions(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchProcessDefinitionsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchProcessDefinitions', _schemas.zSearchProcessDefinitionsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchProcessDefinitions(opts);\n let data = this._evaluateResponse(_raw, 'searchProcessDefinitions', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchProcessDefinitionsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchProcessDefinitionsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchProcessDefinitions', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchProcessDefinitions', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search related incidents\n *\n * Search for incidents caused by the process instance or any of its called process or decision instances.\n *\n * Although the `processInstanceKey` is provided as a path parameter to indicate the root process instance,\n * you may also include a `processInstanceKey` within the filter object to narrow results to specific\n * child process instances. This is useful, for example, if you want to isolate incidents associated with\n * subprocesses or called processes under the root instance while excluding incidents directly tied to the root.\n *\n *\n * @example Search process instance incidents\n * ```ts\n * async function searchProcessInstanceIncidentsExample(processInstanceKey: ProcessInstanceKey) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchProcessInstanceIncidents(\n * {\n * processInstanceKey,\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const incident of result.items ?? []) {\n * console.log(`Incident: ${incident.errorType} - ${incident.errorMessage}`);\n * }\n * }\n * ```\n * @operationId searchProcessInstanceIncidents\n * @tags Process instance\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchProcessInstanceIncidents(input: searchProcessInstanceIncidentsInput, /** Management of eventual consistency **/ consistencyManagement: searchProcessInstanceIncidentsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchProcessInstanceIncidents>>;\n searchProcessInstanceIncidents(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchProcessInstanceIncidentsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { processInstanceKey, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { processInstanceKey };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchProcessInstanceIncidents', _schemas.zSearchProcessInstanceIncidentsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchProcessInstanceIncidents(opts);\n let data = this._evaluateResponse(_raw, 'searchProcessInstanceIncidents', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchProcessInstanceIncidentsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchProcessInstanceIncidentsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchProcessInstanceIncidents', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchProcessInstanceIncidents', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search process instances\n *\n * Search for process instances based on given criteria.\n *\n * @example Search process instances\n * ```ts\n * async function searchProcessInstancesExample(processDefinitionId: ProcessDefinitionId) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchProcessInstances(\n * {\n * filter: { processDefinitionId },\n * sort: [{ field: 'startDate', order: 'DESC' }],\n * page: { limit: 10 },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const instance of result.items ?? []) {\n * console.log(`${instance.processInstanceKey}: ${instance.state}`);\n * }\n * console.log(`Total: ${result.page.totalItems}`);\n * }\n * ```\n * @operationId searchProcessInstances\n * @tags Process instance\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchProcessInstances(input: searchProcessInstancesInput, /** Management of eventual consistency **/ consistencyManagement: searchProcessInstancesConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchProcessInstances>>;\n searchProcessInstances(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchProcessInstancesConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchProcessInstances', _schemas.zSearchProcessInstancesData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchProcessInstances(opts);\n let data = this._evaluateResponse(_raw, 'searchProcessInstances', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchProcessInstancesResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchProcessInstancesResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchProcessInstances', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchProcessInstances', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search roles\n *\n * Search for roles based on given criteria.\n *\n * @example Search roles\n * ```ts\n * async function searchRolesExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchRoles(\n * {\n * page: { limit: 10 },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const role of result.items ?? []) {\n * console.log(`${role.roleId}: ${role.name}`);\n * }\n * }\n * ```\n * @operationId searchRoles\n * @tags Role\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchRoles(input: searchRolesInput, /** Management of eventual consistency **/ consistencyManagement: searchRolesConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchRoles>>;\n searchRoles(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchRolesConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchRoles', _schemas.zSearchRolesData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchRoles(opts);\n let data = this._evaluateResponse(_raw, 'searchRoles', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchRolesResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchRolesResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchRoles', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchRoles', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search group roles\n *\n * Search roles assigned to a group.\n *\n * @example Search roles for a group\n * ```ts\n * async function searchRolesForGroupExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchRolesForGroup(\n * { groupId: 'engineering-team' },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const role of result.items ?? []) {\n * console.log(`Role: ${role.name}`);\n * }\n * }\n * ```\n * @operationId searchRolesForGroup\n * @tags Group\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchRolesForGroup(input: searchRolesForGroupInput, /** Management of eventual consistency **/ consistencyManagement: searchRolesForGroupConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchRolesForGroup>>;\n searchRolesForGroup(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchRolesForGroupConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { groupId, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { groupId };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchRolesForGroup', _schemas.zSearchRolesForGroupData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchRolesForGroup(opts);\n let data = this._evaluateResponse(_raw, 'searchRolesForGroup', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchRolesForGroupResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchRolesForGroupResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchRolesForGroup', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchRolesForGroup', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search roles for tenant\n *\n * Retrieves a filtered and sorted list of roles for a specified tenant.\n *\n * @example Search roles for a tenant\n * ```ts\n * async function searchRolesForTenantExample(tenantId: TenantId) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchRolesForTenant(\n * { tenantId },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const role of result.items ?? []) {\n * console.log(`Role: ${role.name}`);\n * }\n * }\n * ```\n * @operationId searchRolesForTenant\n * @tags Tenant\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchRolesForTenant(input: searchRolesForTenantInput, /** Management of eventual consistency **/ consistencyManagement: searchRolesForTenantConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchRolesForTenant>>;\n searchRolesForTenant(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchRolesForTenantConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { tenantId, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { tenantId };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchRolesForTenant', _schemas.zSearchRolesForTenantData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchRolesForTenant(opts);\n let data = this._evaluateResponse(_raw, 'searchRolesForTenant', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchRolesForTenantResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchRolesForTenantResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchRolesForTenant', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchRolesForTenant', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search tenants\n *\n * Retrieves a filtered and sorted list of tenants.\n *\n * @example Search tenants\n * ```ts\n * async function searchTenantsExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchTenants(\n * {\n * page: { limit: 10 },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const tenant of result.items ?? []) {\n * console.log(`${tenant.tenantId}: ${tenant.name}`);\n * }\n * }\n * ```\n * @operationId searchTenants\n * @tags Tenant\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchTenants(input: searchTenantsInput, /** Management of eventual consistency **/ consistencyManagement: searchTenantsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchTenants>>;\n searchTenants(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchTenantsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchTenants', _schemas.zSearchTenantsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchTenants(opts);\n let data = this._evaluateResponse(_raw, 'searchTenants', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchTenantsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchTenantsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchTenants', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchTenants', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search users\n *\n * Search for users based on given criteria.\n *\n * @example Search users\n * ```ts\n * async function searchUsersExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchUsers(\n * {\n * filter: {},\n * page: { limit: 10 },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const user of result.items ?? []) {\n * console.log(`${user.username}: ${user.name}`);\n * }\n * }\n * ```\n * @operationId searchUsers\n * @tags User\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchUsers(input: searchUsersInput, /** Management of eventual consistency **/ consistencyManagement: searchUsersConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchUsers>>;\n searchUsers(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchUsersConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchUsers', _schemas.zSearchUsersData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchUsers(opts);\n let data = this._evaluateResponse(_raw, 'searchUsers', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchUsersResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchUsersResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchUsers', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchUsers', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search group users\n *\n * Search users assigned to a group.\n *\n * @example Search users in a group\n * ```ts\n * async function searchUsersForGroupExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchUsersForGroup(\n * { groupId: 'engineering-team' },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const user of result.items ?? []) {\n * console.log(`Member: ${user.username}`);\n * }\n * }\n * ```\n * @operationId searchUsersForGroup\n * @tags Group\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchUsersForGroup(input: searchUsersForGroupInput, /** Management of eventual consistency **/ consistencyManagement: searchUsersForGroupConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchUsersForGroup>>;\n searchUsersForGroup(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchUsersForGroupConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { groupId, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { groupId };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchUsersForGroup', _schemas.zSearchUsersForGroupData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchUsersForGroup(opts);\n let data = this._evaluateResponse(_raw, 'searchUsersForGroup', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchUsersForGroupResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchUsersForGroupResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchUsersForGroup', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchUsersForGroup', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search role users\n *\n * Search users with assigned role.\n *\n * @example Search users for a role\n * ```ts\n * async function searchUsersForRoleExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchUsersForRole(\n * { roleId: 'process-admin' },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const user of result.items ?? []) {\n * console.log(`User: ${user.username}`);\n * }\n * }\n * ```\n * @operationId searchUsersForRole\n * @tags Role\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchUsersForRole(input: searchUsersForRoleInput, /** Management of eventual consistency **/ consistencyManagement: searchUsersForRoleConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchUsersForRole>>;\n searchUsersForRole(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchUsersForRoleConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { roleId, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { roleId };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchUsersForRole', _schemas.zSearchUsersForRoleData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchUsersForRole(opts);\n let data = this._evaluateResponse(_raw, 'searchUsersForRole', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchUsersForRoleResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchUsersForRoleResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchUsersForRole', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchUsersForRole', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search users for tenant\n *\n * Retrieves a filtered and sorted list of users for a specified tenant.\n *\n * @example Search users for a tenant\n * ```ts\n * async function searchUsersForTenantExample(tenantId: TenantId) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchUsersForTenant(\n * { tenantId },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const user of result.items ?? []) {\n * console.log(`Tenant member: ${user.username}`);\n * }\n * }\n * ```\n * @operationId searchUsersForTenant\n * @tags Tenant\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchUsersForTenant(input: searchUsersForTenantInput, /** Management of eventual consistency **/ consistencyManagement: searchUsersForTenantConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchUsersForTenant>>;\n searchUsersForTenant(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchUsersForTenantConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { tenantId, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { tenantId };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchUsersForTenant', _schemas.zSearchUsersForTenantData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchUsersForTenant(opts);\n let data = this._evaluateResponse(_raw, 'searchUsersForTenant', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchUsersForTenantResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchUsersForTenantResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchUsersForTenant', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchUsersForTenant', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search user task audit logs\n *\n * Search for user task audit logs based on given criteria.\n *\n * @example Search user task audit logs\n * ```ts\n * async function searchUserTaskAuditLogsExample(userTaskKey: UserTaskKey) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchUserTaskAuditLogs(\n * { userTaskKey },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const log of result.items ?? []) {\n * console.log(`Audit: ${log.operationType} at ${log.timestamp}`);\n * }\n * }\n * ```\n * @operationId searchUserTaskAuditLogs\n * @tags User task\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchUserTaskAuditLogs(input: searchUserTaskAuditLogsInput, /** Management of eventual consistency **/ consistencyManagement: searchUserTaskAuditLogsConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchUserTaskAuditLogs>>;\n searchUserTaskAuditLogs(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchUserTaskAuditLogsConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { userTaskKey, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { userTaskKey };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchUserTaskAuditLogs', _schemas.zSearchUserTaskAuditLogsData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchUserTaskAuditLogs(opts);\n let data = this._evaluateResponse(_raw, 'searchUserTaskAuditLogs', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchUserTaskAuditLogsResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchUserTaskAuditLogsResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchUserTaskAuditLogs', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchUserTaskAuditLogs', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search user task effective variables\n *\n * Search for the effective variables of a user task. This endpoint returns deduplicated\n * variables where each variable name appears at most once. When the same variable name exists\n * at multiple scope levels in the scope hierarchy, the value from the innermost scope (closest\n * to the user task) takes precedence. This is useful for retrieving the actual runtime state\n * of variables as seen by the user task. By default, long variable values in the response are\n * truncated.\n *\n *\n * @example Search user task effective variables\n * ```ts\n * async function searchUserTaskEffectiveVariablesExample(userTaskKey: UserTaskKey) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchUserTaskEffectiveVariables(\n * { userTaskKey },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const variable of result.items ?? []) {\n * console.log(`${variable.name} = ${variable.value}`);\n * }\n * }\n * ```\n * @operationId searchUserTaskEffectiveVariables\n * @tags User task\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchUserTaskEffectiveVariables(input: searchUserTaskEffectiveVariablesInput, /** Management of eventual consistency **/ consistencyManagement: searchUserTaskEffectiveVariablesConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchUserTaskEffectiveVariables>>;\n searchUserTaskEffectiveVariables(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchUserTaskEffectiveVariablesConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { userTaskKey, truncateValues, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { userTaskKey };\n envelope.query = { truncateValues };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchUserTaskEffectiveVariables', _schemas.zSearchUserTaskEffectiveVariablesData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.query) opts.query = envelope.query;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchUserTaskEffectiveVariables(opts);\n let data = this._evaluateResponse(_raw, 'searchUserTaskEffectiveVariables', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchUserTaskEffectiveVariablesResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchUserTaskEffectiveVariablesResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchUserTaskEffectiveVariables', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchUserTaskEffectiveVariables', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search user tasks\n *\n * Search for user tasks based on given criteria.\n *\n * @example Search user tasks\n * ```ts\n * async function searchUserTasksExample() {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchUserTasks(\n * {\n * filter: { assignee: 'alice', state: 'CREATED' },\n * sort: [{ field: 'creationDate', order: 'DESC' }],\n * page: { limit: 10 },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const task of result.items ?? []) {\n * console.log(`${task.userTaskKey}: ${task.name} (${task.state})`);\n * }\n * }\n * ```\n * @operationId searchUserTasks\n * @tags User task\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchUserTasks(input: searchUserTasksInput, /** Management of eventual consistency **/ consistencyManagement: searchUserTasksConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchUserTasks>>;\n searchUserTasks(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchUserTasksConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const _body = arg;\n let envelope: any = {};\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchUserTasks', _schemas.zSearchUserTasksData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchUserTasks(opts);\n let data = this._evaluateResponse(_raw, 'searchUserTasks', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchUserTasksResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchUserTasksResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchUserTasks', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchUserTasks', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search user task variables\n *\n * Search for user task variables based on given criteria. This endpoint returns all variable\n * documents visible from the user task's scope, including variables from parent scopes in the\n * scope hierarchy. If the same variable name exists at multiple scope levels, each scope's\n * variable is returned as a separate result. Use the\n * `/user-tasks/{userTaskKey}/effective-variables/search` endpoint to get deduplicated variables\n * where the innermost scope takes precedence. By default, long variable values in the response\n * are truncated.\n *\n *\n * @example Search user task variables\n * ```ts\n * async function searchUserTaskVariablesExample(userTaskKey: UserTaskKey) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchUserTaskVariables(\n * { userTaskKey },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const variable of result.items ?? []) {\n * console.log(`${variable.name} = ${variable.value}`);\n * }\n * }\n * ```\n * @operationId searchUserTaskVariables\n * @tags User task\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchUserTaskVariables(input: searchUserTaskVariablesInput, /** Management of eventual consistency **/ consistencyManagement: searchUserTaskVariablesConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchUserTaskVariables>>;\n searchUserTaskVariables(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchUserTaskVariablesConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { userTaskKey, truncateValues, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { userTaskKey };\n envelope.query = { truncateValues };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchUserTaskVariables', _schemas.zSearchUserTaskVariablesData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.query) opts.query = envelope.query;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchUserTaskVariables(opts);\n let data = this._evaluateResponse(_raw, 'searchUserTaskVariables', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchUserTaskVariablesResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchUserTaskVariablesResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchUserTaskVariables', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchUserTaskVariables', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Search variables\n *\n * Search for variables based on given criteria.\n *\n * This endpoint returns variables that exist directly at the specified scopes - it does not\n * include variables from parent scopes that would be visible through the scope hierarchy.\n *\n * Variables can be process-level (scoped to the process instance) or local (scoped to specific\n * BPMN elements like tasks, subprocesses, etc.).\n *\n * By default, long variable values in the response are truncated.\n *\n * @example Search variables\n * ```ts\n * async function searchVariablesExample(processInstanceKey: ProcessInstanceKey) {\n * const camunda = createCamundaClient();\n * \n * const result = await camunda.searchVariables(\n * {\n * filter: {\n * processInstanceKey,\n * },\n * page: { limit: 10 },\n * },\n * { consistency: { waitUpToMs: 5000 } }\n * );\n * \n * for (const variable of result.items ?? []) {\n * console.log(`${variable.name} = ${variable.value}`);\n * }\n * }\n * ```\n * @operationId searchVariables\n * @tags Variable\n * @consistency eventual - this endpoint is backed by data that is eventually consistent with the system state.\n */\n searchVariables(input: searchVariablesInput, /** Management of eventual consistency **/ consistencyManagement: searchVariablesConsistency, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.searchVariables>>;\n searchVariables(arg: any, /** Management of eventual consistency **/ consistencyManagement: searchVariablesConsistency, options?: OperationOptions): CancelablePromise<any> {\n if (!consistencyManagement) throw new Error(\"Missing consistencyManagement parameter for eventually consistent endpoint\");\n const useConsistency = consistencyManagement.consistency;\n return toCancelable(async signal => {\n const { truncateValues, ..._body } = arg || {};\n let envelope: any = {};\n envelope.query = { truncateValues };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('searchVariables', _schemas.zSearchVariablesData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.query) opts.query = envelope.query;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.searchVariables(opts);\n let data = this._evaluateResponse(_raw, 'searchVariables', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSearchVariablesResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSearchVariablesResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('searchVariables', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n const invoke = () => toCancelable(()=>call());\n if (useConsistency) return eventualPoll('searchVariables', false, invoke, { ...useConsistency, logger: this._log });\n return invoke();\n });\n }\n\n /**\n * Suspend Batch operation\n *\n * Suspends a running batch operation.\n * This is done asynchronously, the progress can be tracked using the batch operation status endpoint (/batch-operations/{batchOperationKey}).\n *\n *\n * @example Suspend a batch operation\n * ```ts\n * async function suspendBatchOperationExample(batchOperationKey: BatchOperationKey) {\n * const camunda = createCamundaClient();\n * \n * await camunda.suspendBatchOperation({ batchOperationKey });\n * }\n * ```\n * @operationId suspendBatchOperation\n * @tags Batch operation\n */\n suspendBatchOperation(input: suspendBatchOperationInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.suspendBatchOperation>>;\n suspendBatchOperation(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { batchOperationKey, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { batchOperationKey };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('suspendBatchOperation', _schemas.zSuspendBatchOperationData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.suspendBatchOperation(opts);\n let data = this._evaluateResponse(_raw, 'suspendBatchOperation', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zSuspendBatchOperationResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zSuspendBatchOperationResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('suspendBatchOperation', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'suspendBatchOperation', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Throw error for job\n *\n * Reports a business error (i.e. non-technical) that occurs while processing a job.\n *\n *\n * @example Throw a job error\n * ```ts\n * async function throwJobErrorExample(jobKey: JobKey) {\n * const camunda = createCamundaClient();\n * \n * await camunda.throwJobError({\n * jobKey,\n * errorCode: 'PAYMENT_FAILED',\n * errorMessage: 'Payment provider returned error',\n * });\n * }\n * ```\n * @operationId throwJobError\n * @tags Job\n */\n throwJobError(input: throwJobErrorInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.throwJobError>>;\n throwJobError(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { jobKey, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { jobKey };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('throwJobError', _schemas.zThrowJobErrorData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.throwJobError(opts);\n let data = this._evaluateResponse(_raw, 'throwJobError', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zThrowJobErrorResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zThrowJobErrorResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('throwJobError', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'throwJobError', exempt: true, retryOverride: options?.retry });\n });\n }\n\n /**\n * Unassign a client from a group\n *\n * Unassigns a client from a group.\n * The client is removed as a group member, with associated authorizations, roles, and tenant assignments no longer applied.\n *\n *\n * @example Unassign a client from a group\n * ```ts\n * async function unassignClientFromGroupExample() {\n * const camunda = createCamundaClient();\n * \n * await camunda.unassignClientFromGroup({\n * groupId: 'engineering-team',\n * clientId: 'my-service-account',\n * });\n * }\n * ```\n * @operationId unassignClientFromGroup\n * @tags Group\n */\n unassignClientFromGroup(input: unassignClientFromGroupInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.unassignClientFromGroup>>;\n unassignClientFromGroup(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { groupId, clientId } = arg || {};\n let envelope: any = {};\n envelope.path = { groupId, clientId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('unassignClientFromGroup', _schemas.zUnassignClientFromGroupData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.unassignClientFromGroup(opts);\n let data = this._evaluateResponse(_raw, 'unassignClientFromGroup', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zUnassignClientFromGroupResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zUnassignClientFromGroupResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('unassignClientFromGroup', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'unassignClientFromGroup', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Unassign a client from a tenant\n *\n * Unassigns the client from the specified tenant.\n * The client can no longer access tenant data.\n *\n *\n * @example Unassign a client from a tenant\n * ```ts\n * async function unassignClientFromTenantExample(tenantId: TenantId) {\n * const camunda = createCamundaClient();\n * \n * await camunda.unassignClientFromTenant({\n * tenantId,\n * clientId: 'my-service-account',\n * });\n * }\n * ```\n * @operationId unassignClientFromTenant\n * @tags Tenant\n */\n unassignClientFromTenant(input: unassignClientFromTenantInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.unassignClientFromTenant>>;\n unassignClientFromTenant(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { tenantId, clientId } = arg || {};\n let envelope: any = {};\n envelope.path = { tenantId, clientId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('unassignClientFromTenant', _schemas.zUnassignClientFromTenantData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.unassignClientFromTenant(opts);\n let data = this._evaluateResponse(_raw, 'unassignClientFromTenant', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zUnassignClientFromTenantResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zUnassignClientFromTenantResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('unassignClientFromTenant', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'unassignClientFromTenant', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Unassign a group from a tenant\n *\n * Unassigns a group from a specified tenant.\n * Members of the group (users, clients) will no longer have access to the tenant's data - except they are assigned directly to the tenant.\n *\n *\n * @example Unassign a group from a tenant\n * ```ts\n * async function unassignGroupFromTenantExample(tenantId: TenantId) {\n * const camunda = createCamundaClient();\n * \n * await camunda.unassignGroupFromTenant({\n * tenantId,\n * groupId: 'engineering-team',\n * });\n * }\n * ```\n * @operationId unassignGroupFromTenant\n * @tags Tenant\n */\n unassignGroupFromTenant(input: unassignGroupFromTenantInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.unassignGroupFromTenant>>;\n unassignGroupFromTenant(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { tenantId, groupId } = arg || {};\n let envelope: any = {};\n envelope.path = { tenantId, groupId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('unassignGroupFromTenant', _schemas.zUnassignGroupFromTenantData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.unassignGroupFromTenant(opts);\n let data = this._evaluateResponse(_raw, 'unassignGroupFromTenant', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zUnassignGroupFromTenantResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zUnassignGroupFromTenantResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('unassignGroupFromTenant', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'unassignGroupFromTenant', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Unassign a mapping rule from a group\n *\n * Unassigns a mapping rule from a group.\n *\n * @example Unassign a mapping rule from a group\n * ```ts\n * async function unassignMappingRuleFromGroupExample() {\n * const camunda = createCamundaClient();\n * \n * await camunda.unassignMappingRuleFromGroup({\n * groupId: 'engineering-team',\n * mappingRuleId: 'rule-123',\n * });\n * }\n * ```\n * @operationId unassignMappingRuleFromGroup\n * @tags Group\n */\n unassignMappingRuleFromGroup(input: unassignMappingRuleFromGroupInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.unassignMappingRuleFromGroup>>;\n unassignMappingRuleFromGroup(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { groupId, mappingRuleId } = arg || {};\n let envelope: any = {};\n envelope.path = { groupId, mappingRuleId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('unassignMappingRuleFromGroup', _schemas.zUnassignMappingRuleFromGroupData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.unassignMappingRuleFromGroup(opts);\n let data = this._evaluateResponse(_raw, 'unassignMappingRuleFromGroup', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zUnassignMappingRuleFromGroupResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zUnassignMappingRuleFromGroupResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('unassignMappingRuleFromGroup', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'unassignMappingRuleFromGroup', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Unassign a mapping rule from a tenant\n *\n * Unassigns a single mapping rule from a specified tenant without deleting the rule.\n *\n * @example Unassign a mapping rule from a tenant\n * ```ts\n * async function unassignMappingRuleFromTenantExample(tenantId: TenantId) {\n * const camunda = createCamundaClient();\n * \n * await camunda.unassignMappingRuleFromTenant({\n * tenantId,\n * mappingRuleId: 'rule-123',\n * });\n * }\n * ```\n * @operationId unassignMappingRuleFromTenant\n * @tags Tenant\n */\n unassignMappingRuleFromTenant(input: unassignMappingRuleFromTenantInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.unassignMappingRuleFromTenant>>;\n unassignMappingRuleFromTenant(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { tenantId, mappingRuleId } = arg || {};\n let envelope: any = {};\n envelope.path = { tenantId, mappingRuleId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('unassignMappingRuleFromTenant', _schemas.zUnassignMappingRuleFromTenantData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.unassignMappingRuleFromTenant(opts);\n let data = this._evaluateResponse(_raw, 'unassignMappingRuleFromTenant', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zUnassignMappingRuleFromTenantResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zUnassignMappingRuleFromTenantResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('unassignMappingRuleFromTenant', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'unassignMappingRuleFromTenant', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Unassign a role from a client\n *\n * Unassigns the specified role from the client. The client will no longer inherit the authorizations associated with this role.\n *\n * @example Unassign a role from a client\n * ```ts\n * async function unassignRoleFromClientExample() {\n * const camunda = createCamundaClient();\n * \n * await camunda.unassignRoleFromClient({\n * roleId: 'process-admin',\n * clientId: 'my-service-account',\n * });\n * }\n * ```\n * @operationId unassignRoleFromClient\n * @tags Role\n */\n unassignRoleFromClient(input: unassignRoleFromClientInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.unassignRoleFromClient>>;\n unassignRoleFromClient(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { roleId, clientId } = arg || {};\n let envelope: any = {};\n envelope.path = { roleId, clientId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('unassignRoleFromClient', _schemas.zUnassignRoleFromClientData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.unassignRoleFromClient(opts);\n let data = this._evaluateResponse(_raw, 'unassignRoleFromClient', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zUnassignRoleFromClientResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zUnassignRoleFromClientResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('unassignRoleFromClient', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'unassignRoleFromClient', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Unassign a role from a group\n *\n * Unassigns the specified role from the group. All group members (user or client) no longer inherit the authorizations associated with this role.\n *\n * @example Unassign a role from a group\n * ```ts\n * async function unassignRoleFromGroupExample() {\n * const camunda = createCamundaClient();\n * \n * await camunda.unassignRoleFromGroup({\n * roleId: 'process-admin',\n * groupId: 'engineering-team',\n * });\n * }\n * ```\n * @operationId unassignRoleFromGroup\n * @tags Role\n */\n unassignRoleFromGroup(input: unassignRoleFromGroupInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.unassignRoleFromGroup>>;\n unassignRoleFromGroup(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { roleId, groupId } = arg || {};\n let envelope: any = {};\n envelope.path = { roleId, groupId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('unassignRoleFromGroup', _schemas.zUnassignRoleFromGroupData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.unassignRoleFromGroup(opts);\n let data = this._evaluateResponse(_raw, 'unassignRoleFromGroup', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zUnassignRoleFromGroupResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zUnassignRoleFromGroupResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('unassignRoleFromGroup', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'unassignRoleFromGroup', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Unassign a role from a mapping rule\n *\n * Unassigns a role from a mapping rule.\n *\n * @example Unassign a role from a mapping rule\n * ```ts\n * async function unassignRoleFromMappingRuleExample() {\n * const camunda = createCamundaClient();\n * \n * await camunda.unassignRoleFromMappingRule({\n * roleId: 'process-admin',\n * mappingRuleId: 'rule-123',\n * });\n * }\n * ```\n * @operationId unassignRoleFromMappingRule\n * @tags Role\n */\n unassignRoleFromMappingRule(input: unassignRoleFromMappingRuleInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.unassignRoleFromMappingRule>>;\n unassignRoleFromMappingRule(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { roleId, mappingRuleId } = arg || {};\n let envelope: any = {};\n envelope.path = { roleId, mappingRuleId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('unassignRoleFromMappingRule', _schemas.zUnassignRoleFromMappingRuleData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.unassignRoleFromMappingRule(opts);\n let data = this._evaluateResponse(_raw, 'unassignRoleFromMappingRule', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zUnassignRoleFromMappingRuleResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zUnassignRoleFromMappingRuleResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('unassignRoleFromMappingRule', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'unassignRoleFromMappingRule', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Unassign a role from a tenant\n *\n * Unassigns a role from a specified tenant.\n * Users, Clients or Groups, that have the role assigned, will no longer have access to the\n * tenant's data - unless they are assigned directly to the tenant.\n *\n *\n * @example Unassign a role from a tenant\n * ```ts\n * async function unassignRoleFromTenantExample(tenantId: TenantId) {\n * const camunda = createCamundaClient();\n * \n * await camunda.unassignRoleFromTenant({\n * tenantId,\n * roleId: 'process-admin',\n * });\n * }\n * ```\n * @operationId unassignRoleFromTenant\n * @tags Tenant\n */\n unassignRoleFromTenant(input: unassignRoleFromTenantInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.unassignRoleFromTenant>>;\n unassignRoleFromTenant(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { tenantId, roleId } = arg || {};\n let envelope: any = {};\n envelope.path = { tenantId, roleId };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('unassignRoleFromTenant', _schemas.zUnassignRoleFromTenantData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.unassignRoleFromTenant(opts);\n let data = this._evaluateResponse(_raw, 'unassignRoleFromTenant', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zUnassignRoleFromTenantResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zUnassignRoleFromTenantResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('unassignRoleFromTenant', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'unassignRoleFromTenant', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Unassign a role from a user\n *\n * Unassigns a role from a user. The user will no longer inherit the authorizations associated with this role.\n *\n * @example Unassign a role from a user\n * ```ts\n * async function unassignRoleFromUserExample(username: Username) {\n * const camunda = createCamundaClient();\n * \n * await camunda.unassignRoleFromUser({\n * roleId: 'process-admin',\n * username,\n * });\n * }\n * ```\n * @operationId unassignRoleFromUser\n * @tags Role\n */\n unassignRoleFromUser(input: unassignRoleFromUserInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.unassignRoleFromUser>>;\n unassignRoleFromUser(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { roleId, username } = arg || {};\n let envelope: any = {};\n envelope.path = { roleId, username };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('unassignRoleFromUser', _schemas.zUnassignRoleFromUserData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.unassignRoleFromUser(opts);\n let data = this._evaluateResponse(_raw, 'unassignRoleFromUser', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zUnassignRoleFromUserResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zUnassignRoleFromUserResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('unassignRoleFromUser', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'unassignRoleFromUser', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Unassign a user from a group\n *\n * Unassigns a user from a group.\n * The user is removed as a group member, with associated authorizations, roles, and tenant assignments no longer applied.\n *\n *\n * @example Unassign a user from a group\n * ```ts\n * async function unassignUserFromGroupExample(username: Username) {\n * const camunda = createCamundaClient();\n * \n * await camunda.unassignUserFromGroup({\n * groupId: 'engineering-team',\n * username,\n * });\n * }\n * ```\n * @operationId unassignUserFromGroup\n * @tags Group\n */\n unassignUserFromGroup(input: unassignUserFromGroupInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.unassignUserFromGroup>>;\n unassignUserFromGroup(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { groupId, username } = arg || {};\n let envelope: any = {};\n envelope.path = { groupId, username };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('unassignUserFromGroup', _schemas.zUnassignUserFromGroupData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.unassignUserFromGroup(opts);\n let data = this._evaluateResponse(_raw, 'unassignUserFromGroup', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zUnassignUserFromGroupResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zUnassignUserFromGroupResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('unassignUserFromGroup', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'unassignUserFromGroup', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Unassign a user from a tenant\n *\n * Unassigns the user from the specified tenant.\n * The user can no longer access tenant data.\n *\n *\n * @example Unassign a user from a tenant\n * ```ts\n * async function unassignUserFromTenantExample(tenantId: TenantId, username: Username) {\n * const camunda = createCamundaClient();\n * \n * await camunda.unassignUserFromTenant({\n * tenantId,\n * username,\n * });\n * }\n * ```\n * @operationId unassignUserFromTenant\n * @tags Tenant\n */\n unassignUserFromTenant(input: unassignUserFromTenantInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.unassignUserFromTenant>>;\n unassignUserFromTenant(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { tenantId, username } = arg || {};\n let envelope: any = {};\n envelope.path = { tenantId, username };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('unassignUserFromTenant', _schemas.zUnassignUserFromTenantData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.unassignUserFromTenant(opts);\n let data = this._evaluateResponse(_raw, 'unassignUserFromTenant', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zUnassignUserFromTenantResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zUnassignUserFromTenantResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('unassignUserFromTenant', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'unassignUserFromTenant', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Unassign user task\n *\n * Removes the assignee of a task with the given key. Unassignment waits for blocking task listeners on this lifecycle transition. If listener processing is delayed beyond the request timeout, this endpoint can return 504. Other gateway timeout causes are also possible. Retry with backoff and inspect listener worker availability and logs when this repeats.\n *\n *\n * @example Unassign a user task\n * ```ts\n * async function unassignUserTaskExample(userTaskKey: UserTaskKey) {\n * const camunda = createCamundaClient();\n * \n * await camunda.unassignUserTask({ userTaskKey });\n * }\n * ```\n * @operationId unassignUserTask\n * @tags User task\n */\n unassignUserTask(input: unassignUserTaskInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.unassignUserTask>>;\n unassignUserTask(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { userTaskKey } = arg || {};\n let envelope: any = {};\n envelope.path = { userTaskKey };\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('unassignUserTask', _schemas.zUnassignUserTaskData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n const call = async () => {\n try {\n const _raw = await Sdk.unassignUserTask(opts);\n let data = this._evaluateResponse(_raw, 'unassignUserTask', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zUnassignUserTaskResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zUnassignUserTaskResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('unassignUserTask', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'unassignUserTask', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Update authorization\n *\n * Update the authorization with the given key.\n *\n * @example Update an authorization\n * ```ts\n * async function updateAuthorizationExample(authorizationKey: AuthorizationKey) {\n * const camunda = createCamundaClient();\n * \n * await camunda.updateAuthorization({\n * authorizationKey,\n * ownerId: 'user-123',\n * ownerType: 'USER',\n * resourceId: 'order-process',\n * resourceType: 'PROCESS_DEFINITION',\n * permissionTypes: [\n * 'CREATE_PROCESS_INSTANCE',\n * 'READ_PROCESS_INSTANCE',\n * 'DELETE_PROCESS_INSTANCE',\n * ],\n * });\n * }\n * ```\n * @operationId updateAuthorization\n * @tags Authorization\n */\n updateAuthorization(input: updateAuthorizationInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.updateAuthorization>>;\n updateAuthorization(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { authorizationKey, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { authorizationKey };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('updateAuthorization', _schemas.zUpdateAuthorizationData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.updateAuthorization(opts);\n let data = this._evaluateResponse(_raw, 'updateAuthorization', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zUpdateAuthorizationResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zUpdateAuthorizationResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('updateAuthorization', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'updateAuthorization', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Update a global-scoped cluster variable\n *\n * Updates the value of an existing global cluster variable.\n * The variable must exist, otherwise a 404 error is returned.\n *\n *\n * @example Update a global cluster variable\n * ```ts\n * async function updateGlobalClusterVariableExample() {\n * const camunda = createCamundaClient();\n * \n * await camunda.updateGlobalClusterVariable({\n * name: 'feature-flags',\n * value: { darkMode: false },\n * });\n * }\n * ```\n * @operationId updateGlobalClusterVariable\n * @tags Cluster Variable\n */\n updateGlobalClusterVariable(input: updateGlobalClusterVariableInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.updateGlobalClusterVariable>>;\n updateGlobalClusterVariable(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { name, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { name };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('updateGlobalClusterVariable', _schemas.zUpdateGlobalClusterVariableData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.updateGlobalClusterVariable(opts);\n let data = this._evaluateResponse(_raw, 'updateGlobalClusterVariable', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zUpdateGlobalClusterVariableResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zUpdateGlobalClusterVariableResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('updateGlobalClusterVariable', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'updateGlobalClusterVariable', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Update global user task listener\n *\n * Updates a global user task listener.\n *\n * @example Update a global task listener\n * ```ts\n * async function updateGlobalTaskListenerExample(id: GlobalListenerId) {\n * const camunda = createCamundaClient();\n * \n * await camunda.updateGlobalTaskListener({\n * id,\n * eventTypes: ['completing'],\n * type: 'updated-audit-listener',\n * });\n * }\n * ```\n * @operationId updateGlobalTaskListener\n * @tags Global listener\n */\n updateGlobalTaskListener(input: updateGlobalTaskListenerInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.updateGlobalTaskListener>>;\n updateGlobalTaskListener(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { id, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { id };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('updateGlobalTaskListener', _schemas.zUpdateGlobalTaskListenerData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.updateGlobalTaskListener(opts);\n let data = this._evaluateResponse(_raw, 'updateGlobalTaskListener', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zUpdateGlobalTaskListenerResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zUpdateGlobalTaskListenerResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('updateGlobalTaskListener', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'updateGlobalTaskListener', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Update group\n *\n * Update a group with the given ID.\n *\n * @example Update a group\n * ```ts\n * async function updateGroupExample() {\n * const camunda = createCamundaClient();\n * \n * await camunda.updateGroup({\n * groupId: 'engineering-team',\n * name: 'Engineering Team',\n * });\n * }\n * ```\n * @operationId updateGroup\n * @tags Group\n */\n updateGroup(input: updateGroupInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.updateGroup>>;\n updateGroup(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { groupId, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { groupId };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('updateGroup', _schemas.zUpdateGroupData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.updateGroup(opts);\n let data = this._evaluateResponse(_raw, 'updateGroup', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zUpdateGroupResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zUpdateGroupResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('updateGroup', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'updateGroup', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Update job\n *\n * Update a job with the given key.\n *\n * @example Update a job\n * ```ts\n * async function updateJobExample(jobKey: JobKey) {\n * const camunda = createCamundaClient();\n * \n * await camunda.updateJob({\n * jobKey,\n * changeset: { retries: 5, timeout: 60000 },\n * });\n * }\n * ```\n * @operationId updateJob\n * @tags Job\n */\n updateJob(input: updateJobInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.updateJob>>;\n updateJob(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { jobKey, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { jobKey };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('updateJob', _schemas.zUpdateJobData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.updateJob(opts);\n let data = this._evaluateResponse(_raw, 'updateJob', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zUpdateJobResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zUpdateJobResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('updateJob', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'updateJob', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Update mapping rule\n *\n * Update a mapping rule.\n *\n *\n * @example Update a mapping rule\n * ```ts\n * async function updateMappingRuleExample() {\n * const camunda = createCamundaClient();\n * \n * await camunda.updateMappingRule({\n * mappingRuleId: 'ldap-group-mapping',\n * name: 'LDAP Group Mapping',\n * claimName: 'groups',\n * claimValue: 'engineering-team',\n * });\n * }\n * ```\n * @operationId updateMappingRule\n * @tags Mapping rule\n */\n updateMappingRule(input: updateMappingRuleInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.updateMappingRule>>;\n updateMappingRule(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { mappingRuleId, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { mappingRuleId };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('updateMappingRule', _schemas.zUpdateMappingRuleData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.updateMappingRule(opts);\n let data = this._evaluateResponse(_raw, 'updateMappingRule', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zUpdateMappingRuleResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zUpdateMappingRuleResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('updateMappingRule', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'updateMappingRule', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Update role\n *\n * Update a role with the given ID.\n *\n * @example Update a role\n * ```ts\n * async function updateRoleExample() {\n * const camunda = createCamundaClient();\n * \n * await camunda.updateRole({\n * roleId: 'process-admin',\n * name: 'Process Administrator',\n * });\n * }\n * ```\n * @operationId updateRole\n * @tags Role\n */\n updateRole(input: updateRoleInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.updateRole>>;\n updateRole(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { roleId, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { roleId };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('updateRole', _schemas.zUpdateRoleData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.updateRole(opts);\n let data = this._evaluateResponse(_raw, 'updateRole', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zUpdateRoleResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zUpdateRoleResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('updateRole', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'updateRole', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Update tenant\n *\n * Updates an existing tenant.\n *\n * @example Update a tenant\n * ```ts\n * async function updateTenantExample(tenantId: TenantId) {\n * const camunda = createCamundaClient();\n * \n * await camunda.updateTenant({\n * tenantId,\n * name: 'Customer Service Team',\n * });\n * }\n * ```\n * @operationId updateTenant\n * @tags Tenant\n */\n updateTenant(input: updateTenantInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.updateTenant>>;\n updateTenant(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { tenantId, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { tenantId };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('updateTenant', _schemas.zUpdateTenantData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.updateTenant(opts);\n let data = this._evaluateResponse(_raw, 'updateTenant', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zUpdateTenantResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zUpdateTenantResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('updateTenant', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'updateTenant', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Update a tenant-scoped cluster variable\n *\n * Updates the value of an existing tenant-scoped cluster variable.\n * The variable must exist, otherwise a 404 error is returned.\n *\n *\n * @example Update a tenant cluster variable\n * ```ts\n * async function updateTenantClusterVariableExample(tenantId: TenantId) {\n * const camunda = createCamundaClient();\n * \n * await camunda.updateTenantClusterVariable({\n * tenantId,\n * name: 'config',\n * value: { region: 'eu-west-1' },\n * });\n * }\n * ```\n * @operationId updateTenantClusterVariable\n * @tags Cluster Variable\n */\n updateTenantClusterVariable(input: updateTenantClusterVariableInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.updateTenantClusterVariable>>;\n updateTenantClusterVariable(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { tenantId, name, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { tenantId, name };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('updateTenantClusterVariable', _schemas.zUpdateTenantClusterVariableData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.updateTenantClusterVariable(opts);\n let data = this._evaluateResponse(_raw, 'updateTenantClusterVariable', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zUpdateTenantClusterVariableResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zUpdateTenantClusterVariableResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('updateTenantClusterVariable', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'updateTenantClusterVariable', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Update user\n *\n * Updates a user.\n *\n * @example Update a user\n * ```ts\n * async function updateUserExample(username: Username) {\n * const camunda = createCamundaClient();\n * \n * await camunda.updateUser({\n * username,\n * name: 'Alice Jones',\n * email: 'alice.jones@example.com',\n * });\n * }\n * ```\n * @operationId updateUser\n * @tags User\n */\n updateUser(input: updateUserInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.updateUser>>;\n updateUser(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { username, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { username };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('updateUser', _schemas.zUpdateUserData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.updateUser(opts);\n let data = this._evaluateResponse(_raw, 'updateUser', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zUpdateUserResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zUpdateUserResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('updateUser', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'updateUser', exempt: false, retryOverride: options?.retry });\n });\n }\n\n /**\n * Update user task\n *\n * Update a user task with the given key. Updates wait for blocking task listeners on this lifecycle transition. If listener processing is delayed beyond the request timeout, this endpoint can return 504. Other gateway timeout causes are also possible. Retry with backoff and inspect listener worker availability and logs when this repeats.\n *\n *\n * @example Update a user task\n * ```ts\n * async function updateUserTaskExample(userTaskKey: UserTaskKey) {\n * const camunda = createCamundaClient();\n * \n * await camunda.updateUserTask({\n * userTaskKey,\n * changeset: {\n * candidateUsers: ['alice', 'bob'],\n * dueDate: '2025-12-31T23:59:59Z',\n * priority: 80,\n * },\n * });\n * }\n * ```\n * @operationId updateUserTask\n * @tags User task\n */\n updateUserTask(input: updateUserTaskInput, options?: OperationOptions): CancelablePromise<_DataOf<typeof Sdk.updateUserTask>>;\n updateUserTask(arg: any, options?: OperationOptions): CancelablePromise<any> {\n return toCancelable(async signal => {\n const { userTaskKey, ..._body } = arg || {};\n let envelope: any = {};\n envelope.path = { userTaskKey };\n envelope.body = _body;\n if (this._validation.settings.req !== 'none') {\n const _schemas = await this._loadSchemas();\n const maybe = await this._validation.gateRequest('updateUserTask', _schemas.zUpdateUserTaskData, envelope);\n if (this._validation.settings.req === 'strict') envelope = maybe;\n }\n const opts: any = { client: this._client, signal, throwOnError: false };\n if (envelope.path) opts.path = envelope.path;\n if (envelope.body !== undefined) opts.body = envelope.body;\n const call = async () => {\n try {\n const _raw = await Sdk.updateUserTask(opts);\n let data = this._evaluateResponse(_raw, 'updateUserTask', (resp: any) => {\n const st = resp.status ?? resp.response?.status;\n if (!st) return undefined;\n const candidate = st === 429 || st === 503 || st === 500;\n if (!candidate) return undefined;\n let prob: any = undefined;\n if (resp.error && typeof resp.error === 'object') prob = resp.error;\n const err: any = new Error((prob && (prob.title || prob.detail)) ? (prob.title || prob.detail) : ('HTTP ' + st));\n err.status = st; err.name = 'HttpSdkError';\n if (prob) { for (const k of ['type','title','detail','instance']) if (prob[k] !== undefined) err[k] = prob[k]; }\n const isBp = (st === 429) || (st === 503 && err.title === 'RESOURCE_EXHAUSTED') || (st === 500 && (typeof err.detail === 'string' && /RESOURCE_EXHAUSTED/.test(err.detail)));\n if (!isBp) err.nonRetryable = true;\n return err;\n });\n const _respSchemaName = 'zUpdateUserTaskResponse';\n if (this._isVoidResponse(_respSchemaName)) {\n data = undefined;\n }\n if (this._validation.settings.res !== 'none') {\n const _schemas = await this._loadSchemas();\n const _schema = _schemas.zUpdateUserTaskResponse;\n if (_schema) {\n const maybeR = await this._validation.gateResponse('updateUserTask', _schema, data);\n if (this._validation.settings.res === 'strict') data = maybeR;\n }\n }\n return data;\n } catch(e) {\n // Defer normalization to outer executeWithHttpRetry boundary\n throw e;\n }\n };\n return this._invokeWithRetry(() => call(), { opId: 'updateUserTask', exempt: false, retryOverride: options?.retry });\n });\n }\n\n// === AUTO-GENERATED CAMUNDA METHODS END ===\n\n /**\n * Create a job worker that activates and processes jobs of the given type.\n *\n * Worker configuration fields inherit global defaults resolved via the\n * unified configuration (environment variables or equivalent `CAMUNDA_WORKER_*`\n * keys provided via `CamundaOptions.config`) when not explicitly set on the\n * config object.\n * @param cfg Worker configuration\n * @example Create a job worker\n * ```ts\n * async function createJobWorkerExample() {\n * const camunda = createCamundaClient();\n * \n * const _worker = camunda.createJobWorker({\n * jobType: 'payment-processing',\n * jobTimeoutMs: 30000,\n * maxParallelJobs: 5,\n * jobHandler: async (job): Promise<JobActionReceipt> => {\n * console.log(`Processing job ${job.jobKey}`);\n * return job.complete({ processed: true });\n * },\n * });\n * \n * // Workers run continuously until closed\n * // worker.close();\n * }\n * ```\n * @example Job worker with error handling\n * ```ts\n * async function jobWorkerWithErrorHandlingExample() {\n * const camunda = createCamundaClient();\n * \n * const worker = camunda.createJobWorker({\n * jobType: 'email-sending',\n * jobTimeoutMs: 60000,\n * maxParallelJobs: 10,\n * pollIntervalMs: 300,\n * jobHandler: async (job): Promise<JobActionReceipt> => {\n * try {\n * console.log(`Sending email for job ${job.jobKey}`);\n * return job.complete({ sent: true });\n * } catch (err) {\n * return job.fail({\n * errorMessage: String(err),\n * retries: (job.retries ?? 1) - 1,\n * });\n * }\n * },\n * });\n * \n * void worker;\n * }\n * ```\n */\n createJobWorker<\n In extends import('zod').ZodTypeAny = any,\n Out extends import('zod').ZodTypeAny = any,\n Headers extends import('zod').ZodTypeAny = any,\n >(cfg: JobWorkerConfig<In, Out, Headers>): JobWorker {\n const defaults = this._config.workerDefaults;\n const merged = defaults\n ? {\n ...cfg,\n jobTimeoutMs: cfg.jobTimeoutMs ?? defaults.jobTimeoutMs,\n maxParallelJobs: cfg.maxParallelJobs ?? defaults.maxParallelJobs,\n pollTimeoutMs: cfg.pollTimeoutMs ?? defaults.pollTimeoutMs,\n workerName: cfg.workerName ?? defaults.workerName,\n startupJitterMaxSeconds: cfg.startupJitterMaxSeconds ?? defaults.startupJitterMaxSeconds,\n }\n : cfg;\n const worker = new JobWorker(this as any, merged as JobWorkerConfig);\n this._workers.push(worker);\n return worker;\n }\n\n /**\n * Create a threaded job worker that runs handler logic in a pool of worker threads.\n * The handler must be a separate module file that exports a default function with\n * signature `(job, client) => Promise<JobActionReceipt>`.\n *\n * This keeps the main event loop free for polling and I/O, dramatically improving\n * throughput for CPU-bound job handlers.\n *\n * Worker configuration fields inherit global defaults resolved via the\n * unified configuration (environment variables or equivalent `CAMUNDA_WORKER_*`\n * keys provided via `CamundaOptions.config`) when not explicitly set on the\n * config object.\n *\n * @param cfg Threaded worker configuration\n * @example Create a threaded job worker\n * ```ts\n * const worker = client.createThreadedJobWorker({\n * jobType: 'cpu-heavy-task',\n * handlerModule: './my-handler.js',\n * maxParallelJobs: 32,\n * jobTimeoutMs: 30000,\n * })\n * ```\n */\n createThreadedJobWorker<\n In extends import('zod').ZodTypeAny = any,\n Out extends import('zod').ZodTypeAny = any,\n Headers extends import('zod').ZodTypeAny = any,\n >(cfg: ThreadedJobWorkerConfig<In, Out, Headers>): ThreadedJobWorker {\n const defaults = this._config.workerDefaults;\n const merged = defaults\n ? {\n ...cfg,\n jobTimeoutMs: cfg.jobTimeoutMs ?? defaults.jobTimeoutMs,\n maxParallelJobs: cfg.maxParallelJobs ?? defaults.maxParallelJobs,\n pollTimeoutMs: cfg.pollTimeoutMs ?? defaults.pollTimeoutMs,\n workerName: cfg.workerName ?? defaults.workerName,\n startupJitterMaxSeconds: cfg.startupJitterMaxSeconds ?? defaults.startupJitterMaxSeconds,\n }\n : cfg;\n const pool = this._getOrCreateThreadPool(cfg.threadPoolSize);\n const worker = new ThreadedJobWorker(this as any, pool, merged as ThreadedJobWorkerConfig);\n this._workers.push(worker);\n return worker;\n }\n\n /**\n * Node-only convenience: deploy resources from local filesystem paths.\n * @param resourceFilenames Absolute or relative file paths to BPMN/DMN/form/resource files.\n * @param options Optional: tenantId.\n * @returns ExtendedDeploymentResult\n */\n deployResourcesFromFiles(\n resourceFilenames: string[],\n options?: { tenantId?: string }\n ): CancelablePromise<ExtendedDeploymentResult> {\n return toCancelable(async (_signal) => {\n if (!Array.isArray(resourceFilenames) || resourceFilenames.length === 0) {\n throw new Error('resourceFilenames must be a non-empty string[]');\n }\n // Basic environment guard (avoid accidental browser usage)\n if (typeof process === 'undefined' || !process.versions?.node) {\n throw new Error('deployResourcesFromFiles is only available in Node.js environments');\n }\n // Dynamic imports so that bundlers can tree-shake for browser builds\n const [{ readFile }, pathMod] = await Promise.all([\n import('node:fs/promises'),\n import('node:path'),\n ]);\n // Best-effort MIME inference\n const mimeFor = (filename: string): string => {\n const ext = filename.toLowerCase().split('.').pop() || '';\n switch (ext) {\n case 'bpmn':\n case 'dmn':\n case 'xml':\n return 'application/xml';\n case 'json':\n case 'form':\n return 'application/json';\n default:\n return 'application/octet-stream';\n }\n };\n if (typeof File !== 'function') {\n throw new Error(\n 'Global File constructor not available. Requires Node 18+ (fetch experimental) or Node 20+'\n );\n }\n const files: File[] = [];\n for (const p of resourceFilenames) {\n if (typeof p !== 'string' || !p) throw new Error('Invalid resource filename encountered');\n const data = await readFile(p);\n const name = pathMod.basename(p);\n files.push(new File([data as any], name, { type: mimeFor(name) }));\n }\n const payload: createDeploymentInput = {\n resources: files,\n ...(options?.tenantId ? { tenantId: options.tenantId } : {}),\n } as any;\n return this.createDeployment(payload);\n });\n }\n}\n","// Strongly-typed fp-ts style adapter (no runtime dependency on fp-ts).\n// Produces TaskEither-like thunks structurally compatible with fp-ts/TaskEither.\n// Includes domain error typing and small helper combinators.\n\nimport { type CamundaClient, type CamundaOptions, createCamundaClient } from './gen/CamundaClient';\nimport { CamundaValidationError, EventualConsistencyTimeoutError } from './runtime/errors';\n\n// Basic Either + TaskEither structural types (kept minimal to avoid runtime dependency).\nexport type Left<E> = { _tag: 'Left'; left: E };\nexport type Right<A> = { _tag: 'Right'; right: A };\nexport type Either<E, A> = Left<E> | Right<A>;\nexport type TaskEither<E, A> = () => Promise<Either<E, A>>;\n\nexport const left = <E, A = never>(e: E): Either<E, A> => ({ _tag: 'Left', left: e });\nexport const right = <E = never, A = never>(a: A): Either<E, A> => ({ _tag: 'Right', right: a });\nexport const isLeft = <E, A>(e: Either<E, A>): e is Left<E> => e._tag === 'Left';\nexport const isRight = <E, A>(e: Either<E, A>): e is Right<A> => e._tag === 'Right';\n\n// Domain error union (expand as needed):\nexport type HttpError = { name?: string; status?: number; body?: any; message?: string } & Record<\n string,\n any\n>;\nexport type DomainError =\n | CamundaValidationError\n | EventualConsistencyTimeoutError\n | HttpError\n | Error;\n\n// Utility to narrow thrown values into DomainError union.\nfunction toDomainError(err: any): DomainError {\n if (err instanceof CamundaValidationError) return err;\n if (err instanceof EventualConsistencyTimeoutError) return err;\n if (err instanceof Error) return err;\n if (typeof err === 'object') return err as HttpError;\n return { message: String(err) } as HttpError;\n}\n\n// Classification + folding helpers -------------------------------------------------\nexport type DomainErrorTag = 'validation' | 'timeout' | 'http' | 'generic';\n\nexport function classifyDomainError(err: DomainError): DomainErrorTag {\n if (err instanceof CamundaValidationError) return 'validation';\n if (err instanceof EventualConsistencyTimeoutError) return 'timeout';\n // Heuristic: HttpError is plain object without stack OR has status property.\n if (!(err instanceof Error) || (err as any).status !== undefined) return 'http';\n return 'generic';\n}\n\n// Exhaustive fold over DomainError; forces caller to consider each class.\nexport function foldDomainError<A>(handlers: {\n validation: (e: CamundaValidationError) => A;\n timeout: (e: EventualConsistencyTimeoutError) => A;\n http: (e: HttpError) => A;\n generic: (e: Error) => A;\n}): (err: DomainError) => A {\n return (err: DomainError) => {\n switch (classifyDomainError(err)) {\n case 'validation':\n return handlers.validation(err as CamundaValidationError);\n case 'timeout':\n return handlers.timeout(err as EventualConsistencyTimeoutError);\n case 'http':\n return handlers.http(err as HttpError);\n case 'generic':\n return handlers.generic(err as Error);\n }\n };\n}\n\n// Function keys & mapping helpers\nexport type FnKeys<C> = { [K in keyof C]: C[K] extends (...a: any) => any ? K : never }[keyof C];\nexport type Fpify<C> = {\n [K in FnKeys<C>]: C[K] extends (...a: infer A) => infer R\n ? (...a: A) => TaskEither<DomainError, Awaited<R>>\n : never;\n} & { inner: C } & { [K in Exclude<keyof C, FnKeys<C>>]: C[K] };\n\nexport type CamundaFpClient = Fpify<CamundaClient>;\n\n// Runtime detection of promise-like (includes CancelablePromise)\nfunction isPromiseLike<T>(v: any): v is Promise<T> {\n return v && typeof v.then === 'function';\n}\n\n/**\n *\n * @experimental This feature under development and is not guaranteed to be fully tested or stable.\n * @description Camunda FP Client - a Task-Either compatible client. See the README and [this test](https://github.com/camunda/orchestration-cluster-api-js/blob/main/tests-integration/fp.test.ts) for example usage.\n */\nexport function createCamundaFpClient(options?: CamundaOptions): CamundaFpClient {\n const base = createCamundaClient(options);\n const cache = new Map<string | symbol, any>();\n\n function wrap<M extends (...a: any) => any>(fn: M) {\n return (...args: Parameters<M>): TaskEither<DomainError, Awaited<ReturnType<M>>> =>\n async () => {\n try {\n const r = fn.apply(base, args) as ReturnType<M>;\n const val = isPromiseLike(r) ? await (r as any) : r;\n return right(val as Awaited<ReturnType<M>>);\n } catch (e) {\n return left(toDomainError(e));\n }\n };\n }\n\n const handler: ProxyHandler<any> = {\n get(_t, prop: string | symbol) {\n if (prop === 'inner') return base;\n if (cache.has(prop)) return cache.get(prop);\n const value = (base as any)[prop];\n if (typeof value === 'function') {\n const w = wrap(value);\n cache.set(prop, w);\n return w;\n }\n cache.set(prop, value);\n return value;\n },\n };\n\n return new Proxy({}, handler) as CamundaFpClient;\n}\n\n// --- Helper Combinators ---\n// Retry with exponential backoff + optional max attempts. Simple version (no fp-ts dependency).\nexport function retryTE<E, A>(\n task: TaskEither<E, A>,\n opts: {\n max: number;\n baseDelayMs?: number;\n shouldRetry?: (e: E, attempt: number) => boolean | Promise<boolean>;\n }\n): TaskEither<E, A> {\n const { max, baseDelayMs = 100, shouldRetry } = opts;\n return async () => {\n let attempt = 0;\n let lastLeft: Either<E, A> | undefined;\n while (attempt < max) {\n const res = await task();\n if (isRight(res)) return res;\n lastLeft = res;\n attempt++;\n const retry = attempt < max && (shouldRetry ? await shouldRetry(res.left, attempt) : true);\n if (!retry) return res;\n const delay = Math.min(2000, baseDelayMs * 2 ** (attempt - 1));\n await new Promise((r) => setTimeout(r, delay));\n }\n return lastLeft!; // last failure\n };\n}\n\n// Timeout wrapper: cancels if not settled within ms (best-effort; we can't always abort underlying promise).\nexport function withTimeoutTE<E, A>(\n task: TaskEither<E, A>,\n ms: number,\n onTimeout?: () => E\n): TaskEither<E, A> {\n return async () => {\n let settled = false;\n const t = task().then((r) => {\n settled = true;\n return r;\n });\n const timeout = new Promise<Either<E, A>>((res) =>\n setTimeout(() => {\n if (!settled)\n res(left(onTimeout ? onTimeout() : (new Error(`Timeout after ${ms}ms`) as any)));\n }, ms)\n );\n return Promise.race([t, timeout]) as Promise<Either<E, A>>;\n };\n}\n\n// Eventually helper using a supplied polling function (wrap existing eventualPoll logic at call sites if needed).\nexport function eventuallyTE<E, A>(\n thunk: () => Promise<A>,\n predicate: (a: A) => boolean | Promise<boolean>,\n opts: { intervalMs?: number; waitUpToMs: number }\n): TaskEither<E, A> {\n const { intervalMs = 500, waitUpToMs } = opts;\n return async () => {\n const start = Date.now();\n let attempt = 0;\n\n while (true) {\n attempt++;\n try {\n const val = await thunk();\n if (await predicate(val)) return right(val);\n } catch (e) {\n return left(e as E);\n }\n const elapsed = Date.now() - start;\n if (elapsed >= waitUpToMs)\n return left(\n new EventualConsistencyTimeoutError({ attempts: attempt, elapsedMs: elapsed }) as any as E\n );\n await new Promise((r) => setTimeout(r, intervalMs));\n }\n };\n}\n"],"mappings":"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","names":["client","sleep","joinedValues","path","config","request","url","path","now","sleep","opts","client","left","right","ZodObject","ZodObject","path","status","title","detail","now","client","_workerCounter","DEFAULT_LONGPOLL_TIMEOUT","client","client","client","deepFreeze","toCancelable"]}
|