{"version":3,"sources":["../../builds/node.ts","../../src/agentStudioClient.ts"],"sourcesContent":["// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.\n\nexport type AgentStudioClient = ReturnType<typeof createAgentStudioClient> & AgentStudioNodeHelpers;\n\nimport { gzipSync } from 'node:zlib';\n\nimport { createHmac } from 'node:crypto';\n\nimport { createMemoryCache, createNullCache, createNullLogger } from '@algolia/client-common';\nimport { createHttpRequester } from '@algolia/requester-node-http';\n\nimport type { ClientOptions } from '@algolia/client-common';\n\nimport { createAgentStudioClient } from '../src/agentStudioClient';\n\nexport { apiClientVersion } from '../src/agentStudioClient';\n\nexport * from '../model';\n\nimport type { AgentStudioNodeHelpers } from '../model';\n\nexport function agentStudioClient(\n  appId: string,\n  apiKey: string,\n  options?: ClientOptions | undefined,\n): AgentStudioClient {\n  if (!appId || typeof appId !== 'string') {\n    throw new Error('`appId` is missing.');\n  }\n\n  if (!apiKey || typeof apiKey !== 'string') {\n    throw new Error('`apiKey` is missing.');\n  }\n\n  return {\n    ...createAgentStudioClient({\n      appId,\n      apiKey,\n      timeouts: {\n        connect: 25000,\n        read: 25000,\n        write: 25000,\n      },\n      logger: createNullLogger(),\n      requester: createHttpRequester(),\n      algoliaAgents: [{ segment: 'Node.js', version: process.versions.node }],\n      responsesCache: createNullCache(),\n      requestsCache: createNullCache(),\n      hostsCache: createMemoryCache(),\n      compress: async (data: string): Promise<Uint8Array> => gzipSync(Buffer.from(data)),\n      ...options,\n    }),\n    forgeSecuredUserToken({\n      secretKey,\n      secretKeyId,\n      userId,\n      expiresIn = 24 * 3600, // 24 hours\n    }: {\n      secretKey: string;\n      secretKeyId: string;\n      userId: string;\n      expiresIn?: number;\n    }): string {\n      const header = Buffer.from(JSON.stringify({ alg: 'HS256', typ: 'JWT', kid: secretKeyId })).toString('base64url');\n      const payload = Buffer.from(\n        JSON.stringify({ sub: userId, exp: Math.floor(Date.now() / 1000) + expiresIn }),\n      ).toString('base64url');\n      const signature = createHmac('sha256', secretKey).update(`${header}.${payload}`).digest('base64url');\n      return `${header}.${payload}.${signature}`;\n    },\n  };\n}\n","// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.\n\nimport type {\n  CreateClientOptions,\n  Headers,\n  Host,\n  QueryParameters,\n  Request,\n  RequestOptions,\n  ServerSentEvent,\n  StreamEvent,\n} from '@algolia/client-common';\nimport { createAuth, createTransporter, getAlgoliaAgent, shuffle, validateRequired } from '@algolia/client-common';\n\nimport type { AgentConfigCreate } from '../model/agentConfigCreate';\nimport type { AgentWithVersionResponse } from '../model/agentWithVersionResponse';\nimport type { AllowedDomainListResponse } from '../model/allowedDomainListResponse';\nimport type { AllowedDomainResponse } from '../model/allowedDomainResponse';\nimport type { ApplicationConfigPatch } from '../model/applicationConfigPatch';\nimport type { ApplicationConfigResponse } from '../model/applicationConfigResponse';\nimport type { ConversationFullResponse } from '../model/conversationFullResponse';\nimport type { FeedbackCreationRequest } from '../model/feedbackCreationRequest';\nimport type { FeedbackResponse } from '../model/feedbackResponse';\nimport type { PaginatedAgentsResponse } from '../model/paginatedAgentsResponse';\nimport type { PaginatedConversationsResponse } from '../model/paginatedConversationsResponse';\nimport type { PaginatedProviderAuthenticationsResponse } from '../model/paginatedProviderAuthenticationsResponse';\nimport type { PaginatedSecretKeysResponse } from '../model/paginatedSecretKeysResponse';\nimport type { ProviderAuthenticationCreate } from '../model/providerAuthenticationCreate';\nimport type { ProviderAuthenticationResponse } from '../model/providerAuthenticationResponse';\nimport type { SecretKeyCreate } from '../model/secretKeyCreate';\nimport type { SecretKeyResponse } from '../model/secretKeyResponse';\nimport type { UserDataResponse } from '../model/userDataResponse';\n\nimport type {\n  BulkCreateAllowedDomainsProps,\n  BulkDeleteAllowedDomainsProps,\n  CreateAgentAllowedDomainProps,\n  CreateAgentCompletionProps,\n  CustomDeleteProps,\n  CustomGetProps,\n  CustomPostProps,\n  CustomPutProps,\n  DeleteAgentConversationsProps,\n  DeleteAgentProps,\n  DeleteAllowedDomainProps,\n  DeleteConversationProps,\n  DeleteProviderProps,\n  DeleteSecretKeyProps,\n  DeleteUserDataProps,\n  ExportConversationsProps,\n  GetAgentProps,\n  GetAllowedDomainProps,\n  GetConversationProps,\n  GetProviderProps,\n  GetSecretKeyProps,\n  GetUserDataProps,\n  InvalidateAgentCacheProps,\n  ListAgentAllowedDomainsProps,\n  ListAgentConversationsProps,\n  ListAgentsProps,\n  ListProviderModelsProps,\n  ListProvidersProps,\n  ListSecretKeysProps,\n  PublishAgentProps,\n  UnpublishAgentProps,\n  UpdateAgentProps,\n  UpdateProviderProps,\n  UpdateSecretKeyProps,\n} from '../model/clientMethodProps';\n\nexport const apiClientVersion = '1.0.0';\n\nfunction getDefaultHosts(appId: string): Host[] {\n  return (\n    [\n      {\n        url: `${appId}-dsn.algolia.net`,\n        accept: 'read',\n        protocol: 'https',\n      },\n      {\n        url: `${appId}.algolia.net`,\n        accept: 'write',\n        protocol: 'https',\n      },\n    ] as Host[]\n  ).concat(\n    shuffle([\n      {\n        url: `${appId}-1.algolianet.com`,\n        accept: 'readWrite',\n        protocol: 'https',\n      },\n      {\n        url: `${appId}-2.algolianet.com`,\n        accept: 'readWrite',\n        protocol: 'https',\n      },\n      {\n        url: `${appId}-3.algolianet.com`,\n        accept: 'readWrite',\n        protocol: 'https',\n      },\n    ]),\n  );\n}\n\nexport function createAgentStudioClient({\n  appId: appIdOption,\n  apiKey: apiKeyOption,\n  authMode,\n  algoliaAgents,\n  ...options\n}: CreateClientOptions) {\n  const auth = createAuth(appIdOption, apiKeyOption, authMode);\n  const transporter = createTransporter({\n    hosts: getDefaultHosts(appIdOption),\n    ...options,\n    algoliaAgent: getAlgoliaAgent({\n      algoliaAgents,\n      client: 'AgentStudio',\n      version: apiClientVersion,\n    }),\n    baseHeaders: {\n      'content-type': 'text/plain',\n      ...auth.headers(),\n      ...options.baseHeaders,\n    },\n    baseQueryParameters: {\n      ...auth.queryParameters(),\n      ...options.baseQueryParameters,\n    },\n  });\n\n  return {\n    transporter,\n\n    /**\n     * The `appId` currently in use.\n     */\n    appId: appIdOption,\n\n    /**\n     * The `apiKey` currently in use.\n     */\n    apiKey: apiKeyOption,\n\n    /**\n     * Clears the cache of the transporter for the `requestsCache` and `responsesCache` properties.\n     */\n    clearCache(): Promise<void> {\n      return Promise.all([transporter.requestsCache.clear(), transporter.responsesCache.clear()]).then(() => undefined);\n    },\n\n    /**\n     * Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.\n     */\n    get _ua(): string {\n      return transporter.algoliaAgent.value;\n    },\n\n    /**\n     * Adds a `segment` to the `x-algolia-agent` sent with every requests.\n     *\n     * @param segment - The algolia agent (user-agent) segment to add.\n     * @param version - The version of the agent.\n     */\n    addAlgoliaAgent(segment: string, version?: string | undefined): void {\n      transporter.algoliaAgent.add({ segment, version });\n    },\n\n    /**\n     * Helper method to switch the API key used to authenticate the requests.\n     *\n     * @param params - Method params.\n     * @param params.apiKey - The new API Key to use.\n     */\n    setClientApiKey({ apiKey }: { apiKey: string }): void {\n      if (!authMode || authMode === 'WithinHeaders') {\n        transporter.baseHeaders['x-algolia-api-key'] = apiKey;\n      } else {\n        transporter.baseQueryParameters['x-algolia-api-key'] = apiKey;\n      }\n    },\n\n    /**\n     * Add multiple allowed domain patterns. Duplicates are skipped.\n     *\n     * Required API Key ACLs:\n     *  - editSettings\n     * @param bulkCreateAllowedDomains - The bulkCreateAllowedDomains object.\n     * @param bulkCreateAllowedDomains.agentId - The agentId.\n     * @param bulkCreateAllowedDomains.allowedDomainBulkInsert - The allowedDomainBulkInsert object.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    bulkCreateAllowedDomains(\n      { agentId, allowedDomainBulkInsert }: BulkCreateAllowedDomainsProps,\n      requestOptions?: RequestOptions,\n    ): Promise<AllowedDomainListResponse> {\n      validateRequired('agentId', 'bulkCreateAllowedDomains', agentId);\n\n      validateRequired('allowedDomainBulkInsert', 'bulkCreateAllowedDomains', allowedDomainBulkInsert);\n\n      validateRequired('allowedDomainBulkInsert.domains', 'bulkCreateAllowedDomains', allowedDomainBulkInsert.domains);\n\n      const requestPath = '/agent-studio/1/agents/{agentId}/allowed-domains/bulk'.replace(\n        '{agentId}',\n        encodeURIComponent(agentId),\n      );\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'POST',\n        path: requestPath,\n        queryParameters,\n        headers,\n        data: allowedDomainBulkInsert,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Delete allowed domains by id list.\n     *\n     * Required API Key ACLs:\n     *  - editSettings\n     * @param bulkDeleteAllowedDomains - The bulkDeleteAllowedDomains object.\n     * @param bulkDeleteAllowedDomains.agentId - The agentId.\n     * @param bulkDeleteAllowedDomains.allowedDomainBulkDelete - The allowedDomainBulkDelete object.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    bulkDeleteAllowedDomains(\n      { agentId, allowedDomainBulkDelete }: BulkDeleteAllowedDomainsProps,\n      requestOptions?: RequestOptions,\n    ): Promise<void> {\n      validateRequired('agentId', 'bulkDeleteAllowedDomains', agentId);\n\n      validateRequired('allowedDomainBulkDelete', 'bulkDeleteAllowedDomains', allowedDomainBulkDelete);\n\n      validateRequired(\n        'allowedDomainBulkDelete.domainIds',\n        'bulkDeleteAllowedDomains',\n        allowedDomainBulkDelete.domainIds,\n      );\n\n      const requestPath = '/agent-studio/1/agents/{agentId}/allowed-domains/bulk'.replace(\n        '{agentId}',\n        encodeURIComponent(agentId),\n      );\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'DELETE',\n        path: requestPath,\n        queryParameters,\n        headers,\n        data: allowedDomainBulkDelete,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Create a new agent.\n     *\n     * Required API Key ACLs:\n     *  - editSettings\n     * @param agentConfigCreate - The agentConfigCreate object.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    createAgent(\n      agentConfigCreate: AgentConfigCreate,\n      requestOptions?: RequestOptions,\n    ): Promise<AgentWithVersionResponse> {\n      validateRequired('agentConfigCreate', 'createAgent', agentConfigCreate);\n\n      validateRequired('agentConfigCreate.name', 'createAgent', agentConfigCreate.name);\n      validateRequired('agentConfigCreate.instructions', 'createAgent', agentConfigCreate.instructions);\n\n      const requestPath = '/agent-studio/1/agents';\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'POST',\n        path: requestPath,\n        queryParameters,\n        headers,\n        data: agentConfigCreate,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Add a single allowed domain pattern (e.g. https://app.example.com or *.example.com).\n     *\n     * Required API Key ACLs:\n     *  - editSettings\n     * @param createAgentAllowedDomain - The createAgentAllowedDomain object.\n     * @param createAgentAllowedDomain.agentId - The agentId.\n     * @param createAgentAllowedDomain.allowedDomainCreate - The allowedDomainCreate object.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    createAgentAllowedDomain(\n      { agentId, allowedDomainCreate }: CreateAgentAllowedDomainProps,\n      requestOptions?: RequestOptions,\n    ): Promise<AllowedDomainResponse> {\n      validateRequired('agentId', 'createAgentAllowedDomain', agentId);\n\n      validateRequired('allowedDomainCreate', 'createAgentAllowedDomain', allowedDomainCreate);\n\n      validateRequired('allowedDomainCreate.domain', 'createAgentAllowedDomain', allowedDomainCreate.domain);\n\n      const requestPath = '/agent-studio/1/agents/{agentId}/allowed-domains'.replace(\n        '{agentId}',\n        encodeURIComponent(agentId),\n      );\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'POST',\n        path: requestPath,\n        queryParameters,\n        headers,\n        data: allowedDomainCreate,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Create a completion for the specified agent.  This endpoint handles two types of requests: 1. Normal completion request: User message -> Agent response 2. Tool approval response: User approval -> Execute tool -> Agent response  Tool Approval Flow (for MCP tools with requiresApproval: true): - Request 1: User sends message -> Agent requests tool call -> Return approval request - Request 2: User approves -> Execute tool -> Agent continues with result.\n     *\n     * Required API Key ACLs:\n     *  - search\n     * @param createAgentCompletion - The createAgentCompletion object.\n     * @param createAgentCompletion.agentId - The agentId.\n     * @param createAgentCompletion.compatibilityMode - Compatibility mode for the completion API.\n     * @param createAgentCompletion.agentCompletionRequest - The agentCompletionRequest object.\n     * @param createAgentCompletion.stream - Whether to stream the response or not.\n     * @param createAgentCompletion.cache - Use cached responses if available.\n     * @param createAgentCompletion.memory - Set to false to disable memory (enabled by default).\n     * @param createAgentCompletion.analytics - Set to false to skip analytics for this completion (default: true). Disables Agent Studio BigQuery analytics, Algolia search analytics, click analytics, and query-suggestions training. Useful for offline-eval workflows.\n     * @param createAgentCompletion.xAlgoliaSecureUserToken - The X-Algolia-Secure-User-Token.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    createAgentCompletion(\n      {\n        agentId,\n        compatibilityMode,\n        agentCompletionRequest,\n        stream,\n        cache,\n        memory,\n        analytics,\n        xAlgoliaSecureUserToken,\n      }: CreateAgentCompletionProps,\n      requestOptions?: RequestOptions,\n    ): Promise<{ [key: string]: any }> {\n      validateRequired('agentId', 'createAgentCompletion', agentId);\n\n      validateRequired('compatibilityMode', 'createAgentCompletion', compatibilityMode);\n\n      validateRequired('agentCompletionRequest', 'createAgentCompletion', agentCompletionRequest);\n\n      const requestPath = '/agent-studio/1/agents/{agentId}/completions'.replace(\n        '{agentId}',\n        encodeURIComponent(agentId),\n      );\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      if (compatibilityMode !== undefined) {\n        queryParameters['compatibilityMode'] = compatibilityMode.toString();\n      }\n\n      if (stream !== undefined) {\n        queryParameters['stream'] = stream.toString();\n      }\n\n      if (cache !== undefined) {\n        queryParameters['cache'] = cache.toString();\n      }\n\n      if (memory !== undefined) {\n        queryParameters['memory'] = memory.toString();\n      }\n\n      if (analytics !== undefined) {\n        queryParameters['analytics'] = analytics.toString();\n      }\n\n      if (xAlgoliaSecureUserToken !== undefined) {\n        headers['X-Algolia-Secure-User-Token'] = xAlgoliaSecureUserToken.toString();\n      }\n\n      const request: Request = {\n        method: 'POST',\n        path: requestPath,\n        queryParameters,\n        headers,\n        data: agentCompletionRequest,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n    /**\n     * Create a completion for the specified agent.  This endpoint handles two types of requests: 1. Normal completion request: User message -> Agent response 2. Tool approval response: User approval -> Execute tool -> Agent response  Tool Approval Flow (for MCP tools with requiresApproval: true): - Request 1: User sends message -> Agent requests tool call -> Return approval request - Request 2: User approves -> Execute tool -> Agent continues with result. (raw streaming version).\n     *\n     * Yields raw {@link ServerSentEvent} objects. Each event's `data` field contains a JSON-encoded `{ [key: string]: any; }` string.\n     *\n     * @see createAgentCompletionStream for the parsed variant.\n     * @see createAgentCompletion for the non-streaming version.\n     */\n    createAgentCompletionStreamRaw(\n      {\n        agentId,\n        compatibilityMode,\n        agentCompletionRequest,\n        stream,\n        cache,\n        memory,\n        analytics,\n        xAlgoliaSecureUserToken,\n      }: CreateAgentCompletionProps,\n      requestOptions?: RequestOptions,\n    ): AsyncGenerator<ServerSentEvent> {\n      validateRequired('agentId', 'createAgentCompletionStreamRaw', agentId);\n\n      validateRequired('compatibilityMode', 'createAgentCompletionStreamRaw', compatibilityMode);\n\n      validateRequired('agentCompletionRequest', 'createAgentCompletionStreamRaw', agentCompletionRequest);\n\n      const requestPath = '/agent-studio/1/agents/{agentId}/completions'.replace(\n        '{agentId}',\n        encodeURIComponent(agentId),\n      );\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      if (compatibilityMode !== undefined) {\n        queryParameters['compatibilityMode'] = compatibilityMode.toString();\n      }\n\n      if (stream !== undefined) {\n        queryParameters['stream'] = stream.toString();\n      }\n\n      if (cache !== undefined) {\n        queryParameters['cache'] = cache.toString();\n      }\n\n      if (memory !== undefined) {\n        queryParameters['memory'] = memory.toString();\n      }\n\n      if (analytics !== undefined) {\n        queryParameters['analytics'] = analytics.toString();\n      }\n\n      if (xAlgoliaSecureUserToken !== undefined) {\n        headers['X-Algolia-Secure-User-Token'] = xAlgoliaSecureUserToken.toString();\n      }\n\n      const request: Request = {\n        method: 'POST',\n        path: requestPath,\n        queryParameters,\n        headers,\n        data: agentCompletionRequest,\n      };\n\n      return transporter.requestStream(request, requestOptions);\n    },\n    /**\n     * Create a completion for the specified agent.  This endpoint handles two types of requests: 1. Normal completion request: User message -> Agent response 2. Tool approval response: User approval -> Execute tool -> Agent response  Tool Approval Flow (for MCP tools with requiresApproval: true): - Request 1: User sends message -> Agent requests tool call -> Return approval request - Request 2: User approves -> Execute tool -> Agent continues with result. (streaming version).\n     *\n     * Yields {@link StreamEvent} objects wrapping parsed `{ [key: string]: any; }` payloads.\n     *\n     * @see createAgentCompletionStreamRaw for the raw variant.\n     * @see createAgentCompletion for the non-streaming version.\n     */\n    async *createAgentCompletionStream(\n      {\n        agentId,\n        compatibilityMode,\n        agentCompletionRequest,\n        stream,\n        cache,\n        memory,\n        analytics,\n        xAlgoliaSecureUserToken,\n      }: CreateAgentCompletionProps,\n      requestOptions?: RequestOptions,\n    ): AsyncGenerator<StreamEvent<{ [key: string]: any }>> {\n      for await (const event of this.createAgentCompletionStreamRaw(\n        {\n          agentId,\n          compatibilityMode,\n          agentCompletionRequest,\n          stream,\n          cache,\n          memory,\n          analytics,\n          xAlgoliaSecureUserToken,\n        },\n        requestOptions,\n      )) {\n        try {\n          const data = JSON.parse(event.data) as { [key: string]: any };\n          yield { data, raw: event };\n        } catch (e) {\n          yield { data: null, raw: event, error: e as Error };\n        }\n      }\n    },\n\n    /**\n     * Create new feedback entry.\n     *\n     * Required API Key ACLs:\n     *  - search\n     * @param feedbackCreationRequest - The feedbackCreationRequest object.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    createFeedback(\n      feedbackCreationRequest: FeedbackCreationRequest,\n      requestOptions?: RequestOptions,\n    ): Promise<FeedbackResponse> {\n      validateRequired('feedbackCreationRequest', 'createFeedback', feedbackCreationRequest);\n\n      validateRequired('feedbackCreationRequest.messageId', 'createFeedback', feedbackCreationRequest.messageId);\n      validateRequired('feedbackCreationRequest.agentId', 'createFeedback', feedbackCreationRequest.agentId);\n      validateRequired('feedbackCreationRequest.vote', 'createFeedback', feedbackCreationRequest.vote);\n\n      const requestPath = '/agent-studio/1/feedback';\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'POST',\n        path: requestPath,\n        queryParameters,\n        headers,\n        data: feedbackCreationRequest,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Create Provider.\n     *\n     * Required API Key ACLs:\n     *  - editSettings\n     * @param providerAuthenticationCreate - The providerAuthenticationCreate object.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    createProvider(\n      providerAuthenticationCreate: ProviderAuthenticationCreate,\n      requestOptions?: RequestOptions,\n    ): Promise<ProviderAuthenticationResponse> {\n      validateRequired('providerAuthenticationCreate', 'createProvider', providerAuthenticationCreate);\n\n      validateRequired('providerAuthenticationCreate.name', 'createProvider', providerAuthenticationCreate.name);\n      validateRequired(\n        'providerAuthenticationCreate.providerName',\n        'createProvider',\n        providerAuthenticationCreate.providerName,\n      );\n      validateRequired('providerAuthenticationCreate.input', 'createProvider', providerAuthenticationCreate.input);\n\n      const requestPath = '/agent-studio/1/providers';\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'POST',\n        path: requestPath,\n        queryParameters,\n        headers,\n        data: providerAuthenticationCreate,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Create Secret Key.\n     *\n     * Required API Key ACLs:\n     *  - admin\n     * @param secretKeyCreate - The secretKeyCreate object.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    createSecretKey(secretKeyCreate: SecretKeyCreate, requestOptions?: RequestOptions): Promise<SecretKeyResponse> {\n      validateRequired('secretKeyCreate', 'createSecretKey', secretKeyCreate);\n\n      validateRequired('secretKeyCreate.name', 'createSecretKey', secretKeyCreate.name);\n\n      const requestPath = '/agent-studio/1/secret-keys';\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'POST',\n        path: requestPath,\n        queryParameters,\n        headers,\n        data: secretKeyCreate,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * This method lets you send requests to the Algolia REST API.\n     * @param customDelete - The customDelete object.\n     * @param customDelete.path - Path of the endpoint, for example `1/newFeature`.\n     * @param customDelete.parameters - Query parameters to apply to the current query.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    customDelete(\n      { path, parameters }: CustomDeleteProps,\n      requestOptions?: RequestOptions,\n    ): Promise<Record<string, unknown>> {\n      validateRequired('path', 'customDelete', path);\n\n      const requestPath = '/agent-studio/{path}'.replace('{path}', path);\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = parameters ? parameters : {};\n\n      const request: Request = {\n        method: 'DELETE',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * This method lets you send requests to the Algolia REST API.\n     * @param customGet - The customGet object.\n     * @param customGet.path - Path of the endpoint, for example `1/newFeature`.\n     * @param customGet.parameters - Query parameters to apply to the current query.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    customGet({ path, parameters }: CustomGetProps, requestOptions?: RequestOptions): Promise<Record<string, unknown>> {\n      validateRequired('path', 'customGet', path);\n\n      const requestPath = '/agent-studio/{path}'.replace('{path}', path);\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = parameters ? parameters : {};\n\n      const request: Request = {\n        method: 'GET',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * This method lets you send requests to the Algolia REST API.\n     * @param customPost - The customPost object.\n     * @param customPost.path - Path of the endpoint, for example `1/newFeature`.\n     * @param customPost.parameters - Query parameters to apply to the current query.\n     * @param customPost.body - Parameters to send with the custom request.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    customPost(\n      { path, parameters, body }: CustomPostProps,\n      requestOptions?: RequestOptions,\n    ): Promise<Record<string, unknown>> {\n      validateRequired('path', 'customPost', path);\n\n      const requestPath = '/agent-studio/{path}'.replace('{path}', path);\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = parameters ? parameters : {};\n\n      const request: Request = {\n        method: 'POST',\n        path: requestPath,\n        queryParameters,\n        headers,\n        data: body ? body : {},\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * This method lets you send requests to the Algolia REST API.\n     * @param customPut - The customPut object.\n     * @param customPut.path - Path of the endpoint, for example `1/newFeature`.\n     * @param customPut.parameters - Query parameters to apply to the current query.\n     * @param customPut.body - Parameters to send with the custom request.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    customPut(\n      { path, parameters, body }: CustomPutProps,\n      requestOptions?: RequestOptions,\n    ): Promise<Record<string, unknown>> {\n      validateRequired('path', 'customPut', path);\n\n      const requestPath = '/agent-studio/{path}'.replace('{path}', path);\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = parameters ? parameters : {};\n\n      const request: Request = {\n        method: 'PUT',\n        path: requestPath,\n        queryParameters,\n        headers,\n        data: body ? body : {},\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Delete the specified agent.\n     *\n     * Required API Key ACLs:\n     *  - editSettings\n     * @param deleteAgent - The deleteAgent object.\n     * @param deleteAgent.agentId - The agentId.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    deleteAgent({ agentId }: DeleteAgentProps, requestOptions?: RequestOptions): Promise<void> {\n      validateRequired('agentId', 'deleteAgent', agentId);\n\n      const requestPath = '/agent-studio/1/agents/{agentId}'.replace('{agentId}', encodeURIComponent(agentId));\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'DELETE',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Deletes the conversations matching the given filers.\n     *\n     * Required API Key ACLs:\n     *  - logs\n     * @param deleteAgentConversations - The deleteAgentConversations object.\n     * @param deleteAgentConversations.agentId - The agentId.\n     * @param deleteAgentConversations.startDate - Filter conversations created after this date (format: YYYY-MM-DD).\n     * @param deleteAgentConversations.endDate - Filter conversations created before this date (format: YYYY-MM-DD).\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    deleteAgentConversations(\n      { agentId, startDate, endDate }: DeleteAgentConversationsProps,\n      requestOptions?: RequestOptions,\n    ): Promise<void> {\n      validateRequired('agentId', 'deleteAgentConversations', agentId);\n\n      const requestPath = '/agent-studio/1/agents/{agentId}/conversations'.replace(\n        '{agentId}',\n        encodeURIComponent(agentId),\n      );\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      if (startDate !== undefined) {\n        queryParameters['startDate'] = startDate.toString();\n      }\n\n      if (endDate !== undefined) {\n        queryParameters['endDate'] = endDate.toString();\n      }\n\n      const request: Request = {\n        method: 'DELETE',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Remove an allowed domain by id.\n     *\n     * Required API Key ACLs:\n     *  - editSettings\n     * @param deleteAllowedDomain - The deleteAllowedDomain object.\n     * @param deleteAllowedDomain.domainId - The domainId.\n     * @param deleteAllowedDomain.agentId - The agentId.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    deleteAllowedDomain(\n      { domainId, agentId }: DeleteAllowedDomainProps,\n      requestOptions?: RequestOptions,\n    ): Promise<void> {\n      validateRequired('domainId', 'deleteAllowedDomain', domainId);\n\n      validateRequired('agentId', 'deleteAllowedDomain', agentId);\n\n      const requestPath = '/agent-studio/1/agents/{agentId}/allowed-domains/{domainId}'\n        .replace('{domainId}', encodeURIComponent(domainId))\n        .replace('{agentId}', encodeURIComponent(agentId));\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'DELETE',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Deletes the conversation with the given ID.\n     *\n     * Required API Key ACLs:\n     *  - logs\n     * @param deleteConversation - The deleteConversation object.\n     * @param deleteConversation.conversationId - The conversationId.\n     * @param deleteConversation.agentId - The agentId.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    deleteConversation(\n      { conversationId, agentId }: DeleteConversationProps,\n      requestOptions?: RequestOptions,\n    ): Promise<void> {\n      validateRequired('conversationId', 'deleteConversation', conversationId);\n\n      validateRequired('agentId', 'deleteConversation', agentId);\n\n      const requestPath = '/agent-studio/1/agents/{agentId}/conversations/{conversationId}'\n        .replace('{conversationId}', encodeURIComponent(conversationId))\n        .replace('{agentId}', encodeURIComponent(agentId));\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'DELETE',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Delete Provider.\n     *\n     * Required API Key ACLs:\n     *  - editSettings\n     * @param deleteProvider - The deleteProvider object.\n     * @param deleteProvider.providerId - The providerId.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    deleteProvider({ providerId }: DeleteProviderProps, requestOptions?: RequestOptions): Promise<void> {\n      validateRequired('providerId', 'deleteProvider', providerId);\n\n      const requestPath = '/agent-studio/1/providers/{providerId}'.replace(\n        '{providerId}',\n        encodeURIComponent(providerId),\n      );\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'DELETE',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Delete Secret Key.\n     *\n     * Required API Key ACLs:\n     *  - admin\n     * @param deleteSecretKey - The deleteSecretKey object.\n     * @param deleteSecretKey.secretKeyId - The secretKeyId.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    deleteSecretKey({ secretKeyId }: DeleteSecretKeyProps, requestOptions?: RequestOptions): Promise<void> {\n      validateRequired('secretKeyId', 'deleteSecretKey', secretKeyId);\n\n      const requestPath = '/agent-studio/1/secret-keys/{secretKeyId}'.replace(\n        '{secretKeyId}',\n        encodeURIComponent(secretKeyId),\n      );\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'DELETE',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Permanently deletes all messages for the given user token. Does not delete conversations.\n     *\n     * Required API Key ACLs:\n     *  - logs\n     * @param deleteUserData - The deleteUserData object.\n     * @param deleteUserData.userToken - The userToken.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    deleteUserData({ userToken }: DeleteUserDataProps, requestOptions?: RequestOptions): Promise<void> {\n      validateRequired('userToken', 'deleteUserData', userToken);\n\n      const requestPath = '/agent-studio/1/user-data/{userToken}'.replace('{userToken}', encodeURIComponent(userToken));\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'DELETE',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Exports all conversations based on the passed filters.\n     *\n     * Required API Key ACLs:\n     *  - logs\n     * @param exportConversations - The exportConversations object.\n     * @param exportConversations.agentId - The agentId.\n     * @param exportConversations.startDate - Filter conversations created after this date (format: YYYY-MM-DD).\n     * @param exportConversations.endDate - Filter conversations created before this date (format: YYYY-MM-DD).\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    exportConversations(\n      { agentId, startDate, endDate }: ExportConversationsProps,\n      requestOptions?: RequestOptions,\n    ): Promise<Array<ConversationFullResponse>> {\n      validateRequired('agentId', 'exportConversations', agentId);\n\n      const requestPath = '/agent-studio/1/agents/{agentId}/conversations/export'.replace(\n        '{agentId}',\n        encodeURIComponent(agentId),\n      );\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      if (startDate !== undefined) {\n        queryParameters['startDate'] = startDate.toString();\n      }\n\n      if (endDate !== undefined) {\n        queryParameters['endDate'] = endDate.toString();\n      }\n\n      const request: Request = {\n        method: 'GET',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Retrieve details of the specified agent.\n     *\n     * Required API Key ACLs:\n     *  - settings\n     * @param getAgent - The getAgent object.\n     * @param getAgent.agentId - The agentId.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    getAgent({ agentId }: GetAgentProps, requestOptions?: RequestOptions): Promise<AgentWithVersionResponse> {\n      validateRequired('agentId', 'getAgent', agentId);\n\n      const requestPath = '/agent-studio/1/agents/{agentId}'.replace('{agentId}', encodeURIComponent(agentId));\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'GET',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Get a single allowed domain by id.\n     *\n     * Required API Key ACLs:\n     *  - settings\n     * @param getAllowedDomain - The getAllowedDomain object.\n     * @param getAllowedDomain.domainId - The domainId.\n     * @param getAllowedDomain.agentId - The agentId.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    getAllowedDomain(\n      { domainId, agentId }: GetAllowedDomainProps,\n      requestOptions?: RequestOptions,\n    ): Promise<AllowedDomainResponse> {\n      validateRequired('domainId', 'getAllowedDomain', domainId);\n\n      validateRequired('agentId', 'getAllowedDomain', agentId);\n\n      const requestPath = '/agent-studio/1/agents/{agentId}/allowed-domains/{domainId}'\n        .replace('{domainId}', encodeURIComponent(domainId))\n        .replace('{agentId}', encodeURIComponent(agentId));\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'GET',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Get Configuration.\n     *\n     * Required API Key ACLs:\n     *  - logs\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    getConfiguration(requestOptions?: RequestOptions | undefined): Promise<ApplicationConfigResponse> {\n      const requestPath = '/agent-studio/1/configuration';\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'GET',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Retrieves the conversation and its messages for the given ID.\n     *\n     * Required API Key ACLs:\n     *  - logs\n     * @param getConversation - The getConversation object.\n     * @param getConversation.conversationId - The conversationId.\n     * @param getConversation.agentId - The agentId.\n     * @param getConversation.includeFeedback - Include feedback for the conversation.\n     * @param getConversation.xAlgoliaSecureUserToken - The X-Algolia-Secure-User-Token.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    getConversation(\n      { conversationId, agentId, includeFeedback, xAlgoliaSecureUserToken }: GetConversationProps,\n      requestOptions?: RequestOptions,\n    ): Promise<ConversationFullResponse> {\n      validateRequired('conversationId', 'getConversation', conversationId);\n\n      validateRequired('agentId', 'getConversation', agentId);\n\n      const requestPath = '/agent-studio/1/agents/{agentId}/conversations/{conversationId}'\n        .replace('{conversationId}', encodeURIComponent(conversationId))\n        .replace('{agentId}', encodeURIComponent(agentId));\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      if (includeFeedback !== undefined) {\n        queryParameters['includeFeedback'] = includeFeedback.toString();\n      }\n\n      if (xAlgoliaSecureUserToken !== undefined) {\n        headers['X-Algolia-Secure-User-Token'] = xAlgoliaSecureUserToken.toString();\n      }\n\n      const request: Request = {\n        method: 'GET',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Get Provider.\n     *\n     * Required API Key ACLs:\n     *  - settings\n     * @param getProvider - The getProvider object.\n     * @param getProvider.providerId - The providerId.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    getProvider(\n      { providerId }: GetProviderProps,\n      requestOptions?: RequestOptions,\n    ): Promise<ProviderAuthenticationResponse> {\n      validateRequired('providerId', 'getProvider', providerId);\n\n      const requestPath = '/agent-studio/1/providers/{providerId}'.replace(\n        '{providerId}',\n        encodeURIComponent(providerId),\n      );\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'GET',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Get Secret Key.\n     *\n     * Required API Key ACLs:\n     *  - settings\n     * @param getSecretKey - The getSecretKey object.\n     * @param getSecretKey.secretKeyId - The secretKeyId.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    getSecretKey({ secretKeyId }: GetSecretKeyProps, requestOptions?: RequestOptions): Promise<SecretKeyResponse> {\n      validateRequired('secretKeyId', 'getSecretKey', secretKeyId);\n\n      const requestPath = '/agent-studio/1/secret-keys/{secretKeyId}'.replace(\n        '{secretKeyId}',\n        encodeURIComponent(secretKeyId),\n      );\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'GET',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Retrieves all memories, conversations and their messages for the given user token.\n     *\n     * Required API Key ACLs:\n     *  - logs\n     * @param getUserData - The getUserData object.\n     * @param getUserData.userToken - The userToken.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    getUserData({ userToken }: GetUserDataProps, requestOptions?: RequestOptions): Promise<UserDataResponse> {\n      validateRequired('userToken', 'getUserData', userToken);\n\n      const requestPath = '/agent-studio/1/user-data/{userToken}'.replace('{userToken}', encodeURIComponent(userToken));\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'GET',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Invalidate cached completions for this agent. Filter with `before` (exclusive).\n     *\n     * Required API Key ACLs:\n     *  - editSettings\n     * @param invalidateAgentCache - The invalidateAgentCache object.\n     * @param invalidateAgentCache.agentId - The agentId.\n     * @param invalidateAgentCache.before - Delete entries strictly before this date (exclusive, YYYY-MM-DD).\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    invalidateAgentCache(\n      { agentId, before }: InvalidateAgentCacheProps,\n      requestOptions?: RequestOptions,\n    ): Promise<void> {\n      validateRequired('agentId', 'invalidateAgentCache', agentId);\n\n      const requestPath = '/agent-studio/1/agents/{agentId}/cache'.replace('{agentId}', encodeURIComponent(agentId));\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      if (before !== undefined) {\n        queryParameters['before'] = before.toString();\n      }\n\n      const request: Request = {\n        method: 'DELETE',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * List all allowed domain patterns for this agent.\n     *\n     * Required API Key ACLs:\n     *  - settings\n     * @param listAgentAllowedDomains - The listAgentAllowedDomains object.\n     * @param listAgentAllowedDomains.agentId - The agentId.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    listAgentAllowedDomains(\n      { agentId }: ListAgentAllowedDomainsProps,\n      requestOptions?: RequestOptions,\n    ): Promise<AllowedDomainListResponse> {\n      validateRequired('agentId', 'listAgentAllowedDomains', agentId);\n\n      const requestPath = '/agent-studio/1/agents/{agentId}/allowed-domains'.replace(\n        '{agentId}',\n        encodeURIComponent(agentId),\n      );\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'GET',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Retrieves the conversations for the given agent ID.\n     *\n     * Required API Key ACLs:\n     *  - logs\n     * @param listAgentConversations - The listAgentConversations object.\n     * @param listAgentConversations.agentId - The agentId.\n     * @param listAgentConversations.startDate - Filter conversations created after this date (format: YYYY-MM-DD).\n     * @param listAgentConversations.endDate - Filter conversations created before this date (format: YYYY-MM-DD).\n     * @param listAgentConversations.includeFeedback - Include feedback per conversation.\n     * @param listAgentConversations.feedbackVote - Filter by feedback value (requires includeFeedback=true).\n     * @param listAgentConversations.page - Page number.\n     * @param listAgentConversations.limit - Items per page.\n     * @param listAgentConversations.xAlgoliaSecureUserToken - The X-Algolia-Secure-User-Token.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    listAgentConversations(\n      {\n        agentId,\n        startDate,\n        endDate,\n        includeFeedback,\n        feedbackVote,\n        page,\n        limit,\n        xAlgoliaSecureUserToken,\n      }: ListAgentConversationsProps,\n      requestOptions?: RequestOptions,\n    ): Promise<PaginatedConversationsResponse> {\n      validateRequired('agentId', 'listAgentConversations', agentId);\n\n      const requestPath = '/agent-studio/1/agents/{agentId}/conversations'.replace(\n        '{agentId}',\n        encodeURIComponent(agentId),\n      );\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      if (startDate !== undefined) {\n        queryParameters['startDate'] = startDate.toString();\n      }\n\n      if (endDate !== undefined) {\n        queryParameters['endDate'] = endDate.toString();\n      }\n\n      if (includeFeedback !== undefined) {\n        queryParameters['includeFeedback'] = includeFeedback.toString();\n      }\n\n      if (feedbackVote !== undefined) {\n        queryParameters['feedbackVote'] = feedbackVote.toString();\n      }\n\n      if (page !== undefined) {\n        queryParameters['page'] = page.toString();\n      }\n\n      if (limit !== undefined) {\n        queryParameters['limit'] = limit.toString();\n      }\n\n      if (xAlgoliaSecureUserToken !== undefined) {\n        headers['X-Algolia-Secure-User-Token'] = xAlgoliaSecureUserToken.toString();\n      }\n\n      const request: Request = {\n        method: 'GET',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * List all agents with pagination and filtering.\n     *\n     * Required API Key ACLs:\n     *  - settings\n     * @param listAgents - The listAgents object.\n     * @param listAgents.page - Page number.\n     * @param listAgents.limit - Items per page.\n     * @param listAgents.providerId - Filter by provider id.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    listAgents(\n      { page, limit, providerId }: ListAgentsProps = {},\n      requestOptions: RequestOptions | undefined = undefined,\n    ): Promise<PaginatedAgentsResponse> {\n      const requestPath = '/agent-studio/1/agents';\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      if (page !== undefined) {\n        queryParameters['page'] = page.toString();\n      }\n\n      if (limit !== undefined) {\n        queryParameters['limit'] = limit.toString();\n      }\n\n      if (providerId !== undefined) {\n        queryParameters['providerId'] = providerId.toString();\n      }\n\n      const request: Request = {\n        method: 'GET',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Get Provider Models.\n     *\n     * Required API Key ACLs:\n     *  - settings\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    listModels(requestOptions?: RequestOptions | undefined): Promise<{ [key: string]: Array<string> }> {\n      const requestPath = '/agent-studio/1/providers/models';\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'GET',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Get available models for a specific provider.\n     *\n     * Required API Key ACLs:\n     *  - settings\n     * @param listProviderModels - The listProviderModels object.\n     * @param listProviderModels.providerId - The providerId.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    listProviderModels(\n      { providerId }: ListProviderModelsProps,\n      requestOptions?: RequestOptions,\n    ): Promise<Array<string>> {\n      validateRequired('providerId', 'listProviderModels', providerId);\n\n      const requestPath = '/agent-studio/1/providers/{providerId}/models'.replace(\n        '{providerId}',\n        encodeURIComponent(providerId),\n      );\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'GET',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * List Providers.\n     *\n     * Required API Key ACLs:\n     *  - settings\n     * @param listProviders - The listProviders object.\n     * @param listProviders.page - Page number.\n     * @param listProviders.limit - Items per page.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    listProviders(\n      { page, limit }: ListProvidersProps = {},\n      requestOptions: RequestOptions | undefined = undefined,\n    ): Promise<PaginatedProviderAuthenticationsResponse> {\n      const requestPath = '/agent-studio/1/providers';\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      if (page !== undefined) {\n        queryParameters['page'] = page.toString();\n      }\n\n      if (limit !== undefined) {\n        queryParameters['limit'] = limit.toString();\n      }\n\n      const request: Request = {\n        method: 'GET',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * List Secret Keys.\n     *\n     * Required API Key ACLs:\n     *  - settings\n     * @param listSecretKeys - The listSecretKeys object.\n     * @param listSecretKeys.page - Page number.\n     * @param listSecretKeys.limit - Items per page.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    listSecretKeys(\n      { page, limit }: ListSecretKeysProps = {},\n      requestOptions: RequestOptions | undefined = undefined,\n    ): Promise<PaginatedSecretKeysResponse> {\n      const requestPath = '/agent-studio/1/secret-keys';\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      if (page !== undefined) {\n        queryParameters['page'] = page.toString();\n      }\n\n      if (limit !== undefined) {\n        queryParameters['limit'] = limit.toString();\n      }\n\n      const request: Request = {\n        method: 'GET',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Publish the specified agent.\n     *\n     * Required API Key ACLs:\n     *  - editSettings\n     * @param publishAgent - The publishAgent object.\n     * @param publishAgent.agentId - The agentId.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    publishAgent({ agentId }: PublishAgentProps, requestOptions?: RequestOptions): Promise<AgentWithVersionResponse> {\n      validateRequired('agentId', 'publishAgent', agentId);\n\n      const requestPath = '/agent-studio/1/agents/{agentId}/publish'.replace('{agentId}', encodeURIComponent(agentId));\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'POST',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Unpublish the specified agent.\n     *\n     * Required API Key ACLs:\n     *  - editSettings\n     * @param unpublishAgent - The unpublishAgent object.\n     * @param unpublishAgent.agentId - The agentId.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    unpublishAgent(\n      { agentId }: UnpublishAgentProps,\n      requestOptions?: RequestOptions,\n    ): Promise<AgentWithVersionResponse> {\n      validateRequired('agentId', 'unpublishAgent', agentId);\n\n      const requestPath = '/agent-studio/1/agents/{agentId}/unpublish'.replace(\n        '{agentId}',\n        encodeURIComponent(agentId),\n      );\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'POST',\n        path: requestPath,\n        queryParameters,\n        headers,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Update the specified agent.\n     *\n     * Required API Key ACLs:\n     *  - editSettings\n     * @param updateAgent - The updateAgent object.\n     * @param updateAgent.agentId - The agentId.\n     * @param updateAgent.agentConfigUpdate - The agentConfigUpdate object.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    updateAgent(\n      { agentId, agentConfigUpdate }: UpdateAgentProps,\n      requestOptions?: RequestOptions,\n    ): Promise<AgentWithVersionResponse> {\n      validateRequired('agentId', 'updateAgent', agentId);\n\n      validateRequired('agentConfigUpdate', 'updateAgent', agentConfigUpdate);\n\n      const requestPath = '/agent-studio/1/agents/{agentId}'.replace('{agentId}', encodeURIComponent(agentId));\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'PATCH',\n        path: requestPath,\n        queryParameters,\n        headers,\n        data: agentConfigUpdate,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Patch Configuration.\n     *\n     * Required API Key ACLs:\n     *  - logs\n     * @param applicationConfigPatch - The applicationConfigPatch object.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    updateConfiguration(\n      applicationConfigPatch: ApplicationConfigPatch,\n      requestOptions?: RequestOptions,\n    ): Promise<ApplicationConfigResponse> {\n      validateRequired('applicationConfigPatch', 'updateConfiguration', applicationConfigPatch);\n\n      const requestPath = '/agent-studio/1/configuration';\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'PATCH',\n        path: requestPath,\n        queryParameters,\n        headers,\n        data: applicationConfigPatch,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Update Provider.\n     *\n     * Required API Key ACLs:\n     *  - editSettings\n     * @param updateProvider - The updateProvider object.\n     * @param updateProvider.providerId - The providerId.\n     * @param updateProvider.providerAuthenticationPatch - The providerAuthenticationPatch object.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    updateProvider(\n      { providerId, providerAuthenticationPatch }: UpdateProviderProps,\n      requestOptions?: RequestOptions,\n    ): Promise<ProviderAuthenticationResponse> {\n      validateRequired('providerId', 'updateProvider', providerId);\n\n      validateRequired('providerAuthenticationPatch', 'updateProvider', providerAuthenticationPatch);\n\n      const requestPath = '/agent-studio/1/providers/{providerId}'.replace(\n        '{providerId}',\n        encodeURIComponent(providerId),\n      );\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'PATCH',\n        path: requestPath,\n        queryParameters,\n        headers,\n        data: providerAuthenticationPatch,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n\n    /**\n     * Patch Secret Key.\n     *\n     * Required API Key ACLs:\n     *  - admin\n     * @param updateSecretKey - The updateSecretKey object.\n     * @param updateSecretKey.secretKeyId - The secretKeyId.\n     * @param updateSecretKey.secretKeyPatch - The secretKeyPatch object.\n     * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.\n     */\n    updateSecretKey(\n      { secretKeyId, secretKeyPatch }: UpdateSecretKeyProps,\n      requestOptions?: RequestOptions,\n    ): Promise<SecretKeyResponse> {\n      validateRequired('secretKeyId', 'updateSecretKey', secretKeyId);\n\n      validateRequired('secretKeyPatch', 'updateSecretKey', secretKeyPatch);\n\n      const requestPath = '/agent-studio/1/secret-keys/{secretKeyId}'.replace(\n        '{secretKeyId}',\n        encodeURIComponent(secretKeyId),\n      );\n      const headers: Headers = {};\n      const queryParameters: QueryParameters = {};\n\n      const request: Request = {\n        method: 'PATCH',\n        path: requestPath,\n        queryParameters,\n        headers,\n        data: secretKeyPatch,\n      };\n\n      return transporter.request(request, requestOptions);\n    },\n  };\n}\n"],"mappings":"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","names":["import_client_common"]}