From f1f49a6b61f221e8ee5a04275b0e835ae37fe32d Mon Sep 17 00:00:00 2001 From: "quantcloud[bot]" Date: Fri, 12 Jun 2026 03:21:40 +0000 Subject: [PATCH] feat(sdk): v4.19.0 - Auto-generated from unified API spec Generated from unified API spec v4.19.0 Changes: - Auto-generated SDK updates This PR was automatically created by the API generation pipeline. --- .openapi-generator-config.json | 2 +- .openapi-generator/FILES | 30 +- api.ts | 3984 +++++++++++++++-- common.ts | 2 +- configuration.ts | 2 +- docs/AIApi.md | 77 + docs/AICustomToolsApi.md | 63 +- docs/AIMonitoringApi.md | 62 - docs/AISearchApi.md | 997 +++++ docs/AISlackBotsApi.md | 10 +- docs/AiSearchChatRequest.md | 26 + docs/AiSearchDeletePagesRequest.md | 22 + docs/AiSearchEnableRequest.md | 22 + docs/AiSearchIngestPagesRequest.md | 22 + docs/AiSearchIngestPagesRequestPagesInner.md | 36 + docs/AiSearchSearchRequest.md | 24 + docs/AiSearchTriggerCrawlRequest.md | 20 + docs/AiSearchUpdateSettingsRequest.md | 22 + docs/ContainerOriginProtectionConfig.md | 2 + docs/CreateCustomTool201Response.md | 6 + docs/CreateCustomToolRequest.md | 14 +- docs/CreateSlackBotRequest.md | 38 +- docs/GetAIOrchestrationStatus200Response.md | 6 +- docs/GetAIUsageStats200Response.md | 24 - .../GetAIUsageStats200ResponseByModelValue.md | 22 - docs/GetCustomTool200Response.md | 20 + docs/GetCustomTool200ResponseTool.md | 40 + ...tGovernanceConfig200ResponseSpendLimits.md | 4 + ...ResponseSpendLimitsInterfaceLimitsValue.md | 22 + ...00ResponseSpendLimitsUserOverridesValue.md | 24 + docs/GetMyUsage200ResponseQuota.md | 4 +- docs/GetMyUsage200ResponseQuotaDailyLimit.md | 27 + .../GetMyUsage200ResponseQuotaMonthlyLimit.md | 25 + docs/GetRestoreStatus200Response.md | 40 + ...gPolicy.md => GetScalingPolicyResponse.md} | 10 +- docs/GetSlackBot200ResponseBot.md | 38 +- docs/ListCustomTools200ResponseToolsInner.md | 2 +- docs/ListSlackBots200ResponseBotsInner.md | 26 +- docs/RestoreDatabase202Response.md | 24 + docs/RestoreDatabaseRequest.md | 22 + docs/RestoreFilesystem202Response.md | 24 + docs/RestoreFilesystemRequest.md | 22 + docs/RestoreManagementApi.md | 200 + docs/ScalingPolicyApi.md | 97 +- docs/ScalingPolicyListResponse.md | 20 + docs/SetScalingPolicyRequest.md | 26 + docs/SubscriptionApi.md | 64 + docs/UpdateGovernanceConfigRequest.md | 2 +- docs/UpdateSlackBotRequest.md | 38 +- index.ts | 2 +- package-lock.json | 4 +- package.json | 2 +- 52 files changed, 5775 insertions(+), 589 deletions(-) create mode 100644 docs/AIApi.md delete mode 100644 docs/AIMonitoringApi.md create mode 100644 docs/AISearchApi.md create mode 100644 docs/AiSearchChatRequest.md create mode 100644 docs/AiSearchDeletePagesRequest.md create mode 100644 docs/AiSearchEnableRequest.md create mode 100644 docs/AiSearchIngestPagesRequest.md create mode 100644 docs/AiSearchIngestPagesRequestPagesInner.md create mode 100644 docs/AiSearchSearchRequest.md create mode 100644 docs/AiSearchTriggerCrawlRequest.md create mode 100644 docs/AiSearchUpdateSettingsRequest.md delete mode 100644 docs/GetAIUsageStats200Response.md delete mode 100644 docs/GetAIUsageStats200ResponseByModelValue.md create mode 100644 docs/GetCustomTool200Response.md create mode 100644 docs/GetCustomTool200ResponseTool.md create mode 100644 docs/GetGovernanceConfig200ResponseSpendLimitsInterfaceLimitsValue.md create mode 100644 docs/GetGovernanceConfig200ResponseSpendLimitsUserOverridesValue.md create mode 100644 docs/GetMyUsage200ResponseQuotaDailyLimit.md create mode 100644 docs/GetMyUsage200ResponseQuotaMonthlyLimit.md create mode 100644 docs/GetRestoreStatus200Response.md rename docs/{ScalingPolicy.md => GetScalingPolicyResponse.md} (61%) create mode 100644 docs/RestoreDatabase202Response.md create mode 100644 docs/RestoreDatabaseRequest.md create mode 100644 docs/RestoreFilesystem202Response.md create mode 100644 docs/RestoreFilesystemRequest.md create mode 100644 docs/RestoreManagementApi.md create mode 100644 docs/ScalingPolicyListResponse.md create mode 100644 docs/SetScalingPolicyRequest.md create mode 100644 docs/SubscriptionApi.md diff --git a/.openapi-generator-config.json b/.openapi-generator-config.json index f096a8a..2500dd4 100644 --- a/.openapi-generator-config.json +++ b/.openapi-generator-config.json @@ -3,7 +3,7 @@ "gitUserId": "quantcdn", "gitRepoId": "quant-ts-client", "npmName": "@quantcdn/quant-client", - "npmVersion": "4.15.4", + "npmVersion": "4.19.0", "packageName": "quant-client", "projectName": "quant-client", "projectDescription": "TypeScript client for QuantCDN and QuantCloud Platform APIs", diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index b8c4ea3..1ec3a25 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -4,14 +4,15 @@ api.ts common.ts configuration.ts docs/AIAgentsApi.md +docs/AIApi.md docs/AICustomToolsApi.md docs/AIFileStorageApi.md docs/AIFilterPoliciesApi.md docs/AIGovernanceApi.md docs/AIInferenceApi.md docs/AIModelsApi.md -docs/AIMonitoringApi.md docs/AIOrchestrationsApi.md +docs/AISearchApi.md docs/AISessionsApi.md docs/AISkillsApi.md docs/AISlackBotsApi.md @@ -19,6 +20,14 @@ docs/AITaskManagementApi.md docs/AIToolsApi.md docs/AIUsageApi.md docs/AIVectorDatabaseApi.md +docs/AiSearchChatRequest.md +docs/AiSearchDeletePagesRequest.md +docs/AiSearchEnableRequest.md +docs/AiSearchIngestPagesRequest.md +docs/AiSearchIngestPagesRequestPagesInner.md +docs/AiSearchSearchRequest.md +docs/AiSearchTriggerCrawlRequest.md +docs/AiSearchUpdateSettingsRequest.md docs/Application.md docs/ApplicationDatabase.md docs/ApplicationDeploymentInformationInner.md @@ -160,11 +169,11 @@ docs/GetAISession200Response.md docs/GetAIToolExecutionStatus200Response.md docs/GetAIToolExecutionStatus200ResponseResult.md docs/GetAIToolExecutionStatus404Response.md -docs/GetAIUsageStats200Response.md -docs/GetAIUsageStats200ResponseByModelValue.md docs/GetAgentOverlay200Response.md docs/GetAgentOverlay200ResponseBase.md docs/GetAgentOverlay200ResponseOverlay.md +docs/GetCustomTool200Response.md +docs/GetCustomTool200ResponseTool.md docs/GetDependencyGraph200Response.md docs/GetDurableExecutionStatus200Response.md docs/GetDurableExecutionStatus200ResponseError.md @@ -178,6 +187,8 @@ docs/GetEnvironmentLogs200ResponseLogEventsInner.md docs/GetFile200Response.md docs/GetGovernanceConfig200Response.md docs/GetGovernanceConfig200ResponseSpendLimits.md +docs/GetGovernanceConfig200ResponseSpendLimitsInterfaceLimitsValue.md +docs/GetGovernanceConfig200ResponseSpendLimitsUserOverridesValue.md docs/GetGovernanceSpend200Response.md docs/GetGovernanceSpend200ResponseBudget.md docs/GetGovernanceSpend200ResponseDailyBudget.md @@ -188,6 +199,10 @@ docs/GetMyUsage200Response.md docs/GetMyUsage200ResponseDaily.md docs/GetMyUsage200ResponseMonthly.md docs/GetMyUsage200ResponseQuota.md +docs/GetMyUsage200ResponseQuotaDailyLimit.md +docs/GetMyUsage200ResponseQuotaMonthlyLimit.md +docs/GetRestoreStatus200Response.md +docs/GetScalingPolicyResponse.md docs/GetSkill200Response.md docs/GetSkill200ResponseSkill.md docs/GetSlackBot200Response.md @@ -268,18 +283,25 @@ docs/QueryVectorCollection200ResponsePagination.md docs/QueryVectorCollection200ResponseResultsInner.md docs/QueryVectorCollectionRequest.md docs/QueryVectorCollectionRequestFilter.md +docs/RestoreDatabase202Response.md +docs/RestoreDatabaseRequest.md +docs/RestoreFilesystem202Response.md +docs/RestoreFilesystemRequest.md +docs/RestoreManagementApi.md docs/RulesApi.md docs/SSHAccessApi.md -docs/ScalingPolicy.md docs/ScalingPolicyApi.md +docs/ScalingPolicyListResponse.md docs/SearchSlackWorkspaceChannels200Response.md docs/SearchSlackWorkspaceChannels200ResponseResultsInner.md docs/SearchSlackWorkspaceUsers200Response.md docs/SearchSlackWorkspaceUsers200ResponseResultsInner.md +docs/SetScalingPolicyRequest.md docs/SpotConfiguration.md docs/SubmitToolCallback200Response.md docs/SubmitToolCallbackRequest.md docs/SubmitToolCallbackRequestToolResultsInner.md +docs/SubscriptionApi.md docs/SyncOperation.md docs/SyncSkillCollection200Response.md docs/SyncToEnvironmentRequest.md diff --git a/api.ts b/api.ts index 4f50a39..b8fe67f 100644 --- a/api.ts +++ b/api.ts @@ -4,7 +4,7 @@ * QuantCDN API * Unified API for QuantCDN Admin and QuantCloud Platform services * - * The version of the OpenAPI document: 4.15.4 + * The version of the OpenAPI document: 4.19.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -23,6 +23,212 @@ import type { RequestArgs } from './base'; // @ts-ignore import { BASE_PATH, COLLECTION_FORMATS, BaseAPI, RequiredError, operationServerMap } from './base'; +/** + * + * @export + * @interface AiSearchChatRequest + */ +export interface AiSearchChatRequest { + /** + * + * @type {string} + * @memberof AiSearchChatRequest + */ + 'message': string; + /** + * + * @type {string} + * @memberof AiSearchChatRequest + */ + 'sessionId'?: string; + /** + * + * @type {string} + * @memberof AiSearchChatRequest + */ + 'contextUrl'?: string; + /** + * + * @type {number} + * @memberof AiSearchChatRequest + */ + 'maxContextChunks'?: number; +} +/** + * + * @export + * @interface AiSearchDeletePagesRequest + */ +export interface AiSearchDeletePagesRequest { + /** + * + * @type {Array} + * @memberof AiSearchDeletePagesRequest + */ + 'urls'?: Array; + /** + * + * @type {Array} + * @memberof AiSearchDeletePagesRequest + */ + 'patterns'?: Array; +} +/** + * + * @export + * @interface AiSearchEnableRequest + */ +export interface AiSearchEnableRequest { + /** + * + * @type {string} + * @memberof AiSearchEnableRequest + */ + 'baseUrl'?: string; + /** + * + * @type {object} + * @memberof AiSearchEnableRequest + */ + 'crawlerConfig'?: object; +} +/** + * + * @export + * @interface AiSearchIngestPagesRequest + */ +export interface AiSearchIngestPagesRequest { + /** + * + * @type {string} + * @memberof AiSearchIngestPagesRequest + */ + 'jobId'?: string; + /** + * + * @type {Array} + * @memberof AiSearchIngestPagesRequest + */ + 'pages': Array; +} +/** + * + * @export + * @interface AiSearchIngestPagesRequestPagesInner + */ +export interface AiSearchIngestPagesRequestPagesInner { + /** + * + * @type {string} + * @memberof AiSearchIngestPagesRequestPagesInner + */ + 'url': string; + /** + * + * @type {string} + * @memberof AiSearchIngestPagesRequestPagesInner + */ + 'title': string; + /** + * + * @type {string} + * @memberof AiSearchIngestPagesRequestPagesInner + */ + 'content': string; + /** + * + * @type {string} + * @memberof AiSearchIngestPagesRequestPagesInner + */ + 'contentType'?: string; + /** + * + * @type {string} + * @memberof AiSearchIngestPagesRequestPagesInner + */ + 'fetchedAt'?: string; + /** + * + * @type {boolean} + * @memberof AiSearchIngestPagesRequestPagesInner + */ + 'preProcessed'?: boolean; + /** + * + * @type {string} + * @memberof AiSearchIngestPagesRequestPagesInner + */ + 'summary'?: string; + /** + * + * @type {Array} + * @memberof AiSearchIngestPagesRequestPagesInner + */ + 'tags'?: Array; + /** + * + * @type {Array} + * @memberof AiSearchIngestPagesRequestPagesInner + */ + 'topics'?: Array; +} +/** + * + * @export + * @interface AiSearchSearchRequest + */ +export interface AiSearchSearchRequest { + /** + * + * @type {string} + * @memberof AiSearchSearchRequest + */ + 'query': string; + /** + * + * @type {number} + * @memberof AiSearchSearchRequest + */ + 'limit'?: number; + /** + * + * @type {number} + * @memberof AiSearchSearchRequest + */ + 'minScore'?: number; +} +/** + * + * @export + * @interface AiSearchTriggerCrawlRequest + */ +export interface AiSearchTriggerCrawlRequest { + /** + * + * @type {string} + * @memberof AiSearchTriggerCrawlRequest + */ + 'crawler_uuid': string; +} +/** + * + * @export + * @interface AiSearchUpdateSettingsRequest + */ +export interface AiSearchUpdateSettingsRequest { + /** + * + * @type {object} + * @memberof AiSearchUpdateSettingsRequest + */ + 'publicAccess'?: object; + /** + * + * @type {object} + * @memberof AiSearchUpdateSettingsRequest + */ + 'rateLimits'?: object; +} /** * * @export @@ -1717,6 +1923,12 @@ export interface ContainerOriginProtectionConfig { * @memberof ContainerOriginProtectionConfig */ 'ipAllow'?: Array | null; + /** + * Optional bare host (e.g. www.example.com). When set, requests denied by origin protection are 302-redirected to https:// with path and query preserved, instead of receiving a 403. Allowed IPs and valid-header (CDN) traffic are unaffected. + * @type {string} + * @memberof ContainerOriginProtectionConfig + */ + 'redirectHost'?: string | null; } /** * @@ -1871,7 +2083,7 @@ export interface CreateAIAgentRequest { * @type {string} * @memberof CreateAIAgentRequest */ - 'guardrailPreset'?: CreateAIAgentRequestGuardrailPresetEnum; + 'guardrailPreset'?: CreateAIAgentRequestGuardrailPresetEnum | null; /** * Filter policy IDs to apply to this agent\'s inference requests * @type {Array} @@ -2248,6 +2460,24 @@ export interface CreateCustomTool201Response { * @memberof CreateCustomTool201Response */ 'tool'?: object; + /** + * Computed edge function URL (read-only) + * @type {string} + * @memberof CreateCustomTool201Response + */ + 'edgeFunctionUrl'?: string; + /** + * The deployed edge function code + * @type {string} + * @memberof CreateCustomTool201Response + */ + 'edgeFunctionCode'?: string; + /** + * Whether this was an update to an existing tool + * @type {boolean} + * @memberof CreateCustomTool201Response + */ + 'isUpdate'?: boolean; /** * * @type {string} @@ -2274,17 +2504,17 @@ export interface CreateCustomToolRequest { */ 'description': string; /** - * HTTPS URL of the edge function + * JavaScript source code for the edge function * @type {string} * @memberof CreateCustomToolRequest */ - 'edgeFunctionUrl': string; + 'edgeFunctionCode': string; /** - * JSON Schema defining the tool\'s input parameters - * @type {object} + * JSON-encoded JSON Schema object defining the tool\'s input parameters + * @type {string} * @memberof CreateCustomToolRequest */ - 'inputSchema': object; + 'inputSchema': string; /** * Whether this tool runs asynchronously (>5 seconds) * @type {boolean} @@ -2297,7 +2527,39 @@ export interface CreateCustomToolRequest { * @memberof CreateCustomToolRequest */ 'timeoutSeconds'?: number; + /** + * JSON-encoded JSON Schema object defining the tool\'s output structure + * @type {string} + * @memberof CreateCustomToolRequest + */ + 'outputSchema'?: string | null; + /** + * Human-readable description of the tool\'s output + * @type {string} + * @memberof CreateCustomToolRequest + */ + 'outputSchemaDescription'?: string | null; + /** + * Category to group related tools + * @type {string} + * @memberof CreateCustomToolRequest + */ + 'category'?: string | null; + /** + * How the tool response is handled: llm (passed back to model) or direct (returned to user) + * @type {string} + * @memberof CreateCustomToolRequest + */ + 'responseMode'?: CreateCustomToolRequestResponseModeEnum | null; } + +export const CreateCustomToolRequestResponseModeEnum = { + Llm: 'llm', + Direct: 'direct' +} as const; + +export type CreateCustomToolRequestResponseModeEnum = typeof CreateCustomToolRequestResponseModeEnum[keyof typeof CreateCustomToolRequestResponseModeEnum]; + /** * * @export @@ -2779,17 +3041,83 @@ export interface CreateSlackBot201Response { */ export interface CreateSlackBotRequest { /** - * The AI agent that powers this bot + * Display name for the bot * @type {string} * @memberof CreateSlackBotRequest */ - 'agentId': string; + 'name': string; /** * Whether to use Quant-managed or customer-provided Slack app * @type {string} * @memberof CreateSlackBotRequest */ 'setupType': CreateSlackBotRequestSetupTypeEnum; + /** + * System prompt for the backing AI agent + * @type {string} + * @memberof CreateSlackBotRequest + */ + 'systemPrompt': string; + /** + * AI model identifier + * @type {string} + * @memberof CreateSlackBotRequest + */ + 'modelId': string; + /** + * Sampling temperature + * @type {number} + * @memberof CreateSlackBotRequest + */ + 'temperature'?: number; + /** + * Maximum response tokens + * @type {number} + * @memberof CreateSlackBotRequest + */ + 'maxTokens'?: number; + /** + * Tools the agent may use + * @type {Array} + * @memberof CreateSlackBotRequest + */ + 'allowedTools'?: Array; + /** + * Skills assigned to the agent + * @type {Array} + * @memberof CreateSlackBotRequest + */ + 'assignedSkills'?: Array; + /** + * Vector DB collections the agent may query + * @type {Array} + * @memberof CreateSlackBotRequest + */ + 'allowedCollections'?: Array; + /** + * Sub-agents the agent may call + * @type {Array} + * @memberof CreateSlackBotRequest + */ + 'allowedSubAgents'?: Array; + /** + * Guardrail preset name + * @type {string} + * @memberof CreateSlackBotRequest + */ + 'guardrailPreset'?: string; + /** + * Content filter policies + * @type {Array} + * @memberof CreateSlackBotRequest + */ + 'filterPolicies'?: Array; + /** + * Enable long context mode + * @type {boolean} + * @memberof CreateSlackBotRequest + */ + 'longContext'?: boolean; /** * Session TTL in days * @type {number} @@ -2802,6 +3130,36 @@ export interface CreateSlackBotRequest { * @memberof CreateSlackBotRequest */ 'allowedChannels'?: Array; + /** + * Slack user IDs allowed to interact with the bot + * @type {Array} + * @memberof CreateSlackBotRequest + */ + 'allowedUsers'?: Array; + /** + * Slack user IDs denied from interacting with the bot + * @type {Array} + * @memberof CreateSlackBotRequest + */ + 'deniedUsers'?: Array; + /** + * Whether guest users may interact with the bot + * @type {boolean} + * @memberof CreateSlackBotRequest + */ + 'allowGuests'?: boolean; + /** + * Content shown on the bot\'s Home tab in Slack + * @type {string} + * @memberof CreateSlackBotRequest + */ + 'homeTabContent'?: string; + /** + * Agent-level access control settings + * @type {object} + * @memberof CreateSlackBotRequest + */ + 'agentAccessControl'?: object; /** * Whether keyword triggers are enabled * @type {boolean} @@ -2814,12 +3172,6 @@ export interface CreateSlackBotRequest { * @memberof CreateSlackBotRequest */ 'keywords'?: Array; - /** - * Slash commands the bot responds to - * @type {Array} - * @memberof CreateSlackBotRequest - */ - 'slashCommands'?: Array; } export const CreateSlackBotRequestSetupTypeEnum = { @@ -4221,7 +4573,7 @@ export interface GetAIOrchestrationStatus200Response { * @type {string} * @memberof GetAIOrchestrationStatus200Response */ - 'synthesizedResponse'?: string; + 'result'?: string; /** * Status of individual tool executions * @type {Array} @@ -4246,11 +4598,17 @@ export interface GetAIOrchestrationStatus200Response { * @memberof GetAIOrchestrationStatus200Response */ 'completedAt'?: string; + /** + * Seconds from creation to completion (present only once completed) + * @type {number} + * @memberof GetAIOrchestrationStatus200Response + */ + 'duration'?: number; } export const GetAIOrchestrationStatus200ResponseStatusEnum = { Pending: 'pending', - Polling: 'polling', + WaitingTools: 'waiting_tools', Synthesizing: 'synthesizing', Complete: 'complete', Failed: 'failed' @@ -4460,50 +4818,6 @@ export interface GetAIToolExecutionStatus404Response { */ 'executionId'?: string; } -/** - * - * @export - * @interface GetAIUsageStats200Response - */ -export interface GetAIUsageStats200Response { - /** - * Total number of API requests - * @type {number} - * @memberof GetAIUsageStats200Response - */ - 'total_requests'?: number; - /** - * Total tokens consumed across all requests - * @type {number} - * @memberof GetAIUsageStats200Response - */ - 'total_tokens'?: number; - /** - * Usage breakdown by model ID - * @type {{ [key: string]: GetAIUsageStats200ResponseByModelValue; }} - * @memberof GetAIUsageStats200Response - */ - 'by_model'?: { [key: string]: GetAIUsageStats200ResponseByModelValue; }; -} -/** - * - * @export - * @interface GetAIUsageStats200ResponseByModelValue - */ -export interface GetAIUsageStats200ResponseByModelValue { - /** - * Number of requests for this model - * @type {number} - * @memberof GetAIUsageStats200ResponseByModelValue - */ - 'requests'?: number; - /** - * Total tokens for this model - * @type {number} - * @memberof GetAIUsageStats200ResponseByModelValue - */ - 'tokens'?: number; -} /** * * @export @@ -4633,6 +4947,100 @@ export interface GetAgentOverlay200ResponseOverlay { */ 'version'?: number; } +/** + * + * @export + * @interface GetCustomTool200Response + */ +export interface GetCustomTool200Response { + /** + * + * @type {GetCustomTool200ResponseTool} + * @memberof GetCustomTool200Response + */ + 'tool'?: GetCustomTool200ResponseTool; +} +/** + * + * @export + * @interface GetCustomTool200ResponseTool + */ +export interface GetCustomTool200ResponseTool { + /** + * + * @type {string} + * @memberof GetCustomTool200ResponseTool + */ + 'name'?: string; + /** + * + * @type {string} + * @memberof GetCustomTool200ResponseTool + */ + 'description'?: string; + /** + * + * @type {string} + * @memberof GetCustomTool200ResponseTool + */ + 'edgeFunctionUrl'?: string; + /** + * The deployed edge function source code + * @type {string} + * @memberof GetCustomTool200ResponseTool + */ + 'edgeFunctionCode'?: string; + /** + * + * @type {boolean} + * @memberof GetCustomTool200ResponseTool + */ + 'isAsync'?: boolean; + /** + * + * @type {string} + * @memberof GetCustomTool200ResponseTool + */ + 'inputSchema'?: string; + /** + * + * @type {string} + * @memberof GetCustomTool200ResponseTool + */ + 'outputSchema'?: string | null; + /** + * + * @type {string} + * @memberof GetCustomTool200ResponseTool + */ + 'outputSchemaDescription'?: string | null; + /** + * + * @type {string} + * @memberof GetCustomTool200ResponseTool + */ + 'category'?: string | null; + /** + * + * @type {string} + * @memberof GetCustomTool200ResponseTool + */ + 'responseMode'?: GetCustomTool200ResponseToolResponseModeEnum | null; + /** + * + * @type {string} + * @memberof GetCustomTool200ResponseTool + */ + 'createdAt'?: string; +} + +export const GetCustomTool200ResponseToolResponseModeEnum = { + Llm: 'llm', + Direct: 'direct' +} as const; + +export type GetCustomTool200ResponseToolResponseModeEnum = typeof GetCustomTool200ResponseToolResponseModeEnum[keyof typeof GetCustomTool200ResponseToolResponseModeEnum]; + /** * * @export @@ -5079,6 +5487,62 @@ export interface GetGovernanceConfig200ResponseSpendLimits { * @memberof GetGovernanceConfig200ResponseSpendLimits */ 'warningThresholdPercent'?: number | null; + /** + * Aggregate spend caps per interface label (slack, autonomous, api-gateway, streaming, websocket). Keys are interface labels. + * @type {{ [key: string]: GetGovernanceConfig200ResponseSpendLimitsInterfaceLimitsValue; }} + * @memberof GetGovernanceConfig200ResponseSpendLimits + */ + 'interfaceLimits'?: { [key: string]: GetGovernanceConfig200ResponseSpendLimitsInterfaceLimitsValue; }; + /** + * Per-user budget overrides keyed by userId (numeric portal id, slack-, or system:code-agent). Replaces the flat per-user budget for that user; unlimited=true exempts them. + * @type {{ [key: string]: GetGovernanceConfig200ResponseSpendLimitsUserOverridesValue; }} + * @memberof GetGovernanceConfig200ResponseSpendLimits + */ + 'userOverrides'?: { [key: string]: GetGovernanceConfig200ResponseSpendLimitsUserOverridesValue; }; +} +/** + * + * @export + * @interface GetGovernanceConfig200ResponseSpendLimitsInterfaceLimitsValue + */ +export interface GetGovernanceConfig200ResponseSpendLimitsInterfaceLimitsValue { + /** + * + * @type {number} + * @memberof GetGovernanceConfig200ResponseSpendLimitsInterfaceLimitsValue + */ + 'dailyCents'?: number | null; + /** + * + * @type {number} + * @memberof GetGovernanceConfig200ResponseSpendLimitsInterfaceLimitsValue + */ + 'monthlyCents'?: number | null; +} +/** + * + * @export + * @interface GetGovernanceConfig200ResponseSpendLimitsUserOverridesValue + */ +export interface GetGovernanceConfig200ResponseSpendLimitsUserOverridesValue { + /** + * + * @type {number} + * @memberof GetGovernanceConfig200ResponseSpendLimitsUserOverridesValue + */ + 'dailyCents'?: number | null; + /** + * + * @type {number} + * @memberof GetGovernanceConfig200ResponseSpendLimitsUserOverridesValue + */ + 'monthlyCents'?: number | null; + /** + * + * @type {boolean} + * @memberof GetGovernanceConfig200ResponseSpendLimitsUserOverridesValue + */ + 'unlimited'?: boolean | null; } /** * @@ -5300,18 +5764,209 @@ export interface GetMyUsage200ResponseMonthly { */ export interface GetMyUsage200ResponseQuota { /** - * Per-user monthly budget in US cents - * @type {number} + * + * @type {GetMyUsage200ResponseQuotaMonthlyLimit} * @memberof GetMyUsage200ResponseQuota */ - 'monthlyLimit'?: number | null; + 'monthlyLimit'?: GetMyUsage200ResponseQuotaMonthlyLimit | null; /** - * Per-user daily budget in US cents - * @type {number} + * + * @type {GetMyUsage200ResponseQuotaDailyLimit} * @memberof GetMyUsage200ResponseQuota */ - 'dailyLimit'?: number | null; + 'dailyLimit'?: GetMyUsage200ResponseQuotaDailyLimit | null; +} +/** + * Per-user daily spend cap (object form, present when an org-level perUserDailyBudget is configured) + * @export + * @interface GetMyUsage200ResponseQuotaDailyLimit + */ +export interface GetMyUsage200ResponseQuotaDailyLimit { + /** + * The configured daily cap in US cents + * @type {number} + * @memberof GetMyUsage200ResponseQuotaDailyLimit + */ + 'limitCents'?: number; + /** + * Percentage of the cap consumed today (0–100+) + * @type {number} + * @memberof GetMyUsage200ResponseQuotaDailyLimit + */ + 'usedPercent'?: number; + /** + * Cents remaining before the cap is hit; can be negative if overspent + * @type {number} + * @memberof GetMyUsage200ResponseQuotaDailyLimit + */ + 'remainingCents'?: number; + /** + * UTC timestamp when the daily counter resets (always next UTC midnight) + * @type {string} + * @memberof GetMyUsage200ResponseQuotaDailyLimit + */ + 'resetsAt'?: string; +} +/** + * Per-user monthly spend cap (object form, present when an org-level perUserMonthlyBudget is configured) + * @export + * @interface GetMyUsage200ResponseQuotaMonthlyLimit + */ +export interface GetMyUsage200ResponseQuotaMonthlyLimit { + /** + * The configured monthly cap in US cents + * @type {number} + * @memberof GetMyUsage200ResponseQuotaMonthlyLimit + */ + 'limitCents'?: number; + /** + * Percentage of the cap consumed this month (0–100+) + * @type {number} + * @memberof GetMyUsage200ResponseQuotaMonthlyLimit + */ + 'usedPercent'?: number; + /** + * Cents remaining before the cap is hit; can be negative if overspent + * @type {number} + * @memberof GetMyUsage200ResponseQuotaMonthlyLimit + */ + 'remainingCents'?: number; +} +/** + * + * @export + * @interface GetRestoreStatus200Response + */ +export interface GetRestoreStatus200Response { + /** + * + * @type {string} + * @memberof GetRestoreStatus200Response + */ + 'restoreId'?: string; + /** + * + * @type {string} + * @memberof GetRestoreStatus200Response + */ + 'orgName'?: string; + /** + * + * @type {string} + * @memberof GetRestoreStatus200Response + */ + 'appName'?: string; + /** + * + * @type {string} + * @memberof GetRestoreStatus200Response + */ + 'envName'?: string; + /** + * + * @type {string} + * @memberof GetRestoreStatus200Response + */ + 'backupId'?: string; + /** + * + * @type {string} + * @memberof GetRestoreStatus200Response + */ + 'status'?: GetRestoreStatus200ResponseStatusEnum; + /** + * + * @type {string} + * @memberof GetRestoreStatus200Response + */ + 'startedAt'?: string; + /** + * + * @type {string} + * @memberof GetRestoreStatus200Response + */ + 'completedAt'?: string | null; + /** + * + * @type {string} + * @memberof GetRestoreStatus200Response + */ + 'errorMessage'?: string | null; + /** + * + * @type {string} + * @memberof GetRestoreStatus200Response + */ + 'taskArn'?: string | null; + /** + * + * @type {number} + * @memberof GetRestoreStatus200Response + */ + 'ttl'?: number | null; +} + +export const GetRestoreStatus200ResponseStatusEnum = { + Pending: 'pending', + InProgress: 'in_progress', + Completed: 'completed', + Failed: 'failed' +} as const; + +export type GetRestoreStatus200ResponseStatusEnum = typeof GetRestoreStatus200ResponseStatusEnum[keyof typeof GetRestoreStatus200ResponseStatusEnum]; + +/** + * + * @export + * @interface GetScalingPolicyResponse + */ +export interface GetScalingPolicyResponse { + /** + * + * @type {string} + * @memberof GetScalingPolicyResponse + */ + 'metric'?: GetScalingPolicyResponseMetricEnum; + /** + * + * @type {number} + * @memberof GetScalingPolicyResponse + */ + 'targetValue'?: number; + /** + * + * @type {number} + * @memberof GetScalingPolicyResponse + */ + 'scaleInCooldownSeconds'?: number; + /** + * + * @type {number} + * @memberof GetScalingPolicyResponse + */ + 'scaleOutCooldownSeconds'?: number; + /** + * Name of the underlying Application Auto Scaling policy. + * @type {string} + * @memberof GetScalingPolicyResponse + */ + 'policyName'?: string; + /** + * ALB ResourceLabel for RPS policies (target group identifier). + * @type {string} + * @memberof GetScalingPolicyResponse + */ + 'resourceLabel'?: string | null; } + +export const GetScalingPolicyResponseMetricEnum = { + CpuUtilization: 'CPUUtilization', + MemoryUtilization: 'MemoryUtilization', + Rps: 'RPS' +} as const; + +export type GetScalingPolicyResponseMetricEnum = typeof GetScalingPolicyResponseMetricEnum[keyof typeof GetScalingPolicyResponseMetricEnum]; + /** * * @export @@ -5446,7 +6101,7 @@ export interface GetSlackBot200ResponseBot { * @type {string} * @memberof GetSlackBot200ResponseBot */ - 'agentId'?: string; + 'name'?: string; /** * * @type {string} @@ -5465,6 +6120,72 @@ export interface GetSlackBot200ResponseBot { * @memberof GetSlackBot200ResponseBot */ 'connected'?: boolean; + /** + * + * @type {string} + * @memberof GetSlackBot200ResponseBot + */ + 'systemPrompt'?: string; + /** + * + * @type {string} + * @memberof GetSlackBot200ResponseBot + */ + 'modelId'?: string; + /** + * + * @type {number} + * @memberof GetSlackBot200ResponseBot + */ + 'temperature'?: number; + /** + * + * @type {number} + * @memberof GetSlackBot200ResponseBot + */ + 'maxTokens'?: number; + /** + * + * @type {Array} + * @memberof GetSlackBot200ResponseBot + */ + 'allowedTools'?: Array; + /** + * + * @type {Array} + * @memberof GetSlackBot200ResponseBot + */ + 'assignedSkills'?: Array; + /** + * + * @type {Array} + * @memberof GetSlackBot200ResponseBot + */ + 'allowedCollections'?: Array; + /** + * + * @type {Array} + * @memberof GetSlackBot200ResponseBot + */ + 'allowedSubAgents'?: Array; + /** + * + * @type {string} + * @memberof GetSlackBot200ResponseBot + */ + 'guardrailPreset'?: string; + /** + * + * @type {Array} + * @memberof GetSlackBot200ResponseBot + */ + 'filterPolicies'?: Array; + /** + * + * @type {boolean} + * @memberof GetSlackBot200ResponseBot + */ + 'longContext'?: boolean; /** * * @type {number} @@ -5479,22 +6200,46 @@ export interface GetSlackBot200ResponseBot { 'allowedChannels'?: Array; /** * - * @type {boolean} + * @type {Array} * @memberof GetSlackBot200ResponseBot */ - 'keywordsEnabled'?: boolean; + 'allowedUsers'?: Array; /** * * @type {Array} * @memberof GetSlackBot200ResponseBot */ - 'keywords'?: Array; + 'deniedUsers'?: Array; + /** + * + * @type {boolean} + * @memberof GetSlackBot200ResponseBot + */ + 'allowGuests'?: boolean; + /** + * + * @type {string} + * @memberof GetSlackBot200ResponseBot + */ + 'homeTabContent'?: string; + /** + * + * @type {object} + * @memberof GetSlackBot200ResponseBot + */ + 'agentAccessControl'?: object; + /** + * + * @type {boolean} + * @memberof GetSlackBot200ResponseBot + */ + 'keywordsEnabled'?: boolean; /** * * @type {Array} * @memberof GetSlackBot200ResponseBot */ - 'slashCommands'?: Array; + 'keywords'?: Array; /** * * @type {string} @@ -7144,10 +7889,10 @@ export interface ListCustomTools200ResponseToolsInner { 'isAsync'?: boolean; /** * - * @type {object} + * @type {string} * @memberof ListCustomTools200ResponseToolsInner */ - 'inputSchema'?: object; + 'inputSchema'?: string; /** * * @type {string} @@ -7486,7 +8231,7 @@ export interface ListSlackBots200ResponseBotsInner { * @type {string} * @memberof ListSlackBots200ResponseBotsInner */ - 'agentId'?: string; + 'name'?: string; /** * * @type {string} @@ -7505,6 +8250,72 @@ export interface ListSlackBots200ResponseBotsInner { * @memberof ListSlackBots200ResponseBotsInner */ 'connected'?: boolean; + /** + * + * @type {string} + * @memberof ListSlackBots200ResponseBotsInner + */ + 'systemPrompt'?: string; + /** + * + * @type {string} + * @memberof ListSlackBots200ResponseBotsInner + */ + 'modelId'?: string; + /** + * + * @type {number} + * @memberof ListSlackBots200ResponseBotsInner + */ + 'temperature'?: number; + /** + * + * @type {number} + * @memberof ListSlackBots200ResponseBotsInner + */ + 'maxTokens'?: number; + /** + * + * @type {Array} + * @memberof ListSlackBots200ResponseBotsInner + */ + 'allowedTools'?: Array; + /** + * + * @type {Array} + * @memberof ListSlackBots200ResponseBotsInner + */ + 'assignedSkills'?: Array; + /** + * + * @type {Array} + * @memberof ListSlackBots200ResponseBotsInner + */ + 'allowedCollections'?: Array; + /** + * + * @type {Array} + * @memberof ListSlackBots200ResponseBotsInner + */ + 'allowedSubAgents'?: Array; + /** + * + * @type {string} + * @memberof ListSlackBots200ResponseBotsInner + */ + 'guardrailPreset'?: string; + /** + * + * @type {Array} + * @memberof ListSlackBots200ResponseBotsInner + */ + 'filterPolicies'?: Array; + /** + * + * @type {boolean} + * @memberof ListSlackBots200ResponseBotsInner + */ + 'longContext'?: boolean; /** * * @type {number} @@ -8210,43 +9021,104 @@ export interface QueryVectorCollectionRequestFilter { /** * * @export - * @interface ScalingPolicy + * @interface RestoreDatabase202Response */ -export interface ScalingPolicy { +export interface RestoreDatabase202Response { /** * * @type {string} - * @memberof ScalingPolicy + * @memberof RestoreDatabase202Response */ - 'metric'?: ScalingPolicyMetricEnum; + 'restoreId'?: string; /** * - * @type {number} - * @memberof ScalingPolicy + * @type {string} + * @memberof RestoreDatabase202Response */ - 'targetValue'?: number; + 'status'?: string; /** * - * @type {number} - * @memberof ScalingPolicy + * @type {string} + * @memberof RestoreDatabase202Response */ - 'scaleInCooldownSeconds'?: number; + 'message'?: string; +} +/** + * + * @export + * @interface RestoreDatabaseRequest + */ +export interface RestoreDatabaseRequest { + /** + * The backup ID to restore (must match path param) + * @type {string} + * @memberof RestoreDatabaseRequest + */ + 'backupId': string; + /** + * Must be true to confirm existing data will be overwritten + * @type {boolean} + * @memberof RestoreDatabaseRequest + */ + 'acknowledgeDataloss': boolean; +} +/** + * + * @export + * @interface RestoreFilesystem202Response + */ +export interface RestoreFilesystem202Response { /** * - * @type {number} - * @memberof ScalingPolicy + * @type {string} + * @memberof RestoreFilesystem202Response */ - 'scaleOutCooldownSeconds'?: number; + 'restoreId'?: string; + /** + * + * @type {string} + * @memberof RestoreFilesystem202Response + */ + 'status'?: string; + /** + * + * @type {string} + * @memberof RestoreFilesystem202Response + */ + 'message'?: string; +} +/** + * + * @export + * @interface RestoreFilesystemRequest + */ +export interface RestoreFilesystemRequest { + /** + * The backup ID to restore (must match path param) + * @type {string} + * @memberof RestoreFilesystemRequest + */ + 'backupId': string; + /** + * Must be true. tar extraction overwrites same-named files in the target EFS in place; pre-existing files not in the archive are preserved. + * @type {boolean} + * @memberof RestoreFilesystemRequest + */ + 'acknowledgeDataloss': boolean; +} +/** + * + * @export + * @interface ScalingPolicyListResponse + */ +export interface ScalingPolicyListResponse { + /** + * + * @type {Array} + * @memberof ScalingPolicyListResponse + */ + 'policies'?: Array; } - -export const ScalingPolicyMetricEnum = { - CpuUtilization: 'CPUUtilization', - MemoryUtilization: 'MemoryUtilization', - Rps: 'RPS' -} as const; - -export type ScalingPolicyMetricEnum = typeof ScalingPolicyMetricEnum[keyof typeof ScalingPolicyMetricEnum]; - /** * * @export @@ -8317,6 +9189,46 @@ export interface SearchSlackWorkspaceUsers200ResponseResultsInner { */ 'real_name'?: string; } +/** + * + * @export + * @interface SetScalingPolicyRequest + */ +export interface SetScalingPolicyRequest { + /** + * Metric to track for scaling. + * @type {string} + * @memberof SetScalingPolicyRequest + */ + 'metric': SetScalingPolicyRequestMetricEnum; + /** + * Target value. Percentage for CPU/Memory; req/sec per task for RPS. + * @type {number} + * @memberof SetScalingPolicyRequest + */ + 'targetValue': number; + /** + * Cooldown (seconds) before another scale-in can start. + * @type {number} + * @memberof SetScalingPolicyRequest + */ + 'scaleInCooldownSeconds'?: number; + /** + * Cooldown (seconds) before another scale-out can start. + * @type {number} + * @memberof SetScalingPolicyRequest + */ + 'scaleOutCooldownSeconds'?: number; +} + +export const SetScalingPolicyRequestMetricEnum = { + CpuUtilization: 'CPUUtilization', + MemoryUtilization: 'MemoryUtilization', + Rps: 'RPS' +} as const; + +export type SetScalingPolicyRequestMetricEnum = typeof SetScalingPolicyRequestMetricEnum[keyof typeof SetScalingPolicyRequestMetricEnum]; + /** * Spot instance strategy configuration for controlling cost vs reliability. Spot instances provide significant cost savings (~70%) but may be interrupted by AWS. Available for non-production environments. * @export @@ -8756,7 +9668,7 @@ export interface UpdateAIAgentRequest { * @type {string} * @memberof UpdateAIAgentRequest */ - 'guardrailPreset'?: UpdateAIAgentRequestGuardrailPresetEnum; + 'guardrailPreset'?: UpdateAIAgentRequestGuardrailPresetEnum | null; /** * Filter policy IDs to apply to this agent\'s inference requests * @type {Array} @@ -9058,10 +9970,10 @@ export interface UpdateGovernanceConfigRequest { 'mandatoryFilterPolicies'?: Array; /** * - * @type {object} + * @type {GetGovernanceConfig200ResponseSpendLimits} * @memberof UpdateGovernanceConfigRequest */ - 'spendLimits'?: object; + 'spendLimits'?: GetGovernanceConfig200ResponseSpendLimits; /** * * @type {number} @@ -9190,17 +10102,83 @@ export interface UpdateSkillRequest { */ export interface UpdateSlackBotRequest { /** - * Change the backing AI agent + * Display name for the bot * @type {string} * @memberof UpdateSlackBotRequest */ - 'agentId'?: string; + 'name'?: string; /** * Enable or disable the bot * @type {string} * @memberof UpdateSlackBotRequest */ 'status'?: UpdateSlackBotRequestStatusEnum; + /** + * System prompt for the backing AI agent + * @type {string} + * @memberof UpdateSlackBotRequest + */ + 'systemPrompt'?: string; + /** + * AI model identifier + * @type {string} + * @memberof UpdateSlackBotRequest + */ + 'modelId'?: string; + /** + * Sampling temperature + * @type {number} + * @memberof UpdateSlackBotRequest + */ + 'temperature'?: number; + /** + * Maximum response tokens + * @type {number} + * @memberof UpdateSlackBotRequest + */ + 'maxTokens'?: number; + /** + * Tools the agent may use + * @type {Array} + * @memberof UpdateSlackBotRequest + */ + 'allowedTools'?: Array; + /** + * Skills assigned to the agent + * @type {Array} + * @memberof UpdateSlackBotRequest + */ + 'assignedSkills'?: Array; + /** + * Vector DB collections the agent may query + * @type {Array} + * @memberof UpdateSlackBotRequest + */ + 'allowedCollections'?: Array; + /** + * Sub-agents the agent may call + * @type {Array} + * @memberof UpdateSlackBotRequest + */ + 'allowedSubAgents'?: Array; + /** + * Guardrail preset name + * @type {string} + * @memberof UpdateSlackBotRequest + */ + 'guardrailPreset'?: string; + /** + * Content filter policies + * @type {Array} + * @memberof UpdateSlackBotRequest + */ + 'filterPolicies'?: Array; + /** + * Enable long context mode + * @type {boolean} + * @memberof UpdateSlackBotRequest + */ + 'longContext'?: boolean; /** * Session TTL in days * @type {number} @@ -9213,6 +10191,36 @@ export interface UpdateSlackBotRequest { * @memberof UpdateSlackBotRequest */ 'allowedChannels'?: Array; + /** + * Slack user IDs allowed to interact with the bot + * @type {Array} + * @memberof UpdateSlackBotRequest + */ + 'allowedUsers'?: Array; + /** + * Slack user IDs denied from interacting with the bot + * @type {Array} + * @memberof UpdateSlackBotRequest + */ + 'deniedUsers'?: Array; + /** + * Whether guest users may interact with the bot + * @type {boolean} + * @memberof UpdateSlackBotRequest + */ + 'allowGuests'?: boolean; + /** + * Content shown on the bot\'s Home tab in Slack + * @type {string} + * @memberof UpdateSlackBotRequest + */ + 'homeTabContent'?: string; + /** + * Agent-level access control settings + * @type {object} + * @memberof UpdateSlackBotRequest + */ + 'agentAccessControl'?: object; /** * Whether keyword triggers are enabled * @type {boolean} @@ -9225,12 +10233,6 @@ export interface UpdateSlackBotRequest { * @memberof UpdateSlackBotRequest */ 'keywords'?: Array; - /** - * Slash commands the bot responds to - * @type {Array} - * @memberof UpdateSlackBotRequest - */ - 'slashCommands'?: Array; } export const UpdateSlackBotRequestStatusEnum = { @@ -9668,7 +10670,7 @@ export interface UpsertAgentOverlayRequest { * @type {string} * @memberof UpsertAgentOverlayRequest */ - 'guardrailPreset'?: UpsertAgentOverlayRequestGuardrailPresetEnum; + 'guardrailPreset'?: UpsertAgentOverlayRequestGuardrailPresetEnum | null; /** * Current version for optimistic concurrency * @type {number} @@ -15660,6 +16662,174 @@ export const WafConfigThresholdsInnerModeEnum = { export type WafConfigThresholdsInnerModeEnum = typeof WafConfigThresholdsInnerModeEnum[keyof typeof WafConfigThresholdsInnerModeEnum]; +/** + * AIApi - axios parameter creator + * @export + */ +export const AIApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * AI usage from the subscription page\'s source (cloud-api monthly-usage). Parameterized by month, groupBy (model|user|token) and optional daily series. NOTE: as of API 4.19.0 this endpoint requires the update_subscription permission + subscription:read scope (previously use_ai_services + ai:use). For per-caller spend use /ai/usage/me. + * @summary Organisation AI usage breakdown (subscription page parity) + * @param {string} organisation + * @param {string} [month] YYYY-MM, defaults to current month + * @param {GetAIUsageStatsGroupByEnum} [groupBy] + * @param {GetAIUsageStatsIncludeEnum} [include] Set to \'daily\' to append a 30-day series + * @param {string} [userId] Scope the daily series to a user + * @param {string} [tokenId] Scope the daily series to a token + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getAIUsageStats: async (organisation: string, month?: string, groupBy?: GetAIUsageStatsGroupByEnum, include?: GetAIUsageStatsIncludeEnum, userId?: string, tokenId?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'organisation' is not null or undefined + assertParamExists('getAIUsageStats', 'organisation', organisation) + const localVarPath = `/api/v3/organizations/{organisation}/ai/usage` + .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication BearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (month !== undefined) { + localVarQueryParameter['month'] = month; + } + + if (groupBy !== undefined) { + localVarQueryParameter['groupBy'] = groupBy; + } + + if (include !== undefined) { + localVarQueryParameter['include'] = include; + } + + if (userId !== undefined) { + localVarQueryParameter['userId'] = userId; + } + + if (tokenId !== undefined) { + localVarQueryParameter['tokenId'] = tokenId; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * AIApi - functional programming interface + * @export + */ +export const AIApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = AIApiAxiosParamCreator(configuration) + return { + /** + * AI usage from the subscription page\'s source (cloud-api monthly-usage). Parameterized by month, groupBy (model|user|token) and optional daily series. NOTE: as of API 4.19.0 this endpoint requires the update_subscription permission + subscription:read scope (previously use_ai_services + ai:use). For per-caller spend use /ai/usage/me. + * @summary Organisation AI usage breakdown (subscription page parity) + * @param {string} organisation + * @param {string} [month] YYYY-MM, defaults to current month + * @param {GetAIUsageStatsGroupByEnum} [groupBy] + * @param {GetAIUsageStatsIncludeEnum} [include] Set to \'daily\' to append a 30-day series + * @param {string} [userId] Scope the daily series to a user + * @param {string} [tokenId] Scope the daily series to a token + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getAIUsageStats(organisation: string, month?: string, groupBy?: GetAIUsageStatsGroupByEnum, include?: GetAIUsageStatsIncludeEnum, userId?: string, tokenId?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getAIUsageStats(organisation, month, groupBy, include, userId, tokenId, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['AIApi.getAIUsageStats']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + } +}; + +/** + * AIApi - factory interface + * @export + */ +export const AIApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = AIApiFp(configuration) + return { + /** + * AI usage from the subscription page\'s source (cloud-api monthly-usage). Parameterized by month, groupBy (model|user|token) and optional daily series. NOTE: as of API 4.19.0 this endpoint requires the update_subscription permission + subscription:read scope (previously use_ai_services + ai:use). For per-caller spend use /ai/usage/me. + * @summary Organisation AI usage breakdown (subscription page parity) + * @param {string} organisation + * @param {string} [month] YYYY-MM, defaults to current month + * @param {GetAIUsageStatsGroupByEnum} [groupBy] + * @param {GetAIUsageStatsIncludeEnum} [include] Set to \'daily\' to append a 30-day series + * @param {string} [userId] Scope the daily series to a user + * @param {string} [tokenId] Scope the daily series to a token + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getAIUsageStats(organisation: string, month?: string, groupBy?: GetAIUsageStatsGroupByEnum, include?: GetAIUsageStatsIncludeEnum, userId?: string, tokenId?: string, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.getAIUsageStats(organisation, month, groupBy, include, userId, tokenId, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * AIApi - object-oriented interface + * @export + * @class AIApi + * @extends {BaseAPI} + */ +export class AIApi extends BaseAPI { + /** + * AI usage from the subscription page\'s source (cloud-api monthly-usage). Parameterized by month, groupBy (model|user|token) and optional daily series. NOTE: as of API 4.19.0 this endpoint requires the update_subscription permission + subscription:read scope (previously use_ai_services + ai:use). For per-caller spend use /ai/usage/me. + * @summary Organisation AI usage breakdown (subscription page parity) + * @param {string} organisation + * @param {string} [month] YYYY-MM, defaults to current month + * @param {GetAIUsageStatsGroupByEnum} [groupBy] + * @param {GetAIUsageStatsIncludeEnum} [include] Set to \'daily\' to append a 30-day series + * @param {string} [userId] Scope the daily series to a user + * @param {string} [tokenId] Scope the daily series to a token + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AIApi + */ + public getAIUsageStats(organisation: string, month?: string, groupBy?: GetAIUsageStatsGroupByEnum, include?: GetAIUsageStatsIncludeEnum, userId?: string, tokenId?: string, options?: RawAxiosRequestConfig) { + return AIApiFp(this.configuration).getAIUsageStats(organisation, month, groupBy, include, userId, tokenId, options).then((request) => request(this.axios, this.basePath)); + } +} + +/** + * @export + */ +export const GetAIUsageStatsGroupByEnum = { + Model: 'model', + User: 'user', + Token: 'token' +} as const; +export type GetAIUsageStatsGroupByEnum = typeof GetAIUsageStatsGroupByEnum[keyof typeof GetAIUsageStatsGroupByEnum]; +/** + * @export + */ +export const GetAIUsageStatsIncludeEnum = { + Daily: 'daily' +} as const; +export type GetAIUsageStatsIncludeEnum = typeof GetAIUsageStatsIncludeEnum[keyof typeof GetAIUsageStatsIncludeEnum]; + + /** * AIAgentsApi - axios parameter creator * @export @@ -16456,7 +17626,7 @@ export class AIAgentsApi extends BaseAPI { export const AICustomToolsApiAxiosParamCreator = function (configuration?: Configuration) { return { /** - * Registers a custom edge function as a tool that AI models can invoke. This enables customers to create their own tools backed by edge functions. * * **Edge Function Contract:** * - Edge functions must accept POST requests with JSON payload * - Expected request format: `{ \'toolName\': \'...\', \'input\': {...}, \'orgId\': \'...\' }` * - Must return JSON response with either `result` or `error` field * * **Async Tools:** * Set `isAsync: true` for operations >5 seconds. The edge function should return `{ executionId: \'...\' }` and the AI will poll for completion. + * Registers a custom edge function as a tool that AI models can invoke. Provide `edgeFunctionCode` (JavaScript) and the API will deploy it to the CDN, compute the edge function URL, and register the tool. * * **Edge Function Contract:** * - Edge functions must accept POST requests with JSON payload * - Expected request format: `{ \'toolName\': \'...\', \'input\': {...}, \'orgId\': \'...\' }` * - Must return JSON response with either `result` or `error` field * * **Idempotent Updates:** * POSTing with the same `name` will update the existing tool — the edge function code is redeployed to the same UUID and the tool registration is updated. * * **Async Tools:** * Set `isAsync: true` for operations >5 seconds. The edge function should return `{ executionId: \'...\' }` and the AI will poll for completion. * @summary Register Custom Edge Function Tool * @param {string} organisation The organisation ID * @param {CreateCustomToolRequest} createCustomToolRequest @@ -16500,7 +17670,7 @@ export const AICustomToolsApiAxiosParamCreator = function (configuration?: Confi }; }, /** - * Deletes a custom tool registration. The underlying edge function is not affected. + * Deletes a custom tool registration and its deployed edge function. * @summary Delete Custom Tool * @param {string} organisation The organisation ID * @param {string} toolName The tool name to delete @@ -16532,6 +17702,48 @@ export const AICustomToolsApiAxiosParamCreator = function (configuration?: Confi + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Retrieves a single registered custom tool by name. + * @summary Get Custom Tool + * @param {string} organisation The organisation ID + * @param {string} toolName The tool name to retrieve + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getCustomTool: async (organisation: string, toolName: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'organisation' is not null or undefined + assertParamExists('getCustomTool', 'organisation', organisation) + // verify required parameter 'toolName' is not null or undefined + assertParamExists('getCustomTool', 'toolName', toolName) + const localVarPath = `/api/v3/organizations/{organisation}/ai/custom-tools/{toolName}` + .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))) + .replace(`{${"toolName"}}`, encodeURIComponent(String(toolName))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication BearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; @@ -16590,7 +17802,7 @@ export const AICustomToolsApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = AICustomToolsApiAxiosParamCreator(configuration) return { /** - * Registers a custom edge function as a tool that AI models can invoke. This enables customers to create their own tools backed by edge functions. * * **Edge Function Contract:** * - Edge functions must accept POST requests with JSON payload * - Expected request format: `{ \'toolName\': \'...\', \'input\': {...}, \'orgId\': \'...\' }` * - Must return JSON response with either `result` or `error` field * * **Async Tools:** * Set `isAsync: true` for operations >5 seconds. The edge function should return `{ executionId: \'...\' }` and the AI will poll for completion. + * Registers a custom edge function as a tool that AI models can invoke. Provide `edgeFunctionCode` (JavaScript) and the API will deploy it to the CDN, compute the edge function URL, and register the tool. * * **Edge Function Contract:** * - Edge functions must accept POST requests with JSON payload * - Expected request format: `{ \'toolName\': \'...\', \'input\': {...}, \'orgId\': \'...\' }` * - Must return JSON response with either `result` or `error` field * * **Idempotent Updates:** * POSTing with the same `name` will update the existing tool — the edge function code is redeployed to the same UUID and the tool registration is updated. * * **Async Tools:** * Set `isAsync: true` for operations >5 seconds. The edge function should return `{ executionId: \'...\' }` and the AI will poll for completion. * @summary Register Custom Edge Function Tool * @param {string} organisation The organisation ID * @param {CreateCustomToolRequest} createCustomToolRequest @@ -16604,7 +17816,7 @@ export const AICustomToolsApiFp = function(configuration?: Configuration) { return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** - * Deletes a custom tool registration. The underlying edge function is not affected. + * Deletes a custom tool registration and its deployed edge function. * @summary Delete Custom Tool * @param {string} organisation The organisation ID * @param {string} toolName The tool name to delete @@ -16617,6 +17829,20 @@ export const AICustomToolsApiFp = function(configuration?: Configuration) { const localVarOperationServerBasePath = operationServerMap['AICustomToolsApi.deleteCustomTool']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, + /** + * Retrieves a single registered custom tool by name. + * @summary Get Custom Tool + * @param {string} organisation The organisation ID + * @param {string} toolName The tool name to retrieve + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getCustomTool(organisation: string, toolName: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getCustomTool(organisation, toolName, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['AICustomToolsApi.getCustomTool']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, /** * Lists all registered custom edge function tools for an organization. * @summary List Custom Tools @@ -16641,7 +17867,7 @@ export const AICustomToolsApiFactory = function (configuration?: Configuration, const localVarFp = AICustomToolsApiFp(configuration) return { /** - * Registers a custom edge function as a tool that AI models can invoke. This enables customers to create their own tools backed by edge functions. * * **Edge Function Contract:** * - Edge functions must accept POST requests with JSON payload * - Expected request format: `{ \'toolName\': \'...\', \'input\': {...}, \'orgId\': \'...\' }` * - Must return JSON response with either `result` or `error` field * * **Async Tools:** * Set `isAsync: true` for operations >5 seconds. The edge function should return `{ executionId: \'...\' }` and the AI will poll for completion. + * Registers a custom edge function as a tool that AI models can invoke. Provide `edgeFunctionCode` (JavaScript) and the API will deploy it to the CDN, compute the edge function URL, and register the tool. * * **Edge Function Contract:** * - Edge functions must accept POST requests with JSON payload * - Expected request format: `{ \'toolName\': \'...\', \'input\': {...}, \'orgId\': \'...\' }` * - Must return JSON response with either `result` or `error` field * * **Idempotent Updates:** * POSTing with the same `name` will update the existing tool — the edge function code is redeployed to the same UUID and the tool registration is updated. * * **Async Tools:** * Set `isAsync: true` for operations >5 seconds. The edge function should return `{ executionId: \'...\' }` and the AI will poll for completion. * @summary Register Custom Edge Function Tool * @param {string} organisation The organisation ID * @param {CreateCustomToolRequest} createCustomToolRequest @@ -16652,7 +17878,7 @@ export const AICustomToolsApiFactory = function (configuration?: Configuration, return localVarFp.createCustomTool(organisation, createCustomToolRequest, options).then((request) => request(axios, basePath)); }, /** - * Deletes a custom tool registration. The underlying edge function is not affected. + * Deletes a custom tool registration and its deployed edge function. * @summary Delete Custom Tool * @param {string} organisation The organisation ID * @param {string} toolName The tool name to delete @@ -16662,6 +17888,17 @@ export const AICustomToolsApiFactory = function (configuration?: Configuration, deleteCustomTool(organisation: string, toolName: string, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.deleteCustomTool(organisation, toolName, options).then((request) => request(axios, basePath)); }, + /** + * Retrieves a single registered custom tool by name. + * @summary Get Custom Tool + * @param {string} organisation The organisation ID + * @param {string} toolName The tool name to retrieve + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getCustomTool(organisation: string, toolName: string, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.getCustomTool(organisation, toolName, options).then((request) => request(axios, basePath)); + }, /** * Lists all registered custom edge function tools for an organization. * @summary List Custom Tools @@ -16683,7 +17920,7 @@ export const AICustomToolsApiFactory = function (configuration?: Configuration, */ export class AICustomToolsApi extends BaseAPI { /** - * Registers a custom edge function as a tool that AI models can invoke. This enables customers to create their own tools backed by edge functions. * * **Edge Function Contract:** * - Edge functions must accept POST requests with JSON payload * - Expected request format: `{ \'toolName\': \'...\', \'input\': {...}, \'orgId\': \'...\' }` * - Must return JSON response with either `result` or `error` field * * **Async Tools:** * Set `isAsync: true` for operations >5 seconds. The edge function should return `{ executionId: \'...\' }` and the AI will poll for completion. + * Registers a custom edge function as a tool that AI models can invoke. Provide `edgeFunctionCode` (JavaScript) and the API will deploy it to the CDN, compute the edge function URL, and register the tool. * * **Edge Function Contract:** * - Edge functions must accept POST requests with JSON payload * - Expected request format: `{ \'toolName\': \'...\', \'input\': {...}, \'orgId\': \'...\' }` * - Must return JSON response with either `result` or `error` field * * **Idempotent Updates:** * POSTing with the same `name` will update the existing tool — the edge function code is redeployed to the same UUID and the tool registration is updated. * * **Async Tools:** * Set `isAsync: true` for operations >5 seconds. The edge function should return `{ executionId: \'...\' }` and the AI will poll for completion. * @summary Register Custom Edge Function Tool * @param {string} organisation The organisation ID * @param {CreateCustomToolRequest} createCustomToolRequest @@ -16696,7 +17933,7 @@ export class AICustomToolsApi extends BaseAPI { } /** - * Deletes a custom tool registration. The underlying edge function is not affected. + * Deletes a custom tool registration and its deployed edge function. * @summary Delete Custom Tool * @param {string} organisation The organisation ID * @param {string} toolName The tool name to delete @@ -16708,6 +17945,19 @@ export class AICustomToolsApi extends BaseAPI { return AICustomToolsApiFp(this.configuration).deleteCustomTool(organisation, toolName, options).then((request) => request(this.axios, this.basePath)); } + /** + * Retrieves a single registered custom tool by name. + * @summary Get Custom Tool + * @param {string} organisation The organisation ID + * @param {string} toolName The tool name to retrieve + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AICustomToolsApi + */ + public getCustomTool(organisation: string, toolName: string, options?: RawAxiosRequestConfig) { + return AICustomToolsApiFp(this.configuration).getCustomTool(organisation, toolName, options).then((request) => request(this.axios, this.basePath)); + } + /** * Lists all registered custom edge function tools for an organization. * @summary List Custom Tools @@ -18711,126 +19961,6 @@ export const ListAIModelsFeatureEnum = { export type ListAIModelsFeatureEnum = typeof ListAIModelsFeatureEnum[keyof typeof ListAIModelsFeatureEnum]; -/** - * AIMonitoringApi - axios parameter creator - * @export - */ -export const AIMonitoringApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * - * @summary Get AI usage statistics - * @param {string} organisation The organisation ID - * @param {string} [month] Month to retrieve statistics for (YYYY-MM format) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getAIUsageStats: async (organisation: string, month?: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'organisation' is not null or undefined - assertParamExists('getAIUsageStats', 'organisation', organisation) - const localVarPath = `/api/v3/organizations/{organisation}/ai/usage` - .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - // http bearer authentication required - await setBearerAuthToObject(localVarHeaderParameter, configuration) - - if (month !== undefined) { - localVarQueryParameter['month'] = month; - } - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * AIMonitoringApi - functional programming interface - * @export - */ -export const AIMonitoringApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = AIMonitoringApiAxiosParamCreator(configuration) - return { - /** - * - * @summary Get AI usage statistics - * @param {string} organisation The organisation ID - * @param {string} [month] Month to retrieve statistics for (YYYY-MM format) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async getAIUsageStats(organisation: string, month?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.getAIUsageStats(organisation, month, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['AIMonitoringApi.getAIUsageStats']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - } -}; - -/** - * AIMonitoringApi - factory interface - * @export - */ -export const AIMonitoringApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = AIMonitoringApiFp(configuration) - return { - /** - * - * @summary Get AI usage statistics - * @param {string} organisation The organisation ID - * @param {string} [month] Month to retrieve statistics for (YYYY-MM format) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getAIUsageStats(organisation: string, month?: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.getAIUsageStats(organisation, month, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * AIMonitoringApi - object-oriented interface - * @export - * @class AIMonitoringApi - * @extends {BaseAPI} - */ -export class AIMonitoringApi extends BaseAPI { - /** - * - * @summary Get AI usage statistics - * @param {string} organisation The organisation ID - * @param {string} [month] Month to retrieve statistics for (YYYY-MM format) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof AIMonitoringApi - */ - public getAIUsageStats(organisation: string, month?: string, options?: RawAxiosRequestConfig) { - return AIMonitoringApiFp(this.configuration).getAIUsageStats(organisation, month, options).then((request) => request(this.axios, this.basePath)); - } -} - - - /** * AIOrchestrationsApi - axios parameter creator * @export @@ -19637,6 +20767,1560 @@ export const ListOrchestrationsStatusEnum = { export type ListOrchestrationsStatusEnum = typeof ListOrchestrationsStatusEnum[keyof typeof ListOrchestrationsStatusEnum]; +/** + * AISearchApi - axios parameter creator + * @export + */ +export const AISearchApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary RAG chat with AI Search content + * @param {string} organisation + * @param {string} project + * @param {AiSearchChatRequest} aiSearchChatRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchChat: async (organisation: string, project: string, aiSearchChatRequest: AiSearchChatRequest, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'organisation' is not null or undefined + assertParamExists('aiSearchChat', 'organisation', organisation) + // verify required parameter 'project' is not null or undefined + assertParamExists('aiSearchChat', 'project', project) + // verify required parameter 'aiSearchChatRequest' is not null or undefined + assertParamExists('aiSearchChat', 'aiSearchChatRequest', aiSearchChatRequest) + const localVarPath = `/api/v3/organisations/{organisation}/projects/{project}/ai-search/chat` + .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))) + .replace(`{${"project"}}`, encodeURIComponent(String(project))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication BearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(aiSearchChatRequest, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Delete pages by URLs or patterns + * @param {string} organisation + * @param {string} project + * @param {AiSearchDeletePagesRequest} aiSearchDeletePagesRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchDeletePages: async (organisation: string, project: string, aiSearchDeletePagesRequest: AiSearchDeletePagesRequest, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'organisation' is not null or undefined + assertParamExists('aiSearchDeletePages', 'organisation', organisation) + // verify required parameter 'project' is not null or undefined + assertParamExists('aiSearchDeletePages', 'project', project) + // verify required parameter 'aiSearchDeletePagesRequest' is not null or undefined + assertParamExists('aiSearchDeletePages', 'aiSearchDeletePagesRequest', aiSearchDeletePagesRequest) + const localVarPath = `/api/v3/organisations/{organisation}/projects/{project}/ai-search/pages` + .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))) + .replace(`{${"project"}}`, encodeURIComponent(String(project))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication BearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(aiSearchDeletePagesRequest, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Disable AI Search for a project + * @param {string} organisation + * @param {string} project + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchDisable: async (organisation: string, project: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'organisation' is not null or undefined + assertParamExists('aiSearchDisable', 'organisation', organisation) + // verify required parameter 'project' is not null or undefined + assertParamExists('aiSearchDisable', 'project', project) + const localVarPath = `/api/v3/organisations/{organisation}/projects/{project}/ai-search/disable` + .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))) + .replace(`{${"project"}}`, encodeURIComponent(String(project))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication BearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Enable AI Search for a project + * @param {string} organisation + * @param {string} project + * @param {AiSearchEnableRequest} [aiSearchEnableRequest] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchEnable: async (organisation: string, project: string, aiSearchEnableRequest?: AiSearchEnableRequest, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'organisation' is not null or undefined + assertParamExists('aiSearchEnable', 'organisation', organisation) + // verify required parameter 'project' is not null or undefined + assertParamExists('aiSearchEnable', 'project', project) + const localVarPath = `/api/v3/organisations/{organisation}/projects/{project}/ai-search/enable` + .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))) + .replace(`{${"project"}}`, encodeURIComponent(String(project))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication BearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(aiSearchEnableRequest, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get AI Search ingest job status + * @param {string} organisation + * @param {string} project + * @param {string} jobId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchGetCrawl: async (organisation: string, project: string, jobId: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'organisation' is not null or undefined + assertParamExists('aiSearchGetCrawl', 'organisation', organisation) + // verify required parameter 'project' is not null or undefined + assertParamExists('aiSearchGetCrawl', 'project', project) + // verify required parameter 'jobId' is not null or undefined + assertParamExists('aiSearchGetCrawl', 'jobId', jobId) + const localVarPath = `/api/v3/organisations/{organisation}/projects/{project}/ai-search/crawls/{jobId}` + .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))) + .replace(`{${"project"}}`, encodeURIComponent(String(project))) + .replace(`{${"jobId"}}`, encodeURIComponent(String(jobId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication BearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get per-page ingest results for a crawl job + * @param {string} organisation + * @param {string} project + * @param {string} jobId + * @param {number} [limit] + * @param {number} [statusCode] + * @param {string} [processingStatus] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchGetCrawlPages: async (organisation: string, project: string, jobId: string, limit?: number, statusCode?: number, processingStatus?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'organisation' is not null or undefined + assertParamExists('aiSearchGetCrawlPages', 'organisation', organisation) + // verify required parameter 'project' is not null or undefined + assertParamExists('aiSearchGetCrawlPages', 'project', project) + // verify required parameter 'jobId' is not null or undefined + assertParamExists('aiSearchGetCrawlPages', 'jobId', jobId) + const localVarPath = `/api/v3/organisations/{organisation}/projects/{project}/ai-search/crawls/{jobId}/pages` + .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))) + .replace(`{${"project"}}`, encodeURIComponent(String(project))) + .replace(`{${"jobId"}}`, encodeURIComponent(String(jobId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication BearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (limit !== undefined) { + localVarQueryParameter['limit'] = limit; + } + + if (statusCode !== undefined) { + localVarQueryParameter['statusCode'] = statusCode; + } + + if (processingStatus !== undefined) { + localVarQueryParameter['processingStatus'] = processingStatus; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get AI Search public access and rate limit settings + * @param {string} organisation + * @param {string} project + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchGetSettings: async (organisation: string, project: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'organisation' is not null or undefined + assertParamExists('aiSearchGetSettings', 'organisation', organisation) + // verify required parameter 'project' is not null or undefined + assertParamExists('aiSearchGetSettings', 'project', project) + const localVarPath = `/api/v3/organisations/{organisation}/projects/{project}/ai-search/settings` + .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))) + .replace(`{${"project"}}`, encodeURIComponent(String(project))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication BearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Ingest pages into the AI Search index + * @param {string} organisation + * @param {string} project + * @param {AiSearchIngestPagesRequest} aiSearchIngestPagesRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchIngestPages: async (organisation: string, project: string, aiSearchIngestPagesRequest: AiSearchIngestPagesRequest, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'organisation' is not null or undefined + assertParamExists('aiSearchIngestPages', 'organisation', organisation) + // verify required parameter 'project' is not null or undefined + assertParamExists('aiSearchIngestPages', 'project', project) + // verify required parameter 'aiSearchIngestPagesRequest' is not null or undefined + assertParamExists('aiSearchIngestPages', 'aiSearchIngestPagesRequest', aiSearchIngestPagesRequest) + const localVarPath = `/api/v3/organisations/{organisation}/projects/{project}/ai-search/pages` + .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))) + .replace(`{${"project"}}`, encodeURIComponent(String(project))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication BearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(aiSearchIngestPagesRequest, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary List AI Search ingest jobs + * @param {string} organisation + * @param {string} project + * @param {number} [limit] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchListCrawls: async (organisation: string, project: string, limit?: number, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'organisation' is not null or undefined + assertParamExists('aiSearchListCrawls', 'organisation', organisation) + // verify required parameter 'project' is not null or undefined + assertParamExists('aiSearchListCrawls', 'project', project) + const localVarPath = `/api/v3/organisations/{organisation}/projects/{project}/ai-search/crawls` + .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))) + .replace(`{${"project"}}`, encodeURIComponent(String(project))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication BearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (limit !== undefined) { + localVarQueryParameter['limit'] = limit; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary List indexed pages with cursor pagination + * @param {string} organisation + * @param {string} project + * @param {number} [limit] + * @param {string} [cursor] + * @param {string} [search] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchListPages: async (organisation: string, project: string, limit?: number, cursor?: string, search?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'organisation' is not null or undefined + assertParamExists('aiSearchListPages', 'organisation', organisation) + // verify required parameter 'project' is not null or undefined + assertParamExists('aiSearchListPages', 'project', project) + const localVarPath = `/api/v3/organisations/{organisation}/projects/{project}/ai-search/pages` + .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))) + .replace(`{${"project"}}`, encodeURIComponent(String(project))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication BearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (limit !== undefined) { + localVarQueryParameter['limit'] = limit; + } + + if (cursor !== undefined) { + localVarQueryParameter['cursor'] = cursor; + } + + if (search !== undefined) { + localVarQueryParameter['search'] = search; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Purge the entire AI Search index + * @param {string} organisation + * @param {string} project + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchPurgeIndex: async (organisation: string, project: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'organisation' is not null or undefined + assertParamExists('aiSearchPurgeIndex', 'organisation', organisation) + // verify required parameter 'project' is not null or undefined + assertParamExists('aiSearchPurgeIndex', 'project', project) + const localVarPath = `/api/v3/organisations/{organisation}/projects/{project}/ai-search/index` + .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))) + .replace(`{${"project"}}`, encodeURIComponent(String(project))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication BearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Semantic search across the AI Search index + * @param {string} organisation + * @param {string} project + * @param {AiSearchSearchRequest} aiSearchSearchRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchSearch: async (organisation: string, project: string, aiSearchSearchRequest: AiSearchSearchRequest, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'organisation' is not null or undefined + assertParamExists('aiSearchSearch', 'organisation', organisation) + // verify required parameter 'project' is not null or undefined + assertParamExists('aiSearchSearch', 'project', project) + // verify required parameter 'aiSearchSearchRequest' is not null or undefined + assertParamExists('aiSearchSearch', 'aiSearchSearchRequest', aiSearchSearchRequest) + const localVarPath = `/api/v3/organisations/{organisation}/projects/{project}/ai-search/search` + .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))) + .replace(`{${"project"}}`, encodeURIComponent(String(project))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication BearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(aiSearchSearchRequest, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get AI Search status for a project + * @param {string} organisation + * @param {string} project + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchStatus: async (organisation: string, project: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'organisation' is not null or undefined + assertParamExists('aiSearchStatus', 'organisation', organisation) + // verify required parameter 'project' is not null or undefined + assertParamExists('aiSearchStatus', 'project', project) + const localVarPath = `/api/v3/organisations/{organisation}/projects/{project}/ai-search` + .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))) + .replace(`{${"project"}}`, encodeURIComponent(String(project))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication BearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get the most popular AI Search queries + * @param {string} organisation + * @param {string} project + * @param {string} [range] + * @param {number} [limit] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchTopQueries: async (organisation: string, project: string, range?: string, limit?: number, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'organisation' is not null or undefined + assertParamExists('aiSearchTopQueries', 'organisation', organisation) + // verify required parameter 'project' is not null or undefined + assertParamExists('aiSearchTopQueries', 'project', project) + const localVarPath = `/api/v3/organisations/{organisation}/projects/{project}/ai-search/top-queries` + .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))) + .replace(`{${"project"}}`, encodeURIComponent(String(project))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication BearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (range !== undefined) { + localVarQueryParameter['range'] = range; + } + + if (limit !== undefined) { + localVarQueryParameter['limit'] = limit; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Trigger a crawler run that ingests into AI Search + * @param {string} organisation + * @param {string} project + * @param {AiSearchTriggerCrawlRequest} aiSearchTriggerCrawlRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchTriggerCrawl: async (organisation: string, project: string, aiSearchTriggerCrawlRequest: AiSearchTriggerCrawlRequest, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'organisation' is not null or undefined + assertParamExists('aiSearchTriggerCrawl', 'organisation', organisation) + // verify required parameter 'project' is not null or undefined + assertParamExists('aiSearchTriggerCrawl', 'project', project) + // verify required parameter 'aiSearchTriggerCrawlRequest' is not null or undefined + assertParamExists('aiSearchTriggerCrawl', 'aiSearchTriggerCrawlRequest', aiSearchTriggerCrawlRequest) + const localVarPath = `/api/v3/organisations/{organisation}/projects/{project}/ai-search/crawls` + .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))) + .replace(`{${"project"}}`, encodeURIComponent(String(project))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication BearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(aiSearchTriggerCrawlRequest, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Update AI Search public access and rate limit settings + * @param {string} organisation + * @param {string} project + * @param {AiSearchUpdateSettingsRequest} aiSearchUpdateSettingsRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchUpdateSettings: async (organisation: string, project: string, aiSearchUpdateSettingsRequest: AiSearchUpdateSettingsRequest, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'organisation' is not null or undefined + assertParamExists('aiSearchUpdateSettings', 'organisation', organisation) + // verify required parameter 'project' is not null or undefined + assertParamExists('aiSearchUpdateSettings', 'project', project) + // verify required parameter 'aiSearchUpdateSettingsRequest' is not null or undefined + assertParamExists('aiSearchUpdateSettings', 'aiSearchUpdateSettingsRequest', aiSearchUpdateSettingsRequest) + const localVarPath = `/api/v3/organisations/{organisation}/projects/{project}/ai-search/settings` + .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))) + .replace(`{${"project"}}`, encodeURIComponent(String(project))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication BearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(aiSearchUpdateSettingsRequest, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get usage statistics for the AI Search site + * @param {string} organisation + * @param {string} project + * @param {string} [range] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchUsage: async (organisation: string, project: string, range?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'organisation' is not null or undefined + assertParamExists('aiSearchUsage', 'organisation', organisation) + // verify required parameter 'project' is not null or undefined + assertParamExists('aiSearchUsage', 'project', project) + const localVarPath = `/api/v3/organisations/{organisation}/projects/{project}/ai-search/usage` + .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))) + .replace(`{${"project"}}`, encodeURIComponent(String(project))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication BearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (range !== undefined) { + localVarQueryParameter['range'] = range; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * AISearchApi - functional programming interface + * @export + */ +export const AISearchApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = AISearchApiAxiosParamCreator(configuration) + return { + /** + * + * @summary RAG chat with AI Search content + * @param {string} organisation + * @param {string} project + * @param {AiSearchChatRequest} aiSearchChatRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async aiSearchChat(organisation: string, project: string, aiSearchChatRequest: AiSearchChatRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.aiSearchChat(organisation, project, aiSearchChatRequest, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['AISearchApi.aiSearchChat']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Delete pages by URLs or patterns + * @param {string} organisation + * @param {string} project + * @param {AiSearchDeletePagesRequest} aiSearchDeletePagesRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async aiSearchDeletePages(organisation: string, project: string, aiSearchDeletePagesRequest: AiSearchDeletePagesRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.aiSearchDeletePages(organisation, project, aiSearchDeletePagesRequest, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['AISearchApi.aiSearchDeletePages']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Disable AI Search for a project + * @param {string} organisation + * @param {string} project + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async aiSearchDisable(organisation: string, project: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.aiSearchDisable(organisation, project, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['AISearchApi.aiSearchDisable']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Enable AI Search for a project + * @param {string} organisation + * @param {string} project + * @param {AiSearchEnableRequest} [aiSearchEnableRequest] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async aiSearchEnable(organisation: string, project: string, aiSearchEnableRequest?: AiSearchEnableRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.aiSearchEnable(organisation, project, aiSearchEnableRequest, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['AISearchApi.aiSearchEnable']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Get AI Search ingest job status + * @param {string} organisation + * @param {string} project + * @param {string} jobId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async aiSearchGetCrawl(organisation: string, project: string, jobId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.aiSearchGetCrawl(organisation, project, jobId, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['AISearchApi.aiSearchGetCrawl']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Get per-page ingest results for a crawl job + * @param {string} organisation + * @param {string} project + * @param {string} jobId + * @param {number} [limit] + * @param {number} [statusCode] + * @param {string} [processingStatus] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async aiSearchGetCrawlPages(organisation: string, project: string, jobId: string, limit?: number, statusCode?: number, processingStatus?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.aiSearchGetCrawlPages(organisation, project, jobId, limit, statusCode, processingStatus, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['AISearchApi.aiSearchGetCrawlPages']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Get AI Search public access and rate limit settings + * @param {string} organisation + * @param {string} project + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async aiSearchGetSettings(organisation: string, project: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.aiSearchGetSettings(organisation, project, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['AISearchApi.aiSearchGetSettings']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Ingest pages into the AI Search index + * @param {string} organisation + * @param {string} project + * @param {AiSearchIngestPagesRequest} aiSearchIngestPagesRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async aiSearchIngestPages(organisation: string, project: string, aiSearchIngestPagesRequest: AiSearchIngestPagesRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.aiSearchIngestPages(organisation, project, aiSearchIngestPagesRequest, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['AISearchApi.aiSearchIngestPages']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary List AI Search ingest jobs + * @param {string} organisation + * @param {string} project + * @param {number} [limit] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async aiSearchListCrawls(organisation: string, project: string, limit?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.aiSearchListCrawls(organisation, project, limit, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['AISearchApi.aiSearchListCrawls']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary List indexed pages with cursor pagination + * @param {string} organisation + * @param {string} project + * @param {number} [limit] + * @param {string} [cursor] + * @param {string} [search] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async aiSearchListPages(organisation: string, project: string, limit?: number, cursor?: string, search?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.aiSearchListPages(organisation, project, limit, cursor, search, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['AISearchApi.aiSearchListPages']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Purge the entire AI Search index + * @param {string} organisation + * @param {string} project + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async aiSearchPurgeIndex(organisation: string, project: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.aiSearchPurgeIndex(organisation, project, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['AISearchApi.aiSearchPurgeIndex']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Semantic search across the AI Search index + * @param {string} organisation + * @param {string} project + * @param {AiSearchSearchRequest} aiSearchSearchRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async aiSearchSearch(organisation: string, project: string, aiSearchSearchRequest: AiSearchSearchRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.aiSearchSearch(organisation, project, aiSearchSearchRequest, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['AISearchApi.aiSearchSearch']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Get AI Search status for a project + * @param {string} organisation + * @param {string} project + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async aiSearchStatus(organisation: string, project: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.aiSearchStatus(organisation, project, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['AISearchApi.aiSearchStatus']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Get the most popular AI Search queries + * @param {string} organisation + * @param {string} project + * @param {string} [range] + * @param {number} [limit] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async aiSearchTopQueries(organisation: string, project: string, range?: string, limit?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.aiSearchTopQueries(organisation, project, range, limit, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['AISearchApi.aiSearchTopQueries']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Trigger a crawler run that ingests into AI Search + * @param {string} organisation + * @param {string} project + * @param {AiSearchTriggerCrawlRequest} aiSearchTriggerCrawlRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async aiSearchTriggerCrawl(organisation: string, project: string, aiSearchTriggerCrawlRequest: AiSearchTriggerCrawlRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.aiSearchTriggerCrawl(organisation, project, aiSearchTriggerCrawlRequest, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['AISearchApi.aiSearchTriggerCrawl']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Update AI Search public access and rate limit settings + * @param {string} organisation + * @param {string} project + * @param {AiSearchUpdateSettingsRequest} aiSearchUpdateSettingsRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async aiSearchUpdateSettings(organisation: string, project: string, aiSearchUpdateSettingsRequest: AiSearchUpdateSettingsRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.aiSearchUpdateSettings(organisation, project, aiSearchUpdateSettingsRequest, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['AISearchApi.aiSearchUpdateSettings']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Get usage statistics for the AI Search site + * @param {string} organisation + * @param {string} project + * @param {string} [range] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async aiSearchUsage(organisation: string, project: string, range?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.aiSearchUsage(organisation, project, range, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['AISearchApi.aiSearchUsage']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + } +}; + +/** + * AISearchApi - factory interface + * @export + */ +export const AISearchApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = AISearchApiFp(configuration) + return { + /** + * + * @summary RAG chat with AI Search content + * @param {string} organisation + * @param {string} project + * @param {AiSearchChatRequest} aiSearchChatRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchChat(organisation: string, project: string, aiSearchChatRequest: AiSearchChatRequest, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.aiSearchChat(organisation, project, aiSearchChatRequest, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Delete pages by URLs or patterns + * @param {string} organisation + * @param {string} project + * @param {AiSearchDeletePagesRequest} aiSearchDeletePagesRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchDeletePages(organisation: string, project: string, aiSearchDeletePagesRequest: AiSearchDeletePagesRequest, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.aiSearchDeletePages(organisation, project, aiSearchDeletePagesRequest, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Disable AI Search for a project + * @param {string} organisation + * @param {string} project + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchDisable(organisation: string, project: string, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.aiSearchDisable(organisation, project, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Enable AI Search for a project + * @param {string} organisation + * @param {string} project + * @param {AiSearchEnableRequest} [aiSearchEnableRequest] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchEnable(organisation: string, project: string, aiSearchEnableRequest?: AiSearchEnableRequest, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.aiSearchEnable(organisation, project, aiSearchEnableRequest, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get AI Search ingest job status + * @param {string} organisation + * @param {string} project + * @param {string} jobId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchGetCrawl(organisation: string, project: string, jobId: string, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.aiSearchGetCrawl(organisation, project, jobId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get per-page ingest results for a crawl job + * @param {string} organisation + * @param {string} project + * @param {string} jobId + * @param {number} [limit] + * @param {number} [statusCode] + * @param {string} [processingStatus] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchGetCrawlPages(organisation: string, project: string, jobId: string, limit?: number, statusCode?: number, processingStatus?: string, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.aiSearchGetCrawlPages(organisation, project, jobId, limit, statusCode, processingStatus, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get AI Search public access and rate limit settings + * @param {string} organisation + * @param {string} project + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchGetSettings(organisation: string, project: string, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.aiSearchGetSettings(organisation, project, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Ingest pages into the AI Search index + * @param {string} organisation + * @param {string} project + * @param {AiSearchIngestPagesRequest} aiSearchIngestPagesRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchIngestPages(organisation: string, project: string, aiSearchIngestPagesRequest: AiSearchIngestPagesRequest, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.aiSearchIngestPages(organisation, project, aiSearchIngestPagesRequest, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary List AI Search ingest jobs + * @param {string} organisation + * @param {string} project + * @param {number} [limit] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchListCrawls(organisation: string, project: string, limit?: number, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.aiSearchListCrawls(organisation, project, limit, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary List indexed pages with cursor pagination + * @param {string} organisation + * @param {string} project + * @param {number} [limit] + * @param {string} [cursor] + * @param {string} [search] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchListPages(organisation: string, project: string, limit?: number, cursor?: string, search?: string, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.aiSearchListPages(organisation, project, limit, cursor, search, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Purge the entire AI Search index + * @param {string} organisation + * @param {string} project + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchPurgeIndex(organisation: string, project: string, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.aiSearchPurgeIndex(organisation, project, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Semantic search across the AI Search index + * @param {string} organisation + * @param {string} project + * @param {AiSearchSearchRequest} aiSearchSearchRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchSearch(organisation: string, project: string, aiSearchSearchRequest: AiSearchSearchRequest, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.aiSearchSearch(organisation, project, aiSearchSearchRequest, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get AI Search status for a project + * @param {string} organisation + * @param {string} project + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchStatus(organisation: string, project: string, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.aiSearchStatus(organisation, project, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get the most popular AI Search queries + * @param {string} organisation + * @param {string} project + * @param {string} [range] + * @param {number} [limit] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchTopQueries(organisation: string, project: string, range?: string, limit?: number, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.aiSearchTopQueries(organisation, project, range, limit, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Trigger a crawler run that ingests into AI Search + * @param {string} organisation + * @param {string} project + * @param {AiSearchTriggerCrawlRequest} aiSearchTriggerCrawlRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchTriggerCrawl(organisation: string, project: string, aiSearchTriggerCrawlRequest: AiSearchTriggerCrawlRequest, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.aiSearchTriggerCrawl(organisation, project, aiSearchTriggerCrawlRequest, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Update AI Search public access and rate limit settings + * @param {string} organisation + * @param {string} project + * @param {AiSearchUpdateSettingsRequest} aiSearchUpdateSettingsRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchUpdateSettings(organisation: string, project: string, aiSearchUpdateSettingsRequest: AiSearchUpdateSettingsRequest, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.aiSearchUpdateSettings(organisation, project, aiSearchUpdateSettingsRequest, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get usage statistics for the AI Search site + * @param {string} organisation + * @param {string} project + * @param {string} [range] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + aiSearchUsage(organisation: string, project: string, range?: string, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.aiSearchUsage(organisation, project, range, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * AISearchApi - object-oriented interface + * @export + * @class AISearchApi + * @extends {BaseAPI} + */ +export class AISearchApi extends BaseAPI { + /** + * + * @summary RAG chat with AI Search content + * @param {string} organisation + * @param {string} project + * @param {AiSearchChatRequest} aiSearchChatRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AISearchApi + */ + public aiSearchChat(organisation: string, project: string, aiSearchChatRequest: AiSearchChatRequest, options?: RawAxiosRequestConfig) { + return AISearchApiFp(this.configuration).aiSearchChat(organisation, project, aiSearchChatRequest, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Delete pages by URLs or patterns + * @param {string} organisation + * @param {string} project + * @param {AiSearchDeletePagesRequest} aiSearchDeletePagesRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AISearchApi + */ + public aiSearchDeletePages(organisation: string, project: string, aiSearchDeletePagesRequest: AiSearchDeletePagesRequest, options?: RawAxiosRequestConfig) { + return AISearchApiFp(this.configuration).aiSearchDeletePages(organisation, project, aiSearchDeletePagesRequest, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Disable AI Search for a project + * @param {string} organisation + * @param {string} project + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AISearchApi + */ + public aiSearchDisable(organisation: string, project: string, options?: RawAxiosRequestConfig) { + return AISearchApiFp(this.configuration).aiSearchDisable(organisation, project, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Enable AI Search for a project + * @param {string} organisation + * @param {string} project + * @param {AiSearchEnableRequest} [aiSearchEnableRequest] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AISearchApi + */ + public aiSearchEnable(organisation: string, project: string, aiSearchEnableRequest?: AiSearchEnableRequest, options?: RawAxiosRequestConfig) { + return AISearchApiFp(this.configuration).aiSearchEnable(organisation, project, aiSearchEnableRequest, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get AI Search ingest job status + * @param {string} organisation + * @param {string} project + * @param {string} jobId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AISearchApi + */ + public aiSearchGetCrawl(organisation: string, project: string, jobId: string, options?: RawAxiosRequestConfig) { + return AISearchApiFp(this.configuration).aiSearchGetCrawl(organisation, project, jobId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get per-page ingest results for a crawl job + * @param {string} organisation + * @param {string} project + * @param {string} jobId + * @param {number} [limit] + * @param {number} [statusCode] + * @param {string} [processingStatus] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AISearchApi + */ + public aiSearchGetCrawlPages(organisation: string, project: string, jobId: string, limit?: number, statusCode?: number, processingStatus?: string, options?: RawAxiosRequestConfig) { + return AISearchApiFp(this.configuration).aiSearchGetCrawlPages(organisation, project, jobId, limit, statusCode, processingStatus, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get AI Search public access and rate limit settings + * @param {string} organisation + * @param {string} project + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AISearchApi + */ + public aiSearchGetSettings(organisation: string, project: string, options?: RawAxiosRequestConfig) { + return AISearchApiFp(this.configuration).aiSearchGetSettings(organisation, project, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Ingest pages into the AI Search index + * @param {string} organisation + * @param {string} project + * @param {AiSearchIngestPagesRequest} aiSearchIngestPagesRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AISearchApi + */ + public aiSearchIngestPages(organisation: string, project: string, aiSearchIngestPagesRequest: AiSearchIngestPagesRequest, options?: RawAxiosRequestConfig) { + return AISearchApiFp(this.configuration).aiSearchIngestPages(organisation, project, aiSearchIngestPagesRequest, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary List AI Search ingest jobs + * @param {string} organisation + * @param {string} project + * @param {number} [limit] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AISearchApi + */ + public aiSearchListCrawls(organisation: string, project: string, limit?: number, options?: RawAxiosRequestConfig) { + return AISearchApiFp(this.configuration).aiSearchListCrawls(organisation, project, limit, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary List indexed pages with cursor pagination + * @param {string} organisation + * @param {string} project + * @param {number} [limit] + * @param {string} [cursor] + * @param {string} [search] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AISearchApi + */ + public aiSearchListPages(organisation: string, project: string, limit?: number, cursor?: string, search?: string, options?: RawAxiosRequestConfig) { + return AISearchApiFp(this.configuration).aiSearchListPages(organisation, project, limit, cursor, search, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Purge the entire AI Search index + * @param {string} organisation + * @param {string} project + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AISearchApi + */ + public aiSearchPurgeIndex(organisation: string, project: string, options?: RawAxiosRequestConfig) { + return AISearchApiFp(this.configuration).aiSearchPurgeIndex(organisation, project, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Semantic search across the AI Search index + * @param {string} organisation + * @param {string} project + * @param {AiSearchSearchRequest} aiSearchSearchRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AISearchApi + */ + public aiSearchSearch(organisation: string, project: string, aiSearchSearchRequest: AiSearchSearchRequest, options?: RawAxiosRequestConfig) { + return AISearchApiFp(this.configuration).aiSearchSearch(organisation, project, aiSearchSearchRequest, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get AI Search status for a project + * @param {string} organisation + * @param {string} project + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AISearchApi + */ + public aiSearchStatus(organisation: string, project: string, options?: RawAxiosRequestConfig) { + return AISearchApiFp(this.configuration).aiSearchStatus(organisation, project, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get the most popular AI Search queries + * @param {string} organisation + * @param {string} project + * @param {string} [range] + * @param {number} [limit] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AISearchApi + */ + public aiSearchTopQueries(organisation: string, project: string, range?: string, limit?: number, options?: RawAxiosRequestConfig) { + return AISearchApiFp(this.configuration).aiSearchTopQueries(organisation, project, range, limit, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Trigger a crawler run that ingests into AI Search + * @param {string} organisation + * @param {string} project + * @param {AiSearchTriggerCrawlRequest} aiSearchTriggerCrawlRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AISearchApi + */ + public aiSearchTriggerCrawl(organisation: string, project: string, aiSearchTriggerCrawlRequest: AiSearchTriggerCrawlRequest, options?: RawAxiosRequestConfig) { + return AISearchApiFp(this.configuration).aiSearchTriggerCrawl(organisation, project, aiSearchTriggerCrawlRequest, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Update AI Search public access and rate limit settings + * @param {string} organisation + * @param {string} project + * @param {AiSearchUpdateSettingsRequest} aiSearchUpdateSettingsRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AISearchApi + */ + public aiSearchUpdateSettings(organisation: string, project: string, aiSearchUpdateSettingsRequest: AiSearchUpdateSettingsRequest, options?: RawAxiosRequestConfig) { + return AISearchApiFp(this.configuration).aiSearchUpdateSettings(organisation, project, aiSearchUpdateSettingsRequest, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get usage statistics for the AI Search site + * @param {string} organisation + * @param {string} project + * @param {string} [range] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AISearchApi + */ + public aiSearchUsage(organisation: string, project: string, range?: string, options?: RawAxiosRequestConfig) { + return AISearchApiFp(this.configuration).aiSearchUsage(organisation, project, range, options).then((request) => request(this.axios, this.basePath)); + } +} + + + /** * AISessionsApi - axios parameter creator * @export @@ -21158,7 +23842,7 @@ export class AISkillsApi extends BaseAPI { export const AISlackBotsApiAxiosParamCreator = function (configuration?: Configuration) { return { /** - * Creates a new Slack bot backed by an AI agent. The bot must be connected to a Slack workspace via OAuth before it can receive events. * * **Setup Types:** * - `quant`: Quant-managed Slack app — uses shared OAuth credentials * - `byo`: Bring Your Own — customer provides their own Slack app credentials + * Creates a new Slack bot with inline AI agent configuration. A backing agent is created automatically — callers do not need to manage agents separately. * * **Setup Types:** * - `quant`: Quant-managed Slack app — uses shared OAuth credentials * - `byo`: Bring Your Own — customer provides their own Slack app credentials * @summary Create Slack Bot * @param {string} organisation The organisation ID * @param {CreateSlackBotRequest} createSlackBotRequest @@ -21202,7 +23886,7 @@ export const AISlackBotsApiAxiosParamCreator = function (configuration?: Configu }; }, /** - * Permanently deletes a Slack bot and disconnects it from the workspace. + * Permanently deletes a Slack bot, disconnects it from the workspace, and deletes its backing AI agent. * @summary Delete Slack Bot * @param {string} organisation The organisation ID * @param {string} botId The Slack bot ID @@ -21244,7 +23928,7 @@ export const AISlackBotsApiAxiosParamCreator = function (configuration?: Configu }; }, /** - * Retrieves details for a specific Slack bot including its configuration and connection status. + * Retrieves details for a specific Slack bot including its configuration, connection status, and flattened agent configuration. * @summary Get Slack Bot * @param {string} organisation The organisation ID * @param {string} botId The Slack bot ID @@ -21286,7 +23970,7 @@ export const AISlackBotsApiAxiosParamCreator = function (configuration?: Configu }; }, /** - * Lists all Slack bots configured for the organization. Each bot is backed by an AI agent and can be connected to a Slack workspace. + * Lists all Slack bots configured for the organization. Each bot is backed by an AI agent and can be connected to a Slack workspace. Agent configuration fields are flattened onto each bot object. * @summary List Slack Bots * @param {string} organisation The organisation ID * @param {*} [options] Override http request option. @@ -21418,7 +24102,7 @@ export const AISlackBotsApiAxiosParamCreator = function (configuration?: Configu }; }, /** - * Updates a Slack bot\'s configuration. Only provided fields are updated. + * Updates a Slack bot\'s configuration and/or its backing agent. Only provided fields are updated. * @summary Update Slack Bot * @param {string} organisation The organisation ID * @param {string} botId The Slack bot ID @@ -21476,7 +24160,7 @@ export const AISlackBotsApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = AISlackBotsApiAxiosParamCreator(configuration) return { /** - * Creates a new Slack bot backed by an AI agent. The bot must be connected to a Slack workspace via OAuth before it can receive events. * * **Setup Types:** * - `quant`: Quant-managed Slack app — uses shared OAuth credentials * - `byo`: Bring Your Own — customer provides their own Slack app credentials + * Creates a new Slack bot with inline AI agent configuration. A backing agent is created automatically — callers do not need to manage agents separately. * * **Setup Types:** * - `quant`: Quant-managed Slack app — uses shared OAuth credentials * - `byo`: Bring Your Own — customer provides their own Slack app credentials * @summary Create Slack Bot * @param {string} organisation The organisation ID * @param {CreateSlackBotRequest} createSlackBotRequest @@ -21490,7 +24174,7 @@ export const AISlackBotsApiFp = function(configuration?: Configuration) { return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** - * Permanently deletes a Slack bot and disconnects it from the workspace. + * Permanently deletes a Slack bot, disconnects it from the workspace, and deletes its backing AI agent. * @summary Delete Slack Bot * @param {string} organisation The organisation ID * @param {string} botId The Slack bot ID @@ -21504,7 +24188,7 @@ export const AISlackBotsApiFp = function(configuration?: Configuration) { return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** - * Retrieves details for a specific Slack bot including its configuration and connection status. + * Retrieves details for a specific Slack bot including its configuration, connection status, and flattened agent configuration. * @summary Get Slack Bot * @param {string} organisation The organisation ID * @param {string} botId The Slack bot ID @@ -21518,7 +24202,7 @@ export const AISlackBotsApiFp = function(configuration?: Configuration) { return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** - * Lists all Slack bots configured for the organization. Each bot is backed by an AI agent and can be connected to a Slack workspace. + * Lists all Slack bots configured for the organization. Each bot is backed by an AI agent and can be connected to a Slack workspace. Agent configuration fields are flattened onto each bot object. * @summary List Slack Bots * @param {string} organisation The organisation ID * @param {*} [options] Override http request option. @@ -21561,7 +24245,7 @@ export const AISlackBotsApiFp = function(configuration?: Configuration) { return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** - * Updates a Slack bot\'s configuration. Only provided fields are updated. + * Updates a Slack bot\'s configuration and/or its backing agent. Only provided fields are updated. * @summary Update Slack Bot * @param {string} organisation The organisation ID * @param {string} botId The Slack bot ID @@ -21586,7 +24270,7 @@ export const AISlackBotsApiFactory = function (configuration?: Configuration, ba const localVarFp = AISlackBotsApiFp(configuration) return { /** - * Creates a new Slack bot backed by an AI agent. The bot must be connected to a Slack workspace via OAuth before it can receive events. * * **Setup Types:** * - `quant`: Quant-managed Slack app — uses shared OAuth credentials * - `byo`: Bring Your Own — customer provides their own Slack app credentials + * Creates a new Slack bot with inline AI agent configuration. A backing agent is created automatically — callers do not need to manage agents separately. * * **Setup Types:** * - `quant`: Quant-managed Slack app — uses shared OAuth credentials * - `byo`: Bring Your Own — customer provides their own Slack app credentials * @summary Create Slack Bot * @param {string} organisation The organisation ID * @param {CreateSlackBotRequest} createSlackBotRequest @@ -21597,7 +24281,7 @@ export const AISlackBotsApiFactory = function (configuration?: Configuration, ba return localVarFp.createSlackBot(organisation, createSlackBotRequest, options).then((request) => request(axios, basePath)); }, /** - * Permanently deletes a Slack bot and disconnects it from the workspace. + * Permanently deletes a Slack bot, disconnects it from the workspace, and deletes its backing AI agent. * @summary Delete Slack Bot * @param {string} organisation The organisation ID * @param {string} botId The Slack bot ID @@ -21608,7 +24292,7 @@ export const AISlackBotsApiFactory = function (configuration?: Configuration, ba return localVarFp.deleteSlackBot(organisation, botId, options).then((request) => request(axios, basePath)); }, /** - * Retrieves details for a specific Slack bot including its configuration and connection status. + * Retrieves details for a specific Slack bot including its configuration, connection status, and flattened agent configuration. * @summary Get Slack Bot * @param {string} organisation The organisation ID * @param {string} botId The Slack bot ID @@ -21619,7 +24303,7 @@ export const AISlackBotsApiFactory = function (configuration?: Configuration, ba return localVarFp.getSlackBot(organisation, botId, options).then((request) => request(axios, basePath)); }, /** - * Lists all Slack bots configured for the organization. Each bot is backed by an AI agent and can be connected to a Slack workspace. + * Lists all Slack bots configured for the organization. Each bot is backed by an AI agent and can be connected to a Slack workspace. Agent configuration fields are flattened onto each bot object. * @summary List Slack Bots * @param {string} organisation The organisation ID * @param {*} [options] Override http request option. @@ -21653,7 +24337,7 @@ export const AISlackBotsApiFactory = function (configuration?: Configuration, ba return localVarFp.searchSlackWorkspaceUsers(organisation, botId, q, options).then((request) => request(axios, basePath)); }, /** - * Updates a Slack bot\'s configuration. Only provided fields are updated. + * Updates a Slack bot\'s configuration and/or its backing agent. Only provided fields are updated. * @summary Update Slack Bot * @param {string} organisation The organisation ID * @param {string} botId The Slack bot ID @@ -21675,7 +24359,7 @@ export const AISlackBotsApiFactory = function (configuration?: Configuration, ba */ export class AISlackBotsApi extends BaseAPI { /** - * Creates a new Slack bot backed by an AI agent. The bot must be connected to a Slack workspace via OAuth before it can receive events. * * **Setup Types:** * - `quant`: Quant-managed Slack app — uses shared OAuth credentials * - `byo`: Bring Your Own — customer provides their own Slack app credentials + * Creates a new Slack bot with inline AI agent configuration. A backing agent is created automatically — callers do not need to manage agents separately. * * **Setup Types:** * - `quant`: Quant-managed Slack app — uses shared OAuth credentials * - `byo`: Bring Your Own — customer provides their own Slack app credentials * @summary Create Slack Bot * @param {string} organisation The organisation ID * @param {CreateSlackBotRequest} createSlackBotRequest @@ -21688,7 +24372,7 @@ export class AISlackBotsApi extends BaseAPI { } /** - * Permanently deletes a Slack bot and disconnects it from the workspace. + * Permanently deletes a Slack bot, disconnects it from the workspace, and deletes its backing AI agent. * @summary Delete Slack Bot * @param {string} organisation The organisation ID * @param {string} botId The Slack bot ID @@ -21701,7 +24385,7 @@ export class AISlackBotsApi extends BaseAPI { } /** - * Retrieves details for a specific Slack bot including its configuration and connection status. + * Retrieves details for a specific Slack bot including its configuration, connection status, and flattened agent configuration. * @summary Get Slack Bot * @param {string} organisation The organisation ID * @param {string} botId The Slack bot ID @@ -21714,7 +24398,7 @@ export class AISlackBotsApi extends BaseAPI { } /** - * Lists all Slack bots configured for the organization. Each bot is backed by an AI agent and can be connected to a Slack workspace. + * Lists all Slack bots configured for the organization. Each bot is backed by an AI agent and can be connected to a Slack workspace. Agent configuration fields are flattened onto each bot object. * @summary List Slack Bots * @param {string} organisation The organisation ID * @param {*} [options] Override http request option. @@ -21754,7 +24438,7 @@ export class AISlackBotsApi extends BaseAPI { } /** - * Updates a Slack bot\'s configuration. Only provided fields are updated. + * Updates a Slack bot\'s configuration and/or its backing agent. Only provided fields are updated. * @summary Update Slack Bot * @param {string} organisation The organisation ID * @param {string} botId The Slack bot ID @@ -31442,7 +34126,249 @@ export const PurgeApiAxiosParamCreator = function (configuration?: Configuration setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(purgeCreateRequest, localVarRequestOptions, configuration) + localVarRequestOptions.data = serializeDataIfNeeded(purgeCreateRequest, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * PurgeApi - functional programming interface + * @export + */ +export const PurgeApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = PurgeApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Purge cache via URL or cache keys + * @param {string} organization Organization identifier + * @param {string} project Project identifier + * @param {PurgeCreateRequest} purgeCreateRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async purgeCreate(organization: string, project: string, purgeCreateRequest: PurgeCreateRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.purgeCreate(organization, project, purgeCreateRequest, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['PurgeApi.purgeCreate']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + } +}; + +/** + * PurgeApi - factory interface + * @export + */ +export const PurgeApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = PurgeApiFp(configuration) + return { + /** + * + * @summary Purge cache via URL or cache keys + * @param {string} organization Organization identifier + * @param {string} project Project identifier + * @param {PurgeCreateRequest} purgeCreateRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + purgeCreate(organization: string, project: string, purgeCreateRequest: PurgeCreateRequest, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.purgeCreate(organization, project, purgeCreateRequest, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * PurgeApi - object-oriented interface + * @export + * @class PurgeApi + * @extends {BaseAPI} + */ +export class PurgeApi extends BaseAPI { + /** + * + * @summary Purge cache via URL or cache keys + * @param {string} organization Organization identifier + * @param {string} project Project identifier + * @param {PurgeCreateRequest} purgeCreateRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof PurgeApi + */ + public purgeCreate(organization: string, project: string, purgeCreateRequest: PurgeCreateRequest, options?: RawAxiosRequestConfig) { + return PurgeApiFp(this.configuration).purgeCreate(organization, project, purgeCreateRequest, options).then((request) => request(this.axios, this.basePath)); + } +} + + + +/** + * RestoreManagementApi - axios parameter creator + * @export + */ +export const RestoreManagementApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * Returns the current status and metadata for a restore operation. Poll this endpoint to track progress. + * @summary Get the status of a restore operation + * @param {string} organisation The organisation ID + * @param {string} application The application ID + * @param {string} environment The environment ID + * @param {string} restoreId The restore operation ID + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getRestoreStatus: async (organisation: string, application: string, environment: string, restoreId: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'organisation' is not null or undefined + assertParamExists('getRestoreStatus', 'organisation', organisation) + // verify required parameter 'application' is not null or undefined + assertParamExists('getRestoreStatus', 'application', application) + // verify required parameter 'environment' is not null or undefined + assertParamExists('getRestoreStatus', 'environment', environment) + // verify required parameter 'restoreId' is not null or undefined + assertParamExists('getRestoreStatus', 'restoreId', restoreId) + const localVarPath = `/api/v3/organizations/{organisation}/applications/{application}/environments/{environment}/restores/{restoreId}` + .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))) + .replace(`{${"application"}}`, encodeURIComponent(String(application))) + .replace(`{${"environment"}}`, encodeURIComponent(String(environment))) + .replace(`{${"restoreId"}}`, encodeURIComponent(String(restoreId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication BearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Initiates an async restore of a database backup into the specified target environment. The backup may originate from a different environment of the same application (cross-env restore). Returns 202 with a restoreId for status polling. + * @summary Restore a database backup to a target environment + * @param {string} organisation The organisation ID + * @param {string} application The application ID + * @param {string} environment The TARGET environment ID to restore INTO + * @param {string} backupId The backup ID to restore from + * @param {RestoreDatabaseRequest} restoreDatabaseRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + restoreDatabase: async (organisation: string, application: string, environment: string, backupId: string, restoreDatabaseRequest: RestoreDatabaseRequest, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'organisation' is not null or undefined + assertParamExists('restoreDatabase', 'organisation', organisation) + // verify required parameter 'application' is not null or undefined + assertParamExists('restoreDatabase', 'application', application) + // verify required parameter 'environment' is not null or undefined + assertParamExists('restoreDatabase', 'environment', environment) + // verify required parameter 'backupId' is not null or undefined + assertParamExists('restoreDatabase', 'backupId', backupId) + // verify required parameter 'restoreDatabaseRequest' is not null or undefined + assertParamExists('restoreDatabase', 'restoreDatabaseRequest', restoreDatabaseRequest) + const localVarPath = `/api/v3/organizations/{organisation}/applications/{application}/environments/{environment}/backups/{backupId}/restore-database` + .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))) + .replace(`{${"application"}}`, encodeURIComponent(String(application))) + .replace(`{${"environment"}}`, encodeURIComponent(String(environment))) + .replace(`{${"backupId"}}`, encodeURIComponent(String(backupId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication BearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(restoreDatabaseRequest, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Initiates an async restore of a filesystem backup into the specified target environment. The backup may originate from a different environment of the same application (cross-env restore). Returns 202 with a restoreId for status polling. + * @summary Restore a filesystem backup to a target environment + * @param {string} organisation The organisation ID + * @param {string} application The application ID + * @param {string} environment The TARGET environment ID to restore INTO + * @param {string} backupId The backup ID to restore from + * @param {RestoreFilesystemRequest} restoreFilesystemRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + restoreFilesystem: async (organisation: string, application: string, environment: string, backupId: string, restoreFilesystemRequest: RestoreFilesystemRequest, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'organisation' is not null or undefined + assertParamExists('restoreFilesystem', 'organisation', organisation) + // verify required parameter 'application' is not null or undefined + assertParamExists('restoreFilesystem', 'application', application) + // verify required parameter 'environment' is not null or undefined + assertParamExists('restoreFilesystem', 'environment', environment) + // verify required parameter 'backupId' is not null or undefined + assertParamExists('restoreFilesystem', 'backupId', backupId) + // verify required parameter 'restoreFilesystemRequest' is not null or undefined + assertParamExists('restoreFilesystem', 'restoreFilesystemRequest', restoreFilesystemRequest) + const localVarPath = `/api/v3/organizations/{organisation}/applications/{application}/environments/{environment}/backups/{backupId}/restore-filesystem` + .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))) + .replace(`{${"application"}}`, encodeURIComponent(String(application))) + .replace(`{${"environment"}}`, encodeURIComponent(String(environment))) + .replace(`{${"backupId"}}`, encodeURIComponent(String(backupId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication BearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(restoreFilesystemRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), @@ -31453,71 +34379,168 @@ export const PurgeApiAxiosParamCreator = function (configuration?: Configuration }; /** - * PurgeApi - functional programming interface + * RestoreManagementApi - functional programming interface * @export */ -export const PurgeApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = PurgeApiAxiosParamCreator(configuration) +export const RestoreManagementApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = RestoreManagementApiAxiosParamCreator(configuration) return { /** - * - * @summary Purge cache via URL or cache keys - * @param {string} organization Organization identifier - * @param {string} project Project identifier - * @param {PurgeCreateRequest} purgeCreateRequest + * Returns the current status and metadata for a restore operation. Poll this endpoint to track progress. + * @summary Get the status of a restore operation + * @param {string} organisation The organisation ID + * @param {string} application The application ID + * @param {string} environment The environment ID + * @param {string} restoreId The restore operation ID * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async purgeCreate(organization: string, project: string, purgeCreateRequest: PurgeCreateRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.purgeCreate(organization, project, purgeCreateRequest, options); + async getRestoreStatus(organisation: string, application: string, environment: string, restoreId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getRestoreStatus(organisation, application, environment, restoreId, options); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['PurgeApi.purgeCreate']?.[localVarOperationServerIndex]?.url; + const localVarOperationServerBasePath = operationServerMap['RestoreManagementApi.getRestoreStatus']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Initiates an async restore of a database backup into the specified target environment. The backup may originate from a different environment of the same application (cross-env restore). Returns 202 with a restoreId for status polling. + * @summary Restore a database backup to a target environment + * @param {string} organisation The organisation ID + * @param {string} application The application ID + * @param {string} environment The TARGET environment ID to restore INTO + * @param {string} backupId The backup ID to restore from + * @param {RestoreDatabaseRequest} restoreDatabaseRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async restoreDatabase(organisation: string, application: string, environment: string, backupId: string, restoreDatabaseRequest: RestoreDatabaseRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.restoreDatabase(organisation, application, environment, backupId, restoreDatabaseRequest, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['RestoreManagementApi.restoreDatabase']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + /** + * Initiates an async restore of a filesystem backup into the specified target environment. The backup may originate from a different environment of the same application (cross-env restore). Returns 202 with a restoreId for status polling. + * @summary Restore a filesystem backup to a target environment + * @param {string} organisation The organisation ID + * @param {string} application The application ID + * @param {string} environment The TARGET environment ID to restore INTO + * @param {string} backupId The backup ID to restore from + * @param {RestoreFilesystemRequest} restoreFilesystemRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async restoreFilesystem(organisation: string, application: string, environment: string, backupId: string, restoreFilesystemRequest: RestoreFilesystemRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.restoreFilesystem(organisation, application, environment, backupId, restoreFilesystemRequest, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['RestoreManagementApi.restoreFilesystem']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, } }; /** - * PurgeApi - factory interface + * RestoreManagementApi - factory interface * @export */ -export const PurgeApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = PurgeApiFp(configuration) +export const RestoreManagementApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = RestoreManagementApiFp(configuration) return { /** - * - * @summary Purge cache via URL or cache keys - * @param {string} organization Organization identifier - * @param {string} project Project identifier - * @param {PurgeCreateRequest} purgeCreateRequest + * Returns the current status and metadata for a restore operation. Poll this endpoint to track progress. + * @summary Get the status of a restore operation + * @param {string} organisation The organisation ID + * @param {string} application The application ID + * @param {string} environment The environment ID + * @param {string} restoreId The restore operation ID * @param {*} [options] Override http request option. * @throws {RequiredError} */ - purgeCreate(organization: string, project: string, purgeCreateRequest: PurgeCreateRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.purgeCreate(organization, project, purgeCreateRequest, options).then((request) => request(axios, basePath)); + getRestoreStatus(organisation: string, application: string, environment: string, restoreId: string, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.getRestoreStatus(organisation, application, environment, restoreId, options).then((request) => request(axios, basePath)); + }, + /** + * Initiates an async restore of a database backup into the specified target environment. The backup may originate from a different environment of the same application (cross-env restore). Returns 202 with a restoreId for status polling. + * @summary Restore a database backup to a target environment + * @param {string} organisation The organisation ID + * @param {string} application The application ID + * @param {string} environment The TARGET environment ID to restore INTO + * @param {string} backupId The backup ID to restore from + * @param {RestoreDatabaseRequest} restoreDatabaseRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + restoreDatabase(organisation: string, application: string, environment: string, backupId: string, restoreDatabaseRequest: RestoreDatabaseRequest, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.restoreDatabase(organisation, application, environment, backupId, restoreDatabaseRequest, options).then((request) => request(axios, basePath)); + }, + /** + * Initiates an async restore of a filesystem backup into the specified target environment. The backup may originate from a different environment of the same application (cross-env restore). Returns 202 with a restoreId for status polling. + * @summary Restore a filesystem backup to a target environment + * @param {string} organisation The organisation ID + * @param {string} application The application ID + * @param {string} environment The TARGET environment ID to restore INTO + * @param {string} backupId The backup ID to restore from + * @param {RestoreFilesystemRequest} restoreFilesystemRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + restoreFilesystem(organisation: string, application: string, environment: string, backupId: string, restoreFilesystemRequest: RestoreFilesystemRequest, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.restoreFilesystem(organisation, application, environment, backupId, restoreFilesystemRequest, options).then((request) => request(axios, basePath)); }, }; }; /** - * PurgeApi - object-oriented interface + * RestoreManagementApi - object-oriented interface * @export - * @class PurgeApi + * @class RestoreManagementApi * @extends {BaseAPI} */ -export class PurgeApi extends BaseAPI { +export class RestoreManagementApi extends BaseAPI { /** - * - * @summary Purge cache via URL or cache keys - * @param {string} organization Organization identifier - * @param {string} project Project identifier - * @param {PurgeCreateRequest} purgeCreateRequest + * Returns the current status and metadata for a restore operation. Poll this endpoint to track progress. + * @summary Get the status of a restore operation + * @param {string} organisation The organisation ID + * @param {string} application The application ID + * @param {string} environment The environment ID + * @param {string} restoreId The restore operation ID * @param {*} [options] Override http request option. * @throws {RequiredError} - * @memberof PurgeApi + * @memberof RestoreManagementApi */ - public purgeCreate(organization: string, project: string, purgeCreateRequest: PurgeCreateRequest, options?: RawAxiosRequestConfig) { - return PurgeApiFp(this.configuration).purgeCreate(organization, project, purgeCreateRequest, options).then((request) => request(this.axios, this.basePath)); + public getRestoreStatus(organisation: string, application: string, environment: string, restoreId: string, options?: RawAxiosRequestConfig) { + return RestoreManagementApiFp(this.configuration).getRestoreStatus(organisation, application, environment, restoreId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Initiates an async restore of a database backup into the specified target environment. The backup may originate from a different environment of the same application (cross-env restore). Returns 202 with a restoreId for status polling. + * @summary Restore a database backup to a target environment + * @param {string} organisation The organisation ID + * @param {string} application The application ID + * @param {string} environment The TARGET environment ID to restore INTO + * @param {string} backupId The backup ID to restore from + * @param {RestoreDatabaseRequest} restoreDatabaseRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof RestoreManagementApi + */ + public restoreDatabase(organisation: string, application: string, environment: string, backupId: string, restoreDatabaseRequest: RestoreDatabaseRequest, options?: RawAxiosRequestConfig) { + return RestoreManagementApiFp(this.configuration).restoreDatabase(organisation, application, environment, backupId, restoreDatabaseRequest, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Initiates an async restore of a filesystem backup into the specified target environment. The backup may originate from a different environment of the same application (cross-env restore). Returns 202 with a restoreId for status polling. + * @summary Restore a filesystem backup to a target environment + * @param {string} organisation The organisation ID + * @param {string} application The application ID + * @param {string} environment The TARGET environment ID to restore INTO + * @param {string} backupId The backup ID to restore from + * @param {RestoreFilesystemRequest} restoreFilesystemRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof RestoreManagementApi + */ + public restoreFilesystem(organisation: string, application: string, environment: string, backupId: string, restoreFilesystemRequest: RestoreFilesystemRequest, options?: RawAxiosRequestConfig) { + return RestoreManagementApiFp(this.configuration).restoreFilesystem(organisation, application, environment, backupId, restoreFilesystemRequest, options).then((request) => request(this.axios, this.basePath)); } } @@ -35646,29 +38669,27 @@ export class SSHAccessApi extends BaseAPI { export const ScalingPolicyApiAxiosParamCreator = function (configuration?: Configuration) { return { /** - * - * @summary Delete the scaling policy for an environment - * @param {string} organisation The organisation ID - * @param {string} application The application ID - * @param {string} environment The environment ID - * @param {string} policyName The policy name + * Deletes a specific scaling policy for the environment. Specify the metric type or policy name to delete a single policy. If neither is provided, all policies will be deleted. + * @summary Delete Scaling Policy + * @param {string} organisation + * @param {string} application + * @param {string} environment + * @param {DeleteScalingPolicyMetricEnum} [metric] Optional. Delete by metric type. + * @param {string} [policyName] Optional. Delete by exact policy name. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - deleteScalingPolicy: async (organisation: string, application: string, environment: string, policyName: string, options: RawAxiosRequestConfig = {}): Promise => { + deleteScalingPolicy: async (organisation: string, application: string, environment: string, metric?: DeleteScalingPolicyMetricEnum, policyName?: string, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'organisation' is not null or undefined assertParamExists('deleteScalingPolicy', 'organisation', organisation) // verify required parameter 'application' is not null or undefined assertParamExists('deleteScalingPolicy', 'application', application) // verify required parameter 'environment' is not null or undefined assertParamExists('deleteScalingPolicy', 'environment', environment) - // verify required parameter 'policyName' is not null or undefined - assertParamExists('deleteScalingPolicy', 'policyName', policyName) - const localVarPath = `/api/v3/organizations/{organisation}/applications/{application}/environments/{environment}/scaling-policies/{policyName}` + const localVarPath = `/api/v3/organizations/{organisation}/applications/{application}/environments/{environment}/scaling-policies` .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))) .replace(`{${"application"}}`, encodeURIComponent(String(application))) - .replace(`{${"environment"}}`, encodeURIComponent(String(environment))) - .replace(`{${"policyName"}}`, encodeURIComponent(String(policyName))); + .replace(`{${"environment"}}`, encodeURIComponent(String(environment))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; @@ -35684,6 +38705,14 @@ export const ScalingPolicyApiAxiosParamCreator = function (configuration?: Confi // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) + if (metric !== undefined) { + localVarQueryParameter['metric'] = metric; + } + + if (policyName !== undefined) { + localVarQueryParameter['policyName'] = policyName; + } + setSearchParams(localVarUrlObj, localVarQueryParameter); @@ -35696,21 +38725,23 @@ export const ScalingPolicyApiAxiosParamCreator = function (configuration?: Confi }; }, /** - * - * @summary Get the scaling policies for an environment - * @param {string} organisation The organisation ID - * @param {string} application The application ID - * @param {string} environment The environment ID + * Retrieves all active target tracking scaling policies for the environment. Returns an array of policies, each with its metric, target value, cooldowns, and resource label (if applicable). + * @summary List Scaling Policies + * @param {string} organisation + * @param {string} application + * @param {string} environment + * @param {ListScalingPoliciesMetricEnum} [metric] Optional. Filter policies by metric type. + * @param {string} [policyName] Optional. Filter policies by exact policy name. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - getScalingPolicies: async (organisation: string, application: string, environment: string, options: RawAxiosRequestConfig = {}): Promise => { + listScalingPolicies: async (organisation: string, application: string, environment: string, metric?: ListScalingPoliciesMetricEnum, policyName?: string, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'organisation' is not null or undefined - assertParamExists('getScalingPolicies', 'organisation', organisation) + assertParamExists('listScalingPolicies', 'organisation', organisation) // verify required parameter 'application' is not null or undefined - assertParamExists('getScalingPolicies', 'application', application) + assertParamExists('listScalingPolicies', 'application', application) // verify required parameter 'environment' is not null or undefined - assertParamExists('getScalingPolicies', 'environment', environment) + assertParamExists('listScalingPolicies', 'environment', environment) const localVarPath = `/api/v3/organizations/{organisation}/applications/{application}/environments/{environment}/scaling-policies` .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))) .replace(`{${"application"}}`, encodeURIComponent(String(application))) @@ -35730,6 +38761,14 @@ export const ScalingPolicyApiAxiosParamCreator = function (configuration?: Confi // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) + if (metric !== undefined) { + localVarQueryParameter['metric'] = metric; + } + + if (policyName !== undefined) { + localVarQueryParameter['policyName'] = policyName; + } + setSearchParams(localVarUrlObj, localVarQueryParameter); @@ -35742,24 +38781,25 @@ export const ScalingPolicyApiAxiosParamCreator = function (configuration?: Confi }; }, /** - * - * @summary Update the scaling policy for an environment - * @param {string} organisation The organisation ID - * @param {string} application The application ID - * @param {string} environment The environment ID - * @param {ScalingPolicy} scalingPolicy + * Creates or updates a target tracking scaling policy for the environment. Specify the metric type and target value. If a policy with the same metric or name exists, it will be updated. Optionally, provide a custom policy name via query. + * @summary Upsert Scaling Policy + * @param {string} organisation + * @param {string} application + * @param {string} environment + * @param {SetScalingPolicyRequest} setScalingPolicyRequest + * @param {string} [policyName] Optional. Specify a custom policy name to upsert. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - updateScalingPolicy: async (organisation: string, application: string, environment: string, scalingPolicy: ScalingPolicy, options: RawAxiosRequestConfig = {}): Promise => { + upsertScalingPolicy: async (organisation: string, application: string, environment: string, setScalingPolicyRequest: SetScalingPolicyRequest, policyName?: string, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'organisation' is not null or undefined - assertParamExists('updateScalingPolicy', 'organisation', organisation) + assertParamExists('upsertScalingPolicy', 'organisation', organisation) // verify required parameter 'application' is not null or undefined - assertParamExists('updateScalingPolicy', 'application', application) + assertParamExists('upsertScalingPolicy', 'application', application) // verify required parameter 'environment' is not null or undefined - assertParamExists('updateScalingPolicy', 'environment', environment) - // verify required parameter 'scalingPolicy' is not null or undefined - assertParamExists('updateScalingPolicy', 'scalingPolicy', scalingPolicy) + assertParamExists('upsertScalingPolicy', 'environment', environment) + // verify required parameter 'setScalingPolicyRequest' is not null or undefined + assertParamExists('upsertScalingPolicy', 'setScalingPolicyRequest', setScalingPolicyRequest) const localVarPath = `/api/v3/organizations/{organisation}/applications/{application}/environments/{environment}/scaling-policies` .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))) .replace(`{${"application"}}`, encodeURIComponent(String(application))) @@ -35779,6 +38819,10 @@ export const ScalingPolicyApiAxiosParamCreator = function (configuration?: Confi // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) + if (policyName !== undefined) { + localVarQueryParameter['policyName'] = policyName; + } + localVarHeaderParameter['Content-Type'] = 'application/json'; @@ -35786,7 +38830,7 @@ export const ScalingPolicyApiAxiosParamCreator = function (configuration?: Confi setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(scalingPolicy, localVarRequestOptions, configuration) + localVarRequestOptions.data = serializeDataIfNeeded(setScalingPolicyRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), @@ -35804,50 +38848,54 @@ export const ScalingPolicyApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = ScalingPolicyApiAxiosParamCreator(configuration) return { /** - * - * @summary Delete the scaling policy for an environment - * @param {string} organisation The organisation ID - * @param {string} application The application ID - * @param {string} environment The environment ID - * @param {string} policyName The policy name + * Deletes a specific scaling policy for the environment. Specify the metric type or policy name to delete a single policy. If neither is provided, all policies will be deleted. + * @summary Delete Scaling Policy + * @param {string} organisation + * @param {string} application + * @param {string} environment + * @param {DeleteScalingPolicyMetricEnum} [metric] Optional. Delete by metric type. + * @param {string} [policyName] Optional. Delete by exact policy name. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async deleteScalingPolicy(organisation: string, application: string, environment: string, policyName: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.deleteScalingPolicy(organisation, application, environment, policyName, options); + async deleteScalingPolicy(organisation: string, application: string, environment: string, metric?: DeleteScalingPolicyMetricEnum, policyName?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.deleteScalingPolicy(organisation, application, environment, metric, policyName, options); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = operationServerMap['ScalingPolicyApi.deleteScalingPolicy']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** - * - * @summary Get the scaling policies for an environment - * @param {string} organisation The organisation ID - * @param {string} application The application ID - * @param {string} environment The environment ID + * Retrieves all active target tracking scaling policies for the environment. Returns an array of policies, each with its metric, target value, cooldowns, and resource label (if applicable). + * @summary List Scaling Policies + * @param {string} organisation + * @param {string} application + * @param {string} environment + * @param {ListScalingPoliciesMetricEnum} [metric] Optional. Filter policies by metric type. + * @param {string} [policyName] Optional. Filter policies by exact policy name. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async getScalingPolicies(organisation: string, application: string, environment: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.getScalingPolicies(organisation, application, environment, options); + async listScalingPolicies(organisation: string, application: string, environment: string, metric?: ListScalingPoliciesMetricEnum, policyName?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.listScalingPolicies(organisation, application, environment, metric, policyName, options); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['ScalingPolicyApi.getScalingPolicies']?.[localVarOperationServerIndex]?.url; + const localVarOperationServerBasePath = operationServerMap['ScalingPolicyApi.listScalingPolicies']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** - * - * @summary Update the scaling policy for an environment - * @param {string} organisation The organisation ID - * @param {string} application The application ID - * @param {string} environment The environment ID - * @param {ScalingPolicy} scalingPolicy + * Creates or updates a target tracking scaling policy for the environment. Specify the metric type and target value. If a policy with the same metric or name exists, it will be updated. Optionally, provide a custom policy name via query. + * @summary Upsert Scaling Policy + * @param {string} organisation + * @param {string} application + * @param {string} environment + * @param {SetScalingPolicyRequest} setScalingPolicyRequest + * @param {string} [policyName] Optional. Specify a custom policy name to upsert. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async updateScalingPolicy(organisation: string, application: string, environment: string, scalingPolicy: ScalingPolicy, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.updateScalingPolicy(organisation, application, environment, scalingPolicy, options); + async upsertScalingPolicy(organisation: string, application: string, environment: string, setScalingPolicyRequest: SetScalingPolicyRequest, policyName?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.upsertScalingPolicy(organisation, application, environment, setScalingPolicyRequest, policyName, options); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['ScalingPolicyApi.updateScalingPolicy']?.[localVarOperationServerIndex]?.url; + const localVarOperationServerBasePath = operationServerMap['ScalingPolicyApi.upsertScalingPolicy']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, } @@ -35861,42 +38909,46 @@ export const ScalingPolicyApiFactory = function (configuration?: Configuration, const localVarFp = ScalingPolicyApiFp(configuration) return { /** - * - * @summary Delete the scaling policy for an environment - * @param {string} organisation The organisation ID - * @param {string} application The application ID - * @param {string} environment The environment ID - * @param {string} policyName The policy name + * Deletes a specific scaling policy for the environment. Specify the metric type or policy name to delete a single policy. If neither is provided, all policies will be deleted. + * @summary Delete Scaling Policy + * @param {string} organisation + * @param {string} application + * @param {string} environment + * @param {DeleteScalingPolicyMetricEnum} [metric] Optional. Delete by metric type. + * @param {string} [policyName] Optional. Delete by exact policy name. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - deleteScalingPolicy(organisation: string, application: string, environment: string, policyName: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.deleteScalingPolicy(organisation, application, environment, policyName, options).then((request) => request(axios, basePath)); + deleteScalingPolicy(organisation: string, application: string, environment: string, metric?: DeleteScalingPolicyMetricEnum, policyName?: string, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.deleteScalingPolicy(organisation, application, environment, metric, policyName, options).then((request) => request(axios, basePath)); }, /** - * - * @summary Get the scaling policies for an environment - * @param {string} organisation The organisation ID - * @param {string} application The application ID - * @param {string} environment The environment ID + * Retrieves all active target tracking scaling policies for the environment. Returns an array of policies, each with its metric, target value, cooldowns, and resource label (if applicable). + * @summary List Scaling Policies + * @param {string} organisation + * @param {string} application + * @param {string} environment + * @param {ListScalingPoliciesMetricEnum} [metric] Optional. Filter policies by metric type. + * @param {string} [policyName] Optional. Filter policies by exact policy name. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - getScalingPolicies(organisation: string, application: string, environment: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.getScalingPolicies(organisation, application, environment, options).then((request) => request(axios, basePath)); + listScalingPolicies(organisation: string, application: string, environment: string, metric?: ListScalingPoliciesMetricEnum, policyName?: string, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.listScalingPolicies(organisation, application, environment, metric, policyName, options).then((request) => request(axios, basePath)); }, /** - * - * @summary Update the scaling policy for an environment - * @param {string} organisation The organisation ID - * @param {string} application The application ID - * @param {string} environment The environment ID - * @param {ScalingPolicy} scalingPolicy + * Creates or updates a target tracking scaling policy for the environment. Specify the metric type and target value. If a policy with the same metric or name exists, it will be updated. Optionally, provide a custom policy name via query. + * @summary Upsert Scaling Policy + * @param {string} organisation + * @param {string} application + * @param {string} environment + * @param {SetScalingPolicyRequest} setScalingPolicyRequest + * @param {string} [policyName] Optional. Specify a custom policy name to upsert. * @param {*} [options] Override http request option. * @throws {RequiredError} */ - updateScalingPolicy(organisation: string, application: string, environment: string, scalingPolicy: ScalingPolicy, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.updateScalingPolicy(organisation, application, environment, scalingPolicy, options).then((request) => request(axios, basePath)); + upsertScalingPolicy(organisation: string, application: string, environment: string, setScalingPolicyRequest: SetScalingPolicyRequest, policyName?: string, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.upsertScalingPolicy(organisation, application, environment, setScalingPolicyRequest, policyName, options).then((request) => request(axios, basePath)); }, }; }; @@ -35909,47 +38961,189 @@ export const ScalingPolicyApiFactory = function (configuration?: Configuration, */ export class ScalingPolicyApi extends BaseAPI { /** - * - * @summary Delete the scaling policy for an environment - * @param {string} organisation The organisation ID - * @param {string} application The application ID - * @param {string} environment The environment ID - * @param {string} policyName The policy name + * Deletes a specific scaling policy for the environment. Specify the metric type or policy name to delete a single policy. If neither is provided, all policies will be deleted. + * @summary Delete Scaling Policy + * @param {string} organisation + * @param {string} application + * @param {string} environment + * @param {DeleteScalingPolicyMetricEnum} [metric] Optional. Delete by metric type. + * @param {string} [policyName] Optional. Delete by exact policy name. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ScalingPolicyApi */ - public deleteScalingPolicy(organisation: string, application: string, environment: string, policyName: string, options?: RawAxiosRequestConfig) { - return ScalingPolicyApiFp(this.configuration).deleteScalingPolicy(organisation, application, environment, policyName, options).then((request) => request(this.axios, this.basePath)); + public deleteScalingPolicy(organisation: string, application: string, environment: string, metric?: DeleteScalingPolicyMetricEnum, policyName?: string, options?: RawAxiosRequestConfig) { + return ScalingPolicyApiFp(this.configuration).deleteScalingPolicy(organisation, application, environment, metric, policyName, options).then((request) => request(this.axios, this.basePath)); } /** - * - * @summary Get the scaling policies for an environment - * @param {string} organisation The organisation ID - * @param {string} application The application ID - * @param {string} environment The environment ID + * Retrieves all active target tracking scaling policies for the environment. Returns an array of policies, each with its metric, target value, cooldowns, and resource label (if applicable). + * @summary List Scaling Policies + * @param {string} organisation + * @param {string} application + * @param {string} environment + * @param {ListScalingPoliciesMetricEnum} [metric] Optional. Filter policies by metric type. + * @param {string} [policyName] Optional. Filter policies by exact policy name. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ScalingPolicyApi */ - public getScalingPolicies(organisation: string, application: string, environment: string, options?: RawAxiosRequestConfig) { - return ScalingPolicyApiFp(this.configuration).getScalingPolicies(organisation, application, environment, options).then((request) => request(this.axios, this.basePath)); + public listScalingPolicies(organisation: string, application: string, environment: string, metric?: ListScalingPoliciesMetricEnum, policyName?: string, options?: RawAxiosRequestConfig) { + return ScalingPolicyApiFp(this.configuration).listScalingPolicies(organisation, application, environment, metric, policyName, options).then((request) => request(this.axios, this.basePath)); } /** - * - * @summary Update the scaling policy for an environment - * @param {string} organisation The organisation ID - * @param {string} application The application ID - * @param {string} environment The environment ID - * @param {ScalingPolicy} scalingPolicy + * Creates or updates a target tracking scaling policy for the environment. Specify the metric type and target value. If a policy with the same metric or name exists, it will be updated. Optionally, provide a custom policy name via query. + * @summary Upsert Scaling Policy + * @param {string} organisation + * @param {string} application + * @param {string} environment + * @param {SetScalingPolicyRequest} setScalingPolicyRequest + * @param {string} [policyName] Optional. Specify a custom policy name to upsert. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ScalingPolicyApi */ - public updateScalingPolicy(organisation: string, application: string, environment: string, scalingPolicy: ScalingPolicy, options?: RawAxiosRequestConfig) { - return ScalingPolicyApiFp(this.configuration).updateScalingPolicy(organisation, application, environment, scalingPolicy, options).then((request) => request(this.axios, this.basePath)); + public upsertScalingPolicy(organisation: string, application: string, environment: string, setScalingPolicyRequest: SetScalingPolicyRequest, policyName?: string, options?: RawAxiosRequestConfig) { + return ScalingPolicyApiFp(this.configuration).upsertScalingPolicy(organisation, application, environment, setScalingPolicyRequest, policyName, options).then((request) => request(this.axios, this.basePath)); + } +} + +/** + * @export + */ +export const DeleteScalingPolicyMetricEnum = { + CpuUtilization: 'CPUUtilization', + MemoryUtilization: 'MemoryUtilization', + Rps: 'RPS' +} as const; +export type DeleteScalingPolicyMetricEnum = typeof DeleteScalingPolicyMetricEnum[keyof typeof DeleteScalingPolicyMetricEnum]; +/** + * @export + */ +export const ListScalingPoliciesMetricEnum = { + CpuUtilization: 'CPUUtilization', + MemoryUtilization: 'MemoryUtilization', + Rps: 'RPS' +} as const; +export type ListScalingPoliciesMetricEnum = typeof ListScalingPoliciesMetricEnum[keyof typeof ListScalingPoliciesMetricEnum]; + + +/** + * SubscriptionApi - axios parameter creator + * @export + */ +export const SubscriptionApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * Per-project compute/database/storage cost breakdown with spot discount, for the requested month and the month before it. Mirrors the subscription page\'s Cloud Apps card. + * @summary Cloud-app cost breakdown for the subscription page + * @param {string} organisation + * @param {string} [month] YYYY-MM, defaults to current month + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getSubscriptionCloudUsage: async (organisation: string, month?: string, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'organisation' is not null or undefined + assertParamExists('getSubscriptionCloudUsage', 'organisation', organisation) + const localVarPath = `/api/v3/organizations/{organisation}/subscription/cloud-usage` + .replace(`{${"organisation"}}`, encodeURIComponent(String(organisation))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication BearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (month !== undefined) { + localVarQueryParameter['month'] = month; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * SubscriptionApi - functional programming interface + * @export + */ +export const SubscriptionApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = SubscriptionApiAxiosParamCreator(configuration) + return { + /** + * Per-project compute/database/storage cost breakdown with spot discount, for the requested month and the month before it. Mirrors the subscription page\'s Cloud Apps card. + * @summary Cloud-app cost breakdown for the subscription page + * @param {string} organisation + * @param {string} [month] YYYY-MM, defaults to current month + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async getSubscriptionCloudUsage(organisation: string, month?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.getSubscriptionCloudUsage(organisation, month, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['SubscriptionApi.getSubscriptionCloudUsage']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, + } +}; + +/** + * SubscriptionApi - factory interface + * @export + */ +export const SubscriptionApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = SubscriptionApiFp(configuration) + return { + /** + * Per-project compute/database/storage cost breakdown with spot discount, for the requested month and the month before it. Mirrors the subscription page\'s Cloud Apps card. + * @summary Cloud-app cost breakdown for the subscription page + * @param {string} organisation + * @param {string} [month] YYYY-MM, defaults to current month + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + getSubscriptionCloudUsage(organisation: string, month?: string, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.getSubscriptionCloudUsage(organisation, month, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * SubscriptionApi - object-oriented interface + * @export + * @class SubscriptionApi + * @extends {BaseAPI} + */ +export class SubscriptionApi extends BaseAPI { + /** + * Per-project compute/database/storage cost breakdown with spot discount, for the requested month and the month before it. Mirrors the subscription page\'s Cloud Apps card. + * @summary Cloud-app cost breakdown for the subscription page + * @param {string} organisation + * @param {string} [month] YYYY-MM, defaults to current month + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SubscriptionApi + */ + public getSubscriptionCloudUsage(organisation: string, month?: string, options?: RawAxiosRequestConfig) { + return SubscriptionApiFp(this.configuration).getSubscriptionCloudUsage(organisation, month, options).then((request) => request(this.axios, this.basePath)); } } diff --git a/common.ts b/common.ts index 8373492..ed39e71 100644 --- a/common.ts +++ b/common.ts @@ -4,7 +4,7 @@ * QuantCDN API * Unified API for QuantCDN Admin and QuantCloud Platform services * - * The version of the OpenAPI document: 4.15.4 + * The version of the OpenAPI document: 4.19.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/configuration.ts b/configuration.ts index 68791c1..44bf808 100644 --- a/configuration.ts +++ b/configuration.ts @@ -4,7 +4,7 @@ * QuantCDN API * Unified API for QuantCDN Admin and QuantCloud Platform services * - * The version of the OpenAPI document: 4.15.4 + * The version of the OpenAPI document: 4.19.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/docs/AIApi.md b/docs/AIApi.md new file mode 100644 index 0000000..dacac1c --- /dev/null +++ b/docs/AIApi.md @@ -0,0 +1,77 @@ +# AIApi + +All URIs are relative to *https://dashboard.quantcdn.io* + +|Method | HTTP request | Description| +|------------- | ------------- | -------------| +|[**getAIUsageStats**](#getaiusagestats) | **GET** /api/v3/organizations/{organisation}/ai/usage | Organisation AI usage breakdown (subscription page parity)| + +# **getAIUsageStats** +> getAIUsageStats() + +AI usage from the subscription page\'s source (cloud-api monthly-usage). Parameterized by month, groupBy (model|user|token) and optional daily series. NOTE: as of API 4.19.0 this endpoint requires the update_subscription permission + subscription:read scope (previously use_ai_services + ai:use). For per-caller spend use /ai/usage/me. + +### Example + +```typescript +import { + AIApi, + Configuration +} from '@quantcdn/quant-client'; + +const configuration = new Configuration(); +const apiInstance = new AIApi(configuration); + +let organisation: string; // (default to undefined) +let month: string; //YYYY-MM, defaults to current month (optional) (default to undefined) +let groupBy: 'model' | 'user' | 'token'; // (optional) (default to 'model') +let include: 'daily'; //Set to \'daily\' to append a 30-day series (optional) (default to undefined) +let userId: string; //Scope the daily series to a user (optional) (default to undefined) +let tokenId: string; //Scope the daily series to a token (optional) (default to undefined) + +const { status, data } = await apiInstance.getAIUsageStats( + organisation, + month, + groupBy, + include, + userId, + tokenId +); +``` + +### Parameters + +|Name | Type | Description | Notes| +|------------- | ------------- | ------------- | -------------| +| **organisation** | [**string**] | | defaults to undefined| +| **month** | [**string**] | YYYY-MM, defaults to current month | (optional) defaults to undefined| +| **groupBy** | [**'model' | 'user' | 'token'**]**Array<'model' | 'user' | 'token'>** | | (optional) defaults to 'model'| +| **include** | [**'daily'**]**Array<'daily'>** | Set to \'daily\' to append a 30-day series | (optional) defaults to undefined| +| **userId** | [**string**] | Scope the daily series to a user | (optional) defaults to undefined| +| **tokenId** | [**string**] | Scope the daily series to a token | (optional) defaults to undefined| + + +### Return type + +void (empty response body) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +|**200** | Usage breakdown | - | +|**403** | Missing update_subscription permission or subscription:read scope | - | +|**422** | Invalid groupBy | - | +|**500** | Failed to fetch usage data | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/AICustomToolsApi.md b/docs/AICustomToolsApi.md index 6871e2b..440aea1 100644 --- a/docs/AICustomToolsApi.md +++ b/docs/AICustomToolsApi.md @@ -6,12 +6,13 @@ All URIs are relative to *https://dashboard.quantcdn.io* |------------- | ------------- | -------------| |[**createCustomTool**](#createcustomtool) | **POST** /api/v3/organizations/{organisation}/ai/custom-tools | Register Custom Edge Function Tool| |[**deleteCustomTool**](#deletecustomtool) | **DELETE** /api/v3/organizations/{organisation}/ai/custom-tools/{toolName} | Delete Custom Tool| +|[**getCustomTool**](#getcustomtool) | **GET** /api/v3/organizations/{organisation}/ai/custom-tools/{toolName} | Get Custom Tool| |[**listCustomTools**](#listcustomtools) | **GET** /api/v3/organizations/{organisation}/ai/custom-tools | List Custom Tools| # **createCustomTool** > CreateCustomTool201Response createCustomTool(createCustomToolRequest) -Registers a custom edge function as a tool that AI models can invoke. This enables customers to create their own tools backed by edge functions. * * **Edge Function Contract:** * - Edge functions must accept POST requests with JSON payload * - Expected request format: `{ \'toolName\': \'...\', \'input\': {...}, \'orgId\': \'...\' }` * - Must return JSON response with either `result` or `error` field * * **Async Tools:** * Set `isAsync: true` for operations >5 seconds. The edge function should return `{ executionId: \'...\' }` and the AI will poll for completion. +Registers a custom edge function as a tool that AI models can invoke. Provide `edgeFunctionCode` (JavaScript) and the API will deploy it to the CDN, compute the edge function URL, and register the tool. * * **Edge Function Contract:** * - Edge functions must accept POST requests with JSON payload * - Expected request format: `{ \'toolName\': \'...\', \'input\': {...}, \'orgId\': \'...\' }` * - Must return JSON response with either `result` or `error` field * * **Idempotent Updates:** * POSTing with the same `name` will update the existing tool — the edge function code is redeployed to the same UUID and the tool registration is updated. * * **Async Tools:** * Set `isAsync: true` for operations >5 seconds. The edge function should return `{ executionId: \'...\' }` and the AI will poll for completion. ### Example @@ -62,7 +63,6 @@ const { status, data } = await apiInstance.createCustomTool( |**201** | Custom tool registered successfully | - | |**400** | Invalid request parameters | - | |**403** | Access denied | - | -|**409** | Tool with this name already exists | - | |**500** | Failed to register custom tool | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -70,7 +70,7 @@ const { status, data } = await apiInstance.createCustomTool( # **deleteCustomTool** > DeleteCustomTool200Response deleteCustomTool() -Deletes a custom tool registration. The underlying edge function is not affected. +Deletes a custom tool registration and its deployed edge function. ### Example @@ -124,6 +124,63 @@ const { status, data } = await apiInstance.deleteCustomTool( [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **getCustomTool** +> GetCustomTool200Response getCustomTool() + +Retrieves a single registered custom tool by name. + +### Example + +```typescript +import { + AICustomToolsApi, + Configuration +} from '@quantcdn/quant-client'; + +const configuration = new Configuration(); +const apiInstance = new AICustomToolsApi(configuration); + +let organisation: string; //The organisation ID (default to undefined) +let toolName: string; //The tool name to retrieve (default to undefined) + +const { status, data } = await apiInstance.getCustomTool( + organisation, + toolName +); +``` + +### Parameters + +|Name | Type | Description | Notes| +|------------- | ------------- | ------------- | -------------| +| **organisation** | [**string**] | The organisation ID | defaults to undefined| +| **toolName** | [**string**] | The tool name to retrieve | defaults to undefined| + + +### Return type + +**GetCustomTool200Response** + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +|**200** | Custom tool retrieved successfully | - | +|**403** | Access denied | - | +|**404** | Tool not found | - | +|**500** | Failed to retrieve custom tools | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **listCustomTools** > ListCustomTools200Response listCustomTools() diff --git a/docs/AIMonitoringApi.md b/docs/AIMonitoringApi.md deleted file mode 100644 index 769e7fa..0000000 --- a/docs/AIMonitoringApi.md +++ /dev/null @@ -1,62 +0,0 @@ -# AIMonitoringApi - -All URIs are relative to *https://dashboard.quantcdn.io* - -|Method | HTTP request | Description| -|------------- | ------------- | -------------| -|[**getAIUsageStats**](#getaiusagestats) | **GET** /api/v3/organizations/{organisation}/ai/usage | Get AI usage statistics| - -# **getAIUsageStats** -> GetAIUsageStats200Response getAIUsageStats() - - -### Example - -```typescript -import { - AIMonitoringApi, - Configuration -} from '@quantcdn/quant-client'; - -const configuration = new Configuration(); -const apiInstance = new AIMonitoringApi(configuration); - -let organisation: string; //The organisation ID (default to undefined) -let month: string; //Month to retrieve statistics for (YYYY-MM format) (optional) (default to undefined) - -const { status, data } = await apiInstance.getAIUsageStats( - organisation, - month -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **organisation** | [**string**] | The organisation ID | defaults to undefined| -| **month** | [**string**] | Month to retrieve statistics for (YYYY-MM format) | (optional) defaults to undefined| - - -### Return type - -**GetAIUsageStats200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | Usage statistics | - | -|**500** | Failed to fetch usage statistics | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - diff --git a/docs/AISearchApi.md b/docs/AISearchApi.md new file mode 100644 index 0000000..cd93bf0 --- /dev/null +++ b/docs/AISearchApi.md @@ -0,0 +1,997 @@ +# AISearchApi + +All URIs are relative to *https://dashboard.quantcdn.io* + +|Method | HTTP request | Description| +|------------- | ------------- | -------------| +|[**aiSearchChat**](#aisearchchat) | **POST** /api/v3/organisations/{organisation}/projects/{project}/ai-search/chat | RAG chat with AI Search content| +|[**aiSearchDeletePages**](#aisearchdeletepages) | **DELETE** /api/v3/organisations/{organisation}/projects/{project}/ai-search/pages | Delete pages by URLs or patterns| +|[**aiSearchDisable**](#aisearchdisable) | **POST** /api/v3/organisations/{organisation}/projects/{project}/ai-search/disable | Disable AI Search for a project| +|[**aiSearchEnable**](#aisearchenable) | **POST** /api/v3/organisations/{organisation}/projects/{project}/ai-search/enable | Enable AI Search for a project| +|[**aiSearchGetCrawl**](#aisearchgetcrawl) | **GET** /api/v3/organisations/{organisation}/projects/{project}/ai-search/crawls/{jobId} | Get AI Search ingest job status| +|[**aiSearchGetCrawlPages**](#aisearchgetcrawlpages) | **GET** /api/v3/organisations/{organisation}/projects/{project}/ai-search/crawls/{jobId}/pages | Get per-page ingest results for a crawl job| +|[**aiSearchGetSettings**](#aisearchgetsettings) | **GET** /api/v3/organisations/{organisation}/projects/{project}/ai-search/settings | Get AI Search public access and rate limit settings| +|[**aiSearchIngestPages**](#aisearchingestpages) | **POST** /api/v3/organisations/{organisation}/projects/{project}/ai-search/pages | Ingest pages into the AI Search index| +|[**aiSearchListCrawls**](#aisearchlistcrawls) | **GET** /api/v3/organisations/{organisation}/projects/{project}/ai-search/crawls | List AI Search ingest jobs| +|[**aiSearchListPages**](#aisearchlistpages) | **GET** /api/v3/organisations/{organisation}/projects/{project}/ai-search/pages | List indexed pages with cursor pagination| +|[**aiSearchPurgeIndex**](#aisearchpurgeindex) | **DELETE** /api/v3/organisations/{organisation}/projects/{project}/ai-search/index | Purge the entire AI Search index| +|[**aiSearchSearch**](#aisearchsearch) | **POST** /api/v3/organisations/{organisation}/projects/{project}/ai-search/search | Semantic search across the AI Search index| +|[**aiSearchStatus**](#aisearchstatus) | **GET** /api/v3/organisations/{organisation}/projects/{project}/ai-search | Get AI Search status for a project| +|[**aiSearchTopQueries**](#aisearchtopqueries) | **GET** /api/v3/organisations/{organisation}/projects/{project}/ai-search/top-queries | Get the most popular AI Search queries| +|[**aiSearchTriggerCrawl**](#aisearchtriggercrawl) | **POST** /api/v3/organisations/{organisation}/projects/{project}/ai-search/crawls | Trigger a crawler run that ingests into AI Search| +|[**aiSearchUpdateSettings**](#aisearchupdatesettings) | **PUT** /api/v3/organisations/{organisation}/projects/{project}/ai-search/settings | Update AI Search public access and rate limit settings| +|[**aiSearchUsage**](#aisearchusage) | **GET** /api/v3/organisations/{organisation}/projects/{project}/ai-search/usage | Get usage statistics for the AI Search site| + +# **aiSearchChat** +> aiSearchChat(aiSearchChatRequest) + + +### Example + +```typescript +import { + AISearchApi, + Configuration, + AiSearchChatRequest +} from '@quantcdn/quant-client'; + +const configuration = new Configuration(); +const apiInstance = new AISearchApi(configuration); + +let organisation: string; // (default to undefined) +let project: string; // (default to undefined) +let aiSearchChatRequest: AiSearchChatRequest; // + +const { status, data } = await apiInstance.aiSearchChat( + organisation, + project, + aiSearchChatRequest +); +``` + +### Parameters + +|Name | Type | Description | Notes| +|------------- | ------------- | ------------- | -------------| +| **aiSearchChatRequest** | **AiSearchChatRequest**| | | +| **organisation** | [**string**] | | defaults to undefined| +| **project** | [**string**] | | defaults to undefined| + + +### Return type + +void (empty response body) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +|**200** | Chat reply | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **aiSearchDeletePages** +> aiSearchDeletePages(aiSearchDeletePagesRequest) + + +### Example + +```typescript +import { + AISearchApi, + Configuration, + AiSearchDeletePagesRequest +} from '@quantcdn/quant-client'; + +const configuration = new Configuration(); +const apiInstance = new AISearchApi(configuration); + +let organisation: string; // (default to undefined) +let project: string; // (default to undefined) +let aiSearchDeletePagesRequest: AiSearchDeletePagesRequest; // + +const { status, data } = await apiInstance.aiSearchDeletePages( + organisation, + project, + aiSearchDeletePagesRequest +); +``` + +### Parameters + +|Name | Type | Description | Notes| +|------------- | ------------- | ------------- | -------------| +| **aiSearchDeletePagesRequest** | **AiSearchDeletePagesRequest**| | | +| **organisation** | [**string**] | | defaults to undefined| +| **project** | [**string**] | | defaults to undefined| + + +### Return type + +void (empty response body) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +|**200** | Deleted | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **aiSearchDisable** +> aiSearchDisable() + + +### Example + +```typescript +import { + AISearchApi, + Configuration +} from '@quantcdn/quant-client'; + +const configuration = new Configuration(); +const apiInstance = new AISearchApi(configuration); + +let organisation: string; // (default to undefined) +let project: string; // (default to undefined) + +const { status, data } = await apiInstance.aiSearchDisable( + organisation, + project +); +``` + +### Parameters + +|Name | Type | Description | Notes| +|------------- | ------------- | ------------- | -------------| +| **organisation** | [**string**] | | defaults to undefined| +| **project** | [**string**] | | defaults to undefined| + + +### Return type + +void (empty response body) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +|**200** | Disabled | - | +|**404** | Not enabled | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **aiSearchEnable** +> aiSearchEnable() + + +### Example + +```typescript +import { + AISearchApi, + Configuration, + AiSearchEnableRequest +} from '@quantcdn/quant-client'; + +const configuration = new Configuration(); +const apiInstance = new AISearchApi(configuration); + +let organisation: string; // (default to undefined) +let project: string; // (default to undefined) +let aiSearchEnableRequest: AiSearchEnableRequest; // (optional) + +const { status, data } = await apiInstance.aiSearchEnable( + organisation, + project, + aiSearchEnableRequest +); +``` + +### Parameters + +|Name | Type | Description | Notes| +|------------- | ------------- | ------------- | -------------| +| **aiSearchEnableRequest** | **AiSearchEnableRequest**| | | +| **organisation** | [**string**] | | defaults to undefined| +| **project** | [**string**] | | defaults to undefined| + + +### Return type + +void (empty response body) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +|**200** | Enabled | - | +|**400** | Missing base URL | - | +|**409** | Already enabled | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **aiSearchGetCrawl** +> aiSearchGetCrawl() + + +### Example + +```typescript +import { + AISearchApi, + Configuration +} from '@quantcdn/quant-client'; + +const configuration = new Configuration(); +const apiInstance = new AISearchApi(configuration); + +let organisation: string; // (default to undefined) +let project: string; // (default to undefined) +let jobId: string; // (default to undefined) + +const { status, data } = await apiInstance.aiSearchGetCrawl( + organisation, + project, + jobId +); +``` + +### Parameters + +|Name | Type | Description | Notes| +|------------- | ------------- | ------------- | -------------| +| **organisation** | [**string**] | | defaults to undefined| +| **project** | [**string**] | | defaults to undefined| +| **jobId** | [**string**] | | defaults to undefined| + + +### Return type + +void (empty response body) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +|**200** | Job status | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **aiSearchGetCrawlPages** +> aiSearchGetCrawlPages() + + +### Example + +```typescript +import { + AISearchApi, + Configuration +} from '@quantcdn/quant-client'; + +const configuration = new Configuration(); +const apiInstance = new AISearchApi(configuration); + +let organisation: string; // (default to undefined) +let project: string; // (default to undefined) +let jobId: string; // (default to undefined) +let limit: number; // (optional) (default to undefined) +let statusCode: number; // (optional) (default to undefined) +let processingStatus: string; // (optional) (default to undefined) + +const { status, data } = await apiInstance.aiSearchGetCrawlPages( + organisation, + project, + jobId, + limit, + statusCode, + processingStatus +); +``` + +### Parameters + +|Name | Type | Description | Notes| +|------------- | ------------- | ------------- | -------------| +| **organisation** | [**string**] | | defaults to undefined| +| **project** | [**string**] | | defaults to undefined| +| **jobId** | [**string**] | | defaults to undefined| +| **limit** | [**number**] | | (optional) defaults to undefined| +| **statusCode** | [**number**] | | (optional) defaults to undefined| +| **processingStatus** | [**string**] | | (optional) defaults to undefined| + + +### Return type + +void (empty response body) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +|**200** | Pages | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **aiSearchGetSettings** +> aiSearchGetSettings() + + +### Example + +```typescript +import { + AISearchApi, + Configuration +} from '@quantcdn/quant-client'; + +const configuration = new Configuration(); +const apiInstance = new AISearchApi(configuration); + +let organisation: string; // (default to undefined) +let project: string; // (default to undefined) + +const { status, data } = await apiInstance.aiSearchGetSettings( + organisation, + project +); +``` + +### Parameters + +|Name | Type | Description | Notes| +|------------- | ------------- | ------------- | -------------| +| **organisation** | [**string**] | | defaults to undefined| +| **project** | [**string**] | | defaults to undefined| + + +### Return type + +void (empty response body) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +|**200** | Settings | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **aiSearchIngestPages** +> aiSearchIngestPages(aiSearchIngestPagesRequest) + + +### Example + +```typescript +import { + AISearchApi, + Configuration, + AiSearchIngestPagesRequest +} from '@quantcdn/quant-client'; + +const configuration = new Configuration(); +const apiInstance = new AISearchApi(configuration); + +let organisation: string; // (default to undefined) +let project: string; // (default to undefined) +let aiSearchIngestPagesRequest: AiSearchIngestPagesRequest; // + +const { status, data } = await apiInstance.aiSearchIngestPages( + organisation, + project, + aiSearchIngestPagesRequest +); +``` + +### Parameters + +|Name | Type | Description | Notes| +|------------- | ------------- | ------------- | -------------| +| **aiSearchIngestPagesRequest** | **AiSearchIngestPagesRequest**| | | +| **organisation** | [**string**] | | defaults to undefined| +| **project** | [**string**] | | defaults to undefined| + + +### Return type + +void (empty response body) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +|**200** | Pages processed | - | +|**422** | Validation failed | - | +|**502** | Upstream failure | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **aiSearchListCrawls** +> aiSearchListCrawls() + + +### Example + +```typescript +import { + AISearchApi, + Configuration +} from '@quantcdn/quant-client'; + +const configuration = new Configuration(); +const apiInstance = new AISearchApi(configuration); + +let organisation: string; // (default to undefined) +let project: string; // (default to undefined) +let limit: number; // (optional) (default to undefined) + +const { status, data } = await apiInstance.aiSearchListCrawls( + organisation, + project, + limit +); +``` + +### Parameters + +|Name | Type | Description | Notes| +|------------- | ------------- | ------------- | -------------| +| **organisation** | [**string**] | | defaults to undefined| +| **project** | [**string**] | | defaults to undefined| +| **limit** | [**number**] | | (optional) defaults to undefined| + + +### Return type + +void (empty response body) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +|**200** | Jobs | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **aiSearchListPages** +> aiSearchListPages() + + +### Example + +```typescript +import { + AISearchApi, + Configuration +} from '@quantcdn/quant-client'; + +const configuration = new Configuration(); +const apiInstance = new AISearchApi(configuration); + +let organisation: string; // (default to undefined) +let project: string; // (default to undefined) +let limit: number; // (optional) (default to undefined) +let cursor: string; // (optional) (default to undefined) +let search: string; // (optional) (default to undefined) + +const { status, data } = await apiInstance.aiSearchListPages( + organisation, + project, + limit, + cursor, + search +); +``` + +### Parameters + +|Name | Type | Description | Notes| +|------------- | ------------- | ------------- | -------------| +| **organisation** | [**string**] | | defaults to undefined| +| **project** | [**string**] | | defaults to undefined| +| **limit** | [**number**] | | (optional) defaults to undefined| +| **cursor** | [**string**] | | (optional) defaults to undefined| +| **search** | [**string**] | | (optional) defaults to undefined| + + +### Return type + +void (empty response body) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +|**200** | Pages | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **aiSearchPurgeIndex** +> aiSearchPurgeIndex() + + +### Example + +```typescript +import { + AISearchApi, + Configuration +} from '@quantcdn/quant-client'; + +const configuration = new Configuration(); +const apiInstance = new AISearchApi(configuration); + +let organisation: string; // (default to undefined) +let project: string; // (default to undefined) + +const { status, data } = await apiInstance.aiSearchPurgeIndex( + organisation, + project +); +``` + +### Parameters + +|Name | Type | Description | Notes| +|------------- | ------------- | ------------- | -------------| +| **organisation** | [**string**] | | defaults to undefined| +| **project** | [**string**] | | defaults to undefined| + + +### Return type + +void (empty response body) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +|**200** | Purged | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **aiSearchSearch** +> aiSearchSearch(aiSearchSearchRequest) + + +### Example + +```typescript +import { + AISearchApi, + Configuration, + AiSearchSearchRequest +} from '@quantcdn/quant-client'; + +const configuration = new Configuration(); +const apiInstance = new AISearchApi(configuration); + +let organisation: string; // (default to undefined) +let project: string; // (default to undefined) +let aiSearchSearchRequest: AiSearchSearchRequest; // + +const { status, data } = await apiInstance.aiSearchSearch( + organisation, + project, + aiSearchSearchRequest +); +``` + +### Parameters + +|Name | Type | Description | Notes| +|------------- | ------------- | ------------- | -------------| +| **aiSearchSearchRequest** | **AiSearchSearchRequest**| | | +| **organisation** | [**string**] | | defaults to undefined| +| **project** | [**string**] | | defaults to undefined| + + +### Return type + +void (empty response body) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +|**200** | Results | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **aiSearchStatus** +> aiSearchStatus() + + +### Example + +```typescript +import { + AISearchApi, + Configuration +} from '@quantcdn/quant-client'; + +const configuration = new Configuration(); +const apiInstance = new AISearchApi(configuration); + +let organisation: string; // (default to undefined) +let project: string; // (default to undefined) + +const { status, data } = await apiInstance.aiSearchStatus( + organisation, + project +); +``` + +### Parameters + +|Name | Type | Description | Notes| +|------------- | ------------- | ------------- | -------------| +| **organisation** | [**string**] | | defaults to undefined| +| **project** | [**string**] | | defaults to undefined| + + +### Return type + +void (empty response body) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +|**200** | Status | - | +|**401** | Unauthorized | - | +|**403** | Forbidden | - | +|**404** | Not found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **aiSearchTopQueries** +> aiSearchTopQueries() + + +### Example + +```typescript +import { + AISearchApi, + Configuration +} from '@quantcdn/quant-client'; + +const configuration = new Configuration(); +const apiInstance = new AISearchApi(configuration); + +let organisation: string; // (default to undefined) +let project: string; // (default to undefined) +let range: string; // (optional) (default to '30d') +let limit: number; // (optional) (default to undefined) + +const { status, data } = await apiInstance.aiSearchTopQueries( + organisation, + project, + range, + limit +); +``` + +### Parameters + +|Name | Type | Description | Notes| +|------------- | ------------- | ------------- | -------------| +| **organisation** | [**string**] | | defaults to undefined| +| **project** | [**string**] | | defaults to undefined| +| **range** | [**string**] | | (optional) defaults to '30d'| +| **limit** | [**number**] | | (optional) defaults to undefined| + + +### Return type + +void (empty response body) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +|**200** | Top queries | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **aiSearchTriggerCrawl** +> aiSearchTriggerCrawl(aiSearchTriggerCrawlRequest) + + +### Example + +```typescript +import { + AISearchApi, + Configuration, + AiSearchTriggerCrawlRequest +} from '@quantcdn/quant-client'; + +const configuration = new Configuration(); +const apiInstance = new AISearchApi(configuration); + +let organisation: string; // (default to undefined) +let project: string; // (default to undefined) +let aiSearchTriggerCrawlRequest: AiSearchTriggerCrawlRequest; // + +const { status, data } = await apiInstance.aiSearchTriggerCrawl( + organisation, + project, + aiSearchTriggerCrawlRequest +); +``` + +### Parameters + +|Name | Type | Description | Notes| +|------------- | ------------- | ------------- | -------------| +| **aiSearchTriggerCrawlRequest** | **AiSearchTriggerCrawlRequest**| | | +| **organisation** | [**string**] | | defaults to undefined| +| **project** | [**string**] | | defaults to undefined| + + +### Return type + +void (empty response body) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +|**200** | Crawl started | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **aiSearchUpdateSettings** +> aiSearchUpdateSettings(aiSearchUpdateSettingsRequest) + + +### Example + +```typescript +import { + AISearchApi, + Configuration, + AiSearchUpdateSettingsRequest +} from '@quantcdn/quant-client'; + +const configuration = new Configuration(); +const apiInstance = new AISearchApi(configuration); + +let organisation: string; // (default to undefined) +let project: string; // (default to undefined) +let aiSearchUpdateSettingsRequest: AiSearchUpdateSettingsRequest; // + +const { status, data } = await apiInstance.aiSearchUpdateSettings( + organisation, + project, + aiSearchUpdateSettingsRequest +); +``` + +### Parameters + +|Name | Type | Description | Notes| +|------------- | ------------- | ------------- | -------------| +| **aiSearchUpdateSettingsRequest** | **AiSearchUpdateSettingsRequest**| | | +| **organisation** | [**string**] | | defaults to undefined| +| **project** | [**string**] | | defaults to undefined| + + +### Return type + +void (empty response body) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +|**200** | Updated | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **aiSearchUsage** +> aiSearchUsage() + + +### Example + +```typescript +import { + AISearchApi, + Configuration +} from '@quantcdn/quant-client'; + +const configuration = new Configuration(); +const apiInstance = new AISearchApi(configuration); + +let organisation: string; // (default to undefined) +let project: string; // (default to undefined) +let range: string; // (optional) (default to '30d') + +const { status, data } = await apiInstance.aiSearchUsage( + organisation, + project, + range +); +``` + +### Parameters + +|Name | Type | Description | Notes| +|------------- | ------------- | ------------- | -------------| +| **organisation** | [**string**] | | defaults to undefined| +| **project** | [**string**] | | defaults to undefined| +| **range** | [**string**] | | (optional) defaults to '30d'| + + +### Return type + +void (empty response body) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +|**200** | Usage | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/AISlackBotsApi.md b/docs/AISlackBotsApi.md index 6983805..179528a 100644 --- a/docs/AISlackBotsApi.md +++ b/docs/AISlackBotsApi.md @@ -15,7 +15,7 @@ All URIs are relative to *https://dashboard.quantcdn.io* # **createSlackBot** > CreateSlackBot201Response createSlackBot(createSlackBotRequest) -Creates a new Slack bot backed by an AI agent. The bot must be connected to a Slack workspace via OAuth before it can receive events. * * **Setup Types:** * - `quant`: Quant-managed Slack app — uses shared OAuth credentials * - `byo`: Bring Your Own — customer provides their own Slack app credentials +Creates a new Slack bot with inline AI agent configuration. A backing agent is created automatically — callers do not need to manage agents separately. * * **Setup Types:** * - `quant`: Quant-managed Slack app — uses shared OAuth credentials * - `byo`: Bring Your Own — customer provides their own Slack app credentials ### Example @@ -73,7 +73,7 @@ const { status, data } = await apiInstance.createSlackBot( # **deleteSlackBot** > DeleteSlackBot200Response deleteSlackBot() -Permanently deletes a Slack bot and disconnects it from the workspace. +Permanently deletes a Slack bot, disconnects it from the workspace, and deletes its backing AI agent. ### Example @@ -130,7 +130,7 @@ const { status, data } = await apiInstance.deleteSlackBot( # **getSlackBot** > GetSlackBot200Response getSlackBot() -Retrieves details for a specific Slack bot including its configuration and connection status. +Retrieves details for a specific Slack bot including its configuration, connection status, and flattened agent configuration. ### Example @@ -187,7 +187,7 @@ const { status, data } = await apiInstance.getSlackBot( # **listSlackBots** > ListSlackBots200Response listSlackBots() -Lists all Slack bots configured for the organization. Each bot is backed by an AI agent and can be connected to a Slack workspace. +Lists all Slack bots configured for the organization. Each bot is backed by an AI agent and can be connected to a Slack workspace. Agent configuration fields are flattened onto each bot object. ### Example @@ -360,7 +360,7 @@ const { status, data } = await apiInstance.searchSlackWorkspaceUsers( # **updateSlackBot** > CreateSlackBot201Response updateSlackBot(updateSlackBotRequest) -Updates a Slack bot\'s configuration. Only provided fields are updated. +Updates a Slack bot\'s configuration and/or its backing agent. Only provided fields are updated. ### Example diff --git a/docs/AiSearchChatRequest.md b/docs/AiSearchChatRequest.md new file mode 100644 index 0000000..8ae7d28 --- /dev/null +++ b/docs/AiSearchChatRequest.md @@ -0,0 +1,26 @@ +# AiSearchChatRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**message** | **string** | | [default to undefined] +**sessionId** | **string** | | [optional] [default to undefined] +**contextUrl** | **string** | | [optional] [default to undefined] +**maxContextChunks** | **number** | | [optional] [default to undefined] + +## Example + +```typescript +import { AiSearchChatRequest } from '@quantcdn/quant-client'; + +const instance: AiSearchChatRequest = { + message, + sessionId, + contextUrl, + maxContextChunks, +}; +``` + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/AiSearchDeletePagesRequest.md b/docs/AiSearchDeletePagesRequest.md new file mode 100644 index 0000000..376b78e --- /dev/null +++ b/docs/AiSearchDeletePagesRequest.md @@ -0,0 +1,22 @@ +# AiSearchDeletePagesRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**urls** | **Array<string>** | | [optional] [default to undefined] +**patterns** | **Array<string>** | | [optional] [default to undefined] + +## Example + +```typescript +import { AiSearchDeletePagesRequest } from '@quantcdn/quant-client'; + +const instance: AiSearchDeletePagesRequest = { + urls, + patterns, +}; +``` + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/AiSearchEnableRequest.md b/docs/AiSearchEnableRequest.md new file mode 100644 index 0000000..7c935aa --- /dev/null +++ b/docs/AiSearchEnableRequest.md @@ -0,0 +1,22 @@ +# AiSearchEnableRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**baseUrl** | **string** | | [optional] [default to undefined] +**crawlerConfig** | **object** | | [optional] [default to undefined] + +## Example + +```typescript +import { AiSearchEnableRequest } from '@quantcdn/quant-client'; + +const instance: AiSearchEnableRequest = { + baseUrl, + crawlerConfig, +}; +``` + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/AiSearchIngestPagesRequest.md b/docs/AiSearchIngestPagesRequest.md new file mode 100644 index 0000000..b3d9d7a --- /dev/null +++ b/docs/AiSearchIngestPagesRequest.md @@ -0,0 +1,22 @@ +# AiSearchIngestPagesRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**jobId** | **string** | | [optional] [default to undefined] +**pages** | [**Array<AiSearchIngestPagesRequestPagesInner>**](AiSearchIngestPagesRequestPagesInner.md) | | [default to undefined] + +## Example + +```typescript +import { AiSearchIngestPagesRequest } from '@quantcdn/quant-client'; + +const instance: AiSearchIngestPagesRequest = { + jobId, + pages, +}; +``` + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/AiSearchIngestPagesRequestPagesInner.md b/docs/AiSearchIngestPagesRequestPagesInner.md new file mode 100644 index 0000000..0c4d569 --- /dev/null +++ b/docs/AiSearchIngestPagesRequestPagesInner.md @@ -0,0 +1,36 @@ +# AiSearchIngestPagesRequestPagesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**url** | **string** | | [default to undefined] +**title** | **string** | | [default to undefined] +**content** | **string** | | [default to undefined] +**contentType** | **string** | | [optional] [default to undefined] +**fetchedAt** | **string** | | [optional] [default to undefined] +**preProcessed** | **boolean** | | [optional] [default to undefined] +**summary** | **string** | | [optional] [default to undefined] +**tags** | **Array<string>** | | [optional] [default to undefined] +**topics** | **Array<string>** | | [optional] [default to undefined] + +## Example + +```typescript +import { AiSearchIngestPagesRequestPagesInner } from '@quantcdn/quant-client'; + +const instance: AiSearchIngestPagesRequestPagesInner = { + url, + title, + content, + contentType, + fetchedAt, + preProcessed, + summary, + tags, + topics, +}; +``` + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/AiSearchSearchRequest.md b/docs/AiSearchSearchRequest.md new file mode 100644 index 0000000..4faa10a --- /dev/null +++ b/docs/AiSearchSearchRequest.md @@ -0,0 +1,24 @@ +# AiSearchSearchRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**query** | **string** | | [default to undefined] +**limit** | **number** | | [optional] [default to undefined] +**minScore** | **number** | | [optional] [default to undefined] + +## Example + +```typescript +import { AiSearchSearchRequest } from '@quantcdn/quant-client'; + +const instance: AiSearchSearchRequest = { + query, + limit, + minScore, +}; +``` + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/AiSearchTriggerCrawlRequest.md b/docs/AiSearchTriggerCrawlRequest.md new file mode 100644 index 0000000..226bc08 --- /dev/null +++ b/docs/AiSearchTriggerCrawlRequest.md @@ -0,0 +1,20 @@ +# AiSearchTriggerCrawlRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**crawler_uuid** | **string** | | [default to undefined] + +## Example + +```typescript +import { AiSearchTriggerCrawlRequest } from '@quantcdn/quant-client'; + +const instance: AiSearchTriggerCrawlRequest = { + crawler_uuid, +}; +``` + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/AiSearchUpdateSettingsRequest.md b/docs/AiSearchUpdateSettingsRequest.md new file mode 100644 index 0000000..19cb47d --- /dev/null +++ b/docs/AiSearchUpdateSettingsRequest.md @@ -0,0 +1,22 @@ +# AiSearchUpdateSettingsRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**publicAccess** | **object** | | [optional] [default to undefined] +**rateLimits** | **object** | | [optional] [default to undefined] + +## Example + +```typescript +import { AiSearchUpdateSettingsRequest } from '@quantcdn/quant-client'; + +const instance: AiSearchUpdateSettingsRequest = { + publicAccess, + rateLimits, +}; +``` + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/ContainerOriginProtectionConfig.md b/docs/ContainerOriginProtectionConfig.md index 25f11bd..6e27390 100644 --- a/docs/ContainerOriginProtectionConfig.md +++ b/docs/ContainerOriginProtectionConfig.md @@ -8,6 +8,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **enabled** | **boolean** | Whether origin protection is enabled. Defaults to true if this config object is provided. | [optional] [default to true] **ipAllow** | **Array<string>** | List of IP addresses or CIDR ranges that can bypass origin protection for direct access (e.g., VPN IPs) | [optional] [default to undefined] +**redirectHost** | **string** | Optional bare host (e.g. www.example.com). When set, requests denied by origin protection are 302-redirected to https://<redirectHost> with path and query preserved, instead of receiving a 403. Allowed IPs and valid-header (CDN) traffic are unaffected. | [optional] [default to undefined] ## Example @@ -17,6 +18,7 @@ import { ContainerOriginProtectionConfig } from '@quantcdn/quant-client'; const instance: ContainerOriginProtectionConfig = { enabled, ipAllow, + redirectHost, }; ``` diff --git a/docs/CreateCustomTool201Response.md b/docs/CreateCustomTool201Response.md index f986806..1887c36 100644 --- a/docs/CreateCustomTool201Response.md +++ b/docs/CreateCustomTool201Response.md @@ -7,6 +7,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **success** | **boolean** | | [optional] [default to undefined] **tool** | **object** | | [optional] [default to undefined] +**edgeFunctionUrl** | **string** | Computed edge function URL (read-only) | [optional] [default to undefined] +**edgeFunctionCode** | **string** | The deployed edge function code | [optional] [default to undefined] +**isUpdate** | **boolean** | Whether this was an update to an existing tool | [optional] [default to undefined] **message** | **string** | | [optional] [default to undefined] ## Example @@ -17,6 +20,9 @@ import { CreateCustomTool201Response } from '@quantcdn/quant-client'; const instance: CreateCustomTool201Response = { success, tool, + edgeFunctionUrl, + edgeFunctionCode, + isUpdate, message, }; ``` diff --git a/docs/CreateCustomToolRequest.md b/docs/CreateCustomToolRequest.md index a7a0f25..af1d383 100644 --- a/docs/CreateCustomToolRequest.md +++ b/docs/CreateCustomToolRequest.md @@ -7,10 +7,14 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **name** | **string** | Unique tool name (alphanumeric and underscores only) | [default to undefined] **description** | **string** | Human-readable description of what the tool does | [default to undefined] -**edgeFunctionUrl** | **string** | HTTPS URL of the edge function | [default to undefined] -**inputSchema** | **object** | JSON Schema defining the tool\'s input parameters | [default to undefined] +**edgeFunctionCode** | **string** | JavaScript source code for the edge function | [default to undefined] +**inputSchema** | **string** | JSON-encoded JSON Schema object defining the tool\'s input parameters | [default to undefined] **isAsync** | **boolean** | Whether this tool runs asynchronously (>5 seconds) | [optional] [default to false] **timeoutSeconds** | **number** | Tool execution timeout | [optional] [default to 30] +**outputSchema** | **string** | JSON-encoded JSON Schema object defining the tool\'s output structure | [optional] [default to undefined] +**outputSchemaDescription** | **string** | Human-readable description of the tool\'s output | [optional] [default to undefined] +**category** | **string** | Category to group related tools | [optional] [default to undefined] +**responseMode** | **string** | How the tool response is handled: llm (passed back to model) or direct (returned to user) | [optional] [default to undefined] ## Example @@ -20,10 +24,14 @@ import { CreateCustomToolRequest } from '@quantcdn/quant-client'; const instance: CreateCustomToolRequest = { name, description, - edgeFunctionUrl, + edgeFunctionCode, inputSchema, isAsync, timeoutSeconds, + outputSchema, + outputSchemaDescription, + category, + responseMode, }; ``` diff --git a/docs/CreateSlackBotRequest.md b/docs/CreateSlackBotRequest.md index d2ef215..532737c 100644 --- a/docs/CreateSlackBotRequest.md +++ b/docs/CreateSlackBotRequest.md @@ -5,13 +5,28 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**agentId** | **string** | The AI agent that powers this bot | [default to undefined] +**name** | **string** | Display name for the bot | [default to undefined] **setupType** | **string** | Whether to use Quant-managed or customer-provided Slack app | [default to undefined] +**systemPrompt** | **string** | System prompt for the backing AI agent | [default to undefined] +**modelId** | **string** | AI model identifier | [default to undefined] +**temperature** | **number** | Sampling temperature | [optional] [default to undefined] +**maxTokens** | **number** | Maximum response tokens | [optional] [default to undefined] +**allowedTools** | **Array<string>** | Tools the agent may use | [optional] [default to undefined] +**assignedSkills** | **Array<string>** | Skills assigned to the agent | [optional] [default to undefined] +**allowedCollections** | **Array<string>** | Vector DB collections the agent may query | [optional] [default to undefined] +**allowedSubAgents** | **Array<string>** | Sub-agents the agent may call | [optional] [default to undefined] +**guardrailPreset** | **string** | Guardrail preset name | [optional] [default to undefined] +**filterPolicies** | **Array<string>** | Content filter policies | [optional] [default to undefined] +**longContext** | **boolean** | Enable long context mode | [optional] [default to undefined] **sessionTtlDays** | **number** | Session TTL in days | [optional] [default to undefined] **allowedChannels** | **Array<string>** | Slack channel IDs the bot may respond in | [optional] [default to undefined] +**allowedUsers** | **Array<string>** | Slack user IDs allowed to interact with the bot | [optional] [default to undefined] +**deniedUsers** | **Array<string>** | Slack user IDs denied from interacting with the bot | [optional] [default to undefined] +**allowGuests** | **boolean** | Whether guest users may interact with the bot | [optional] [default to undefined] +**homeTabContent** | **string** | Content shown on the bot\'s Home tab in Slack | [optional] [default to undefined] +**agentAccessControl** | **object** | Agent-level access control settings | [optional] [default to undefined] **keywordsEnabled** | **boolean** | Whether keyword triggers are enabled | [optional] [default to undefined] **keywords** | **Array<string>** | Keywords that trigger the bot | [optional] [default to undefined] -**slashCommands** | **Array<string>** | Slash commands the bot responds to | [optional] [default to undefined] ## Example @@ -19,13 +34,28 @@ Name | Type | Description | Notes import { CreateSlackBotRequest } from '@quantcdn/quant-client'; const instance: CreateSlackBotRequest = { - agentId, + name, setupType, + systemPrompt, + modelId, + temperature, + maxTokens, + allowedTools, + assignedSkills, + allowedCollections, + allowedSubAgents, + guardrailPreset, + filterPolicies, + longContext, sessionTtlDays, allowedChannels, + allowedUsers, + deniedUsers, + allowGuests, + homeTabContent, + agentAccessControl, keywordsEnabled, keywords, - slashCommands, }; ``` diff --git a/docs/GetAIOrchestrationStatus200Response.md b/docs/GetAIOrchestrationStatus200Response.md index 9a2ba14..50a9885 100644 --- a/docs/GetAIOrchestrationStatus200Response.md +++ b/docs/GetAIOrchestrationStatus200Response.md @@ -9,11 +9,12 @@ Name | Type | Description | Notes **status** | **string** | Current orchestration status | [default to undefined] **toolCount** | **number** | Total number of async tools in this orchestration | [default to undefined] **completedTools** | **number** | Number of tools that have completed | [optional] [default to undefined] -**synthesizedResponse** | **string** | AI-synthesized response combining all tool results (only present when status=complete) | [optional] [default to undefined] +**result** | **string** | AI-synthesized response combining all tool results (only present when status=complete) | [optional] [default to undefined] **tools** | [**Array<GetAIOrchestrationStatus200ResponseToolsInner>**](GetAIOrchestrationStatus200ResponseToolsInner.md) | Status of individual tool executions | [optional] [default to undefined] **error** | **string** | Error message (only present when status=failed) | [optional] [default to undefined] **createdAt** | **string** | When orchestration was created | [default to undefined] **completedAt** | **string** | When orchestration completed (if status in complete or failed) | [optional] [default to undefined] +**duration** | **number** | Seconds from creation to completion (present only once completed) | [optional] [default to undefined] ## Example @@ -25,11 +26,12 @@ const instance: GetAIOrchestrationStatus200Response = { status, toolCount, completedTools, - synthesizedResponse, + result, tools, error, createdAt, completedAt, + duration, }; ``` diff --git a/docs/GetAIUsageStats200Response.md b/docs/GetAIUsageStats200Response.md deleted file mode 100644 index 8b0f629..0000000 --- a/docs/GetAIUsageStats200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# GetAIUsageStats200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**total_requests** | **number** | Total number of API requests | [optional] [default to undefined] -**total_tokens** | **number** | Total tokens consumed across all requests | [optional] [default to undefined] -**by_model** | [**{ [key: string]: GetAIUsageStats200ResponseByModelValue; }**](GetAIUsageStats200ResponseByModelValue.md) | Usage breakdown by model ID | [optional] [default to undefined] - -## Example - -```typescript -import { GetAIUsageStats200Response } from '@quantcdn/quant-client'; - -const instance: GetAIUsageStats200Response = { - total_requests, - total_tokens, - by_model, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/GetAIUsageStats200ResponseByModelValue.md b/docs/GetAIUsageStats200ResponseByModelValue.md deleted file mode 100644 index f328b7d..0000000 --- a/docs/GetAIUsageStats200ResponseByModelValue.md +++ /dev/null @@ -1,22 +0,0 @@ -# GetAIUsageStats200ResponseByModelValue - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**requests** | **number** | Number of requests for this model | [optional] [default to undefined] -**tokens** | **number** | Total tokens for this model | [optional] [default to undefined] - -## Example - -```typescript -import { GetAIUsageStats200ResponseByModelValue } from '@quantcdn/quant-client'; - -const instance: GetAIUsageStats200ResponseByModelValue = { - requests, - tokens, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/GetCustomTool200Response.md b/docs/GetCustomTool200Response.md new file mode 100644 index 0000000..3571e89 --- /dev/null +++ b/docs/GetCustomTool200Response.md @@ -0,0 +1,20 @@ +# GetCustomTool200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tool** | [**GetCustomTool200ResponseTool**](GetCustomTool200ResponseTool.md) | | [optional] [default to undefined] + +## Example + +```typescript +import { GetCustomTool200Response } from '@quantcdn/quant-client'; + +const instance: GetCustomTool200Response = { + tool, +}; +``` + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/GetCustomTool200ResponseTool.md b/docs/GetCustomTool200ResponseTool.md new file mode 100644 index 0000000..ff9cbbf --- /dev/null +++ b/docs/GetCustomTool200ResponseTool.md @@ -0,0 +1,40 @@ +# GetCustomTool200ResponseTool + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **string** | | [optional] [default to undefined] +**description** | **string** | | [optional] [default to undefined] +**edgeFunctionUrl** | **string** | | [optional] [default to undefined] +**edgeFunctionCode** | **string** | The deployed edge function source code | [optional] [default to undefined] +**isAsync** | **boolean** | | [optional] [default to undefined] +**inputSchema** | **string** | | [optional] [default to undefined] +**outputSchema** | **string** | | [optional] [default to undefined] +**outputSchemaDescription** | **string** | | [optional] [default to undefined] +**category** | **string** | | [optional] [default to undefined] +**responseMode** | **string** | | [optional] [default to undefined] +**createdAt** | **string** | | [optional] [default to undefined] + +## Example + +```typescript +import { GetCustomTool200ResponseTool } from '@quantcdn/quant-client'; + +const instance: GetCustomTool200ResponseTool = { + name, + description, + edgeFunctionUrl, + edgeFunctionCode, + isAsync, + inputSchema, + outputSchema, + outputSchemaDescription, + category, + responseMode, + createdAt, +}; +``` + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/GetGovernanceConfig200ResponseSpendLimits.md b/docs/GetGovernanceConfig200ResponseSpendLimits.md index 16a90c2..7202758 100644 --- a/docs/GetGovernanceConfig200ResponseSpendLimits.md +++ b/docs/GetGovernanceConfig200ResponseSpendLimits.md @@ -10,6 +10,8 @@ Name | Type | Description | Notes **perUserMonthlyBudgetCents** | **number** | | [optional] [default to undefined] **perUserDailyBudgetCents** | **number** | | [optional] [default to undefined] **warningThresholdPercent** | **number** | | [optional] [default to undefined] +**interfaceLimits** | [**{ [key: string]: GetGovernanceConfig200ResponseSpendLimitsInterfaceLimitsValue; }**](GetGovernanceConfig200ResponseSpendLimitsInterfaceLimitsValue.md) | Aggregate spend caps per interface label (slack, autonomous, api-gateway, streaming, websocket). Keys are interface labels. | [optional] [default to undefined] +**userOverrides** | [**{ [key: string]: GetGovernanceConfig200ResponseSpendLimitsUserOverridesValue; }**](GetGovernanceConfig200ResponseSpendLimitsUserOverridesValue.md) | Per-user budget overrides keyed by userId (numeric portal id, slack-<id>, or system:code-agent). Replaces the flat per-user budget for that user; unlimited=true exempts them. | [optional] [default to undefined] ## Example @@ -22,6 +24,8 @@ const instance: GetGovernanceConfig200ResponseSpendLimits = { perUserMonthlyBudgetCents, perUserDailyBudgetCents, warningThresholdPercent, + interfaceLimits, + userOverrides, }; ``` diff --git a/docs/GetGovernanceConfig200ResponseSpendLimitsInterfaceLimitsValue.md b/docs/GetGovernanceConfig200ResponseSpendLimitsInterfaceLimitsValue.md new file mode 100644 index 0000000..937a2dd --- /dev/null +++ b/docs/GetGovernanceConfig200ResponseSpendLimitsInterfaceLimitsValue.md @@ -0,0 +1,22 @@ +# GetGovernanceConfig200ResponseSpendLimitsInterfaceLimitsValue + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dailyCents** | **number** | | [optional] [default to undefined] +**monthlyCents** | **number** | | [optional] [default to undefined] + +## Example + +```typescript +import { GetGovernanceConfig200ResponseSpendLimitsInterfaceLimitsValue } from '@quantcdn/quant-client'; + +const instance: GetGovernanceConfig200ResponseSpendLimitsInterfaceLimitsValue = { + dailyCents, + monthlyCents, +}; +``` + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/GetGovernanceConfig200ResponseSpendLimitsUserOverridesValue.md b/docs/GetGovernanceConfig200ResponseSpendLimitsUserOverridesValue.md new file mode 100644 index 0000000..ea1212b --- /dev/null +++ b/docs/GetGovernanceConfig200ResponseSpendLimitsUserOverridesValue.md @@ -0,0 +1,24 @@ +# GetGovernanceConfig200ResponseSpendLimitsUserOverridesValue + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dailyCents** | **number** | | [optional] [default to undefined] +**monthlyCents** | **number** | | [optional] [default to undefined] +**unlimited** | **boolean** | | [optional] [default to undefined] + +## Example + +```typescript +import { GetGovernanceConfig200ResponseSpendLimitsUserOverridesValue } from '@quantcdn/quant-client'; + +const instance: GetGovernanceConfig200ResponseSpendLimitsUserOverridesValue = { + dailyCents, + monthlyCents, + unlimited, +}; +``` + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/GetMyUsage200ResponseQuota.md b/docs/GetMyUsage200ResponseQuota.md index 3fe4ef3..2031bcb 100644 --- a/docs/GetMyUsage200ResponseQuota.md +++ b/docs/GetMyUsage200ResponseQuota.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**monthlyLimit** | **number** | Per-user monthly budget in US cents | [optional] [default to undefined] -**dailyLimit** | **number** | Per-user daily budget in US cents | [optional] [default to undefined] +**monthlyLimit** | [**GetMyUsage200ResponseQuotaMonthlyLimit**](GetMyUsage200ResponseQuotaMonthlyLimit.md) | | [optional] [default to undefined] +**dailyLimit** | [**GetMyUsage200ResponseQuotaDailyLimit**](GetMyUsage200ResponseQuotaDailyLimit.md) | | [optional] [default to undefined] ## Example diff --git a/docs/GetMyUsage200ResponseQuotaDailyLimit.md b/docs/GetMyUsage200ResponseQuotaDailyLimit.md new file mode 100644 index 0000000..05bed20 --- /dev/null +++ b/docs/GetMyUsage200ResponseQuotaDailyLimit.md @@ -0,0 +1,27 @@ +# GetMyUsage200ResponseQuotaDailyLimit + +Per-user daily spend cap (object form, present when an org-level perUserDailyBudget is configured) + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**limitCents** | **number** | The configured daily cap in US cents | [optional] [default to undefined] +**usedPercent** | **number** | Percentage of the cap consumed today (0–100+) | [optional] [default to undefined] +**remainingCents** | **number** | Cents remaining before the cap is hit; can be negative if overspent | [optional] [default to undefined] +**resetsAt** | **string** | UTC timestamp when the daily counter resets (always next UTC midnight) | [optional] [default to undefined] + +## Example + +```typescript +import { GetMyUsage200ResponseQuotaDailyLimit } from '@quantcdn/quant-client'; + +const instance: GetMyUsage200ResponseQuotaDailyLimit = { + limitCents, + usedPercent, + remainingCents, + resetsAt, +}; +``` + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/GetMyUsage200ResponseQuotaMonthlyLimit.md b/docs/GetMyUsage200ResponseQuotaMonthlyLimit.md new file mode 100644 index 0000000..3d0bab6 --- /dev/null +++ b/docs/GetMyUsage200ResponseQuotaMonthlyLimit.md @@ -0,0 +1,25 @@ +# GetMyUsage200ResponseQuotaMonthlyLimit + +Per-user monthly spend cap (object form, present when an org-level perUserMonthlyBudget is configured) + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**limitCents** | **number** | The configured monthly cap in US cents | [optional] [default to undefined] +**usedPercent** | **number** | Percentage of the cap consumed this month (0–100+) | [optional] [default to undefined] +**remainingCents** | **number** | Cents remaining before the cap is hit; can be negative if overspent | [optional] [default to undefined] + +## Example + +```typescript +import { GetMyUsage200ResponseQuotaMonthlyLimit } from '@quantcdn/quant-client'; + +const instance: GetMyUsage200ResponseQuotaMonthlyLimit = { + limitCents, + usedPercent, + remainingCents, +}; +``` + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/GetRestoreStatus200Response.md b/docs/GetRestoreStatus200Response.md new file mode 100644 index 0000000..c5d4583 --- /dev/null +++ b/docs/GetRestoreStatus200Response.md @@ -0,0 +1,40 @@ +# GetRestoreStatus200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**restoreId** | **string** | | [optional] [default to undefined] +**orgName** | **string** | | [optional] [default to undefined] +**appName** | **string** | | [optional] [default to undefined] +**envName** | **string** | | [optional] [default to undefined] +**backupId** | **string** | | [optional] [default to undefined] +**status** | **string** | | [optional] [default to undefined] +**startedAt** | **string** | | [optional] [default to undefined] +**completedAt** | **string** | | [optional] [default to undefined] +**errorMessage** | **string** | | [optional] [default to undefined] +**taskArn** | **string** | | [optional] [default to undefined] +**ttl** | **number** | | [optional] [default to undefined] + +## Example + +```typescript +import { GetRestoreStatus200Response } from '@quantcdn/quant-client'; + +const instance: GetRestoreStatus200Response = { + restoreId, + orgName, + appName, + envName, + backupId, + status, + startedAt, + completedAt, + errorMessage, + taskArn, + ttl, +}; +``` + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/ScalingPolicy.md b/docs/GetScalingPolicyResponse.md similarity index 61% rename from docs/ScalingPolicy.md rename to docs/GetScalingPolicyResponse.md index dea38dd..42c96b6 100644 --- a/docs/ScalingPolicy.md +++ b/docs/GetScalingPolicyResponse.md @@ -1,4 +1,4 @@ -# ScalingPolicy +# GetScalingPolicyResponse ## Properties @@ -9,17 +9,21 @@ Name | Type | Description | Notes **targetValue** | **number** | | [optional] [default to undefined] **scaleInCooldownSeconds** | **number** | | [optional] [default to undefined] **scaleOutCooldownSeconds** | **number** | | [optional] [default to undefined] +**policyName** | **string** | Name of the underlying Application Auto Scaling policy. | [optional] [default to undefined] +**resourceLabel** | **string** | ALB ResourceLabel for RPS policies (target group identifier). | [optional] [default to undefined] ## Example ```typescript -import { ScalingPolicy } from '@quantcdn/quant-client'; +import { GetScalingPolicyResponse } from '@quantcdn/quant-client'; -const instance: ScalingPolicy = { +const instance: GetScalingPolicyResponse = { metric, targetValue, scaleInCooldownSeconds, scaleOutCooldownSeconds, + policyName, + resourceLabel, }; ``` diff --git a/docs/GetSlackBot200ResponseBot.md b/docs/GetSlackBot200ResponseBot.md index 334d86a..5b8ed50 100644 --- a/docs/GetSlackBot200ResponseBot.md +++ b/docs/GetSlackBot200ResponseBot.md @@ -6,15 +6,30 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **botId** | **string** | | [optional] [default to undefined] -**agentId** | **string** | | [optional] [default to undefined] +**name** | **string** | | [optional] [default to undefined] **setupType** | **string** | | [optional] [default to undefined] **status** | **string** | | [optional] [default to undefined] **connected** | **boolean** | | [optional] [default to undefined] +**systemPrompt** | **string** | | [optional] [default to undefined] +**modelId** | **string** | | [optional] [default to undefined] +**temperature** | **number** | | [optional] [default to undefined] +**maxTokens** | **number** | | [optional] [default to undefined] +**allowedTools** | **Array<string>** | | [optional] [default to undefined] +**assignedSkills** | **Array<string>** | | [optional] [default to undefined] +**allowedCollections** | **Array<string>** | | [optional] [default to undefined] +**allowedSubAgents** | **Array<string>** | | [optional] [default to undefined] +**guardrailPreset** | **string** | | [optional] [default to undefined] +**filterPolicies** | **Array<string>** | | [optional] [default to undefined] +**longContext** | **boolean** | | [optional] [default to undefined] **sessionTtlDays** | **number** | | [optional] [default to undefined] **allowedChannels** | **Array<string>** | | [optional] [default to undefined] +**allowedUsers** | **Array<string>** | | [optional] [default to undefined] +**deniedUsers** | **Array<string>** | | [optional] [default to undefined] +**allowGuests** | **boolean** | | [optional] [default to undefined] +**homeTabContent** | **string** | | [optional] [default to undefined] +**agentAccessControl** | **object** | | [optional] [default to undefined] **keywordsEnabled** | **boolean** | | [optional] [default to undefined] **keywords** | **Array<string>** | | [optional] [default to undefined] -**slashCommands** | **Array<string>** | | [optional] [default to undefined] **createdAt** | **string** | | [optional] [default to undefined] **updatedAt** | **string** | | [optional] [default to undefined] @@ -25,15 +40,30 @@ import { GetSlackBot200ResponseBot } from '@quantcdn/quant-client'; const instance: GetSlackBot200ResponseBot = { botId, - agentId, + name, setupType, status, connected, + systemPrompt, + modelId, + temperature, + maxTokens, + allowedTools, + assignedSkills, + allowedCollections, + allowedSubAgents, + guardrailPreset, + filterPolicies, + longContext, sessionTtlDays, allowedChannels, + allowedUsers, + deniedUsers, + allowGuests, + homeTabContent, + agentAccessControl, keywordsEnabled, keywords, - slashCommands, createdAt, updatedAt, }; diff --git a/docs/ListCustomTools200ResponseToolsInner.md b/docs/ListCustomTools200ResponseToolsInner.md index 0a60f47..0d3c90f 100644 --- a/docs/ListCustomTools200ResponseToolsInner.md +++ b/docs/ListCustomTools200ResponseToolsInner.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **description** | **string** | | [optional] [default to undefined] **edgeFunctionUrl** | **string** | | [optional] [default to undefined] **isAsync** | **boolean** | | [optional] [default to undefined] -**inputSchema** | **object** | | [optional] [default to undefined] +**inputSchema** | **string** | | [optional] [default to undefined] **createdAt** | **string** | | [optional] [default to undefined] ## Example diff --git a/docs/ListSlackBots200ResponseBotsInner.md b/docs/ListSlackBots200ResponseBotsInner.md index de6c4f1..c304611 100644 --- a/docs/ListSlackBots200ResponseBotsInner.md +++ b/docs/ListSlackBots200ResponseBotsInner.md @@ -6,10 +6,21 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **botId** | **string** | | [optional] [default to undefined] -**agentId** | **string** | | [optional] [default to undefined] +**name** | **string** | | [optional] [default to undefined] **setupType** | **string** | | [optional] [default to undefined] **status** | **string** | | [optional] [default to undefined] **connected** | **boolean** | | [optional] [default to undefined] +**systemPrompt** | **string** | | [optional] [default to undefined] +**modelId** | **string** | | [optional] [default to undefined] +**temperature** | **number** | | [optional] [default to undefined] +**maxTokens** | **number** | | [optional] [default to undefined] +**allowedTools** | **Array<string>** | | [optional] [default to undefined] +**assignedSkills** | **Array<string>** | | [optional] [default to undefined] +**allowedCollections** | **Array<string>** | | [optional] [default to undefined] +**allowedSubAgents** | **Array<string>** | | [optional] [default to undefined] +**guardrailPreset** | **string** | | [optional] [default to undefined] +**filterPolicies** | **Array<string>** | | [optional] [default to undefined] +**longContext** | **boolean** | | [optional] [default to undefined] **sessionTtlDays** | **number** | | [optional] [default to undefined] **keywordsEnabled** | **boolean** | | [optional] [default to undefined] **createdAt** | **string** | | [optional] [default to undefined] @@ -21,10 +32,21 @@ import { ListSlackBots200ResponseBotsInner } from '@quantcdn/quant-client'; const instance: ListSlackBots200ResponseBotsInner = { botId, - agentId, + name, setupType, status, connected, + systemPrompt, + modelId, + temperature, + maxTokens, + allowedTools, + assignedSkills, + allowedCollections, + allowedSubAgents, + guardrailPreset, + filterPolicies, + longContext, sessionTtlDays, keywordsEnabled, createdAt, diff --git a/docs/RestoreDatabase202Response.md b/docs/RestoreDatabase202Response.md new file mode 100644 index 0000000..1440cfa --- /dev/null +++ b/docs/RestoreDatabase202Response.md @@ -0,0 +1,24 @@ +# RestoreDatabase202Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**restoreId** | **string** | | [optional] [default to undefined] +**status** | **string** | | [optional] [default to undefined] +**message** | **string** | | [optional] [default to undefined] + +## Example + +```typescript +import { RestoreDatabase202Response } from '@quantcdn/quant-client'; + +const instance: RestoreDatabase202Response = { + restoreId, + status, + message, +}; +``` + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/RestoreDatabaseRequest.md b/docs/RestoreDatabaseRequest.md new file mode 100644 index 0000000..d5a4835 --- /dev/null +++ b/docs/RestoreDatabaseRequest.md @@ -0,0 +1,22 @@ +# RestoreDatabaseRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**backupId** | **string** | The backup ID to restore (must match path param) | [default to undefined] +**acknowledgeDataloss** | **boolean** | Must be true to confirm existing data will be overwritten | [default to undefined] + +## Example + +```typescript +import { RestoreDatabaseRequest } from '@quantcdn/quant-client'; + +const instance: RestoreDatabaseRequest = { + backupId, + acknowledgeDataloss, +}; +``` + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/RestoreFilesystem202Response.md b/docs/RestoreFilesystem202Response.md new file mode 100644 index 0000000..c9e8655 --- /dev/null +++ b/docs/RestoreFilesystem202Response.md @@ -0,0 +1,24 @@ +# RestoreFilesystem202Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**restoreId** | **string** | | [optional] [default to undefined] +**status** | **string** | | [optional] [default to undefined] +**message** | **string** | | [optional] [default to undefined] + +## Example + +```typescript +import { RestoreFilesystem202Response } from '@quantcdn/quant-client'; + +const instance: RestoreFilesystem202Response = { + restoreId, + status, + message, +}; +``` + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/RestoreFilesystemRequest.md b/docs/RestoreFilesystemRequest.md new file mode 100644 index 0000000..e79d8cb --- /dev/null +++ b/docs/RestoreFilesystemRequest.md @@ -0,0 +1,22 @@ +# RestoreFilesystemRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**backupId** | **string** | The backup ID to restore (must match path param) | [default to undefined] +**acknowledgeDataloss** | **boolean** | Must be true. tar extraction overwrites same-named files in the target EFS in place; pre-existing files not in the archive are preserved. | [default to undefined] + +## Example + +```typescript +import { RestoreFilesystemRequest } from '@quantcdn/quant-client'; + +const instance: RestoreFilesystemRequest = { + backupId, + acknowledgeDataloss, +}; +``` + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/RestoreManagementApi.md b/docs/RestoreManagementApi.md new file mode 100644 index 0000000..e269504 --- /dev/null +++ b/docs/RestoreManagementApi.md @@ -0,0 +1,200 @@ +# RestoreManagementApi + +All URIs are relative to *https://dashboard.quantcdn.io* + +|Method | HTTP request | Description| +|------------- | ------------- | -------------| +|[**getRestoreStatus**](#getrestorestatus) | **GET** /api/v3/organizations/{organisation}/applications/{application}/environments/{environment}/restores/{restoreId} | Get the status of a restore operation| +|[**restoreDatabase**](#restoredatabase) | **POST** /api/v3/organizations/{organisation}/applications/{application}/environments/{environment}/backups/{backupId}/restore-database | Restore a database backup to a target environment| +|[**restoreFilesystem**](#restorefilesystem) | **POST** /api/v3/organizations/{organisation}/applications/{application}/environments/{environment}/backups/{backupId}/restore-filesystem | Restore a filesystem backup to a target environment| + +# **getRestoreStatus** +> GetRestoreStatus200Response getRestoreStatus() + +Returns the current status and metadata for a restore operation. Poll this endpoint to track progress. + +### Example + +```typescript +import { + RestoreManagementApi, + Configuration +} from '@quantcdn/quant-client'; + +const configuration = new Configuration(); +const apiInstance = new RestoreManagementApi(configuration); + +let organisation: string; //The organisation ID (default to undefined) +let application: string; //The application ID (default to undefined) +let environment: string; //The environment ID (default to undefined) +let restoreId: string; //The restore operation ID (default to undefined) + +const { status, data } = await apiInstance.getRestoreStatus( + organisation, + application, + environment, + restoreId +); +``` + +### Parameters + +|Name | Type | Description | Notes| +|------------- | ------------- | ------------- | -------------| +| **organisation** | [**string**] | The organisation ID | defaults to undefined| +| **application** | [**string**] | The application ID | defaults to undefined| +| **environment** | [**string**] | The environment ID | defaults to undefined| +| **restoreId** | [**string**] | The restore operation ID | defaults to undefined| + + +### Return type + +**GetRestoreStatus200Response** + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +|**200** | Restore operation record | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **restoreDatabase** +> RestoreDatabase202Response restoreDatabase(restoreDatabaseRequest) + +Initiates an async restore of a database backup into the specified target environment. The backup may originate from a different environment of the same application (cross-env restore). Returns 202 with a restoreId for status polling. + +### Example + +```typescript +import { + RestoreManagementApi, + Configuration, + RestoreDatabaseRequest +} from '@quantcdn/quant-client'; + +const configuration = new Configuration(); +const apiInstance = new RestoreManagementApi(configuration); + +let organisation: string; //The organisation ID (default to undefined) +let application: string; //The application ID (default to undefined) +let environment: string; //The TARGET environment ID to restore INTO (default to undefined) +let backupId: string; //The backup ID to restore from (default to undefined) +let restoreDatabaseRequest: RestoreDatabaseRequest; // + +const { status, data } = await apiInstance.restoreDatabase( + organisation, + application, + environment, + backupId, + restoreDatabaseRequest +); +``` + +### Parameters + +|Name | Type | Description | Notes| +|------------- | ------------- | ------------- | -------------| +| **restoreDatabaseRequest** | **RestoreDatabaseRequest**| | | +| **organisation** | [**string**] | The organisation ID | defaults to undefined| +| **application** | [**string**] | The application ID | defaults to undefined| +| **environment** | [**string**] | The TARGET environment ID to restore INTO | defaults to undefined| +| **backupId** | [**string**] | The backup ID to restore from | defaults to undefined| + + +### Return type + +**RestoreDatabase202Response** + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +|**202** | Restore operation initiated | - | +|**422** | Validation error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **restoreFilesystem** +> RestoreFilesystem202Response restoreFilesystem(restoreFilesystemRequest) + +Initiates an async restore of a filesystem backup into the specified target environment. The backup may originate from a different environment of the same application (cross-env restore). Returns 202 with a restoreId for status polling. + +### Example + +```typescript +import { + RestoreManagementApi, + Configuration, + RestoreFilesystemRequest +} from '@quantcdn/quant-client'; + +const configuration = new Configuration(); +const apiInstance = new RestoreManagementApi(configuration); + +let organisation: string; //The organisation ID (default to undefined) +let application: string; //The application ID (default to undefined) +let environment: string; //The TARGET environment ID to restore INTO (default to undefined) +let backupId: string; //The backup ID to restore from (default to undefined) +let restoreFilesystemRequest: RestoreFilesystemRequest; // + +const { status, data } = await apiInstance.restoreFilesystem( + organisation, + application, + environment, + backupId, + restoreFilesystemRequest +); +``` + +### Parameters + +|Name | Type | Description | Notes| +|------------- | ------------- | ------------- | -------------| +| **restoreFilesystemRequest** | **RestoreFilesystemRequest**| | | +| **organisation** | [**string**] | The organisation ID | defaults to undefined| +| **application** | [**string**] | The application ID | defaults to undefined| +| **environment** | [**string**] | The TARGET environment ID to restore INTO | defaults to undefined| +| **backupId** | [**string**] | The backup ID to restore from | defaults to undefined| + + +### Return type + +**RestoreFilesystem202Response** + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +|**202** | Restore operation initiated | - | +|**422** | Validation error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/ScalingPolicyApi.md b/docs/ScalingPolicyApi.md index d94631d..3e37dd4 100644 --- a/docs/ScalingPolicyApi.md +++ b/docs/ScalingPolicyApi.md @@ -4,13 +4,14 @@ All URIs are relative to *https://dashboard.quantcdn.io* |Method | HTTP request | Description| |------------- | ------------- | -------------| -|[**deleteScalingPolicy**](#deletescalingpolicy) | **DELETE** /api/v3/organizations/{organisation}/applications/{application}/environments/{environment}/scaling-policies/{policyName} | Delete the scaling policy for an environment| -|[**getScalingPolicies**](#getscalingpolicies) | **GET** /api/v3/organizations/{organisation}/applications/{application}/environments/{environment}/scaling-policies | Get the scaling policies for an environment| -|[**updateScalingPolicy**](#updatescalingpolicy) | **PUT** /api/v3/organizations/{organisation}/applications/{application}/environments/{environment}/scaling-policies | Update the scaling policy for an environment| +|[**deleteScalingPolicy**](#deletescalingpolicy) | **DELETE** /api/v3/organizations/{organisation}/applications/{application}/environments/{environment}/scaling-policies | Delete Scaling Policy| +|[**listScalingPolicies**](#listscalingpolicies) | **GET** /api/v3/organizations/{organisation}/applications/{application}/environments/{environment}/scaling-policies | List Scaling Policies| +|[**upsertScalingPolicy**](#upsertscalingpolicy) | **PUT** /api/v3/organizations/{organisation}/applications/{application}/environments/{environment}/scaling-policies | Upsert Scaling Policy| # **deleteScalingPolicy** > deleteScalingPolicy() +Deletes a specific scaling policy for the environment. Specify the metric type or policy name to delete a single policy. If neither is provided, all policies will be deleted. ### Example @@ -23,15 +24,17 @@ import { const configuration = new Configuration(); const apiInstance = new ScalingPolicyApi(configuration); -let organisation: string; //The organisation ID (default to undefined) -let application: string; //The application ID (default to undefined) -let environment: string; //The environment ID (default to undefined) -let policyName: string; //The policy name (default to undefined) +let organisation: string; // (default to undefined) +let application: string; // (default to undefined) +let environment: string; // (default to undefined) +let metric: 'CPUUtilization' | 'MemoryUtilization' | 'RPS'; //Optional. Delete by metric type. (optional) (default to undefined) +let policyName: string; //Optional. Delete by exact policy name. (optional) (default to undefined) const { status, data } = await apiInstance.deleteScalingPolicy( organisation, application, environment, + metric, policyName ); ``` @@ -40,10 +43,11 @@ const { status, data } = await apiInstance.deleteScalingPolicy( |Name | Type | Description | Notes| |------------- | ------------- | ------------- | -------------| -| **organisation** | [**string**] | The organisation ID | defaults to undefined| -| **application** | [**string**] | The application ID | defaults to undefined| -| **environment** | [**string**] | The environment ID | defaults to undefined| -| **policyName** | [**string**] | The policy name | defaults to undefined| +| **organisation** | [**string**] | | defaults to undefined| +| **application** | [**string**] | | defaults to undefined| +| **environment** | [**string**] | | defaults to undefined| +| **metric** | [**'CPUUtilization' | 'MemoryUtilization' | 'RPS'**]**Array<'CPUUtilization' | 'MemoryUtilization' | 'RPS'>** | Optional. Delete by metric type. | (optional) defaults to undefined| +| **policyName** | [**string**] | Optional. Delete by exact policy name. | (optional) defaults to undefined| ### Return type @@ -63,13 +67,14 @@ void (empty response body) ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -|**204** | The scaling policy for the environment | - | +|**204** | Scaling policy deleted successfully. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **getScalingPolicies** -> getScalingPolicies() +# **listScalingPolicies** +> ScalingPolicyListResponse listScalingPolicies() +Retrieves all active target tracking scaling policies for the environment. Returns an array of policies, each with its metric, target value, cooldowns, and resource label (if applicable). ### Example @@ -82,14 +87,18 @@ import { const configuration = new Configuration(); const apiInstance = new ScalingPolicyApi(configuration); -let organisation: string; //The organisation ID (default to undefined) -let application: string; //The application ID (default to undefined) -let environment: string; //The environment ID (default to undefined) +let organisation: string; // (default to undefined) +let application: string; // (default to undefined) +let environment: string; // (default to undefined) +let metric: 'CPUUtilization' | 'MemoryUtilization' | 'RPS'; //Optional. Filter policies by metric type. (optional) (default to undefined) +let policyName: string; //Optional. Filter policies by exact policy name. (optional) (default to undefined) -const { status, data } = await apiInstance.getScalingPolicies( +const { status, data } = await apiInstance.listScalingPolicies( organisation, application, - environment + environment, + metric, + policyName ); ``` @@ -97,14 +106,16 @@ const { status, data } = await apiInstance.getScalingPolicies( |Name | Type | Description | Notes| |------------- | ------------- | ------------- | -------------| -| **organisation** | [**string**] | The organisation ID | defaults to undefined| -| **application** | [**string**] | The application ID | defaults to undefined| -| **environment** | [**string**] | The environment ID | defaults to undefined| +| **organisation** | [**string**] | | defaults to undefined| +| **application** | [**string**] | | defaults to undefined| +| **environment** | [**string**] | | defaults to undefined| +| **metric** | [**'CPUUtilization' | 'MemoryUtilization' | 'RPS'**]**Array<'CPUUtilization' | 'MemoryUtilization' | 'RPS'>** | Optional. Filter policies by metric type. | (optional) defaults to undefined| +| **policyName** | [**string**] | Optional. Filter policies by exact policy name. | (optional) defaults to undefined| ### Return type -void (empty response body) +**ScalingPolicyListResponse** ### Authorization @@ -113,19 +124,20 @@ void (empty response body) ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: Not defined + - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -|**200** | The scaling policy for the environment | - | +|**200** | List of scaling policies for the environment. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **updateScalingPolicy** -> updateScalingPolicy(scalingPolicy) +# **upsertScalingPolicy** +> GetScalingPolicyResponse upsertScalingPolicy(setScalingPolicyRequest) +Creates or updates a target tracking scaling policy for the environment. Specify the metric type and target value. If a policy with the same metric or name exists, it will be updated. Optionally, provide a custom policy name via query. ### Example @@ -133,22 +145,24 @@ void (empty response body) import { ScalingPolicyApi, Configuration, - ScalingPolicy + SetScalingPolicyRequest } from '@quantcdn/quant-client'; const configuration = new Configuration(); const apiInstance = new ScalingPolicyApi(configuration); -let organisation: string; //The organisation ID (default to undefined) -let application: string; //The application ID (default to undefined) -let environment: string; //The environment ID (default to undefined) -let scalingPolicy: ScalingPolicy; // +let organisation: string; // (default to undefined) +let application: string; // (default to undefined) +let environment: string; // (default to undefined) +let setScalingPolicyRequest: SetScalingPolicyRequest; // +let policyName: string; //Optional. Specify a custom policy name to upsert. (optional) (default to undefined) -const { status, data } = await apiInstance.updateScalingPolicy( +const { status, data } = await apiInstance.upsertScalingPolicy( organisation, application, environment, - scalingPolicy + setScalingPolicyRequest, + policyName ); ``` @@ -156,15 +170,16 @@ const { status, data } = await apiInstance.updateScalingPolicy( |Name | Type | Description | Notes| |------------- | ------------- | ------------- | -------------| -| **scalingPolicy** | **ScalingPolicy**| | | -| **organisation** | [**string**] | The organisation ID | defaults to undefined| -| **application** | [**string**] | The application ID | defaults to undefined| -| **environment** | [**string**] | The environment ID | defaults to undefined| +| **setScalingPolicyRequest** | **SetScalingPolicyRequest**| | | +| **organisation** | [**string**] | | defaults to undefined| +| **application** | [**string**] | | defaults to undefined| +| **environment** | [**string**] | | defaults to undefined| +| **policyName** | [**string**] | Optional. Specify a custom policy name to upsert. | (optional) defaults to undefined| ### Return type -void (empty response body) +**GetScalingPolicyResponse** ### Authorization @@ -173,13 +188,13 @@ void (empty response body) ### HTTP request headers - **Content-Type**: application/json - - **Accept**: Not defined + - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -|**200** | The scaling policy for the environment | - | +|**200** | Scaling policy created or updated successfully. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) diff --git a/docs/ScalingPolicyListResponse.md b/docs/ScalingPolicyListResponse.md new file mode 100644 index 0000000..311260f --- /dev/null +++ b/docs/ScalingPolicyListResponse.md @@ -0,0 +1,20 @@ +# ScalingPolicyListResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**policies** | [**Array<GetScalingPolicyResponse>**](GetScalingPolicyResponse.md) | | [optional] [default to undefined] + +## Example + +```typescript +import { ScalingPolicyListResponse } from '@quantcdn/quant-client'; + +const instance: ScalingPolicyListResponse = { + policies, +}; +``` + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/SetScalingPolicyRequest.md b/docs/SetScalingPolicyRequest.md new file mode 100644 index 0000000..6bd2353 --- /dev/null +++ b/docs/SetScalingPolicyRequest.md @@ -0,0 +1,26 @@ +# SetScalingPolicyRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**metric** | **string** | Metric to track for scaling. | [default to undefined] +**targetValue** | **number** | Target value. Percentage for CPU/Memory; req/sec per task for RPS. | [default to undefined] +**scaleInCooldownSeconds** | **number** | Cooldown (seconds) before another scale-in can start. | [optional] [default to 300] +**scaleOutCooldownSeconds** | **number** | Cooldown (seconds) before another scale-out can start. | [optional] [default to 60] + +## Example + +```typescript +import { SetScalingPolicyRequest } from '@quantcdn/quant-client'; + +const instance: SetScalingPolicyRequest = { + metric, + targetValue, + scaleInCooldownSeconds, + scaleOutCooldownSeconds, +}; +``` + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/SubscriptionApi.md b/docs/SubscriptionApi.md new file mode 100644 index 0000000..d5873cf --- /dev/null +++ b/docs/SubscriptionApi.md @@ -0,0 +1,64 @@ +# SubscriptionApi + +All URIs are relative to *https://dashboard.quantcdn.io* + +|Method | HTTP request | Description| +|------------- | ------------- | -------------| +|[**getSubscriptionCloudUsage**](#getsubscriptioncloudusage) | **GET** /api/v3/organizations/{organisation}/subscription/cloud-usage | Cloud-app cost breakdown for the subscription page| + +# **getSubscriptionCloudUsage** +> getSubscriptionCloudUsage() + +Per-project compute/database/storage cost breakdown with spot discount, for the requested month and the month before it. Mirrors the subscription page\'s Cloud Apps card. + +### Example + +```typescript +import { + SubscriptionApi, + Configuration +} from '@quantcdn/quant-client'; + +const configuration = new Configuration(); +const apiInstance = new SubscriptionApi(configuration); + +let organisation: string; // (default to undefined) +let month: string; //YYYY-MM, defaults to current month (optional) (default to undefined) + +const { status, data } = await apiInstance.getSubscriptionCloudUsage( + organisation, + month +); +``` + +### Parameters + +|Name | Type | Description | Notes| +|------------- | ------------- | ------------- | -------------| +| **organisation** | [**string**] | | defaults to undefined| +| **month** | [**string**] | YYYY-MM, defaults to current month | (optional) defaults to undefined| + + +### Return type + +void (empty response body) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +|**200** | Usage envelope | - | +|**403** | Missing update_subscription permission or subscription:read scope | - | +|**500** | Failed to fetch usage data | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/UpdateGovernanceConfigRequest.md b/docs/UpdateGovernanceConfigRequest.md index 7738b14..253b6d0 100644 --- a/docs/UpdateGovernanceConfigRequest.md +++ b/docs/UpdateGovernanceConfigRequest.md @@ -10,7 +10,7 @@ Name | Type | Description | Notes **modelList** | **Array<string>** | | [optional] [default to undefined] **mandatoryGuardrailPreset** | **string** | | [optional] [default to undefined] **mandatoryFilterPolicies** | **Array<string>** | | [optional] [default to undefined] -**spendLimits** | **object** | | [optional] [default to undefined] +**spendLimits** | [**GetGovernanceConfig200ResponseSpendLimits**](GetGovernanceConfig200ResponseSpendLimits.md) | | [optional] [default to undefined] **version** | **number** | | [optional] [default to undefined] ## Example diff --git a/docs/UpdateSlackBotRequest.md b/docs/UpdateSlackBotRequest.md index b721861..29e9893 100644 --- a/docs/UpdateSlackBotRequest.md +++ b/docs/UpdateSlackBotRequest.md @@ -5,13 +5,28 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**agentId** | **string** | Change the backing AI agent | [optional] [default to undefined] +**name** | **string** | Display name for the bot | [optional] [default to undefined] **status** | **string** | Enable or disable the bot | [optional] [default to undefined] +**systemPrompt** | **string** | System prompt for the backing AI agent | [optional] [default to undefined] +**modelId** | **string** | AI model identifier | [optional] [default to undefined] +**temperature** | **number** | Sampling temperature | [optional] [default to undefined] +**maxTokens** | **number** | Maximum response tokens | [optional] [default to undefined] +**allowedTools** | **Array<string>** | Tools the agent may use | [optional] [default to undefined] +**assignedSkills** | **Array<string>** | Skills assigned to the agent | [optional] [default to undefined] +**allowedCollections** | **Array<string>** | Vector DB collections the agent may query | [optional] [default to undefined] +**allowedSubAgents** | **Array<string>** | Sub-agents the agent may call | [optional] [default to undefined] +**guardrailPreset** | **string** | Guardrail preset name | [optional] [default to undefined] +**filterPolicies** | **Array<string>** | Content filter policies | [optional] [default to undefined] +**longContext** | **boolean** | Enable long context mode | [optional] [default to undefined] **sessionTtlDays** | **number** | Session TTL in days | [optional] [default to undefined] **allowedChannels** | **Array<string>** | Slack channel IDs the bot may respond in | [optional] [default to undefined] +**allowedUsers** | **Array<string>** | Slack user IDs allowed to interact with the bot | [optional] [default to undefined] +**deniedUsers** | **Array<string>** | Slack user IDs denied from interacting with the bot | [optional] [default to undefined] +**allowGuests** | **boolean** | Whether guest users may interact with the bot | [optional] [default to undefined] +**homeTabContent** | **string** | Content shown on the bot\'s Home tab in Slack | [optional] [default to undefined] +**agentAccessControl** | **object** | Agent-level access control settings | [optional] [default to undefined] **keywordsEnabled** | **boolean** | Whether keyword triggers are enabled | [optional] [default to undefined] **keywords** | **Array<string>** | Keywords that trigger the bot | [optional] [default to undefined] -**slashCommands** | **Array<string>** | Slash commands the bot responds to | [optional] [default to undefined] ## Example @@ -19,13 +34,28 @@ Name | Type | Description | Notes import { UpdateSlackBotRequest } from '@quantcdn/quant-client'; const instance: UpdateSlackBotRequest = { - agentId, + name, status, + systemPrompt, + modelId, + temperature, + maxTokens, + allowedTools, + assignedSkills, + allowedCollections, + allowedSubAgents, + guardrailPreset, + filterPolicies, + longContext, sessionTtlDays, allowedChannels, + allowedUsers, + deniedUsers, + allowGuests, + homeTabContent, + agentAccessControl, keywordsEnabled, keywords, - slashCommands, }; ``` diff --git a/index.ts b/index.ts index 96b55ff..e7f974d 100644 --- a/index.ts +++ b/index.ts @@ -4,7 +4,7 @@ * QuantCDN API * Unified API for QuantCDN Admin and QuantCloud Platform services * - * The version of the OpenAPI document: 4.15.4 + * The version of the OpenAPI document: 4.19.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/package-lock.json b/package-lock.json index 85f32d7..64dfe9b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@quantcdn/quant-client", - "version": "4.15.4", + "version": "4.19.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@quantcdn/quant-client", - "version": "4.15.4", + "version": "4.19.0", "license": "MIT", "dependencies": { "axios": "^1.6.1" diff --git a/package.json b/package.json index 8e932ce..b396f35 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@quantcdn/quant-client", - "version": "4.15.4", + "version": "4.19.0", "description": "OpenAPI client for @quantcdn/quant-client", "author": "QuantCDN", "repository": {