@tritonium/api-client 2.1.0 → 2.1.1
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/dist/auth.js.map +1 -1
- package/dist/auth.mjs.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -1
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../core/ApiError.ts","../core/CancelablePromise.ts","../core/OpenAPI.ts","../auth.ts","../webhooks.ts","../models/Alert.ts","../models/AlertUpdateRequest.ts","../models/AutoSyncConfigRequest.ts","../core/request.ts","../services/AlertsService.ts","../services/AppsService.ts","../services/AuthService.ts","../services/BillingService.ts","../services/CredentialsService.ts","../services/HealthService.ts","../services/InsightsService.ts","../services/IntegrationsService.ts","../services/InternalService.ts","../services/PredictionsService.ts","../services/RatingsService.ts","../services/ReplyTemplatesService.ts","../services/ReviewsService.ts","../services/UsersService.ts"],"names":["request","resolve","Alert","severity","status","AlertUpdateRequest","AutoSyncConfigRequest","frequency","headers"],"mappings":"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","file":"index.mjs","sourcesContent":["/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\n\nexport class ApiError extends Error {\n public readonly url: string;\n public readonly status: number;\n public readonly statusText: string;\n public readonly body: any;\n public readonly request: ApiRequestOptions;\n\n constructor(request: ApiRequestOptions, response: ApiResult, message: string) {\n super(message);\n\n this.name = 'ApiError';\n this.url = response.url;\n this.status = response.status;\n this.statusText = response.statusText;\n this.body = response.body;\n this.request = request;\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nexport class CancelError extends Error {\n\n constructor(message: string) {\n super(message);\n this.name = 'CancelError';\n }\n\n public get isCancelled(): boolean {\n return true;\n }\n}\n\nexport interface OnCancel {\n readonly isResolved: boolean;\n readonly isRejected: boolean;\n readonly isCancelled: boolean;\n\n (cancelHandler: () => void): void;\n}\n\nexport class CancelablePromise<T> implements Promise<T> {\n #isResolved: boolean;\n #isRejected: boolean;\n #isCancelled: boolean;\n readonly #cancelHandlers: (() => void)[];\n readonly #promise: Promise<T>;\n #resolve?: (value: T | PromiseLike<T>) => void;\n #reject?: (reason?: any) => void;\n\n constructor(\n executor: (\n resolve: (value: T | PromiseLike<T>) => void,\n reject: (reason?: any) => void,\n onCancel: OnCancel\n ) => void\n ) {\n this.#isResolved = false;\n this.#isRejected = false;\n this.#isCancelled = false;\n this.#cancelHandlers = [];\n this.#promise = new Promise<T>((resolve, reject) => {\n this.#resolve = resolve;\n this.#reject = reject;\n\n const onResolve = (value: T | PromiseLike<T>): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isResolved = true;\n if (this.#resolve) this.#resolve(value);\n };\n\n const onReject = (reason?: any): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isRejected = true;\n if (this.#reject) this.#reject(reason);\n };\n\n const onCancel = (cancelHandler: () => void): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#cancelHandlers.push(cancelHandler);\n };\n\n Object.defineProperty(onCancel, 'isResolved', {\n get: (): boolean => this.#isResolved,\n });\n\n Object.defineProperty(onCancel, 'isRejected', {\n get: (): boolean => this.#isRejected,\n });\n\n Object.defineProperty(onCancel, 'isCancelled', {\n get: (): boolean => this.#isCancelled,\n });\n\n return executor(onResolve, onReject, onCancel as OnCancel);\n });\n }\n\n get [Symbol.toStringTag]() {\n return \"Cancellable Promise\";\n }\n\n public then<TResult1 = T, TResult2 = never>(\n onFulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null,\n onRejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null\n ): Promise<TResult1 | TResult2> {\n return this.#promise.then(onFulfilled, onRejected);\n }\n\n public catch<TResult = never>(\n onRejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null\n ): Promise<T | TResult> {\n return this.#promise.catch(onRejected);\n }\n\n public finally(onFinally?: (() => void) | null): Promise<T> {\n return this.#promise.finally(onFinally);\n }\n\n public cancel(): void {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isCancelled = true;\n if (this.#cancelHandlers.length) {\n try {\n for (const cancelHandler of this.#cancelHandlers) {\n cancelHandler();\n }\n } catch (error) {\n console.warn('Cancellation threw an error', error);\n return;\n }\n }\n this.#cancelHandlers.length = 0;\n if (this.#reject) this.#reject(new CancelError('Request aborted'));\n }\n\n public get isCancelled(): boolean {\n return this.#isCancelled;\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\n\ntype Resolver<T> = (options: ApiRequestOptions) => Promise<T>;\ntype Headers = Record<string, string>;\n\nexport type OpenAPIConfig = {\n BASE: string;\n VERSION: string;\n WITH_CREDENTIALS: boolean;\n CREDENTIALS: 'include' | 'omit' | 'same-origin';\n TOKEN?: string | Resolver<string> | undefined;\n USERNAME?: string | Resolver<string> | undefined;\n PASSWORD?: string | Resolver<string> | undefined;\n HEADERS?: Headers | Resolver<Headers> | undefined;\n ENCODE_PATH?: ((path: string) => string) | undefined;\n};\n\nexport const OpenAPI: OpenAPIConfig = {\n BASE: 'https://api.tritonium.com',\n VERSION: '1.0.0',\n WITH_CREDENTIALS: false,\n CREDENTIALS: 'include',\n TOKEN: undefined,\n USERNAME: undefined,\n PASSWORD: undefined,\n HEADERS: undefined,\n ENCODE_PATH: undefined,\n};\n","/**\n * Authentication helpers for the Tritonium API.\n *\n * This module provides utilities for API key authentication and token management.\n *\n * @example\n * ```typescript\n * import { configureApiKey, configureBearerToken } from './auth';\n *\n * // Using API key\n * configureApiKey('trtn_live_your_key_here');\n *\n * // Using Bearer token\n * configureBearerToken('your_jwt_token');\n * ```\n */\n\nimport { OpenAPI } from './core/OpenAPI';\n\n/**\n * Configure the SDK to use API key authentication.\n *\n * @param apiKey - Your Tritonium API key (starts with trtn_live_ or trtn_test_)\n * @param baseUrl - Optional custom base URL (defaults to production)\n *\n * @example\n * ```typescript\n * import { configureApiKey } from '@tritonium/api-client/auth';\n * import { AppsService } from '@tritonium/api-client';\n *\n * configureApiKey('trtn_live_abc123...');\n *\n * const apps = await AppsService.getApps();\n * ```\n */\nexport function configureApiKey(\n apiKey: string,\n baseUrl: string = 'https://api.tritonium.com'\n): void {\n OpenAPI.BASE = baseUrl;\n const existingHeaders = typeof OpenAPI.HEADERS === 'object' && OpenAPI.HEADERS !== null ? OpenAPI.HEADERS : {};\n OpenAPI.HEADERS = {\n ...existingHeaders,\n 'X-API-Key': apiKey,\n };\n // Remove Bearer token if switching to API key\n if (OpenAPI.TOKEN) {\n OpenAPI.TOKEN = undefined;\n }\n}\n\n/**\n * Configure the SDK to use Bearer token authentication.\n *\n * @param token - Your Cognito JWT access token\n * @param baseUrl - Optional custom base URL (defaults to production)\n *\n * @example\n * ```typescript\n * import { configureBearerToken } from '@tritonium/api-client/auth';\n * import { AppsService } from '@tritonium/api-client';\n *\n * configureBearerToken('eyJhbGciOiJSUzI1NiIs...');\n *\n * const apps = await AppsService.getApps();\n * ```\n */\nexport function configureBearerToken(\n token: string,\n baseUrl: string = 'https://api.tritonium.com'\n): void {\n OpenAPI.BASE = baseUrl;\n OpenAPI.TOKEN = token;\n // Remove API key header if switching to Bearer\n if (OpenAPI.HEADERS && 'X-API-Key' in OpenAPI.HEADERS) {\n const { 'X-API-Key': _, ...rest } = OpenAPI.HEADERS;\n OpenAPI.HEADERS = rest;\n }\n}\n\n/**\n * Configure the SDK with custom settings.\n *\n * @param config - Configuration options\n *\n * @example\n * ```typescript\n * import { configure } from '@tritonium/api-client/auth';\n *\n * configure({\n * apiKey: 'trtn_live_abc123...',\n * baseUrl: 'https://staging-api.tritonium.com',\n * headers: { 'X-Custom-Header': 'value' },\n * });\n * ```\n */\nexport function configure(config: {\n apiKey?: string;\n token?: string;\n baseUrl?: string;\n headers?: Record<string, string>;\n}): void {\n if (config.baseUrl) {\n OpenAPI.BASE = config.baseUrl;\n }\n\n if (config.apiKey) {\n OpenAPI.HEADERS = {\n ...OpenAPI.HEADERS,\n ...config.headers,\n 'X-API-Key': config.apiKey,\n };\n OpenAPI.TOKEN = undefined;\n } else if (config.token) {\n OpenAPI.TOKEN = config.token;\n OpenAPI.HEADERS = {\n ...OpenAPI.HEADERS,\n ...config.headers,\n };\n } else if (config.headers) {\n OpenAPI.HEADERS = {\n ...OpenAPI.HEADERS,\n ...config.headers,\n };\n }\n}\n\n/**\n * Get the current configuration.\n */\nexport function getConfiguration(): {\n baseUrl: string;\n hasApiKey: boolean;\n hasToken: boolean;\n} {\n const headers = OpenAPI.HEADERS;\n const hasApiKey = typeof headers === 'object' && headers !== null && 'X-API-Key' in headers;\n return {\n baseUrl: OpenAPI.BASE,\n hasApiKey,\n hasToken: Boolean(OpenAPI.TOKEN),\n };\n}\n\n/**\n * Clear all authentication configuration.\n */\nexport function clearAuth(): void {\n OpenAPI.TOKEN = undefined;\n const headers = OpenAPI.HEADERS;\n if (typeof headers === 'object' && headers !== null && 'X-API-Key' in headers) {\n const { 'X-API-Key': _, ...rest } = headers;\n OpenAPI.HEADERS = rest;\n }\n}\n","/**\n * Webhook verification utilities for Tritonium.\n *\n * This module provides functions for verifying webhook signatures and handling\n * incoming webhook events from Tritonium.\n *\n * @example\n * ```typescript\n * import { verifyWebhook, WebhookEvent } from './webhooks';\n *\n * const event = verifyWebhook({\n * payload: requestBody,\n * signature: headers['x-tritonium-signature'],\n * timestamp: headers['x-tritonium-timestamp'],\n * secret: 'whsec_your_secret',\n * });\n * ```\n */\n\nimport * as crypto from 'crypto';\n\n/**\n * Error thrown when webhook verification fails.\n */\nexport class WebhookVerificationError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'WebhookVerificationError';\n }\n}\n\n/**\n * Error thrown when webhook timestamp is too old.\n */\nexport class WebhookExpiredError extends WebhookVerificationError {\n constructor(message: string) {\n super(message);\n this.name = 'WebhookExpiredError';\n }\n}\n\n/**\n * Error thrown when webhook signature is invalid.\n */\nexport class WebhookSignatureError extends WebhookVerificationError {\n constructor(message: string) {\n super(message);\n this.name = 'WebhookSignatureError';\n }\n}\n\n/**\n * Parsed webhook event from Tritonium.\n */\nexport interface WebhookEvent<T = Record<string, unknown>> {\n /** Unique identifier for this event */\n eventId: string;\n /** Type of event (e.g., 'review.received', 'alert.triggered') */\n eventType: string;\n /** When the event occurred */\n timestamp: Date;\n /** Tenant that owns this event */\n tenantId: string;\n /** Optional app UUID related to the event */\n appUuid?: string;\n /** Event-specific payload data */\n data: T;\n /** Original JSON payload */\n rawPayload: Record<string, unknown>;\n}\n\n/**\n * Tritonium webhook event types.\n */\nexport const EventTypes = {\n CRISIS_DETECTED: 'crisis.detected',\n INSIGHT_GENERATED: 'insight.generated',\n REVIEW_RECEIVED: 'review.received',\n ANALYSIS_COMPLETED: 'analysis.completed',\n ALERT_TRIGGERED: 'alert.triggered',\n TEST_PING: 'test.ping',\n} as const;\n\nexport type EventType = (typeof EventTypes)[keyof typeof EventTypes];\n\n/**\n * Options for webhook verification.\n */\nexport interface VerifyWebhookOptions {\n /** Raw request body (string or Buffer) */\n payload: string | Buffer;\n /** Value of X-Tritonium-Signature header */\n signature: string;\n /** Value of X-Tritonium-Timestamp header */\n timestamp: string;\n /** Your webhook signing secret */\n secret: string;\n /** Maximum age in seconds (default: 300 = 5 minutes) */\n toleranceSeconds?: number;\n}\n\n/**\n * Verify a webhook signature without parsing the payload.\n *\n * @param payload - Raw request body\n * @param signature - Value of X-Tritonium-Signature header\n * @param secret - Your webhook signing secret\n * @returns true if signature is valid\n */\nexport function verifySignature(\n payload: string | Buffer,\n signature: string,\n secret: string\n): boolean {\n const payloadBuffer =\n typeof payload === 'string' ? Buffer.from(payload) : payload;\n\n // Extract the hex signature (remove 'sha256=' prefix)\n const receivedSig = signature.startsWith('sha256=')\n ? signature.slice(7)\n : signature;\n\n // Compute expected signature\n const expectedSig = crypto\n .createHmac('sha256', secret)\n .update(payloadBuffer)\n .digest('hex');\n\n // Constant-time comparison\n try {\n return crypto.timingSafeEqual(\n Buffer.from(receivedSig),\n Buffer.from(expectedSig)\n );\n } catch {\n return false;\n }\n}\n\n/**\n * Verify that a webhook timestamp is within acceptable range.\n *\n * @param timestamp - ISO 8601 timestamp string\n * @param toleranceSeconds - Maximum age in seconds (default: 300)\n * @returns true if timestamp is valid\n */\nexport function verifyTimestamp(\n timestamp: string,\n toleranceSeconds: number = 300\n): boolean {\n try {\n const webhookTime = new Date(timestamp).getTime();\n const now = Date.now();\n const ageMs = Math.abs(now - webhookTime);\n return ageMs <= toleranceSeconds * 1000;\n } catch {\n return false;\n }\n}\n\n/**\n * Verify a webhook and parse the event.\n *\n * This is the main function for processing incoming webhooks. It:\n * 1. Verifies the timestamp is not too old (replay protection)\n * 2. Verifies the HMAC signature\n * 3. Parses and returns the event\n *\n * @param options - Verification options\n * @returns Parsed and verified webhook event\n * @throws WebhookExpiredError if timestamp is too old\n * @throws WebhookSignatureError if signature is invalid\n * @throws WebhookVerificationError if payload cannot be parsed\n *\n * @example\n * ```typescript\n * import express from 'express';\n * import { verifyWebhook, WebhookVerificationError } from '@tritonium/api-client/webhooks';\n *\n * const app = express();\n * const WEBHOOK_SECRET = 'whsec_your_secret';\n *\n * app.post('/webhook', express.raw({ type: 'application/json' }), (req, res) => {\n * try {\n * const event = verifyWebhook({\n * payload: req.body,\n * signature: req.headers['x-tritonium-signature'] as string,\n * timestamp: req.headers['x-tritonium-timestamp'] as string,\n * secret: WEBHOOK_SECRET,\n * });\n *\n * switch (event.eventType) {\n * case 'review.received':\n * handleReview(event.data);\n * break;\n * case 'alert.triggered':\n * handleAlert(event.data);\n * break;\n * }\n *\n * res.json({ status: 'ok' });\n * } catch (e) {\n * if (e instanceof WebhookVerificationError) {\n * res.status(401).json({ error: e.message });\n * } else {\n * throw e;\n * }\n * }\n * });\n * ```\n */\nexport function verifyWebhook<T = Record<string, unknown>>(\n options: VerifyWebhookOptions\n): WebhookEvent<T> {\n const { payload, signature, timestamp, secret, toleranceSeconds = 300 } = options;\n\n // Check timestamp first (replay protection)\n if (!verifyTimestamp(timestamp, toleranceSeconds)) {\n throw new WebhookExpiredError(\n `Webhook timestamp is too old or invalid: ${timestamp}`\n );\n }\n\n // Verify signature\n if (!verifySignature(payload, signature, secret)) {\n throw new WebhookSignatureError('Invalid webhook signature');\n }\n\n // Parse payload\n let data: Record<string, unknown>;\n try {\n const payloadStr =\n typeof payload === 'string' ? payload : payload.toString('utf-8');\n data = JSON.parse(payloadStr);\n } catch (e) {\n throw new WebhookVerificationError(`Invalid webhook payload: ${e}`);\n }\n\n // Parse timestamp\n let eventTimestamp: Date;\n try {\n eventTimestamp = new Date(\n (data.timestamp as string) || timestamp\n );\n } catch {\n eventTimestamp = new Date();\n }\n\n return {\n eventId: data.event_id as string || '',\n eventType: data.event_type as string || '',\n timestamp: eventTimestamp,\n tenantId: data.tenant_id as string || '',\n appUuid: data.app_uuid as string | undefined,\n data: (data.data || {}) as T,\n rawPayload: data,\n };\n}\n\n/**\n * Alias for verifyWebhook for compatibility with other webhook libraries.\n */\nexport const constructEvent = verifyWebhook;\n\n/**\n * Type guard to check if an error is a WebhookVerificationError.\n */\nexport function isWebhookError(error: unknown): error is WebhookVerificationError {\n return error instanceof WebhookVerificationError;\n}\n\n/**\n * Type definitions for specific event payloads.\n */\nexport interface ReviewReceivedData {\n review_id: string;\n platform: string;\n rating: number;\n title?: string;\n text: string;\n author?: string;\n review_date: string;\n country?: string;\n version?: string;\n}\n\nexport interface AlertTriggeredData {\n alert_id: string;\n rule_id: string;\n rule_name: string;\n severity: 'low' | 'medium' | 'high' | 'critical';\n message: string;\n current_value?: number;\n threshold?: number;\n}\n\nexport interface CrisisDetectedData {\n severity: 'low' | 'medium' | 'high' | 'critical';\n type: string;\n message: string;\n affected_period?: string;\n metrics?: Record<string, unknown>;\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nexport type Alert = {\n alert_id?: string;\n title?: string;\n description?: string;\n severity?: Alert.severity;\n status?: Alert.status;\n created_at?: string;\n updated_at?: string;\n metadata?: Record<string, any>;\n};\nexport namespace Alert {\n export enum severity {\n CRITICAL = 'critical',\n HIGH = 'high',\n MEDIUM = 'medium',\n LOW = 'low',\n }\n export enum status {\n UNREAD = 'unread',\n READ = 'read',\n ACKNOWLEDGED = 'acknowledged',\n SNOOZED = 'snoozed',\n }\n}\n\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nexport type AlertUpdateRequest = {\n status?: AlertUpdateRequest.status;\n note?: string;\n snooze_until?: string;\n};\nexport namespace AlertUpdateRequest {\n export enum status {\n UNREAD = 'unread',\n READ = 'read',\n ACKNOWLEDGED = 'acknowledged',\n SNOOZED = 'snoozed',\n }\n}\n\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nexport type AutoSyncConfigRequest = {\n auto_sync_enabled: boolean;\n frequency?: AutoSyncConfigRequest.frequency;\n};\nexport namespace AutoSyncConfigRequest {\n export enum frequency {\n HOURLY = 'hourly',\n DAILY = 'daily',\n WEEKLY = 'weekly',\n }\n}\n\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { CancelablePromise } from './CancelablePromise';\nimport type { OnCancel } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\nexport const isDefined = <T>(value: T | null | undefined): value is Exclude<T, null | undefined> => {\n return value !== undefined && value !== null;\n};\n\nexport const isString = (value: any): value is string => {\n return typeof value === 'string';\n};\n\nexport const isStringWithValue = (value: any): value is string => {\n return isString(value) && value !== '';\n};\n\nexport const isBlob = (value: any): value is Blob => {\n return (\n typeof value === 'object' &&\n typeof value.type === 'string' &&\n typeof value.stream === 'function' &&\n typeof value.arrayBuffer === 'function' &&\n typeof value.constructor === 'function' &&\n typeof value.constructor.name === 'string' &&\n /^(Blob|File)$/.test(value.constructor.name) &&\n /^(Blob|File)$/.test(value[Symbol.toStringTag])\n );\n};\n\nexport const isFormData = (value: any): value is FormData => {\n return value instanceof FormData;\n};\n\nexport const base64 = (str: string): string => {\n try {\n return btoa(str);\n } catch (err) {\n // @ts-ignore\n return Buffer.from(str).toString('base64');\n }\n};\n\nexport const getQueryString = (params: Record<string, any>): string => {\n const qs: string[] = [];\n\n const append = (key: string, value: any) => {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n };\n\n const process = (key: string, value: any) => {\n if (isDefined(value)) {\n if (Array.isArray(value)) {\n value.forEach(v => {\n process(key, v);\n });\n } else if (typeof value === 'object') {\n Object.entries(value).forEach(([k, v]) => {\n process(`${key}[${k}]`, v);\n });\n } else {\n append(key, value);\n }\n }\n };\n\n Object.entries(params).forEach(([key, value]) => {\n process(key, value);\n });\n\n if (qs.length > 0) {\n return `?${qs.join('&')}`;\n }\n\n return '';\n};\n\nconst getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => {\n const encoder = config.ENCODE_PATH || encodeURI;\n\n const path = options.url\n .replace('{api-version}', config.VERSION)\n .replace(/{(.*?)}/g, (substring: string, group: string) => {\n if (options.path?.hasOwnProperty(group)) {\n return encoder(String(options.path[group]));\n }\n return substring;\n });\n\n const url = `${config.BASE}${path}`;\n if (options.query) {\n return `${url}${getQueryString(options.query)}`;\n }\n return url;\n};\n\nexport const getFormData = (options: ApiRequestOptions): FormData | undefined => {\n if (options.formData) {\n const formData = new FormData();\n\n const process = (key: string, value: any) => {\n if (isString(value) || isBlob(value)) {\n formData.append(key, value);\n } else {\n formData.append(key, JSON.stringify(value));\n }\n };\n\n Object.entries(options.formData)\n .filter(([_, value]) => isDefined(value))\n .forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach(v => process(key, v));\n } else {\n process(key, value);\n }\n });\n\n return formData;\n }\n return undefined;\n};\n\ntype Resolver<T> = (options: ApiRequestOptions) => Promise<T>;\n\nexport const resolve = async <T>(options: ApiRequestOptions, resolver?: T | Resolver<T>): Promise<T | undefined> => {\n if (typeof resolver === 'function') {\n return (resolver as Resolver<T>)(options);\n }\n return resolver;\n};\n\nexport const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions): Promise<Headers> => {\n const [token, username, password, additionalHeaders] = await Promise.all([\n resolve(options, config.TOKEN),\n resolve(options, config.USERNAME),\n resolve(options, config.PASSWORD),\n resolve(options, config.HEADERS),\n ]);\n\n const headers = Object.entries({\n Accept: 'application/json',\n ...additionalHeaders,\n ...options.headers,\n })\n .filter(([_, value]) => isDefined(value))\n .reduce((headers, [key, value]) => ({\n ...headers,\n [key]: String(value),\n }), {} as Record<string, string>);\n\n if (isStringWithValue(token)) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = base64(`${username}:${password}`);\n headers['Authorization'] = `Basic ${credentials}`;\n }\n\n if (options.body !== undefined) {\n if (options.mediaType) {\n headers['Content-Type'] = options.mediaType;\n } else if (isBlob(options.body)) {\n headers['Content-Type'] = options.body.type || 'application/octet-stream';\n } else if (isString(options.body)) {\n headers['Content-Type'] = 'text/plain';\n } else if (!isFormData(options.body)) {\n headers['Content-Type'] = 'application/json';\n }\n }\n\n return new Headers(headers);\n};\n\nexport const getRequestBody = (options: ApiRequestOptions): any => {\n if (options.body !== undefined) {\n if (options.mediaType?.includes('/json')) {\n return JSON.stringify(options.body)\n } else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return undefined;\n};\n\nexport const sendRequest = async (\n config: OpenAPIConfig,\n options: ApiRequestOptions,\n url: string,\n body: any,\n formData: FormData | undefined,\n headers: Headers,\n onCancel: OnCancel\n): Promise<Response> => {\n const controller = new AbortController();\n\n const request: RequestInit = {\n headers,\n body: body ?? formData,\n method: options.method,\n signal: controller.signal,\n };\n\n if (config.WITH_CREDENTIALS) {\n request.credentials = config.CREDENTIALS;\n }\n\n onCancel(() => controller.abort());\n\n return await fetch(url, request);\n};\n\nexport const getResponseHeader = (response: Response, responseHeader?: string): string | undefined => {\n if (responseHeader) {\n const content = response.headers.get(responseHeader);\n if (isString(content)) {\n return content;\n }\n }\n return undefined;\n};\n\nexport const getResponseBody = async (response: Response): Promise<any> => {\n if (response.status !== 204) {\n try {\n const contentType = response.headers.get('Content-Type');\n if (contentType) {\n const jsonTypes = ['application/json', 'application/problem+json']\n const isJSON = jsonTypes.some(type => contentType.toLowerCase().startsWith(type));\n if (isJSON) {\n return await response.json();\n } else {\n return await response.text();\n }\n }\n } catch (error) {\n console.error(error);\n }\n }\n return undefined;\n};\n\nexport const catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => {\n const errors: Record<number, string> = {\n 400: 'Bad Request',\n 401: 'Unauthorized',\n 403: 'Forbidden',\n 404: 'Not Found',\n 500: 'Internal Server Error',\n 502: 'Bad Gateway',\n 503: 'Service Unavailable',\n ...options.errors,\n }\n\n const error = errors[result.status];\n if (error) {\n throw new ApiError(options, result, error);\n }\n\n if (!result.ok) {\n const errorStatus = result.status ?? 'unknown';\n const errorStatusText = result.statusText ?? 'unknown';\n const errorBody = (() => {\n try {\n return JSON.stringify(result.body, null, 2);\n } catch (e) {\n return undefined;\n }\n })();\n\n throw new ApiError(options, result,\n `Generic Error: status: ${errorStatus}; status text: ${errorStatusText}; body: ${errorBody}`\n );\n }\n};\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param options The request options from the service\n * @returns CancelablePromise<T>\n * @throws ApiError\n */\nexport const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise<T> => {\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n try {\n const url = getUrl(config, options);\n const formData = getFormData(options);\n const body = getRequestBody(options);\n const headers = await getHeaders(config, options);\n\n if (!onCancel.isCancelled) {\n const response = await sendRequest(config, options, url, body, formData, headers, onCancel);\n const responseBody = await getResponseBody(response);\n const responseHeader = getResponseHeader(response, options.responseHeader);\n\n const result: ApiResult = {\n url,\n ok: response.ok,\n status: response.status,\n statusText: response.statusText,\n body: responseHeader ?? responseBody,\n };\n\n catchErrorCodes(options, result);\n\n resolve(result.body);\n }\n } catch (error) {\n reject(error);\n }\n });\n};\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { Alert } from '../models/Alert';\nimport type { AlertAssignRequest } from '../models/AlertAssignRequest';\nimport type { AlertUpdateRequest } from '../models/AlertUpdateRequest';\nimport type { GenericSuccess } from '../models/GenericSuccess';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class AlertsService {\n /**\n * List alert notifications for the tenant.\n * @param limit\n * @param cursor\n * @param severity\n * @param status\n * @returns any Alerts returned.\n * @throws ApiError\n */\n public static getAlerts(\n limit?: number,\n cursor?: string,\n severity?: string,\n status?: 'unread' | 'read' | 'acknowledged' | 'snoozed',\n ): CancelablePromise<{\n alerts?: Array<Alert>;\n next_cursor?: string;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/alerts',\n query: {\n 'limit': limit,\n 'cursor': cursor,\n 'severity': severity,\n 'status': status,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Retrieve alert details.\n * @param alertId\n * @returns Alert Alert returned.\n * @throws ApiError\n */\n public static getAlert(\n alertId: string,\n ): CancelablePromise<Alert> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/alerts/{alertId}',\n path: {\n 'alertId': alertId,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Update alert status or acknowledgement metadata.\n * @param alertId\n * @param requestBody\n * @returns Alert Alert updated.\n * @throws ApiError\n */\n public static patchAlert(\n alertId: string,\n requestBody: AlertUpdateRequest,\n ): CancelablePromise<Alert> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/api/v1/alerts/{alertId}',\n path: {\n 'alertId': alertId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Assign an alert to a team member.\n * Assigns the specified alert to a team member for follow-up. Used by the alerts PWA for delegation workflows.\n * @param alertId\n * @param requestBody\n * @returns GenericSuccess Alert assigned successfully.\n * @throws ApiError\n */\n public static postAlertAssign(\n alertId: string,\n requestBody: AlertAssignRequest,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/alerts/{alertId}/assign',\n path: {\n 'alertId': alertId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { AnalysisRequest } from '../models/AnalysisRequest';\nimport type { AppConnectionRequest } from '../models/AppConnectionRequest';\nimport type { AppSummary } from '../models/AppSummary';\nimport type { AutoSyncConfigRequest } from '../models/AutoSyncConfigRequest';\nimport type { Competitor } from '../models/Competitor';\nimport type { CompetitorUpsertRequest } from '../models/CompetitorUpsertRequest';\nimport type { FeatureImpactEntry } from '../models/FeatureImpactEntry';\nimport type { GenericSuccess } from '../models/GenericSuccess';\nimport type { Insight } from '../models/Insight';\nimport type { SyncRequest } from '../models/SyncRequest';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class AppsService {\n /**\n * List apps connected to the current tenant.\n * @returns any Apps retrieved.\n * @throws ApiError\n */\n public static getApps(): CancelablePromise<{\n apps?: Array<AppSummary>;\n count?: number;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Connect a new app using stored credentials.\n * @param requestBody\n * @returns AppSummary App connected.\n * @throws ApiError\n */\n public static postAppsConnect(\n requestBody: AppConnectionRequest,\n ): CancelablePromise<AppSummary> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/apps',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Alias endpoint for connecting apps.\n * @param requestBody\n * @returns AppSummary App connected.\n * @throws ApiError\n */\n public static postAppsConnectAlias(\n requestBody: AppConnectionRequest,\n ): CancelablePromise<AppSummary> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/apps/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Trigger an on-demand review sync for a specific app.\n * @param requestBody\n * @returns GenericSuccess Sync job queued.\n * @throws ApiError\n */\n public static postAppsSync(\n requestBody: SyncRequest,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/apps/sync',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * Queue AI-powered analysis for an app.\n * @param requestBody\n * @returns any Analysis queued or cached result returned.\n * @throws ApiError\n */\n public static postAppsAnalyze(\n requestBody: AnalysisRequest,\n ): CancelablePromise<{\n success?: boolean;\n analysis_id?: string;\n status?: string;\n cached?: boolean;\n insights?: Insight;\n }> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/apps/analyze',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * Update automatic review sync settings.\n * @param appUuid\n * @param requestBody\n * @returns any Auto-sync settings updated.\n * @throws ApiError\n */\n public static patchAppAutoSync(\n appUuid: string,\n requestBody: AutoSyncConfigRequest,\n ): CancelablePromise<{\n app_uuid?: string;\n auto_sync_enabled?: boolean;\n frequency?: 'hourly' | 'daily' | 'weekly';\n }> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/api/v1/apps/{appUuid}/auto-sync',\n path: {\n 'appUuid': appUuid,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Enable or disable automatic review sync.\n * @param appUuid\n * @param requestBody\n * @returns any Auto-sync settings updated.\n * @throws ApiError\n */\n public static postAppAutoSync(\n appUuid: string,\n requestBody: AutoSyncConfigRequest,\n ): CancelablePromise<Record<string, any>> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/apps/{appUuid}/auto-sync',\n path: {\n 'appUuid': appUuid,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * List competitor apps registered for benchmarking.\n * @param appUuid\n * @returns any Competitors returned.\n * @throws ApiError\n */\n public static getCompetitors(\n appUuid: string,\n ): CancelablePromise<{\n competitors?: Array<Competitor>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{appUuid}/competitors',\n path: {\n 'appUuid': appUuid,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Register a competitor app.\n * @param appUuid\n * @param requestBody\n * @returns Competitor Competitor registered.\n * @throws ApiError\n */\n public static postCompetitor(\n appUuid: string,\n requestBody: CompetitorUpsertRequest,\n ): CancelablePromise<Competitor> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/apps/{appUuid}/competitors',\n path: {\n 'appUuid': appUuid,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Remove a competitor mapping.\n * @param appUuid\n * @param platform\n * @param externalAppId\n * @returns void\n * @throws ApiError\n */\n public static deleteCompetitor(\n appUuid: string,\n platform: string,\n externalAppId: string,\n ): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/api/v1/apps/{appUuid}/competitors/{platform}/{externalAppId}',\n path: {\n 'appUuid': appUuid,\n 'platform': platform,\n 'externalAppId': externalAppId,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Historical feature impact entries for an app release.\n * @param appUuid\n * @param limit\n * @param cursor\n * @returns any Feature history returned.\n * @throws ApiError\n */\n public static getFeatureHistory(\n appUuid: string,\n limit?: number,\n cursor?: string,\n ): CancelablePromise<{\n entries?: Array<FeatureImpactEntry>;\n next_cursor?: string;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{appUuid}/features/history',\n path: {\n 'appUuid': appUuid,\n },\n query: {\n 'limit': limit,\n 'cursor': cursor,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { AuthLoginRequest } from '../models/AuthLoginRequest';\nimport type { AuthRegisterRequest } from '../models/AuthRegisterRequest';\nimport type { AuthTokenPair } from '../models/AuthTokenPair';\nimport type { EmailRequest } from '../models/EmailRequest';\nimport type { GenericSuccess } from '../models/GenericSuccess';\nimport type { ResetPasswordRequest } from '../models/ResetPasswordRequest';\nimport type { SsoRequest } from '../models/SsoRequest';\nimport type { TokenRequest } from '../models/TokenRequest';\nimport type { UserSummary } from '../models/UserSummary';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class AuthService {\n /**\n * Register a new workspace owner.\n * @param requestBody\n * @returns GenericSuccess Registration accepted.\n * @throws ApiError\n */\n public static postRegister(\n requestBody: AuthRegisterRequest,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/auth/register',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 409: `Resource already exists or is in conflict.`,\n },\n });\n }\n /**\n * Confirm email verification token.\n * @param requestBody\n * @returns GenericSuccess Email verified.\n * @throws ApiError\n */\n public static postVerifyEmail(\n requestBody: TokenRequest,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/auth/verify-email',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 410: `Token expired or resource no longer available.`,\n },\n });\n }\n /**\n * Trigger a new verification email.\n * @param requestBody\n * @returns GenericSuccess Verification email queued.\n * @throws ApiError\n */\n public static postResendVerification(\n requestBody: EmailRequest,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/auth/resend-verification',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n },\n });\n }\n /**\n * Request a password reset email.\n * @param requestBody\n * @returns GenericSuccess Reset email dispatched.\n * @throws ApiError\n */\n public static postForgotPassword(\n requestBody: EmailRequest,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/auth/forgot-password',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n },\n });\n }\n /**\n * Reset password with a valid token.\n * @param requestBody\n * @returns GenericSuccess Password updated.\n * @throws ApiError\n */\n public static postResetPassword(\n requestBody: ResetPasswordRequest,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/auth/reset-password',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 410: `Token expired or resource no longer available.`,\n },\n });\n }\n /**\n * Authenticate via email and password.\n * @param requestBody\n * @returns any Login successful.\n * @throws ApiError\n */\n public static postLogin(\n requestBody: AuthLoginRequest,\n ): CancelablePromise<{\n success?: boolean;\n user?: UserSummary;\n tokens?: AuthTokenPair;\n }> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/auth/login',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * Complete Google Workspace SSO exchange.\n * @param requestBody\n * @returns any Google SSO successful.\n * @throws ApiError\n */\n public static postGoogleSso(\n requestBody: SsoRequest,\n ): CancelablePromise<{\n success?: boolean;\n user?: UserSummary;\n tokens?: AuthTokenPair;\n }> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/auth/google/sso',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * Complete Microsoft Entra ID SSO exchange.\n * @param requestBody\n * @returns any Microsoft SSO successful.\n * @throws ApiError\n */\n public static postMicrosoftSso(\n requestBody: SsoRequest,\n ): CancelablePromise<{\n success?: boolean;\n user?: UserSummary;\n tokens?: AuthTokenPair;\n }> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/auth/microsoft/sso',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { BillingCheckoutRequest } from '../models/BillingCheckoutRequest';\nimport type { Invoice } from '../models/Invoice';\nimport type { PaymentMethodRequest } from '../models/PaymentMethodRequest';\nimport type { RegionalPricingRequest } from '../models/RegionalPricingRequest';\nimport type { RegionalPricingResponse } from '../models/RegionalPricingResponse';\nimport type { Subscription } from '../models/Subscription';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class BillingService {\n /**\n * Create a Stripe Checkout session.\n * @param requestBody\n * @returns any Checkout session created.\n * @throws ApiError\n */\n public static postBillingCheckout(\n requestBody: BillingCheckoutRequest,\n ): CancelablePromise<{\n session_id?: string;\n url?: string;\n }> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/billing/checkout',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Retrieve current subscription details.\n * @returns Subscription Subscription returned.\n * @throws ApiError\n */\n public static getSubscription(): CancelablePromise<Subscription> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/billing/subscription',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Retrieve per-integration subscription details.\n * @returns any Per-integration subscription returned.\n * @throws ApiError\n */\n public static getSubscriptionV2(): CancelablePromise<{\n subscription?: {\n subscription_id?: string;\n tenant_id?: string;\n status?: string;\n pricing_model?: string;\n billing_cycle?: 'monthly' | 'annual';\n integration_count?: number;\n member_count?: number;\n integration_subtotal?: number;\n member_subtotal?: number;\n monthly_cost?: number;\n annual_discount_applied?: number | null;\n effective_monthly_rate?: number;\n active_integrations?: Array<Record<string, any>>;\n stripe_customer_id?: string;\n stripe_subscription_id?: string;\n };\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/billing/subscription-v2',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Cancel the active subscription at period end.\n * @returns Subscription Subscription cancellation scheduled.\n * @throws ApiError\n */\n public static postCancelSubscription(): CancelablePromise<Subscription> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/billing/cancel-subscription',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Reactivate a cancelled subscription.\n * @returns Subscription Subscription reactivated.\n * @throws ApiError\n */\n public static postReactivateSubscription(): CancelablePromise<Subscription> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/billing/reactivate-subscription',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Attach or update a default payment method.\n * @param requestBody\n * @returns Subscription Payment method updated.\n * @throws ApiError\n */\n public static postPaymentMethod(\n requestBody: PaymentMethodRequest,\n ): CancelablePromise<Subscription> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/billing/payment-method',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * List invoices for the tenant.\n * @param limit\n * @param cursor\n * @returns any Invoices returned.\n * @throws ApiError\n */\n public static getInvoices(\n limit?: number,\n cursor?: string,\n ): CancelablePromise<{\n invoices?: Array<Invoice>;\n next_cursor?: string;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/billing/invoices',\n query: {\n 'limit': limit,\n 'cursor': cursor,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Stripe webhook endpoint.\n * @param requestBody\n * @returns any Event processed.\n * @throws ApiError\n */\n public static postBillingWebhook(\n requestBody: Record<string, any>,\n ): CancelablePromise<any> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/billing/webhooks',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Calculate per-integration pricing totals.\n * @param requestBody\n * @returns any Pricing calculated.\n * @throws ApiError\n */\n public static postCalculatePricing(\n requestBody: {\n integration_count?: number;\n member_count?: number;\n billing_cycle?: 'monthly' | 'annual';\n },\n ): CancelablePromise<{\n calculation?: Record<string, any>;\n breakdown?: Record<string, any>;\n }> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/billing/calculate-pricing',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n },\n });\n }\n /**\n * Create per-integration subscription.\n * @param requestBody\n * @returns any Subscription created.\n * @throws ApiError\n */\n public static postCreateSubscriptionV2(\n requestBody: {\n payment_method_id?: string;\n integration_ids?: Array<string>;\n integration_count?: number;\n member_count?: number;\n billing_cycle?: 'monthly' | 'annual';\n },\n ): CancelablePromise<{\n subscription_id?: string;\n status?: string;\n }> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/billing/create-subscription-v2',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 402: `Request validation failed.`,\n },\n });\n }\n /**\n * Update per-integration subscription quantities.\n * @param requestBody\n * @returns any Subscription updated.\n * @throws ApiError\n */\n public static postUpdateSubscriptionV2(\n requestBody: {\n integration_count?: number;\n member_count?: number;\n billing_cycle?: 'monthly' | 'annual';\n },\n ): CancelablePromise<{\n subscription_id?: string;\n status?: string;\n }> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/billing/update-subscription-v2',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 402: `Request validation failed.`,\n },\n });\n }\n /**\n * Migrate legacy subscriptions to per-integration pricing.\n * @param requestBody\n * @returns any Migration initiated.\n * @throws ApiError\n */\n public static postMigrateSubscription(\n requestBody?: {\n billing_cycle?: 'monthly' | 'annual';\n member_count?: number;\n },\n ): CancelablePromise<{\n migration?: Record<string, any>;\n }> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/billing/migrate-subscription',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 402: `Request validation failed.`,\n },\n });\n }\n /**\n * Calculate regional pricing based on country.\n * Returns pricing information adjusted for purchasing power parity (PPP) based on the provided country code. Discounts range from 0% (US/UK/EU) to 60% for developing economies.\n * @param requestBody\n * @returns any Regional pricing calculated.\n * @throws ApiError\n */\n public static postRegionalPricing(\n requestBody: RegionalPricingRequest,\n ): CancelablePromise<{\n regional_pricing?: RegionalPricingResponse;\n }> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/billing/regional-pricing',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Detect user's country from IP address.\n * Detects the user's country based on their IP address for display purposes. Note: Final pricing is always determined by card country, not IP location.\n * @returns any Country detected successfully.\n * @throws ApiError\n */\n public static getDetectCountry(): CancelablePromise<{\n /**\n * ISO 3166-1 alpha-2 country code\n */\n detected_country?: string;\n pricing_info?: {\n /**\n * Pricing tier based on PPP\n */\n tier?: 'FULL' | 'TIER20' | 'TIER40' | 'TIER60';\n /**\n * Discount rate (0.0 to 0.6)\n */\n discount_rate?: number;\n /**\n * Preferred currency for this region\n */\n currency?: string;\n };\n note?: string;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/billing/detect-country',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Get usage dashboard data.\n * Returns comprehensive usage data for the current billing period including apps, members, syncs, and cost projections.\n * @returns any Usage dashboard data returned.\n * @throws ApiError\n */\n public static getUsageDashboard(): CancelablePromise<{\n billing_period?: {\n start?: string;\n end?: string;\n days_remaining?: number;\n };\n apps?: {\n used?: number;\n limit?: number;\n };\n members?: {\n used?: number;\n limit?: number;\n };\n syncs?: {\n used?: number;\n limit?: number;\n };\n current_cost?: number;\n projected_cost?: number;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/billing/usage-dashboard',\n errors: {\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Get bill forecast data.\n * Returns projected billing amounts over a specified horizon (7d, 30d, or 90d) with confidence intervals.\n * @param horizon Forecast horizon\n * @returns any Bill forecast returned.\n * @throws ApiError\n */\n public static getBillForecast(\n horizon: '7d' | '30d' | '90d' = '30d',\n ): CancelablePromise<{\n points?: Array<{\n date?: string;\n amount?: number;\n confidence_lower?: number;\n confidence_upper?: number;\n }>;\n current_monthly?: number;\n projected_monthly?: number;\n change_amount?: number;\n change_percent?: number;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/billing/bill-forecast',\n query: {\n 'horizon': horizon,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Get pricing information.\n * Returns the current pricing model and rates.\n * @returns any Pricing information returned.\n * @throws ApiError\n */\n public static getPricing(): CancelablePromise<{\n pricing?: {\n model?: string;\n app_price?: number;\n additional_member_price?: number;\n included_members_per_app?: number;\n included_ai_analyses_per_app?: number;\n ai_overage_rate?: number;\n annual_discount?: number;\n trial_days?: number;\n };\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/billing/pricing',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { AppSummary } from '../models/AppSummary';\nimport type { Credential } from '../models/Credential';\nimport type { CredentialRequest } from '../models/CredentialRequest';\nimport type { CredentialValidateRequest } from '../models/CredentialValidateRequest';\nimport type { GenericSuccess } from '../models/GenericSuccess';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class CredentialsService {\n /**\n * List stored credentials for the tenant.\n * @returns any Credentials returned.\n * @throws ApiError\n */\n public static getCredentials(): CancelablePromise<{\n credentials?: Array<Credential>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/credentials',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Store a new credential set.\n * @param requestBody\n * @returns Credential Credential stored.\n * @throws ApiError\n */\n public static postCredential(\n requestBody: CredentialRequest,\n ): CancelablePromise<Credential> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/credentials',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Retrieve credential details by ID.\n * @param credentialId\n * @returns Credential Credential returned.\n * @throws ApiError\n */\n public static getCredential(\n credentialId: string,\n ): CancelablePromise<Credential> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/credentials/{credentialId}',\n path: {\n 'credentialId': credentialId,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Update an existing credential.\n * @param credentialId\n * @param requestBody\n * @returns Credential Credential updated.\n * @throws ApiError\n */\n public static putCredential(\n credentialId: string,\n requestBody: CredentialRequest,\n ): CancelablePromise<Credential> {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/api/v1/credentials/{credentialId}',\n path: {\n 'credentialId': credentialId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Delete a credential.\n * @param credentialId\n * @returns void\n * @throws ApiError\n */\n public static deleteCredential(\n credentialId: string,\n ): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/api/v1/credentials/{credentialId}',\n path: {\n 'credentialId': credentialId,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * List apps linked to a credential.\n * @param credentialId\n * @returns any Linked apps returned.\n * @throws ApiError\n */\n public static getCredentialApps(\n credentialId: string,\n ): CancelablePromise<{\n apps?: Array<AppSummary>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/credentials/{credentialId}/apps',\n path: {\n 'credentialId': credentialId,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Validate credential authenticity with source systems.\n * @param requestBody\n * @returns GenericSuccess Validation outcome.\n * @throws ApiError\n */\n public static postCredentialValidate(\n requestBody: CredentialValidateRequest,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/credentials/validate',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class HealthService {\n /**\n * Check API availability.\n * @returns any API is reachable.\n * @throws ApiError\n */\n public static getHealth(): CancelablePromise<{\n status?: string;\n timestamp?: string;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/health',\n errors: {\n 500: `Unexpected server error.`,\n },\n });\n }\n /**\n * Root health probe.\n * @returns any API is reachable.\n * @throws ApiError\n */\n public static getRoot(): CancelablePromise<Record<string, any>> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/',\n errors: {\n 500: `Unexpected server error.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { AnalysisRequest } from '../models/AnalysisRequest';\nimport type { FeatureImpactEntry } from '../models/FeatureImpactEntry';\nimport type { Insight } from '../models/Insight';\nimport type { ReplyAnalytics } from '../models/ReplyAnalytics';\nimport type { Review } from '../models/Review';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class InsightsService {\n /**\n * Queue AI-powered analysis for an app.\n * @param requestBody\n * @returns any Analysis queued or cached result returned.\n * @throws ApiError\n */\n public static postAppsAnalyze(\n requestBody: AnalysisRequest,\n ): CancelablePromise<{\n success?: boolean;\n analysis_id?: string;\n status?: string;\n cached?: boolean;\n insights?: Insight;\n }> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/apps/analyze',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * Aggregate reply performance metrics for an app.\n * @param appUuid\n * @returns ReplyAnalytics Reply analytics returned.\n * @throws ApiError\n */\n public static getReplyAnalytics(\n appUuid: string,\n ): CancelablePromise<ReplyAnalytics> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{appUuid}/replies/analytics',\n path: {\n 'appUuid': appUuid,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Retrieve the latest insight bundle for an app.\n * @param appUuid\n * @returns Insight Insight bundle retrieved.\n * @throws ApiError\n */\n public static getAppInsights(\n appUuid: string,\n ): CancelablePromise<Insight> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{appUuid}/insights',\n path: {\n 'appUuid': appUuid,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Historical insight summaries for an app.\n * @param appUuid\n * @param limit\n * @param cursor\n * @returns any Insight history returned.\n * @throws ApiError\n */\n public static getAppInsightHistory(\n appUuid: string,\n limit?: number,\n cursor?: string,\n ): CancelablePromise<{\n items?: Array<Insight>;\n next_cursor?: string;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{appUuid}/insights/history',\n path: {\n 'appUuid': appUuid,\n },\n query: {\n 'limit': limit,\n 'cursor': cursor,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Historical feature impact entries for an app release.\n * @param appUuid\n * @param limit\n * @param cursor\n * @returns any Feature history returned.\n * @throws ApiError\n */\n public static getFeatureHistory(\n appUuid: string,\n limit?: number,\n cursor?: string,\n ): CancelablePromise<{\n entries?: Array<FeatureImpactEntry>;\n next_cursor?: string;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{appUuid}/features/history',\n path: {\n 'appUuid': appUuid,\n },\n query: {\n 'limit': limit,\n 'cursor': cursor,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Tenant-level feed of insight highlights.\n * @param limit\n * @param cursor\n * @returns any Insights returned.\n * @throws ApiError\n */\n public static getTenantInsights(\n limit?: number,\n cursor?: string,\n ): CancelablePromise<{\n items?: Array<Insight>;\n next_cursor?: string;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/insights',\n query: {\n 'limit': limit,\n 'cursor': cursor,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * List reviewer segments for an app.\n * @param appUuid App UUID assigned by Tritonium.\n * @param segmentType\n * @param sort\n * @param limit\n * @returns any Segments returned.\n * @throws ApiError\n */\n public static getAppSegments(\n appUuid: string,\n segmentType?: string,\n sort?: 'score' | 'review_count' | 'sentiment',\n limit?: number,\n ): CancelablePromise<{\n segments?: Array<Record<string, any>>;\n summary?: Record<string, any>;\n metadata?: Record<string, any>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{app_uuid}/segments',\n path: {\n 'app_uuid': appUuid,\n },\n query: {\n 'segment_type': segmentType,\n 'sort': sort,\n 'limit': limit,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * Retrieve reviews tied to a specific segment.\n * @param appUuid App UUID assigned by Tritonium.\n * @param segmentType\n * @returns any Reviews returned.\n * @throws ApiError\n */\n public static getSegmentReviews(\n appUuid: string,\n segmentType: string,\n ): CancelablePromise<{\n reviews?: Array<Review>;\n metadata?: Record<string, any>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{app_uuid}/segments/{segment_type}/reviews',\n path: {\n 'app_uuid': appUuid,\n 'segment_type': segmentType,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * List reviews with viral engagement.\n * @param appUuid App UUID assigned by Tritonium.\n * @param lookbackHours\n * @param minEngagement\n * @param sentiment\n * @returns any Viral review payload.\n * @throws ApiError\n */\n public static getViralReviews(\n appUuid: string,\n lookbackHours: number = 48,\n minEngagement: number = 50,\n sentiment?: 'all' | 'positive' | 'negative' | 'neutral',\n ): CancelablePromise<{\n viral_reviews?: Array<Review>;\n summary?: Record<string, any>;\n metadata?: Record<string, any>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{app_uuid}/reviews/viral',\n path: {\n 'app_uuid': appUuid,\n },\n query: {\n 'lookback_hours': lookbackHours,\n 'min_engagement': minEngagement,\n 'sentiment': sentiment,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * Retrieve engagement history for a review.\n * @param reviewId\n * @param appUuid\n * @returns any History returned.\n * @throws ApiError\n */\n public static getReviewEngagementHistory(\n reviewId: string,\n appUuid: string,\n ): CancelablePromise<{\n history?: Array<Record<string, any>>;\n metadata?: Record<string, any>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/reviews/{review_id}/engagement/history',\n path: {\n 'review_id': reviewId,\n },\n query: {\n 'app_uuid': appUuid,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * List reply template performance metrics.\n * @param days\n * @param templateId\n * @returns any Template analytics returned.\n * @throws ApiError\n */\n public static getTemplatePerformance(\n days: number = 90,\n templateId?: string,\n ): CancelablePromise<Record<string, any>> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/reply-templates/performance',\n query: {\n 'days': days,\n 'template_id': templateId,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * Alias for template performance listing.\n * @returns any Template analytics returned.\n * @throws ApiError\n */\n public static getTemplateComparison(): CancelablePromise<Record<string, any>> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/reply-templates/comparison',\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { GenericSuccess } from '../models/GenericSuccess';\nimport type { Integration } from '../models/Integration';\nimport type { IntegrationConnectRequest } from '../models/IntegrationConnectRequest';\nimport type { IntegrationTestRequest } from '../models/IntegrationTestRequest';\nimport type { OAuthCallbackRequest } from '../models/OAuthCallbackRequest';\nimport type { SlackChannel } from '../models/SlackChannel';\nimport type { SlackChannelUpdateRequest } from '../models/SlackChannelUpdateRequest';\nimport type { SmsConnectRequest } from '../models/SmsConnectRequest';\nimport type { WebhookConnectRequest } from '../models/WebhookConnectRequest';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class IntegrationsService {\n /**\n * List configured integrations.\n * @returns any Integrations returned.\n * @throws ApiError\n */\n public static getIntegrations(): CancelablePromise<{\n integrations?: Array<Integration>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/integrations',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Retrieve integration configuration.\n * @param integrationId\n * @returns Integration Integration returned.\n * @throws ApiError\n */\n public static getIntegration(\n integrationId: string,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/integrations/{integrationId}',\n path: {\n 'integrationId': integrationId,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Update mutable integration metadata.\n * @param integrationId\n * @param requestBody\n * @returns Integration Integration updated.\n * @throws ApiError\n */\n public static patchIntegration(\n integrationId: string,\n requestBody: Record<string, any>,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/api/v1/integrations/{integrationId}',\n path: {\n 'integrationId': integrationId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Delete an integration configuration.\n * @param integrationId\n * @returns void\n * @throws ApiError\n */\n public static deleteIntegration(\n integrationId: string,\n ): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/api/v1/integrations/{integrationId}',\n path: {\n 'integrationId': integrationId,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Send a test payload for an integration.\n * @param integrationId\n * @param requestBody\n * @returns GenericSuccess Test executed.\n * @throws ApiError\n */\n public static postIntegrationTest(\n integrationId: string,\n requestBody: IntegrationTestRequest,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/{integrationId}/test',\n path: {\n 'integrationId': integrationId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Start Jira OAuth connection.\n * @param requestBody\n * @returns Integration Authorization URL or status returned.\n * @throws ApiError\n */\n public static postJiraConnect(\n requestBody: IntegrationConnectRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/jira/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Complete Jira OAuth exchange.\n * @param state\n * @param code\n * @returns Integration Jira integration connected.\n * @throws ApiError\n */\n public static getJiraCallback(\n state?: string,\n code?: string,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/integrations/jira/callback',\n query: {\n 'state': state,\n 'code': code,\n },\n errors: {\n 400: `Request validation failed.`,\n },\n });\n }\n /**\n * Push an incident update to Jira.\n * @param requestBody\n * @returns GenericSuccess Issue created or updated.\n * @throws ApiError\n */\n public static postJiraIncident(\n requestBody: Record<string, any>,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/jira/post',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Connect Linear workspace.\n * @param requestBody\n * @returns Integration Linear integration configured.\n * @throws ApiError\n */\n public static postLinearConnect(\n requestBody: IntegrationConnectRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/linear/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Connect Discord notifications.\n * @param requestBody\n * @returns Integration Discord integration configured.\n * @throws ApiError\n */\n public static postDiscordConnect(\n requestBody: WebhookConnectRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/discord/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Connect Microsoft Teams notifications.\n * @param requestBody\n * @returns Integration Teams integration configured.\n * @throws ApiError\n */\n public static postTeamsConnect(\n requestBody: WebhookConnectRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/teams/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Start Help Scout OAuth flow.\n * @param requestBody\n * @returns GenericSuccess Authorization URL generated.\n * @throws ApiError\n */\n public static postHelpScoutStart(\n requestBody?: IntegrationConnectRequest,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/helpscout/start',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Complete Help Scout OAuth exchange.\n * @param requestBody\n * @returns Integration Help Scout integration connected.\n * @throws ApiError\n */\n public static postHelpScoutConnect(\n requestBody: OAuthCallbackRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/helpscout/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Start Salesforce OAuth flow.\n * @param requestBody\n * @returns GenericSuccess Authorization URL generated.\n * @throws ApiError\n */\n public static postSalesforceStart(\n requestBody?: IntegrationConnectRequest,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/salesforce/start',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Complete Salesforce OAuth exchange.\n * @param requestBody\n * @returns Integration Salesforce integration connected.\n * @throws ApiError\n */\n public static postSalesforceConnect(\n requestBody: OAuthCallbackRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/salesforce/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Start Zendesk OAuth flow.\n * @param requestBody\n * @returns GenericSuccess Authorization URL generated.\n * @throws ApiError\n */\n public static postZendeskStart(\n requestBody?: IntegrationConnectRequest,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/zendesk/start',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Complete Zendesk OAuth exchange.\n * @param requestBody\n * @returns Integration Zendesk integration connected.\n * @throws ApiError\n */\n public static postZendeskConnect(\n requestBody: OAuthCallbackRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/zendesk/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Connect Asana workspace.\n * @param requestBody\n * @returns Integration Asana integration connected.\n * @throws ApiError\n */\n public static postAsanaConnect(\n requestBody: IntegrationConnectRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/asana/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Connect ClickUp workspace.\n * @param requestBody\n * @returns Integration ClickUp integration connected.\n * @throws ApiError\n */\n public static postClickUpConnect(\n requestBody: IntegrationConnectRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/clickup/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Connect Trello workspace.\n * @param requestBody\n * @returns Integration Trello integration connected.\n * @throws ApiError\n */\n public static postTrelloConnect(\n requestBody: IntegrationConnectRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/trello/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Save Zapier webhook destination.\n * @param requestBody\n * @returns Integration Zapier webhook registered.\n * @throws ApiError\n */\n public static postZapierConnect(\n requestBody: WebhookConnectRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/zapier/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Configure SMS delivery integration.\n * @param requestBody\n * @returns Integration SMS integration configured.\n * @throws ApiError\n */\n public static postSmsConnect(\n requestBody: SmsConnectRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/sms/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Connect GitLab project.\n * @param requestBody\n * @returns Integration GitLab integration connected.\n * @throws ApiError\n */\n public static postGitlabConnect(\n requestBody: IntegrationConnectRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/gitlab/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Start Slack OAuth flow.\n * @param redirectUri\n * @returns GenericSuccess Authorization URL generated.\n * @throws ApiError\n */\n public static getSlackConnect(\n redirectUri?: string,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/integrations/slack/connect',\n query: {\n 'redirect_uri': redirectUri,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Complete Slack OAuth exchange.\n * @param code\n * @param state\n * @returns Integration Slack workspace connected.\n * @throws ApiError\n */\n public static getSlackCallback(\n code?: string,\n state?: string,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/integrations/slack/callback',\n query: {\n 'code': code,\n 'state': state,\n },\n errors: {\n 400: `Request validation failed.`,\n },\n });\n }\n /**\n * Retrieve Slack integration status.\n * @returns Integration Slack status returned.\n * @throws ApiError\n */\n public static getSlackStatus(): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/integrations/slack/status',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * List Slack channels available to the app.\n * @returns any Channel listing returned.\n * @throws ApiError\n */\n public static getSlackChannels(): CancelablePromise<{\n channels?: Array<SlackChannel>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/integrations/slack/channels',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Save the default Slack channel for alerts.\n * @param requestBody\n * @returns Integration Channel saved.\n * @throws ApiError\n */\n public static postSlackChannel(\n requestBody: SlackChannelUpdateRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/slack/channel',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Send a test Slack notification.\n * @returns GenericSuccess Test notification sent.\n * @throws ApiError\n */\n public static postSlackTest(): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/slack/test',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Post a custom alert message to Slack.\n * @param requestBody\n * @returns GenericSuccess Message posted.\n * @throws ApiError\n */\n public static postSlackMessage(\n requestBody: {\n channel?: string;\n text: string;\n blocks?: Array<Record<string, any>>;\n },\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/slack/post',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Disconnect Slack workspace.\n * @returns GenericSuccess Slack integration disabled.\n * @throws ApiError\n */\n public static postSlackDisconnect(): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/slack/disconnect',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { InternalTaskRequest } from '../models/InternalTaskRequest';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class InternalService {\n /**\n * Health probe for scheduled trial reminder execution.\n * @returns any Automation healthy.\n * @throws ApiError\n */\n public static headTrialReminders(): CancelablePromise<any> {\n return __request(OpenAPI, {\n method: 'HEAD',\n url: '/api/v1/internal/run-trial-reminders',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Execute trial reminder workflow.\n * @returns any Workflow started.\n * @throws ApiError\n */\n public static postTrialReminders(): CancelablePromise<any> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/internal/run-trial-reminders',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Trigger nightly auto-sync job across apps.\n * @param requestBody\n * @returns any Job accepted.\n * @throws ApiError\n */\n public static postInternalAutoSync(\n requestBody?: InternalTaskRequest,\n ): CancelablePromise<any> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/internal/auto-sync',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Perform competitor metadata sync.\n * @param requestBody\n * @returns any Sync started.\n * @throws ApiError\n */\n public static postInternalCompetitorSync(\n requestBody?: InternalTaskRequest,\n ): CancelablePromise<any> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/internal/competitors/sync',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Aggregate metrics into dashboards.\n * @param requestBody\n * @returns any Aggregation started.\n * @throws ApiError\n */\n public static postInternalMetricsAggregate(\n requestBody?: InternalTaskRequest,\n ): CancelablePromise<any> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/internal/metrics/aggregate',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { FeatureImpactPredictionRequest } from '../models/FeatureImpactPredictionRequest';\nimport type { IssueSeverityPredictionRequest } from '../models/IssueSeverityPredictionRequest';\nimport type { PredictionResponse } from '../models/PredictionResponse';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class PredictionsService {\n /**\n * Retrieve rating forecasts for an app.\n * @param appUuid\n * @param horizonDays\n * @returns PredictionResponse Forecast returned.\n * @throws ApiError\n */\n public static getRatingForecast(\n appUuid: string,\n horizonDays?: number,\n ): CancelablePromise<PredictionResponse> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/predictions/rating-forecast',\n query: {\n 'app_uuid': appUuid,\n 'horizon_days': horizonDays,\n },\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Compute predicted driver impact for product features.\n * @param requestBody\n * @returns PredictionResponse Feature impact predicted.\n * @throws ApiError\n */\n public static postFeatureImpactPrediction(\n requestBody: FeatureImpactPredictionRequest,\n ): CancelablePromise<PredictionResponse> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/predictions/feature-impact',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 503: `Upstream model temporarily unavailable.`,\n },\n });\n }\n /**\n * Predict severity for issues detected in reviews.\n * @param requestBody\n * @returns PredictionResponse Severity predictions returned.\n * @throws ApiError\n */\n public static postIssueSeverityPrediction(\n requestBody: IssueSeverityPredictionRequest,\n ): CancelablePromise<PredictionResponse> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/predictions/issue-severity',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 503: `Upstream model temporarily unavailable.`,\n },\n });\n }\n /**\n * Retrieve AI analysis engine status.\n * Returns the status of the LLM-based analysis system (Claude via AWS Bedrock).\n * @returns any AI analysis engine status returned.\n * @throws ApiError\n */\n public static getModelStatus(): CancelablePromise<Record<string, any>> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/predictions/model-status',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { RatingsComparison } from '../models/RatingsComparison';\nimport type { RatingSnapshot } from '../models/RatingSnapshot';\nimport type { RatingSummary } from '../models/RatingSummary';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class RatingsService {\n /**\n * Historical rating snapshots for an app.\n * @param appUuid\n * @param limit\n * @param cursor\n * @param order\n * @param platform\n * @param startDate\n * @param endDate\n * @returns any Rating history returned.\n * @throws ApiError\n */\n public static getRatingsHistory(\n appUuid: string,\n limit?: number,\n cursor?: string,\n order?: 'asc' | 'desc',\n platform?: string,\n startDate?: string,\n endDate?: string,\n ): CancelablePromise<{\n snapshots?: Array<RatingSnapshot>;\n next_cursor?: string;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{appUuid}/ratings/history',\n path: {\n 'appUuid': appUuid,\n },\n query: {\n 'limit': limit,\n 'cursor': cursor,\n 'order': order,\n 'platform': platform,\n 'start_date': startDate,\n 'end_date': endDate,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Latest rating snapshot for an app.\n * @param appUuid\n * @param platform\n * @returns RatingSummary Rating summary returned.\n * @throws ApiError\n */\n public static getRatingsSummary(\n appUuid: string,\n platform?: string,\n ): CancelablePromise<RatingSummary> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{appUuid}/ratings/summary',\n path: {\n 'appUuid': appUuid,\n },\n query: {\n 'platform': platform,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Compare app ratings against competitors.\n * @param appUuid\n * @param platform\n * @returns RatingsComparison Comparison returned.\n * @throws ApiError\n */\n public static getRatingsComparison(\n appUuid: string,\n platform?: string,\n ): CancelablePromise<RatingsComparison> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{appUuid}/ratings/comparison',\n path: {\n 'appUuid': appUuid,\n },\n query: {\n 'platform': platform,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ReplyTemplate } from '../models/ReplyTemplate';\nimport type { ReplyTemplatePatchRequest } from '../models/ReplyTemplatePatchRequest';\nimport type { ReplyTemplateRequest } from '../models/ReplyTemplateRequest';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class ReplyTemplatesService {\n /**\n * List system and custom reply templates.\n * @returns any Templates returned.\n * @throws ApiError\n */\n public static getReplyTemplates(): CancelablePromise<{\n templates?: Array<ReplyTemplate>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/reply-templates',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Create a custom reply template.\n * @param requestBody\n * @returns ReplyTemplate Template created.\n * @throws ApiError\n */\n public static postReplyTemplate(\n requestBody: ReplyTemplateRequest,\n ): CancelablePromise<ReplyTemplate> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/reply-templates',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Replace a reply template.\n * @param templateId\n * @param requestBody\n * @returns ReplyTemplate Template updated.\n * @throws ApiError\n */\n public static putReplyTemplate(\n templateId: string,\n requestBody: ReplyTemplateRequest,\n ): CancelablePromise<ReplyTemplate> {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/api/v1/reply-templates/{templateId}',\n path: {\n 'templateId': templateId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Patch fields on a reply template.\n * @param templateId\n * @param requestBody\n * @returns ReplyTemplate Template updated.\n * @throws ApiError\n */\n public static patchReplyTemplate(\n templateId: string,\n requestBody: ReplyTemplatePatchRequest,\n ): CancelablePromise<ReplyTemplate> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/api/v1/reply-templates/{templateId}',\n path: {\n 'templateId': templateId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Remove a custom reply template.\n * @param templateId\n * @returns void\n * @throws ApiError\n */\n public static deleteReplyTemplate(\n templateId: string,\n ): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/api/v1/reply-templates/{templateId}',\n path: {\n 'templateId': templateId,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * List reply template performance metrics.\n * @param days\n * @param templateId\n * @returns any Template analytics returned.\n * @throws ApiError\n */\n public static getTemplatePerformance(\n days: number = 90,\n templateId?: string,\n ): CancelablePromise<Record<string, any>> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/reply-templates/performance',\n query: {\n 'days': days,\n 'template_id': templateId,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * Alias for template performance listing.\n * @returns any Template analytics returned.\n * @throws ApiError\n */\n public static getTemplateComparison(): CancelablePromise<Record<string, any>> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/reply-templates/comparison',\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ReplyAnalytics } from '../models/ReplyAnalytics';\nimport type { Review } from '../models/Review';\nimport type { ReviewReplyDraft } from '../models/ReviewReplyDraft';\nimport type { ReviewReplyGenerateRequest } from '../models/ReviewReplyGenerateRequest';\nimport type { ReviewReplyPostRequest } from '../models/ReviewReplyPostRequest';\nimport type { ReviewReplyStatus } from '../models/ReviewReplyStatus';\nimport type { ReviewSummary } from '../models/ReviewSummary';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class ReviewsService {\n /**\n * Paginated reviews for an app.\n * @param appUuid\n * @param limit\n * @param cursor\n * @param sentiment\n * @param platform\n * @returns any Reviews returned.\n * @throws ApiError\n */\n public static getAppReviews(\n appUuid: string,\n limit?: number,\n cursor?: string,\n sentiment?: string,\n platform?: string,\n ): CancelablePromise<{\n reviews?: Array<ReviewSummary>;\n next_cursor?: string;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{appUuid}/reviews',\n path: {\n 'appUuid': appUuid,\n },\n query: {\n 'limit': limit,\n 'cursor': cursor,\n 'sentiment': sentiment,\n 'platform': platform,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Retrieve stored reply metadata for a review.\n * @param appUuid\n * @param reviewId\n * @returns ReviewReplyStatus Reply status returned.\n * @throws ApiError\n */\n public static getReviewReply(\n appUuid: string,\n reviewId: string,\n ): CancelablePromise<ReviewReplyStatus> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{appUuid}/reviews/{reviewId}/reply',\n path: {\n 'appUuid': appUuid,\n 'reviewId': reviewId,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Generate an AI-generated reply draft for a review.\n * @param appUuid\n * @param reviewId\n * @param requestBody\n * @returns ReviewReplyDraft Draft generated.\n * @throws ApiError\n */\n public static postGenerateReviewReply(\n appUuid: string,\n reviewId: string,\n requestBody: ReviewReplyGenerateRequest,\n ): CancelablePromise<ReviewReplyDraft> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/apps/{appUuid}/reviews/{reviewId}/reply/generate',\n path: {\n 'appUuid': appUuid,\n 'reviewId': reviewId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Publish a reply back to the originating store.\n * @param appUuid\n * @param reviewId\n * @param requestBody\n * @returns ReviewReplyStatus Reply posted.\n * @throws ApiError\n */\n public static postReviewReply(\n appUuid: string,\n reviewId: string,\n requestBody: ReviewReplyPostRequest,\n ): CancelablePromise<ReviewReplyStatus> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/apps/{appUuid}/reviews/{reviewId}/reply/post',\n path: {\n 'appUuid': appUuid,\n 'reviewId': reviewId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Aggregate reply performance metrics for an app.\n * @param appUuid\n * @returns ReplyAnalytics Reply analytics returned.\n * @throws ApiError\n */\n public static getReplyAnalytics(\n appUuid: string,\n ): CancelablePromise<ReplyAnalytics> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{appUuid}/replies/analytics',\n path: {\n 'appUuid': appUuid,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Discover reviews across all connected apps.\n * @param limit\n * @param cursor\n * @param appUuid\n * @param sentiment\n * @returns any Reviews returned.\n * @throws ApiError\n */\n public static getTenantReviews(\n limit?: number,\n cursor?: string,\n appUuid?: string,\n sentiment?: string,\n ): CancelablePromise<{\n reviews?: Array<ReviewSummary>;\n next_cursor?: string;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/reviews',\n query: {\n 'limit': limit,\n 'cursor': cursor,\n 'app_uuid': appUuid,\n 'sentiment': sentiment,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Retrieve reviews tied to a specific segment.\n * @param appUuid App UUID assigned by Tritonium.\n * @param segmentType\n * @returns any Reviews returned.\n * @throws ApiError\n */\n public static getSegmentReviews(\n appUuid: string,\n segmentType: string,\n ): CancelablePromise<{\n reviews?: Array<Review>;\n metadata?: Record<string, any>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{app_uuid}/segments/{segment_type}/reviews',\n path: {\n 'app_uuid': appUuid,\n 'segment_type': segmentType,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * List reviews with viral engagement.\n * @param appUuid App UUID assigned by Tritonium.\n * @param lookbackHours\n * @param minEngagement\n * @param sentiment\n * @returns any Viral review payload.\n * @throws ApiError\n */\n public static getViralReviews(\n appUuid: string,\n lookbackHours: number = 48,\n minEngagement: number = 50,\n sentiment?: 'all' | 'positive' | 'negative' | 'neutral',\n ): CancelablePromise<{\n viral_reviews?: Array<Review>;\n summary?: Record<string, any>;\n metadata?: Record<string, any>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{app_uuid}/reviews/viral',\n path: {\n 'app_uuid': appUuid,\n },\n query: {\n 'lookback_hours': lookbackHours,\n 'min_engagement': minEngagement,\n 'sentiment': sentiment,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * Retrieve engagement history for a review.\n * @param reviewId\n * @param appUuid\n * @returns any History returned.\n * @throws ApiError\n */\n public static getReviewEngagementHistory(\n reviewId: string,\n appUuid: string,\n ): CancelablePromise<{\n history?: Array<Record<string, any>>;\n metadata?: Record<string, any>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/reviews/{review_id}/engagement/history',\n path: {\n 'review_id': reviewId,\n },\n query: {\n 'app_uuid': appUuid,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ProfileUpdateRequest } from '../models/ProfileUpdateRequest';\nimport type { UserSummary } from '../models/UserSummary';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class UsersService {\n /**\n * Retrieve the authenticated user's profile.\n * @returns UserSummary Profile details.\n * @throws ApiError\n */\n public static getMe(): CancelablePromise<UserSummary> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/me',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Update profile attributes for the active user.\n * @param requestBody\n * @returns UserSummary Profile updated.\n * @throws ApiError\n */\n public static patchProfile(\n requestBody: ProfileUpdateRequest,\n ): CancelablePromise<UserSummary> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/api/v1/profile',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n },\n });\n }\n /**\n * Mark onboarding tour completion for the signed-in user.\n * @param requestBody\n * @returns any User updated.\n * @throws ApiError\n */\n public static postUserOnboardingState(\n requestBody: {\n onboarding_tour_completed?: boolean;\n },\n ): CancelablePromise<{\n user?: UserSummary;\n }> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/users/me/onboarding',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Replace profile attributes for the active user.\n * @param requestBody\n * @returns UserSummary Profile updated.\n * @throws ApiError\n */\n public static putProfile(\n requestBody: ProfileUpdateRequest,\n ): CancelablePromise<UserSummary> {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/api/v1/users/me/onboarding',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../core/ApiError.ts","../core/CancelablePromise.ts","../core/OpenAPI.ts","../auth.ts","../webhooks.ts","../models/Alert.ts","../models/AlertUpdateRequest.ts","../models/AutoSyncConfigRequest.ts","../core/request.ts","../services/AlertsService.ts","../services/AppsService.ts","../services/AuthService.ts","../services/BillingService.ts","../services/CredentialsService.ts","../services/HealthService.ts","../services/InsightsService.ts","../services/IntegrationsService.ts","../services/InternalService.ts","../services/PredictionsService.ts","../services/RatingsService.ts","../services/ReplyTemplatesService.ts","../services/ReviewsService.ts","../services/UsersService.ts"],"names":["request","resolve","Alert","severity","status","AlertUpdateRequest","AutoSyncConfigRequest","frequency","headers"],"mappings":"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","file":"index.mjs","sourcesContent":["/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\n\nexport class ApiError extends Error {\n public readonly url: string;\n public readonly status: number;\n public readonly statusText: string;\n public readonly body: any;\n public readonly request: ApiRequestOptions;\n\n constructor(request: ApiRequestOptions, response: ApiResult, message: string) {\n super(message);\n\n this.name = 'ApiError';\n this.url = response.url;\n this.status = response.status;\n this.statusText = response.statusText;\n this.body = response.body;\n this.request = request;\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nexport class CancelError extends Error {\n\n constructor(message: string) {\n super(message);\n this.name = 'CancelError';\n }\n\n public get isCancelled(): boolean {\n return true;\n }\n}\n\nexport interface OnCancel {\n readonly isResolved: boolean;\n readonly isRejected: boolean;\n readonly isCancelled: boolean;\n\n (cancelHandler: () => void): void;\n}\n\nexport class CancelablePromise<T> implements Promise<T> {\n #isResolved: boolean;\n #isRejected: boolean;\n #isCancelled: boolean;\n readonly #cancelHandlers: (() => void)[];\n readonly #promise: Promise<T>;\n #resolve?: (value: T | PromiseLike<T>) => void;\n #reject?: (reason?: any) => void;\n\n constructor(\n executor: (\n resolve: (value: T | PromiseLike<T>) => void,\n reject: (reason?: any) => void,\n onCancel: OnCancel\n ) => void\n ) {\n this.#isResolved = false;\n this.#isRejected = false;\n this.#isCancelled = false;\n this.#cancelHandlers = [];\n this.#promise = new Promise<T>((resolve, reject) => {\n this.#resolve = resolve;\n this.#reject = reject;\n\n const onResolve = (value: T | PromiseLike<T>): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isResolved = true;\n if (this.#resolve) this.#resolve(value);\n };\n\n const onReject = (reason?: any): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isRejected = true;\n if (this.#reject) this.#reject(reason);\n };\n\n const onCancel = (cancelHandler: () => void): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#cancelHandlers.push(cancelHandler);\n };\n\n Object.defineProperty(onCancel, 'isResolved', {\n get: (): boolean => this.#isResolved,\n });\n\n Object.defineProperty(onCancel, 'isRejected', {\n get: (): boolean => this.#isRejected,\n });\n\n Object.defineProperty(onCancel, 'isCancelled', {\n get: (): boolean => this.#isCancelled,\n });\n\n return executor(onResolve, onReject, onCancel as OnCancel);\n });\n }\n\n get [Symbol.toStringTag]() {\n return \"Cancellable Promise\";\n }\n\n public then<TResult1 = T, TResult2 = never>(\n onFulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null,\n onRejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null\n ): Promise<TResult1 | TResult2> {\n return this.#promise.then(onFulfilled, onRejected);\n }\n\n public catch<TResult = never>(\n onRejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null\n ): Promise<T | TResult> {\n return this.#promise.catch(onRejected);\n }\n\n public finally(onFinally?: (() => void) | null): Promise<T> {\n return this.#promise.finally(onFinally);\n }\n\n public cancel(): void {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isCancelled = true;\n if (this.#cancelHandlers.length) {\n try {\n for (const cancelHandler of this.#cancelHandlers) {\n cancelHandler();\n }\n } catch (error) {\n console.warn('Cancellation threw an error', error);\n return;\n }\n }\n this.#cancelHandlers.length = 0;\n if (this.#reject) this.#reject(new CancelError('Request aborted'));\n }\n\n public get isCancelled(): boolean {\n return this.#isCancelled;\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n \nimport type { ApiRequestOptions } from './ApiRequestOptions';\n\ntype Resolver<T> = (options: ApiRequestOptions) => Promise<T>;\ntype Headers = Record<string, string>;\n\nexport type OpenAPIConfig = {\n BASE: string;\n VERSION: string;\n WITH_CREDENTIALS: boolean;\n CREDENTIALS: 'include' | 'omit' | 'same-origin';\n TOKEN?: string | Resolver<string> | undefined;\n USERNAME?: string | Resolver<string> | undefined;\n PASSWORD?: string | Resolver<string> | undefined;\n HEADERS?: Headers | Resolver<Headers> | undefined;\n ENCODE_PATH?: ((path: string) => string) | undefined;\n};\n\nexport const OpenAPI: OpenAPIConfig = {\n BASE: 'https://api.tritonium.com',\n VERSION: '1.0.0',\n WITH_CREDENTIALS: false,\n CREDENTIALS: 'include',\n TOKEN: undefined,\n USERNAME: undefined,\n PASSWORD: undefined,\n HEADERS: undefined,\n ENCODE_PATH: undefined,\n};\n","/**\n * Authentication helpers for the Tritonium API.\n *\n * This module provides utilities for API key authentication and token management.\n *\n * @example\n * ```typescript\n * import { configureApiKey, configureBearerToken } from './auth';\n *\n * // Using API key\n * configureApiKey('trtn_live_your_key_here');\n *\n * // Using Bearer token\n * configureBearerToken('your_jwt_token');\n * ```\n */\n\nimport { OpenAPI } from './core/OpenAPI';\n\n/**\n * Configure the SDK to use API key authentication.\n *\n * @param apiKey - Your Tritonium API key (starts with trtn_live_ or trtn_test_)\n * @param baseUrl - Optional custom base URL (defaults to production)\n *\n * @example\n * ```typescript\n * import { configureApiKey } from '@tritonium/api-client/auth';\n * import { AppsService } from '@tritonium/api-client';\n *\n * configureApiKey('trtn_live_abc123...');\n *\n * const apps = await AppsService.getApps();\n * ```\n */\nexport function configureApiKey(\n apiKey: string,\n baseUrl: string = 'https://api.tritonium.com'\n): void {\n OpenAPI.BASE = baseUrl;\n const existingHeaders = typeof OpenAPI.HEADERS === 'object' && OpenAPI.HEADERS !== null ? OpenAPI.HEADERS : {};\n OpenAPI.HEADERS = {\n ...existingHeaders,\n 'X-API-Key': apiKey,\n };\n // Remove Bearer token if switching to API key\n if (OpenAPI.TOKEN) {\n OpenAPI.TOKEN = undefined;\n }\n}\n\n/**\n * Configure the SDK to use Bearer token authentication.\n *\n * @param token - Your Cognito JWT access token\n * @param baseUrl - Optional custom base URL (defaults to production)\n *\n * @example\n * ```typescript\n * import { configureBearerToken } from '@tritonium/api-client/auth';\n * import { AppsService } from '@tritonium/api-client';\n *\n * configureBearerToken('eyJhbGciOiJSUzI1NiIs...');\n *\n * const apps = await AppsService.getApps();\n * ```\n */\nexport function configureBearerToken(\n token: string,\n baseUrl: string = 'https://api.tritonium.com'\n): void {\n OpenAPI.BASE = baseUrl;\n OpenAPI.TOKEN = token;\n // Remove API key header if switching to Bearer\n if (OpenAPI.HEADERS && 'X-API-Key' in OpenAPI.HEADERS) {\n const { 'X-API-Key': _, ...rest } = OpenAPI.HEADERS;\n OpenAPI.HEADERS = rest;\n }\n}\n\n/**\n * Configure the SDK with custom settings.\n *\n * @param config - Configuration options\n *\n * @example\n * ```typescript\n * import { configure } from '@tritonium/api-client/auth';\n *\n * configure({\n * apiKey: 'trtn_live_abc123...',\n * baseUrl: 'https://staging-api.tritonium.com',\n * headers: { 'X-Custom-Header': 'value' },\n * });\n * ```\n */\nexport function configure(config: {\n apiKey?: string;\n token?: string;\n baseUrl?: string;\n headers?: Record<string, string>;\n}): void {\n if (config.baseUrl) {\n OpenAPI.BASE = config.baseUrl;\n }\n\n if (config.apiKey) {\n OpenAPI.HEADERS = {\n ...OpenAPI.HEADERS,\n ...config.headers,\n 'X-API-Key': config.apiKey,\n };\n OpenAPI.TOKEN = undefined;\n } else if (config.token) {\n OpenAPI.TOKEN = config.token;\n OpenAPI.HEADERS = {\n ...OpenAPI.HEADERS,\n ...config.headers,\n };\n } else if (config.headers) {\n OpenAPI.HEADERS = {\n ...OpenAPI.HEADERS,\n ...config.headers,\n };\n }\n}\n\n/**\n * Get the current configuration.\n */\nexport function getConfiguration(): {\n baseUrl: string;\n hasApiKey: boolean;\n hasToken: boolean;\n} {\n const headers = OpenAPI.HEADERS;\n const hasApiKey = typeof headers === 'object' && headers !== null && 'X-API-Key' in headers;\n return {\n baseUrl: OpenAPI.BASE,\n hasApiKey,\n hasToken: Boolean(OpenAPI.TOKEN),\n };\n}\n\n/**\n * Clear all authentication configuration.\n */\nexport function clearAuth(): void {\n OpenAPI.TOKEN = undefined;\n const headers = OpenAPI.HEADERS;\n if (typeof headers === 'object' && headers !== null && 'X-API-Key' in headers) {\n const { 'X-API-Key': _, ...rest } = headers;\n OpenAPI.HEADERS = rest;\n }\n}\n","/**\n * Webhook verification utilities for Tritonium.\n *\n * This module provides functions for verifying webhook signatures and handling\n * incoming webhook events from Tritonium.\n *\n * @example\n * ```typescript\n * import { verifyWebhook, WebhookEvent } from './webhooks';\n *\n * const event = verifyWebhook({\n * payload: requestBody,\n * signature: headers['x-tritonium-signature'],\n * timestamp: headers['x-tritonium-timestamp'],\n * secret: 'whsec_your_secret',\n * });\n * ```\n */\n\nimport * as crypto from 'crypto';\n\n/**\n * Error thrown when webhook verification fails.\n */\nexport class WebhookVerificationError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'WebhookVerificationError';\n }\n}\n\n/**\n * Error thrown when webhook timestamp is too old.\n */\nexport class WebhookExpiredError extends WebhookVerificationError {\n constructor(message: string) {\n super(message);\n this.name = 'WebhookExpiredError';\n }\n}\n\n/**\n * Error thrown when webhook signature is invalid.\n */\nexport class WebhookSignatureError extends WebhookVerificationError {\n constructor(message: string) {\n super(message);\n this.name = 'WebhookSignatureError';\n }\n}\n\n/**\n * Parsed webhook event from Tritonium.\n */\nexport interface WebhookEvent<T = Record<string, unknown>> {\n /** Unique identifier for this event */\n eventId: string;\n /** Type of event (e.g., 'review.received', 'alert.triggered') */\n eventType: string;\n /** When the event occurred */\n timestamp: Date;\n /** Tenant that owns this event */\n tenantId: string;\n /** Optional app UUID related to the event */\n appUuid?: string;\n /** Event-specific payload data */\n data: T;\n /** Original JSON payload */\n rawPayload: Record<string, unknown>;\n}\n\n/**\n * Tritonium webhook event types.\n */\nexport const EventTypes = {\n CRISIS_DETECTED: 'crisis.detected',\n INSIGHT_GENERATED: 'insight.generated',\n REVIEW_RECEIVED: 'review.received',\n ANALYSIS_COMPLETED: 'analysis.completed',\n ALERT_TRIGGERED: 'alert.triggered',\n TEST_PING: 'test.ping',\n} as const;\n\nexport type EventType = (typeof EventTypes)[keyof typeof EventTypes];\n\n/**\n * Options for webhook verification.\n */\nexport interface VerifyWebhookOptions {\n /** Raw request body (string or Buffer) */\n payload: string | Buffer;\n /** Value of X-Tritonium-Signature header */\n signature: string;\n /** Value of X-Tritonium-Timestamp header */\n timestamp: string;\n /** Your webhook signing secret */\n secret: string;\n /** Maximum age in seconds (default: 300 = 5 minutes) */\n toleranceSeconds?: number;\n}\n\n/**\n * Verify a webhook signature without parsing the payload.\n *\n * @param payload - Raw request body\n * @param signature - Value of X-Tritonium-Signature header\n * @param secret - Your webhook signing secret\n * @returns true if signature is valid\n */\nexport function verifySignature(\n payload: string | Buffer,\n signature: string,\n secret: string\n): boolean {\n const payloadBuffer =\n typeof payload === 'string' ? Buffer.from(payload) : payload;\n\n // Extract the hex signature (remove 'sha256=' prefix)\n const receivedSig = signature.startsWith('sha256=')\n ? signature.slice(7)\n : signature;\n\n // Compute expected signature\n const expectedSig = crypto\n .createHmac('sha256', secret)\n .update(payloadBuffer)\n .digest('hex');\n\n // Constant-time comparison\n try {\n return crypto.timingSafeEqual(\n Buffer.from(receivedSig),\n Buffer.from(expectedSig)\n );\n } catch {\n return false;\n }\n}\n\n/**\n * Verify that a webhook timestamp is within acceptable range.\n *\n * @param timestamp - ISO 8601 timestamp string\n * @param toleranceSeconds - Maximum age in seconds (default: 300)\n * @returns true if timestamp is valid\n */\nexport function verifyTimestamp(\n timestamp: string,\n toleranceSeconds: number = 300\n): boolean {\n try {\n const webhookTime = new Date(timestamp).getTime();\n const now = Date.now();\n const ageMs = Math.abs(now - webhookTime);\n return ageMs <= toleranceSeconds * 1000;\n } catch {\n return false;\n }\n}\n\n/**\n * Verify a webhook and parse the event.\n *\n * This is the main function for processing incoming webhooks. It:\n * 1. Verifies the timestamp is not too old (replay protection)\n * 2. Verifies the HMAC signature\n * 3. Parses and returns the event\n *\n * @param options - Verification options\n * @returns Parsed and verified webhook event\n * @throws WebhookExpiredError if timestamp is too old\n * @throws WebhookSignatureError if signature is invalid\n * @throws WebhookVerificationError if payload cannot be parsed\n *\n * @example\n * ```typescript\n * import express from 'express';\n * import { verifyWebhook, WebhookVerificationError } from '@tritonium/api-client/webhooks';\n *\n * const app = express();\n * const WEBHOOK_SECRET = 'whsec_your_secret';\n *\n * app.post('/webhook', express.raw({ type: 'application/json' }), (req, res) => {\n * try {\n * const event = verifyWebhook({\n * payload: req.body,\n * signature: req.headers['x-tritonium-signature'] as string,\n * timestamp: req.headers['x-tritonium-timestamp'] as string,\n * secret: WEBHOOK_SECRET,\n * });\n *\n * switch (event.eventType) {\n * case 'review.received':\n * handleReview(event.data);\n * break;\n * case 'alert.triggered':\n * handleAlert(event.data);\n * break;\n * }\n *\n * res.json({ status: 'ok' });\n * } catch (e) {\n * if (e instanceof WebhookVerificationError) {\n * res.status(401).json({ error: e.message });\n * } else {\n * throw e;\n * }\n * }\n * });\n * ```\n */\nexport function verifyWebhook<T = Record<string, unknown>>(\n options: VerifyWebhookOptions\n): WebhookEvent<T> {\n const { payload, signature, timestamp, secret, toleranceSeconds = 300 } = options;\n\n // Check timestamp first (replay protection)\n if (!verifyTimestamp(timestamp, toleranceSeconds)) {\n throw new WebhookExpiredError(\n `Webhook timestamp is too old or invalid: ${timestamp}`\n );\n }\n\n // Verify signature\n if (!verifySignature(payload, signature, secret)) {\n throw new WebhookSignatureError('Invalid webhook signature');\n }\n\n // Parse payload\n let data: Record<string, unknown>;\n try {\n const payloadStr =\n typeof payload === 'string' ? payload : payload.toString('utf-8');\n data = JSON.parse(payloadStr);\n } catch (e) {\n throw new WebhookVerificationError(`Invalid webhook payload: ${e}`);\n }\n\n // Parse timestamp\n let eventTimestamp: Date;\n try {\n eventTimestamp = new Date(\n (data.timestamp as string) || timestamp\n );\n } catch {\n eventTimestamp = new Date();\n }\n\n return {\n eventId: data.event_id as string || '',\n eventType: data.event_type as string || '',\n timestamp: eventTimestamp,\n tenantId: data.tenant_id as string || '',\n appUuid: data.app_uuid as string | undefined,\n data: (data.data || {}) as T,\n rawPayload: data,\n };\n}\n\n/**\n * Alias for verifyWebhook for compatibility with other webhook libraries.\n */\nexport const constructEvent = verifyWebhook;\n\n/**\n * Type guard to check if an error is a WebhookVerificationError.\n */\nexport function isWebhookError(error: unknown): error is WebhookVerificationError {\n return error instanceof WebhookVerificationError;\n}\n\n/**\n * Type definitions for specific event payloads.\n */\nexport interface ReviewReceivedData {\n review_id: string;\n platform: string;\n rating: number;\n title?: string;\n text: string;\n author?: string;\n review_date: string;\n country?: string;\n version?: string;\n}\n\nexport interface AlertTriggeredData {\n alert_id: string;\n rule_id: string;\n rule_name: string;\n severity: 'low' | 'medium' | 'high' | 'critical';\n message: string;\n current_value?: number;\n threshold?: number;\n}\n\nexport interface CrisisDetectedData {\n severity: 'low' | 'medium' | 'high' | 'critical';\n type: string;\n message: string;\n affected_period?: string;\n metrics?: Record<string, unknown>;\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nexport type Alert = {\n alert_id?: string;\n title?: string;\n description?: string;\n severity?: Alert.severity;\n status?: Alert.status;\n created_at?: string;\n updated_at?: string;\n metadata?: Record<string, any>;\n};\nexport namespace Alert {\n export enum severity {\n CRITICAL = 'critical',\n HIGH = 'high',\n MEDIUM = 'medium',\n LOW = 'low',\n }\n export enum status {\n UNREAD = 'unread',\n READ = 'read',\n ACKNOWLEDGED = 'acknowledged',\n SNOOZED = 'snoozed',\n }\n}\n\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nexport type AlertUpdateRequest = {\n status?: AlertUpdateRequest.status;\n note?: string;\n snooze_until?: string;\n};\nexport namespace AlertUpdateRequest {\n export enum status {\n UNREAD = 'unread',\n READ = 'read',\n ACKNOWLEDGED = 'acknowledged',\n SNOOZED = 'snoozed',\n }\n}\n\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nexport type AutoSyncConfigRequest = {\n auto_sync_enabled: boolean;\n frequency?: AutoSyncConfigRequest.frequency;\n};\nexport namespace AutoSyncConfigRequest {\n export enum frequency {\n HOURLY = 'hourly',\n DAILY = 'daily',\n WEEKLY = 'weekly',\n }\n}\n\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { CancelablePromise } from './CancelablePromise';\nimport type { OnCancel } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\nexport const isDefined = <T>(value: T | null | undefined): value is Exclude<T, null | undefined> => {\n return value !== undefined && value !== null;\n};\n\nexport const isString = (value: any): value is string => {\n return typeof value === 'string';\n};\n\nexport const isStringWithValue = (value: any): value is string => {\n return isString(value) && value !== '';\n};\n\nexport const isBlob = (value: any): value is Blob => {\n return (\n typeof value === 'object' &&\n typeof value.type === 'string' &&\n typeof value.stream === 'function' &&\n typeof value.arrayBuffer === 'function' &&\n typeof value.constructor === 'function' &&\n typeof value.constructor.name === 'string' &&\n /^(Blob|File)$/.test(value.constructor.name) &&\n /^(Blob|File)$/.test(value[Symbol.toStringTag])\n );\n};\n\nexport const isFormData = (value: any): value is FormData => {\n return value instanceof FormData;\n};\n\nexport const base64 = (str: string): string => {\n try {\n return btoa(str);\n } catch (err) {\n // @ts-ignore\n return Buffer.from(str).toString('base64');\n }\n};\n\nexport const getQueryString = (params: Record<string, any>): string => {\n const qs: string[] = [];\n\n const append = (key: string, value: any) => {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n };\n\n const process = (key: string, value: any) => {\n if (isDefined(value)) {\n if (Array.isArray(value)) {\n value.forEach(v => {\n process(key, v);\n });\n } else if (typeof value === 'object') {\n Object.entries(value).forEach(([k, v]) => {\n process(`${key}[${k}]`, v);\n });\n } else {\n append(key, value);\n }\n }\n };\n\n Object.entries(params).forEach(([key, value]) => {\n process(key, value);\n });\n\n if (qs.length > 0) {\n return `?${qs.join('&')}`;\n }\n\n return '';\n};\n\nconst getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => {\n const encoder = config.ENCODE_PATH || encodeURI;\n\n const path = options.url\n .replace('{api-version}', config.VERSION)\n .replace(/{(.*?)}/g, (substring: string, group: string) => {\n if (options.path?.hasOwnProperty(group)) {\n return encoder(String(options.path[group]));\n }\n return substring;\n });\n\n const url = `${config.BASE}${path}`;\n if (options.query) {\n return `${url}${getQueryString(options.query)}`;\n }\n return url;\n};\n\nexport const getFormData = (options: ApiRequestOptions): FormData | undefined => {\n if (options.formData) {\n const formData = new FormData();\n\n const process = (key: string, value: any) => {\n if (isString(value) || isBlob(value)) {\n formData.append(key, value);\n } else {\n formData.append(key, JSON.stringify(value));\n }\n };\n\n Object.entries(options.formData)\n .filter(([_, value]) => isDefined(value))\n .forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach(v => process(key, v));\n } else {\n process(key, value);\n }\n });\n\n return formData;\n }\n return undefined;\n};\n\ntype Resolver<T> = (options: ApiRequestOptions) => Promise<T>;\n\nexport const resolve = async <T>(options: ApiRequestOptions, resolver?: T | Resolver<T>): Promise<T | undefined> => {\n if (typeof resolver === 'function') {\n return (resolver as Resolver<T>)(options);\n }\n return resolver;\n};\n\nexport const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions): Promise<Headers> => {\n const [token, username, password, additionalHeaders] = await Promise.all([\n resolve(options, config.TOKEN),\n resolve(options, config.USERNAME),\n resolve(options, config.PASSWORD),\n resolve(options, config.HEADERS),\n ]);\n\n const headers = Object.entries({\n Accept: 'application/json',\n ...additionalHeaders,\n ...options.headers,\n })\n .filter(([_, value]) => isDefined(value))\n .reduce((headers, [key, value]) => ({\n ...headers,\n [key]: String(value),\n }), {} as Record<string, string>);\n\n if (isStringWithValue(token)) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = base64(`${username}:${password}`);\n headers['Authorization'] = `Basic ${credentials}`;\n }\n\n if (options.body !== undefined) {\n if (options.mediaType) {\n headers['Content-Type'] = options.mediaType;\n } else if (isBlob(options.body)) {\n headers['Content-Type'] = options.body.type || 'application/octet-stream';\n } else if (isString(options.body)) {\n headers['Content-Type'] = 'text/plain';\n } else if (!isFormData(options.body)) {\n headers['Content-Type'] = 'application/json';\n }\n }\n\n return new Headers(headers);\n};\n\nexport const getRequestBody = (options: ApiRequestOptions): any => {\n if (options.body !== undefined) {\n if (options.mediaType?.includes('/json')) {\n return JSON.stringify(options.body)\n } else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return undefined;\n};\n\nexport const sendRequest = async (\n config: OpenAPIConfig,\n options: ApiRequestOptions,\n url: string,\n body: any,\n formData: FormData | undefined,\n headers: Headers,\n onCancel: OnCancel\n): Promise<Response> => {\n const controller = new AbortController();\n\n const request: RequestInit = {\n headers,\n body: body ?? formData,\n method: options.method,\n signal: controller.signal,\n };\n\n if (config.WITH_CREDENTIALS) {\n request.credentials = config.CREDENTIALS;\n }\n\n onCancel(() => controller.abort());\n\n return await fetch(url, request);\n};\n\nexport const getResponseHeader = (response: Response, responseHeader?: string): string | undefined => {\n if (responseHeader) {\n const content = response.headers.get(responseHeader);\n if (isString(content)) {\n return content;\n }\n }\n return undefined;\n};\n\nexport const getResponseBody = async (response: Response): Promise<any> => {\n if (response.status !== 204) {\n try {\n const contentType = response.headers.get('Content-Type');\n if (contentType) {\n const jsonTypes = ['application/json', 'application/problem+json']\n const isJSON = jsonTypes.some(type => contentType.toLowerCase().startsWith(type));\n if (isJSON) {\n return await response.json();\n } else {\n return await response.text();\n }\n }\n } catch (error) {\n console.error(error);\n }\n }\n return undefined;\n};\n\nexport const catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => {\n const errors: Record<number, string> = {\n 400: 'Bad Request',\n 401: 'Unauthorized',\n 403: 'Forbidden',\n 404: 'Not Found',\n 500: 'Internal Server Error',\n 502: 'Bad Gateway',\n 503: 'Service Unavailable',\n ...options.errors,\n }\n\n const error = errors[result.status];\n if (error) {\n throw new ApiError(options, result, error);\n }\n\n if (!result.ok) {\n const errorStatus = result.status ?? 'unknown';\n const errorStatusText = result.statusText ?? 'unknown';\n const errorBody = (() => {\n try {\n return JSON.stringify(result.body, null, 2);\n } catch (e) {\n return undefined;\n }\n })();\n\n throw new ApiError(options, result,\n `Generic Error: status: ${errorStatus}; status text: ${errorStatusText}; body: ${errorBody}`\n );\n }\n};\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param options The request options from the service\n * @returns CancelablePromise<T>\n * @throws ApiError\n */\nexport const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise<T> => {\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n try {\n const url = getUrl(config, options);\n const formData = getFormData(options);\n const body = getRequestBody(options);\n const headers = await getHeaders(config, options);\n\n if (!onCancel.isCancelled) {\n const response = await sendRequest(config, options, url, body, formData, headers, onCancel);\n const responseBody = await getResponseBody(response);\n const responseHeader = getResponseHeader(response, options.responseHeader);\n\n const result: ApiResult = {\n url,\n ok: response.ok,\n status: response.status,\n statusText: response.statusText,\n body: responseHeader ?? responseBody,\n };\n\n catchErrorCodes(options, result);\n\n resolve(result.body);\n }\n } catch (error) {\n reject(error);\n }\n });\n};\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n \nimport type { Alert } from '../models/Alert';\nimport type { AlertAssignRequest } from '../models/AlertAssignRequest';\nimport type { AlertUpdateRequest } from '../models/AlertUpdateRequest';\nimport type { GenericSuccess } from '../models/GenericSuccess';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class AlertsService {\n /**\n * List alert notifications for the tenant.\n * @param limit\n * @param cursor\n * @param severity\n * @param status\n * @returns any Alerts returned.\n * @throws ApiError\n */\n public static getAlerts(\n limit?: number,\n cursor?: string,\n severity?: string,\n status?: 'unread' | 'read' | 'acknowledged' | 'snoozed',\n ): CancelablePromise<{\n alerts?: Array<Alert>;\n next_cursor?: string;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/alerts',\n query: {\n 'limit': limit,\n 'cursor': cursor,\n 'severity': severity,\n 'status': status,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Retrieve alert details.\n * @param alertId\n * @returns Alert Alert returned.\n * @throws ApiError\n */\n public static getAlert(\n alertId: string,\n ): CancelablePromise<Alert> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/alerts/{alertId}',\n path: {\n 'alertId': alertId,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Update alert status or acknowledgement metadata.\n * @param alertId\n * @param requestBody\n * @returns Alert Alert updated.\n * @throws ApiError\n */\n public static patchAlert(\n alertId: string,\n requestBody: AlertUpdateRequest,\n ): CancelablePromise<Alert> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/api/v1/alerts/{alertId}',\n path: {\n 'alertId': alertId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Assign an alert to a team member.\n * Assigns the specified alert to a team member for follow-up. Used by the alerts PWA for delegation workflows.\n * @param alertId\n * @param requestBody\n * @returns GenericSuccess Alert assigned successfully.\n * @throws ApiError\n */\n public static postAlertAssign(\n alertId: string,\n requestBody: AlertAssignRequest,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/alerts/{alertId}/assign',\n path: {\n 'alertId': alertId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { AnalysisRequest } from '../models/AnalysisRequest';\nimport type { AppConnectionRequest } from '../models/AppConnectionRequest';\nimport type { AppSummary } from '../models/AppSummary';\nimport type { AutoSyncConfigRequest } from '../models/AutoSyncConfigRequest';\nimport type { Competitor } from '../models/Competitor';\nimport type { CompetitorUpsertRequest } from '../models/CompetitorUpsertRequest';\nimport type { FeatureImpactEntry } from '../models/FeatureImpactEntry';\nimport type { GenericSuccess } from '../models/GenericSuccess';\nimport type { Insight } from '../models/Insight';\nimport type { SyncRequest } from '../models/SyncRequest';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class AppsService {\n /**\n * List apps connected to the current tenant.\n * @returns any Apps retrieved.\n * @throws ApiError\n */\n public static getApps(): CancelablePromise<{\n apps?: Array<AppSummary>;\n count?: number;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Connect a new app using stored credentials.\n * @param requestBody\n * @returns AppSummary App connected.\n * @throws ApiError\n */\n public static postAppsConnect(\n requestBody: AppConnectionRequest,\n ): CancelablePromise<AppSummary> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/apps',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Alias endpoint for connecting apps.\n * @param requestBody\n * @returns AppSummary App connected.\n * @throws ApiError\n */\n public static postAppsConnectAlias(\n requestBody: AppConnectionRequest,\n ): CancelablePromise<AppSummary> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/apps/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Trigger an on-demand review sync for a specific app.\n * @param requestBody\n * @returns GenericSuccess Sync job queued.\n * @throws ApiError\n */\n public static postAppsSync(\n requestBody: SyncRequest,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/apps/sync',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * Queue AI-powered analysis for an app.\n * @param requestBody\n * @returns any Analysis queued or cached result returned.\n * @throws ApiError\n */\n public static postAppsAnalyze(\n requestBody: AnalysisRequest,\n ): CancelablePromise<{\n success?: boolean;\n analysis_id?: string;\n status?: string;\n cached?: boolean;\n insights?: Insight;\n }> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/apps/analyze',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * Update automatic review sync settings.\n * @param appUuid\n * @param requestBody\n * @returns any Auto-sync settings updated.\n * @throws ApiError\n */\n public static patchAppAutoSync(\n appUuid: string,\n requestBody: AutoSyncConfigRequest,\n ): CancelablePromise<{\n app_uuid?: string;\n auto_sync_enabled?: boolean;\n frequency?: 'hourly' | 'daily' | 'weekly';\n }> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/api/v1/apps/{appUuid}/auto-sync',\n path: {\n 'appUuid': appUuid,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Enable or disable automatic review sync.\n * @param appUuid\n * @param requestBody\n * @returns any Auto-sync settings updated.\n * @throws ApiError\n */\n public static postAppAutoSync(\n appUuid: string,\n requestBody: AutoSyncConfigRequest,\n ): CancelablePromise<Record<string, any>> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/apps/{appUuid}/auto-sync',\n path: {\n 'appUuid': appUuid,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * List competitor apps registered for benchmarking.\n * @param appUuid\n * @returns any Competitors returned.\n * @throws ApiError\n */\n public static getCompetitors(\n appUuid: string,\n ): CancelablePromise<{\n competitors?: Array<Competitor>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{appUuid}/competitors',\n path: {\n 'appUuid': appUuid,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Register a competitor app.\n * @param appUuid\n * @param requestBody\n * @returns Competitor Competitor registered.\n * @throws ApiError\n */\n public static postCompetitor(\n appUuid: string,\n requestBody: CompetitorUpsertRequest,\n ): CancelablePromise<Competitor> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/apps/{appUuid}/competitors',\n path: {\n 'appUuid': appUuid,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Remove a competitor mapping.\n * @param appUuid\n * @param platform\n * @param externalAppId\n * @returns void\n * @throws ApiError\n */\n public static deleteCompetitor(\n appUuid: string,\n platform: string,\n externalAppId: string,\n ): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/api/v1/apps/{appUuid}/competitors/{platform}/{externalAppId}',\n path: {\n 'appUuid': appUuid,\n 'platform': platform,\n 'externalAppId': externalAppId,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Historical feature impact entries for an app release.\n * @param appUuid\n * @param limit\n * @param cursor\n * @returns any Feature history returned.\n * @throws ApiError\n */\n public static getFeatureHistory(\n appUuid: string,\n limit?: number,\n cursor?: string,\n ): CancelablePromise<{\n entries?: Array<FeatureImpactEntry>;\n next_cursor?: string;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{appUuid}/features/history',\n path: {\n 'appUuid': appUuid,\n },\n query: {\n 'limit': limit,\n 'cursor': cursor,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n \nimport type { AuthLoginRequest } from '../models/AuthLoginRequest';\nimport type { AuthRegisterRequest } from '../models/AuthRegisterRequest';\nimport type { AuthTokenPair } from '../models/AuthTokenPair';\nimport type { EmailRequest } from '../models/EmailRequest';\nimport type { GenericSuccess } from '../models/GenericSuccess';\nimport type { ResetPasswordRequest } from '../models/ResetPasswordRequest';\nimport type { SsoRequest } from '../models/SsoRequest';\nimport type { TokenRequest } from '../models/TokenRequest';\nimport type { UserSummary } from '../models/UserSummary';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class AuthService {\n /**\n * Register a new workspace owner.\n * @param requestBody\n * @returns GenericSuccess Registration accepted.\n * @throws ApiError\n */\n public static postRegister(\n requestBody: AuthRegisterRequest,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/auth/register',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 409: `Resource already exists or is in conflict.`,\n },\n });\n }\n /**\n * Confirm email verification token.\n * @param requestBody\n * @returns GenericSuccess Email verified.\n * @throws ApiError\n */\n public static postVerifyEmail(\n requestBody: TokenRequest,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/auth/verify-email',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 410: `Token expired or resource no longer available.`,\n },\n });\n }\n /**\n * Trigger a new verification email.\n * @param requestBody\n * @returns GenericSuccess Verification email queued.\n * @throws ApiError\n */\n public static postResendVerification(\n requestBody: EmailRequest,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/auth/resend-verification',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n },\n });\n }\n /**\n * Request a password reset email.\n * @param requestBody\n * @returns GenericSuccess Reset email dispatched.\n * @throws ApiError\n */\n public static postForgotPassword(\n requestBody: EmailRequest,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/auth/forgot-password',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n },\n });\n }\n /**\n * Reset password with a valid token.\n * @param requestBody\n * @returns GenericSuccess Password updated.\n * @throws ApiError\n */\n public static postResetPassword(\n requestBody: ResetPasswordRequest,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/auth/reset-password',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 410: `Token expired or resource no longer available.`,\n },\n });\n }\n /**\n * Authenticate via email and password.\n * @param requestBody\n * @returns any Login successful.\n * @throws ApiError\n */\n public static postLogin(\n requestBody: AuthLoginRequest,\n ): CancelablePromise<{\n success?: boolean;\n user?: UserSummary;\n tokens?: AuthTokenPair;\n }> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/auth/login',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * Complete Google Workspace SSO exchange.\n * @param requestBody\n * @returns any Google SSO successful.\n * @throws ApiError\n */\n public static postGoogleSso(\n requestBody: SsoRequest,\n ): CancelablePromise<{\n success?: boolean;\n user?: UserSummary;\n tokens?: AuthTokenPair;\n }> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/auth/google/sso',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * Complete Microsoft Entra ID SSO exchange.\n * @param requestBody\n * @returns any Microsoft SSO successful.\n * @throws ApiError\n */\n public static postMicrosoftSso(\n requestBody: SsoRequest,\n ): CancelablePromise<{\n success?: boolean;\n user?: UserSummary;\n tokens?: AuthTokenPair;\n }> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/auth/microsoft/sso',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { BillingCheckoutRequest } from '../models/BillingCheckoutRequest';\nimport type { Invoice } from '../models/Invoice';\nimport type { PaymentMethodRequest } from '../models/PaymentMethodRequest';\nimport type { RegionalPricingRequest } from '../models/RegionalPricingRequest';\nimport type { RegionalPricingResponse } from '../models/RegionalPricingResponse';\nimport type { Subscription } from '../models/Subscription';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class BillingService {\n /**\n * Create a Stripe Checkout session.\n * @param requestBody\n * @returns any Checkout session created.\n * @throws ApiError\n */\n public static postBillingCheckout(\n requestBody: BillingCheckoutRequest,\n ): CancelablePromise<{\n session_id?: string;\n url?: string;\n }> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/billing/checkout',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Retrieve current subscription details.\n * @returns Subscription Subscription returned.\n * @throws ApiError\n */\n public static getSubscription(): CancelablePromise<Subscription> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/billing/subscription',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Retrieve per-integration subscription details.\n * @returns any Per-integration subscription returned.\n * @throws ApiError\n */\n public static getSubscriptionV2(): CancelablePromise<{\n subscription?: {\n subscription_id?: string;\n tenant_id?: string;\n status?: string;\n pricing_model?: string;\n billing_cycle?: 'monthly' | 'annual';\n integration_count?: number;\n member_count?: number;\n integration_subtotal?: number;\n member_subtotal?: number;\n monthly_cost?: number;\n annual_discount_applied?: number | null;\n effective_monthly_rate?: number;\n active_integrations?: Array<Record<string, any>>;\n stripe_customer_id?: string;\n stripe_subscription_id?: string;\n };\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/billing/subscription-v2',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Cancel the active subscription at period end.\n * @returns Subscription Subscription cancellation scheduled.\n * @throws ApiError\n */\n public static postCancelSubscription(): CancelablePromise<Subscription> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/billing/cancel-subscription',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Reactivate a cancelled subscription.\n * @returns Subscription Subscription reactivated.\n * @throws ApiError\n */\n public static postReactivateSubscription(): CancelablePromise<Subscription> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/billing/reactivate-subscription',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Attach or update a default payment method.\n * @param requestBody\n * @returns Subscription Payment method updated.\n * @throws ApiError\n */\n public static postPaymentMethod(\n requestBody: PaymentMethodRequest,\n ): CancelablePromise<Subscription> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/billing/payment-method',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * List invoices for the tenant.\n * @param limit\n * @param cursor\n * @returns any Invoices returned.\n * @throws ApiError\n */\n public static getInvoices(\n limit?: number,\n cursor?: string,\n ): CancelablePromise<{\n invoices?: Array<Invoice>;\n next_cursor?: string;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/billing/invoices',\n query: {\n 'limit': limit,\n 'cursor': cursor,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Stripe webhook endpoint.\n * @param requestBody\n * @returns any Event processed.\n * @throws ApiError\n */\n public static postBillingWebhook(\n requestBody: Record<string, any>,\n ): CancelablePromise<any> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/billing/webhooks',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Calculate per-integration pricing totals.\n * @param requestBody\n * @returns any Pricing calculated.\n * @throws ApiError\n */\n public static postCalculatePricing(\n requestBody: {\n integration_count?: number;\n member_count?: number;\n billing_cycle?: 'monthly' | 'annual';\n },\n ): CancelablePromise<{\n calculation?: Record<string, any>;\n breakdown?: Record<string, any>;\n }> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/billing/calculate-pricing',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n },\n });\n }\n /**\n * Create per-integration subscription.\n * @param requestBody\n * @returns any Subscription created.\n * @throws ApiError\n */\n public static postCreateSubscriptionV2(\n requestBody: {\n payment_method_id?: string;\n integration_ids?: Array<string>;\n integration_count?: number;\n member_count?: number;\n billing_cycle?: 'monthly' | 'annual';\n },\n ): CancelablePromise<{\n subscription_id?: string;\n status?: string;\n }> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/billing/create-subscription-v2',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 402: `Request validation failed.`,\n },\n });\n }\n /**\n * Update per-integration subscription quantities.\n * @param requestBody\n * @returns any Subscription updated.\n * @throws ApiError\n */\n public static postUpdateSubscriptionV2(\n requestBody: {\n integration_count?: number;\n member_count?: number;\n billing_cycle?: 'monthly' | 'annual';\n },\n ): CancelablePromise<{\n subscription_id?: string;\n status?: string;\n }> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/billing/update-subscription-v2',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 402: `Request validation failed.`,\n },\n });\n }\n /**\n * Migrate legacy subscriptions to per-integration pricing.\n * @param requestBody\n * @returns any Migration initiated.\n * @throws ApiError\n */\n public static postMigrateSubscription(\n requestBody?: {\n billing_cycle?: 'monthly' | 'annual';\n member_count?: number;\n },\n ): CancelablePromise<{\n migration?: Record<string, any>;\n }> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/billing/migrate-subscription',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 402: `Request validation failed.`,\n },\n });\n }\n /**\n * Calculate regional pricing based on country.\n * Returns pricing information adjusted for purchasing power parity (PPP) based on the provided country code. Discounts range from 0% (US/UK/EU) to 60% for developing economies.\n * @param requestBody\n * @returns any Regional pricing calculated.\n * @throws ApiError\n */\n public static postRegionalPricing(\n requestBody: RegionalPricingRequest,\n ): CancelablePromise<{\n regional_pricing?: RegionalPricingResponse;\n }> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/billing/regional-pricing',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Detect user's country from IP address.\n * Detects the user's country based on their IP address for display purposes. Note: Final pricing is always determined by card country, not IP location.\n * @returns any Country detected successfully.\n * @throws ApiError\n */\n public static getDetectCountry(): CancelablePromise<{\n /**\n * ISO 3166-1 alpha-2 country code\n */\n detected_country?: string;\n pricing_info?: {\n /**\n * Pricing tier based on PPP\n */\n tier?: 'FULL' | 'TIER20' | 'TIER40' | 'TIER60';\n /**\n * Discount rate (0.0 to 0.6)\n */\n discount_rate?: number;\n /**\n * Preferred currency for this region\n */\n currency?: string;\n };\n note?: string;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/billing/detect-country',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Get usage dashboard data.\n * Returns comprehensive usage data for the current billing period including apps, members, syncs, and cost projections.\n * @returns any Usage dashboard data returned.\n * @throws ApiError\n */\n public static getUsageDashboard(): CancelablePromise<{\n billing_period?: {\n start?: string;\n end?: string;\n days_remaining?: number;\n };\n apps?: {\n used?: number;\n limit?: number;\n };\n members?: {\n used?: number;\n limit?: number;\n };\n syncs?: {\n used?: number;\n limit?: number;\n };\n current_cost?: number;\n projected_cost?: number;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/billing/usage-dashboard',\n errors: {\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Get bill forecast data.\n * Returns projected billing amounts over a specified horizon (7d, 30d, or 90d) with confidence intervals.\n * @param horizon Forecast horizon\n * @returns any Bill forecast returned.\n * @throws ApiError\n */\n public static getBillForecast(\n horizon: '7d' | '30d' | '90d' = '30d',\n ): CancelablePromise<{\n points?: Array<{\n date?: string;\n amount?: number;\n confidence_lower?: number;\n confidence_upper?: number;\n }>;\n current_monthly?: number;\n projected_monthly?: number;\n change_amount?: number;\n change_percent?: number;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/billing/bill-forecast',\n query: {\n 'horizon': horizon,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Get pricing information.\n * Returns the current pricing model and rates.\n * @returns any Pricing information returned.\n * @throws ApiError\n */\n public static getPricing(): CancelablePromise<{\n pricing?: {\n model?: string;\n app_price?: number;\n additional_member_price?: number;\n included_members_per_app?: number;\n included_ai_analyses_per_app?: number;\n ai_overage_rate?: number;\n annual_discount?: number;\n trial_days?: number;\n };\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/billing/pricing',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n \nimport type { AppSummary } from '../models/AppSummary';\nimport type { Credential } from '../models/Credential';\nimport type { CredentialRequest } from '../models/CredentialRequest';\nimport type { CredentialValidateRequest } from '../models/CredentialValidateRequest';\nimport type { GenericSuccess } from '../models/GenericSuccess';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class CredentialsService {\n /**\n * List stored credentials for the tenant.\n * @returns any Credentials returned.\n * @throws ApiError\n */\n public static getCredentials(): CancelablePromise<{\n credentials?: Array<Credential>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/credentials',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Store a new credential set.\n * @param requestBody\n * @returns Credential Credential stored.\n * @throws ApiError\n */\n public static postCredential(\n requestBody: CredentialRequest,\n ): CancelablePromise<Credential> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/credentials',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Retrieve credential details by ID.\n * @param credentialId\n * @returns Credential Credential returned.\n * @throws ApiError\n */\n public static getCredential(\n credentialId: string,\n ): CancelablePromise<Credential> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/credentials/{credentialId}',\n path: {\n 'credentialId': credentialId,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Update an existing credential.\n * @param credentialId\n * @param requestBody\n * @returns Credential Credential updated.\n * @throws ApiError\n */\n public static putCredential(\n credentialId: string,\n requestBody: CredentialRequest,\n ): CancelablePromise<Credential> {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/api/v1/credentials/{credentialId}',\n path: {\n 'credentialId': credentialId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Delete a credential.\n * @param credentialId\n * @returns void\n * @throws ApiError\n */\n public static deleteCredential(\n credentialId: string,\n ): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/api/v1/credentials/{credentialId}',\n path: {\n 'credentialId': credentialId,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * List apps linked to a credential.\n * @param credentialId\n * @returns any Linked apps returned.\n * @throws ApiError\n */\n public static getCredentialApps(\n credentialId: string,\n ): CancelablePromise<{\n apps?: Array<AppSummary>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/credentials/{credentialId}/apps',\n path: {\n 'credentialId': credentialId,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Validate credential authenticity with source systems.\n * @param requestBody\n * @returns GenericSuccess Validation outcome.\n * @throws ApiError\n */\n public static postCredentialValidate(\n requestBody: CredentialValidateRequest,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/credentials/validate',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class HealthService {\n /**\n * Check API availability.\n * @returns any API is reachable.\n * @throws ApiError\n */\n public static getHealth(): CancelablePromise<{\n status?: string;\n timestamp?: string;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/health',\n errors: {\n 500: `Unexpected server error.`,\n },\n });\n }\n /**\n * Root health probe.\n * @returns any API is reachable.\n * @throws ApiError\n */\n public static getRoot(): CancelablePromise<Record<string, any>> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/',\n errors: {\n 500: `Unexpected server error.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { AnalysisRequest } from '../models/AnalysisRequest';\nimport type { FeatureImpactEntry } from '../models/FeatureImpactEntry';\nimport type { Insight } from '../models/Insight';\nimport type { ReplyAnalytics } from '../models/ReplyAnalytics';\nimport type { Review } from '../models/Review';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class InsightsService {\n /**\n * Queue AI-powered analysis for an app.\n * @param requestBody\n * @returns any Analysis queued or cached result returned.\n * @throws ApiError\n */\n public static postAppsAnalyze(\n requestBody: AnalysisRequest,\n ): CancelablePromise<{\n success?: boolean;\n analysis_id?: string;\n status?: string;\n cached?: boolean;\n insights?: Insight;\n }> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/apps/analyze',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * Aggregate reply performance metrics for an app.\n * @param appUuid\n * @returns ReplyAnalytics Reply analytics returned.\n * @throws ApiError\n */\n public static getReplyAnalytics(\n appUuid: string,\n ): CancelablePromise<ReplyAnalytics> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{appUuid}/replies/analytics',\n path: {\n 'appUuid': appUuid,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Retrieve the latest insight bundle for an app.\n * @param appUuid\n * @returns Insight Insight bundle retrieved.\n * @throws ApiError\n */\n public static getAppInsights(\n appUuid: string,\n ): CancelablePromise<Insight> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{appUuid}/insights',\n path: {\n 'appUuid': appUuid,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Historical insight summaries for an app.\n * @param appUuid\n * @param limit\n * @param cursor\n * @returns any Insight history returned.\n * @throws ApiError\n */\n public static getAppInsightHistory(\n appUuid: string,\n limit?: number,\n cursor?: string,\n ): CancelablePromise<{\n items?: Array<Insight>;\n next_cursor?: string;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{appUuid}/insights/history',\n path: {\n 'appUuid': appUuid,\n },\n query: {\n 'limit': limit,\n 'cursor': cursor,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Historical feature impact entries for an app release.\n * @param appUuid\n * @param limit\n * @param cursor\n * @returns any Feature history returned.\n * @throws ApiError\n */\n public static getFeatureHistory(\n appUuid: string,\n limit?: number,\n cursor?: string,\n ): CancelablePromise<{\n entries?: Array<FeatureImpactEntry>;\n next_cursor?: string;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{appUuid}/features/history',\n path: {\n 'appUuid': appUuid,\n },\n query: {\n 'limit': limit,\n 'cursor': cursor,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Tenant-level feed of insight highlights.\n * @param limit\n * @param cursor\n * @returns any Insights returned.\n * @throws ApiError\n */\n public static getTenantInsights(\n limit?: number,\n cursor?: string,\n ): CancelablePromise<{\n items?: Array<Insight>;\n next_cursor?: string;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/insights',\n query: {\n 'limit': limit,\n 'cursor': cursor,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * List reviewer segments for an app.\n * @param appUuid App UUID assigned by Tritonium.\n * @param segmentType\n * @param sort\n * @param limit\n * @returns any Segments returned.\n * @throws ApiError\n */\n public static getAppSegments(\n appUuid: string,\n segmentType?: string,\n sort?: 'score' | 'review_count' | 'sentiment',\n limit?: number,\n ): CancelablePromise<{\n segments?: Array<Record<string, any>>;\n summary?: Record<string, any>;\n metadata?: Record<string, any>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{app_uuid}/segments',\n path: {\n 'app_uuid': appUuid,\n },\n query: {\n 'segment_type': segmentType,\n 'sort': sort,\n 'limit': limit,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * Retrieve reviews tied to a specific segment.\n * @param appUuid App UUID assigned by Tritonium.\n * @param segmentType\n * @returns any Reviews returned.\n * @throws ApiError\n */\n public static getSegmentReviews(\n appUuid: string,\n segmentType: string,\n ): CancelablePromise<{\n reviews?: Array<Review>;\n metadata?: Record<string, any>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{app_uuid}/segments/{segment_type}/reviews',\n path: {\n 'app_uuid': appUuid,\n 'segment_type': segmentType,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * List reviews with viral engagement.\n * @param appUuid App UUID assigned by Tritonium.\n * @param lookbackHours\n * @param minEngagement\n * @param sentiment\n * @returns any Viral review payload.\n * @throws ApiError\n */\n public static getViralReviews(\n appUuid: string,\n lookbackHours: number = 48,\n minEngagement: number = 50,\n sentiment?: 'all' | 'positive' | 'negative' | 'neutral',\n ): CancelablePromise<{\n viral_reviews?: Array<Review>;\n summary?: Record<string, any>;\n metadata?: Record<string, any>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{app_uuid}/reviews/viral',\n path: {\n 'app_uuid': appUuid,\n },\n query: {\n 'lookback_hours': lookbackHours,\n 'min_engagement': minEngagement,\n 'sentiment': sentiment,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * Retrieve engagement history for a review.\n * @param reviewId\n * @param appUuid\n * @returns any History returned.\n * @throws ApiError\n */\n public static getReviewEngagementHistory(\n reviewId: string,\n appUuid: string,\n ): CancelablePromise<{\n history?: Array<Record<string, any>>;\n metadata?: Record<string, any>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/reviews/{review_id}/engagement/history',\n path: {\n 'review_id': reviewId,\n },\n query: {\n 'app_uuid': appUuid,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * List reply template performance metrics.\n * @param days\n * @param templateId\n * @returns any Template analytics returned.\n * @throws ApiError\n */\n public static getTemplatePerformance(\n days: number = 90,\n templateId?: string,\n ): CancelablePromise<Record<string, any>> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/reply-templates/performance',\n query: {\n 'days': days,\n 'template_id': templateId,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * Alias for template performance listing.\n * @returns any Template analytics returned.\n * @throws ApiError\n */\n public static getTemplateComparison(): CancelablePromise<Record<string, any>> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/reply-templates/comparison',\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { GenericSuccess } from '../models/GenericSuccess';\nimport type { Integration } from '../models/Integration';\nimport type { IntegrationConnectRequest } from '../models/IntegrationConnectRequest';\nimport type { IntegrationTestRequest } from '../models/IntegrationTestRequest';\nimport type { OAuthCallbackRequest } from '../models/OAuthCallbackRequest';\nimport type { SlackChannel } from '../models/SlackChannel';\nimport type { SlackChannelUpdateRequest } from '../models/SlackChannelUpdateRequest';\nimport type { SmsConnectRequest } from '../models/SmsConnectRequest';\nimport type { WebhookConnectRequest } from '../models/WebhookConnectRequest';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class IntegrationsService {\n /**\n * List configured integrations.\n * @returns any Integrations returned.\n * @throws ApiError\n */\n public static getIntegrations(): CancelablePromise<{\n integrations?: Array<Integration>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/integrations',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Retrieve integration configuration.\n * @param integrationId\n * @returns Integration Integration returned.\n * @throws ApiError\n */\n public static getIntegration(\n integrationId: string,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/integrations/{integrationId}',\n path: {\n 'integrationId': integrationId,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Update mutable integration metadata.\n * @param integrationId\n * @param requestBody\n * @returns Integration Integration updated.\n * @throws ApiError\n */\n public static patchIntegration(\n integrationId: string,\n requestBody: Record<string, any>,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/api/v1/integrations/{integrationId}',\n path: {\n 'integrationId': integrationId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Delete an integration configuration.\n * @param integrationId\n * @returns void\n * @throws ApiError\n */\n public static deleteIntegration(\n integrationId: string,\n ): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/api/v1/integrations/{integrationId}',\n path: {\n 'integrationId': integrationId,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Send a test payload for an integration.\n * @param integrationId\n * @param requestBody\n * @returns GenericSuccess Test executed.\n * @throws ApiError\n */\n public static postIntegrationTest(\n integrationId: string,\n requestBody: IntegrationTestRequest,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/{integrationId}/test',\n path: {\n 'integrationId': integrationId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Start Jira OAuth connection.\n * @param requestBody\n * @returns Integration Authorization URL or status returned.\n * @throws ApiError\n */\n public static postJiraConnect(\n requestBody: IntegrationConnectRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/jira/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Complete Jira OAuth exchange.\n * @param state\n * @param code\n * @returns Integration Jira integration connected.\n * @throws ApiError\n */\n public static getJiraCallback(\n state?: string,\n code?: string,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/integrations/jira/callback',\n query: {\n 'state': state,\n 'code': code,\n },\n errors: {\n 400: `Request validation failed.`,\n },\n });\n }\n /**\n * Push an incident update to Jira.\n * @param requestBody\n * @returns GenericSuccess Issue created or updated.\n * @throws ApiError\n */\n public static postJiraIncident(\n requestBody: Record<string, any>,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/jira/post',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Connect Linear workspace.\n * @param requestBody\n * @returns Integration Linear integration configured.\n * @throws ApiError\n */\n public static postLinearConnect(\n requestBody: IntegrationConnectRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/linear/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Connect Discord notifications.\n * @param requestBody\n * @returns Integration Discord integration configured.\n * @throws ApiError\n */\n public static postDiscordConnect(\n requestBody: WebhookConnectRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/discord/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Connect Microsoft Teams notifications.\n * @param requestBody\n * @returns Integration Teams integration configured.\n * @throws ApiError\n */\n public static postTeamsConnect(\n requestBody: WebhookConnectRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/teams/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Start Help Scout OAuth flow.\n * @param requestBody\n * @returns GenericSuccess Authorization URL generated.\n * @throws ApiError\n */\n public static postHelpScoutStart(\n requestBody?: IntegrationConnectRequest,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/helpscout/start',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Complete Help Scout OAuth exchange.\n * @param requestBody\n * @returns Integration Help Scout integration connected.\n * @throws ApiError\n */\n public static postHelpScoutConnect(\n requestBody: OAuthCallbackRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/helpscout/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Start Salesforce OAuth flow.\n * @param requestBody\n * @returns GenericSuccess Authorization URL generated.\n * @throws ApiError\n */\n public static postSalesforceStart(\n requestBody?: IntegrationConnectRequest,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/salesforce/start',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Complete Salesforce OAuth exchange.\n * @param requestBody\n * @returns Integration Salesforce integration connected.\n * @throws ApiError\n */\n public static postSalesforceConnect(\n requestBody: OAuthCallbackRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/salesforce/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Start Zendesk OAuth flow.\n * @param requestBody\n * @returns GenericSuccess Authorization URL generated.\n * @throws ApiError\n */\n public static postZendeskStart(\n requestBody?: IntegrationConnectRequest,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/zendesk/start',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Complete Zendesk OAuth exchange.\n * @param requestBody\n * @returns Integration Zendesk integration connected.\n * @throws ApiError\n */\n public static postZendeskConnect(\n requestBody: OAuthCallbackRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/zendesk/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Connect Asana workspace.\n * @param requestBody\n * @returns Integration Asana integration connected.\n * @throws ApiError\n */\n public static postAsanaConnect(\n requestBody: IntegrationConnectRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/asana/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Connect ClickUp workspace.\n * @param requestBody\n * @returns Integration ClickUp integration connected.\n * @throws ApiError\n */\n public static postClickUpConnect(\n requestBody: IntegrationConnectRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/clickup/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Connect Trello workspace.\n * @param requestBody\n * @returns Integration Trello integration connected.\n * @throws ApiError\n */\n public static postTrelloConnect(\n requestBody: IntegrationConnectRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/trello/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Save Zapier webhook destination.\n * @param requestBody\n * @returns Integration Zapier webhook registered.\n * @throws ApiError\n */\n public static postZapierConnect(\n requestBody: WebhookConnectRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/zapier/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Configure SMS delivery integration.\n * @param requestBody\n * @returns Integration SMS integration configured.\n * @throws ApiError\n */\n public static postSmsConnect(\n requestBody: SmsConnectRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/sms/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Connect GitLab project.\n * @param requestBody\n * @returns Integration GitLab integration connected.\n * @throws ApiError\n */\n public static postGitlabConnect(\n requestBody: IntegrationConnectRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/gitlab/connect',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Start Slack OAuth flow.\n * @param redirectUri\n * @returns GenericSuccess Authorization URL generated.\n * @throws ApiError\n */\n public static getSlackConnect(\n redirectUri?: string,\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/integrations/slack/connect',\n query: {\n 'redirect_uri': redirectUri,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Complete Slack OAuth exchange.\n * @param code\n * @param state\n * @returns Integration Slack workspace connected.\n * @throws ApiError\n */\n public static getSlackCallback(\n code?: string,\n state?: string,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/integrations/slack/callback',\n query: {\n 'code': code,\n 'state': state,\n },\n errors: {\n 400: `Request validation failed.`,\n },\n });\n }\n /**\n * Retrieve Slack integration status.\n * @returns Integration Slack status returned.\n * @throws ApiError\n */\n public static getSlackStatus(): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/integrations/slack/status',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * List Slack channels available to the app.\n * @returns any Channel listing returned.\n * @throws ApiError\n */\n public static getSlackChannels(): CancelablePromise<{\n channels?: Array<SlackChannel>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/integrations/slack/channels',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Save the default Slack channel for alerts.\n * @param requestBody\n * @returns Integration Channel saved.\n * @throws ApiError\n */\n public static postSlackChannel(\n requestBody: SlackChannelUpdateRequest,\n ): CancelablePromise<Integration> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/slack/channel',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Send a test Slack notification.\n * @returns GenericSuccess Test notification sent.\n * @throws ApiError\n */\n public static postSlackTest(): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/slack/test',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Post a custom alert message to Slack.\n * @param requestBody\n * @returns GenericSuccess Message posted.\n * @throws ApiError\n */\n public static postSlackMessage(\n requestBody: {\n channel?: string;\n text: string;\n blocks?: Array<Record<string, any>>;\n },\n ): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/slack/post',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Disconnect Slack workspace.\n * @returns GenericSuccess Slack integration disabled.\n * @throws ApiError\n */\n public static postSlackDisconnect(): CancelablePromise<GenericSuccess> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/integrations/slack/disconnect',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { InternalTaskRequest } from '../models/InternalTaskRequest';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class InternalService {\n /**\n * Health probe for scheduled trial reminder execution.\n * @returns any Automation healthy.\n * @throws ApiError\n */\n public static headTrialReminders(): CancelablePromise<any> {\n return __request(OpenAPI, {\n method: 'HEAD',\n url: '/api/v1/internal/run-trial-reminders',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Execute trial reminder workflow.\n * @returns any Workflow started.\n * @throws ApiError\n */\n public static postTrialReminders(): CancelablePromise<any> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/internal/run-trial-reminders',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Trigger nightly auto-sync job across apps.\n * @param requestBody\n * @returns any Job accepted.\n * @throws ApiError\n */\n public static postInternalAutoSync(\n requestBody?: InternalTaskRequest,\n ): CancelablePromise<any> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/internal/auto-sync',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Perform competitor metadata sync.\n * @param requestBody\n * @returns any Sync started.\n * @throws ApiError\n */\n public static postInternalCompetitorSync(\n requestBody?: InternalTaskRequest,\n ): CancelablePromise<any> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/internal/competitors/sync',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Aggregate metrics into dashboards.\n * @param requestBody\n * @returns any Aggregation started.\n * @throws ApiError\n */\n public static postInternalMetricsAggregate(\n requestBody?: InternalTaskRequest,\n ): CancelablePromise<any> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/internal/metrics/aggregate',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { FeatureImpactPredictionRequest } from '../models/FeatureImpactPredictionRequest';\nimport type { IssueSeverityPredictionRequest } from '../models/IssueSeverityPredictionRequest';\nimport type { PredictionResponse } from '../models/PredictionResponse';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class PredictionsService {\n /**\n * Retrieve rating forecasts for an app.\n * @param appUuid\n * @param horizonDays\n * @returns PredictionResponse Forecast returned.\n * @throws ApiError\n */\n public static getRatingForecast(\n appUuid: string,\n horizonDays?: number,\n ): CancelablePromise<PredictionResponse> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/predictions/rating-forecast',\n query: {\n 'app_uuid': appUuid,\n 'horizon_days': horizonDays,\n },\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Compute predicted driver impact for product features.\n * @param requestBody\n * @returns PredictionResponse Feature impact predicted.\n * @throws ApiError\n */\n public static postFeatureImpactPrediction(\n requestBody: FeatureImpactPredictionRequest,\n ): CancelablePromise<PredictionResponse> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/predictions/feature-impact',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 503: `Upstream model temporarily unavailable.`,\n },\n });\n }\n /**\n * Predict severity for issues detected in reviews.\n * @param requestBody\n * @returns PredictionResponse Severity predictions returned.\n * @throws ApiError\n */\n public static postIssueSeverityPrediction(\n requestBody: IssueSeverityPredictionRequest,\n ): CancelablePromise<PredictionResponse> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/predictions/issue-severity',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 503: `Upstream model temporarily unavailable.`,\n },\n });\n }\n /**\n * Retrieve AI analysis engine status.\n * Returns the status of the LLM-based analysis system (Claude via AWS Bedrock).\n * @returns any AI analysis engine status returned.\n * @throws ApiError\n */\n public static getModelStatus(): CancelablePromise<Record<string, any>> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/predictions/model-status',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n \nimport type { RatingsComparison } from '../models/RatingsComparison';\nimport type { RatingSnapshot } from '../models/RatingSnapshot';\nimport type { RatingSummary } from '../models/RatingSummary';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class RatingsService {\n /**\n * Historical rating snapshots for an app.\n * @param appUuid\n * @param limit\n * @param cursor\n * @param order\n * @param platform\n * @param startDate\n * @param endDate\n * @returns any Rating history returned.\n * @throws ApiError\n */\n public static getRatingsHistory(\n appUuid: string,\n limit?: number,\n cursor?: string,\n order?: 'asc' | 'desc',\n platform?: string,\n startDate?: string,\n endDate?: string,\n ): CancelablePromise<{\n snapshots?: Array<RatingSnapshot>;\n next_cursor?: string;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{appUuid}/ratings/history',\n path: {\n 'appUuid': appUuid,\n },\n query: {\n 'limit': limit,\n 'cursor': cursor,\n 'order': order,\n 'platform': platform,\n 'start_date': startDate,\n 'end_date': endDate,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Latest rating snapshot for an app.\n * @param appUuid\n * @param platform\n * @returns RatingSummary Rating summary returned.\n * @throws ApiError\n */\n public static getRatingsSummary(\n appUuid: string,\n platform?: string,\n ): CancelablePromise<RatingSummary> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{appUuid}/ratings/summary',\n path: {\n 'appUuid': appUuid,\n },\n query: {\n 'platform': platform,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Compare app ratings against competitors.\n * @param appUuid\n * @param platform\n * @returns RatingsComparison Comparison returned.\n * @throws ApiError\n */\n public static getRatingsComparison(\n appUuid: string,\n platform?: string,\n ): CancelablePromise<RatingsComparison> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{appUuid}/ratings/comparison',\n path: {\n 'appUuid': appUuid,\n },\n query: {\n 'platform': platform,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ReplyTemplate } from '../models/ReplyTemplate';\nimport type { ReplyTemplatePatchRequest } from '../models/ReplyTemplatePatchRequest';\nimport type { ReplyTemplateRequest } from '../models/ReplyTemplateRequest';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class ReplyTemplatesService {\n /**\n * List system and custom reply templates.\n * @returns any Templates returned.\n * @throws ApiError\n */\n public static getReplyTemplates(): CancelablePromise<{\n templates?: Array<ReplyTemplate>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/reply-templates',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Create a custom reply template.\n * @param requestBody\n * @returns ReplyTemplate Template created.\n * @throws ApiError\n */\n public static postReplyTemplate(\n requestBody: ReplyTemplateRequest,\n ): CancelablePromise<ReplyTemplate> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/reply-templates',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Replace a reply template.\n * @param templateId\n * @param requestBody\n * @returns ReplyTemplate Template updated.\n * @throws ApiError\n */\n public static putReplyTemplate(\n templateId: string,\n requestBody: ReplyTemplateRequest,\n ): CancelablePromise<ReplyTemplate> {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/api/v1/reply-templates/{templateId}',\n path: {\n 'templateId': templateId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Patch fields on a reply template.\n * @param templateId\n * @param requestBody\n * @returns ReplyTemplate Template updated.\n * @throws ApiError\n */\n public static patchReplyTemplate(\n templateId: string,\n requestBody: ReplyTemplatePatchRequest,\n ): CancelablePromise<ReplyTemplate> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/api/v1/reply-templates/{templateId}',\n path: {\n 'templateId': templateId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Remove a custom reply template.\n * @param templateId\n * @returns void\n * @throws ApiError\n */\n public static deleteReplyTemplate(\n templateId: string,\n ): CancelablePromise<void> {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/api/v1/reply-templates/{templateId}',\n path: {\n 'templateId': templateId,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * List reply template performance metrics.\n * @param days\n * @param templateId\n * @returns any Template analytics returned.\n * @throws ApiError\n */\n public static getTemplatePerformance(\n days: number = 90,\n templateId?: string,\n ): CancelablePromise<Record<string, any>> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/reply-templates/performance',\n query: {\n 'days': days,\n 'template_id': templateId,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * Alias for template performance listing.\n * @returns any Template analytics returned.\n * @throws ApiError\n */\n public static getTemplateComparison(): CancelablePromise<Record<string, any>> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/reply-templates/comparison',\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ReplyAnalytics } from '../models/ReplyAnalytics';\nimport type { Review } from '../models/Review';\nimport type { ReviewReplyDraft } from '../models/ReviewReplyDraft';\nimport type { ReviewReplyGenerateRequest } from '../models/ReviewReplyGenerateRequest';\nimport type { ReviewReplyPostRequest } from '../models/ReviewReplyPostRequest';\nimport type { ReviewReplyStatus } from '../models/ReviewReplyStatus';\nimport type { ReviewSummary } from '../models/ReviewSummary';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class ReviewsService {\n /**\n * Paginated reviews for an app.\n * @param appUuid\n * @param limit\n * @param cursor\n * @param sentiment\n * @param platform\n * @returns any Reviews returned.\n * @throws ApiError\n */\n public static getAppReviews(\n appUuid: string,\n limit?: number,\n cursor?: string,\n sentiment?: string,\n platform?: string,\n ): CancelablePromise<{\n reviews?: Array<ReviewSummary>;\n next_cursor?: string;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{appUuid}/reviews',\n path: {\n 'appUuid': appUuid,\n },\n query: {\n 'limit': limit,\n 'cursor': cursor,\n 'sentiment': sentiment,\n 'platform': platform,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Retrieve stored reply metadata for a review.\n * @param appUuid\n * @param reviewId\n * @returns ReviewReplyStatus Reply status returned.\n * @throws ApiError\n */\n public static getReviewReply(\n appUuid: string,\n reviewId: string,\n ): CancelablePromise<ReviewReplyStatus> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{appUuid}/reviews/{reviewId}/reply',\n path: {\n 'appUuid': appUuid,\n 'reviewId': reviewId,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Generate an AI-generated reply draft for a review.\n * @param appUuid\n * @param reviewId\n * @param requestBody\n * @returns ReviewReplyDraft Draft generated.\n * @throws ApiError\n */\n public static postGenerateReviewReply(\n appUuid: string,\n reviewId: string,\n requestBody: ReviewReplyGenerateRequest,\n ): CancelablePromise<ReviewReplyDraft> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/apps/{appUuid}/reviews/{reviewId}/reply/generate',\n path: {\n 'appUuid': appUuid,\n 'reviewId': reviewId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Publish a reply back to the originating store.\n * @param appUuid\n * @param reviewId\n * @param requestBody\n * @returns ReviewReplyStatus Reply posted.\n * @throws ApiError\n */\n public static postReviewReply(\n appUuid: string,\n reviewId: string,\n requestBody: ReviewReplyPostRequest,\n ): CancelablePromise<ReviewReplyStatus> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/apps/{appUuid}/reviews/{reviewId}/reply/post',\n path: {\n 'appUuid': appUuid,\n 'reviewId': reviewId,\n },\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Aggregate reply performance metrics for an app.\n * @param appUuid\n * @returns ReplyAnalytics Reply analytics returned.\n * @throws ApiError\n */\n public static getReplyAnalytics(\n appUuid: string,\n ): CancelablePromise<ReplyAnalytics> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{appUuid}/replies/analytics',\n path: {\n 'appUuid': appUuid,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n 404: `Resource not found.`,\n },\n });\n }\n /**\n * Discover reviews across all connected apps.\n * @param limit\n * @param cursor\n * @param appUuid\n * @param sentiment\n * @returns any Reviews returned.\n * @throws ApiError\n */\n public static getTenantReviews(\n limit?: number,\n cursor?: string,\n appUuid?: string,\n sentiment?: string,\n ): CancelablePromise<{\n reviews?: Array<ReviewSummary>;\n next_cursor?: string;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/reviews',\n query: {\n 'limit': limit,\n 'cursor': cursor,\n 'app_uuid': appUuid,\n 'sentiment': sentiment,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Retrieve reviews tied to a specific segment.\n * @param appUuid App UUID assigned by Tritonium.\n * @param segmentType\n * @returns any Reviews returned.\n * @throws ApiError\n */\n public static getSegmentReviews(\n appUuid: string,\n segmentType: string,\n ): CancelablePromise<{\n reviews?: Array<Review>;\n metadata?: Record<string, any>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{app_uuid}/segments/{segment_type}/reviews',\n path: {\n 'app_uuid': appUuid,\n 'segment_type': segmentType,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * List reviews with viral engagement.\n * @param appUuid App UUID assigned by Tritonium.\n * @param lookbackHours\n * @param minEngagement\n * @param sentiment\n * @returns any Viral review payload.\n * @throws ApiError\n */\n public static getViralReviews(\n appUuid: string,\n lookbackHours: number = 48,\n minEngagement: number = 50,\n sentiment?: 'all' | 'positive' | 'negative' | 'neutral',\n ): CancelablePromise<{\n viral_reviews?: Array<Review>;\n summary?: Record<string, any>;\n metadata?: Record<string, any>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/apps/{app_uuid}/reviews/viral',\n path: {\n 'app_uuid': appUuid,\n },\n query: {\n 'lookback_hours': lookbackHours,\n 'min_engagement': minEngagement,\n 'sentiment': sentiment,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n /**\n * Retrieve engagement history for a review.\n * @param reviewId\n * @param appUuid\n * @returns any History returned.\n * @throws ApiError\n */\n public static getReviewEngagementHistory(\n reviewId: string,\n appUuid: string,\n ): CancelablePromise<{\n history?: Array<Record<string, any>>;\n metadata?: Record<string, any>;\n }> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/reviews/{review_id}/engagement/history',\n path: {\n 'review_id': reviewId,\n },\n query: {\n 'app_uuid': appUuid,\n },\n errors: {\n 401: `Authentication required or token invalid.`,\n 403: `Request not permitted for this user.`,\n },\n });\n }\n}\n","/* generated using openapi-typescript-codegen -- do not edit */\n/* istanbul ignore file */\n/* tslint:disable */\n \nimport type { ProfileUpdateRequest } from '../models/ProfileUpdateRequest';\nimport type { UserSummary } from '../models/UserSummary';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\nexport class UsersService {\n /**\n * Retrieve the authenticated user's profile.\n * @returns UserSummary Profile details.\n * @throws ApiError\n */\n public static getMe(): CancelablePromise<UserSummary> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/v1/me',\n errors: {\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Update profile attributes for the active user.\n * @param requestBody\n * @returns UserSummary Profile updated.\n * @throws ApiError\n */\n public static patchProfile(\n requestBody: ProfileUpdateRequest,\n ): CancelablePromise<UserSummary> {\n return __request(OpenAPI, {\n method: 'PATCH',\n url: '/api/v1/profile',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n },\n });\n }\n /**\n * Mark onboarding tour completion for the signed-in user.\n * @param requestBody\n * @returns any User updated.\n * @throws ApiError\n */\n public static postUserOnboardingState(\n requestBody: {\n onboarding_tour_completed?: boolean;\n },\n ): CancelablePromise<{\n user?: UserSummary;\n }> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/v1/users/me/onboarding',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n /**\n * Replace profile attributes for the active user.\n * @param requestBody\n * @returns UserSummary Profile updated.\n * @throws ApiError\n */\n public static putProfile(\n requestBody: ProfileUpdateRequest,\n ): CancelablePromise<UserSummary> {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/api/v1/users/me/onboarding',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Request validation failed.`,\n 401: `Authentication required or token invalid.`,\n },\n });\n }\n}\n"]}
|