@wix/auto_sdk_legends_persona-chats 1.0.9 → 1.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/index.typings.d.ts +11 -0
- package/build/cjs/index.typings.js.map +1 -1
- package/build/cjs/meta.d.ts +11 -0
- package/build/cjs/meta.js.map +1 -1
- package/build/es/index.mjs.map +1 -1
- package/build/es/index.typings.d.mts +11 -0
- package/build/es/index.typings.mjs.map +1 -1
- package/build/es/meta.d.mts +11 -0
- package/build/es/meta.mjs.map +1 -1
- package/build/internal/cjs/index.typings.d.ts +11 -0
- package/build/internal/cjs/meta.d.ts +11 -0
- package/build/internal/es/index.typings.d.mts +11 -0
- package/build/internal/es/meta.d.mts +11 -0
- package/package.json +2 -2
package/build/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../index.ts","../../src/legends-persona-v1-chat-persona-chats.universal.ts","../../src/legends-persona-v1-chat-persona-chats.http.ts","../../src/legends-persona-v1-chat-persona-chats.public.ts","../../src/legends-persona-v1-chat-persona-chats.context.ts"],"sourcesContent":["export * from './src/legends-persona-v1-chat-persona-chats.context.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixLegendsPersonaV1Chat from './legends-persona-v1-chat-persona-chats.http.js';\n\n/** An entity for ChatService proxy */\nexport interface PersonaChat {\n /**\n * Chat ID\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Revision number\n * @readonly\n */\n revision?: string | null;\n /**\n * Tenant namespace of the chat.\n * @immutable\n * @deprecated Tenant namespace of the chat.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Persona ID\n * @format GUID\n * @readonly\n */\n personaId?: string;\n /**\n * Latest 100 messages in chat\n * @maxSize 1000\n * @readonly\n */\n messages?: ChatMessage[];\n /**\n * Chat creation timestamp\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Last update timestamp\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Mode for the chat:\n * PREVIEW - chat with Draft version of persona\n * PUBLISHED - chat with Published version of persona\n * LEARN - chat with Learning version of persona (owner can add new knowledge to the persona via chat)\n * CUSTOM - chat with a specific version of persona (e.g. a specific assistant for onboarding new users)\n */\n mode?: ChatModeWithLiterals;\n /**\n * Assistant configuration used for this chat (if any). If not provided in request, defaults to namespace default.\n * @format GUID\n * @readonly\n */\n configurationId?: string | null;\n /**\n * Optional title displayed in chat history.\n * @maxLength 200\n */\n title?: string | null;\n /**\n * Tenant namespace of the chat. Takes precedence over `namespace`.\n * @immutable\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport enum Namespace {\n DOLLY = 'DOLLY',\n WISDOM = 'WISDOM',\n EDUCATION = 'EDUCATION',\n TEST = 'TEST',\n TEST_MSID = 'TEST_MSID',\n ACADEMY = 'ACADEMY',\n LEGENDS_PLATFORM_MOBILE = 'LEGENDS_PLATFORM_MOBILE',\n IT_SUPPORT = 'IT_SUPPORT',\n SMART_CHAT = 'SMART_CHAT',\n CLAWDITE = 'CLAWDITE',\n HEADLESS = 'HEADLESS',\n}\n\n/** @enumType */\nexport type NamespaceWithLiterals =\n | Namespace\n | 'DOLLY'\n | 'WISDOM'\n | 'EDUCATION'\n | 'TEST'\n | 'TEST_MSID'\n | 'ACADEMY'\n | 'LEGENDS_PLATFORM_MOBILE'\n | 'IT_SUPPORT'\n | 'SMART_CHAT'\n | 'CLAWDITE'\n | 'HEADLESS';\n\nexport interface ChatMessage {\n /**\n * Conversation Message ID\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Conversation Chat ID\n * @format GUID\n * @readonly\n */\n chatId?: string;\n /** Role of message's owner (USER, ASSISTANT) */\n role?: RoleWithLiterals;\n /**\n * text of the message\n * @minLength 1\n * @maxLength 100000\n */\n content?: string | null;\n /**\n * Represents the time this Conversation Message was created\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Attached user files\n * @maxSize 5\n */\n attachments?: ChatMessageAttachment[];\n /**\n * Revision number\n * @readonly\n */\n revision?: string | null;\n /**\n * Deprecated: visual context is now carried in monitoring snapshots as turn_visual_context.\n * @readonly\n * @maxLength 10000\n * @deprecated\n * @replacedBy PersistedConversationMonitoringData.turn_visual_context\n * @targetRemovalDate 2027-02-07\n */\n visualContext?: string | null;\n /**\n * TEXT is typed text, AUDIO is a voice transcript, VIDEO is a video-call transcript.\n * @readonly\n */\n conversationType?: ConversationTypeWithLiterals;\n}\n\nexport enum Role {\n UNKNOWN = 'UNKNOWN',\n USER = 'USER',\n ASSISTANT = 'ASSISTANT',\n}\n\n/** @enumType */\nexport type RoleWithLiterals = Role | 'UNKNOWN' | 'USER' | 'ASSISTANT';\n\nexport interface ChatMessageAttachment {\n /**\n * Original name of the file\n * @minLength 1\n * @maxLength 100\n */\n fileName?: string;\n /**\n * Parsed text content of the file\n * @maxLength 100000\n */\n textFileContent?: string | null;\n /**\n * Uploaded to storage file URL\n * @minLength 1\n * @maxLength 1000\n */\n url?: string | null;\n /**\n * Type of the file\n * @minLength 1\n * @maxLength 100\n */\n mimeType?: string;\n}\n\n/** How the message was produced. Missing on messages stored before this field existed. */\nexport enum ConversationType {\n UNKNOWN_CONVERSATION_TYPE = 'UNKNOWN_CONVERSATION_TYPE',\n TEXT = 'TEXT',\n AUDIO = 'AUDIO',\n VIDEO = 'VIDEO',\n}\n\n/** @enumType */\nexport type ConversationTypeWithLiterals =\n | ConversationType\n | 'UNKNOWN_CONVERSATION_TYPE'\n | 'TEXT'\n | 'AUDIO'\n | 'VIDEO';\n\nexport enum ChatMode {\n PREVIEW = 'PREVIEW',\n PUBLISHED = 'PUBLISHED',\n /** Pass the Chat Config on chat creation instead */\n LEARN = 'LEARN',\n}\n\n/** @enumType */\nexport type ChatModeWithLiterals = ChatMode | 'PREVIEW' | 'PUBLISHED' | 'LEARN';\n\n/** Action message for chat message added event */\nexport interface ChatMessageAdded {\n /** Message that was added to the chat. */\n message?: ChatMessage;\n /**\n * ID of the vendor specific conversation id (video or audio)\n * @maxLength 100\n */\n interactiveConversationId?: string | null;\n /**\n * Type of the conversation message\n * @readonly\n */\n messageType?: MessageTypeWithLiterals;\n /**\n * Vendor type\n * @readonly\n */\n vendorType?: VendorTypeWithLiterals;\n /**\n * Owner of the message\n * @format GUID\n * @readonly\n */\n personaOwnerId?: string | null;\n /**\n * Namespace\n * @maxLength 50\n * @readonly\n */\n namespace?: string | null;\n /**\n * Participant (visitor) member id, propagated for server-recorded conversations where the member identity is not in the call scope.\n * @format GUID\n * @readonly\n */\n participantUserId?: string | null;\n /**\n * Mode of the chat: PREVIEW = authoring/preview, PUBLISHED = live visitor conversation with a published Legend.\n * @readonly\n */\n chatMode?: ChatModeWithLiterals;\n /**\n * Persona this chat is with; propagated so consumers don't need a GetPersonaChat lookup.\n * @format GUID\n * @readonly\n */\n personaId?: string | null;\n /**\n * Type of the participant (chat owner) that produced this message; lets consumers route to the correct tenancy without an owner lookup.\n * @readonly\n */\n participantType?: ParticipantTypeWithLiterals;\n}\n\nexport enum MessageType {\n UNKNOWN_MESSAGE_TYPE = 'UNKNOWN_MESSAGE_TYPE',\n TEXT = 'TEXT',\n AUDIO = 'AUDIO',\n VIDEO = 'VIDEO',\n}\n\n/** @enumType */\nexport type MessageTypeWithLiterals =\n | MessageType\n | 'UNKNOWN_MESSAGE_TYPE'\n | 'TEXT'\n | 'AUDIO'\n | 'VIDEO';\n\nexport enum VendorType {\n TAVUS = 'TAVUS',\n ELEVENLABS = 'ELEVENLABS',\n HOURONE = 'HOURONE',\n ANAM = 'ANAM',\n HUME = 'HUME',\n FISH_AUDIO = 'FISH_AUDIO',\n}\n\n/** @enumType */\nexport type VendorTypeWithLiterals =\n | VendorType\n | 'TAVUS'\n | 'ELEVENLABS'\n | 'HOURONE'\n | 'ANAM'\n | 'HUME'\n | 'FISH_AUDIO';\n\n/** Type of the chat owner that produced this message. */\nexport enum ParticipantType {\n UNKNOWN_PARTICIPANT_TYPE = 'UNKNOWN_PARTICIPANT_TYPE',\n USER = 'USER',\n SITE_MEMBER = 'SITE_MEMBER',\n SITE_VISITOR = 'SITE_VISITOR',\n}\n\n/** @enumType */\nexport type ParticipantTypeWithLiterals =\n | ParticipantType\n | 'UNKNOWN_PARTICIPANT_TYPE'\n | 'USER'\n | 'SITE_MEMBER'\n | 'SITE_VISITOR';\n\nexport interface KnowledgeSnippetCreationTriggered {\n /**\n * Time when the knowledge snippet creation was triggered last time\n * @readonly\n */\n previousTriggeredDate?: Date | null;\n /**\n * Time when the knowledge snippet creation is triggered\n * @readonly\n */\n triggeredDate?: Date | null;\n}\n\nexport interface KnowledgeRetrieved {\n /**\n * ID of the user message that triggered knowledge retrieval\n * @format GUID\n */\n userMessageId?: string;\n /**\n * Retrieved knowledge content\n * @maxSize 1000\n */\n retrievedKnowledge?: Knowledge[];\n /**\n * Query used to call SearchKnowledge\n * @maxLength 1000\n * @readonly\n */\n query?: string;\n /**\n * Persona Id\n * @format GUID\n * @readonly\n */\n personaId?: string;\n}\n\n/**\n * A Knowledge is a piece of content associated with a specific persona\n * that contains title and content fields.\n */\nexport interface Knowledge extends KnowledgeSourceOptionsOneOf {\n /**\n * Knowledge Snippet ID, if the knowledge was created from a snippet.\n * @format GUID\n * @readonly\n */\n knowledgeSnippetId?: string;\n /**\n * Knowledge Document ID, if the knowledge was created from a document.\n * @format GUID\n * @readonly\n */\n knowledgeDocumentId?: string;\n /**\n * Knowledge Link ID, if the knowledge was created from a link.\n * @format GUID\n * @readonly\n */\n knowledgeLinkId?: string;\n /**\n * Knowledge ID.\n * @format GUID\n * @readonly\n */\n _id?: string;\n /**\n * Knowledge revision\n * @readonly\n */\n revision?: string;\n /**\n * Title of the knowledge\n * @maxLength 255\n */\n title?: string;\n /**\n * Main content of the knowledge\n * @maxLength 10000\n */\n content?: string;\n /**\n * The Persona that the Knowledge belongs to\n * @format GUID\n * @readonly\n */\n personaId?: string;\n /**\n * Tenant namespace of the Knowledge as a string.\n * @maxLength 50\n * @readonly\n */\n namespaceV2?: string | null;\n /** Chunk index */\n chunkIndex?: number;\n /** Relevance score */\n relevanceScore?: number;\n /** Type of source from which the knowledge was created. */\n sourceType?: SourceTypeWithLiterals;\n /** Whether the knowledge is in draft state */\n draft?: boolean;\n /** Whether the knowledge is deleted */\n deleted?: boolean;\n /**\n * Exact crawled page URL that produced this knowledge chunk, when available.\n * @format WEB_URL\n * @readonly\n */\n sourceUrl?: string | null;\n /**\n * Metadata for this converted chunk. Present when the chunk was produced by\n * metadata-enriched conversion and persisted in search.\n * @readonly\n */\n chunkMetadata?: KnowledgeChunkMetadata;\n}\n\n/** @oneof */\nexport interface KnowledgeSourceOptionsOneOf {\n /**\n * Knowledge Snippet ID, if the knowledge was created from a snippet.\n * @format GUID\n * @readonly\n */\n knowledgeSnippetId?: string;\n /**\n * Knowledge Document ID, if the knowledge was created from a document.\n * @format GUID\n * @readonly\n */\n knowledgeDocumentId?: string;\n /**\n * Knowledge Link ID, if the knowledge was created from a link.\n * @format GUID\n * @readonly\n */\n knowledgeLinkId?: string;\n}\n\nexport enum SourceType {\n KNOWLEDGE_DOCUMENT = 'KNOWLEDGE_DOCUMENT',\n KNOWLEDGE_SNIPPET = 'KNOWLEDGE_SNIPPET',\n KNOWLEDGE_LINK = 'KNOWLEDGE_LINK',\n}\n\n/** @enumType */\nexport type SourceTypeWithLiterals =\n | SourceType\n | 'KNOWLEDGE_DOCUMENT'\n | 'KNOWLEDGE_SNIPPET'\n | 'KNOWLEDGE_LINK';\n\nexport interface KnowledgeChunkMetadata {\n /**\n * Chunk number in the converted output.\n * @readonly\n */\n chunkNumber?: number;\n /**\n * Number of tokens in the chunk.\n * @readonly\n */\n tokensSize?: number;\n /**\n * Exact crawled page URL that produced this chunk, when available.\n * @format WEB_URL\n * @readonly\n */\n sourceUrl?: string | null;\n /**\n * Human-readable section trail inferred by the converter.\n * @maxSize 8\n * @maxLength 256\n * @readonly\n */\n sectionPath?: string[];\n /**\n * Opaque stable group id for chunks belonging to the same concrete section.\n * @maxLength 16\n * @readonly\n */\n semanticGroupId?: string | null;\n /**\n * Zero-based position inside the semantic group.\n * @readonly\n */\n groupIndex?: number | null;\n /**\n * Total number of chunks in the semantic group.\n * @readonly\n */\n groupSize?: number | null;\n /**\n * Previous global chunk number.\n * @readonly\n */\n prevChunkNumber?: number | null;\n /**\n * Next global chunk number.\n * @readonly\n */\n nextChunkNumber?: number | null;\n /**\n * Source page numbers for this chunk, when available.\n * @maxSize 100\n * @readonly\n */\n pageNumbers?: number[];\n /**\n * Docling content labels included in this chunk.\n * @maxSize 20\n * @maxLength 64\n * @readonly\n */\n contentTypes?: string[];\n /**\n * Whether this chunk contains table content.\n * @readonly\n */\n tableContent?: boolean | null;\n /**\n * Whether this chunk contains heading/title content.\n * @readonly\n */\n headingContent?: boolean | null;\n /**\n * Bounded table or figure caption, when available.\n * @maxLength 2048\n * @readonly\n */\n caption?: string | null;\n /**\n * What the page `source_url` points to is (a product, event, service or post) and the fields a chat card shows\n * for it, read by the crawler from the page's structured data. Repeated on each chunk of that page.\n * @readonly\n */\n pageCard?: KnowledgePageCard;\n}\n\n/** Card fields of one crawled page. Everything but `page_type` is optional; values are as the page states them. */\nexport interface KnowledgePageCard {\n /**\n * \"product\", \"event\", \"service\" or \"post\".\n * @maxLength 16\n * @readonly\n */\n pageType?: string;\n /**\n * The item's name or the post's headline.\n * @maxLength 255\n * @readonly\n */\n title?: string | null;\n /**\n * Absolute image URL.\n * @maxLength 2048\n * @readonly\n */\n imageUrl?: string | null;\n /**\n * Raw amount, e.g. \"187.5\"; formatted by the client with `currency`.\n * @maxLength 32\n * @readonly\n */\n price?: string | null;\n /**\n * ISO 4217 currency code.\n * @maxLength 8\n * @readonly\n */\n currency?: string | null;\n /**\n * The price before a sale; only set when above `price`.\n * @maxLength 32\n * @readonly\n */\n originalPrice?: string | null;\n /**\n * \"in_stock\", \"out_of_stock\", \"pre_order\", \"back_order\", \"limited\" or \"discontinued\".\n * @maxLength 32\n * @readonly\n */\n availability?: string | null;\n /**\n * An event's start, ISO 8601 with offset.\n * @maxLength 64\n * @readonly\n */\n startDate?: string | null;\n /**\n * An event's venue name.\n * @maxLength 255\n * @readonly\n */\n venue?: string | null;\n /**\n * A post's author name.\n * @maxLength 255\n * @readonly\n */\n author?: string | null;\n /**\n * A post's publish date, ISO 8601.\n * @maxLength 64\n * @readonly\n */\n publishedDate?: string | null;\n}\n\n/**\n * The ConversationOutcome event: one conversation of a PUBLISHED DOLLY chat ended, and this is what came out of it.\n * Emitted once per conversation (at least once: consumers dedup on outcome.id, the conversation ID). The entity ID\n * is the chat ID; the event is scoped to the account that owns the Legend.\n */\nexport interface ConversationEnded {\n /**\n * The conversation's outcome.\n * @readonly\n */\n outcome?: ConversationOutcome;\n}\n\n/**\n * What came out of one finished Legend conversation: a summary, the customer's intent, the contact they left and\n * the questions the Legend could not answer. One outcome per conversation, stored under the account that owns the\n * Legend. It is announced by the PersonaChat ConversationEnded action event; ListConversationOutcomes is the backfill read.\n *\n * A conversation is one occurrence of a PUBLISHED DOLLY chat: it ends when the chat stays silent past the pause\n * threshold of conversation-activity-service, whatever the channel.\n */\nexport interface ConversationOutcome {\n /**\n * The conversation ID: the ID of the conversation's first message. One outcome per conversation.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Revision number, incremented by 1 on each update.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the outcome was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the outcome was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * The chat the conversation took place in.\n * @format GUID\n * @readonly\n */\n chatId?: string;\n /**\n * The Legend's persona ID.\n * @format GUID\n * @readonly\n */\n personaId?: string;\n /**\n * The channel the conversation ran on.\n * @readonly\n */\n channel?: ChannelWithLiterals;\n /**\n * A short summary of the conversation.\n * @maxLength 2000\n * @readonly\n */\n summary?: string | null;\n /**\n * What the customer wanted, in a few words, e.g. \"book a consultation\".\n * @maxLength 200\n * @readonly\n */\n intent?: string | null;\n /**\n * Contact details the customer left during the conversation, if any.\n * @readonly\n */\n capturedContact?: CapturedContact;\n /**\n * Questions the Legend could not answer.\n * @maxSize 20\n * @maxLength 500\n * @readonly\n */\n unansweredQuestions?: string[];\n /**\n * Usage record ID of the call: the interactive conversation ID. Absent for a text conversation, which is not billed by the minute.\n * @maxLength 100\n * @readonly\n */\n usageId?: string | null;\n /**\n * Date and time of the conversation's first message.\n * @readonly\n */\n startedDate?: Date | null;\n /**\n * Date and time the conversation ended: its last message.\n * @readonly\n */\n endedDate?: Date | null;\n}\n\n/** The channel a conversation ran on. */\nexport enum Channel {\n TEXT = 'TEXT',\n VOICE = 'VOICE',\n VIDEO = 'VIDEO',\n}\n\n/** @enumType */\nexport type ChannelWithLiterals = Channel | 'TEXT' | 'VOICE' | 'VIDEO';\n\n/** Contact details a customer left in a conversation. */\nexport interface CapturedContact {\n /**\n * The customer's name.\n * @maxLength 200\n */\n name?: string | null;\n /**\n * The customer's email.\n * @format EMAIL\n */\n email?: string | null;\n /**\n * The customer's phone.\n * @format PHONE\n */\n phone?: string | null;\n}\n\n/**\n * A DOLLY visitor conversation reached the end of its retention: 12 months after its last message (ADR-019 privacy\n * decision). Sent once per chat, before the chat and its messages are deleted, so that stores holding data derived from\n * the conversation (knowledge gaps) delete theirs. Deleting a chat by hand does not send it; when such a chat's\n * last message turns 12 months old, the retention sends it for what derived from the chat. The entity ID is the chat ID.\n */\nexport interface ConversationExpired {\n /**\n * Legend (persona) the conversation was with.\n * @format GUID\n * @readonly\n */\n personaId?: string;\n /**\n * Account that owns the Legend: the tenant of the chat and of what derives from it.\n * @format GUID\n * @readonly\n */\n accountId?: string;\n /**\n * Namespace of the chat.\n * @maxLength 50\n * @readonly\n */\n namespace?: string;\n /**\n * Time of the conversation's last message.\n * @readonly\n */\n lastMessageDate?: Date | null;\n}\n\nexport interface CreatePersonaChatRequest {\n /** Chat to create */\n chat: PersonaChat;\n /**\n * Welcome message from the assistant\n * @minLength 1\n * @maxLength 10000\n */\n firstMessage?: string | null;\n /** configuration reference and/or inline overrides for this request */\n chatConfig?: ChatConfig;\n /** Metadata for the conversation (page context, custom metadata, etc.) */\n metadata?: Metadata;\n}\n\n/** Lightweight configuration input for requests */\nexport interface ChatConfig {\n /**\n * If provided, use this stored configuration as base; otherwise use default configuration by namespace\n * @format GUID\n */\n configurationId?: string | null;\n /**\n * Optional explicit assistant id (highest priority)\n * @maxLength 200\n */\n explicitAssistantId?: string | null;\n /** Inline overrides to adjust base configuration for this request only */\n inlineOverride?: AssistantConfigurationOverrides;\n /**\n * Names of the configuration's tools (`AssistantConfiguration.tool_names`) to offer the model on this non-streamed text turn, or on the voice or video call this request starts. A configuration tool not named here is not offered.\n * @maxSize 32\n * @maxLength 64\n */\n enabledToolNames?: string[];\n}\n\n/** Inline overrides compatible subset of AssistantConfiguration fields */\nexport interface AssistantConfigurationOverrides {\n /**\n * Default assistant ID for text conversations\n * @maxLength 200\n */\n textAssistantId?: string | null;\n /**\n * Default assistant ID for audio conversations\n * @maxLength 200\n */\n voiceAssistantId?: string | null;\n /**\n * Default assistant ID for video conversations\n * @maxLength 200\n */\n videoAssistantId?: string | null;\n /** Default voice selection policy for voice conversations */\n voicePolicy?: VoicePolicy;\n /** Default avatar selection policy for video conversations */\n avatarPolicy?: AvatarPolicy;\n /**\n * Custom greeting override for interactive conversations\n * @maxLength 2000\n */\n customGreeting?: string | null;\n /** Apply greenscreen for live conversations */\n applyGreenscreen?: boolean | null;\n /** Enable speculative requests for interactive and voice conversations for this request (default: false) */\n speculative?: boolean | null;\n /**\n * Per-request override for the avatar agent's video perception system prompt\n * @maxLength 4096\n */\n videoPerceptionPrompt?: string | null;\n /** Per-request override for the avatar agent's video perception toggle (overrides persisted configuration) */\n videoPerceptionEnabled?: boolean | null;\n /**\n * Per-request override for the backing LLM system prompt\n * @maxLength 100000\n */\n prompt?: string | null;\n /**\n * Per-request override for the avatar agent's video frame sampling interval (seconds)\n * @min 0.1\n * @max 30\n */\n videoFrameSampleIntervalSec?: number | null;\n /** Per-request override to inject client-provided LiveKit participant attributes into the agent's per-turn LLM context */\n clientContextEnabled?: boolean | null;\n}\n\n/** Voice selection policy for voice conversations */\nexport interface VoicePolicy extends VoicePolicyOptionsOneOf {\n /** Options when source is SYSTEM_VOICE */\n systemVoiceOptions?: SystemVoiceOptions;\n /** Voice source type */\n source?: VoiceSourcePolicyWithLiterals;\n}\n\n/** @oneof */\nexport interface VoicePolicyOptionsOneOf {\n /** Options when source is SYSTEM_VOICE */\n systemVoiceOptions?: SystemVoiceOptions;\n}\n\nexport enum VoiceSourcePolicy {\n /** Use persona-attached voice */\n PERSONA_VOICE = 'PERSONA_VOICE',\n /** Use system-provided voice */\n SYSTEM_VOICE = 'SYSTEM_VOICE',\n}\n\n/** @enumType */\nexport type VoiceSourcePolicyWithLiterals =\n | VoiceSourcePolicy\n | 'PERSONA_VOICE'\n | 'SYSTEM_VOICE';\n\nexport interface SystemVoiceOptions {\n /**\n * Required when source == SYSTEM_VOICE\n * @format GUID\n */\n systemVoiceId?: string;\n}\n\n/** Avatar selection policy for video conversations */\nexport interface AvatarPolicy extends AvatarPolicyOptionsOneOf {\n /** Options when source is SYSTEM_AVATAR */\n systemAvatarOptions?: SystemAvatarOptions;\n /** Avatar source type */\n source?: AvatarSourcePolicyWithLiterals;\n}\n\n/** @oneof */\nexport interface AvatarPolicyOptionsOneOf {\n /** Options when source is SYSTEM_AVATAR */\n systemAvatarOptions?: SystemAvatarOptions;\n}\n\nexport enum AvatarSourcePolicy {\n /** Use persona-attached avatar */\n PERSONA_AVATAR = 'PERSONA_AVATAR',\n /** Use system-provided avatar */\n SYSTEM_AVATAR = 'SYSTEM_AVATAR',\n}\n\n/** @enumType */\nexport type AvatarSourcePolicyWithLiterals =\n | AvatarSourcePolicy\n | 'PERSONA_AVATAR'\n | 'SYSTEM_AVATAR';\n\nexport interface SystemAvatarOptions {\n /**\n * Required when source == SYSTEM_AVATAR\n * @format GUID\n */\n systemAvatarId?: string;\n}\n\nexport interface Metadata {\n /**\n * The URL of the page\n * @maxLength 10000\n */\n pageUrl?: string | null;\n /**\n * The HTML of the page\n * @maxLength 10000000\n */\n pageHtml?: string | null;\n /**\n * The Blob of the page\n * @maxLength 10000000\n */\n pageBlob?: string | null;\n /**\n * The User Agent of the client\n * @maxLength 1000\n */\n userAgent?: string | null;\n /**\n * The additional metadata\n * @maxSize 100\n */\n additionalMetadata?: AdditionalMetadata[];\n}\n\nexport interface AdditionalMetadata {\n /**\n * The key of the additional metadata\n * @maxLength 100\n */\n key?: string | null;\n /**\n * The value of the additional metadata\n * @maxLength 100000\n */\n value?: string | null;\n /** Whether to exclude the metadata from the prompt */\n excludeFromPrompt?: boolean | null;\n}\n\nexport interface CreatePersonaChatResponse {\n /** Chat created */\n chat?: PersonaChat;\n}\n\nexport interface GetPersonaChatRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport interface GetPersonaChatResponse {\n /** The requested chat. */\n chat?: PersonaChat;\n}\n\nexport interface GetPersonaChatContextRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId: string;\n}\n\nexport interface GetPersonaChatContextResponse {\n /** The requested chat. */\n chatContext?: ChatContext;\n}\n\nexport interface ChatContext {\n /**\n * Chat ID\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /** Persona details */\n personaDetails?: PersonaDetails;\n mode?: ChatModeWithLiterals;\n}\n\nexport interface PersonaDetails {\n /**\n * Persona ID\n * @format GUID\n * @readonly\n */\n personaId?: string | null;\n /**\n * Persona name\n * @readonly\n * @maxLength 200\n */\n name?: string | null;\n /**\n * Persona description\n * @readonly\n */\n context?: Record<string, any> | null;\n /**\n * Persona intent\n * @readonly\n * @maxLength 200\n */\n intent?: string | null;\n /**\n * Sample questions for the persona\n * @readonly\n * @maxSize 10\n * @maxLength 200\n */\n sampleQuestions?: string[];\n /**\n * Persona name\n * @readonly\n * @maxLength 4000\n */\n bio?: string | null;\n}\n\nexport interface RetrievePersonaKnowledgeRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId: string;\n /**\n * Query to perform similarity search on.\n * @maxLength 50000\n */\n query: string;\n /**\n * Message ID to retrieve knowledge for.\n * @format GUID\n */\n userMessageId: string;\n}\n\nexport interface RetrievePersonaKnowledgeResponse {\n /** Persona knowledge retrieved. */\n knowledgeItems?: Knowledge[];\n}\n\nexport interface RetrievePersonaKnowledgeInternalRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId?: string;\n /**\n * Query to perform similarity search on.\n * @maxLength 50000\n */\n query?: string;\n /**\n * Message ID to retrieve knowledge for.\n * @format GUID\n */\n userMessageId?: string;\n /**\n * Persona owner account for CallScope override.\n * @format GUID\n */\n targetAccountId?: string;\n}\n\nexport interface RetrievePersonaKnowledgeInternalResponse {\n /** Persona knowledge retrieved. */\n knowledgeItems?: Knowledge[];\n}\n\nexport interface SendChatMessageRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * New user message content\n * @maxLength 10000\n */\n message?: string;\n chatConfig?: ChatConfig;\n /**\n * Attached user files\n * @maxSize 5\n */\n attachments?: ChatMessageAttachment[];\n /**\n * Assistant messages to be injected into the conversation history\n * @maxSize 10\n * @maxLength 10000\n */\n assistantMessages?: string[] | null;\n /**\n * Function call results from client\n * @maxSize 30\n */\n functionCallResults?: FunctionCallResult[];\n /** Metadata for the message (page context, custom metadata, etc.) */\n metadata?: Metadata;\n /**\n * Tools defined and executed by the client for this message. Offered to the LLM alongside the\n * assistant's configured tools on assistant-backed chats served through AI Gateway; a call comes\n * back in function_calls and the client answers on the next request via function_call_results.\n * @maxSize 32\n */\n clientTools?: ClientToolDefinition[];\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n /**\n * Optional language or locale for the reply (for example, es-ES or en-US).\n * When omitted, the reply keeps its existing language behavior.\n * @format LANGUAGE_TAG\n * @maxLength 10\n */\n conversationLanguage?: string | null;\n}\n\n/** Function call result message from client */\nexport interface FunctionCallResult {\n /**\n * Unique identifier matching the function call\n * @maxLength 1000\n */\n _id?: string | null;\n /**\n * The name of the function that was called\n * @minLength 1\n * @maxLength 1000\n */\n name?: string | null;\n /**\n * The result content from function execution\n * @maxLength 32768\n */\n content?: string | null;\n /** Whether the function call was successful */\n success?: boolean | null;\n}\n\n/** Tool definition supplied by the client on SendChatMessageRequest.client_tools. */\nexport interface ClientToolDefinition {\n /**\n * Tool name, letters, digits, _ and - only; unique per request\n * @minLength 1\n * @maxLength 64\n */\n name?: string;\n /**\n * What the tool does and when to use it\n * @maxLength 2000\n */\n description?: string | null;\n /** JSON schema (type: object) of the tool arguments */\n parameters?: Record<string, any> | null;\n}\n\nexport interface SendChatMessageResponse {\n /** Assistant response messages */\n messages?: ChatMessage[];\n /**\n * Function calls for client tools\n * @maxSize 30\n */\n functionCalls?: FunctionCall[];\n /** Whether anyone but the owner can send the Legend another chat message */\n canSendChatMessage?: boolean;\n}\n\n/** Function call message for client tools */\nexport interface FunctionCall {\n /**\n * Unique identifier for the function call\n * @maxLength 1000\n */\n _id?: string | null;\n /**\n * The name of the function to be called\n * @minLength 1\n * @maxLength 1000\n */\n name?: string | null;\n /** The arguments to be passed to the function in JSON format */\n arguments?: Record<string, any> | null;\n}\n\n/**\n * Field numbers intentionally mirror SendChatMessageRequest so the two share the same wire layout\n * and mapping code; function_call_results and client_tools are deliberately omitted (streaming does\n * not support tool calling). This is why the numbering is non-sequential.\n */\nexport interface SendChatMessageStreamedRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId?: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * New user message content\n * @maxLength 10000\n */\n message?: string;\n /** Optional per-request chat configuration (e.g. explicit assistant id) */\n chatConfig?: ChatConfig;\n /**\n * Attached user files\n * @maxSize 5\n */\n attachments?: ChatMessageAttachment[];\n /** Metadata for the message (page context, custom metadata, etc.) */\n metadata?: Metadata;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n /**\n * Optional language or locale for the reply (for example, es-ES or en-US).\n * When omitted, the reply keeps its existing language behavior.\n * @format LANGUAGE_TAG\n * @maxLength 10\n */\n conversationLanguage?: string | null;\n}\n\nexport interface RawHttpResponse {\n body?: Uint8Array;\n statusCode?: number | null;\n headers?: HeadersEntry[];\n}\n\nexport interface HeadersEntry {\n key?: string;\n value?: string;\n}\n\nexport interface PersistConversationMessageRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /** Message to persist without LLM processing */\n message: PersistedConversationMessage;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport interface PersistedConversationMessage {\n /**\n * Idempotency key / message ID\n * @format GUID\n */\n messageId?: string;\n /** Role of message owner */\n role?: RoleWithLiterals;\n /**\n * Text content\n * @maxLength 100000\n */\n content?: string | null;\n /**\n * Attached files\n * @maxSize 5\n */\n attachments?: ChatMessageAttachment[];\n /** Original creation time */\n _createdDate?: Date | null;\n /** Persistence status */\n status?: MessageStatusWithLiterals;\n /** Message origin */\n source?: MessageSourceWithLiterals;\n /**\n * Vendor conversation id\n * @maxLength 100\n */\n interactiveConversationId?: string | null;\n /** Position in external conversation */\n sequence?: number | null;\n /**\n * Previous related message\n * @format GUID\n */\n previousMessageId?: string | null;\n /** Optional monitoring metadata for finalized mirrored assistant turns */\n monitoringData?: PersistedConversationMonitoringData;\n}\n\nexport enum MessageStatus {\n UNKNOWN_MESSAGE_STATUS = 'UNKNOWN_MESSAGE_STATUS',\n FINAL = 'FINAL',\n PARTIAL = 'PARTIAL',\n CANCELLED = 'CANCELLED',\n INTERRUPTED = 'INTERRUPTED',\n}\n\n/** @enumType */\nexport type MessageStatusWithLiterals =\n | MessageStatus\n | 'UNKNOWN_MESSAGE_STATUS'\n | 'FINAL'\n | 'PARTIAL'\n | 'CANCELLED'\n | 'INTERRUPTED';\n\nexport enum MessageSource {\n UNKNOWN_MESSAGE_SOURCE = 'UNKNOWN_MESSAGE_SOURCE',\n LIVEKIT_CHAT = 'LIVEKIT_CHAT',\n LIVEKIT_ATTACHMENT = 'LIVEKIT_ATTACHMENT',\n LIVEKIT_VOICE = 'LIVEKIT_VOICE',\n SIMPLE_AVATAR_AGENT = 'SIMPLE_AVATAR_AGENT',\n}\n\n/** @enumType */\nexport type MessageSourceWithLiterals =\n | MessageSource\n | 'UNKNOWN_MESSAGE_SOURCE'\n | 'LIVEKIT_CHAT'\n | 'LIVEKIT_ATTACHMENT'\n | 'LIVEKIT_VOICE'\n | 'SIMPLE_AVATAR_AGENT';\n\nexport interface PersistedConversationMonitoringData {\n /**\n * LLM provider\n * @maxLength 100\n */\n provider?: string | null;\n /**\n * LLM model\n * @maxLength 200\n */\n model?: string | null;\n /**\n * Stable base system prompt for the turn\n * @maxLength 100000\n */\n systemPrompt?: string | null;\n /** LLM processing duration */\n llmDurationMs?: string | null;\n /** End-to-end turn duration */\n totalDurationMs?: string | null;\n /**\n * Per-turn RAG context injected into the LLM turn context\n * @maxSize 100\n * @maxLength 10000\n */\n dynamicKnowledge?: string[];\n /**\n * BCP-47 language detected from user speech\n * @maxLength 50\n */\n detectedLanguage?: string | null;\n /**\n * Visual perception summary injected into the LLM turn context\n * @maxLength 10000\n */\n turnVisualContext?: string | null;\n}\n\nexport interface PersistConversationMessageResponse {\n /** Stored message */\n message?: ChatMessage;\n /** True when the message already existed */\n deduplicated?: boolean;\n}\n\nexport interface ListPersonaChatsRequest {\n /**\n * Persona ID\n * @format GUID\n */\n personaId: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport interface ListPersonaChatsResponse {\n /** The retrieved chats */\n chats?: PersonaChat[];\n}\n\nexport interface CreateInteractiveConversationRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /** Chat configuration reference and/or inline overrides for this request */\n chatConfig?: ChatConfig;\n /** First conversation with the persona; unset → first-time introduction. */\n firstConversation?: boolean | null;\n /**\n * Topic of the last conversation; used for a returning-visitor greeting.\n * @maxLength 200\n */\n lastConversationTopic?: string | null;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n /**\n * Optional language or locale for this voice call (for example, es or en-GB).\n * When omitted, the realtime agent keeps its existing language behavior.\n * @maxLength 10\n */\n conversationLanguage?: string | null;\n}\n\nexport interface CreateInteractiveConversationResponse {\n /**\n * Interactive conversation ID\n * @maxLength 50\n */\n interactiveConversationId?: string | null;\n /**\n * URL to the interactive conversation\n * @format WEB_URL\n */\n conversationUrl?: string | null;\n /** Limitation for the interactive conversation */\n limitation?: Limitation;\n}\n\nexport interface Limitation {\n /** Represents a limitation on the usage. */\n limit?: number | null;\n /** The type of the limitation. */\n type?: TypeWithLiterals;\n}\n\n/** The type of the limitation, e.g., minutes or seconds. */\nexport enum Type {\n MINUTES = 'MINUTES',\n SECONDS = 'SECONDS',\n TOKENS = 'TOKENS',\n}\n\n/** @enumType */\nexport type TypeWithLiterals = Type | 'MINUTES' | 'SECONDS' | 'TOKENS';\n\nexport interface CreateVoiceConversationRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * deprecated: not used, use chat_config configuration or inline_override instead\n * @deprecated deprecated: not used, use chat_config configuration or inline_override instead\n * @replacedBy chat_config.inline_override\n * @targetRemovalDate 2025-12-07\n */\n vendor?: VendorTypeWithLiterals;\n /** Whether to use WebRTC for the voice conversation (default: false) */\n useWebrtc?: boolean;\n /** Chat configuration reference and/or inline overrides for this request */\n chatConfig?: ChatConfig;\n /** First conversation with the persona; unset → first-time introduction. */\n firstConversation?: boolean | null;\n /**\n * Topic of the last conversation; used for a returning-visitor greeting.\n * @maxLength 200\n */\n lastConversationTopic?: string | null;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n /**\n * Optional language or locale for this voice call (for example, es or en-GB).\n * When omitted, the realtime agent keeps its existing language behavior.\n * @maxLength 10\n */\n conversationLanguage?: string | null;\n}\n\nexport interface CreateVoiceConversationResponse {\n /**\n * Voice conversation ID\n * @format GUID\n */\n interactiveConversationId?: string;\n /**\n * URL to the voice conversation\n * @format WEB_URL\n */\n conversationUrl?: string;\n /**\n * WebRTC token for joining the voice conversation (if use_webrtc is true)\n * @maxLength 1000\n */\n webrtcToken?: string | null;\n /** Limitation for the voice conversation */\n limitation?: Limitation;\n /** ElevenLabs Agent ID assigned to the voice conversation if this vendor is used */\n vendorData?: VoiceVendorData;\n /**\n * Custom greeting message for the voice conversation\n * @maxLength 2000\n */\n customGreeting?: string | null;\n}\n\nexport interface VoiceVendorData extends VoiceVendorDataVendorDataOneOf {\n /** ElevenLabs */\n elevenLabsData?: ElevenLabsData;\n /** Hour One */\n hourOneData?: HourOneData;\n /** Hume AI */\n humeData?: HumeData;\n /** Fish Audio */\n fishAudioData?: FishAudioData;\n /** Voice vendor */\n vendor?: VoiceVendorWithLiterals;\n /**\n * Vendor voice id\n * @maxLength 100\n */\n vendorVoiceId?: string | null;\n /**\n * Vendor voice model/version, for provider-specific TTS model selection (for example Hume Octave version)\n * @maxLength 100\n */\n vendorVoiceModel?: string | null;\n}\n\n/** @oneof */\nexport interface VoiceVendorDataVendorDataOneOf {\n /** ElevenLabs */\n elevenLabsData?: ElevenLabsData;\n /** Hour One */\n hourOneData?: HourOneData;\n /** Hume AI */\n humeData?: HumeData;\n /** Fish Audio */\n fishAudioData?: FishAudioData;\n}\n\nexport enum VoiceVendor {\n ELEVEN_LABS = 'ELEVEN_LABS',\n HOUR_ONE = 'HOUR_ONE',\n HUME = 'HUME',\n FISH_AUDIO = 'FISH_AUDIO',\n}\n\n/** @enumType */\nexport type VoiceVendorWithLiterals =\n | VoiceVendor\n | 'ELEVEN_LABS'\n | 'HOUR_ONE'\n | 'HUME'\n | 'FISH_AUDIO';\n\nexport interface ElevenLabsData {\n /**\n * ElevenLabs agent id\n * @maxLength 100\n */\n vendorAgentId?: string | null;\n}\n\nexport interface HourOneData {}\n\nexport interface HumeData {\n /**\n * Hume AI configuration id (agent id)\n * @maxLength 100\n */\n vendorAgentId?: string | null;\n /**\n * Acting instructions description\n * @maxLength 2000\n */\n description?: string | null;\n /**\n * Speech speed multiplier\n * @min 0.5\n * @max 2\n */\n speed?: number | null;\n /**\n * Trailing silence duration in seconds\n * @max 5\n */\n trailingSilence?: number | null;\n}\n\nexport interface FishAudioData {\n /**\n * Fish Audio TTS model identifier\n * @maxLength 100\n */\n modelId?: string | null;\n}\n\nexport interface EndInteractiveConversationRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Interactive conversation ID\n * @maxLength 50\n */\n interactiveConversationId: string;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport interface EndInteractiveConversationResponse {}\n\nexport interface GetInteractiveConversationRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Interactive conversation ID\n * @maxLength 50\n */\n interactiveConversationId: string;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport interface GetInteractiveConversationResponse {\n /** Status of the interactive conversation */\n status?: InteractiveConversationStatusWithLiterals;\n}\n\nexport enum InteractiveConversationStatus {\n /** Created, nobody has joined yet */\n PENDING = 'PENDING',\n /** In progress */\n ACTIVE = 'ACTIVE',\n /** Ended by a participant or by its time limit */\n ENDED = 'ENDED',\n /** Ended by the service because the Legend owner ran out of credits */\n ENDED_INSUFFICIENT_CREDIT = 'ENDED_INSUFFICIENT_CREDIT',\n /** Ended by the service because the caller reached the Legend's daily conversation limit */\n ENDED_LIMIT_REACHED = 'ENDED_LIMIT_REACHED',\n /** Ended by the service because the member's plan ran out of minutes for this call type */\n ENDED_PLAN_MINUTES_EXHAUSTED = 'ENDED_PLAN_MINUTES_EXHAUSTED',\n}\n\n/** @enumType */\nexport type InteractiveConversationStatusWithLiterals =\n | InteractiveConversationStatus\n | 'PENDING'\n | 'ACTIVE'\n | 'ENDED'\n | 'ENDED_INSUFFICIENT_CREDIT'\n | 'ENDED_LIMIT_REACHED'\n | 'ENDED_PLAN_MINUTES_EXHAUSTED';\n\nexport interface GetCallMemberRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId?: string;\n}\n\nexport interface GetCallMemberResponse {\n /**\n * Site member in the call. Empty when the chat has no published call with a site member.\n * @format GUID\n */\n memberId?: string | null;\n /**\n * Persona the member is talking to.\n * @format GUID\n */\n personaId?: string | null;\n /**\n * Tenant namespace of the chat.\n * @maxLength 50\n */\n namespace?: string | null;\n /**\n * Site the call was started on.\n * @format GUID\n */\n metaSiteId?: string | null;\n /**\n * Account that owns the persona.\n * @format GUID\n */\n accountId?: string | null;\n}\n\nexport interface RawHttpRequest {\n body?: Uint8Array;\n pathParams?: PathParametersEntry[];\n queryParams?: QueryParametersEntry[];\n headers?: HeadersEntry[];\n method?: string;\n rawPath?: string;\n rawQuery?: string;\n}\n\nexport interface PathParametersEntry {\n key?: string;\n value?: string;\n}\n\nexport interface QueryParametersEntry {\n key?: string;\n value?: string;\n}\n\nexport interface TriggerKnowledgeSnippetCreationRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId?: string;\n}\n\nexport interface TriggerKnowledgeSnippetCreationResponse {}\n\nexport interface QueryChatMessagesRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId: string;\n /** WQL expression controlling filtering / sorting / paging. */\n query?: CursorQuery;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport interface CursorQuery extends CursorQueryPagingMethodOneOf {\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n */\n cursorPaging?: CursorPaging;\n /**\n * Filter object.\n *\n * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n */\n filter?: Record<string, any> | null;\n /**\n * Sort object.\n *\n * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n * @maxSize 5\n */\n sort?: Sorting[];\n}\n\n/** @oneof */\nexport interface CursorQueryPagingMethodOneOf {\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n */\n cursorPaging?: CursorPaging;\n}\n\nexport interface Sorting {\n /**\n * Name of the field to sort by.\n * @maxLength 512\n */\n fieldName?: string;\n /** Sort order. */\n order?: SortOrderWithLiterals;\n /**\n * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n *\n * If multiple filters are provided, they are combined with AND operator.\n *\n * Example:\n * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n * @internal\n * @maxSize 10\n */\n selectItemsBy?: Record<string, any>[] | null;\n}\n\nexport enum SortOrder {\n ASC = 'ASC',\n DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface CursorPaging {\n /**\n * Maximum number of items to return in the results.\n * @max 100\n */\n limit?: number | null;\n /**\n * Pointer to the next or previous page in the list of results.\n *\n * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n * Not relevant for the first request.\n * @maxLength 16000\n */\n cursor?: string | null;\n}\n\nexport interface QueryChatMessagesResponse {\n /** ChatMessage s that satisfy the query. */\n chatMessages?: ChatMessage[];\n /** Cursor paging metadata. */\n pagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface CursorPagingMetadata {\n /** Number of items returned in current page. */\n count?: number | null;\n /** Cursor strings that point to the next page, previous page, or both. */\n cursors?: Cursors;\n /**\n * Whether there are more pages to retrieve following the current page.\n *\n * + `true`: Another page of results can be retrieved.\n * + `false`: This is the last page.\n */\n hasNext?: boolean | null;\n /**\n * Total number of items matching the filter.\n * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n * @internal\n */\n total?: number | null;\n}\n\nexport interface Cursors {\n /**\n * Cursor string pointing to the next page in the list of results.\n * @maxLength 16000\n */\n next?: string | null;\n /**\n * Cursor pointing to the previous page in the list of results.\n * @maxLength 16000\n */\n prev?: string | null;\n}\n\nexport interface GetPermissionsRequest {\n /**\n * Persona ID\n * @format GUID\n */\n personaId: string | null;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Chat ID to determine the chat mode\n * @format GUID\n */\n chatId?: string | null;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport interface GetPermissionsResponse {\n /** Permissions check whether user has permission to start video call */\n canStartVideoCall?: boolean;\n /** Permissions check whether user has permission to start audio call */\n canStartVoiceCall?: boolean;\n /** Whether anyone but the owner can send the Legend another chat message */\n canSendChatMessage?: boolean;\n}\n\nexport interface QueryPersonaChatsRequest {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Required persona ID filter\n * @format GUID\n */\n personaId: string;\n /** WQL expression for filtering/sorting/paging */\n query: CursorQuery;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport interface QueryPersonaChatsResponse {\n /** Chats matching the query */\n chats?: PersonaChat[];\n /** Pagination metadata */\n pagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface UpsertKnowledgeSnippetRequest {\n /**\n * Chat ID to determine the chat mode and persona\n * @format GUID\n */\n chatId: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Generated knowledge snippets to upsert\n * @minSize 1\n * @maxSize 30\n */\n generatedSnippet: GeneratedSnippet[];\n /**\n * Deterministic per-turn key; when set, the upsert runs at-most-once to dedup retried/duplicate calls\n * @format GUID\n */\n idempotencyKey?: string | null;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport enum Category {\n /** General information about the persona */\n GENERAL = 'GENERAL',\n /** Identity-related information */\n IDENTITY = 'IDENTITY',\n /** Work and expertise information */\n WORK_AND_EXPERTISE = 'WORK_AND_EXPERTISE',\n /** Philosophy and worldview information */\n PHILOSOPHY_AND_WORLDVIEW = 'PHILOSOPHY_AND_WORLDVIEW',\n /** Relationship-related information */\n RELATIONSHIPS = 'RELATIONSHIPS',\n /** Personality traits and characteristics */\n PERSONALITY = 'PERSONALITY',\n /** Personal interests and hobbies */\n PERSONAL_INTERESTS = 'PERSONAL_INTERESTS',\n /** Vision and long-term goals */\n VISION_AND_GOALS = 'VISION_AND_GOALS',\n /** Significant life milestones */\n LIFE_MILESTONES = 'LIFE_MILESTONES',\n}\n\n/** @enumType */\nexport type CategoryWithLiterals =\n | Category\n | 'GENERAL'\n | 'IDENTITY'\n | 'WORK_AND_EXPERTISE'\n | 'PHILOSOPHY_AND_WORLDVIEW'\n | 'RELATIONSHIPS'\n | 'PERSONALITY'\n | 'PERSONAL_INTERESTS'\n | 'VISION_AND_GOALS'\n | 'LIFE_MILESTONES';\n\nexport enum Subcategory {\n /** General - Personal information */\n GENERAL_PERSONAL = 'GENERAL_PERSONAL',\n /** General - Lifestyle information */\n GENERAL_LIFESTYLE = 'GENERAL_LIFESTYLE',\n /** General - Context information */\n GENERAL_CONTEXT = 'GENERAL_CONTEXT',\n /** Identity - Professional information */\n IDENTITY_PROFESSIONAL = 'IDENTITY_PROFESSIONAL',\n /** Identity - Background information */\n IDENTITY_BACKGROUND = 'IDENTITY_BACKGROUND',\n /** Identity - Influences information */\n IDENTITY_INFLUENCES = 'IDENTITY_INFLUENCES',\n /** Identity - Aspirations information */\n IDENTITY_ASPIRATIONS = 'IDENTITY_ASPIRATIONS',\n /** Work and Expertise - Core expertise */\n EXPERTISE_CORE = 'EXPERTISE_CORE',\n /** Work and Expertise - Methods and frameworks */\n EXPERTISE_METHODS = 'EXPERTISE_METHODS',\n /** Work and Expertise - Industry knowledge */\n EXPERTISE_INDUSTRY = 'EXPERTISE_INDUSTRY',\n /** Work and Expertise - Current work */\n WORK_CURRENT = 'WORK_CURRENT',\n /** Philosophy and Worldview - Core values */\n PHILOSOPHY_CORE = 'PHILOSOPHY_CORE',\n /** Philosophy and Worldview - Success and learning */\n PHILOSOPHY_SUCCESS = 'PHILOSOPHY_SUCCESS',\n /** Philosophy and Worldview - Work philosophy */\n PHILOSOPHY_WORK = 'PHILOSOPHY_WORK',\n /** Relationships - Communication style */\n RELATIONSHIPS_COMMUNICATION = 'RELATIONSHIPS_COMMUNICATION',\n /** Relationships - Leadership approach */\n RELATIONSHIPS_LEADERSHIP = 'RELATIONSHIPS_LEADERSHIP',\n /** Relationships - External interactions */\n RELATIONSHIPS_EXTERNAL = 'RELATIONSHIPS_EXTERNAL',\n /** Relationships - Teaching style */\n RELATIONSHIPS_TEACHING = 'RELATIONSHIPS_TEACHING',\n /** Personality - Core traits */\n PERSONALITY_TRAITS = 'PERSONALITY_TRAITS',\n /** Personality - Behavioral patterns */\n PERSONALITY_BEHAVIOR = 'PERSONALITY_BEHAVIOR',\n /** Personality - Stress and conflict responses */\n PERSONALITY_STRESS = 'PERSONALITY_STRESS',\n /** Personality - Work-related personality */\n PERSONALITY_WORK = 'PERSONALITY_WORK',\n /** Personality - Adaptation and change */\n PERSONALITY_ADAPTATION = 'PERSONALITY_ADAPTATION',\n}\n\n/** @enumType */\nexport type SubcategoryWithLiterals =\n | Subcategory\n | 'GENERAL_PERSONAL'\n | 'GENERAL_LIFESTYLE'\n | 'GENERAL_CONTEXT'\n | 'IDENTITY_PROFESSIONAL'\n | 'IDENTITY_BACKGROUND'\n | 'IDENTITY_INFLUENCES'\n | 'IDENTITY_ASPIRATIONS'\n | 'EXPERTISE_CORE'\n | 'EXPERTISE_METHODS'\n | 'EXPERTISE_INDUSTRY'\n | 'WORK_CURRENT'\n | 'PHILOSOPHY_CORE'\n | 'PHILOSOPHY_SUCCESS'\n | 'PHILOSOPHY_WORK'\n | 'RELATIONSHIPS_COMMUNICATION'\n | 'RELATIONSHIPS_LEADERSHIP'\n | 'RELATIONSHIPS_EXTERNAL'\n | 'RELATIONSHIPS_TEACHING'\n | 'PERSONALITY_TRAITS'\n | 'PERSONALITY_BEHAVIOR'\n | 'PERSONALITY_STRESS'\n | 'PERSONALITY_WORK'\n | 'PERSONALITY_ADAPTATION';\n\n/** Represent a knowledge snippet to be created or updated */\nexport interface GeneratedSnippet {\n /**\n * Title of the knowledge snippet\n * @maxLength 255\n */\n title?: string;\n /**\n * Content of the knowledge snippet\n * @maxLength 5000\n */\n content?: string;\n /** Category of the knowledge snippet */\n category?: CategoryWithLiterals;\n /** Subcategory of the knowledge snippet */\n subcategory?: SubcategoryWithLiterals;\n}\n\n/** Response message for upserting knowledge snippets */\nexport interface UpsertKnowledgeSnippetResponse {\n /** Created knowledge snippets */\n createdSnippets?: KnowledgeSnippet[];\n /** Updated knowledge snippets */\n updatedSnippets?: KnowledgeSnippet[];\n}\n\n/**\n * A KnowledgeSnippet is a piece of content associated with a specific persona\n * that contains title and content fields.\n */\nexport interface KnowledgeSnippet {\n /**\n * KnowledgeSnippet ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the KnowledgeSnippet is updated.\n * To prevent conflicting changes,\n * the current revision must be passed when updating the KnowledgeSnippet.\n *\n * Ignored when creating a KnowledgeSnippet.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the KnowledgeSnippet was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the KnowledgeSnippet was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Title of the knowledge snippet\n * @maxLength 255\n */\n title?: string;\n /**\n * Main content of the knowledge snippet\n * @maxLength 1000000\n */\n content?: string;\n /**\n * The Persona that the KnowledgeSnippet belongs to\n * @format GUID\n * @readonly\n */\n personaId?: string;\n /**\n * Tenant namespace of the KnowledgeSnippet\n * @deprecated Tenant namespace of the KnowledgeSnippet\n * @replacedBy namespace_key\n * @targetRemovalDate 2026-01-15\n */\n namespace?: NamespaceWithLiterals;\n /** Tags */\n tags?: Tags;\n /** Last update type of the KnowledgeSnippet */\n lastUpdateType?: UpdateTypeWithLiterals;\n /** Category of the KnowledgeSnippet */\n category?: CategoryWithLiterals;\n /** Subcategory of the KnowledgeSnippet */\n subcategory?: SubcategoryWithLiterals;\n /**\n * State of the KnowledgeSnippet\n * @readonly\n */\n state?: StateWithLiterals;\n /**\n * Tenant namespace of the KnowledgeSnippet\n * @immutable\n * @maxLength 50\n */\n namespaceKey?: string | null;\n}\n\n/**\n * Common object for tags.\n * Should be use as in this example:\n * message Foo {\n * option (.wix.api.decomposite_of) = \"wix.common.tags.Foo\";\n * string id = 1;\n * ...\n * Tags tags = 5\n * }\n *\n * example of taggable entity\n * {\n * id: \"123\"\n * tags: {\n * tags: {\n * tag_ids:[\"11\",\"22\"]\n * },\n * private_tags: {\n * tag_ids: [\"33\", \"44\"]\n * }\n * }\n * }\n */\nexport interface Tags {\n /** Tags that require an additional permission in order to access them, normally not given to site members or visitors. */\n privateTags?: TagList;\n /** Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. */\n tags?: TagList;\n}\n\nexport interface TagList {\n /**\n * List of tag IDs\n * @maxSize 100\n * @maxLength 5\n */\n tagIds?: string[];\n}\n\n/** UpdateType enum represents the type of the last update made to the KnowledgeSnippet. */\nexport enum UpdateType {\n /** Unknown update type, used as a default value. */\n UNKNOWN_UPDATE_TYPE = 'UNKNOWN_UPDATE_TYPE',\n /** Manual update by owner. */\n MANUAL = 'MANUAL',\n /** AI-generated update, indicating that the content was modified by an AI system. */\n AI = 'AI',\n}\n\n/** @enumType */\nexport type UpdateTypeWithLiterals =\n | UpdateType\n | 'UNKNOWN_UPDATE_TYPE'\n | 'MANUAL'\n | 'AI';\n\nexport enum State {\n /** Newly created snippet */\n NEW = 'NEW',\n /** Published and visible snippet */\n PUBLISHED = 'PUBLISHED',\n /** Modified snippet */\n MODIFIED = 'MODIFIED',\n /** Deleted snippet */\n DELETED = 'DELETED',\n}\n\n/** @enumType */\nexport type StateWithLiterals =\n | State\n | 'NEW'\n | 'PUBLISHED'\n | 'MODIFIED'\n | 'DELETED';\n\nexport interface SwitchConfigRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId: string | null;\n /**\n * Interactive Conversation ID\n * @maxLength 50\n */\n interactiveConversationId?: string | null;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /** Chat configuration reference and/or inline overrides for this request */\n chatConfig?: ChatConfig;\n /** When true, clears the chat context in the active LiveKit session when switching config */\n clearChat?: boolean | null;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport interface SwitchConfigResponse {}\n\nexport interface DeletePersonaChatRequest {\n /**\n * Id of the Chat to delete.\n * @format GUID\n */\n chatId: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport interface DeletePersonaChatResponse {}\n\nexport interface BulkDeletePersonaChatsByPersonaRequest {\n /**\n * Persona ID whose chats to delete.\n * @format GUID\n */\n personaId: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport interface BulkDeletePersonaChatsByPersonaResponse {\n /** Number of chats deleted. */\n deletedCount?: number;\n}\n\nexport interface GenerateConversationOutcomeRequest {\n /**\n * The chat the conversation took place in.\n * @format GUID\n */\n chatId: string;\n /**\n * The conversation's first message. Its ID becomes the conversation ID.\n * @format GUID\n */\n firstMessageId: string;\n /**\n * The conversation's last message.\n * @format GUID\n */\n lastMessageId: string;\n /**\n * User that owns the Legend, as carried on ChatMessageAdded.\n * @format GUID\n */\n personaOwnerId: string;\n /** The channel the conversation ran on, when known. */\n channel?: ChannelWithLiterals;\n /**\n * Interactive conversation ID of the call, if the conversation was a call.\n * @maxLength 100\n */\n interactiveConversationId?: string | null;\n}\n\nexport interface GenerateConversationOutcomeResponse {\n /** The stored outcome. */\n conversationOutcome?: ConversationOutcome;\n /** True when the conversation already had a stored outcome. */\n deduplicated?: boolean;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface Empty {}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\n/** @docsIgnore */\nexport type GetPersonaChatContextApplicationErrors = {\n code?: 'INVALID_CHAT_METADATA';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type RetrievePersonaKnowledgeApplicationErrors = {\n code?: 'INVALID_CHAT_METADATA';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type UpsertKnowledgeSnippetApplicationErrors = {\n code?: 'INVALID_CHAT_METADATA';\n description?: string;\n data?: Record<string, any>;\n};\n\n/**\n * Create a new chat\n * @param chat - Chat to create\n * @public\n * @documentationMaturity preview\n * @requiredField chat\n * @requiredField chat.personaId\n * @permissionId LEGENDS.CHAT_CREATE\n * @returns Chat created\n * @fqn wix.legends.chat.v1.PersonaChatService.CreatePersonaChat\n */\nexport async function createPersonaChat(\n chat: NonNullablePaths<PersonaChat, `personaId`, 0>,\n options?: CreatePersonaChatOptions\n): Promise<\n NonNullablePaths<\n PersonaChat,\n | `namespace`\n | `personaId`\n | `messages`\n | `messages.${number}.chatId`\n | `messages.${number}.role`\n | `messages.${number}.conversationType`\n | `mode`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chat: chat,\n firstMessage: options?.firstMessage,\n chatConfig: options?.chatConfig,\n metadata: options?.metadata,\n });\n\n const reqOpts = ambassadorWixLegendsPersonaV1Chat.createPersonaChat(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.chat!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chat: '$[0]',\n firstMessage: '$[1].firstMessage',\n chatConfig: '$[1].chatConfig',\n metadata: '$[1].metadata',\n },\n singleArgumentUnchanged: false,\n },\n ['chat', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CreatePersonaChatOptions {\n /**\n * Welcome message from the assistant\n * @minLength 1\n * @maxLength 10000\n */\n firstMessage?: string | null;\n /** configuration reference and/or inline overrides for this request */\n chatConfig?: ChatConfig;\n /** Metadata for the conversation (page context, custom metadata, etc.) */\n metadata?: Metadata;\n}\n\n/**\n * Retrieves a chat.\n * @param chatId - Chat ID\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @permissionId LEGENDS.CHAT_READ\n * @returns The requested chat.\n * @fqn wix.legends.chat.v1.PersonaChatService.GetPersonaChat\n */\nexport async function getPersonaChat(\n chatId: string,\n options?: GetPersonaChatOptions\n): Promise<\n NonNullablePaths<\n PersonaChat,\n | `namespace`\n | `personaId`\n | `messages`\n | `messages.${number}.chatId`\n | `messages.${number}.role`\n | `messages.${number}.conversationType`\n | `mode`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: chatId,\n namespace: options?.namespace,\n namespaceV2: options?.namespaceV2,\n });\n\n const reqOpts = ambassadorWixLegendsPersonaV1Chat.getPersonaChat(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.chat!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0]',\n namespace: '$[1].namespace',\n namespaceV2: '$[1].namespaceV2',\n },\n singleArgumentUnchanged: false,\n },\n ['chatId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GetPersonaChatOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\n/**\n * Returns a context for a chat.\n * @param chatId - Chat ID\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @permissionId LEGENDS.CHAT_READ\n * @fqn wix.legends.chat.v1.PersonaChatService.GetPersonaChatContext\n */\nexport async function getPersonaChatContext(chatId: string): Promise<\n NonNullablePaths<\n GetPersonaChatContextResponse,\n `chatContext.personaDetails.sampleQuestions` | `chatContext.mode`,\n 2\n > & {\n __applicationErrorsType?: GetPersonaChatContextApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ chatId: chatId });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.getPersonaChatContext(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { chatId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['chatId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves persona knowledge based on text query.\n * @param chatId - Chat ID\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @requiredField options\n * @requiredField options.query\n * @requiredField options.userMessageId\n * @permissionId LEGENDS.CHAT_READ\n * @fqn wix.legends.chat.v1.PersonaChatService.RetrievePersonaKnowledge\n */\nexport async function retrievePersonaKnowledge(\n chatId: string,\n options: NonNullablePaths<\n RetrievePersonaKnowledgeOptions,\n `query` | `userMessageId`,\n 0\n >\n): Promise<\n NonNullablePaths<\n RetrievePersonaKnowledgeResponse,\n | `knowledgeItems`\n | `knowledgeItems.${number}.knowledgeSnippetId`\n | `knowledgeItems.${number}.knowledgeDocumentId`\n | `knowledgeItems.${number}.knowledgeLinkId`\n | `knowledgeItems.${number}._id`\n | `knowledgeItems.${number}.revision`\n | `knowledgeItems.${number}.title`\n | `knowledgeItems.${number}.content`\n | `knowledgeItems.${number}.personaId`\n | `knowledgeItems.${number}.chunkIndex`\n | `knowledgeItems.${number}.relevanceScore`\n | `knowledgeItems.${number}.sourceType`\n | `knowledgeItems.${number}.draft`\n | `knowledgeItems.${number}.deleted`\n | `knowledgeItems.${number}.chunkMetadata.chunkNumber`\n | `knowledgeItems.${number}.chunkMetadata.tokensSize`\n | `knowledgeItems.${number}.chunkMetadata.pageCard.pageType`,\n 4\n > & {\n __applicationErrorsType?: RetrievePersonaKnowledgeApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: chatId,\n query: options?.query,\n userMessageId: options?.userMessageId,\n });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.retrievePersonaKnowledge(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0]',\n query: '$[1].query',\n userMessageId: '$[1].userMessageId',\n },\n singleArgumentUnchanged: false,\n },\n ['chatId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface RetrievePersonaKnowledgeOptions {\n /**\n * Query to perform similarity search on.\n * @maxLength 50000\n */\n query: string;\n /**\n * Message ID to retrieve knowledge for.\n * @format GUID\n */\n userMessageId: string;\n}\n\n/**\n * Handle new user message or report function call results\n * @param chatId - Chat ID\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @permissionId LEGENDS.CHAT_SEND_MESSAGE\n * @fqn wix.legends.chat.v1.PersonaChatService.SendChatMessage\n */\nexport async function sendChatMessage(\n chatId: string,\n options?: SendChatMessageOptions\n): Promise<\n NonNullablePaths<\n SendChatMessageResponse,\n | `messages`\n | `messages.${number}.chatId`\n | `messages.${number}.role`\n | `messages.${number}.conversationType`\n | `functionCalls`\n | `canSendChatMessage`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: chatId,\n namespace: options?.namespace,\n message: options?.message,\n chatConfig: options?.chatConfig,\n attachments: options?.attachments,\n assistantMessages: options?.assistantMessages,\n functionCallResults: options?.functionCallResults,\n metadata: options?.metadata,\n clientTools: options?.clientTools,\n namespaceV2: options?.namespaceV2,\n conversationLanguage: options?.conversationLanguage,\n });\n\n const reqOpts = ambassadorWixLegendsPersonaV1Chat.sendChatMessage(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0]',\n namespace: '$[1].namespace',\n message: '$[1].message',\n chatConfig: '$[1].chatConfig',\n attachments: '$[1].attachments',\n assistantMessages: '$[1].assistantMessages',\n functionCallResults: '$[1].functionCallResults',\n metadata: '$[1].metadata',\n clientTools: '$[1].clientTools',\n namespaceV2: '$[1].namespaceV2',\n conversationLanguage: '$[1].conversationLanguage',\n },\n singleArgumentUnchanged: false,\n },\n ['chatId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface SendChatMessageOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * New user message content\n * @maxLength 10000\n */\n message?: string;\n chatConfig?: ChatConfig;\n /**\n * Attached user files\n * @maxSize 5\n */\n attachments?: ChatMessageAttachment[];\n /**\n * Assistant messages to be injected into the conversation history\n * @maxSize 10\n * @maxLength 10000\n */\n assistantMessages?: string[] | null;\n /**\n * Function call results from client\n * @maxSize 30\n */\n functionCallResults?: FunctionCallResult[];\n /** Metadata for the message (page context, custom metadata, etc.) */\n metadata?: Metadata;\n /**\n * Tools defined and executed by the client for this message. Offered to the LLM alongside the\n * assistant's configured tools on assistant-backed chats served through AI Gateway; a call comes\n * back in function_calls and the client answers on the next request via function_call_results.\n * @maxSize 32\n */\n clientTools?: ClientToolDefinition[];\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n /**\n * Optional language or locale for the reply (for example, es-ES or en-US).\n * When omitted, the reply keeps its existing language behavior.\n * @format LANGUAGE_TAG\n * @maxLength 10\n */\n conversationLanguage?: string | null;\n}\n\n/**\n * Handle new user message with streaming response\n * @public\n * @documentationMaturity preview\n * @permissionId LEGENDS.CHAT_SEND_MESSAGE\n * @fqn wix.legends.chat.v1.PersonaChatService.SendChatMessageStreamed\n */\nexport async function sendChatMessageStreamed(\n options?: SendChatMessageStreamedOptions\n): Promise<\n NonNullablePaths<\n RawHttpResponse,\n `body` | `headers` | `headers.${number}.key` | `headers.${number}.value`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: options?.chatId,\n namespace: options?.namespace,\n message: options?.message,\n chatConfig: options?.chatConfig,\n attachments: options?.attachments,\n metadata: options?.metadata,\n namespaceV2: options?.namespaceV2,\n conversationLanguage: options?.conversationLanguage,\n });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.sendChatMessageStreamed(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0].chatId',\n namespace: '$[0].namespace',\n message: '$[0].message',\n chatConfig: '$[0].chatConfig',\n attachments: '$[0].attachments',\n metadata: '$[0].metadata',\n namespaceV2: '$[0].namespaceV2',\n conversationLanguage: '$[0].conversationLanguage',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface SendChatMessageStreamedOptions {\n /**\n * Chat ID\n * @format GUID\n */\n chatId?: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * New user message content\n * @maxLength 10000\n */\n message?: string;\n /** Optional per-request chat configuration (e.g. explicit assistant id) */\n chatConfig?: ChatConfig;\n /**\n * Attached user files\n * @maxSize 5\n */\n attachments?: ChatMessageAttachment[];\n /** Metadata for the message (page context, custom metadata, etc.) */\n metadata?: Metadata;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n /**\n * Optional language or locale for the reply (for example, es-ES or en-US).\n * When omitted, the reply keeps its existing language behavior.\n * @format LANGUAGE_TAG\n * @maxLength 10\n */\n conversationLanguage?: string | null;\n}\n\n/**\n * Persist a conversation message without running LLM orchestration.\n * @param chatId - Chat ID\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @requiredField options.message\n * @permissionId legends:persona:v1:chat:persist_conversation_message\n * @fqn wix.legends.chat.v1.PersonaChatService.PersistConversationMessage\n */\nexport async function persistConversationMessage(\n chatId: string,\n options?: NonNullablePaths<PersistConversationMessageOptions, `message`, 0>\n): Promise<\n NonNullablePaths<\n PersistConversationMessageResponse,\n | `message.chatId`\n | `message.role`\n | `message.attachments`\n | `message.attachments.${number}.fileName`\n | `message.attachments.${number}.mimeType`\n | `message.conversationType`\n | `deduplicated`,\n 3\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: chatId,\n namespace: options?.namespace,\n message: options?.message,\n namespaceV2: options?.namespaceV2,\n });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.persistConversationMessage(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0]',\n namespace: '$[1].namespace',\n message: '$[1].message',\n namespaceV2: '$[1].namespaceV2',\n },\n singleArgumentUnchanged: false,\n },\n ['chatId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface PersistConversationMessageOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /** Message to persist without LLM processing */\n message: PersistedConversationMessage;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\n/**\n * Returns a list of Chats\n * @param personaId - Persona ID\n * @public\n * @documentationMaturity preview\n * @requiredField personaId\n * @permissionId LEGENDS.CHAT_READ\n * @fqn wix.legends.chat.v1.PersonaChatService.ListPersonaChats\n */\nexport async function listPersonaChats(\n personaId: string,\n options?: ListPersonaChatsOptions\n): Promise<\n NonNullablePaths<\n ListPersonaChatsResponse,\n | `chats`\n | `chats.${number}.namespace`\n | `chats.${number}.personaId`\n | `chats.${number}.mode`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n personaId: personaId,\n namespace: options?.namespace,\n namespaceV2: options?.namespaceV2,\n });\n\n const reqOpts = ambassadorWixLegendsPersonaV1Chat.listPersonaChats(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n personaId: '$[0]',\n namespace: '$[1].namespace',\n namespaceV2: '$[1].namespaceV2',\n },\n singleArgumentUnchanged: false,\n },\n ['personaId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ListPersonaChatsOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\n/**\n * Create an interactive conversation with an avatar\n * @param chatId - Chat ID\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @permissionId LEGENDS.CHAT_CREATE\n * @fqn wix.legends.chat.v1.PersonaChatService.CreateInteractiveConversation\n */\nexport async function createInteractiveConversation(\n chatId: string,\n options?: CreateInteractiveConversationOptions\n): Promise<\n NonNullablePaths<CreateInteractiveConversationResponse, `limitation.type`, 1>\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: chatId,\n namespace: options?.namespace,\n chatConfig: options?.chatConfig,\n firstConversation: options?.firstConversation,\n lastConversationTopic: options?.lastConversationTopic,\n namespaceV2: options?.namespaceV2,\n conversationLanguage: options?.conversationLanguage,\n });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.createInteractiveConversation(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0]',\n namespace: '$[1].namespace',\n chatConfig: '$[1].chatConfig',\n firstConversation: '$[1].firstConversation',\n lastConversationTopic: '$[1].lastConversationTopic',\n namespaceV2: '$[1].namespaceV2',\n conversationLanguage: '$[1].conversationLanguage',\n },\n singleArgumentUnchanged: false,\n },\n ['chatId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CreateInteractiveConversationOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /** Chat configuration reference and/or inline overrides for this request */\n chatConfig?: ChatConfig;\n /** First conversation with the persona; unset → first-time introduction. */\n firstConversation?: boolean | null;\n /**\n * Topic of the last conversation; used for a returning-visitor greeting.\n * @maxLength 200\n */\n lastConversationTopic?: string | null;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n /**\n * Optional language or locale for this voice call (for example, es or en-GB).\n * When omitted, the realtime agent keeps its existing language behavior.\n * @maxLength 10\n */\n conversationLanguage?: string | null;\n}\n\n/**\n * Create a voice conversation\n * @param chatId - Chat ID\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @permissionId LEGENDS.CHAT_CREATE\n * @fqn wix.legends.chat.v1.PersonaChatService.CreateVoiceConversation\n */\nexport async function createVoiceConversation(\n chatId: string,\n options?: CreateVoiceConversationOptions\n): Promise<\n NonNullablePaths<\n CreateVoiceConversationResponse,\n | `interactiveConversationId`\n | `conversationUrl`\n | `limitation.type`\n | `vendorData.vendor`,\n 1\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: chatId,\n namespace: options?.namespace,\n vendor: options?.vendor,\n useWebrtc: options?.useWebrtc,\n chatConfig: options?.chatConfig,\n firstConversation: options?.firstConversation,\n lastConversationTopic: options?.lastConversationTopic,\n namespaceV2: options?.namespaceV2,\n conversationLanguage: options?.conversationLanguage,\n });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.createVoiceConversation(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0]',\n namespace: '$[1].namespace',\n vendor: '$[1].vendor',\n useWebrtc: '$[1].useWebrtc',\n chatConfig: '$[1].chatConfig',\n firstConversation: '$[1].firstConversation',\n lastConversationTopic: '$[1].lastConversationTopic',\n namespaceV2: '$[1].namespaceV2',\n conversationLanguage: '$[1].conversationLanguage',\n },\n singleArgumentUnchanged: false,\n },\n ['chatId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CreateVoiceConversationOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * deprecated: not used, use chat_config configuration or inline_override instead\n * @deprecated deprecated: not used, use chat_config configuration or inline_override instead\n * @replacedBy chat_config.inline_override\n * @targetRemovalDate 2025-12-07\n */\n vendor?: VendorTypeWithLiterals;\n /** Whether to use WebRTC for the voice conversation (default: false) */\n useWebrtc?: boolean;\n /** Chat configuration reference and/or inline overrides for this request */\n chatConfig?: ChatConfig;\n /** First conversation with the persona; unset → first-time introduction. */\n firstConversation?: boolean | null;\n /**\n * Topic of the last conversation; used for a returning-visitor greeting.\n * @maxLength 200\n */\n lastConversationTopic?: string | null;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n /**\n * Optional language or locale for this voice call (for example, es or en-GB).\n * When omitted, the realtime agent keeps its existing language behavior.\n * @maxLength 10\n */\n conversationLanguage?: string | null;\n}\n\n/**\n * End an interactive conversation with an avatar\n * @param chatId - Chat ID\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @requiredField options.interactiveConversationId\n * @permissionId LEGENDS.CHAT_DELETE\n * @fqn wix.legends.chat.v1.PersonaChatService.EndInteractiveConversation\n */\nexport async function endInteractiveConversation(\n chatId: string,\n options?: NonNullablePaths<\n EndInteractiveConversationOptions,\n `interactiveConversationId`,\n 0\n >\n): Promise<void> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: chatId,\n namespace: options?.namespace,\n interactiveConversationId: options?.interactiveConversationId,\n namespaceV2: options?.namespaceV2,\n });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.endInteractiveConversation(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0]',\n namespace: '$[1].namespace',\n interactiveConversationId: '$[1].interactiveConversationId',\n namespaceV2: '$[1].namespaceV2',\n },\n singleArgumentUnchanged: false,\n },\n ['chatId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface EndInteractiveConversationOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Interactive conversation ID\n * @maxLength 50\n */\n interactiveConversationId: string;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\n/**\n * Get the status of an interactive conversation, including why the service ended it\n * @public\n * @documentationMaturity preview\n * @requiredField identifiers\n * @requiredField identifiers.chatId\n * @requiredField identifiers.interactiveConversationId\n * @permissionId LEGENDS.CHAT_READ\n * @fqn wix.legends.chat.v1.PersonaChatService.GetInteractiveConversation\n */\nexport async function getInteractiveConversation(\n identifiers: NonNullablePaths<\n GetInteractiveConversationIdentifiers,\n `chatId` | `interactiveConversationId`,\n 0\n >,\n options?: GetInteractiveConversationOptions\n): Promise<NonNullablePaths<GetInteractiveConversationResponse, `status`, 0>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: identifiers?.chatId,\n interactiveConversationId: identifiers?.interactiveConversationId,\n namespace: options?.namespace,\n namespaceV2: options?.namespaceV2,\n });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.getInteractiveConversation(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0].chatId',\n interactiveConversationId: '$[0].interactiveConversationId',\n namespace: '$[1].namespace',\n namespaceV2: '$[1].namespaceV2',\n },\n singleArgumentUnchanged: false,\n },\n ['identifiers', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GetInteractiveConversationIdentifiers {\n /**\n * Chat ID\n * @format GUID\n */\n chatId: string;\n /**\n * Interactive conversation ID\n * @maxLength 50\n */\n interactiveConversationId: string;\n}\n\nexport interface GetInteractiveConversationOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\n/**\n * Generate chat completions with vendor support\n * @public\n * @documentationMaturity preview\n * @permissionId LEGENDS.CHAT_SEND_MESSAGE\n * @fqn wix.legends.chat.v1.PersonaChatService.GenerateChatCompletionsWithVendor\n */\nexport async function generateChatCompletionsWithVendor(\n options?: GenerateChatCompletionsWithVendorOptions\n): Promise<\n NonNullablePaths<\n RawHttpResponse,\n `body` | `headers` | `headers.${number}.key` | `headers.${number}.value`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n body: options?.body,\n pathParams: options?.pathParams,\n queryParams: options?.queryParams,\n headers: options?.headers,\n method: options?.method,\n rawPath: options?.rawPath,\n rawQuery: options?.rawQuery,\n });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.generateChatCompletionsWithVendor(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n body: '$[0].body',\n pathParams: '$[0].pathParams',\n queryParams: '$[0].queryParams',\n headers: '$[0].headers',\n method: '$[0].method',\n rawPath: '$[0].rawPath',\n rawQuery: '$[0].rawQuery',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GenerateChatCompletionsWithVendorOptions {\n body?: Uint8Array;\n pathParams?: PathParametersEntry[];\n queryParams?: QueryParametersEntry[];\n headers?: HeadersEntry[];\n method?: string;\n rawPath?: string;\n rawQuery?: string;\n}\n\n/**\n * Generate chat completions with vendor support\n * @public\n * @documentationMaturity preview\n * @permissionId LEGENDS.CHAT_SEND_MESSAGE\n * @fqn wix.legends.chat.v1.PersonaChatService.GenerateChatCompletionsStreamWithVendor\n */\nexport async function generateChatCompletionsStreamWithVendor(\n options?: GenerateChatCompletionsStreamWithVendorOptions\n): Promise<\n NonNullablePaths<\n RawHttpResponse,\n `body` | `headers` | `headers.${number}.key` | `headers.${number}.value`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n body: options?.body,\n pathParams: options?.pathParams,\n queryParams: options?.queryParams,\n headers: options?.headers,\n method: options?.method,\n rawPath: options?.rawPath,\n rawQuery: options?.rawQuery,\n });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.generateChatCompletionsStreamWithVendor(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n body: '$[0].body',\n pathParams: '$[0].pathParams',\n queryParams: '$[0].queryParams',\n headers: '$[0].headers',\n method: '$[0].method',\n rawPath: '$[0].rawPath',\n rawQuery: '$[0].rawQuery',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GenerateChatCompletionsStreamWithVendorOptions {\n body?: Uint8Array;\n pathParams?: PathParametersEntry[];\n queryParams?: QueryParametersEntry[];\n headers?: HeadersEntry[];\n method?: string;\n rawPath?: string;\n rawQuery?: string;\n}\n\n/**\n * Query chat messages with WQL expression\n * @param chatId - Chat ID\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @permissionId LEGENDS.CHAT_READ\n * @fqn wix.legends.chat.v1.PersonaChatService.QueryChatMessages\n */\nexport async function queryChatMessages(\n chatId: string,\n options?: QueryChatMessagesOptions\n): Promise<\n NonNullablePaths<\n QueryChatMessagesResponse,\n | `chatMessages`\n | `chatMessages.${number}.chatId`\n | `chatMessages.${number}.role`\n | `chatMessages.${number}.conversationType`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: chatId,\n query: options?.query,\n namespace: options?.namespace,\n namespaceV2: options?.namespaceV2,\n });\n\n const reqOpts = ambassadorWixLegendsPersonaV1Chat.queryChatMessages(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0]',\n query: '$[1].query',\n namespace: '$[1].namespace',\n namespaceV2: '$[1].namespaceV2',\n },\n singleArgumentUnchanged: false,\n },\n ['chatId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface QueryChatMessagesOptions {\n /** WQL expression controlling filtering / sorting / paging. */\n query?: CursorQuery;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\n/**\n * Get permissions to check for voice and video calls\n * @param personaId - Persona ID\n * @public\n * @documentationMaturity preview\n * @requiredField personaId\n * @permissionId LEGENDS.CHAT_READ\n * @fqn wix.legends.chat.v1.PersonaChatService.GetPermissions\n */\nexport async function getPermissions(\n personaId: string,\n options?: GetPermissionsOptions\n): Promise<\n NonNullablePaths<\n GetPermissionsResponse,\n `canStartVideoCall` | `canStartVoiceCall` | `canSendChatMessage`,\n 0\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n personaId: personaId,\n namespace: options?.namespace,\n chatId: options?.chatId,\n namespaceV2: options?.namespaceV2,\n });\n\n const reqOpts = ambassadorWixLegendsPersonaV1Chat.getPermissions(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n personaId: '$[0]',\n namespace: '$[1].namespace',\n chatId: '$[1].chatId',\n namespaceV2: '$[1].namespaceV2',\n },\n singleArgumentUnchanged: false,\n },\n ['personaId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GetPermissionsOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Chat ID to determine the chat mode\n * @format GUID\n */\n chatId?: string | null;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\n/**\n * Query persona chats with advanced filtering and sorting\n * @public\n * @documentationMaturity preview\n * @requiredField options.personaId\n * @requiredField options.query\n * @permissionId LEGENDS.CHAT_READ\n * @fqn wix.legends.chat.v1.PersonaChatService.QueryPersonaChats\n */\nexport async function queryPersonaChats(\n options?: NonNullablePaths<QueryPersonaChatsOptions, `personaId` | `query`, 0>\n): Promise<\n NonNullablePaths<\n QueryPersonaChatsResponse,\n | `chats`\n | `chats.${number}.namespace`\n | `chats.${number}.personaId`\n | `chats.${number}.mode`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n namespace: options?.namespace,\n personaId: options?.personaId,\n query: options?.query,\n namespaceV2: options?.namespaceV2,\n });\n\n const reqOpts = ambassadorWixLegendsPersonaV1Chat.queryPersonaChats(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n namespace: '$[0].namespace',\n personaId: '$[0].personaId',\n query: '$[0].query',\n namespaceV2: '$[0].namespaceV2',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface QueryPersonaChatsOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Required persona ID filter\n * @format GUID\n */\n personaId: string;\n /** WQL expression for filtering/sorting/paging */\n query: CursorQuery;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\n/**\n * Create or update knowledge snippets associated with a chat\n * @param chatId - Chat ID to determine the chat mode and persona\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @requiredField options.generatedSnippet\n * @permissionId LEGENDS.CHAT_CREATE\n * @returns Response message for upserting knowledge snippets\n * @fqn wix.legends.chat.v1.PersonaChatService.UpsertKnowledgeSnippet\n */\nexport async function upsertKnowledgeSnippet(\n chatId: string,\n options?: NonNullablePaths<\n UpsertKnowledgeSnippetOptions,\n `generatedSnippet`,\n 0\n >\n): Promise<\n NonNullablePaths<\n UpsertKnowledgeSnippetResponse,\n | `createdSnippets`\n | `createdSnippets.${number}.title`\n | `createdSnippets.${number}.content`\n | `createdSnippets.${number}.personaId`\n | `createdSnippets.${number}.namespace`\n | `createdSnippets.${number}.lastUpdateType`\n | `createdSnippets.${number}.category`\n | `createdSnippets.${number}.subcategory`\n | `createdSnippets.${number}.state`\n | `updatedSnippets`\n | `updatedSnippets.${number}.title`\n | `updatedSnippets.${number}.content`\n | `updatedSnippets.${number}.personaId`\n | `updatedSnippets.${number}.namespace`\n | `updatedSnippets.${number}.lastUpdateType`\n | `updatedSnippets.${number}.category`\n | `updatedSnippets.${number}.subcategory`\n | `updatedSnippets.${number}.state`,\n 2\n > & {\n __applicationErrorsType?: UpsertKnowledgeSnippetApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: chatId,\n namespace: options?.namespace,\n generatedSnippet: options?.generatedSnippet,\n idempotencyKey: options?.idempotencyKey,\n namespaceV2: options?.namespaceV2,\n });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.upsertKnowledgeSnippet(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0]',\n namespace: '$[1].namespace',\n generatedSnippet: '$[1].generatedSnippet',\n idempotencyKey: '$[1].idempotencyKey',\n namespaceV2: '$[1].namespaceV2',\n },\n singleArgumentUnchanged: false,\n },\n ['chatId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpsertKnowledgeSnippetOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Generated knowledge snippets to upsert\n * @minSize 1\n * @maxSize 30\n */\n generatedSnippet: GeneratedSnippet[];\n /**\n * Deterministic per-turn key; when set, the upsert runs at-most-once to dedup retried/duplicate calls\n * @format GUID\n */\n idempotencyKey?: string | null;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\n/** @param chatId - Chat ID\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @requiredField options.chatConfig.configurationId\n * @permissionId LEGENDS.CHAT_UPDATE\n * @fqn wix.legends.chat.v1.PersonaChatService.SwitchConfig\n */\nexport async function switchConfig(\n chatId: string,\n options?: NonNullablePaths<\n SwitchConfigOptions,\n `chatConfig.configurationId`,\n 1\n >\n): Promise<void> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: chatId,\n interactiveConversationId: options?.interactiveConversationId,\n namespace: options?.namespace,\n chatConfig: options?.chatConfig,\n clearChat: options?.clearChat,\n namespaceV2: options?.namespaceV2,\n });\n\n const reqOpts = ambassadorWixLegendsPersonaV1Chat.switchConfig(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0]',\n interactiveConversationId: '$[1].interactiveConversationId',\n namespace: '$[1].namespace',\n chatConfig: '$[1].chatConfig',\n clearChat: '$[1].clearChat',\n namespaceV2: '$[1].namespaceV2',\n },\n singleArgumentUnchanged: false,\n },\n ['chatId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface SwitchConfigOptions {\n /**\n * Interactive Conversation ID\n * @maxLength 50\n */\n interactiveConversationId?: string | null;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /** Chat configuration reference and/or inline overrides for this request */\n chatConfig?: ChatConfig;\n /** When true, clears the chat context in the active LiveKit session when switching config */\n clearChat?: boolean | null;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\n/**\n * Delete a chat by ID. The caller must be the chat owner or the persona owner.\n * @param chatId - Id of the Chat to delete.\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @permissionId LEGENDS.CHAT_DELETE\n * @fqn wix.legends.chat.v1.PersonaChatService.DeletePersonaChat\n */\nexport async function deletePersonaChat(\n chatId: string,\n options?: DeletePersonaChatOptions\n): Promise<void> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: chatId,\n namespace: options?.namespace,\n namespaceV2: options?.namespaceV2,\n });\n\n const reqOpts = ambassadorWixLegendsPersonaV1Chat.deletePersonaChat(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0]',\n namespace: '$[1].namespace',\n namespaceV2: '$[1].namespaceV2',\n },\n singleArgumentUnchanged: false,\n },\n ['chatId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface DeletePersonaChatOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\n/**\n * Delete all chats for a given persona. Only the persona owner can call this.\n * @param personaId - Persona ID whose chats to delete.\n * @public\n * @documentationMaturity preview\n * @requiredField personaId\n * @permissionId LEGENDS.CHAT_DELETE\n * @fqn wix.legends.chat.v1.PersonaChatService.BulkDeletePersonaChatsByPersona\n */\nexport async function bulkDeletePersonaChatsByPersona(\n personaId: string,\n options?: BulkDeletePersonaChatsByPersonaOptions\n): Promise<\n NonNullablePaths<BulkDeletePersonaChatsByPersonaResponse, `deletedCount`, 0>\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n personaId: personaId,\n namespace: options?.namespace,\n namespaceV2: options?.namespaceV2,\n });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.bulkDeletePersonaChatsByPersona(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n personaId: '$[0]',\n namespace: '$[1].namespace',\n namespaceV2: '$[1].namespaceV2',\n },\n singleArgumentUnchanged: false,\n },\n ['personaId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkDeletePersonaChatsByPersonaOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\n/**\n * Summarizes one finished conversation, stores its outcome and emits the PersonaChat ConversationEnded action event.\n * Idempotent: a conversation whose outcome is already stored and announced returns it and emits nothing.\n * Called by conversation-activity-service when a conversation ends; Legends' own service identity only.\n * @param chatId - The chat the conversation took place in.\n * @param firstMessageId - The conversation's first message. Its ID becomes the conversation ID.\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @requiredField firstMessageId\n * @requiredField options.lastMessageId\n * @requiredField options.personaOwnerId\n * @permissionId legends:persona:v1:chat:generate_conversation_outcome\n * @fqn wix.legends.chat.v1.PersonaChatService.GenerateConversationOutcome\n */\nexport async function generateConversationOutcome(\n chatId: string,\n firstMessageId: string,\n options?: NonNullablePaths<\n GenerateConversationOutcomeOptions,\n `lastMessageId` | `personaOwnerId`,\n 0\n >\n): Promise<\n NonNullablePaths<\n GenerateConversationOutcomeResponse,\n | `conversationOutcome.chatId`\n | `conversationOutcome.personaId`\n | `conversationOutcome.channel`\n | `conversationOutcome.unansweredQuestions`\n | `deduplicated`,\n 1\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: chatId,\n firstMessageId: firstMessageId,\n lastMessageId: options?.lastMessageId,\n personaOwnerId: options?.personaOwnerId,\n channel: options?.channel,\n interactiveConversationId: options?.interactiveConversationId,\n });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.generateConversationOutcome(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0]',\n firstMessageId: '$[1]',\n lastMessageId: '$[2].lastMessageId',\n personaOwnerId: '$[2].personaOwnerId',\n channel: '$[2].channel',\n interactiveConversationId: '$[2].interactiveConversationId',\n },\n singleArgumentUnchanged: false,\n },\n ['chatId', 'firstMessageId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GenerateConversationOutcomeOptions {\n /**\n * The conversation's last message.\n * @format GUID\n */\n lastMessageId: string;\n /**\n * User that owns the Legend, as carried on ChatMessageAdded.\n * @format GUID\n */\n personaOwnerId: string;\n /** The channel the conversation ran on, when known. */\n channel?: ChannelWithLiterals;\n /**\n * Interactive conversation ID of the call, if the conversation was a call.\n * @maxLength 100\n */\n interactiveConversationId?: string | null;\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKFloatToRESTFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformSDKBytesToRESTBytes } from '@wix/sdk-runtime/transformations/bytes';\nimport { transformRESTBytesToSDKBytes } from '@wix/sdk-runtime/transformations/bytes';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nconst TRANSFORM_PATHS_0 = [\n { path: 'chat.createdDate' },\n { path: 'chat.updatedDate' },\n { path: 'chat.messages.createdDate' },\n];\nconst TRANSFORM_PATHS_1 = [\n { path: 'chatConfig.inlineOverride.videoFrameSampleIntervalSec' },\n];\nconst TRANSFORM_PATHS_2 = [{ path: 'knowledgeItems.relevanceScore' }];\nconst TRANSFORM_PATHS_3 = [{ path: 'messages.createdDate' }];\nconst TRANSFORM_PATHS_4 = [{ path: 'body' }];\nconst TRANSFORM_PATHS_5 = [{ path: 'message.createdDate' }];\nconst TRANSFORM_PATHS_6 = [\n { path: 'chats.createdDate' },\n { path: 'chats.updatedDate' },\n { path: 'chats.messages.createdDate' },\n];\nconst TRANSFORM_PATHS_7 = [\n { path: 'vendorData.humeData.speed' },\n { path: 'vendorData.humeData.trailingSilence' },\n];\nconst TRANSFORM_PATHS_8 = [{ path: 'chatMessages.createdDate' }];\nconst TRANSFORM_PATHS_9 = [\n { path: 'createdSnippets.createdDate' },\n { path: 'createdSnippets.updatedDate' },\n { path: 'updatedSnippets.createdDate' },\n { path: 'updatedSnippets.updatedDate' },\n];\nconst TRANSFORM_PATHS_10 = [\n { path: 'conversationOutcome.createdDate' },\n { path: 'conversationOutcome.updatedDate' },\n { path: 'conversationOutcome.startedDate' },\n { path: 'conversationOutcome.endedDate' },\n];\n\nfunction resolveWixLegendsChatV1PersonaChatServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'bo._base_domain_': [\n {\n srcPath: '/_api/persona-chat-service',\n destPath: '',\n },\n ],\n 'wixbo.ai': [\n {\n srcPath: '/_api/persona-chat-service',\n destPath: '',\n },\n ],\n 'wix-bo.com': [\n {\n srcPath: '/_api/persona-chat-service',\n destPath: '',\n },\n ],\n 'api._api_base_domain_': [\n {\n srcPath: '/persona-chat-service',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/_api/persona-chat-service/v1/chats',\n destPath: '/v1/chats',\n },\n {\n srcPath: '/_api/persona-chat-service/v1/persona-knowledge/internal',\n destPath: '/v1/persona-knowledge/internal',\n },\n {\n srcPath: '/_api/persona-chat-service/v1/chat',\n destPath: '/v1/chat',\n },\n {\n srcPath: '/_api/persona-chat-service/v1/personas',\n destPath: '/v1/personas',\n },\n ],\n _: [\n {\n srcPath: '/_api/persona-chat-service/v1/chats',\n destPath: '/v1/chats',\n },\n {\n srcPath: '/_api/persona-chat-service/v1/chat',\n destPath: '/v1/chat',\n },\n {\n srcPath: '/_api/persona-chat-service/v1/personas',\n destPath: '/v1/personas',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/persona-chat-service/v1/chats',\n destPath: '/v1/chats',\n },\n {\n srcPath: '/_api/persona-chat-service/v1/chat',\n destPath: '/v1/chat',\n },\n {\n srcPath: '/_api/persona-chat-service/v1/personas',\n destPath: '/v1/personas',\n },\n ],\n 'apps._base_domain_': [\n {\n srcPath: '/_api/persona-chat-service/v1/chats',\n destPath: '/v1/chats',\n },\n {\n srcPath: '/_api/persona-chat-service/v1/chat',\n destPath: '/v1/chat',\n },\n {\n srcPath: '/_api/persona-chat-service/v1/personas',\n destPath: '/v1/personas',\n },\n ],\n 'editor.wixapps.net': [\n {\n srcPath: '/_api/persona-chat-service/v1/chats',\n destPath: '/v1/chats',\n },\n {\n srcPath: '/_api/persona-chat-service/v1/chat',\n destPath: '/v1/chat',\n },\n ],\n 'legends._base_domain_': [\n {\n srcPath: '/_api/persona-chat-service/v1/chats',\n destPath: '/v1/chats',\n },\n {\n srcPath: '/_api/persona-chat-service/v1/chat',\n destPath: '/v1/chat',\n },\n {\n srcPath: '/_api/persona-chat-service/v1/personas',\n destPath: '/v1/personas',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/persona-chat-service/v1/personas',\n destPath: '/v1/personas',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/persona-chat-service/v1/personas',\n destPath: '/v1/personas',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/persona-chat-service/v1/personas',\n destPath: '/v1/personas',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_legends_persona-chats';\n\n/** Create a new chat */\nexport function createPersonaChat(payload: object): RequestOptionsFactory<any> {\n function __createPersonaChat({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: TRANSFORM_PATHS_1,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn: 'wix.legends.chat.v1.PersonaChatService.CreatePersonaChat',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createPersonaChat;\n}\n\n/** Retrieves a chat. */\nexport function getPersonaChat(payload: object): RequestOptionsFactory<any> {\n function __getPersonaChat({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'GET' as any,\n methodFqn: 'wix.legends.chat.v1.PersonaChatService.GetPersonaChat',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/{chatId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getPersonaChat;\n}\n\n/** Returns a context for a chat. */\nexport function getPersonaChatContext(\n payload: object\n): RequestOptionsFactory<any> {\n function __getPersonaChatContext({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'GET' as any,\n methodFqn: 'wix.legends.chat.v1.PersonaChatService.GetPersonaChatContext',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/{chatId}/context',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __getPersonaChatContext;\n}\n\n/** Retrieves persona knowledge based on text query. */\nexport function retrievePersonaKnowledge(\n payload: object\n): RequestOptionsFactory<any> {\n function __retrievePersonaKnowledge({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'GET' as any,\n methodFqn:\n 'wix.legends.chat.v1.PersonaChatService.RetrievePersonaKnowledge',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/persona-knowledge',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: TRANSFORM_PATHS_2,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __retrievePersonaKnowledge;\n}\n\n/** Handle new user message or report function call results */\nexport function sendChatMessage(payload: object): RequestOptionsFactory<any> {\n function __sendChatMessage({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: TRANSFORM_PATHS_1,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn: 'wix.legends.chat.v1.PersonaChatService.SendChatMessage',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chat/messages',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_3,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __sendChatMessage;\n}\n\n/** Handle new user message with streaming response */\nexport function sendChatMessageStreamed(\n payload: object\n): RequestOptionsFactory<any> {\n function __sendChatMessageStreamed({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: TRANSFORM_PATHS_1,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn:\n 'wix.legends.chat.v1.PersonaChatService.SendChatMessageStreamed',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chat/messages/stream',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTBytesToSDKBytes,\n paths: TRANSFORM_PATHS_4,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __sendChatMessageStreamed;\n}\n\n/** Persist a conversation message without running LLM orchestration. */\nexport function persistConversationMessage(\n payload: object\n): RequestOptionsFactory<any> {\n function __persistConversationMessage({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: TRANSFORM_PATHS_5,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn:\n 'wix.legends.chat.v1.PersonaChatService.PersistConversationMessage',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/{chatId}/persist-conversation-message',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_5,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __persistConversationMessage;\n}\n\n/** Returns a list of Chats */\nexport function listPersonaChats(payload: object): RequestOptionsFactory<any> {\n function __listPersonaChats({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'GET' as any,\n methodFqn: 'wix.legends.chat.v1.PersonaChatService.ListPersonaChats',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_6,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __listPersonaChats;\n}\n\n/** Create an interactive conversation with an avatar */\nexport function createInteractiveConversation(\n payload: object\n): RequestOptionsFactory<any> {\n function __createInteractiveConversation({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: TRANSFORM_PATHS_1,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn:\n 'wix.legends.chat.v1.PersonaChatService.CreateInteractiveConversation',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/{chatId}/create-interactive-conversation',\n data: serializedData,\n host,\n }),\n data: serializedData,\n };\n\n return metadata;\n }\n\n return __createInteractiveConversation;\n}\n\n/** Create a voice conversation */\nexport function createVoiceConversation(\n payload: object\n): RequestOptionsFactory<any> {\n function __createVoiceConversation({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: TRANSFORM_PATHS_1,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn:\n 'wix.legends.chat.v1.PersonaChatService.CreateVoiceConversation',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/{chatId}/create-voice-conversation',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: TRANSFORM_PATHS_7,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createVoiceConversation;\n}\n\n/** End an interactive conversation with an avatar */\nexport function endInteractiveConversation(\n payload: object\n): RequestOptionsFactory<any> {\n function __endInteractiveConversation({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn:\n 'wix.legends.chat.v1.PersonaChatService.EndInteractiveConversation',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/{chatId}/end-interactive-conversation',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __endInteractiveConversation;\n}\n\n/** Get the status of an interactive conversation, including why the service ended it */\nexport function getInteractiveConversation(\n payload: object\n): RequestOptionsFactory<any> {\n function __getInteractiveConversation({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'GET' as any,\n methodFqn:\n 'wix.legends.chat.v1.PersonaChatService.GetInteractiveConversation',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath:\n '/v1/chats/{chatId}/interactive-conversations/{interactiveConversationId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __getInteractiveConversation;\n}\n\n/** Generate chat completions with vendor support */\nexport function generateChatCompletionsWithVendor(\n payload: object\n): RequestOptionsFactory<any> {\n function __generateChatCompletionsWithVendor({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKBytesToRESTBytes,\n paths: TRANSFORM_PATHS_4,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn:\n 'wix.legends.chat.v1.PersonaChatService.GenerateChatCompletionsWithVendor',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/generate-completions/{vendor}/chat/completions',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTBytesToSDKBytes,\n paths: TRANSFORM_PATHS_4,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __generateChatCompletionsWithVendor;\n}\n\n/** Generate chat completions with vendor support */\nexport function generateChatCompletionsStreamWithVendor(\n payload: object\n): RequestOptionsFactory<any> {\n function __generateChatCompletionsStreamWithVendor({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKBytesToRESTBytes,\n paths: TRANSFORM_PATHS_4,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn:\n 'wix.legends.chat.v1.PersonaChatService.GenerateChatCompletionsStreamWithVendor',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/generate-completions/{vendor}/chat/completions/stream',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTBytesToSDKBytes,\n paths: TRANSFORM_PATHS_4,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __generateChatCompletionsStreamWithVendor;\n}\n\n/** Query chat messages with WQL expression */\nexport function queryChatMessages(payload: object): RequestOptionsFactory<any> {\n function __queryChatMessages({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'GET' as any,\n methodFqn: 'wix.legends.chat.v1.PersonaChatService.QueryChatMessages',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/{chatId}/messages',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload, true),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_8,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __queryChatMessages;\n}\n\n/** Get permissions to check for voice and video calls */\nexport function getPermissions(payload: object): RequestOptionsFactory<any> {\n function __getPermissions({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'GET' as any,\n methodFqn: 'wix.legends.chat.v1.PersonaChatService.GetPermissions',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/personas/{personaId}/permissions',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __getPermissions;\n}\n\n/** Query persona chats with advanced filtering and sorting */\nexport function queryPersonaChats(payload: object): RequestOptionsFactory<any> {\n function __queryPersonaChats({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn: 'wix.legends.chat.v1.PersonaChatService.QueryPersonaChats',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/query',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_6,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __queryPersonaChats;\n}\n\n/** Create or update knowledge snippets associated with a chat */\nexport function upsertKnowledgeSnippet(\n payload: object\n): RequestOptionsFactory<any> {\n function __upsertKnowledgeSnippet({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn:\n 'wix.legends.chat.v1.PersonaChatService.UpsertKnowledgeSnippet',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/upsert-snippet',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_9,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __upsertKnowledgeSnippet;\n}\n\nexport function switchConfig(payload: object): RequestOptionsFactory<any> {\n function __switchConfig({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: TRANSFORM_PATHS_1,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn: 'wix.legends.chat.v1.PersonaChatService.SwitchConfig',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/switch-config',\n data: serializedData,\n host,\n }),\n data: serializedData,\n };\n\n return metadata;\n }\n\n return __switchConfig;\n}\n\n/** Delete a chat by ID. The caller must be the chat owner or the persona owner. */\nexport function deletePersonaChat(payload: object): RequestOptionsFactory<any> {\n function __deletePersonaChat({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'DELETE' as any,\n methodFqn: 'wix.legends.chat.v1.PersonaChatService.DeletePersonaChat',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/{chatId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __deletePersonaChat;\n}\n\n/** Delete all chats for a given persona. Only the persona owner can call this. */\nexport function bulkDeletePersonaChatsByPersona(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkDeletePersonaChatsByPersona({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn:\n 'wix.legends.chat.v1.PersonaChatService.BulkDeletePersonaChatsByPersona',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/bulk-delete-by-persona',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkDeletePersonaChatsByPersona;\n}\n\n/**\n * Summarizes one finished conversation, stores its outcome and emits the PersonaChat ConversationEnded action event.\n * Idempotent: a conversation whose outcome is already stored and announced returns it and emits nothing.\n * Called by conversation-activity-service when a conversation ends; Legends' own service identity only.\n */\nexport function generateConversationOutcome(\n payload: object\n): RequestOptionsFactory<any> {\n function __generateConversationOutcome({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn:\n 'wix.legends.chat.v1.PersonaChatService.GenerateConversationOutcome',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/{chatId}/generate-conversation-outcome',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_10,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __generateConversationOutcome;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n BulkDeletePersonaChatsByPersonaOptions,\n BulkDeletePersonaChatsByPersonaResponse,\n CreateInteractiveConversationOptions,\n CreateInteractiveConversationResponse,\n CreatePersonaChatOptions,\n CreateVoiceConversationOptions,\n CreateVoiceConversationResponse,\n DeletePersonaChatOptions,\n EndInteractiveConversationOptions,\n GenerateChatCompletionsStreamWithVendorOptions,\n GenerateChatCompletionsWithVendorOptions,\n GenerateConversationOutcomeOptions,\n GenerateConversationOutcomeResponse,\n GetInteractiveConversationIdentifiers,\n GetInteractiveConversationOptions,\n GetInteractiveConversationResponse,\n GetPermissionsOptions,\n GetPermissionsResponse,\n GetPersonaChatContextApplicationErrors,\n GetPersonaChatContextResponse,\n GetPersonaChatOptions,\n ListPersonaChatsOptions,\n ListPersonaChatsResponse,\n PersistConversationMessageOptions,\n PersistConversationMessageResponse,\n PersonaChat,\n QueryChatMessagesOptions,\n QueryChatMessagesResponse,\n QueryPersonaChatsOptions,\n QueryPersonaChatsResponse,\n RawHttpResponse,\n RetrievePersonaKnowledgeApplicationErrors,\n RetrievePersonaKnowledgeOptions,\n RetrievePersonaKnowledgeResponse,\n SendChatMessageOptions,\n SendChatMessageResponse,\n SendChatMessageStreamedOptions,\n SwitchConfigOptions,\n UpsertKnowledgeSnippetApplicationErrors,\n UpsertKnowledgeSnippetOptions,\n UpsertKnowledgeSnippetResponse,\n bulkDeletePersonaChatsByPersona as universalBulkDeletePersonaChatsByPersona,\n createInteractiveConversation as universalCreateInteractiveConversation,\n createPersonaChat as universalCreatePersonaChat,\n createVoiceConversation as universalCreateVoiceConversation,\n deletePersonaChat as universalDeletePersonaChat,\n endInteractiveConversation as universalEndInteractiveConversation,\n generateChatCompletionsStreamWithVendor as universalGenerateChatCompletionsStreamWithVendor,\n generateChatCompletionsWithVendor as universalGenerateChatCompletionsWithVendor,\n generateConversationOutcome as universalGenerateConversationOutcome,\n getInteractiveConversation as universalGetInteractiveConversation,\n getPermissions as universalGetPermissions,\n getPersonaChat as universalGetPersonaChat,\n getPersonaChatContext as universalGetPersonaChatContext,\n listPersonaChats as universalListPersonaChats,\n persistConversationMessage as universalPersistConversationMessage,\n queryChatMessages as universalQueryChatMessages,\n queryPersonaChats as universalQueryPersonaChats,\n retrievePersonaKnowledge as universalRetrievePersonaKnowledge,\n sendChatMessage as universalSendChatMessage,\n sendChatMessageStreamed as universalSendChatMessageStreamed,\n switchConfig as universalSwitchConfig,\n upsertKnowledgeSnippet as universalUpsertKnowledgeSnippet,\n} from './legends-persona-v1-chat-persona-chats.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/legends' };\n\nexport function createPersonaChat(\n httpClient: HttpClient\n): CreatePersonaChatSignature {\n return (\n chat: NonNullablePaths<PersonaChat, `personaId`, 0>,\n options?: CreatePersonaChatOptions\n ) =>\n universalCreatePersonaChat(\n chat,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreatePersonaChatSignature {\n /**\n * Create a new chat\n * @param - Chat to create\n * @returns Chat created\n */\n (\n chat: NonNullablePaths<PersonaChat, `personaId`, 0>,\n options?: CreatePersonaChatOptions\n ): Promise<\n NonNullablePaths<\n PersonaChat,\n | `namespace`\n | `personaId`\n | `messages`\n | `messages.${number}.chatId`\n | `messages.${number}.role`\n | `messages.${number}.conversationType`\n | `mode`,\n 2\n >\n >;\n}\n\nexport function getPersonaChat(\n httpClient: HttpClient\n): GetPersonaChatSignature {\n return (chatId: string, options?: GetPersonaChatOptions) =>\n universalGetPersonaChat(\n chatId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetPersonaChatSignature {\n /**\n * Retrieves a chat.\n * @param - Chat ID\n * @returns The requested chat.\n */\n (chatId: string, options?: GetPersonaChatOptions): Promise<\n NonNullablePaths<\n PersonaChat,\n | `namespace`\n | `personaId`\n | `messages`\n | `messages.${number}.chatId`\n | `messages.${number}.role`\n | `messages.${number}.conversationType`\n | `mode`,\n 2\n >\n >;\n}\n\nexport function getPersonaChatContext(\n httpClient: HttpClient\n): GetPersonaChatContextSignature {\n return (chatId: string) =>\n universalGetPersonaChatContext(\n chatId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetPersonaChatContextSignature {\n /**\n * Returns a context for a chat.\n * @param - Chat ID\n */\n (chatId: string): Promise<\n NonNullablePaths<\n GetPersonaChatContextResponse,\n `chatContext.personaDetails.sampleQuestions` | `chatContext.mode`,\n 2\n > & {\n __applicationErrorsType?: GetPersonaChatContextApplicationErrors;\n }\n >;\n}\n\nexport function retrievePersonaKnowledge(\n httpClient: HttpClient\n): RetrievePersonaKnowledgeSignature {\n return (\n chatId: string,\n options: NonNullablePaths<\n RetrievePersonaKnowledgeOptions,\n `query` | `userMessageId`,\n 0\n >\n ) =>\n universalRetrievePersonaKnowledge(\n chatId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RetrievePersonaKnowledgeSignature {\n /**\n * Retrieves persona knowledge based on text query.\n * @param - Chat ID\n */\n (\n chatId: string,\n options: NonNullablePaths<\n RetrievePersonaKnowledgeOptions,\n `query` | `userMessageId`,\n 0\n >\n ): Promise<\n NonNullablePaths<\n RetrievePersonaKnowledgeResponse,\n | `knowledgeItems`\n | `knowledgeItems.${number}.knowledgeSnippetId`\n | `knowledgeItems.${number}.knowledgeDocumentId`\n | `knowledgeItems.${number}.knowledgeLinkId`\n | `knowledgeItems.${number}._id`\n | `knowledgeItems.${number}.revision`\n | `knowledgeItems.${number}.title`\n | `knowledgeItems.${number}.content`\n | `knowledgeItems.${number}.personaId`\n | `knowledgeItems.${number}.chunkIndex`\n | `knowledgeItems.${number}.relevanceScore`\n | `knowledgeItems.${number}.sourceType`\n | `knowledgeItems.${number}.draft`\n | `knowledgeItems.${number}.deleted`\n | `knowledgeItems.${number}.chunkMetadata.chunkNumber`\n | `knowledgeItems.${number}.chunkMetadata.tokensSize`\n | `knowledgeItems.${number}.chunkMetadata.pageCard.pageType`,\n 4\n > & {\n __applicationErrorsType?: RetrievePersonaKnowledgeApplicationErrors;\n }\n >;\n}\n\nexport function sendChatMessage(\n httpClient: HttpClient\n): SendChatMessageSignature {\n return (chatId: string, options?: SendChatMessageOptions) =>\n universalSendChatMessage(\n chatId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface SendChatMessageSignature {\n /**\n * Handle new user message or report function call results\n * @param - Chat ID\n */\n (chatId: string, options?: SendChatMessageOptions): Promise<\n NonNullablePaths<\n SendChatMessageResponse,\n | `messages`\n | `messages.${number}.chatId`\n | `messages.${number}.role`\n | `messages.${number}.conversationType`\n | `functionCalls`\n | `canSendChatMessage`,\n 2\n >\n >;\n}\n\nexport function sendChatMessageStreamed(\n httpClient: HttpClient\n): SendChatMessageStreamedSignature {\n return (options?: SendChatMessageStreamedOptions) =>\n universalSendChatMessageStreamed(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface SendChatMessageStreamedSignature {\n /**\n * Handle new user message with streaming response\n */\n (options?: SendChatMessageStreamedOptions): Promise<\n NonNullablePaths<\n RawHttpResponse,\n `body` | `headers` | `headers.${number}.key` | `headers.${number}.value`,\n 2\n >\n >;\n}\n\nexport function persistConversationMessage(\n httpClient: HttpClient\n): PersistConversationMessageSignature {\n return (\n chatId: string,\n options?: NonNullablePaths<PersistConversationMessageOptions, `message`, 0>\n ) =>\n universalPersistConversationMessage(\n chatId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface PersistConversationMessageSignature {\n /**\n * Persist a conversation message without running LLM orchestration.\n * @param - Chat ID\n */\n (\n chatId: string,\n options?: NonNullablePaths<PersistConversationMessageOptions, `message`, 0>\n ): Promise<\n NonNullablePaths<\n PersistConversationMessageResponse,\n | `message.chatId`\n | `message.role`\n | `message.attachments`\n | `message.attachments.${number}.fileName`\n | `message.attachments.${number}.mimeType`\n | `message.conversationType`\n | `deduplicated`,\n 3\n >\n >;\n}\n\nexport function listPersonaChats(\n httpClient: HttpClient\n): ListPersonaChatsSignature {\n return (personaId: string, options?: ListPersonaChatsOptions) =>\n universalListPersonaChats(\n personaId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ListPersonaChatsSignature {\n /**\n * Returns a list of Chats\n * @param - Persona ID\n */\n (personaId: string, options?: ListPersonaChatsOptions): Promise<\n NonNullablePaths<\n ListPersonaChatsResponse,\n | `chats`\n | `chats.${number}.namespace`\n | `chats.${number}.personaId`\n | `chats.${number}.mode`,\n 2\n >\n >;\n}\n\nexport function createInteractiveConversation(\n httpClient: HttpClient\n): CreateInteractiveConversationSignature {\n return (chatId: string, options?: CreateInteractiveConversationOptions) =>\n universalCreateInteractiveConversation(\n chatId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateInteractiveConversationSignature {\n /**\n * Create an interactive conversation with an avatar\n * @param - Chat ID\n */\n (chatId: string, options?: CreateInteractiveConversationOptions): Promise<\n NonNullablePaths<\n CreateInteractiveConversationResponse,\n `limitation.type`,\n 1\n >\n >;\n}\n\nexport function createVoiceConversation(\n httpClient: HttpClient\n): CreateVoiceConversationSignature {\n return (chatId: string, options?: CreateVoiceConversationOptions) =>\n universalCreateVoiceConversation(\n chatId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateVoiceConversationSignature {\n /**\n * Create a voice conversation\n * @param - Chat ID\n */\n (chatId: string, options?: CreateVoiceConversationOptions): Promise<\n NonNullablePaths<\n CreateVoiceConversationResponse,\n | `interactiveConversationId`\n | `conversationUrl`\n | `limitation.type`\n | `vendorData.vendor`,\n 1\n >\n >;\n}\n\nexport function endInteractiveConversation(\n httpClient: HttpClient\n): EndInteractiveConversationSignature {\n return (\n chatId: string,\n options?: NonNullablePaths<\n EndInteractiveConversationOptions,\n `interactiveConversationId`,\n 0\n >\n ) =>\n universalEndInteractiveConversation(\n chatId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface EndInteractiveConversationSignature {\n /**\n * End an interactive conversation with an avatar\n * @param - Chat ID\n */\n (\n chatId: string,\n options?: NonNullablePaths<\n EndInteractiveConversationOptions,\n `interactiveConversationId`,\n 0\n >\n ): Promise<void>;\n}\n\nexport function getInteractiveConversation(\n httpClient: HttpClient\n): GetInteractiveConversationSignature {\n return (\n identifiers: NonNullablePaths<\n GetInteractiveConversationIdentifiers,\n `chatId` | `interactiveConversationId`,\n 0\n >,\n options?: GetInteractiveConversationOptions\n ) =>\n universalGetInteractiveConversation(\n identifiers,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetInteractiveConversationSignature {\n /**\n * Get the status of an interactive conversation, including why the service ended it\n */\n (\n identifiers: NonNullablePaths<\n GetInteractiveConversationIdentifiers,\n `chatId` | `interactiveConversationId`,\n 0\n >,\n options?: GetInteractiveConversationOptions\n ): Promise<NonNullablePaths<GetInteractiveConversationResponse, `status`, 0>>;\n}\n\nexport function generateChatCompletionsWithVendor(\n httpClient: HttpClient\n): GenerateChatCompletionsWithVendorSignature {\n return (options?: GenerateChatCompletionsWithVendorOptions) =>\n universalGenerateChatCompletionsWithVendor(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GenerateChatCompletionsWithVendorSignature {\n /**\n * Generate chat completions with vendor support\n */\n (options?: GenerateChatCompletionsWithVendorOptions): Promise<\n NonNullablePaths<\n RawHttpResponse,\n `body` | `headers` | `headers.${number}.key` | `headers.${number}.value`,\n 2\n >\n >;\n}\n\nexport function generateChatCompletionsStreamWithVendor(\n httpClient: HttpClient\n): GenerateChatCompletionsStreamWithVendorSignature {\n return (options?: GenerateChatCompletionsStreamWithVendorOptions) =>\n universalGenerateChatCompletionsStreamWithVendor(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GenerateChatCompletionsStreamWithVendorSignature {\n /**\n * Generate chat completions with vendor support\n */\n (options?: GenerateChatCompletionsStreamWithVendorOptions): Promise<\n NonNullablePaths<\n RawHttpResponse,\n `body` | `headers` | `headers.${number}.key` | `headers.${number}.value`,\n 2\n >\n >;\n}\n\nexport function queryChatMessages(\n httpClient: HttpClient\n): QueryChatMessagesSignature {\n return (chatId: string, options?: QueryChatMessagesOptions) =>\n universalQueryChatMessages(\n chatId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QueryChatMessagesSignature {\n /**\n * Query chat messages with WQL expression\n * @param - Chat ID\n */\n (chatId: string, options?: QueryChatMessagesOptions): Promise<\n NonNullablePaths<\n QueryChatMessagesResponse,\n | `chatMessages`\n | `chatMessages.${number}.chatId`\n | `chatMessages.${number}.role`\n | `chatMessages.${number}.conversationType`,\n 2\n >\n >;\n}\n\nexport function getPermissions(\n httpClient: HttpClient\n): GetPermissionsSignature {\n return (personaId: string, options?: GetPermissionsOptions) =>\n universalGetPermissions(\n personaId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetPermissionsSignature {\n /**\n * Get permissions to check for voice and video calls\n * @param - Persona ID\n */\n (personaId: string, options?: GetPermissionsOptions): Promise<\n NonNullablePaths<\n GetPermissionsResponse,\n `canStartVideoCall` | `canStartVoiceCall` | `canSendChatMessage`,\n 0\n >\n >;\n}\n\nexport function queryPersonaChats(\n httpClient: HttpClient\n): QueryPersonaChatsSignature {\n return (\n options?: NonNullablePaths<\n QueryPersonaChatsOptions,\n `personaId` | `query`,\n 0\n >\n ) =>\n universalQueryPersonaChats(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QueryPersonaChatsSignature {\n /**\n * Query persona chats with advanced filtering and sorting\n */\n (\n options?: NonNullablePaths<\n QueryPersonaChatsOptions,\n `personaId` | `query`,\n 0\n >\n ): Promise<\n NonNullablePaths<\n QueryPersonaChatsResponse,\n | `chats`\n | `chats.${number}.namespace`\n | `chats.${number}.personaId`\n | `chats.${number}.mode`,\n 2\n >\n >;\n}\n\nexport function upsertKnowledgeSnippet(\n httpClient: HttpClient\n): UpsertKnowledgeSnippetSignature {\n return (\n chatId: string,\n options?: NonNullablePaths<\n UpsertKnowledgeSnippetOptions,\n `generatedSnippet`,\n 0\n >\n ) =>\n universalUpsertKnowledgeSnippet(\n chatId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpsertKnowledgeSnippetSignature {\n /**\n * Create or update knowledge snippets associated with a chat\n * @param - Chat ID to determine the chat mode and persona\n * @returns Response message for upserting knowledge snippets\n */\n (\n chatId: string,\n options?: NonNullablePaths<\n UpsertKnowledgeSnippetOptions,\n `generatedSnippet`,\n 0\n >\n ): Promise<\n NonNullablePaths<\n UpsertKnowledgeSnippetResponse,\n | `createdSnippets`\n | `createdSnippets.${number}.title`\n | `createdSnippets.${number}.content`\n | `createdSnippets.${number}.personaId`\n | `createdSnippets.${number}.namespace`\n | `createdSnippets.${number}.lastUpdateType`\n | `createdSnippets.${number}.category`\n | `createdSnippets.${number}.subcategory`\n | `createdSnippets.${number}.state`\n | `updatedSnippets`\n | `updatedSnippets.${number}.title`\n | `updatedSnippets.${number}.content`\n | `updatedSnippets.${number}.personaId`\n | `updatedSnippets.${number}.namespace`\n | `updatedSnippets.${number}.lastUpdateType`\n | `updatedSnippets.${number}.category`\n | `updatedSnippets.${number}.subcategory`\n | `updatedSnippets.${number}.state`,\n 2\n > & {\n __applicationErrorsType?: UpsertKnowledgeSnippetApplicationErrors;\n }\n >;\n}\n\nexport function switchConfig(httpClient: HttpClient): SwitchConfigSignature {\n return (\n chatId: string,\n options?: NonNullablePaths<\n SwitchConfigOptions,\n `chatConfig.configurationId`,\n 1\n >\n ) =>\n universalSwitchConfig(\n chatId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface SwitchConfigSignature {\n /** @param - Chat ID */\n (\n chatId: string,\n options?: NonNullablePaths<\n SwitchConfigOptions,\n `chatConfig.configurationId`,\n 1\n >\n ): Promise<void>;\n}\n\nexport function deletePersonaChat(\n httpClient: HttpClient\n): DeletePersonaChatSignature {\n return (chatId: string, options?: DeletePersonaChatOptions) =>\n universalDeletePersonaChat(\n chatId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface DeletePersonaChatSignature {\n /**\n * Delete a chat by ID. The caller must be the chat owner or the persona owner.\n * @param - Id of the Chat to delete.\n */\n (chatId: string, options?: DeletePersonaChatOptions): Promise<void>;\n}\n\nexport function bulkDeletePersonaChatsByPersona(\n httpClient: HttpClient\n): BulkDeletePersonaChatsByPersonaSignature {\n return (\n personaId: string,\n options?: BulkDeletePersonaChatsByPersonaOptions\n ) =>\n universalBulkDeletePersonaChatsByPersona(\n personaId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkDeletePersonaChatsByPersonaSignature {\n /**\n * Delete all chats for a given persona. Only the persona owner can call this.\n * @param - Persona ID whose chats to delete.\n */\n (\n personaId: string,\n options?: BulkDeletePersonaChatsByPersonaOptions\n ): Promise<\n NonNullablePaths<BulkDeletePersonaChatsByPersonaResponse, `deletedCount`, 0>\n >;\n}\n\nexport function generateConversationOutcome(\n httpClient: HttpClient\n): GenerateConversationOutcomeSignature {\n return (\n chatId: string,\n firstMessageId: string,\n options?: NonNullablePaths<\n GenerateConversationOutcomeOptions,\n `lastMessageId` | `personaOwnerId`,\n 0\n >\n ) =>\n universalGenerateConversationOutcome(\n chatId,\n firstMessageId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GenerateConversationOutcomeSignature {\n /**\n * Summarizes one finished conversation, stores its outcome and emits the PersonaChat ConversationEnded action event.\n * Idempotent: a conversation whose outcome is already stored and announced returns it and emits nothing.\n * Called by conversation-activity-service when a conversation ends; Legends' own service identity only.\n * @param - The chat the conversation took place in.\n * @param - The conversation's first message. Its ID becomes the conversation ID.\n */\n (\n chatId: string,\n firstMessageId: string,\n options?: NonNullablePaths<\n GenerateConversationOutcomeOptions,\n `lastMessageId` | `personaOwnerId`,\n 0\n >\n ): Promise<\n NonNullablePaths<\n GenerateConversationOutcomeResponse,\n | `conversationOutcome.chatId`\n | `conversationOutcome.personaId`\n | `conversationOutcome.channel`\n | `conversationOutcome.unansweredQuestions`\n | `deduplicated`,\n 1\n >\n >;\n}\n\nexport {\n AccountInfo,\n ActionEvent,\n AdditionalMetadata,\n AssistantConfigurationOverrides,\n AvatarPolicy,\n AvatarPolicyOptionsOneOf,\n AvatarSourcePolicy,\n BulkDeletePersonaChatsByPersonaOptions,\n BulkDeletePersonaChatsByPersonaRequest,\n BulkDeletePersonaChatsByPersonaResponse,\n CapturedContact,\n Category,\n Channel,\n ChatConfig,\n ChatContext,\n ChatMessage,\n ChatMessageAdded,\n ChatMessageAttachment,\n ChatMode,\n ClientToolDefinition,\n ConversationEnded,\n ConversationExpired,\n ConversationOutcome,\n ConversationType,\n CreateInteractiveConversationOptions,\n CreateInteractiveConversationRequest,\n CreateInteractiveConversationResponse,\n CreatePersonaChatOptions,\n CreatePersonaChatRequest,\n CreatePersonaChatResponse,\n CreateVoiceConversationOptions,\n CreateVoiceConversationRequest,\n CreateVoiceConversationResponse,\n CursorPaging,\n CursorPagingMetadata,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n Cursors,\n DeletePersonaChatOptions,\n DeletePersonaChatRequest,\n DeletePersonaChatResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n ElevenLabsData,\n Empty,\n EndInteractiveConversationOptions,\n EndInteractiveConversationRequest,\n EndInteractiveConversationResponse,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n FishAudioData,\n FunctionCall,\n FunctionCallResult,\n GenerateChatCompletionsStreamWithVendorOptions,\n GenerateChatCompletionsWithVendorOptions,\n GenerateConversationOutcomeOptions,\n GenerateConversationOutcomeRequest,\n GenerateConversationOutcomeResponse,\n GeneratedSnippet,\n GetCallMemberRequest,\n GetCallMemberResponse,\n GetInteractiveConversationIdentifiers,\n GetInteractiveConversationOptions,\n GetInteractiveConversationRequest,\n GetInteractiveConversationResponse,\n GetPermissionsOptions,\n GetPermissionsRequest,\n GetPermissionsResponse,\n GetPersonaChatContextRequest,\n GetPersonaChatContextResponse,\n GetPersonaChatOptions,\n GetPersonaChatRequest,\n GetPersonaChatResponse,\n HeadersEntry,\n HourOneData,\n HumeData,\n IdentificationData,\n IdentificationDataIdOneOf,\n InteractiveConversationStatus,\n Knowledge,\n KnowledgeChunkMetadata,\n KnowledgePageCard,\n KnowledgeRetrieved,\n KnowledgeSnippet,\n KnowledgeSnippetCreationTriggered,\n KnowledgeSourceOptionsOneOf,\n Limitation,\n ListPersonaChatsOptions,\n ListPersonaChatsRequest,\n ListPersonaChatsResponse,\n MessageEnvelope,\n MessageSource,\n MessageStatus,\n MessageType,\n Metadata,\n Namespace,\n ParticipantType,\n PathParametersEntry,\n PersistConversationMessageOptions,\n PersistConversationMessageRequest,\n PersistConversationMessageResponse,\n PersistedConversationMessage,\n PersistedConversationMonitoringData,\n PersonaChat,\n PersonaDetails,\n QueryChatMessagesOptions,\n QueryChatMessagesRequest,\n QueryChatMessagesResponse,\n QueryParametersEntry,\n QueryPersonaChatsOptions,\n QueryPersonaChatsRequest,\n QueryPersonaChatsResponse,\n RawHttpRequest,\n RawHttpResponse,\n RestoreInfo,\n RetrievePersonaKnowledgeInternalRequest,\n RetrievePersonaKnowledgeInternalResponse,\n RetrievePersonaKnowledgeOptions,\n RetrievePersonaKnowledgeRequest,\n RetrievePersonaKnowledgeResponse,\n Role,\n SendChatMessageOptions,\n SendChatMessageRequest,\n SendChatMessageResponse,\n SendChatMessageStreamedOptions,\n SendChatMessageStreamedRequest,\n SortOrder,\n Sorting,\n SourceType,\n State,\n Subcategory,\n SwitchConfigOptions,\n SwitchConfigRequest,\n SwitchConfigResponse,\n SystemAvatarOptions,\n SystemVoiceOptions,\n TagList,\n Tags,\n TriggerKnowledgeSnippetCreationRequest,\n TriggerKnowledgeSnippetCreationResponse,\n Type,\n UpdateType,\n UpsertKnowledgeSnippetOptions,\n UpsertKnowledgeSnippetRequest,\n UpsertKnowledgeSnippetResponse,\n VendorType,\n VoicePolicy,\n VoicePolicyOptionsOneOf,\n VoiceSourcePolicy,\n VoiceVendor,\n VoiceVendorData,\n VoiceVendorDataVendorDataOneOf,\n WebhookIdentityType,\n} from './legends-persona-v1-chat-persona-chats.universal.js';\n","import {\n createPersonaChat as publicCreatePersonaChat,\n getPersonaChat as publicGetPersonaChat,\n getPersonaChatContext as publicGetPersonaChatContext,\n retrievePersonaKnowledge as publicRetrievePersonaKnowledge,\n sendChatMessage as publicSendChatMessage,\n sendChatMessageStreamed as publicSendChatMessageStreamed,\n persistConversationMessage as publicPersistConversationMessage,\n listPersonaChats as publicListPersonaChats,\n createInteractiveConversation as publicCreateInteractiveConversation,\n createVoiceConversation as publicCreateVoiceConversation,\n endInteractiveConversation as publicEndInteractiveConversation,\n getInteractiveConversation as publicGetInteractiveConversation,\n generateChatCompletionsWithVendor as publicGenerateChatCompletionsWithVendor,\n generateChatCompletionsStreamWithVendor as publicGenerateChatCompletionsStreamWithVendor,\n queryChatMessages as publicQueryChatMessages,\n getPermissions as publicGetPermissions,\n queryPersonaChats as publicQueryPersonaChats,\n upsertKnowledgeSnippet as publicUpsertKnowledgeSnippet,\n switchConfig as publicSwitchConfig,\n deletePersonaChat as publicDeletePersonaChat,\n bulkDeletePersonaChatsByPersona as publicBulkDeletePersonaChatsByPersona,\n generateConversationOutcome as publicGenerateConversationOutcome,\n} from './legends-persona-v1-chat-persona-chats.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\n\nexport const createPersonaChat: MaybeContext<\n BuildRESTFunction<typeof publicCreatePersonaChat> &\n typeof publicCreatePersonaChat\n> = /*#__PURE__*/ createRESTModule(publicCreatePersonaChat);\nexport const getPersonaChat: MaybeContext<\n BuildRESTFunction<typeof publicGetPersonaChat> & typeof publicGetPersonaChat\n> = /*#__PURE__*/ createRESTModule(publicGetPersonaChat);\nexport const getPersonaChatContext: MaybeContext<\n BuildRESTFunction<typeof publicGetPersonaChatContext> &\n typeof publicGetPersonaChatContext\n> = /*#__PURE__*/ createRESTModule(publicGetPersonaChatContext);\nexport const retrievePersonaKnowledge: MaybeContext<\n BuildRESTFunction<typeof publicRetrievePersonaKnowledge> &\n typeof publicRetrievePersonaKnowledge\n> = /*#__PURE__*/ createRESTModule(publicRetrievePersonaKnowledge);\nexport const sendChatMessage: MaybeContext<\n BuildRESTFunction<typeof publicSendChatMessage> & typeof publicSendChatMessage\n> = /*#__PURE__*/ createRESTModule(publicSendChatMessage);\nexport const sendChatMessageStreamed: MaybeContext<\n BuildRESTFunction<typeof publicSendChatMessageStreamed> &\n typeof publicSendChatMessageStreamed\n> = /*#__PURE__*/ createRESTModule(publicSendChatMessageStreamed);\nexport const persistConversationMessage: MaybeContext<\n BuildRESTFunction<typeof publicPersistConversationMessage> &\n typeof publicPersistConversationMessage\n> = /*#__PURE__*/ createRESTModule(publicPersistConversationMessage);\nexport const listPersonaChats: MaybeContext<\n BuildRESTFunction<typeof publicListPersonaChats> &\n typeof publicListPersonaChats\n> = /*#__PURE__*/ createRESTModule(publicListPersonaChats);\nexport const createInteractiveConversation: MaybeContext<\n BuildRESTFunction<typeof publicCreateInteractiveConversation> &\n typeof publicCreateInteractiveConversation\n> = /*#__PURE__*/ createRESTModule(publicCreateInteractiveConversation);\nexport const createVoiceConversation: MaybeContext<\n BuildRESTFunction<typeof publicCreateVoiceConversation> &\n typeof publicCreateVoiceConversation\n> = /*#__PURE__*/ createRESTModule(publicCreateVoiceConversation);\nexport const endInteractiveConversation: MaybeContext<\n BuildRESTFunction<typeof publicEndInteractiveConversation> &\n typeof publicEndInteractiveConversation\n> = /*#__PURE__*/ createRESTModule(publicEndInteractiveConversation);\nexport const getInteractiveConversation: MaybeContext<\n BuildRESTFunction<typeof publicGetInteractiveConversation> &\n typeof publicGetInteractiveConversation\n> = /*#__PURE__*/ createRESTModule(publicGetInteractiveConversation);\nexport const generateChatCompletionsWithVendor: MaybeContext<\n BuildRESTFunction<typeof publicGenerateChatCompletionsWithVendor> &\n typeof publicGenerateChatCompletionsWithVendor\n> = /*#__PURE__*/ createRESTModule(publicGenerateChatCompletionsWithVendor);\nexport const generateChatCompletionsStreamWithVendor: MaybeContext<\n BuildRESTFunction<typeof publicGenerateChatCompletionsStreamWithVendor> &\n typeof publicGenerateChatCompletionsStreamWithVendor\n> = /*#__PURE__*/ createRESTModule(\n publicGenerateChatCompletionsStreamWithVendor\n);\nexport const queryChatMessages: MaybeContext<\n BuildRESTFunction<typeof publicQueryChatMessages> &\n typeof publicQueryChatMessages\n> = /*#__PURE__*/ createRESTModule(publicQueryChatMessages);\nexport const getPermissions: MaybeContext<\n BuildRESTFunction<typeof publicGetPermissions> & typeof publicGetPermissions\n> = /*#__PURE__*/ createRESTModule(publicGetPermissions);\nexport const queryPersonaChats: MaybeContext<\n BuildRESTFunction<typeof publicQueryPersonaChats> &\n typeof publicQueryPersonaChats\n> = /*#__PURE__*/ createRESTModule(publicQueryPersonaChats);\nexport const upsertKnowledgeSnippet: MaybeContext<\n BuildRESTFunction<typeof publicUpsertKnowledgeSnippet> &\n typeof publicUpsertKnowledgeSnippet\n> = /*#__PURE__*/ createRESTModule(publicUpsertKnowledgeSnippet);\nexport const switchConfig: MaybeContext<\n BuildRESTFunction<typeof publicSwitchConfig> & typeof publicSwitchConfig\n> = /*#__PURE__*/ createRESTModule(publicSwitchConfig);\nexport const deletePersonaChat: MaybeContext<\n BuildRESTFunction<typeof publicDeletePersonaChat> &\n typeof publicDeletePersonaChat\n> = /*#__PURE__*/ createRESTModule(publicDeletePersonaChat);\nexport const bulkDeletePersonaChatsByPersona: MaybeContext<\n BuildRESTFunction<typeof publicBulkDeletePersonaChatsByPersona> &\n typeof publicBulkDeletePersonaChatsByPersona\n> = /*#__PURE__*/ createRESTModule(publicBulkDeletePersonaChatsByPersona);\nexport const generateConversationOutcome: MaybeContext<\n BuildRESTFunction<typeof publicGenerateConversationOutcome> &\n typeof publicGenerateConversationOutcome\n> = /*#__PURE__*/ createRESTModule(publicGenerateConversationOutcome);\n\nexport {\n Namespace,\n Role,\n ConversationType,\n ChatMode,\n MessageType,\n VendorType,\n ParticipantType,\n SourceType,\n Channel,\n VoiceSourcePolicy,\n AvatarSourcePolicy,\n MessageStatus,\n MessageSource,\n Type,\n VoiceVendor,\n InteractiveConversationStatus,\n SortOrder,\n Category,\n Subcategory,\n UpdateType,\n State,\n WebhookIdentityType,\n} from './legends-persona-v1-chat-persona-chats.universal.js';\nexport {\n PersonaChat,\n ChatMessage,\n ChatMessageAttachment,\n ChatMessageAdded,\n KnowledgeSnippetCreationTriggered,\n KnowledgeRetrieved,\n Knowledge,\n KnowledgeSourceOptionsOneOf,\n KnowledgeChunkMetadata,\n KnowledgePageCard,\n ConversationEnded,\n ConversationOutcome,\n CapturedContact,\n ConversationExpired,\n CreatePersonaChatRequest,\n ChatConfig,\n AssistantConfigurationOverrides,\n VoicePolicy,\n VoicePolicyOptionsOneOf,\n SystemVoiceOptions,\n AvatarPolicy,\n AvatarPolicyOptionsOneOf,\n SystemAvatarOptions,\n Metadata,\n AdditionalMetadata,\n CreatePersonaChatResponse,\n GetPersonaChatRequest,\n GetPersonaChatResponse,\n GetPersonaChatContextRequest,\n GetPersonaChatContextResponse,\n ChatContext,\n PersonaDetails,\n RetrievePersonaKnowledgeRequest,\n RetrievePersonaKnowledgeResponse,\n RetrievePersonaKnowledgeInternalRequest,\n RetrievePersonaKnowledgeInternalResponse,\n SendChatMessageRequest,\n FunctionCallResult,\n ClientToolDefinition,\n SendChatMessageResponse,\n FunctionCall,\n SendChatMessageStreamedRequest,\n RawHttpResponse,\n HeadersEntry,\n PersistConversationMessageRequest,\n PersistedConversationMessage,\n PersistedConversationMonitoringData,\n PersistConversationMessageResponse,\n ListPersonaChatsRequest,\n ListPersonaChatsResponse,\n CreateInteractiveConversationRequest,\n CreateInteractiveConversationResponse,\n Limitation,\n CreateVoiceConversationRequest,\n CreateVoiceConversationResponse,\n VoiceVendorData,\n VoiceVendorDataVendorDataOneOf,\n ElevenLabsData,\n HourOneData,\n HumeData,\n FishAudioData,\n EndInteractiveConversationRequest,\n EndInteractiveConversationResponse,\n GetInteractiveConversationRequest,\n GetInteractiveConversationResponse,\n GetCallMemberRequest,\n GetCallMemberResponse,\n RawHttpRequest,\n PathParametersEntry,\n QueryParametersEntry,\n TriggerKnowledgeSnippetCreationRequest,\n TriggerKnowledgeSnippetCreationResponse,\n QueryChatMessagesRequest,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n Sorting,\n CursorPaging,\n QueryChatMessagesResponse,\n CursorPagingMetadata,\n Cursors,\n GetPermissionsRequest,\n GetPermissionsResponse,\n QueryPersonaChatsRequest,\n QueryPersonaChatsResponse,\n UpsertKnowledgeSnippetRequest,\n GeneratedSnippet,\n UpsertKnowledgeSnippetResponse,\n KnowledgeSnippet,\n Tags,\n TagList,\n SwitchConfigRequest,\n SwitchConfigResponse,\n DeletePersonaChatRequest,\n DeletePersonaChatResponse,\n BulkDeletePersonaChatsByPersonaRequest,\n BulkDeletePersonaChatsByPersonaResponse,\n GenerateConversationOutcomeRequest,\n GenerateConversationOutcomeResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n Empty,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n AccountInfo,\n CreatePersonaChatOptions,\n GetPersonaChatOptions,\n RetrievePersonaKnowledgeOptions,\n SendChatMessageOptions,\n SendChatMessageStreamedOptions,\n PersistConversationMessageOptions,\n ListPersonaChatsOptions,\n CreateInteractiveConversationOptions,\n CreateVoiceConversationOptions,\n EndInteractiveConversationOptions,\n GetInteractiveConversationIdentifiers,\n GetInteractiveConversationOptions,\n GenerateChatCompletionsWithVendorOptions,\n GenerateChatCompletionsStreamWithVendorOptions,\n QueryChatMessagesOptions,\n GetPermissionsOptions,\n QueryPersonaChatsOptions,\n UpsertKnowledgeSnippetOptions,\n SwitchConfigOptions,\n DeletePersonaChatOptions,\n BulkDeletePersonaChatsByPersonaOptions,\n GenerateConversationOutcomeOptions,\n} from './legends-persona-v1-chat-persona-chats.universal.js';\nexport {\n NamespaceWithLiterals,\n RoleWithLiterals,\n ConversationTypeWithLiterals,\n ChatModeWithLiterals,\n MessageTypeWithLiterals,\n VendorTypeWithLiterals,\n ParticipantTypeWithLiterals,\n SourceTypeWithLiterals,\n ChannelWithLiterals,\n VoiceSourcePolicyWithLiterals,\n AvatarSourcePolicyWithLiterals,\n MessageStatusWithLiterals,\n MessageSourceWithLiterals,\n TypeWithLiterals,\n VoiceVendorWithLiterals,\n InteractiveConversationStatusWithLiterals,\n SortOrderWithLiterals,\n CategoryWithLiterals,\n SubcategoryWithLiterals,\n UpdateTypeWithLiterals,\n StateWithLiterals,\n WebhookIdentityTypeWithLiterals,\n GetPersonaChatContextApplicationErrors,\n RetrievePersonaKnowledgeApplicationErrors,\n UpsertKnowledgeSnippetApplicationErrors,\n} from './legends-persona-v1-chat-persona-chats.universal.js';\n"],"mappings":"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","names":["bulkDeletePersonaChatsByPersona","createInteractiveConversation","createPersonaChat","createVoiceConversation","deletePersonaChat","endInteractiveConversation","generateChatCompletionsStreamWithVendor","generateChatCompletionsWithVendor","generateConversationOutcome","getInteractiveConversation","getPermissions","getPersonaChat","getPersonaChatContext","listPersonaChats","persistConversationMessage","queryChatMessages","queryPersonaChats","retrievePersonaKnowledge","sendChatMessage","sendChatMessageStreamed","switchConfig","upsertKnowledgeSnippet","import_float","import_bytes","import_timestamp","import_rest_modules","payload","Namespace","Role","ConversationType","ChatMode","MessageType","VendorType","ParticipantType","SourceType","Channel","VoiceSourcePolicy","AvatarSourcePolicy","MessageStatus","MessageSource","Type","VoiceVendor","InteractiveConversationStatus","SortOrder","Category","Subcategory","UpdateType","State","WebhookIdentityType","createPersonaChat","sdkTransformError","getPersonaChat","getPersonaChatContext","retrievePersonaKnowledge","sendChatMessage","sendChatMessageStreamed","persistConversationMessage","listPersonaChats","createInteractiveConversation","createVoiceConversation","endInteractiveConversation","getInteractiveConversation","generateChatCompletionsWithVendor","generateChatCompletionsStreamWithVendor","queryChatMessages","getPermissions","queryPersonaChats","upsertKnowledgeSnippet","switchConfig","deletePersonaChat","bulkDeletePersonaChatsByPersona","generateConversationOutcome","createPersonaChat","getPersonaChat","getPersonaChatContext","retrievePersonaKnowledge","sendChatMessage","sendChatMessageStreamed","persistConversationMessage","listPersonaChats","createInteractiveConversation","createVoiceConversation","endInteractiveConversation","getInteractiveConversation","generateChatCompletionsWithVendor","generateChatCompletionsStreamWithVendor","queryChatMessages","getPermissions","queryPersonaChats","upsertKnowledgeSnippet","switchConfig","deletePersonaChat","bulkDeletePersonaChatsByPersona","generateConversationOutcome","import_rest_modules","createPersonaChat","getPersonaChat","getPersonaChatContext","retrievePersonaKnowledge","sendChatMessage","sendChatMessageStreamed","persistConversationMessage","listPersonaChats","createInteractiveConversation","createVoiceConversation","endInteractiveConversation","getInteractiveConversation","generateChatCompletionsWithVendor","generateChatCompletionsStreamWithVendor","queryChatMessages","getPermissions","queryPersonaChats","upsertKnowledgeSnippet","switchConfig","deletePersonaChat","bulkDeletePersonaChatsByPersona","generateConversationOutcome"]}
|
|
1
|
+
{"version":3,"sources":["../../index.ts","../../src/legends-persona-v1-chat-persona-chats.universal.ts","../../src/legends-persona-v1-chat-persona-chats.http.ts","../../src/legends-persona-v1-chat-persona-chats.public.ts","../../src/legends-persona-v1-chat-persona-chats.context.ts"],"sourcesContent":["export * from './src/legends-persona-v1-chat-persona-chats.context.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixLegendsPersonaV1Chat from './legends-persona-v1-chat-persona-chats.http.js';\n\n/** An entity for ChatService proxy */\nexport interface PersonaChat {\n /**\n * Chat ID\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Revision number\n * @readonly\n */\n revision?: string | null;\n /**\n * Tenant namespace of the chat.\n * @immutable\n * @deprecated Tenant namespace of the chat.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Persona ID\n * @format GUID\n * @readonly\n */\n personaId?: string;\n /**\n * Latest 100 messages in chat\n * @maxSize 1000\n * @readonly\n */\n messages?: ChatMessage[];\n /**\n * Chat creation timestamp\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Last update timestamp\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Mode for the chat:\n * PREVIEW - chat with Draft version of persona\n * PUBLISHED - chat with Published version of persona\n * LEARN - chat with Learning version of persona (owner can add new knowledge to the persona via chat)\n * CUSTOM - chat with a specific version of persona (e.g. a specific assistant for onboarding new users)\n */\n mode?: ChatModeWithLiterals;\n /**\n * Assistant configuration used for this chat (if any). If not provided in request, defaults to namespace default.\n * @format GUID\n * @readonly\n */\n configurationId?: string | null;\n /**\n * Optional title displayed in chat history.\n * @maxLength 200\n */\n title?: string | null;\n /**\n * Tenant namespace of the chat. Takes precedence over `namespace`.\n * @immutable\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport enum Namespace {\n DOLLY = 'DOLLY',\n WISDOM = 'WISDOM',\n EDUCATION = 'EDUCATION',\n TEST = 'TEST',\n TEST_MSID = 'TEST_MSID',\n ACADEMY = 'ACADEMY',\n LEGENDS_PLATFORM_MOBILE = 'LEGENDS_PLATFORM_MOBILE',\n IT_SUPPORT = 'IT_SUPPORT',\n SMART_CHAT = 'SMART_CHAT',\n CLAWDITE = 'CLAWDITE',\n HEADLESS = 'HEADLESS',\n}\n\n/** @enumType */\nexport type NamespaceWithLiterals =\n | Namespace\n | 'DOLLY'\n | 'WISDOM'\n | 'EDUCATION'\n | 'TEST'\n | 'TEST_MSID'\n | 'ACADEMY'\n | 'LEGENDS_PLATFORM_MOBILE'\n | 'IT_SUPPORT'\n | 'SMART_CHAT'\n | 'CLAWDITE'\n | 'HEADLESS';\n\nexport interface ChatMessage {\n /**\n * Conversation Message ID\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Conversation Chat ID\n * @format GUID\n * @readonly\n */\n chatId?: string;\n /** Role of message's owner (USER, ASSISTANT) */\n role?: RoleWithLiterals;\n /**\n * text of the message\n * @minLength 1\n * @maxLength 100000\n */\n content?: string | null;\n /**\n * Represents the time this Conversation Message was created\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Attached user files\n * @maxSize 5\n */\n attachments?: ChatMessageAttachment[];\n /**\n * Revision number\n * @readonly\n */\n revision?: string | null;\n /**\n * Deprecated: visual context is now carried in monitoring snapshots as turn_visual_context.\n * @readonly\n * @maxLength 10000\n * @deprecated\n * @replacedBy PersistedConversationMonitoringData.turn_visual_context\n * @targetRemovalDate 2027-02-07\n */\n visualContext?: string | null;\n /**\n * TEXT is typed text, AUDIO is a voice transcript, VIDEO is a video-call transcript.\n * @readonly\n */\n conversationType?: ConversationTypeWithLiterals;\n}\n\nexport enum Role {\n UNKNOWN = 'UNKNOWN',\n USER = 'USER',\n ASSISTANT = 'ASSISTANT',\n}\n\n/** @enumType */\nexport type RoleWithLiterals = Role | 'UNKNOWN' | 'USER' | 'ASSISTANT';\n\nexport interface ChatMessageAttachment {\n /**\n * Original name of the file\n * @minLength 1\n * @maxLength 100\n */\n fileName?: string;\n /**\n * Parsed text content of the file\n * @maxLength 100000\n */\n textFileContent?: string | null;\n /**\n * Uploaded to storage file URL\n * @minLength 1\n * @maxLength 1000\n */\n url?: string | null;\n /**\n * Type of the file\n * @minLength 1\n * @maxLength 100\n */\n mimeType?: string;\n}\n\n/** How the message was produced. Missing on messages stored before this field existed. */\nexport enum ConversationType {\n UNKNOWN_CONVERSATION_TYPE = 'UNKNOWN_CONVERSATION_TYPE',\n TEXT = 'TEXT',\n AUDIO = 'AUDIO',\n VIDEO = 'VIDEO',\n}\n\n/** @enumType */\nexport type ConversationTypeWithLiterals =\n | ConversationType\n | 'UNKNOWN_CONVERSATION_TYPE'\n | 'TEXT'\n | 'AUDIO'\n | 'VIDEO';\n\nexport enum ChatMode {\n PREVIEW = 'PREVIEW',\n PUBLISHED = 'PUBLISHED',\n /** Pass the Chat Config on chat creation instead */\n LEARN = 'LEARN',\n}\n\n/** @enumType */\nexport type ChatModeWithLiterals = ChatMode | 'PREVIEW' | 'PUBLISHED' | 'LEARN';\n\n/** Action message for chat message added event */\nexport interface ChatMessageAdded {\n /** Message that was added to the chat. */\n message?: ChatMessage;\n /**\n * ID of the vendor specific conversation id (video or audio)\n * @maxLength 100\n */\n interactiveConversationId?: string | null;\n /**\n * Type of the conversation message\n * @readonly\n */\n messageType?: MessageTypeWithLiterals;\n /**\n * Vendor type\n * @readonly\n */\n vendorType?: VendorTypeWithLiterals;\n /**\n * Owner of the message\n * @format GUID\n * @readonly\n */\n personaOwnerId?: string | null;\n /**\n * Namespace\n * @maxLength 50\n * @readonly\n */\n namespace?: string | null;\n /**\n * Participant (visitor) member id, propagated for server-recorded conversations where the member identity is not in the call scope.\n * @format GUID\n * @readonly\n */\n participantUserId?: string | null;\n /**\n * Mode of the chat: PREVIEW = authoring/preview, PUBLISHED = live visitor conversation with a published Legend.\n * @readonly\n */\n chatMode?: ChatModeWithLiterals;\n /**\n * Persona this chat is with; propagated so consumers don't need a GetPersonaChat lookup.\n * @format GUID\n * @readonly\n */\n personaId?: string | null;\n /**\n * Type of the participant (chat owner) that produced this message; lets consumers route to the correct tenancy without an owner lookup.\n * @readonly\n */\n participantType?: ParticipantTypeWithLiterals;\n}\n\nexport enum MessageType {\n UNKNOWN_MESSAGE_TYPE = 'UNKNOWN_MESSAGE_TYPE',\n TEXT = 'TEXT',\n AUDIO = 'AUDIO',\n VIDEO = 'VIDEO',\n}\n\n/** @enumType */\nexport type MessageTypeWithLiterals =\n | MessageType\n | 'UNKNOWN_MESSAGE_TYPE'\n | 'TEXT'\n | 'AUDIO'\n | 'VIDEO';\n\nexport enum VendorType {\n TAVUS = 'TAVUS',\n ELEVENLABS = 'ELEVENLABS',\n HOURONE = 'HOURONE',\n ANAM = 'ANAM',\n HUME = 'HUME',\n FISH_AUDIO = 'FISH_AUDIO',\n}\n\n/** @enumType */\nexport type VendorTypeWithLiterals =\n | VendorType\n | 'TAVUS'\n | 'ELEVENLABS'\n | 'HOURONE'\n | 'ANAM'\n | 'HUME'\n | 'FISH_AUDIO';\n\n/** Type of the chat owner that produced this message. */\nexport enum ParticipantType {\n UNKNOWN_PARTICIPANT_TYPE = 'UNKNOWN_PARTICIPANT_TYPE',\n USER = 'USER',\n SITE_MEMBER = 'SITE_MEMBER',\n SITE_VISITOR = 'SITE_VISITOR',\n}\n\n/** @enumType */\nexport type ParticipantTypeWithLiterals =\n | ParticipantType\n | 'UNKNOWN_PARTICIPANT_TYPE'\n | 'USER'\n | 'SITE_MEMBER'\n | 'SITE_VISITOR';\n\nexport interface KnowledgeSnippetCreationTriggered {\n /**\n * Time when the knowledge snippet creation was triggered last time\n * @readonly\n */\n previousTriggeredDate?: Date | null;\n /**\n * Time when the knowledge snippet creation is triggered\n * @readonly\n */\n triggeredDate?: Date | null;\n}\n\nexport interface KnowledgeRetrieved {\n /**\n * ID of the user message that triggered knowledge retrieval\n * @format GUID\n */\n userMessageId?: string;\n /**\n * Retrieved knowledge content\n * @maxSize 1000\n */\n retrievedKnowledge?: Knowledge[];\n /**\n * Query used to call SearchKnowledge\n * @maxLength 1000\n * @readonly\n */\n query?: string;\n /**\n * Persona Id\n * @format GUID\n * @readonly\n */\n personaId?: string;\n}\n\n/**\n * A Knowledge is a piece of content associated with a specific persona\n * that contains title and content fields.\n */\nexport interface Knowledge extends KnowledgeSourceOptionsOneOf {\n /**\n * Knowledge Snippet ID, if the knowledge was created from a snippet.\n * @format GUID\n * @readonly\n */\n knowledgeSnippetId?: string;\n /**\n * Knowledge Document ID, if the knowledge was created from a document.\n * @format GUID\n * @readonly\n */\n knowledgeDocumentId?: string;\n /**\n * Knowledge Link ID, if the knowledge was created from a link.\n * @format GUID\n * @readonly\n */\n knowledgeLinkId?: string;\n /**\n * Knowledge ID.\n * @format GUID\n * @readonly\n */\n _id?: string;\n /**\n * Knowledge revision\n * @readonly\n */\n revision?: string;\n /**\n * Title of the knowledge\n * @maxLength 255\n */\n title?: string;\n /**\n * Main content of the knowledge\n * @maxLength 10000\n */\n content?: string;\n /**\n * The Persona that the Knowledge belongs to\n * @format GUID\n * @readonly\n */\n personaId?: string;\n /**\n * Tenant namespace of the Knowledge as a string.\n * @maxLength 50\n * @readonly\n */\n namespaceV2?: string | null;\n /** Chunk index */\n chunkIndex?: number;\n /** Relevance score */\n relevanceScore?: number;\n /** Type of source from which the knowledge was created. */\n sourceType?: SourceTypeWithLiterals;\n /** Whether the knowledge is in draft state */\n draft?: boolean;\n /** Whether the knowledge is deleted */\n deleted?: boolean;\n /**\n * Exact crawled page URL that produced this knowledge chunk, when available.\n * @format WEB_URL\n * @readonly\n */\n sourceUrl?: string | null;\n /**\n * Metadata for this converted chunk. Present when the chunk was produced by\n * metadata-enriched conversion and persisted in search.\n * @readonly\n */\n chunkMetadata?: KnowledgeChunkMetadata;\n}\n\n/** @oneof */\nexport interface KnowledgeSourceOptionsOneOf {\n /**\n * Knowledge Snippet ID, if the knowledge was created from a snippet.\n * @format GUID\n * @readonly\n */\n knowledgeSnippetId?: string;\n /**\n * Knowledge Document ID, if the knowledge was created from a document.\n * @format GUID\n * @readonly\n */\n knowledgeDocumentId?: string;\n /**\n * Knowledge Link ID, if the knowledge was created from a link.\n * @format GUID\n * @readonly\n */\n knowledgeLinkId?: string;\n}\n\nexport enum SourceType {\n KNOWLEDGE_DOCUMENT = 'KNOWLEDGE_DOCUMENT',\n KNOWLEDGE_SNIPPET = 'KNOWLEDGE_SNIPPET',\n KNOWLEDGE_LINK = 'KNOWLEDGE_LINK',\n}\n\n/** @enumType */\nexport type SourceTypeWithLiterals =\n | SourceType\n | 'KNOWLEDGE_DOCUMENT'\n | 'KNOWLEDGE_SNIPPET'\n | 'KNOWLEDGE_LINK';\n\nexport interface KnowledgeChunkMetadata {\n /**\n * Chunk number in the converted output.\n * @readonly\n */\n chunkNumber?: number;\n /**\n * Number of tokens in the chunk.\n * @readonly\n */\n tokensSize?: number;\n /**\n * Exact crawled page URL that produced this chunk, when available.\n * @format WEB_URL\n * @readonly\n */\n sourceUrl?: string | null;\n /**\n * Human-readable section trail inferred by the converter.\n * @maxSize 8\n * @maxLength 256\n * @readonly\n */\n sectionPath?: string[];\n /**\n * Opaque stable group id for chunks belonging to the same concrete section.\n * @maxLength 16\n * @readonly\n */\n semanticGroupId?: string | null;\n /**\n * Zero-based position inside the semantic group.\n * @readonly\n */\n groupIndex?: number | null;\n /**\n * Total number of chunks in the semantic group.\n * @readonly\n */\n groupSize?: number | null;\n /**\n * Previous global chunk number.\n * @readonly\n */\n prevChunkNumber?: number | null;\n /**\n * Next global chunk number.\n * @readonly\n */\n nextChunkNumber?: number | null;\n /**\n * Source page numbers for this chunk, when available.\n * @maxSize 100\n * @readonly\n */\n pageNumbers?: number[];\n /**\n * Docling content labels included in this chunk.\n * @maxSize 20\n * @maxLength 64\n * @readonly\n */\n contentTypes?: string[];\n /**\n * Whether this chunk contains table content.\n * @readonly\n */\n tableContent?: boolean | null;\n /**\n * Whether this chunk contains heading/title content.\n * @readonly\n */\n headingContent?: boolean | null;\n /**\n * Bounded table or figure caption, when available.\n * @maxLength 2048\n * @readonly\n */\n caption?: string | null;\n /**\n * What the page `source_url` points to is (a product, event, service or post) and the fields a chat card shows\n * for it, read by the crawler from the page's structured data. Repeated on each chunk of that page.\n * @readonly\n */\n pageCard?: KnowledgePageCard;\n}\n\n/** Card fields of one crawled page. Everything but `page_type` is optional; values are as the page states them. */\nexport interface KnowledgePageCard {\n /**\n * \"product\", \"event\", \"service\" or \"post\".\n * @maxLength 16\n * @readonly\n */\n pageType?: string;\n /**\n * The item's name or the post's headline.\n * @maxLength 255\n * @readonly\n */\n title?: string | null;\n /**\n * Absolute image URL.\n * @maxLength 2048\n * @readonly\n */\n imageUrl?: string | null;\n /**\n * Raw amount, e.g. \"187.5\"; formatted by the client with `currency`.\n * @maxLength 32\n * @readonly\n */\n price?: string | null;\n /**\n * ISO 4217 currency code.\n * @maxLength 8\n * @readonly\n */\n currency?: string | null;\n /**\n * The price before a sale; only set when above `price`.\n * @maxLength 32\n * @readonly\n */\n originalPrice?: string | null;\n /**\n * \"in_stock\", \"out_of_stock\", \"pre_order\", \"back_order\", \"limited\" or \"discontinued\".\n * @maxLength 32\n * @readonly\n */\n availability?: string | null;\n /**\n * An event's start, ISO 8601 with offset.\n * @maxLength 64\n * @readonly\n */\n startDate?: string | null;\n /**\n * An event's venue name.\n * @maxLength 255\n * @readonly\n */\n venue?: string | null;\n /**\n * A post's author name.\n * @maxLength 255\n * @readonly\n */\n author?: string | null;\n /**\n * A post's publish date, ISO 8601.\n * @maxLength 64\n * @readonly\n */\n publishedDate?: string | null;\n}\n\n/**\n * The ConversationOutcome event: one conversation of a PUBLISHED DOLLY chat ended, and this is what came out of it.\n * Emitted once per conversation (at least once: consumers dedup on outcome.id, the conversation ID). The entity ID\n * is the chat ID; the event is scoped to the account that owns the Legend.\n */\nexport interface ConversationEnded {\n /**\n * The conversation's outcome.\n * @readonly\n */\n outcome?: ConversationOutcome;\n}\n\n/**\n * What came out of one finished Legend conversation: a summary, the customer's intent, the contact they left and\n * the questions the Legend could not answer. One outcome per conversation, stored under the account that owns the\n * Legend. It is announced by the PersonaChat ConversationEnded action event; ListConversationOutcomes is the backfill read.\n *\n * A conversation is one occurrence of a PUBLISHED DOLLY chat: it ends when the chat stays silent past the pause\n * threshold of conversation-activity-service, whatever the channel.\n */\nexport interface ConversationOutcome {\n /**\n * The conversation ID: the ID of the conversation's first message. One outcome per conversation.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Revision number, incremented by 1 on each update.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the outcome was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the outcome was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * The chat the conversation took place in.\n * @format GUID\n * @readonly\n */\n chatId?: string;\n /**\n * The Legend's persona ID.\n * @format GUID\n * @readonly\n */\n personaId?: string;\n /**\n * The channel the conversation ran on.\n * @readonly\n */\n channel?: ChannelWithLiterals;\n /**\n * A short summary of the conversation.\n * @maxLength 2000\n * @readonly\n */\n summary?: string | null;\n /**\n * What the customer wanted, in a few words, e.g. \"book a consultation\".\n * @maxLength 200\n * @readonly\n */\n intent?: string | null;\n /**\n * Contact details the customer left during the conversation, if any.\n * @readonly\n */\n capturedContact?: CapturedContact;\n /**\n * Questions the Legend could not answer.\n * @maxSize 20\n * @maxLength 500\n * @readonly\n */\n unansweredQuestions?: string[];\n /**\n * Usage record ID of the call: the interactive conversation ID. Absent for a text conversation, which is not billed by the minute.\n * @maxLength 100\n * @readonly\n */\n usageId?: string | null;\n /**\n * Date and time of the conversation's first message.\n * @readonly\n */\n startedDate?: Date | null;\n /**\n * Date and time the conversation ended: its last message.\n * @readonly\n */\n endedDate?: Date | null;\n}\n\n/** The channel a conversation ran on. */\nexport enum Channel {\n TEXT = 'TEXT',\n VOICE = 'VOICE',\n VIDEO = 'VIDEO',\n}\n\n/** @enumType */\nexport type ChannelWithLiterals = Channel | 'TEXT' | 'VOICE' | 'VIDEO';\n\n/** Contact details a customer left in a conversation. */\nexport interface CapturedContact {\n /**\n * The customer's name.\n * @maxLength 200\n */\n name?: string | null;\n /**\n * The customer's email.\n * @format EMAIL\n */\n email?: string | null;\n /**\n * The customer's phone.\n * @format PHONE\n */\n phone?: string | null;\n}\n\n/**\n * A DOLLY visitor conversation reached the end of its retention: 12 months after its last message (ADR-019 privacy\n * decision). Sent once per chat, before the chat and its messages are deleted, so that stores holding data derived from\n * the conversation (knowledge gaps) delete theirs. Deleting a chat by hand does not send it; when such a chat's\n * last message turns 12 months old, the retention sends it for what derived from the chat. The entity ID is the chat ID.\n */\nexport interface ConversationExpired {\n /**\n * Legend (persona) the conversation was with.\n * @format GUID\n * @readonly\n */\n personaId?: string;\n /**\n * Account that owns the Legend: the tenant of the chat and of what derives from it.\n * @format GUID\n * @readonly\n */\n accountId?: string;\n /**\n * Namespace of the chat.\n * @maxLength 50\n * @readonly\n */\n namespace?: string;\n /**\n * Time of the conversation's last message.\n * @readonly\n */\n lastMessageDate?: Date | null;\n}\n\nexport interface CreatePersonaChatRequest {\n /** Chat to create */\n chat: PersonaChat;\n /**\n * Welcome message from the assistant\n * @minLength 1\n * @maxLength 10000\n */\n firstMessage?: string | null;\n /** configuration reference and/or inline overrides for this request */\n chatConfig?: ChatConfig;\n /** Metadata for the conversation (page context, custom metadata, etc.) */\n metadata?: Metadata;\n}\n\n/** Lightweight configuration input for requests */\nexport interface ChatConfig {\n /**\n * If provided, use this stored configuration as base; otherwise use default configuration by namespace\n * @format GUID\n */\n configurationId?: string | null;\n /**\n * Optional explicit assistant id (highest priority)\n * @maxLength 200\n */\n explicitAssistantId?: string | null;\n /** Inline overrides to adjust base configuration for this request only */\n inlineOverride?: AssistantConfigurationOverrides;\n /**\n * Names of the configuration's tools (`AssistantConfiguration.tool_names`) to offer the model on this non-streamed text turn, or on the voice or video call this request starts. A configuration tool not named here is not offered.\n * @maxSize 32\n * @maxLength 64\n */\n enabledToolNames?: string[];\n}\n\n/** Inline overrides compatible subset of AssistantConfiguration fields */\nexport interface AssistantConfigurationOverrides {\n /**\n * Default assistant ID for text conversations\n * @maxLength 200\n */\n textAssistantId?: string | null;\n /**\n * Default assistant ID for audio conversations\n * @maxLength 200\n */\n voiceAssistantId?: string | null;\n /**\n * Default assistant ID for video conversations\n * @maxLength 200\n */\n videoAssistantId?: string | null;\n /** Default voice selection policy for voice conversations */\n voicePolicy?: VoicePolicy;\n /** Default avatar selection policy for video conversations */\n avatarPolicy?: AvatarPolicy;\n /**\n * Custom greeting override for interactive conversations\n * @maxLength 2000\n */\n customGreeting?: string | null;\n /** Apply greenscreen for live conversations */\n applyGreenscreen?: boolean | null;\n /** Enable speculative requests for interactive and voice conversations for this request (default: false) */\n speculative?: boolean | null;\n /**\n * Per-request override for the avatar agent's video perception system prompt\n * @maxLength 4096\n */\n videoPerceptionPrompt?: string | null;\n /** Per-request override for the avatar agent's video perception toggle (overrides persisted configuration) */\n videoPerceptionEnabled?: boolean | null;\n /**\n * Per-request override for the backing LLM system prompt\n * @maxLength 100000\n */\n prompt?: string | null;\n /**\n * Per-request override for the avatar agent's video frame sampling interval (seconds)\n * @min 0.1\n * @max 30\n */\n videoFrameSampleIntervalSec?: number | null;\n /** Per-request override to inject client-provided LiveKit participant attributes into the agent's per-turn LLM context */\n clientContextEnabled?: boolean | null;\n /** Per-request override: the call keeps only the server-defined tool schemas (ADR-019) */\n serverToolSchemasOnly?: boolean | null;\n /** Per-request override: page context reaches the agent fenced at user role (ADR-019) */\n fencedPageContextEnabled?: boolean | null;\n /** Per-request override: the room waits for the visitor to rejoin after a page change (ADR-019) */\n rejoinGraceEnabled?: boolean | null;\n /**\n * Per-request override: seconds to wait for the rejoin (ADR-019)\n * @max 60\n */\n rejoinGraceSec?: number | null;\n}\n\n/** Voice selection policy for voice conversations */\nexport interface VoicePolicy extends VoicePolicyOptionsOneOf {\n /** Options when source is SYSTEM_VOICE */\n systemVoiceOptions?: SystemVoiceOptions;\n /** Voice source type */\n source?: VoiceSourcePolicyWithLiterals;\n}\n\n/** @oneof */\nexport interface VoicePolicyOptionsOneOf {\n /** Options when source is SYSTEM_VOICE */\n systemVoiceOptions?: SystemVoiceOptions;\n}\n\nexport enum VoiceSourcePolicy {\n /** Use persona-attached voice */\n PERSONA_VOICE = 'PERSONA_VOICE',\n /** Use system-provided voice */\n SYSTEM_VOICE = 'SYSTEM_VOICE',\n}\n\n/** @enumType */\nexport type VoiceSourcePolicyWithLiterals =\n | VoiceSourcePolicy\n | 'PERSONA_VOICE'\n | 'SYSTEM_VOICE';\n\nexport interface SystemVoiceOptions {\n /**\n * Required when source == SYSTEM_VOICE\n * @format GUID\n */\n systemVoiceId?: string;\n}\n\n/** Avatar selection policy for video conversations */\nexport interface AvatarPolicy extends AvatarPolicyOptionsOneOf {\n /** Options when source is SYSTEM_AVATAR */\n systemAvatarOptions?: SystemAvatarOptions;\n /** Avatar source type */\n source?: AvatarSourcePolicyWithLiterals;\n}\n\n/** @oneof */\nexport interface AvatarPolicyOptionsOneOf {\n /** Options when source is SYSTEM_AVATAR */\n systemAvatarOptions?: SystemAvatarOptions;\n}\n\nexport enum AvatarSourcePolicy {\n /** Use persona-attached avatar */\n PERSONA_AVATAR = 'PERSONA_AVATAR',\n /** Use system-provided avatar */\n SYSTEM_AVATAR = 'SYSTEM_AVATAR',\n}\n\n/** @enumType */\nexport type AvatarSourcePolicyWithLiterals =\n | AvatarSourcePolicy\n | 'PERSONA_AVATAR'\n | 'SYSTEM_AVATAR';\n\nexport interface SystemAvatarOptions {\n /**\n * Required when source == SYSTEM_AVATAR\n * @format GUID\n */\n systemAvatarId?: string;\n}\n\nexport interface Metadata {\n /**\n * The URL of the page\n * @maxLength 10000\n */\n pageUrl?: string | null;\n /**\n * The HTML of the page\n * @maxLength 10000000\n */\n pageHtml?: string | null;\n /**\n * The Blob of the page\n * @maxLength 10000000\n */\n pageBlob?: string | null;\n /**\n * The User Agent of the client\n * @maxLength 1000\n */\n userAgent?: string | null;\n /**\n * The additional metadata\n * @maxSize 100\n */\n additionalMetadata?: AdditionalMetadata[];\n}\n\nexport interface AdditionalMetadata {\n /**\n * The key of the additional metadata\n * @maxLength 100\n */\n key?: string | null;\n /**\n * The value of the additional metadata\n * @maxLength 100000\n */\n value?: string | null;\n /** Whether to exclude the metadata from the prompt */\n excludeFromPrompt?: boolean | null;\n}\n\nexport interface CreatePersonaChatResponse {\n /** Chat created */\n chat?: PersonaChat;\n}\n\nexport interface GetPersonaChatRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport interface GetPersonaChatResponse {\n /** The requested chat. */\n chat?: PersonaChat;\n}\n\nexport interface GetPersonaChatContextRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId: string;\n}\n\nexport interface GetPersonaChatContextResponse {\n /** The requested chat. */\n chatContext?: ChatContext;\n}\n\nexport interface ChatContext {\n /**\n * Chat ID\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /** Persona details */\n personaDetails?: PersonaDetails;\n mode?: ChatModeWithLiterals;\n}\n\nexport interface PersonaDetails {\n /**\n * Persona ID\n * @format GUID\n * @readonly\n */\n personaId?: string | null;\n /**\n * Persona name\n * @readonly\n * @maxLength 200\n */\n name?: string | null;\n /**\n * Persona description\n * @readonly\n */\n context?: Record<string, any> | null;\n /**\n * Persona intent\n * @readonly\n * @maxLength 200\n */\n intent?: string | null;\n /**\n * Sample questions for the persona\n * @readonly\n * @maxSize 10\n * @maxLength 200\n */\n sampleQuestions?: string[];\n /**\n * Persona name\n * @readonly\n * @maxLength 4000\n */\n bio?: string | null;\n}\n\nexport interface RetrievePersonaKnowledgeRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId: string;\n /**\n * Query to perform similarity search on.\n * @maxLength 50000\n */\n query: string;\n /**\n * Message ID to retrieve knowledge for.\n * @format GUID\n */\n userMessageId: string;\n}\n\nexport interface RetrievePersonaKnowledgeResponse {\n /** Persona knowledge retrieved. */\n knowledgeItems?: Knowledge[];\n}\n\nexport interface RetrievePersonaKnowledgeInternalRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId?: string;\n /**\n * Query to perform similarity search on.\n * @maxLength 50000\n */\n query?: string;\n /**\n * Message ID to retrieve knowledge for.\n * @format GUID\n */\n userMessageId?: string;\n /**\n * Persona owner account for CallScope override.\n * @format GUID\n */\n targetAccountId?: string;\n}\n\nexport interface RetrievePersonaKnowledgeInternalResponse {\n /** Persona knowledge retrieved. */\n knowledgeItems?: Knowledge[];\n}\n\nexport interface SendChatMessageRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * New user message content\n * @maxLength 10000\n */\n message?: string;\n chatConfig?: ChatConfig;\n /**\n * Attached user files\n * @maxSize 5\n */\n attachments?: ChatMessageAttachment[];\n /**\n * Assistant messages to be injected into the conversation history\n * @maxSize 10\n * @maxLength 10000\n */\n assistantMessages?: string[] | null;\n /**\n * Function call results from client\n * @maxSize 30\n */\n functionCallResults?: FunctionCallResult[];\n /** Metadata for the message (page context, custom metadata, etc.) */\n metadata?: Metadata;\n /**\n * Tools defined and executed by the client for this message. Offered to the LLM alongside the\n * assistant's configured tools on assistant-backed chats served through AI Gateway; a call comes\n * back in function_calls and the client answers on the next request via function_call_results.\n * @maxSize 32\n */\n clientTools?: ClientToolDefinition[];\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n /**\n * Optional language or locale for the reply (for example, es-ES or en-US).\n * When omitted, the reply keeps its existing language behavior.\n * @format LANGUAGE_TAG\n * @maxLength 10\n */\n conversationLanguage?: string | null;\n}\n\n/** Function call result message from client */\nexport interface FunctionCallResult {\n /**\n * Unique identifier matching the function call\n * @maxLength 1000\n */\n _id?: string | null;\n /**\n * The name of the function that was called\n * @minLength 1\n * @maxLength 1000\n */\n name?: string | null;\n /**\n * The result content from function execution\n * @maxLength 32768\n */\n content?: string | null;\n /** Whether the function call was successful */\n success?: boolean | null;\n}\n\n/** Tool definition supplied by the client on SendChatMessageRequest.client_tools. */\nexport interface ClientToolDefinition {\n /**\n * Tool name, letters, digits, _ and - only; unique per request\n * @minLength 1\n * @maxLength 64\n */\n name?: string;\n /**\n * What the tool does and when to use it\n * @maxLength 2000\n */\n description?: string | null;\n /** JSON schema (type: object) of the tool arguments */\n parameters?: Record<string, any> | null;\n}\n\nexport interface SendChatMessageResponse {\n /** Assistant response messages */\n messages?: ChatMessage[];\n /**\n * Function calls for client tools\n * @maxSize 30\n */\n functionCalls?: FunctionCall[];\n /** Whether anyone but the owner can send the Legend another chat message */\n canSendChatMessage?: boolean;\n}\n\n/** Function call message for client tools */\nexport interface FunctionCall {\n /**\n * Unique identifier for the function call\n * @maxLength 1000\n */\n _id?: string | null;\n /**\n * The name of the function to be called\n * @minLength 1\n * @maxLength 1000\n */\n name?: string | null;\n /** The arguments to be passed to the function in JSON format */\n arguments?: Record<string, any> | null;\n}\n\n/**\n * Field numbers intentionally mirror SendChatMessageRequest so the two share the same wire layout\n * and mapping code; function_call_results and client_tools are deliberately omitted (streaming does\n * not support tool calling). This is why the numbering is non-sequential.\n */\nexport interface SendChatMessageStreamedRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId?: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * New user message content\n * @maxLength 10000\n */\n message?: string;\n /** Optional per-request chat configuration (e.g. explicit assistant id) */\n chatConfig?: ChatConfig;\n /**\n * Attached user files\n * @maxSize 5\n */\n attachments?: ChatMessageAttachment[];\n /** Metadata for the message (page context, custom metadata, etc.) */\n metadata?: Metadata;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n /**\n * Optional language or locale for the reply (for example, es-ES or en-US).\n * When omitted, the reply keeps its existing language behavior.\n * @format LANGUAGE_TAG\n * @maxLength 10\n */\n conversationLanguage?: string | null;\n}\n\nexport interface RawHttpResponse {\n body?: Uint8Array;\n statusCode?: number | null;\n headers?: HeadersEntry[];\n}\n\nexport interface HeadersEntry {\n key?: string;\n value?: string;\n}\n\nexport interface PersistConversationMessageRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /** Message to persist without LLM processing */\n message: PersistedConversationMessage;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport interface PersistedConversationMessage {\n /**\n * Idempotency key / message ID\n * @format GUID\n */\n messageId?: string;\n /** Role of message owner */\n role?: RoleWithLiterals;\n /**\n * Text content\n * @maxLength 100000\n */\n content?: string | null;\n /**\n * Attached files\n * @maxSize 5\n */\n attachments?: ChatMessageAttachment[];\n /** Original creation time */\n _createdDate?: Date | null;\n /** Persistence status */\n status?: MessageStatusWithLiterals;\n /** Message origin */\n source?: MessageSourceWithLiterals;\n /**\n * Vendor conversation id\n * @maxLength 100\n */\n interactiveConversationId?: string | null;\n /** Position in external conversation */\n sequence?: number | null;\n /**\n * Previous related message\n * @format GUID\n */\n previousMessageId?: string | null;\n /** Optional monitoring metadata for finalized mirrored assistant turns */\n monitoringData?: PersistedConversationMonitoringData;\n}\n\nexport enum MessageStatus {\n UNKNOWN_MESSAGE_STATUS = 'UNKNOWN_MESSAGE_STATUS',\n FINAL = 'FINAL',\n PARTIAL = 'PARTIAL',\n CANCELLED = 'CANCELLED',\n INTERRUPTED = 'INTERRUPTED',\n}\n\n/** @enumType */\nexport type MessageStatusWithLiterals =\n | MessageStatus\n | 'UNKNOWN_MESSAGE_STATUS'\n | 'FINAL'\n | 'PARTIAL'\n | 'CANCELLED'\n | 'INTERRUPTED';\n\nexport enum MessageSource {\n UNKNOWN_MESSAGE_SOURCE = 'UNKNOWN_MESSAGE_SOURCE',\n LIVEKIT_CHAT = 'LIVEKIT_CHAT',\n LIVEKIT_ATTACHMENT = 'LIVEKIT_ATTACHMENT',\n LIVEKIT_VOICE = 'LIVEKIT_VOICE',\n SIMPLE_AVATAR_AGENT = 'SIMPLE_AVATAR_AGENT',\n}\n\n/** @enumType */\nexport type MessageSourceWithLiterals =\n | MessageSource\n | 'UNKNOWN_MESSAGE_SOURCE'\n | 'LIVEKIT_CHAT'\n | 'LIVEKIT_ATTACHMENT'\n | 'LIVEKIT_VOICE'\n | 'SIMPLE_AVATAR_AGENT';\n\nexport interface PersistedConversationMonitoringData {\n /**\n * LLM provider\n * @maxLength 100\n */\n provider?: string | null;\n /**\n * LLM model\n * @maxLength 200\n */\n model?: string | null;\n /**\n * Stable base system prompt for the turn\n * @maxLength 100000\n */\n systemPrompt?: string | null;\n /** LLM processing duration */\n llmDurationMs?: string | null;\n /** End-to-end turn duration */\n totalDurationMs?: string | null;\n /**\n * Per-turn RAG context injected into the LLM turn context\n * @maxSize 100\n * @maxLength 10000\n */\n dynamicKnowledge?: string[];\n /**\n * BCP-47 language detected from user speech\n * @maxLength 50\n */\n detectedLanguage?: string | null;\n /**\n * Visual perception summary injected into the LLM turn context\n * @maxLength 10000\n */\n turnVisualContext?: string | null;\n}\n\nexport interface PersistConversationMessageResponse {\n /** Stored message */\n message?: ChatMessage;\n /** True when the message already existed */\n deduplicated?: boolean;\n}\n\nexport interface ListPersonaChatsRequest {\n /**\n * Persona ID\n * @format GUID\n */\n personaId: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport interface ListPersonaChatsResponse {\n /** The retrieved chats */\n chats?: PersonaChat[];\n}\n\nexport interface CreateInteractiveConversationRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /** Chat configuration reference and/or inline overrides for this request */\n chatConfig?: ChatConfig;\n /** First conversation with the persona; unset → first-time introduction. */\n firstConversation?: boolean | null;\n /**\n * Topic of the last conversation; used for a returning-visitor greeting.\n * @maxLength 200\n */\n lastConversationTopic?: string | null;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n /**\n * Optional language or locale for this voice call (for example, es or en-GB).\n * When omitted, the realtime agent keeps its existing language behavior.\n * @maxLength 10\n */\n conversationLanguage?: string | null;\n}\n\nexport interface CreateInteractiveConversationResponse {\n /**\n * Interactive conversation ID\n * @maxLength 50\n */\n interactiveConversationId?: string | null;\n /**\n * URL to the interactive conversation\n * @format WEB_URL\n */\n conversationUrl?: string | null;\n /** Limitation for the interactive conversation */\n limitation?: Limitation;\n}\n\nexport interface Limitation {\n /** Represents a limitation on the usage. */\n limit?: number | null;\n /** The type of the limitation. */\n type?: TypeWithLiterals;\n}\n\n/** The type of the limitation, e.g., minutes or seconds. */\nexport enum Type {\n MINUTES = 'MINUTES',\n SECONDS = 'SECONDS',\n TOKENS = 'TOKENS',\n}\n\n/** @enumType */\nexport type TypeWithLiterals = Type | 'MINUTES' | 'SECONDS' | 'TOKENS';\n\nexport interface CreateVoiceConversationRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * deprecated: not used, use chat_config configuration or inline_override instead\n * @deprecated deprecated: not used, use chat_config configuration or inline_override instead\n * @replacedBy chat_config.inline_override\n * @targetRemovalDate 2025-12-07\n */\n vendor?: VendorTypeWithLiterals;\n /** Whether to use WebRTC for the voice conversation (default: false) */\n useWebrtc?: boolean;\n /** Chat configuration reference and/or inline overrides for this request */\n chatConfig?: ChatConfig;\n /** First conversation with the persona; unset → first-time introduction. */\n firstConversation?: boolean | null;\n /**\n * Topic of the last conversation; used for a returning-visitor greeting.\n * @maxLength 200\n */\n lastConversationTopic?: string | null;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n /**\n * Optional language or locale for this voice call (for example, es or en-GB).\n * When omitted, the realtime agent keeps its existing language behavior.\n * @maxLength 10\n */\n conversationLanguage?: string | null;\n}\n\nexport interface CreateVoiceConversationResponse {\n /**\n * Voice conversation ID\n * @format GUID\n */\n interactiveConversationId?: string;\n /**\n * URL to the voice conversation\n * @format WEB_URL\n */\n conversationUrl?: string;\n /**\n * WebRTC token for joining the voice conversation (if use_webrtc is true)\n * @maxLength 1000\n */\n webrtcToken?: string | null;\n /** Limitation for the voice conversation */\n limitation?: Limitation;\n /** ElevenLabs Agent ID assigned to the voice conversation if this vendor is used */\n vendorData?: VoiceVendorData;\n /**\n * Custom greeting message for the voice conversation\n * @maxLength 2000\n */\n customGreeting?: string | null;\n}\n\nexport interface VoiceVendorData extends VoiceVendorDataVendorDataOneOf {\n /** ElevenLabs */\n elevenLabsData?: ElevenLabsData;\n /** Hour One */\n hourOneData?: HourOneData;\n /** Hume AI */\n humeData?: HumeData;\n /** Fish Audio */\n fishAudioData?: FishAudioData;\n /** Voice vendor */\n vendor?: VoiceVendorWithLiterals;\n /**\n * Vendor voice id\n * @maxLength 100\n */\n vendorVoiceId?: string | null;\n /**\n * Vendor voice model/version, for provider-specific TTS model selection (for example Hume Octave version)\n * @maxLength 100\n */\n vendorVoiceModel?: string | null;\n}\n\n/** @oneof */\nexport interface VoiceVendorDataVendorDataOneOf {\n /** ElevenLabs */\n elevenLabsData?: ElevenLabsData;\n /** Hour One */\n hourOneData?: HourOneData;\n /** Hume AI */\n humeData?: HumeData;\n /** Fish Audio */\n fishAudioData?: FishAudioData;\n}\n\nexport enum VoiceVendor {\n ELEVEN_LABS = 'ELEVEN_LABS',\n HOUR_ONE = 'HOUR_ONE',\n HUME = 'HUME',\n FISH_AUDIO = 'FISH_AUDIO',\n}\n\n/** @enumType */\nexport type VoiceVendorWithLiterals =\n | VoiceVendor\n | 'ELEVEN_LABS'\n | 'HOUR_ONE'\n | 'HUME'\n | 'FISH_AUDIO';\n\nexport interface ElevenLabsData {\n /**\n * ElevenLabs agent id\n * @maxLength 100\n */\n vendorAgentId?: string | null;\n}\n\nexport interface HourOneData {}\n\nexport interface HumeData {\n /**\n * Hume AI configuration id (agent id)\n * @maxLength 100\n */\n vendorAgentId?: string | null;\n /**\n * Acting instructions description\n * @maxLength 2000\n */\n description?: string | null;\n /**\n * Speech speed multiplier\n * @min 0.5\n * @max 2\n */\n speed?: number | null;\n /**\n * Trailing silence duration in seconds\n * @max 5\n */\n trailingSilence?: number | null;\n}\n\nexport interface FishAudioData {\n /**\n * Fish Audio TTS model identifier\n * @maxLength 100\n */\n modelId?: string | null;\n}\n\nexport interface EndInteractiveConversationRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Interactive conversation ID\n * @maxLength 50\n */\n interactiveConversationId: string;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport interface EndInteractiveConversationResponse {}\n\nexport interface GetInteractiveConversationRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Interactive conversation ID\n * @maxLength 50\n */\n interactiveConversationId: string;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport interface GetInteractiveConversationResponse {\n /** Status of the interactive conversation */\n status?: InteractiveConversationStatusWithLiterals;\n}\n\nexport enum InteractiveConversationStatus {\n /** Created, nobody has joined yet */\n PENDING = 'PENDING',\n /** In progress */\n ACTIVE = 'ACTIVE',\n /** Ended by a participant or by its time limit */\n ENDED = 'ENDED',\n /** Ended by the service because the Legend owner ran out of credits */\n ENDED_INSUFFICIENT_CREDIT = 'ENDED_INSUFFICIENT_CREDIT',\n /** Ended by the service because the caller reached the Legend's daily conversation limit */\n ENDED_LIMIT_REACHED = 'ENDED_LIMIT_REACHED',\n /** Ended by the service because the member's plan ran out of minutes for this call type */\n ENDED_PLAN_MINUTES_EXHAUSTED = 'ENDED_PLAN_MINUTES_EXHAUSTED',\n}\n\n/** @enumType */\nexport type InteractiveConversationStatusWithLiterals =\n | InteractiveConversationStatus\n | 'PENDING'\n | 'ACTIVE'\n | 'ENDED'\n | 'ENDED_INSUFFICIENT_CREDIT'\n | 'ENDED_LIMIT_REACHED'\n | 'ENDED_PLAN_MINUTES_EXHAUSTED';\n\nexport interface GetCallMemberRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId?: string;\n}\n\nexport interface GetCallMemberResponse {\n /**\n * Site member in the call. Empty when the chat has no published call with a site member.\n * @format GUID\n */\n memberId?: string | null;\n /**\n * Persona the member is talking to.\n * @format GUID\n */\n personaId?: string | null;\n /**\n * Tenant namespace of the chat.\n * @maxLength 50\n */\n namespace?: string | null;\n /**\n * Site the call was started on.\n * @format GUID\n */\n metaSiteId?: string | null;\n /**\n * Account that owns the persona.\n * @format GUID\n */\n accountId?: string | null;\n}\n\nexport interface RawHttpRequest {\n body?: Uint8Array;\n pathParams?: PathParametersEntry[];\n queryParams?: QueryParametersEntry[];\n headers?: HeadersEntry[];\n method?: string;\n rawPath?: string;\n rawQuery?: string;\n}\n\nexport interface PathParametersEntry {\n key?: string;\n value?: string;\n}\n\nexport interface QueryParametersEntry {\n key?: string;\n value?: string;\n}\n\nexport interface TriggerKnowledgeSnippetCreationRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId?: string;\n}\n\nexport interface TriggerKnowledgeSnippetCreationResponse {}\n\nexport interface QueryChatMessagesRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId: string;\n /** WQL expression controlling filtering / sorting / paging. */\n query?: CursorQuery;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport interface CursorQuery extends CursorQueryPagingMethodOneOf {\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n */\n cursorPaging?: CursorPaging;\n /**\n * Filter object.\n *\n * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n */\n filter?: Record<string, any> | null;\n /**\n * Sort object.\n *\n * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n * @maxSize 5\n */\n sort?: Sorting[];\n}\n\n/** @oneof */\nexport interface CursorQueryPagingMethodOneOf {\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n */\n cursorPaging?: CursorPaging;\n}\n\nexport interface Sorting {\n /**\n * Name of the field to sort by.\n * @maxLength 512\n */\n fieldName?: string;\n /** Sort order. */\n order?: SortOrderWithLiterals;\n /**\n * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n *\n * If multiple filters are provided, they are combined with AND operator.\n *\n * Example:\n * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n * @internal\n * @maxSize 10\n */\n selectItemsBy?: Record<string, any>[] | null;\n}\n\nexport enum SortOrder {\n ASC = 'ASC',\n DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface CursorPaging {\n /**\n * Maximum number of items to return in the results.\n * @max 100\n */\n limit?: number | null;\n /**\n * Pointer to the next or previous page in the list of results.\n *\n * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n * Not relevant for the first request.\n * @maxLength 16000\n */\n cursor?: string | null;\n}\n\nexport interface QueryChatMessagesResponse {\n /** ChatMessage s that satisfy the query. */\n chatMessages?: ChatMessage[];\n /** Cursor paging metadata. */\n pagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface CursorPagingMetadata {\n /** Number of items returned in current page. */\n count?: number | null;\n /** Cursor strings that point to the next page, previous page, or both. */\n cursors?: Cursors;\n /**\n * Whether there are more pages to retrieve following the current page.\n *\n * + `true`: Another page of results can be retrieved.\n * + `false`: This is the last page.\n */\n hasNext?: boolean | null;\n /**\n * Total number of items matching the filter.\n * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n * @internal\n */\n total?: number | null;\n}\n\nexport interface Cursors {\n /**\n * Cursor string pointing to the next page in the list of results.\n * @maxLength 16000\n */\n next?: string | null;\n /**\n * Cursor pointing to the previous page in the list of results.\n * @maxLength 16000\n */\n prev?: string | null;\n}\n\nexport interface GetPermissionsRequest {\n /**\n * Persona ID\n * @format GUID\n */\n personaId: string | null;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Chat ID to determine the chat mode\n * @format GUID\n */\n chatId?: string | null;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport interface GetPermissionsResponse {\n /** Permissions check whether user has permission to start video call */\n canStartVideoCall?: boolean;\n /** Permissions check whether user has permission to start audio call */\n canStartVoiceCall?: boolean;\n /** Whether anyone but the owner can send the Legend another chat message */\n canSendChatMessage?: boolean;\n}\n\nexport interface QueryPersonaChatsRequest {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Required persona ID filter\n * @format GUID\n */\n personaId: string;\n /** WQL expression for filtering/sorting/paging */\n query: CursorQuery;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport interface QueryPersonaChatsResponse {\n /** Chats matching the query */\n chats?: PersonaChat[];\n /** Pagination metadata */\n pagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface UpsertKnowledgeSnippetRequest {\n /**\n * Chat ID to determine the chat mode and persona\n * @format GUID\n */\n chatId: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Generated knowledge snippets to upsert\n * @minSize 1\n * @maxSize 30\n */\n generatedSnippet: GeneratedSnippet[];\n /**\n * Deterministic per-turn key; when set, the upsert runs at-most-once to dedup retried/duplicate calls\n * @format GUID\n */\n idempotencyKey?: string | null;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport enum Category {\n /** General information about the persona */\n GENERAL = 'GENERAL',\n /** Identity-related information */\n IDENTITY = 'IDENTITY',\n /** Work and expertise information */\n WORK_AND_EXPERTISE = 'WORK_AND_EXPERTISE',\n /** Philosophy and worldview information */\n PHILOSOPHY_AND_WORLDVIEW = 'PHILOSOPHY_AND_WORLDVIEW',\n /** Relationship-related information */\n RELATIONSHIPS = 'RELATIONSHIPS',\n /** Personality traits and characteristics */\n PERSONALITY = 'PERSONALITY',\n /** Personal interests and hobbies */\n PERSONAL_INTERESTS = 'PERSONAL_INTERESTS',\n /** Vision and long-term goals */\n VISION_AND_GOALS = 'VISION_AND_GOALS',\n /** Significant life milestones */\n LIFE_MILESTONES = 'LIFE_MILESTONES',\n}\n\n/** @enumType */\nexport type CategoryWithLiterals =\n | Category\n | 'GENERAL'\n | 'IDENTITY'\n | 'WORK_AND_EXPERTISE'\n | 'PHILOSOPHY_AND_WORLDVIEW'\n | 'RELATIONSHIPS'\n | 'PERSONALITY'\n | 'PERSONAL_INTERESTS'\n | 'VISION_AND_GOALS'\n | 'LIFE_MILESTONES';\n\nexport enum Subcategory {\n /** General - Personal information */\n GENERAL_PERSONAL = 'GENERAL_PERSONAL',\n /** General - Lifestyle information */\n GENERAL_LIFESTYLE = 'GENERAL_LIFESTYLE',\n /** General - Context information */\n GENERAL_CONTEXT = 'GENERAL_CONTEXT',\n /** Identity - Professional information */\n IDENTITY_PROFESSIONAL = 'IDENTITY_PROFESSIONAL',\n /** Identity - Background information */\n IDENTITY_BACKGROUND = 'IDENTITY_BACKGROUND',\n /** Identity - Influences information */\n IDENTITY_INFLUENCES = 'IDENTITY_INFLUENCES',\n /** Identity - Aspirations information */\n IDENTITY_ASPIRATIONS = 'IDENTITY_ASPIRATIONS',\n /** Work and Expertise - Core expertise */\n EXPERTISE_CORE = 'EXPERTISE_CORE',\n /** Work and Expertise - Methods and frameworks */\n EXPERTISE_METHODS = 'EXPERTISE_METHODS',\n /** Work and Expertise - Industry knowledge */\n EXPERTISE_INDUSTRY = 'EXPERTISE_INDUSTRY',\n /** Work and Expertise - Current work */\n WORK_CURRENT = 'WORK_CURRENT',\n /** Philosophy and Worldview - Core values */\n PHILOSOPHY_CORE = 'PHILOSOPHY_CORE',\n /** Philosophy and Worldview - Success and learning */\n PHILOSOPHY_SUCCESS = 'PHILOSOPHY_SUCCESS',\n /** Philosophy and Worldview - Work philosophy */\n PHILOSOPHY_WORK = 'PHILOSOPHY_WORK',\n /** Relationships - Communication style */\n RELATIONSHIPS_COMMUNICATION = 'RELATIONSHIPS_COMMUNICATION',\n /** Relationships - Leadership approach */\n RELATIONSHIPS_LEADERSHIP = 'RELATIONSHIPS_LEADERSHIP',\n /** Relationships - External interactions */\n RELATIONSHIPS_EXTERNAL = 'RELATIONSHIPS_EXTERNAL',\n /** Relationships - Teaching style */\n RELATIONSHIPS_TEACHING = 'RELATIONSHIPS_TEACHING',\n /** Personality - Core traits */\n PERSONALITY_TRAITS = 'PERSONALITY_TRAITS',\n /** Personality - Behavioral patterns */\n PERSONALITY_BEHAVIOR = 'PERSONALITY_BEHAVIOR',\n /** Personality - Stress and conflict responses */\n PERSONALITY_STRESS = 'PERSONALITY_STRESS',\n /** Personality - Work-related personality */\n PERSONALITY_WORK = 'PERSONALITY_WORK',\n /** Personality - Adaptation and change */\n PERSONALITY_ADAPTATION = 'PERSONALITY_ADAPTATION',\n}\n\n/** @enumType */\nexport type SubcategoryWithLiterals =\n | Subcategory\n | 'GENERAL_PERSONAL'\n | 'GENERAL_LIFESTYLE'\n | 'GENERAL_CONTEXT'\n | 'IDENTITY_PROFESSIONAL'\n | 'IDENTITY_BACKGROUND'\n | 'IDENTITY_INFLUENCES'\n | 'IDENTITY_ASPIRATIONS'\n | 'EXPERTISE_CORE'\n | 'EXPERTISE_METHODS'\n | 'EXPERTISE_INDUSTRY'\n | 'WORK_CURRENT'\n | 'PHILOSOPHY_CORE'\n | 'PHILOSOPHY_SUCCESS'\n | 'PHILOSOPHY_WORK'\n | 'RELATIONSHIPS_COMMUNICATION'\n | 'RELATIONSHIPS_LEADERSHIP'\n | 'RELATIONSHIPS_EXTERNAL'\n | 'RELATIONSHIPS_TEACHING'\n | 'PERSONALITY_TRAITS'\n | 'PERSONALITY_BEHAVIOR'\n | 'PERSONALITY_STRESS'\n | 'PERSONALITY_WORK'\n | 'PERSONALITY_ADAPTATION';\n\n/** Represent a knowledge snippet to be created or updated */\nexport interface GeneratedSnippet {\n /**\n * Title of the knowledge snippet\n * @maxLength 255\n */\n title?: string;\n /**\n * Content of the knowledge snippet\n * @maxLength 5000\n */\n content?: string;\n /** Category of the knowledge snippet */\n category?: CategoryWithLiterals;\n /** Subcategory of the knowledge snippet */\n subcategory?: SubcategoryWithLiterals;\n}\n\n/** Response message for upserting knowledge snippets */\nexport interface UpsertKnowledgeSnippetResponse {\n /** Created knowledge snippets */\n createdSnippets?: KnowledgeSnippet[];\n /** Updated knowledge snippets */\n updatedSnippets?: KnowledgeSnippet[];\n}\n\n/**\n * A KnowledgeSnippet is a piece of content associated with a specific persona\n * that contains title and content fields.\n */\nexport interface KnowledgeSnippet {\n /**\n * KnowledgeSnippet ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the KnowledgeSnippet is updated.\n * To prevent conflicting changes,\n * the current revision must be passed when updating the KnowledgeSnippet.\n *\n * Ignored when creating a KnowledgeSnippet.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the KnowledgeSnippet was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the KnowledgeSnippet was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Title of the knowledge snippet\n * @maxLength 255\n */\n title?: string;\n /**\n * Main content of the knowledge snippet\n * @maxLength 1000000\n */\n content?: string;\n /**\n * The Persona that the KnowledgeSnippet belongs to\n * @format GUID\n * @readonly\n */\n personaId?: string;\n /**\n * Tenant namespace of the KnowledgeSnippet\n * @deprecated Tenant namespace of the KnowledgeSnippet\n * @replacedBy namespace_key\n * @targetRemovalDate 2026-01-15\n */\n namespace?: NamespaceWithLiterals;\n /** Tags */\n tags?: Tags;\n /** Last update type of the KnowledgeSnippet */\n lastUpdateType?: UpdateTypeWithLiterals;\n /** Category of the KnowledgeSnippet */\n category?: CategoryWithLiterals;\n /** Subcategory of the KnowledgeSnippet */\n subcategory?: SubcategoryWithLiterals;\n /**\n * State of the KnowledgeSnippet\n * @readonly\n */\n state?: StateWithLiterals;\n /**\n * Tenant namespace of the KnowledgeSnippet\n * @immutable\n * @maxLength 50\n */\n namespaceKey?: string | null;\n}\n\n/**\n * Common object for tags.\n * Should be use as in this example:\n * message Foo {\n * option (.wix.api.decomposite_of) = \"wix.common.tags.Foo\";\n * string id = 1;\n * ...\n * Tags tags = 5\n * }\n *\n * example of taggable entity\n * {\n * id: \"123\"\n * tags: {\n * tags: {\n * tag_ids:[\"11\",\"22\"]\n * },\n * private_tags: {\n * tag_ids: [\"33\", \"44\"]\n * }\n * }\n * }\n */\nexport interface Tags {\n /** Tags that require an additional permission in order to access them, normally not given to site members or visitors. */\n privateTags?: TagList;\n /** Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. */\n tags?: TagList;\n}\n\nexport interface TagList {\n /**\n * List of tag IDs\n * @maxSize 100\n * @maxLength 5\n */\n tagIds?: string[];\n}\n\n/** UpdateType enum represents the type of the last update made to the KnowledgeSnippet. */\nexport enum UpdateType {\n /** Unknown update type, used as a default value. */\n UNKNOWN_UPDATE_TYPE = 'UNKNOWN_UPDATE_TYPE',\n /** Manual update by owner. */\n MANUAL = 'MANUAL',\n /** AI-generated update, indicating that the content was modified by an AI system. */\n AI = 'AI',\n}\n\n/** @enumType */\nexport type UpdateTypeWithLiterals =\n | UpdateType\n | 'UNKNOWN_UPDATE_TYPE'\n | 'MANUAL'\n | 'AI';\n\nexport enum State {\n /** Newly created snippet */\n NEW = 'NEW',\n /** Published and visible snippet */\n PUBLISHED = 'PUBLISHED',\n /** Modified snippet */\n MODIFIED = 'MODIFIED',\n /** Deleted snippet */\n DELETED = 'DELETED',\n}\n\n/** @enumType */\nexport type StateWithLiterals =\n | State\n | 'NEW'\n | 'PUBLISHED'\n | 'MODIFIED'\n | 'DELETED';\n\nexport interface SwitchConfigRequest {\n /**\n * Chat ID\n * @format GUID\n */\n chatId: string | null;\n /**\n * Interactive Conversation ID\n * @maxLength 50\n */\n interactiveConversationId?: string | null;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /** Chat configuration reference and/or inline overrides for this request */\n chatConfig?: ChatConfig;\n /** When true, clears the chat context in the active LiveKit session when switching config */\n clearChat?: boolean | null;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport interface SwitchConfigResponse {}\n\nexport interface DeletePersonaChatRequest {\n /**\n * Id of the Chat to delete.\n * @format GUID\n */\n chatId: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport interface DeletePersonaChatResponse {}\n\nexport interface BulkDeletePersonaChatsByPersonaRequest {\n /**\n * Persona ID whose chats to delete.\n * @format GUID\n */\n personaId: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\nexport interface BulkDeletePersonaChatsByPersonaResponse {\n /** Number of chats deleted. */\n deletedCount?: number;\n}\n\nexport interface GenerateConversationOutcomeRequest {\n /**\n * The chat the conversation took place in.\n * @format GUID\n */\n chatId: string;\n /**\n * The conversation's first message. Its ID becomes the conversation ID.\n * @format GUID\n */\n firstMessageId: string;\n /**\n * The conversation's last message.\n * @format GUID\n */\n lastMessageId: string;\n /**\n * User that owns the Legend, as carried on ChatMessageAdded.\n * @format GUID\n */\n personaOwnerId: string;\n /** The channel the conversation ran on, when known. */\n channel?: ChannelWithLiterals;\n /**\n * Interactive conversation ID of the call, if the conversation was a call.\n * @maxLength 100\n */\n interactiveConversationId?: string | null;\n}\n\nexport interface GenerateConversationOutcomeResponse {\n /** The stored outcome. */\n conversationOutcome?: ConversationOutcome;\n /** True when the conversation already had a stored outcome. */\n deduplicated?: boolean;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface Empty {}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\n/** @docsIgnore */\nexport type GetPersonaChatContextApplicationErrors = {\n code?: 'INVALID_CHAT_METADATA';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type RetrievePersonaKnowledgeApplicationErrors = {\n code?: 'INVALID_CHAT_METADATA';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type UpsertKnowledgeSnippetApplicationErrors = {\n code?: 'INVALID_CHAT_METADATA';\n description?: string;\n data?: Record<string, any>;\n};\n\n/**\n * Create a new chat\n * @param chat - Chat to create\n * @public\n * @documentationMaturity preview\n * @requiredField chat\n * @requiredField chat.personaId\n * @permissionId LEGENDS.CHAT_CREATE\n * @returns Chat created\n * @fqn wix.legends.chat.v1.PersonaChatService.CreatePersonaChat\n */\nexport async function createPersonaChat(\n chat: NonNullablePaths<PersonaChat, `personaId`, 0>,\n options?: CreatePersonaChatOptions\n): Promise<\n NonNullablePaths<\n PersonaChat,\n | `namespace`\n | `personaId`\n | `messages`\n | `messages.${number}.chatId`\n | `messages.${number}.role`\n | `messages.${number}.conversationType`\n | `mode`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chat: chat,\n firstMessage: options?.firstMessage,\n chatConfig: options?.chatConfig,\n metadata: options?.metadata,\n });\n\n const reqOpts = ambassadorWixLegendsPersonaV1Chat.createPersonaChat(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.chat!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chat: '$[0]',\n firstMessage: '$[1].firstMessage',\n chatConfig: '$[1].chatConfig',\n metadata: '$[1].metadata',\n },\n singleArgumentUnchanged: false,\n },\n ['chat', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CreatePersonaChatOptions {\n /**\n * Welcome message from the assistant\n * @minLength 1\n * @maxLength 10000\n */\n firstMessage?: string | null;\n /** configuration reference and/or inline overrides for this request */\n chatConfig?: ChatConfig;\n /** Metadata for the conversation (page context, custom metadata, etc.) */\n metadata?: Metadata;\n}\n\n/**\n * Retrieves a chat.\n * @param chatId - Chat ID\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @permissionId LEGENDS.CHAT_READ\n * @returns The requested chat.\n * @fqn wix.legends.chat.v1.PersonaChatService.GetPersonaChat\n */\nexport async function getPersonaChat(\n chatId: string,\n options?: GetPersonaChatOptions\n): Promise<\n NonNullablePaths<\n PersonaChat,\n | `namespace`\n | `personaId`\n | `messages`\n | `messages.${number}.chatId`\n | `messages.${number}.role`\n | `messages.${number}.conversationType`\n | `mode`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: chatId,\n namespace: options?.namespace,\n namespaceV2: options?.namespaceV2,\n });\n\n const reqOpts = ambassadorWixLegendsPersonaV1Chat.getPersonaChat(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.chat!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0]',\n namespace: '$[1].namespace',\n namespaceV2: '$[1].namespaceV2',\n },\n singleArgumentUnchanged: false,\n },\n ['chatId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GetPersonaChatOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\n/**\n * Returns a context for a chat.\n * @param chatId - Chat ID\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @permissionId LEGENDS.CHAT_READ\n * @fqn wix.legends.chat.v1.PersonaChatService.GetPersonaChatContext\n */\nexport async function getPersonaChatContext(chatId: string): Promise<\n NonNullablePaths<\n GetPersonaChatContextResponse,\n `chatContext.personaDetails.sampleQuestions` | `chatContext.mode`,\n 2\n > & {\n __applicationErrorsType?: GetPersonaChatContextApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ chatId: chatId });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.getPersonaChatContext(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { chatId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['chatId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves persona knowledge based on text query.\n * @param chatId - Chat ID\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @requiredField options\n * @requiredField options.query\n * @requiredField options.userMessageId\n * @permissionId LEGENDS.CHAT_READ\n * @fqn wix.legends.chat.v1.PersonaChatService.RetrievePersonaKnowledge\n */\nexport async function retrievePersonaKnowledge(\n chatId: string,\n options: NonNullablePaths<\n RetrievePersonaKnowledgeOptions,\n `query` | `userMessageId`,\n 0\n >\n): Promise<\n NonNullablePaths<\n RetrievePersonaKnowledgeResponse,\n | `knowledgeItems`\n | `knowledgeItems.${number}.knowledgeSnippetId`\n | `knowledgeItems.${number}.knowledgeDocumentId`\n | `knowledgeItems.${number}.knowledgeLinkId`\n | `knowledgeItems.${number}._id`\n | `knowledgeItems.${number}.revision`\n | `knowledgeItems.${number}.title`\n | `knowledgeItems.${number}.content`\n | `knowledgeItems.${number}.personaId`\n | `knowledgeItems.${number}.chunkIndex`\n | `knowledgeItems.${number}.relevanceScore`\n | `knowledgeItems.${number}.sourceType`\n | `knowledgeItems.${number}.draft`\n | `knowledgeItems.${number}.deleted`\n | `knowledgeItems.${number}.chunkMetadata.chunkNumber`\n | `knowledgeItems.${number}.chunkMetadata.tokensSize`\n | `knowledgeItems.${number}.chunkMetadata.pageCard.pageType`,\n 4\n > & {\n __applicationErrorsType?: RetrievePersonaKnowledgeApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: chatId,\n query: options?.query,\n userMessageId: options?.userMessageId,\n });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.retrievePersonaKnowledge(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0]',\n query: '$[1].query',\n userMessageId: '$[1].userMessageId',\n },\n singleArgumentUnchanged: false,\n },\n ['chatId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface RetrievePersonaKnowledgeOptions {\n /**\n * Query to perform similarity search on.\n * @maxLength 50000\n */\n query: string;\n /**\n * Message ID to retrieve knowledge for.\n * @format GUID\n */\n userMessageId: string;\n}\n\n/**\n * Handle new user message or report function call results\n * @param chatId - Chat ID\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @permissionId LEGENDS.CHAT_SEND_MESSAGE\n * @fqn wix.legends.chat.v1.PersonaChatService.SendChatMessage\n */\nexport async function sendChatMessage(\n chatId: string,\n options?: SendChatMessageOptions\n): Promise<\n NonNullablePaths<\n SendChatMessageResponse,\n | `messages`\n | `messages.${number}.chatId`\n | `messages.${number}.role`\n | `messages.${number}.conversationType`\n | `functionCalls`\n | `canSendChatMessage`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: chatId,\n namespace: options?.namespace,\n message: options?.message,\n chatConfig: options?.chatConfig,\n attachments: options?.attachments,\n assistantMessages: options?.assistantMessages,\n functionCallResults: options?.functionCallResults,\n metadata: options?.metadata,\n clientTools: options?.clientTools,\n namespaceV2: options?.namespaceV2,\n conversationLanguage: options?.conversationLanguage,\n });\n\n const reqOpts = ambassadorWixLegendsPersonaV1Chat.sendChatMessage(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0]',\n namespace: '$[1].namespace',\n message: '$[1].message',\n chatConfig: '$[1].chatConfig',\n attachments: '$[1].attachments',\n assistantMessages: '$[1].assistantMessages',\n functionCallResults: '$[1].functionCallResults',\n metadata: '$[1].metadata',\n clientTools: '$[1].clientTools',\n namespaceV2: '$[1].namespaceV2',\n conversationLanguage: '$[1].conversationLanguage',\n },\n singleArgumentUnchanged: false,\n },\n ['chatId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface SendChatMessageOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * New user message content\n * @maxLength 10000\n */\n message?: string;\n chatConfig?: ChatConfig;\n /**\n * Attached user files\n * @maxSize 5\n */\n attachments?: ChatMessageAttachment[];\n /**\n * Assistant messages to be injected into the conversation history\n * @maxSize 10\n * @maxLength 10000\n */\n assistantMessages?: string[] | null;\n /**\n * Function call results from client\n * @maxSize 30\n */\n functionCallResults?: FunctionCallResult[];\n /** Metadata for the message (page context, custom metadata, etc.) */\n metadata?: Metadata;\n /**\n * Tools defined and executed by the client for this message. Offered to the LLM alongside the\n * assistant's configured tools on assistant-backed chats served through AI Gateway; a call comes\n * back in function_calls and the client answers on the next request via function_call_results.\n * @maxSize 32\n */\n clientTools?: ClientToolDefinition[];\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n /**\n * Optional language or locale for the reply (for example, es-ES or en-US).\n * When omitted, the reply keeps its existing language behavior.\n * @format LANGUAGE_TAG\n * @maxLength 10\n */\n conversationLanguage?: string | null;\n}\n\n/**\n * Handle new user message with streaming response\n * @public\n * @documentationMaturity preview\n * @permissionId LEGENDS.CHAT_SEND_MESSAGE\n * @fqn wix.legends.chat.v1.PersonaChatService.SendChatMessageStreamed\n */\nexport async function sendChatMessageStreamed(\n options?: SendChatMessageStreamedOptions\n): Promise<\n NonNullablePaths<\n RawHttpResponse,\n `body` | `headers` | `headers.${number}.key` | `headers.${number}.value`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: options?.chatId,\n namespace: options?.namespace,\n message: options?.message,\n chatConfig: options?.chatConfig,\n attachments: options?.attachments,\n metadata: options?.metadata,\n namespaceV2: options?.namespaceV2,\n conversationLanguage: options?.conversationLanguage,\n });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.sendChatMessageStreamed(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0].chatId',\n namespace: '$[0].namespace',\n message: '$[0].message',\n chatConfig: '$[0].chatConfig',\n attachments: '$[0].attachments',\n metadata: '$[0].metadata',\n namespaceV2: '$[0].namespaceV2',\n conversationLanguage: '$[0].conversationLanguage',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface SendChatMessageStreamedOptions {\n /**\n * Chat ID\n * @format GUID\n */\n chatId?: string;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * New user message content\n * @maxLength 10000\n */\n message?: string;\n /** Optional per-request chat configuration (e.g. explicit assistant id) */\n chatConfig?: ChatConfig;\n /**\n * Attached user files\n * @maxSize 5\n */\n attachments?: ChatMessageAttachment[];\n /** Metadata for the message (page context, custom metadata, etc.) */\n metadata?: Metadata;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n /**\n * Optional language or locale for the reply (for example, es-ES or en-US).\n * When omitted, the reply keeps its existing language behavior.\n * @format LANGUAGE_TAG\n * @maxLength 10\n */\n conversationLanguage?: string | null;\n}\n\n/**\n * Persist a conversation message without running LLM orchestration.\n * @param chatId - Chat ID\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @requiredField options.message\n * @permissionId legends:persona:v1:chat:persist_conversation_message\n * @fqn wix.legends.chat.v1.PersonaChatService.PersistConversationMessage\n */\nexport async function persistConversationMessage(\n chatId: string,\n options?: NonNullablePaths<PersistConversationMessageOptions, `message`, 0>\n): Promise<\n NonNullablePaths<\n PersistConversationMessageResponse,\n | `message.chatId`\n | `message.role`\n | `message.attachments`\n | `message.attachments.${number}.fileName`\n | `message.attachments.${number}.mimeType`\n | `message.conversationType`\n | `deduplicated`,\n 3\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: chatId,\n namespace: options?.namespace,\n message: options?.message,\n namespaceV2: options?.namespaceV2,\n });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.persistConversationMessage(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0]',\n namespace: '$[1].namespace',\n message: '$[1].message',\n namespaceV2: '$[1].namespaceV2',\n },\n singleArgumentUnchanged: false,\n },\n ['chatId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface PersistConversationMessageOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /** Message to persist without LLM processing */\n message: PersistedConversationMessage;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\n/**\n * Returns a list of Chats\n * @param personaId - Persona ID\n * @public\n * @documentationMaturity preview\n * @requiredField personaId\n * @permissionId LEGENDS.CHAT_READ\n * @fqn wix.legends.chat.v1.PersonaChatService.ListPersonaChats\n */\nexport async function listPersonaChats(\n personaId: string,\n options?: ListPersonaChatsOptions\n): Promise<\n NonNullablePaths<\n ListPersonaChatsResponse,\n | `chats`\n | `chats.${number}.namespace`\n | `chats.${number}.personaId`\n | `chats.${number}.mode`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n personaId: personaId,\n namespace: options?.namespace,\n namespaceV2: options?.namespaceV2,\n });\n\n const reqOpts = ambassadorWixLegendsPersonaV1Chat.listPersonaChats(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n personaId: '$[0]',\n namespace: '$[1].namespace',\n namespaceV2: '$[1].namespaceV2',\n },\n singleArgumentUnchanged: false,\n },\n ['personaId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ListPersonaChatsOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\n/**\n * Create an interactive conversation with an avatar\n * @param chatId - Chat ID\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @permissionId LEGENDS.CHAT_CREATE\n * @fqn wix.legends.chat.v1.PersonaChatService.CreateInteractiveConversation\n */\nexport async function createInteractiveConversation(\n chatId: string,\n options?: CreateInteractiveConversationOptions\n): Promise<\n NonNullablePaths<CreateInteractiveConversationResponse, `limitation.type`, 1>\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: chatId,\n namespace: options?.namespace,\n chatConfig: options?.chatConfig,\n firstConversation: options?.firstConversation,\n lastConversationTopic: options?.lastConversationTopic,\n namespaceV2: options?.namespaceV2,\n conversationLanguage: options?.conversationLanguage,\n });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.createInteractiveConversation(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0]',\n namespace: '$[1].namespace',\n chatConfig: '$[1].chatConfig',\n firstConversation: '$[1].firstConversation',\n lastConversationTopic: '$[1].lastConversationTopic',\n namespaceV2: '$[1].namespaceV2',\n conversationLanguage: '$[1].conversationLanguage',\n },\n singleArgumentUnchanged: false,\n },\n ['chatId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CreateInteractiveConversationOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /** Chat configuration reference and/or inline overrides for this request */\n chatConfig?: ChatConfig;\n /** First conversation with the persona; unset → first-time introduction. */\n firstConversation?: boolean | null;\n /**\n * Topic of the last conversation; used for a returning-visitor greeting.\n * @maxLength 200\n */\n lastConversationTopic?: string | null;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n /**\n * Optional language or locale for this voice call (for example, es or en-GB).\n * When omitted, the realtime agent keeps its existing language behavior.\n * @maxLength 10\n */\n conversationLanguage?: string | null;\n}\n\n/**\n * Create a voice conversation\n * @param chatId - Chat ID\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @permissionId LEGENDS.CHAT_CREATE\n * @fqn wix.legends.chat.v1.PersonaChatService.CreateVoiceConversation\n */\nexport async function createVoiceConversation(\n chatId: string,\n options?: CreateVoiceConversationOptions\n): Promise<\n NonNullablePaths<\n CreateVoiceConversationResponse,\n | `interactiveConversationId`\n | `conversationUrl`\n | `limitation.type`\n | `vendorData.vendor`,\n 1\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: chatId,\n namespace: options?.namespace,\n vendor: options?.vendor,\n useWebrtc: options?.useWebrtc,\n chatConfig: options?.chatConfig,\n firstConversation: options?.firstConversation,\n lastConversationTopic: options?.lastConversationTopic,\n namespaceV2: options?.namespaceV2,\n conversationLanguage: options?.conversationLanguage,\n });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.createVoiceConversation(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0]',\n namespace: '$[1].namespace',\n vendor: '$[1].vendor',\n useWebrtc: '$[1].useWebrtc',\n chatConfig: '$[1].chatConfig',\n firstConversation: '$[1].firstConversation',\n lastConversationTopic: '$[1].lastConversationTopic',\n namespaceV2: '$[1].namespaceV2',\n conversationLanguage: '$[1].conversationLanguage',\n },\n singleArgumentUnchanged: false,\n },\n ['chatId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CreateVoiceConversationOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * deprecated: not used, use chat_config configuration or inline_override instead\n * @deprecated deprecated: not used, use chat_config configuration or inline_override instead\n * @replacedBy chat_config.inline_override\n * @targetRemovalDate 2025-12-07\n */\n vendor?: VendorTypeWithLiterals;\n /** Whether to use WebRTC for the voice conversation (default: false) */\n useWebrtc?: boolean;\n /** Chat configuration reference and/or inline overrides for this request */\n chatConfig?: ChatConfig;\n /** First conversation with the persona; unset → first-time introduction. */\n firstConversation?: boolean | null;\n /**\n * Topic of the last conversation; used for a returning-visitor greeting.\n * @maxLength 200\n */\n lastConversationTopic?: string | null;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n /**\n * Optional language or locale for this voice call (for example, es or en-GB).\n * When omitted, the realtime agent keeps its existing language behavior.\n * @maxLength 10\n */\n conversationLanguage?: string | null;\n}\n\n/**\n * End an interactive conversation with an avatar\n * @param chatId - Chat ID\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @requiredField options.interactiveConversationId\n * @permissionId LEGENDS.CHAT_DELETE\n * @fqn wix.legends.chat.v1.PersonaChatService.EndInteractiveConversation\n */\nexport async function endInteractiveConversation(\n chatId: string,\n options?: NonNullablePaths<\n EndInteractiveConversationOptions,\n `interactiveConversationId`,\n 0\n >\n): Promise<void> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: chatId,\n namespace: options?.namespace,\n interactiveConversationId: options?.interactiveConversationId,\n namespaceV2: options?.namespaceV2,\n });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.endInteractiveConversation(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0]',\n namespace: '$[1].namespace',\n interactiveConversationId: '$[1].interactiveConversationId',\n namespaceV2: '$[1].namespaceV2',\n },\n singleArgumentUnchanged: false,\n },\n ['chatId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface EndInteractiveConversationOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Interactive conversation ID\n * @maxLength 50\n */\n interactiveConversationId: string;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\n/**\n * Get the status of an interactive conversation, including why the service ended it\n * @public\n * @documentationMaturity preview\n * @requiredField identifiers\n * @requiredField identifiers.chatId\n * @requiredField identifiers.interactiveConversationId\n * @permissionId LEGENDS.CHAT_READ\n * @fqn wix.legends.chat.v1.PersonaChatService.GetInteractiveConversation\n */\nexport async function getInteractiveConversation(\n identifiers: NonNullablePaths<\n GetInteractiveConversationIdentifiers,\n `chatId` | `interactiveConversationId`,\n 0\n >,\n options?: GetInteractiveConversationOptions\n): Promise<NonNullablePaths<GetInteractiveConversationResponse, `status`, 0>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: identifiers?.chatId,\n interactiveConversationId: identifiers?.interactiveConversationId,\n namespace: options?.namespace,\n namespaceV2: options?.namespaceV2,\n });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.getInteractiveConversation(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0].chatId',\n interactiveConversationId: '$[0].interactiveConversationId',\n namespace: '$[1].namespace',\n namespaceV2: '$[1].namespaceV2',\n },\n singleArgumentUnchanged: false,\n },\n ['identifiers', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GetInteractiveConversationIdentifiers {\n /**\n * Chat ID\n * @format GUID\n */\n chatId: string;\n /**\n * Interactive conversation ID\n * @maxLength 50\n */\n interactiveConversationId: string;\n}\n\nexport interface GetInteractiveConversationOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\n/**\n * Generate chat completions with vendor support\n * @public\n * @documentationMaturity preview\n * @permissionId LEGENDS.CHAT_SEND_MESSAGE\n * @fqn wix.legends.chat.v1.PersonaChatService.GenerateChatCompletionsWithVendor\n */\nexport async function generateChatCompletionsWithVendor(\n options?: GenerateChatCompletionsWithVendorOptions\n): Promise<\n NonNullablePaths<\n RawHttpResponse,\n `body` | `headers` | `headers.${number}.key` | `headers.${number}.value`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n body: options?.body,\n pathParams: options?.pathParams,\n queryParams: options?.queryParams,\n headers: options?.headers,\n method: options?.method,\n rawPath: options?.rawPath,\n rawQuery: options?.rawQuery,\n });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.generateChatCompletionsWithVendor(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n body: '$[0].body',\n pathParams: '$[0].pathParams',\n queryParams: '$[0].queryParams',\n headers: '$[0].headers',\n method: '$[0].method',\n rawPath: '$[0].rawPath',\n rawQuery: '$[0].rawQuery',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GenerateChatCompletionsWithVendorOptions {\n body?: Uint8Array;\n pathParams?: PathParametersEntry[];\n queryParams?: QueryParametersEntry[];\n headers?: HeadersEntry[];\n method?: string;\n rawPath?: string;\n rawQuery?: string;\n}\n\n/**\n * Generate chat completions with vendor support\n * @public\n * @documentationMaturity preview\n * @permissionId LEGENDS.CHAT_SEND_MESSAGE\n * @fqn wix.legends.chat.v1.PersonaChatService.GenerateChatCompletionsStreamWithVendor\n */\nexport async function generateChatCompletionsStreamWithVendor(\n options?: GenerateChatCompletionsStreamWithVendorOptions\n): Promise<\n NonNullablePaths<\n RawHttpResponse,\n `body` | `headers` | `headers.${number}.key` | `headers.${number}.value`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n body: options?.body,\n pathParams: options?.pathParams,\n queryParams: options?.queryParams,\n headers: options?.headers,\n method: options?.method,\n rawPath: options?.rawPath,\n rawQuery: options?.rawQuery,\n });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.generateChatCompletionsStreamWithVendor(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n body: '$[0].body',\n pathParams: '$[0].pathParams',\n queryParams: '$[0].queryParams',\n headers: '$[0].headers',\n method: '$[0].method',\n rawPath: '$[0].rawPath',\n rawQuery: '$[0].rawQuery',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GenerateChatCompletionsStreamWithVendorOptions {\n body?: Uint8Array;\n pathParams?: PathParametersEntry[];\n queryParams?: QueryParametersEntry[];\n headers?: HeadersEntry[];\n method?: string;\n rawPath?: string;\n rawQuery?: string;\n}\n\n/**\n * Query chat messages with WQL expression\n * @param chatId - Chat ID\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @permissionId LEGENDS.CHAT_READ\n * @fqn wix.legends.chat.v1.PersonaChatService.QueryChatMessages\n */\nexport async function queryChatMessages(\n chatId: string,\n options?: QueryChatMessagesOptions\n): Promise<\n NonNullablePaths<\n QueryChatMessagesResponse,\n | `chatMessages`\n | `chatMessages.${number}.chatId`\n | `chatMessages.${number}.role`\n | `chatMessages.${number}.conversationType`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: chatId,\n query: options?.query,\n namespace: options?.namespace,\n namespaceV2: options?.namespaceV2,\n });\n\n const reqOpts = ambassadorWixLegendsPersonaV1Chat.queryChatMessages(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0]',\n query: '$[1].query',\n namespace: '$[1].namespace',\n namespaceV2: '$[1].namespaceV2',\n },\n singleArgumentUnchanged: false,\n },\n ['chatId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface QueryChatMessagesOptions {\n /** WQL expression controlling filtering / sorting / paging. */\n query?: CursorQuery;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\n/**\n * Get permissions to check for voice and video calls\n * @param personaId - Persona ID\n * @public\n * @documentationMaturity preview\n * @requiredField personaId\n * @permissionId LEGENDS.CHAT_READ\n * @fqn wix.legends.chat.v1.PersonaChatService.GetPermissions\n */\nexport async function getPermissions(\n personaId: string,\n options?: GetPermissionsOptions\n): Promise<\n NonNullablePaths<\n GetPermissionsResponse,\n `canStartVideoCall` | `canStartVoiceCall` | `canSendChatMessage`,\n 0\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n personaId: personaId,\n namespace: options?.namespace,\n chatId: options?.chatId,\n namespaceV2: options?.namespaceV2,\n });\n\n const reqOpts = ambassadorWixLegendsPersonaV1Chat.getPermissions(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n personaId: '$[0]',\n namespace: '$[1].namespace',\n chatId: '$[1].chatId',\n namespaceV2: '$[1].namespaceV2',\n },\n singleArgumentUnchanged: false,\n },\n ['personaId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GetPermissionsOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Chat ID to determine the chat mode\n * @format GUID\n */\n chatId?: string | null;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\n/**\n * Query persona chats with advanced filtering and sorting\n * @public\n * @documentationMaturity preview\n * @requiredField options.personaId\n * @requiredField options.query\n * @permissionId LEGENDS.CHAT_READ\n * @fqn wix.legends.chat.v1.PersonaChatService.QueryPersonaChats\n */\nexport async function queryPersonaChats(\n options?: NonNullablePaths<QueryPersonaChatsOptions, `personaId` | `query`, 0>\n): Promise<\n NonNullablePaths<\n QueryPersonaChatsResponse,\n | `chats`\n | `chats.${number}.namespace`\n | `chats.${number}.personaId`\n | `chats.${number}.mode`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n namespace: options?.namespace,\n personaId: options?.personaId,\n query: options?.query,\n namespaceV2: options?.namespaceV2,\n });\n\n const reqOpts = ambassadorWixLegendsPersonaV1Chat.queryPersonaChats(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n namespace: '$[0].namespace',\n personaId: '$[0].personaId',\n query: '$[0].query',\n namespaceV2: '$[0].namespaceV2',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface QueryPersonaChatsOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Required persona ID filter\n * @format GUID\n */\n personaId: string;\n /** WQL expression for filtering/sorting/paging */\n query: CursorQuery;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\n/**\n * Create or update knowledge snippets associated with a chat\n * @param chatId - Chat ID to determine the chat mode and persona\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @requiredField options.generatedSnippet\n * @permissionId LEGENDS.CHAT_CREATE\n * @returns Response message for upserting knowledge snippets\n * @fqn wix.legends.chat.v1.PersonaChatService.UpsertKnowledgeSnippet\n */\nexport async function upsertKnowledgeSnippet(\n chatId: string,\n options?: NonNullablePaths<\n UpsertKnowledgeSnippetOptions,\n `generatedSnippet`,\n 0\n >\n): Promise<\n NonNullablePaths<\n UpsertKnowledgeSnippetResponse,\n | `createdSnippets`\n | `createdSnippets.${number}.title`\n | `createdSnippets.${number}.content`\n | `createdSnippets.${number}.personaId`\n | `createdSnippets.${number}.namespace`\n | `createdSnippets.${number}.lastUpdateType`\n | `createdSnippets.${number}.category`\n | `createdSnippets.${number}.subcategory`\n | `createdSnippets.${number}.state`\n | `updatedSnippets`\n | `updatedSnippets.${number}.title`\n | `updatedSnippets.${number}.content`\n | `updatedSnippets.${number}.personaId`\n | `updatedSnippets.${number}.namespace`\n | `updatedSnippets.${number}.lastUpdateType`\n | `updatedSnippets.${number}.category`\n | `updatedSnippets.${number}.subcategory`\n | `updatedSnippets.${number}.state`,\n 2\n > & {\n __applicationErrorsType?: UpsertKnowledgeSnippetApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: chatId,\n namespace: options?.namespace,\n generatedSnippet: options?.generatedSnippet,\n idempotencyKey: options?.idempotencyKey,\n namespaceV2: options?.namespaceV2,\n });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.upsertKnowledgeSnippet(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0]',\n namespace: '$[1].namespace',\n generatedSnippet: '$[1].generatedSnippet',\n idempotencyKey: '$[1].idempotencyKey',\n namespaceV2: '$[1].namespaceV2',\n },\n singleArgumentUnchanged: false,\n },\n ['chatId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpsertKnowledgeSnippetOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Generated knowledge snippets to upsert\n * @minSize 1\n * @maxSize 30\n */\n generatedSnippet: GeneratedSnippet[];\n /**\n * Deterministic per-turn key; when set, the upsert runs at-most-once to dedup retried/duplicate calls\n * @format GUID\n */\n idempotencyKey?: string | null;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\n/** @param chatId - Chat ID\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @requiredField options.chatConfig.configurationId\n * @permissionId LEGENDS.CHAT_UPDATE\n * @fqn wix.legends.chat.v1.PersonaChatService.SwitchConfig\n */\nexport async function switchConfig(\n chatId: string,\n options?: NonNullablePaths<\n SwitchConfigOptions,\n `chatConfig.configurationId`,\n 1\n >\n): Promise<void> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: chatId,\n interactiveConversationId: options?.interactiveConversationId,\n namespace: options?.namespace,\n chatConfig: options?.chatConfig,\n clearChat: options?.clearChat,\n namespaceV2: options?.namespaceV2,\n });\n\n const reqOpts = ambassadorWixLegendsPersonaV1Chat.switchConfig(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0]',\n interactiveConversationId: '$[1].interactiveConversationId',\n namespace: '$[1].namespace',\n chatConfig: '$[1].chatConfig',\n clearChat: '$[1].clearChat',\n namespaceV2: '$[1].namespaceV2',\n },\n singleArgumentUnchanged: false,\n },\n ['chatId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface SwitchConfigOptions {\n /**\n * Interactive Conversation ID\n * @maxLength 50\n */\n interactiveConversationId?: string | null;\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /** Chat configuration reference and/or inline overrides for this request */\n chatConfig?: ChatConfig;\n /** When true, clears the chat context in the active LiveKit session when switching config */\n clearChat?: boolean | null;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\n/**\n * Delete a chat by ID. The caller must be the chat owner or the persona owner.\n * @param chatId - Id of the Chat to delete.\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @permissionId LEGENDS.CHAT_DELETE\n * @fqn wix.legends.chat.v1.PersonaChatService.DeletePersonaChat\n */\nexport async function deletePersonaChat(\n chatId: string,\n options?: DeletePersonaChatOptions\n): Promise<void> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: chatId,\n namespace: options?.namespace,\n namespaceV2: options?.namespaceV2,\n });\n\n const reqOpts = ambassadorWixLegendsPersonaV1Chat.deletePersonaChat(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0]',\n namespace: '$[1].namespace',\n namespaceV2: '$[1].namespaceV2',\n },\n singleArgumentUnchanged: false,\n },\n ['chatId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface DeletePersonaChatOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\n/**\n * Delete all chats for a given persona. Only the persona owner can call this.\n * @param personaId - Persona ID whose chats to delete.\n * @public\n * @documentationMaturity preview\n * @requiredField personaId\n * @permissionId LEGENDS.CHAT_DELETE\n * @fqn wix.legends.chat.v1.PersonaChatService.BulkDeletePersonaChatsByPersona\n */\nexport async function bulkDeletePersonaChatsByPersona(\n personaId: string,\n options?: BulkDeletePersonaChatsByPersonaOptions\n): Promise<\n NonNullablePaths<BulkDeletePersonaChatsByPersonaResponse, `deletedCount`, 0>\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n personaId: personaId,\n namespace: options?.namespace,\n namespaceV2: options?.namespaceV2,\n });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.bulkDeletePersonaChatsByPersona(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n personaId: '$[0]',\n namespace: '$[1].namespace',\n namespaceV2: '$[1].namespaceV2',\n },\n singleArgumentUnchanged: false,\n },\n ['personaId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkDeletePersonaChatsByPersonaOptions {\n /**\n * Tenant namespace.\n * @deprecated Tenant namespace.\n * @replacedBy namespace_v2\n * @targetRemovalDate 2027-10-14\n */\n namespace?: NamespaceWithLiterals;\n /**\n * Tenant namespace. Takes precedence over `namespace`.\n * @maxLength 50\n */\n namespaceV2?: string | null;\n}\n\n/**\n * Summarizes one finished conversation, stores its outcome and emits the PersonaChat ConversationEnded action event.\n * Idempotent: a conversation whose outcome is already stored and announced returns it and emits nothing.\n * Called by conversation-activity-service when a conversation ends; Legends' own service identity only.\n * @param chatId - The chat the conversation took place in.\n * @param firstMessageId - The conversation's first message. Its ID becomes the conversation ID.\n * @public\n * @documentationMaturity preview\n * @requiredField chatId\n * @requiredField firstMessageId\n * @requiredField options.lastMessageId\n * @requiredField options.personaOwnerId\n * @permissionId legends:persona:v1:chat:generate_conversation_outcome\n * @fqn wix.legends.chat.v1.PersonaChatService.GenerateConversationOutcome\n */\nexport async function generateConversationOutcome(\n chatId: string,\n firstMessageId: string,\n options?: NonNullablePaths<\n GenerateConversationOutcomeOptions,\n `lastMessageId` | `personaOwnerId`,\n 0\n >\n): Promise<\n NonNullablePaths<\n GenerateConversationOutcomeResponse,\n | `conversationOutcome.chatId`\n | `conversationOutcome.personaId`\n | `conversationOutcome.channel`\n | `conversationOutcome.unansweredQuestions`\n | `deduplicated`,\n 1\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n chatId: chatId,\n firstMessageId: firstMessageId,\n lastMessageId: options?.lastMessageId,\n personaOwnerId: options?.personaOwnerId,\n channel: options?.channel,\n interactiveConversationId: options?.interactiveConversationId,\n });\n\n const reqOpts =\n ambassadorWixLegendsPersonaV1Chat.generateConversationOutcome(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n chatId: '$[0]',\n firstMessageId: '$[1]',\n lastMessageId: '$[2].lastMessageId',\n personaOwnerId: '$[2].personaOwnerId',\n channel: '$[2].channel',\n interactiveConversationId: '$[2].interactiveConversationId',\n },\n singleArgumentUnchanged: false,\n },\n ['chatId', 'firstMessageId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GenerateConversationOutcomeOptions {\n /**\n * The conversation's last message.\n * @format GUID\n */\n lastMessageId: string;\n /**\n * User that owns the Legend, as carried on ChatMessageAdded.\n * @format GUID\n */\n personaOwnerId: string;\n /** The channel the conversation ran on, when known. */\n channel?: ChannelWithLiterals;\n /**\n * Interactive conversation ID of the call, if the conversation was a call.\n * @maxLength 100\n */\n interactiveConversationId?: string | null;\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKFloatToRESTFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformSDKBytesToRESTBytes } from '@wix/sdk-runtime/transformations/bytes';\nimport { transformRESTBytesToSDKBytes } from '@wix/sdk-runtime/transformations/bytes';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nconst TRANSFORM_PATHS_0 = [\n { path: 'chat.createdDate' },\n { path: 'chat.updatedDate' },\n { path: 'chat.messages.createdDate' },\n];\nconst TRANSFORM_PATHS_1 = [\n { path: 'chatConfig.inlineOverride.videoFrameSampleIntervalSec' },\n];\nconst TRANSFORM_PATHS_2 = [{ path: 'knowledgeItems.relevanceScore' }];\nconst TRANSFORM_PATHS_3 = [{ path: 'messages.createdDate' }];\nconst TRANSFORM_PATHS_4 = [{ path: 'body' }];\nconst TRANSFORM_PATHS_5 = [{ path: 'message.createdDate' }];\nconst TRANSFORM_PATHS_6 = [\n { path: 'chats.createdDate' },\n { path: 'chats.updatedDate' },\n { path: 'chats.messages.createdDate' },\n];\nconst TRANSFORM_PATHS_7 = [\n { path: 'vendorData.humeData.speed' },\n { path: 'vendorData.humeData.trailingSilence' },\n];\nconst TRANSFORM_PATHS_8 = [{ path: 'chatMessages.createdDate' }];\nconst TRANSFORM_PATHS_9 = [\n { path: 'createdSnippets.createdDate' },\n { path: 'createdSnippets.updatedDate' },\n { path: 'updatedSnippets.createdDate' },\n { path: 'updatedSnippets.updatedDate' },\n];\nconst TRANSFORM_PATHS_10 = [\n { path: 'conversationOutcome.createdDate' },\n { path: 'conversationOutcome.updatedDate' },\n { path: 'conversationOutcome.startedDate' },\n { path: 'conversationOutcome.endedDate' },\n];\n\nfunction resolveWixLegendsChatV1PersonaChatServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'bo._base_domain_': [\n {\n srcPath: '/_api/persona-chat-service',\n destPath: '',\n },\n ],\n 'wixbo.ai': [\n {\n srcPath: '/_api/persona-chat-service',\n destPath: '',\n },\n ],\n 'wix-bo.com': [\n {\n srcPath: '/_api/persona-chat-service',\n destPath: '',\n },\n ],\n 'api._api_base_domain_': [\n {\n srcPath: '/persona-chat-service',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/_api/persona-chat-service/v1/chats',\n destPath: '/v1/chats',\n },\n {\n srcPath: '/_api/persona-chat-service/v1/persona-knowledge/internal',\n destPath: '/v1/persona-knowledge/internal',\n },\n {\n srcPath: '/_api/persona-chat-service/v1/chat',\n destPath: '/v1/chat',\n },\n {\n srcPath: '/_api/persona-chat-service/v1/personas',\n destPath: '/v1/personas',\n },\n ],\n _: [\n {\n srcPath: '/_api/persona-chat-service/v1/chats',\n destPath: '/v1/chats',\n },\n {\n srcPath: '/_api/persona-chat-service/v1/chat',\n destPath: '/v1/chat',\n },\n {\n srcPath: '/_api/persona-chat-service/v1/personas',\n destPath: '/v1/personas',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/persona-chat-service/v1/chats',\n destPath: '/v1/chats',\n },\n {\n srcPath: '/_api/persona-chat-service/v1/chat',\n destPath: '/v1/chat',\n },\n {\n srcPath: '/_api/persona-chat-service/v1/personas',\n destPath: '/v1/personas',\n },\n ],\n 'apps._base_domain_': [\n {\n srcPath: '/_api/persona-chat-service/v1/chats',\n destPath: '/v1/chats',\n },\n {\n srcPath: '/_api/persona-chat-service/v1/chat',\n destPath: '/v1/chat',\n },\n {\n srcPath: '/_api/persona-chat-service/v1/personas',\n destPath: '/v1/personas',\n },\n ],\n 'editor.wixapps.net': [\n {\n srcPath: '/_api/persona-chat-service/v1/chats',\n destPath: '/v1/chats',\n },\n {\n srcPath: '/_api/persona-chat-service/v1/chat',\n destPath: '/v1/chat',\n },\n ],\n 'legends._base_domain_': [\n {\n srcPath: '/_api/persona-chat-service/v1/chats',\n destPath: '/v1/chats',\n },\n {\n srcPath: '/_api/persona-chat-service/v1/chat',\n destPath: '/v1/chat',\n },\n {\n srcPath: '/_api/persona-chat-service/v1/personas',\n destPath: '/v1/personas',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/persona-chat-service/v1/personas',\n destPath: '/v1/personas',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/persona-chat-service/v1/personas',\n destPath: '/v1/personas',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/persona-chat-service/v1/personas',\n destPath: '/v1/personas',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_legends_persona-chats';\n\n/** Create a new chat */\nexport function createPersonaChat(payload: object): RequestOptionsFactory<any> {\n function __createPersonaChat({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: TRANSFORM_PATHS_1,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn: 'wix.legends.chat.v1.PersonaChatService.CreatePersonaChat',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createPersonaChat;\n}\n\n/** Retrieves a chat. */\nexport function getPersonaChat(payload: object): RequestOptionsFactory<any> {\n function __getPersonaChat({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'GET' as any,\n methodFqn: 'wix.legends.chat.v1.PersonaChatService.GetPersonaChat',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/{chatId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getPersonaChat;\n}\n\n/** Returns a context for a chat. */\nexport function getPersonaChatContext(\n payload: object\n): RequestOptionsFactory<any> {\n function __getPersonaChatContext({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'GET' as any,\n methodFqn: 'wix.legends.chat.v1.PersonaChatService.GetPersonaChatContext',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/{chatId}/context',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __getPersonaChatContext;\n}\n\n/** Retrieves persona knowledge based on text query. */\nexport function retrievePersonaKnowledge(\n payload: object\n): RequestOptionsFactory<any> {\n function __retrievePersonaKnowledge({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'GET' as any,\n methodFqn:\n 'wix.legends.chat.v1.PersonaChatService.RetrievePersonaKnowledge',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/persona-knowledge',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: TRANSFORM_PATHS_2,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __retrievePersonaKnowledge;\n}\n\n/** Handle new user message or report function call results */\nexport function sendChatMessage(payload: object): RequestOptionsFactory<any> {\n function __sendChatMessage({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: TRANSFORM_PATHS_1,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn: 'wix.legends.chat.v1.PersonaChatService.SendChatMessage',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chat/messages',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_3,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __sendChatMessage;\n}\n\n/** Handle new user message with streaming response */\nexport function sendChatMessageStreamed(\n payload: object\n): RequestOptionsFactory<any> {\n function __sendChatMessageStreamed({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: TRANSFORM_PATHS_1,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn:\n 'wix.legends.chat.v1.PersonaChatService.SendChatMessageStreamed',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chat/messages/stream',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTBytesToSDKBytes,\n paths: TRANSFORM_PATHS_4,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __sendChatMessageStreamed;\n}\n\n/** Persist a conversation message without running LLM orchestration. */\nexport function persistConversationMessage(\n payload: object\n): RequestOptionsFactory<any> {\n function __persistConversationMessage({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: TRANSFORM_PATHS_5,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn:\n 'wix.legends.chat.v1.PersonaChatService.PersistConversationMessage',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/{chatId}/persist-conversation-message',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_5,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __persistConversationMessage;\n}\n\n/** Returns a list of Chats */\nexport function listPersonaChats(payload: object): RequestOptionsFactory<any> {\n function __listPersonaChats({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'GET' as any,\n methodFqn: 'wix.legends.chat.v1.PersonaChatService.ListPersonaChats',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_6,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __listPersonaChats;\n}\n\n/** Create an interactive conversation with an avatar */\nexport function createInteractiveConversation(\n payload: object\n): RequestOptionsFactory<any> {\n function __createInteractiveConversation({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: TRANSFORM_PATHS_1,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn:\n 'wix.legends.chat.v1.PersonaChatService.CreateInteractiveConversation',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/{chatId}/create-interactive-conversation',\n data: serializedData,\n host,\n }),\n data: serializedData,\n };\n\n return metadata;\n }\n\n return __createInteractiveConversation;\n}\n\n/** Create a voice conversation */\nexport function createVoiceConversation(\n payload: object\n): RequestOptionsFactory<any> {\n function __createVoiceConversation({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: TRANSFORM_PATHS_1,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn:\n 'wix.legends.chat.v1.PersonaChatService.CreateVoiceConversation',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/{chatId}/create-voice-conversation',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: TRANSFORM_PATHS_7,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createVoiceConversation;\n}\n\n/** End an interactive conversation with an avatar */\nexport function endInteractiveConversation(\n payload: object\n): RequestOptionsFactory<any> {\n function __endInteractiveConversation({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn:\n 'wix.legends.chat.v1.PersonaChatService.EndInteractiveConversation',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/{chatId}/end-interactive-conversation',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __endInteractiveConversation;\n}\n\n/** Get the status of an interactive conversation, including why the service ended it */\nexport function getInteractiveConversation(\n payload: object\n): RequestOptionsFactory<any> {\n function __getInteractiveConversation({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'GET' as any,\n methodFqn:\n 'wix.legends.chat.v1.PersonaChatService.GetInteractiveConversation',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath:\n '/v1/chats/{chatId}/interactive-conversations/{interactiveConversationId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __getInteractiveConversation;\n}\n\n/** Generate chat completions with vendor support */\nexport function generateChatCompletionsWithVendor(\n payload: object\n): RequestOptionsFactory<any> {\n function __generateChatCompletionsWithVendor({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKBytesToRESTBytes,\n paths: TRANSFORM_PATHS_4,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn:\n 'wix.legends.chat.v1.PersonaChatService.GenerateChatCompletionsWithVendor',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/generate-completions/{vendor}/chat/completions',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTBytesToSDKBytes,\n paths: TRANSFORM_PATHS_4,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __generateChatCompletionsWithVendor;\n}\n\n/** Generate chat completions with vendor support */\nexport function generateChatCompletionsStreamWithVendor(\n payload: object\n): RequestOptionsFactory<any> {\n function __generateChatCompletionsStreamWithVendor({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKBytesToRESTBytes,\n paths: TRANSFORM_PATHS_4,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn:\n 'wix.legends.chat.v1.PersonaChatService.GenerateChatCompletionsStreamWithVendor',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/generate-completions/{vendor}/chat/completions/stream',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTBytesToSDKBytes,\n paths: TRANSFORM_PATHS_4,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __generateChatCompletionsStreamWithVendor;\n}\n\n/** Query chat messages with WQL expression */\nexport function queryChatMessages(payload: object): RequestOptionsFactory<any> {\n function __queryChatMessages({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'GET' as any,\n methodFqn: 'wix.legends.chat.v1.PersonaChatService.QueryChatMessages',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/{chatId}/messages',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload, true),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_8,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __queryChatMessages;\n}\n\n/** Get permissions to check for voice and video calls */\nexport function getPermissions(payload: object): RequestOptionsFactory<any> {\n function __getPermissions({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'GET' as any,\n methodFqn: 'wix.legends.chat.v1.PersonaChatService.GetPermissions',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/personas/{personaId}/permissions',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __getPermissions;\n}\n\n/** Query persona chats with advanced filtering and sorting */\nexport function queryPersonaChats(payload: object): RequestOptionsFactory<any> {\n function __queryPersonaChats({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn: 'wix.legends.chat.v1.PersonaChatService.QueryPersonaChats',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/query',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_6,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __queryPersonaChats;\n}\n\n/** Create or update knowledge snippets associated with a chat */\nexport function upsertKnowledgeSnippet(\n payload: object\n): RequestOptionsFactory<any> {\n function __upsertKnowledgeSnippet({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn:\n 'wix.legends.chat.v1.PersonaChatService.UpsertKnowledgeSnippet',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/upsert-snippet',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_9,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __upsertKnowledgeSnippet;\n}\n\nexport function switchConfig(payload: object): RequestOptionsFactory<any> {\n function __switchConfig({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: TRANSFORM_PATHS_1,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn: 'wix.legends.chat.v1.PersonaChatService.SwitchConfig',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/switch-config',\n data: serializedData,\n host,\n }),\n data: serializedData,\n };\n\n return metadata;\n }\n\n return __switchConfig;\n}\n\n/** Delete a chat by ID. The caller must be the chat owner or the persona owner. */\nexport function deletePersonaChat(payload: object): RequestOptionsFactory<any> {\n function __deletePersonaChat({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'DELETE' as any,\n methodFqn: 'wix.legends.chat.v1.PersonaChatService.DeletePersonaChat',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/{chatId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __deletePersonaChat;\n}\n\n/** Delete all chats for a given persona. Only the persona owner can call this. */\nexport function bulkDeletePersonaChatsByPersona(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkDeletePersonaChatsByPersona({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn:\n 'wix.legends.chat.v1.PersonaChatService.BulkDeletePersonaChatsByPersona',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/bulk-delete-by-persona',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkDeletePersonaChatsByPersona;\n}\n\n/**\n * Summarizes one finished conversation, stores its outcome and emits the PersonaChat ConversationEnded action event.\n * Idempotent: a conversation whose outcome is already stored and announced returns it and emits nothing.\n * Called by conversation-activity-service when a conversation ends; Legends' own service identity only.\n */\nexport function generateConversationOutcome(\n payload: object\n): RequestOptionsFactory<any> {\n function __generateConversationOutcome({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.legends.persona.v1.chat',\n method: 'POST' as any,\n methodFqn:\n 'wix.legends.chat.v1.PersonaChatService.GenerateConversationOutcome',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixLegendsChatV1PersonaChatServiceUrl({\n protoPath: '/v1/chats/{chatId}/generate-conversation-outcome',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_10,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __generateConversationOutcome;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n BulkDeletePersonaChatsByPersonaOptions,\n BulkDeletePersonaChatsByPersonaResponse,\n CreateInteractiveConversationOptions,\n CreateInteractiveConversationResponse,\n CreatePersonaChatOptions,\n CreateVoiceConversationOptions,\n CreateVoiceConversationResponse,\n DeletePersonaChatOptions,\n EndInteractiveConversationOptions,\n GenerateChatCompletionsStreamWithVendorOptions,\n GenerateChatCompletionsWithVendorOptions,\n GenerateConversationOutcomeOptions,\n GenerateConversationOutcomeResponse,\n GetInteractiveConversationIdentifiers,\n GetInteractiveConversationOptions,\n GetInteractiveConversationResponse,\n GetPermissionsOptions,\n GetPermissionsResponse,\n GetPersonaChatContextApplicationErrors,\n GetPersonaChatContextResponse,\n GetPersonaChatOptions,\n ListPersonaChatsOptions,\n ListPersonaChatsResponse,\n PersistConversationMessageOptions,\n PersistConversationMessageResponse,\n PersonaChat,\n QueryChatMessagesOptions,\n QueryChatMessagesResponse,\n QueryPersonaChatsOptions,\n QueryPersonaChatsResponse,\n RawHttpResponse,\n RetrievePersonaKnowledgeApplicationErrors,\n RetrievePersonaKnowledgeOptions,\n RetrievePersonaKnowledgeResponse,\n SendChatMessageOptions,\n SendChatMessageResponse,\n SendChatMessageStreamedOptions,\n SwitchConfigOptions,\n UpsertKnowledgeSnippetApplicationErrors,\n UpsertKnowledgeSnippetOptions,\n UpsertKnowledgeSnippetResponse,\n bulkDeletePersonaChatsByPersona as universalBulkDeletePersonaChatsByPersona,\n createInteractiveConversation as universalCreateInteractiveConversation,\n createPersonaChat as universalCreatePersonaChat,\n createVoiceConversation as universalCreateVoiceConversation,\n deletePersonaChat as universalDeletePersonaChat,\n endInteractiveConversation as universalEndInteractiveConversation,\n generateChatCompletionsStreamWithVendor as universalGenerateChatCompletionsStreamWithVendor,\n generateChatCompletionsWithVendor as universalGenerateChatCompletionsWithVendor,\n generateConversationOutcome as universalGenerateConversationOutcome,\n getInteractiveConversation as universalGetInteractiveConversation,\n getPermissions as universalGetPermissions,\n getPersonaChat as universalGetPersonaChat,\n getPersonaChatContext as universalGetPersonaChatContext,\n listPersonaChats as universalListPersonaChats,\n persistConversationMessage as universalPersistConversationMessage,\n queryChatMessages as universalQueryChatMessages,\n queryPersonaChats as universalQueryPersonaChats,\n retrievePersonaKnowledge as universalRetrievePersonaKnowledge,\n sendChatMessage as universalSendChatMessage,\n sendChatMessageStreamed as universalSendChatMessageStreamed,\n switchConfig as universalSwitchConfig,\n upsertKnowledgeSnippet as universalUpsertKnowledgeSnippet,\n} from './legends-persona-v1-chat-persona-chats.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/legends' };\n\nexport function createPersonaChat(\n httpClient: HttpClient\n): CreatePersonaChatSignature {\n return (\n chat: NonNullablePaths<PersonaChat, `personaId`, 0>,\n options?: CreatePersonaChatOptions\n ) =>\n universalCreatePersonaChat(\n chat,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreatePersonaChatSignature {\n /**\n * Create a new chat\n * @param - Chat to create\n * @returns Chat created\n */\n (\n chat: NonNullablePaths<PersonaChat, `personaId`, 0>,\n options?: CreatePersonaChatOptions\n ): Promise<\n NonNullablePaths<\n PersonaChat,\n | `namespace`\n | `personaId`\n | `messages`\n | `messages.${number}.chatId`\n | `messages.${number}.role`\n | `messages.${number}.conversationType`\n | `mode`,\n 2\n >\n >;\n}\n\nexport function getPersonaChat(\n httpClient: HttpClient\n): GetPersonaChatSignature {\n return (chatId: string, options?: GetPersonaChatOptions) =>\n universalGetPersonaChat(\n chatId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetPersonaChatSignature {\n /**\n * Retrieves a chat.\n * @param - Chat ID\n * @returns The requested chat.\n */\n (chatId: string, options?: GetPersonaChatOptions): Promise<\n NonNullablePaths<\n PersonaChat,\n | `namespace`\n | `personaId`\n | `messages`\n | `messages.${number}.chatId`\n | `messages.${number}.role`\n | `messages.${number}.conversationType`\n | `mode`,\n 2\n >\n >;\n}\n\nexport function getPersonaChatContext(\n httpClient: HttpClient\n): GetPersonaChatContextSignature {\n return (chatId: string) =>\n universalGetPersonaChatContext(\n chatId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetPersonaChatContextSignature {\n /**\n * Returns a context for a chat.\n * @param - Chat ID\n */\n (chatId: string): Promise<\n NonNullablePaths<\n GetPersonaChatContextResponse,\n `chatContext.personaDetails.sampleQuestions` | `chatContext.mode`,\n 2\n > & {\n __applicationErrorsType?: GetPersonaChatContextApplicationErrors;\n }\n >;\n}\n\nexport function retrievePersonaKnowledge(\n httpClient: HttpClient\n): RetrievePersonaKnowledgeSignature {\n return (\n chatId: string,\n options: NonNullablePaths<\n RetrievePersonaKnowledgeOptions,\n `query` | `userMessageId`,\n 0\n >\n ) =>\n universalRetrievePersonaKnowledge(\n chatId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RetrievePersonaKnowledgeSignature {\n /**\n * Retrieves persona knowledge based on text query.\n * @param - Chat ID\n */\n (\n chatId: string,\n options: NonNullablePaths<\n RetrievePersonaKnowledgeOptions,\n `query` | `userMessageId`,\n 0\n >\n ): Promise<\n NonNullablePaths<\n RetrievePersonaKnowledgeResponse,\n | `knowledgeItems`\n | `knowledgeItems.${number}.knowledgeSnippetId`\n | `knowledgeItems.${number}.knowledgeDocumentId`\n | `knowledgeItems.${number}.knowledgeLinkId`\n | `knowledgeItems.${number}._id`\n | `knowledgeItems.${number}.revision`\n | `knowledgeItems.${number}.title`\n | `knowledgeItems.${number}.content`\n | `knowledgeItems.${number}.personaId`\n | `knowledgeItems.${number}.chunkIndex`\n | `knowledgeItems.${number}.relevanceScore`\n | `knowledgeItems.${number}.sourceType`\n | `knowledgeItems.${number}.draft`\n | `knowledgeItems.${number}.deleted`\n | `knowledgeItems.${number}.chunkMetadata.chunkNumber`\n | `knowledgeItems.${number}.chunkMetadata.tokensSize`\n | `knowledgeItems.${number}.chunkMetadata.pageCard.pageType`,\n 4\n > & {\n __applicationErrorsType?: RetrievePersonaKnowledgeApplicationErrors;\n }\n >;\n}\n\nexport function sendChatMessage(\n httpClient: HttpClient\n): SendChatMessageSignature {\n return (chatId: string, options?: SendChatMessageOptions) =>\n universalSendChatMessage(\n chatId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface SendChatMessageSignature {\n /**\n * Handle new user message or report function call results\n * @param - Chat ID\n */\n (chatId: string, options?: SendChatMessageOptions): Promise<\n NonNullablePaths<\n SendChatMessageResponse,\n | `messages`\n | `messages.${number}.chatId`\n | `messages.${number}.role`\n | `messages.${number}.conversationType`\n | `functionCalls`\n | `canSendChatMessage`,\n 2\n >\n >;\n}\n\nexport function sendChatMessageStreamed(\n httpClient: HttpClient\n): SendChatMessageStreamedSignature {\n return (options?: SendChatMessageStreamedOptions) =>\n universalSendChatMessageStreamed(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface SendChatMessageStreamedSignature {\n /**\n * Handle new user message with streaming response\n */\n (options?: SendChatMessageStreamedOptions): Promise<\n NonNullablePaths<\n RawHttpResponse,\n `body` | `headers` | `headers.${number}.key` | `headers.${number}.value`,\n 2\n >\n >;\n}\n\nexport function persistConversationMessage(\n httpClient: HttpClient\n): PersistConversationMessageSignature {\n return (\n chatId: string,\n options?: NonNullablePaths<PersistConversationMessageOptions, `message`, 0>\n ) =>\n universalPersistConversationMessage(\n chatId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface PersistConversationMessageSignature {\n /**\n * Persist a conversation message without running LLM orchestration.\n * @param - Chat ID\n */\n (\n chatId: string,\n options?: NonNullablePaths<PersistConversationMessageOptions, `message`, 0>\n ): Promise<\n NonNullablePaths<\n PersistConversationMessageResponse,\n | `message.chatId`\n | `message.role`\n | `message.attachments`\n | `message.attachments.${number}.fileName`\n | `message.attachments.${number}.mimeType`\n | `message.conversationType`\n | `deduplicated`,\n 3\n >\n >;\n}\n\nexport function listPersonaChats(\n httpClient: HttpClient\n): ListPersonaChatsSignature {\n return (personaId: string, options?: ListPersonaChatsOptions) =>\n universalListPersonaChats(\n personaId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ListPersonaChatsSignature {\n /**\n * Returns a list of Chats\n * @param - Persona ID\n */\n (personaId: string, options?: ListPersonaChatsOptions): Promise<\n NonNullablePaths<\n ListPersonaChatsResponse,\n | `chats`\n | `chats.${number}.namespace`\n | `chats.${number}.personaId`\n | `chats.${number}.mode`,\n 2\n >\n >;\n}\n\nexport function createInteractiveConversation(\n httpClient: HttpClient\n): CreateInteractiveConversationSignature {\n return (chatId: string, options?: CreateInteractiveConversationOptions) =>\n universalCreateInteractiveConversation(\n chatId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateInteractiveConversationSignature {\n /**\n * Create an interactive conversation with an avatar\n * @param - Chat ID\n */\n (chatId: string, options?: CreateInteractiveConversationOptions): Promise<\n NonNullablePaths<\n CreateInteractiveConversationResponse,\n `limitation.type`,\n 1\n >\n >;\n}\n\nexport function createVoiceConversation(\n httpClient: HttpClient\n): CreateVoiceConversationSignature {\n return (chatId: string, options?: CreateVoiceConversationOptions) =>\n universalCreateVoiceConversation(\n chatId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateVoiceConversationSignature {\n /**\n * Create a voice conversation\n * @param - Chat ID\n */\n (chatId: string, options?: CreateVoiceConversationOptions): Promise<\n NonNullablePaths<\n CreateVoiceConversationResponse,\n | `interactiveConversationId`\n | `conversationUrl`\n | `limitation.type`\n | `vendorData.vendor`,\n 1\n >\n >;\n}\n\nexport function endInteractiveConversation(\n httpClient: HttpClient\n): EndInteractiveConversationSignature {\n return (\n chatId: string,\n options?: NonNullablePaths<\n EndInteractiveConversationOptions,\n `interactiveConversationId`,\n 0\n >\n ) =>\n universalEndInteractiveConversation(\n chatId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface EndInteractiveConversationSignature {\n /**\n * End an interactive conversation with an avatar\n * @param - Chat ID\n */\n (\n chatId: string,\n options?: NonNullablePaths<\n EndInteractiveConversationOptions,\n `interactiveConversationId`,\n 0\n >\n ): Promise<void>;\n}\n\nexport function getInteractiveConversation(\n httpClient: HttpClient\n): GetInteractiveConversationSignature {\n return (\n identifiers: NonNullablePaths<\n GetInteractiveConversationIdentifiers,\n `chatId` | `interactiveConversationId`,\n 0\n >,\n options?: GetInteractiveConversationOptions\n ) =>\n universalGetInteractiveConversation(\n identifiers,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetInteractiveConversationSignature {\n /**\n * Get the status of an interactive conversation, including why the service ended it\n */\n (\n identifiers: NonNullablePaths<\n GetInteractiveConversationIdentifiers,\n `chatId` | `interactiveConversationId`,\n 0\n >,\n options?: GetInteractiveConversationOptions\n ): Promise<NonNullablePaths<GetInteractiveConversationResponse, `status`, 0>>;\n}\n\nexport function generateChatCompletionsWithVendor(\n httpClient: HttpClient\n): GenerateChatCompletionsWithVendorSignature {\n return (options?: GenerateChatCompletionsWithVendorOptions) =>\n universalGenerateChatCompletionsWithVendor(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GenerateChatCompletionsWithVendorSignature {\n /**\n * Generate chat completions with vendor support\n */\n (options?: GenerateChatCompletionsWithVendorOptions): Promise<\n NonNullablePaths<\n RawHttpResponse,\n `body` | `headers` | `headers.${number}.key` | `headers.${number}.value`,\n 2\n >\n >;\n}\n\nexport function generateChatCompletionsStreamWithVendor(\n httpClient: HttpClient\n): GenerateChatCompletionsStreamWithVendorSignature {\n return (options?: GenerateChatCompletionsStreamWithVendorOptions) =>\n universalGenerateChatCompletionsStreamWithVendor(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GenerateChatCompletionsStreamWithVendorSignature {\n /**\n * Generate chat completions with vendor support\n */\n (options?: GenerateChatCompletionsStreamWithVendorOptions): Promise<\n NonNullablePaths<\n RawHttpResponse,\n `body` | `headers` | `headers.${number}.key` | `headers.${number}.value`,\n 2\n >\n >;\n}\n\nexport function queryChatMessages(\n httpClient: HttpClient\n): QueryChatMessagesSignature {\n return (chatId: string, options?: QueryChatMessagesOptions) =>\n universalQueryChatMessages(\n chatId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QueryChatMessagesSignature {\n /**\n * Query chat messages with WQL expression\n * @param - Chat ID\n */\n (chatId: string, options?: QueryChatMessagesOptions): Promise<\n NonNullablePaths<\n QueryChatMessagesResponse,\n | `chatMessages`\n | `chatMessages.${number}.chatId`\n | `chatMessages.${number}.role`\n | `chatMessages.${number}.conversationType`,\n 2\n >\n >;\n}\n\nexport function getPermissions(\n httpClient: HttpClient\n): GetPermissionsSignature {\n return (personaId: string, options?: GetPermissionsOptions) =>\n universalGetPermissions(\n personaId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetPermissionsSignature {\n /**\n * Get permissions to check for voice and video calls\n * @param - Persona ID\n */\n (personaId: string, options?: GetPermissionsOptions): Promise<\n NonNullablePaths<\n GetPermissionsResponse,\n `canStartVideoCall` | `canStartVoiceCall` | `canSendChatMessage`,\n 0\n >\n >;\n}\n\nexport function queryPersonaChats(\n httpClient: HttpClient\n): QueryPersonaChatsSignature {\n return (\n options?: NonNullablePaths<\n QueryPersonaChatsOptions,\n `personaId` | `query`,\n 0\n >\n ) =>\n universalQueryPersonaChats(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QueryPersonaChatsSignature {\n /**\n * Query persona chats with advanced filtering and sorting\n */\n (\n options?: NonNullablePaths<\n QueryPersonaChatsOptions,\n `personaId` | `query`,\n 0\n >\n ): Promise<\n NonNullablePaths<\n QueryPersonaChatsResponse,\n | `chats`\n | `chats.${number}.namespace`\n | `chats.${number}.personaId`\n | `chats.${number}.mode`,\n 2\n >\n >;\n}\n\nexport function upsertKnowledgeSnippet(\n httpClient: HttpClient\n): UpsertKnowledgeSnippetSignature {\n return (\n chatId: string,\n options?: NonNullablePaths<\n UpsertKnowledgeSnippetOptions,\n `generatedSnippet`,\n 0\n >\n ) =>\n universalUpsertKnowledgeSnippet(\n chatId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpsertKnowledgeSnippetSignature {\n /**\n * Create or update knowledge snippets associated with a chat\n * @param - Chat ID to determine the chat mode and persona\n * @returns Response message for upserting knowledge snippets\n */\n (\n chatId: string,\n options?: NonNullablePaths<\n UpsertKnowledgeSnippetOptions,\n `generatedSnippet`,\n 0\n >\n ): Promise<\n NonNullablePaths<\n UpsertKnowledgeSnippetResponse,\n | `createdSnippets`\n | `createdSnippets.${number}.title`\n | `createdSnippets.${number}.content`\n | `createdSnippets.${number}.personaId`\n | `createdSnippets.${number}.namespace`\n | `createdSnippets.${number}.lastUpdateType`\n | `createdSnippets.${number}.category`\n | `createdSnippets.${number}.subcategory`\n | `createdSnippets.${number}.state`\n | `updatedSnippets`\n | `updatedSnippets.${number}.title`\n | `updatedSnippets.${number}.content`\n | `updatedSnippets.${number}.personaId`\n | `updatedSnippets.${number}.namespace`\n | `updatedSnippets.${number}.lastUpdateType`\n | `updatedSnippets.${number}.category`\n | `updatedSnippets.${number}.subcategory`\n | `updatedSnippets.${number}.state`,\n 2\n > & {\n __applicationErrorsType?: UpsertKnowledgeSnippetApplicationErrors;\n }\n >;\n}\n\nexport function switchConfig(httpClient: HttpClient): SwitchConfigSignature {\n return (\n chatId: string,\n options?: NonNullablePaths<\n SwitchConfigOptions,\n `chatConfig.configurationId`,\n 1\n >\n ) =>\n universalSwitchConfig(\n chatId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface SwitchConfigSignature {\n /** @param - Chat ID */\n (\n chatId: string,\n options?: NonNullablePaths<\n SwitchConfigOptions,\n `chatConfig.configurationId`,\n 1\n >\n ): Promise<void>;\n}\n\nexport function deletePersonaChat(\n httpClient: HttpClient\n): DeletePersonaChatSignature {\n return (chatId: string, options?: DeletePersonaChatOptions) =>\n universalDeletePersonaChat(\n chatId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface DeletePersonaChatSignature {\n /**\n * Delete a chat by ID. The caller must be the chat owner or the persona owner.\n * @param - Id of the Chat to delete.\n */\n (chatId: string, options?: DeletePersonaChatOptions): Promise<void>;\n}\n\nexport function bulkDeletePersonaChatsByPersona(\n httpClient: HttpClient\n): BulkDeletePersonaChatsByPersonaSignature {\n return (\n personaId: string,\n options?: BulkDeletePersonaChatsByPersonaOptions\n ) =>\n universalBulkDeletePersonaChatsByPersona(\n personaId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkDeletePersonaChatsByPersonaSignature {\n /**\n * Delete all chats for a given persona. Only the persona owner can call this.\n * @param - Persona ID whose chats to delete.\n */\n (\n personaId: string,\n options?: BulkDeletePersonaChatsByPersonaOptions\n ): Promise<\n NonNullablePaths<BulkDeletePersonaChatsByPersonaResponse, `deletedCount`, 0>\n >;\n}\n\nexport function generateConversationOutcome(\n httpClient: HttpClient\n): GenerateConversationOutcomeSignature {\n return (\n chatId: string,\n firstMessageId: string,\n options?: NonNullablePaths<\n GenerateConversationOutcomeOptions,\n `lastMessageId` | `personaOwnerId`,\n 0\n >\n ) =>\n universalGenerateConversationOutcome(\n chatId,\n firstMessageId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GenerateConversationOutcomeSignature {\n /**\n * Summarizes one finished conversation, stores its outcome and emits the PersonaChat ConversationEnded action event.\n * Idempotent: a conversation whose outcome is already stored and announced returns it and emits nothing.\n * Called by conversation-activity-service when a conversation ends; Legends' own service identity only.\n * @param - The chat the conversation took place in.\n * @param - The conversation's first message. Its ID becomes the conversation ID.\n */\n (\n chatId: string,\n firstMessageId: string,\n options?: NonNullablePaths<\n GenerateConversationOutcomeOptions,\n `lastMessageId` | `personaOwnerId`,\n 0\n >\n ): Promise<\n NonNullablePaths<\n GenerateConversationOutcomeResponse,\n | `conversationOutcome.chatId`\n | `conversationOutcome.personaId`\n | `conversationOutcome.channel`\n | `conversationOutcome.unansweredQuestions`\n | `deduplicated`,\n 1\n >\n >;\n}\n\nexport {\n AccountInfo,\n ActionEvent,\n AdditionalMetadata,\n AssistantConfigurationOverrides,\n AvatarPolicy,\n AvatarPolicyOptionsOneOf,\n AvatarSourcePolicy,\n BulkDeletePersonaChatsByPersonaOptions,\n BulkDeletePersonaChatsByPersonaRequest,\n BulkDeletePersonaChatsByPersonaResponse,\n CapturedContact,\n Category,\n Channel,\n ChatConfig,\n ChatContext,\n ChatMessage,\n ChatMessageAdded,\n ChatMessageAttachment,\n ChatMode,\n ClientToolDefinition,\n ConversationEnded,\n ConversationExpired,\n ConversationOutcome,\n ConversationType,\n CreateInteractiveConversationOptions,\n CreateInteractiveConversationRequest,\n CreateInteractiveConversationResponse,\n CreatePersonaChatOptions,\n CreatePersonaChatRequest,\n CreatePersonaChatResponse,\n CreateVoiceConversationOptions,\n CreateVoiceConversationRequest,\n CreateVoiceConversationResponse,\n CursorPaging,\n CursorPagingMetadata,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n Cursors,\n DeletePersonaChatOptions,\n DeletePersonaChatRequest,\n DeletePersonaChatResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n ElevenLabsData,\n Empty,\n EndInteractiveConversationOptions,\n EndInteractiveConversationRequest,\n EndInteractiveConversationResponse,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n FishAudioData,\n FunctionCall,\n FunctionCallResult,\n GenerateChatCompletionsStreamWithVendorOptions,\n GenerateChatCompletionsWithVendorOptions,\n GenerateConversationOutcomeOptions,\n GenerateConversationOutcomeRequest,\n GenerateConversationOutcomeResponse,\n GeneratedSnippet,\n GetCallMemberRequest,\n GetCallMemberResponse,\n GetInteractiveConversationIdentifiers,\n GetInteractiveConversationOptions,\n GetInteractiveConversationRequest,\n GetInteractiveConversationResponse,\n GetPermissionsOptions,\n GetPermissionsRequest,\n GetPermissionsResponse,\n GetPersonaChatContextRequest,\n GetPersonaChatContextResponse,\n GetPersonaChatOptions,\n GetPersonaChatRequest,\n GetPersonaChatResponse,\n HeadersEntry,\n HourOneData,\n HumeData,\n IdentificationData,\n IdentificationDataIdOneOf,\n InteractiveConversationStatus,\n Knowledge,\n KnowledgeChunkMetadata,\n KnowledgePageCard,\n KnowledgeRetrieved,\n KnowledgeSnippet,\n KnowledgeSnippetCreationTriggered,\n KnowledgeSourceOptionsOneOf,\n Limitation,\n ListPersonaChatsOptions,\n ListPersonaChatsRequest,\n ListPersonaChatsResponse,\n MessageEnvelope,\n MessageSource,\n MessageStatus,\n MessageType,\n Metadata,\n Namespace,\n ParticipantType,\n PathParametersEntry,\n PersistConversationMessageOptions,\n PersistConversationMessageRequest,\n PersistConversationMessageResponse,\n PersistedConversationMessage,\n PersistedConversationMonitoringData,\n PersonaChat,\n PersonaDetails,\n QueryChatMessagesOptions,\n QueryChatMessagesRequest,\n QueryChatMessagesResponse,\n QueryParametersEntry,\n QueryPersonaChatsOptions,\n QueryPersonaChatsRequest,\n QueryPersonaChatsResponse,\n RawHttpRequest,\n RawHttpResponse,\n RestoreInfo,\n RetrievePersonaKnowledgeInternalRequest,\n RetrievePersonaKnowledgeInternalResponse,\n RetrievePersonaKnowledgeOptions,\n RetrievePersonaKnowledgeRequest,\n RetrievePersonaKnowledgeResponse,\n Role,\n SendChatMessageOptions,\n SendChatMessageRequest,\n SendChatMessageResponse,\n SendChatMessageStreamedOptions,\n SendChatMessageStreamedRequest,\n SortOrder,\n Sorting,\n SourceType,\n State,\n Subcategory,\n SwitchConfigOptions,\n SwitchConfigRequest,\n SwitchConfigResponse,\n SystemAvatarOptions,\n SystemVoiceOptions,\n TagList,\n Tags,\n TriggerKnowledgeSnippetCreationRequest,\n TriggerKnowledgeSnippetCreationResponse,\n Type,\n UpdateType,\n UpsertKnowledgeSnippetOptions,\n UpsertKnowledgeSnippetRequest,\n UpsertKnowledgeSnippetResponse,\n VendorType,\n VoicePolicy,\n VoicePolicyOptionsOneOf,\n VoiceSourcePolicy,\n VoiceVendor,\n VoiceVendorData,\n VoiceVendorDataVendorDataOneOf,\n WebhookIdentityType,\n} from './legends-persona-v1-chat-persona-chats.universal.js';\n","import {\n createPersonaChat as publicCreatePersonaChat,\n getPersonaChat as publicGetPersonaChat,\n getPersonaChatContext as publicGetPersonaChatContext,\n retrievePersonaKnowledge as publicRetrievePersonaKnowledge,\n sendChatMessage as publicSendChatMessage,\n sendChatMessageStreamed as publicSendChatMessageStreamed,\n persistConversationMessage as publicPersistConversationMessage,\n listPersonaChats as publicListPersonaChats,\n createInteractiveConversation as publicCreateInteractiveConversation,\n createVoiceConversation as publicCreateVoiceConversation,\n endInteractiveConversation as publicEndInteractiveConversation,\n getInteractiveConversation as publicGetInteractiveConversation,\n generateChatCompletionsWithVendor as publicGenerateChatCompletionsWithVendor,\n generateChatCompletionsStreamWithVendor as publicGenerateChatCompletionsStreamWithVendor,\n queryChatMessages as publicQueryChatMessages,\n getPermissions as publicGetPermissions,\n queryPersonaChats as publicQueryPersonaChats,\n upsertKnowledgeSnippet as publicUpsertKnowledgeSnippet,\n switchConfig as publicSwitchConfig,\n deletePersonaChat as publicDeletePersonaChat,\n bulkDeletePersonaChatsByPersona as publicBulkDeletePersonaChatsByPersona,\n generateConversationOutcome as publicGenerateConversationOutcome,\n} from './legends-persona-v1-chat-persona-chats.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\n\nexport const createPersonaChat: MaybeContext<\n BuildRESTFunction<typeof publicCreatePersonaChat> &\n typeof publicCreatePersonaChat\n> = /*#__PURE__*/ createRESTModule(publicCreatePersonaChat);\nexport const getPersonaChat: MaybeContext<\n BuildRESTFunction<typeof publicGetPersonaChat> & typeof publicGetPersonaChat\n> = /*#__PURE__*/ createRESTModule(publicGetPersonaChat);\nexport const getPersonaChatContext: MaybeContext<\n BuildRESTFunction<typeof publicGetPersonaChatContext> &\n typeof publicGetPersonaChatContext\n> = /*#__PURE__*/ createRESTModule(publicGetPersonaChatContext);\nexport const retrievePersonaKnowledge: MaybeContext<\n BuildRESTFunction<typeof publicRetrievePersonaKnowledge> &\n typeof publicRetrievePersonaKnowledge\n> = /*#__PURE__*/ createRESTModule(publicRetrievePersonaKnowledge);\nexport const sendChatMessage: MaybeContext<\n BuildRESTFunction<typeof publicSendChatMessage> & typeof publicSendChatMessage\n> = /*#__PURE__*/ createRESTModule(publicSendChatMessage);\nexport const sendChatMessageStreamed: MaybeContext<\n BuildRESTFunction<typeof publicSendChatMessageStreamed> &\n typeof publicSendChatMessageStreamed\n> = /*#__PURE__*/ createRESTModule(publicSendChatMessageStreamed);\nexport const persistConversationMessage: MaybeContext<\n BuildRESTFunction<typeof publicPersistConversationMessage> &\n typeof publicPersistConversationMessage\n> = /*#__PURE__*/ createRESTModule(publicPersistConversationMessage);\nexport const listPersonaChats: MaybeContext<\n BuildRESTFunction<typeof publicListPersonaChats> &\n typeof publicListPersonaChats\n> = /*#__PURE__*/ createRESTModule(publicListPersonaChats);\nexport const createInteractiveConversation: MaybeContext<\n BuildRESTFunction<typeof publicCreateInteractiveConversation> &\n typeof publicCreateInteractiveConversation\n> = /*#__PURE__*/ createRESTModule(publicCreateInteractiveConversation);\nexport const createVoiceConversation: MaybeContext<\n BuildRESTFunction<typeof publicCreateVoiceConversation> &\n typeof publicCreateVoiceConversation\n> = /*#__PURE__*/ createRESTModule(publicCreateVoiceConversation);\nexport const endInteractiveConversation: MaybeContext<\n BuildRESTFunction<typeof publicEndInteractiveConversation> &\n typeof publicEndInteractiveConversation\n> = /*#__PURE__*/ createRESTModule(publicEndInteractiveConversation);\nexport const getInteractiveConversation: MaybeContext<\n BuildRESTFunction<typeof publicGetInteractiveConversation> &\n typeof publicGetInteractiveConversation\n> = /*#__PURE__*/ createRESTModule(publicGetInteractiveConversation);\nexport const generateChatCompletionsWithVendor: MaybeContext<\n BuildRESTFunction<typeof publicGenerateChatCompletionsWithVendor> &\n typeof publicGenerateChatCompletionsWithVendor\n> = /*#__PURE__*/ createRESTModule(publicGenerateChatCompletionsWithVendor);\nexport const generateChatCompletionsStreamWithVendor: MaybeContext<\n BuildRESTFunction<typeof publicGenerateChatCompletionsStreamWithVendor> &\n typeof publicGenerateChatCompletionsStreamWithVendor\n> = /*#__PURE__*/ createRESTModule(\n publicGenerateChatCompletionsStreamWithVendor\n);\nexport const queryChatMessages: MaybeContext<\n BuildRESTFunction<typeof publicQueryChatMessages> &\n typeof publicQueryChatMessages\n> = /*#__PURE__*/ createRESTModule(publicQueryChatMessages);\nexport const getPermissions: MaybeContext<\n BuildRESTFunction<typeof publicGetPermissions> & typeof publicGetPermissions\n> = /*#__PURE__*/ createRESTModule(publicGetPermissions);\nexport const queryPersonaChats: MaybeContext<\n BuildRESTFunction<typeof publicQueryPersonaChats> &\n typeof publicQueryPersonaChats\n> = /*#__PURE__*/ createRESTModule(publicQueryPersonaChats);\nexport const upsertKnowledgeSnippet: MaybeContext<\n BuildRESTFunction<typeof publicUpsertKnowledgeSnippet> &\n typeof publicUpsertKnowledgeSnippet\n> = /*#__PURE__*/ createRESTModule(publicUpsertKnowledgeSnippet);\nexport const switchConfig: MaybeContext<\n BuildRESTFunction<typeof publicSwitchConfig> & typeof publicSwitchConfig\n> = /*#__PURE__*/ createRESTModule(publicSwitchConfig);\nexport const deletePersonaChat: MaybeContext<\n BuildRESTFunction<typeof publicDeletePersonaChat> &\n typeof publicDeletePersonaChat\n> = /*#__PURE__*/ createRESTModule(publicDeletePersonaChat);\nexport const bulkDeletePersonaChatsByPersona: MaybeContext<\n BuildRESTFunction<typeof publicBulkDeletePersonaChatsByPersona> &\n typeof publicBulkDeletePersonaChatsByPersona\n> = /*#__PURE__*/ createRESTModule(publicBulkDeletePersonaChatsByPersona);\nexport const generateConversationOutcome: MaybeContext<\n BuildRESTFunction<typeof publicGenerateConversationOutcome> &\n typeof publicGenerateConversationOutcome\n> = /*#__PURE__*/ createRESTModule(publicGenerateConversationOutcome);\n\nexport {\n Namespace,\n Role,\n ConversationType,\n ChatMode,\n MessageType,\n VendorType,\n ParticipantType,\n SourceType,\n Channel,\n VoiceSourcePolicy,\n AvatarSourcePolicy,\n MessageStatus,\n MessageSource,\n Type,\n VoiceVendor,\n InteractiveConversationStatus,\n SortOrder,\n Category,\n Subcategory,\n UpdateType,\n State,\n WebhookIdentityType,\n} from './legends-persona-v1-chat-persona-chats.universal.js';\nexport {\n PersonaChat,\n ChatMessage,\n ChatMessageAttachment,\n ChatMessageAdded,\n KnowledgeSnippetCreationTriggered,\n KnowledgeRetrieved,\n Knowledge,\n KnowledgeSourceOptionsOneOf,\n KnowledgeChunkMetadata,\n KnowledgePageCard,\n ConversationEnded,\n ConversationOutcome,\n CapturedContact,\n ConversationExpired,\n CreatePersonaChatRequest,\n ChatConfig,\n AssistantConfigurationOverrides,\n VoicePolicy,\n VoicePolicyOptionsOneOf,\n SystemVoiceOptions,\n AvatarPolicy,\n AvatarPolicyOptionsOneOf,\n SystemAvatarOptions,\n Metadata,\n AdditionalMetadata,\n CreatePersonaChatResponse,\n GetPersonaChatRequest,\n GetPersonaChatResponse,\n GetPersonaChatContextRequest,\n GetPersonaChatContextResponse,\n ChatContext,\n PersonaDetails,\n RetrievePersonaKnowledgeRequest,\n RetrievePersonaKnowledgeResponse,\n RetrievePersonaKnowledgeInternalRequest,\n RetrievePersonaKnowledgeInternalResponse,\n SendChatMessageRequest,\n FunctionCallResult,\n ClientToolDefinition,\n SendChatMessageResponse,\n FunctionCall,\n SendChatMessageStreamedRequest,\n RawHttpResponse,\n HeadersEntry,\n PersistConversationMessageRequest,\n PersistedConversationMessage,\n PersistedConversationMonitoringData,\n PersistConversationMessageResponse,\n ListPersonaChatsRequest,\n ListPersonaChatsResponse,\n CreateInteractiveConversationRequest,\n CreateInteractiveConversationResponse,\n Limitation,\n CreateVoiceConversationRequest,\n CreateVoiceConversationResponse,\n VoiceVendorData,\n VoiceVendorDataVendorDataOneOf,\n ElevenLabsData,\n HourOneData,\n HumeData,\n FishAudioData,\n EndInteractiveConversationRequest,\n EndInteractiveConversationResponse,\n GetInteractiveConversationRequest,\n GetInteractiveConversationResponse,\n GetCallMemberRequest,\n GetCallMemberResponse,\n RawHttpRequest,\n PathParametersEntry,\n QueryParametersEntry,\n TriggerKnowledgeSnippetCreationRequest,\n TriggerKnowledgeSnippetCreationResponse,\n QueryChatMessagesRequest,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n Sorting,\n CursorPaging,\n QueryChatMessagesResponse,\n CursorPagingMetadata,\n Cursors,\n GetPermissionsRequest,\n GetPermissionsResponse,\n QueryPersonaChatsRequest,\n QueryPersonaChatsResponse,\n UpsertKnowledgeSnippetRequest,\n GeneratedSnippet,\n UpsertKnowledgeSnippetResponse,\n KnowledgeSnippet,\n Tags,\n TagList,\n SwitchConfigRequest,\n SwitchConfigResponse,\n DeletePersonaChatRequest,\n DeletePersonaChatResponse,\n BulkDeletePersonaChatsByPersonaRequest,\n BulkDeletePersonaChatsByPersonaResponse,\n GenerateConversationOutcomeRequest,\n GenerateConversationOutcomeResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n Empty,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n AccountInfo,\n CreatePersonaChatOptions,\n GetPersonaChatOptions,\n RetrievePersonaKnowledgeOptions,\n SendChatMessageOptions,\n SendChatMessageStreamedOptions,\n PersistConversationMessageOptions,\n ListPersonaChatsOptions,\n CreateInteractiveConversationOptions,\n CreateVoiceConversationOptions,\n EndInteractiveConversationOptions,\n GetInteractiveConversationIdentifiers,\n GetInteractiveConversationOptions,\n GenerateChatCompletionsWithVendorOptions,\n GenerateChatCompletionsStreamWithVendorOptions,\n QueryChatMessagesOptions,\n GetPermissionsOptions,\n QueryPersonaChatsOptions,\n UpsertKnowledgeSnippetOptions,\n SwitchConfigOptions,\n DeletePersonaChatOptions,\n BulkDeletePersonaChatsByPersonaOptions,\n GenerateConversationOutcomeOptions,\n} from './legends-persona-v1-chat-persona-chats.universal.js';\nexport {\n NamespaceWithLiterals,\n RoleWithLiterals,\n ConversationTypeWithLiterals,\n ChatModeWithLiterals,\n MessageTypeWithLiterals,\n VendorTypeWithLiterals,\n ParticipantTypeWithLiterals,\n SourceTypeWithLiterals,\n ChannelWithLiterals,\n VoiceSourcePolicyWithLiterals,\n AvatarSourcePolicyWithLiterals,\n MessageStatusWithLiterals,\n MessageSourceWithLiterals,\n TypeWithLiterals,\n VoiceVendorWithLiterals,\n InteractiveConversationStatusWithLiterals,\n SortOrderWithLiterals,\n CategoryWithLiterals,\n SubcategoryWithLiterals,\n UpdateTypeWithLiterals,\n StateWithLiterals,\n WebhookIdentityTypeWithLiterals,\n GetPersonaChatContextApplicationErrors,\n RetrievePersonaKnowledgeApplicationErrors,\n UpsertKnowledgeSnippetApplicationErrors,\n} from './legends-persona-v1-chat-persona-chats.universal.js';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yCAAAA;AAAA,EAAA,qCAAAC;AAAA,EAAA,yBAAAC;AAAA,EAAA,+BAAAC;AAAA,EAAA,yBAAAC;AAAA,EAAA,kCAAAC;AAAA,EAAA,+CAAAC;AAAA,EAAA,yCAAAC;AAAA,EAAA,mCAAAC;AAAA,EAAA,kCAAAC;AAAA,EAAA,sBAAAC;AAAA,EAAA,sBAAAC;AAAA,EAAA,6BAAAC;AAAA,EAAA,wBAAAC;AAAA,EAAA,kCAAAC;AAAA,EAAA,yBAAAC;AAAA,EAAA,yBAAAC;AAAA,EAAA,gCAAAC;AAAA,EAAA,uBAAAC;AAAA,EAAA,+BAAAC;AAAA,EAAA,oBAAAC;AAAA,EAAA,8BAAAC;AAAA;AAAA;;;ACAA,6BAAoD;AACpD,oCAGO;;;ACJP,0BAAkC;AAClC,mBAA6C;AAC7C,IAAAC,gBAA6C;AAC7C,mBAA6C;AAC7C,IAAAC,gBAA6C;AAC7C,uBAAqD;AACrD,IAAAC,oBAAqD;AACrD,6BAA+B;AAC/B,IAAAC,uBAA2B;AAI3B,IAAM,oBAAoB;AAAA,EACxB,EAAE,MAAM,mBAAmB;AAAA,EAC3B,EAAE,MAAM,mBAAmB;AAAA,EAC3B,EAAE,MAAM,4BAA4B;AACtC;AACA,IAAM,oBAAoB;AAAA,EACxB,EAAE,MAAM,wDAAwD;AAClE;AACA,IAAM,oBAAoB,CAAC,EAAE,MAAM,gCAAgC,CAAC;AACpE,IAAM,oBAAoB,CAAC,EAAE,MAAM,uBAAuB,CAAC;AAC3D,IAAM,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAC;AAC3C,IAAM,oBAAoB,CAAC,EAAE,MAAM,sBAAsB,CAAC;AAC1D,IAAM,oBAAoB;AAAA,EACxB,EAAE,MAAM,oBAAoB;AAAA,EAC5B,EAAE,MAAM,oBAAoB;AAAA,EAC5B,EAAE,MAAM,6BAA6B;AACvC;AACA,IAAM,oBAAoB;AAAA,EACxB,EAAE,MAAM,4BAA4B;AAAA,EACpC,EAAE,MAAM,sCAAsC;AAChD;AACA,IAAM,oBAAoB,CAAC,EAAE,MAAM,2BAA2B,CAAC;AAC/D,IAAM,oBAAoB;AAAA,EACxB,EAAE,MAAM,8BAA8B;AAAA,EACtC,EAAE,MAAM,8BAA8B;AAAA,EACtC,EAAE,MAAM,8BAA8B;AAAA,EACtC,EAAE,MAAM,8BAA8B;AACxC;AACA,IAAM,qBAAqB;AAAA,EACzB,EAAE,MAAM,kCAAkC;AAAA,EAC1C,EAAE,MAAM,kCAAkC;AAAA,EAC1C,EAAE,MAAM,kCAAkC;AAAA,EAC1C,EAAE,MAAM,gCAAgC;AAC1C;AAEA,SAAS,6CACP,MACA;AACA,QAAM,mBAAmB;AAAA,IACvB,oBAAoB;AAAA,MAClB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,YAAY;AAAA,MACV;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,GAAG;AAAA,MACD;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAEA,aAAO,iCAAW,OAAO,OAAO,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAC7D;AAEA,IAAM,eAAe;AAGd,SAAS,kBAAkB,SAA6C;AAC7E,WAAS,oBAAoB,EAAE,KAAK,GAAQ;AAC1C,UAAM,qBAAiB,uCAAe,SAAS;AAAA,MAC7C;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,MACT;AAAA,IACF,CAAC;AACD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,6CAA6C;AAAA,QAChD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACC,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,eAAe,SAA6C;AAC1E,WAAS,iBAAiB,EAAE,KAAK,GAAQ;AACvC,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,6CAA6C;AAAA,QAChD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,YAAQ,uCAAkB,OAAO;AAAA,MACjC,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,sBACd,SAC4B;AAC5B,WAAS,wBAAwB,EAAE,KAAK,GAAQ;AAC9C,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,6CAA6C;AAAA,QAChD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,YAAQ,uCAAkB,OAAO;AAAA,IACnC;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,yBACd,SAC4B;AAC5B,WAAS,2BAA2B,EAAE,KAAK,GAAQ;AACjD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,6CAA6C;AAAA,QAChD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,YAAQ,uCAAkB,OAAO;AAAA,MACjC,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,gBAAgB,SAA6C;AAC3E,WAAS,kBAAkB,EAAE,KAAK,GAAQ;AACxC,UAAM,qBAAiB,uCAAe,SAAS;AAAA,MAC7C;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,MACT;AAAA,IACF,CAAC;AACD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,6CAA6C;AAAA,QAChD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,wBACd,SAC4B;AAC5B,WAAS,0BAA0B,EAAE,KAAK,GAAQ;AAChD,UAAM,qBAAiB,uCAAe,SAAS;AAAA,MAC7C;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,MACT;AAAA,IACF,CAAC;AACD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,6CAA6C;AAAA,QAChD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,2BACd,SAC4B;AAC5B,WAAS,6BAA6B,EAAE,KAAK,GAAQ;AACnD,UAAM,qBAAiB,uCAAe,SAAS;AAAA,MAC7C;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,MACT;AAAA,IACF,CAAC;AACD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,6CAA6C;AAAA,QAChD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,iBAAiB,SAA6C;AAC5E,WAAS,mBAAmB,EAAE,KAAK,GAAQ;AACzC,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,6CAA6C;AAAA,QAChD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,YAAQ,uCAAkB,OAAO;AAAA,MACjC,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,8BACd,SAC4B;AAC5B,WAAS,gCAAgC,EAAE,KAAK,GAAQ;AACtD,UAAM,qBAAiB,uCAAe,SAAS;AAAA,MAC7C;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,MACT;AAAA,IACF,CAAC;AACD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,6CAA6C;AAAA,QAChD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,IACR;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,wBACd,SAC4B;AAC5B,WAAS,0BAA0B,EAAE,KAAK,GAAQ;AAChD,UAAM,qBAAiB,uCAAe,SAAS;AAAA,MAC7C;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,MACT;AAAA,IACF,CAAC;AACD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,6CAA6C;AAAA,QAChD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,2BACd,SAC4B;AAC5B,WAAS,6BAA6B,EAAE,KAAK,GAAQ;AACnD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,6CAA6C;AAAA,QAChD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,IACR;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,2BACd,SAC4B;AAC5B,WAAS,6BAA6B,EAAE,KAAK,GAAQ;AACnD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,6CAA6C;AAAA,QAChD,WACE;AAAA,QACF,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,YAAQ,uCAAkB,OAAO;AAAA,IACnC;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,kCACd,SAC4B;AAC5B,WAAS,oCAAoC,EAAE,KAAK,GAAQ;AAC1D,UAAM,qBAAiB,uCAAe,SAAS;AAAA,MAC7C;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,MACT;AAAA,IACF,CAAC;AACD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,6CAA6C;AAAA,QAChD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,wCACd,SAC4B;AAC5B,WAAS,0CAA0C,EAAE,KAAK,GAAQ;AAChE,UAAM,qBAAiB,uCAAe,SAAS;AAAA,MAC7C;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,MACT;AAAA,IACF,CAAC;AACD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,6CAA6C;AAAA,QAChD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,kBAAkB,SAA6C;AAC7E,WAAS,oBAAoB,EAAE,KAAK,GAAQ;AAC1C,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,6CAA6C;AAAA,QAChD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,YAAQ,uCAAkB,SAAS,IAAI;AAAA,MACvC,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,eAAe,SAA6C;AAC1E,WAAS,iBAAiB,EAAE,KAAK,GAAQ;AACvC,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,6CAA6C;AAAA,QAChD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,YAAQ,uCAAkB,OAAO;AAAA,IACnC;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,kBAAkB,SAA6C;AAC7E,WAAS,oBAAoB,EAAE,KAAK,GAAQ;AAC1C,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,6CAA6C;AAAA,QAChD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,uBACd,SAC4B;AAC5B,WAAS,yBAAyB,EAAE,KAAK,GAAQ;AAC/C,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,6CAA6C;AAAA,QAChD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEO,SAAS,aAAa,SAA6C;AACxE,WAAS,eAAe,EAAE,KAAK,GAAQ;AACrC,UAAM,qBAAiB,uCAAe,SAAS;AAAA,MAC7C;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,MACT;AAAA,IACF,CAAC;AACD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,6CAA6C;AAAA,QAChD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,IACR;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,kBAAkB,SAA6C;AAC7E,WAAS,oBAAoB,EAAE,KAAK,GAAQ;AAC1C,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,6CAA6C;AAAA,QAChD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,YAAQ,uCAAkB,OAAO;AAAA,IACnC;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,gCACd,SAC4B;AAC5B,WAAS,kCAAkC,EAAE,KAAK,GAAQ;AACxD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,6CAA6C;AAAA,QAChD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,IACR;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAOO,SAAS,4BACd,SAC4B;AAC5B,WAAS,8BAA8B,EAAE,KAAK,GAAQ;AACpD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,6CAA6C;AAAA,QAChD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,iBAClB,uCAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;;;ADp1BO,IAAK,YAAL,kBAAKC,eAAL;AACL,EAAAA,WAAA,WAAQ;AACR,EAAAA,WAAA,YAAS;AACT,EAAAA,WAAA,eAAY;AACZ,EAAAA,WAAA,UAAO;AACP,EAAAA,WAAA,eAAY;AACZ,EAAAA,WAAA,aAAU;AACV,EAAAA,WAAA,6BAA0B;AAC1B,EAAAA,WAAA,gBAAa;AACb,EAAAA,WAAA,gBAAa;AACb,EAAAA,WAAA,cAAW;AACX,EAAAA,WAAA,cAAW;AAXD,SAAAA;AAAA,GAAA;AAiFL,IAAK,OAAL,kBAAKC,UAAL;AACL,EAAAA,MAAA,aAAU;AACV,EAAAA,MAAA,UAAO;AACP,EAAAA,MAAA,eAAY;AAHF,SAAAA;AAAA,GAAA;AAoCL,IAAK,mBAAL,kBAAKC,sBAAL;AACL,EAAAA,kBAAA,+BAA4B;AAC5B,EAAAA,kBAAA,UAAO;AACP,EAAAA,kBAAA,WAAQ;AACR,EAAAA,kBAAA,WAAQ;AAJE,SAAAA;AAAA,GAAA;AAeL,IAAK,WAAL,kBAAKC,cAAL;AACL,EAAAA,UAAA,aAAU;AACV,EAAAA,UAAA,eAAY;AAEZ,EAAAA,UAAA,WAAQ;AAJE,SAAAA;AAAA,GAAA;AAiEL,IAAK,cAAL,kBAAKC,iBAAL;AACL,EAAAA,aAAA,0BAAuB;AACvB,EAAAA,aAAA,UAAO;AACP,EAAAA,aAAA,WAAQ;AACR,EAAAA,aAAA,WAAQ;AAJE,SAAAA;AAAA,GAAA;AAeL,IAAK,aAAL,kBAAKC,gBAAL;AACL,EAAAA,YAAA,WAAQ;AACR,EAAAA,YAAA,gBAAa;AACb,EAAAA,YAAA,aAAU;AACV,EAAAA,YAAA,UAAO;AACP,EAAAA,YAAA,UAAO;AACP,EAAAA,YAAA,gBAAa;AANH,SAAAA;AAAA,GAAA;AAoBL,IAAK,kBAAL,kBAAKC,qBAAL;AACL,EAAAA,iBAAA,8BAA2B;AAC3B,EAAAA,iBAAA,UAAO;AACP,EAAAA,iBAAA,iBAAc;AACd,EAAAA,iBAAA,kBAAe;AAJL,SAAAA;AAAA,GAAA;AA2JL,IAAK,aAAL,kBAAKC,gBAAL;AACL,EAAAA,YAAA,wBAAqB;AACrB,EAAAA,YAAA,uBAAoB;AACpB,EAAAA,YAAA,oBAAiB;AAHP,SAAAA;AAAA,GAAA;AAiRL,IAAK,UAAL,kBAAKC,aAAL;AACL,EAAAA,SAAA,UAAO;AACP,EAAAA,SAAA,WAAQ;AACR,EAAAA,SAAA,WAAQ;AAHE,SAAAA;AAAA,GAAA;AA8KL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,mBAAA,mBAAgB;AAEhB,EAAAA,mBAAA,kBAAe;AAJL,SAAAA;AAAA,GAAA;AAmCL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,oBAAA,oBAAiB;AAEjB,EAAAA,oBAAA,mBAAgB;AAJN,SAAAA;AAAA,GAAA;AAscL,IAAK,gBAAL,kBAAKC,mBAAL;AACL,EAAAA,eAAA,4BAAyB;AACzB,EAAAA,eAAA,WAAQ;AACR,EAAAA,eAAA,aAAU;AACV,EAAAA,eAAA,eAAY;AACZ,EAAAA,eAAA,iBAAc;AALJ,SAAAA;AAAA,GAAA;AAiBL,IAAK,gBAAL,kBAAKC,mBAAL;AACL,EAAAA,eAAA,4BAAyB;AACzB,EAAAA,eAAA,kBAAe;AACf,EAAAA,eAAA,wBAAqB;AACrB,EAAAA,eAAA,mBAAgB;AAChB,EAAAA,eAAA,yBAAsB;AALZ,SAAAA;AAAA,GAAA;AAiJL,IAAK,OAAL,kBAAKC,UAAL;AACL,EAAAA,MAAA,aAAU;AACV,EAAAA,MAAA,aAAU;AACV,EAAAA,MAAA,YAAS;AAHC,SAAAA;AAAA,GAAA;AAmHL,IAAK,cAAL,kBAAKC,iBAAL;AACL,EAAAA,aAAA,iBAAc;AACd,EAAAA,aAAA,cAAW;AACX,EAAAA,aAAA,UAAO;AACP,EAAAA,aAAA,gBAAa;AAJH,SAAAA;AAAA,GAAA;AAkHL,IAAK,gCAAL,kBAAKC,mCAAL;AAEL,EAAAA,+BAAA,aAAU;AAEV,EAAAA,+BAAA,YAAS;AAET,EAAAA,+BAAA,WAAQ;AAER,EAAAA,+BAAA,+BAA4B;AAE5B,EAAAA,+BAAA,yBAAsB;AAEtB,EAAAA,+BAAA,kCAA+B;AAZrB,SAAAA;AAAA,GAAA;AAyKL,IAAK,YAAL,kBAAKC,eAAL;AACL,EAAAA,WAAA,SAAM;AACN,EAAAA,WAAA,UAAO;AAFG,SAAAA;AAAA,GAAA;AA+JL,IAAK,WAAL,kBAAKC,cAAL;AAEL,EAAAA,UAAA,aAAU;AAEV,EAAAA,UAAA,cAAW;AAEX,EAAAA,UAAA,wBAAqB;AAErB,EAAAA,UAAA,8BAA2B;AAE3B,EAAAA,UAAA,mBAAgB;AAEhB,EAAAA,UAAA,iBAAc;AAEd,EAAAA,UAAA,wBAAqB;AAErB,EAAAA,UAAA,sBAAmB;AAEnB,EAAAA,UAAA,qBAAkB;AAlBR,SAAAA;AAAA,GAAA;AAkCL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,aAAA,sBAAmB;AAEnB,EAAAA,aAAA,uBAAoB;AAEpB,EAAAA,aAAA,qBAAkB;AAElB,EAAAA,aAAA,2BAAwB;AAExB,EAAAA,aAAA,yBAAsB;AAEtB,EAAAA,aAAA,yBAAsB;AAEtB,EAAAA,aAAA,0BAAuB;AAEvB,EAAAA,aAAA,oBAAiB;AAEjB,EAAAA,aAAA,uBAAoB;AAEpB,EAAAA,aAAA,wBAAqB;AAErB,EAAAA,aAAA,kBAAe;AAEf,EAAAA,aAAA,qBAAkB;AAElB,EAAAA,aAAA,wBAAqB;AAErB,EAAAA,aAAA,qBAAkB;AAElB,EAAAA,aAAA,iCAA8B;AAE9B,EAAAA,aAAA,8BAA2B;AAE3B,EAAAA,aAAA,4BAAyB;AAEzB,EAAAA,aAAA,4BAAyB;AAEzB,EAAAA,aAAA,wBAAqB;AAErB,EAAAA,aAAA,0BAAuB;AAEvB,EAAAA,aAAA,wBAAqB;AAErB,EAAAA,aAAA,sBAAmB;AAEnB,EAAAA,aAAA,4BAAyB;AA9Cf,SAAAA;AAAA,GAAA;AAwNL,IAAK,aAAL,kBAAKC,gBAAL;AAEL,EAAAA,YAAA,yBAAsB;AAEtB,EAAAA,YAAA,YAAS;AAET,EAAAA,YAAA,QAAK;AANK,SAAAA;AAAA,GAAA;AAgBL,IAAK,QAAL,kBAAKC,WAAL;AAEL,EAAAA,OAAA,SAAM;AAEN,EAAAA,OAAA,eAAY;AAEZ,EAAAA,OAAA,cAAW;AAEX,EAAAA,OAAA,aAAU;AARA,SAAAA;AAAA,GAAA;AAiRL,IAAK,sBAAL,kBAAKC,yBAAL;AACL,EAAAA,qBAAA,aAAU;AACV,EAAAA,qBAAA,uBAAoB;AACpB,EAAAA,qBAAA,YAAS;AACT,EAAAA,qBAAA,cAAW;AACX,EAAAA,qBAAA,SAAM;AALI,SAAAA;AAAA,GAAA;AAiEZ,eAAsBC,mBACpB,MACA,SAaA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD;AAAA,IACA,cAAc,SAAS;AAAA,IACvB,YAAY,SAAS;AAAA,IACrB,UAAU,SAAS;AAAA,EACrB,CAAC;AAED,QAAM,UAA4C,kBAAkB,OAAO;AAE3E,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI,GAAG;AAAA,EAC/D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAC;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,MAAM;AAAA,UACN,cAAc;AAAA,UACd,YAAY;AAAA,UACZ,UAAU;AAAA,QACZ;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,QAAQ,SAAS;AAAA,IACpB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAyBA,eAAsBC,gBACpB,QACA,SAaA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD;AAAA,IACA,WAAW,SAAS;AAAA,IACpB,aAAa,SAAS;AAAA,EACxB,CAAC;AAED,QAAM,UAA4C,eAAe,OAAO;AAExE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI,GAAG;AAAA,EAC/D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAD;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,QAAQ;AAAA,UACR,WAAW;AAAA,UACX,aAAa;AAAA,QACf;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,UAAU,SAAS;AAAA,IACtB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AA0BA,eAAsBE,uBAAsB,QAQ1C;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC,EAAE,OAAe,CAAC;AAExE,QAAM,UAC8B,sBAAsB,OAAO;AAEjE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAF;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B,EAAE,QAAQ,OAAO;AAAA,QAC3C,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,QAAQ;AAAA,IACX;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAcA,eAAsBG,0BACpB,QACA,SA6BA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD;AAAA,IACA,OAAO,SAAS;AAAA,IAChB,eAAe,SAAS;AAAA,EAC1B,CAAC;AAED,QAAM,UAC8B,yBAAyB,OAAO;AAEpE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAH;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,QAAQ;AAAA,UACR,OAAO;AAAA,UACP,eAAe;AAAA,QACjB;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,UAAU,SAAS;AAAA,IACtB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAwBA,eAAsBI,iBACpB,QACA,SAYA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD;AAAA,IACA,WAAW,SAAS;AAAA,IACpB,SAAS,SAAS;AAAA,IAClB,YAAY,SAAS;AAAA,IACrB,aAAa,SAAS;AAAA,IACtB,mBAAmB,SAAS;AAAA,IAC5B,qBAAqB,SAAS;AAAA,IAC9B,UAAU,SAAS;AAAA,IACnB,aAAa,SAAS;AAAA,IACtB,aAAa,SAAS;AAAA,IACtB,sBAAsB,SAAS;AAAA,EACjC,CAAC;AAED,QAAM,UAA4C,gBAAgB,OAAO;AAEzE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAJ;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,QAAQ;AAAA,UACR,WAAW;AAAA,UACX,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,aAAa;AAAA,UACb,mBAAmB;AAAA,UACnB,qBAAqB;AAAA,UACrB,UAAU;AAAA,UACV,aAAa;AAAA,UACb,aAAa;AAAA,UACb,sBAAsB;AAAA,QACxB;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,UAAU,SAAS;AAAA,IACtB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AA8DA,eAAsBK,yBACpB,SAOA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD,QAAQ,SAAS;AAAA,IACjB,WAAW,SAAS;AAAA,IACpB,SAAS,SAAS;AAAA,IAClB,YAAY,SAAS;AAAA,IACrB,aAAa,SAAS;AAAA,IACtB,UAAU,SAAS;AAAA,IACnB,aAAa,SAAS;AAAA,IACtB,sBAAsB,SAAS;AAAA,EACjC,CAAC;AAED,QAAM,UAC8B,wBAAwB,OAAO;AAEnE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAL;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,QAAQ;AAAA,UACR,WAAW;AAAA,UACX,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,aAAa;AAAA,UACb,UAAU;AAAA,UACV,aAAa;AAAA,UACb,sBAAsB;AAAA,QACxB;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,SAAS;AAAA,IACZ;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAqDA,eAAsBM,4BACpB,QACA,SAaA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD;AAAA,IACA,WAAW,SAAS;AAAA,IACpB,SAAS,SAAS;AAAA,IAClB,aAAa,SAAS;AAAA,EACxB,CAAC;AAED,QAAM,UAC8B,2BAA2B,OAAO;AAEtE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAN;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,QAAQ;AAAA,UACR,WAAW;AAAA,UACX,SAAS;AAAA,UACT,aAAa;AAAA,QACf;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,UAAU,SAAS;AAAA,IACtB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AA4BA,eAAsBO,kBACpB,WACA,SAUA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD;AAAA,IACA,WAAW,SAAS;AAAA,IACpB,aAAa,SAAS;AAAA,EACxB,CAAC;AAED,QAAM,UAA4C,iBAAiB,OAAO;AAE1E,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAP;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,WAAW;AAAA,UACX,WAAW;AAAA,UACX,aAAa;AAAA,QACf;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,aAAa,SAAS;AAAA,IACzB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AA0BA,eAAsBQ,+BACpB,QACA,SAGA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD;AAAA,IACA,WAAW,SAAS;AAAA,IACpB,YAAY,SAAS;AAAA,IACrB,mBAAmB,SAAS;AAAA,IAC5B,uBAAuB,SAAS;AAAA,IAChC,aAAa,SAAS;AAAA,IACtB,sBAAsB,SAAS;AAAA,EACjC,CAAC;AAED,QAAM,UAC8B,8BAA8B,OAAO;AAEzE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAR;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,QAAQ;AAAA,UACR,WAAW;AAAA,UACX,YAAY;AAAA,UACZ,mBAAmB;AAAA,UACnB,uBAAuB;AAAA,UACvB,aAAa;AAAA,UACb,sBAAsB;AAAA,QACxB;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,UAAU,SAAS;AAAA,IACtB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAyCA,eAAsBS,yBACpB,QACA,SAUA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD;AAAA,IACA,WAAW,SAAS;AAAA,IACpB,QAAQ,SAAS;AAAA,IACjB,WAAW,SAAS;AAAA,IACpB,YAAY,SAAS;AAAA,IACrB,mBAAmB,SAAS;AAAA,IAC5B,uBAAuB,SAAS;AAAA,IAChC,aAAa,SAAS;AAAA,IACtB,sBAAsB,SAAS;AAAA,EACjC,CAAC;AAED,QAAM,UAC8B,wBAAwB,OAAO;AAEnE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAT;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,QAAQ;AAAA,UACR,WAAW;AAAA,UACX,QAAQ;AAAA,UACR,WAAW;AAAA,UACX,YAAY;AAAA,UACZ,mBAAmB;AAAA,UACnB,uBAAuB;AAAA,UACvB,aAAa;AAAA,UACb,sBAAsB;AAAA,QACxB;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,UAAU,SAAS;AAAA,IACtB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAmDA,eAAsBU,4BACpB,QACA,SAKe;AAEf,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD;AAAA,IACA,WAAW,SAAS;AAAA,IACpB,2BAA2B,SAAS;AAAA,IACpC,aAAa,SAAS;AAAA,EACxB,CAAC;AAED,QAAM,UAC8B,2BAA2B,OAAO;AAEtE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAAA,EACjC,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAV;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,QAAQ;AAAA,UACR,WAAW;AAAA,UACX,2BAA2B;AAAA,UAC3B,aAAa;AAAA,QACf;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,UAAU,SAAS;AAAA,IACtB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAgCA,eAAsBW,4BACpB,aAKA,SAC4E;AAE5E,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD,QAAQ,aAAa;AAAA,IACrB,2BAA2B,aAAa;AAAA,IACxC,WAAW,SAAS;AAAA,IACpB,aAAa,SAAS;AAAA,EACxB,CAAC;AAED,QAAM,UAC8B,2BAA2B,OAAO;AAEtE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAX;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,QAAQ;AAAA,UACR,2BAA2B;AAAA,UAC3B,WAAW;AAAA,UACX,aAAa;AAAA,QACf;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,eAAe,SAAS;AAAA,IAC3B;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAqCA,eAAsBY,mCACpB,SAOA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD,MAAM,SAAS;AAAA,IACf,YAAY,SAAS;AAAA,IACrB,aAAa,SAAS;AAAA,IACtB,SAAS,SAAS;AAAA,IAClB,QAAQ,SAAS;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,UAAU,SAAS;AAAA,EACrB,CAAC;AAED,QAAM,UAC8B;AAAA,IAChC;AAAA,EACF;AAEF,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAZ;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,MAAM;AAAA,UACN,YAAY;AAAA,UACZ,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,UAAU;AAAA,QACZ;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,SAAS;AAAA,IACZ;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAmBA,eAAsBa,yCACpB,SAOA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD,MAAM,SAAS;AAAA,IACf,YAAY,SAAS;AAAA,IACrB,aAAa,SAAS;AAAA,IACtB,SAAS,SAAS;AAAA,IAClB,QAAQ,SAAS;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,UAAU,SAAS;AAAA,EACrB,CAAC;AAED,QAAM,UAC8B;AAAA,IAChC;AAAA,EACF;AAEF,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAb;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,MAAM;AAAA,UACN,YAAY;AAAA,UACZ,aAAa;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,UAAU;AAAA,QACZ;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,SAAS;AAAA,IACZ;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAqBA,eAAsBc,mBACpB,QACA,SAUA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD;AAAA,IACA,OAAO,SAAS;AAAA,IAChB,WAAW,SAAS;AAAA,IACpB,aAAa,SAAS;AAAA,EACxB,CAAC;AAED,QAAM,UAA4C,kBAAkB,OAAO;AAE3E,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAd;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,QAAQ;AAAA,UACR,OAAO;AAAA,UACP,WAAW;AAAA,UACX,aAAa;AAAA,QACf;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,UAAU,SAAS;AAAA,IACtB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AA4BA,eAAsBe,gBACpB,WACA,SAOA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD;AAAA,IACA,WAAW,SAAS;AAAA,IACpB,QAAQ,SAAS;AAAA,IACjB,aAAa,SAAS;AAAA,EACxB,CAAC;AAED,QAAM,UAA4C,eAAe,OAAO;AAExE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAf;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,WAAW;AAAA,UACX,WAAW;AAAA,UACX,QAAQ;AAAA,UACR,aAAa;AAAA,QACf;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,aAAa,SAAS;AAAA,IACzB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AA+BA,eAAsBgB,mBACpB,SAUA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD,WAAW,SAAS;AAAA,IACpB,WAAW,SAAS;AAAA,IACpB,OAAO,SAAS;AAAA,IAChB,aAAa,SAAS;AAAA,EACxB,CAAC;AAED,QAAM,UAA4C,kBAAkB,OAAO;AAE3E,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAhB;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,WAAW;AAAA,UACX,WAAW;AAAA,UACX,OAAO;AAAA,UACP,aAAa;AAAA,QACf;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,SAAS;AAAA,IACZ;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAmCA,eAAsBiB,wBACpB,QACA,SA8BA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD;AAAA,IACA,WAAW,SAAS;AAAA,IACpB,kBAAkB,SAAS;AAAA,IAC3B,gBAAgB,SAAS;AAAA,IACzB,aAAa,SAAS;AAAA,EACxB,CAAC;AAED,QAAM,UAC8B,uBAAuB,OAAO;AAElE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAjB;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,QAAQ;AAAA,UACR,WAAW;AAAA,UACX,kBAAkB;AAAA,UAClB,gBAAgB;AAAA,UAChB,aAAa;AAAA,QACf;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,UAAU,SAAS;AAAA,IACtB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAoCA,eAAsBkB,cACpB,QACA,SAKe;AAEf,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD;AAAA,IACA,2BAA2B,SAAS;AAAA,IACpC,WAAW,SAAS;AAAA,IACpB,YAAY,SAAS;AAAA,IACrB,WAAW,SAAS;AAAA,IACpB,aAAa,SAAS;AAAA,EACxB,CAAC;AAED,QAAM,UAA4C,aAAa,OAAO;AAEtE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAAA,EACjC,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAlB;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,QAAQ;AAAA,UACR,2BAA2B;AAAA,UAC3B,WAAW;AAAA,UACX,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,aAAa;AAAA,QACf;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,UAAU,SAAS;AAAA,IACtB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAmCA,eAAsBmB,mBACpB,QACA,SACe;AAEf,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD;AAAA,IACA,WAAW,SAAS;AAAA,IACpB,aAAa,SAAS;AAAA,EACxB,CAAC;AAED,QAAM,UAA4C,kBAAkB,OAAO;AAE3E,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAAA,EACjC,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAnB;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,QAAQ;AAAA,UACR,WAAW;AAAA,UACX,aAAa;AAAA,QACf;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,UAAU,SAAS;AAAA,IACtB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AA0BA,eAAsBoB,iCACpB,WACA,SAGA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD;AAAA,IACA,WAAW,SAAS;AAAA,IACpB,aAAa,SAAS;AAAA,EACxB,CAAC;AAED,QAAM,UAC8B,gCAAgC,OAAO;AAE3E,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAApB;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,WAAW;AAAA,UACX,WAAW;AAAA,UACX,aAAa;AAAA,QACf;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,aAAa,SAAS;AAAA,IACzB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAgCA,eAAsBqB,6BACpB,QACA,gBACA,SAeA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD;AAAA,IACA;AAAA,IACA,eAAe,SAAS;AAAA,IACxB,gBAAgB,SAAS;AAAA,IACzB,SAAS,SAAS;AAAA,IAClB,2BAA2B,SAAS;AAAA,EACtC,CAAC;AAED,QAAM,UAC8B,4BAA4B,OAAO;AAEvE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAArB;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,QAAQ;AAAA,UACR,gBAAgB;AAAA,UAChB,eAAe;AAAA,UACf,gBAAgB;AAAA,UAChB,SAAS;AAAA,UACT,2BAA2B;AAAA,QAC7B;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,UAAU,kBAAkB,SAAS;AAAA,IACxC;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;;;AEx8IO,SAASsB,mBACd,YAC4B;AAC5B,SAAO,CACL,MACA,YAEAA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AA0BO,SAASC,gBACd,YACyB;AACzB,SAAO,CAAC,QAAgB,YACtBA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAuBO,SAASC,uBACd,YACgC;AAChC,SAAO,CAAC,WACNA;AAAA,IACE;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAkBO,SAASC,0BACd,YACmC;AACnC,SAAO,CACL,QACA,YAMAA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAyCO,SAASC,iBACd,YAC0B;AAC1B,SAAO,CAAC,QAAgB,YACtBA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAqBO,SAASC,yBACd,YACkC;AAClC,SAAO,CAAC,YACNA;AAAA,IACE;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAeO,SAASC,4BACd,YACqC;AACrC,SAAO,CACL,QACA,YAEAA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAyBO,SAASC,kBACd,YAC2B;AAC3B,SAAO,CAAC,WAAmB,YACzBA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAmBO,SAASC,+BACd,YACwC;AACxC,SAAO,CAAC,QAAgB,YACtBA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAgBO,SAASC,yBACd,YACkC;AAClC,SAAO,CAAC,QAAgB,YACtBA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAmBO,SAASC,4BACd,YACqC;AACrC,SAAO,CACL,QACA,YAMAA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAiBO,SAASC,4BACd,YACqC;AACrC,SAAO,CACL,aAKA,YAEAA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAgBO,SAASC,mCACd,YAC4C;AAC5C,SAAO,CAAC,YACNA;AAAA,IACE;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAeO,SAASC,yCACd,YACkD;AAClD,SAAO,CAAC,YACNA;AAAA,IACE;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAeO,SAASC,mBACd,YAC4B;AAC5B,SAAO,CAAC,QAAgB,YACtBA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAmBO,SAASC,gBACd,YACyB;AACzB,SAAO,CAAC,WAAmB,YACzBA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAgBO,SAASC,mBACd,YAC4B;AAC5B,SAAO,CACL,YAMAA;AAAA,IACE;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAwBO,SAASC,wBACd,YACiC;AACjC,SAAO,CACL,QACA,YAMAA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AA2CO,SAASC,cAAa,YAA+C;AAC1E,SAAO,CACL,QACA,YAMAA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAcO,SAASC,mBACd,YAC4B;AAC5B,SAAO,CAAC,QAAgB,YACtBA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAUO,SAASC,iCACd,YAC0C;AAC1C,SAAO,CACL,WACA,YAEAA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAeO,SAASC,6BACd,YACsC;AACtC,SAAO,CACL,QACA,gBACA,YAMAA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;;;ACxuBA,IAAAC,uBAAiC;AAG1B,IAAMC,qBAGK,2DAAiBA,kBAAuB;AACnD,IAAMC,kBAEK,2DAAiBA,eAAoB;AAChD,IAAMC,yBAGK,2DAAiBA,sBAA2B;AACvD,IAAMC,4BAGK,2DAAiBA,yBAA8B;AAC1D,IAAMC,mBAEK,2DAAiBA,gBAAqB;AACjD,IAAMC,2BAGK,2DAAiBA,wBAA6B;AACzD,IAAMC,8BAGK,2DAAiBA,2BAAgC;AAC5D,IAAMC,oBAGK,2DAAiBA,iBAAsB;AAClD,IAAMC,iCAGK,2DAAiBA,8BAAmC;AAC/D,IAAMC,2BAGK,2DAAiBA,wBAA6B;AACzD,IAAMC,8BAGK,2DAAiBA,2BAAgC;AAC5D,IAAMC,8BAGK,2DAAiBA,2BAAgC;AAC5D,IAAMC,qCAGK,2DAAiBA,kCAAuC;AACnE,IAAMC,2CAGK;AAAA,EAChBA;AACF;AACO,IAAMC,qBAGK,2DAAiBA,kBAAuB;AACnD,IAAMC,kBAEK,2DAAiBA,eAAoB;AAChD,IAAMC,qBAGK,2DAAiBA,kBAAuB;AACnD,IAAMC,0BAGK,2DAAiBA,uBAA4B;AACxD,IAAMC,gBAEK,2DAAiBA,aAAkB;AAC9C,IAAMC,qBAGK,2DAAiBA,kBAAuB;AACnD,IAAMC,mCAGK,2DAAiBA,gCAAqC;AACjE,IAAMC,+BAGK,2DAAiBA,4BAAiC;","names":["bulkDeletePersonaChatsByPersona","createInteractiveConversation","createPersonaChat","createVoiceConversation","deletePersonaChat","endInteractiveConversation","generateChatCompletionsStreamWithVendor","generateChatCompletionsWithVendor","generateConversationOutcome","getInteractiveConversation","getPermissions","getPersonaChat","getPersonaChatContext","listPersonaChats","persistConversationMessage","queryChatMessages","queryPersonaChats","retrievePersonaKnowledge","sendChatMessage","sendChatMessageStreamed","switchConfig","upsertKnowledgeSnippet","import_float","import_bytes","import_timestamp","import_rest_modules","payload","Namespace","Role","ConversationType","ChatMode","MessageType","VendorType","ParticipantType","SourceType","Channel","VoiceSourcePolicy","AvatarSourcePolicy","MessageStatus","MessageSource","Type","VoiceVendor","InteractiveConversationStatus","SortOrder","Category","Subcategory","UpdateType","State","WebhookIdentityType","createPersonaChat","sdkTransformError","getPersonaChat","getPersonaChatContext","retrievePersonaKnowledge","sendChatMessage","sendChatMessageStreamed","persistConversationMessage","listPersonaChats","createInteractiveConversation","createVoiceConversation","endInteractiveConversation","getInteractiveConversation","generateChatCompletionsWithVendor","generateChatCompletionsStreamWithVendor","queryChatMessages","getPermissions","queryPersonaChats","upsertKnowledgeSnippet","switchConfig","deletePersonaChat","bulkDeletePersonaChatsByPersona","generateConversationOutcome","createPersonaChat","getPersonaChat","getPersonaChatContext","retrievePersonaKnowledge","sendChatMessage","sendChatMessageStreamed","persistConversationMessage","listPersonaChats","createInteractiveConversation","createVoiceConversation","endInteractiveConversation","getInteractiveConversation","generateChatCompletionsWithVendor","generateChatCompletionsStreamWithVendor","queryChatMessages","getPermissions","queryPersonaChats","upsertKnowledgeSnippet","switchConfig","deletePersonaChat","bulkDeletePersonaChatsByPersona","generateConversationOutcome","import_rest_modules","createPersonaChat","getPersonaChat","getPersonaChatContext","retrievePersonaKnowledge","sendChatMessage","sendChatMessageStreamed","persistConversationMessage","listPersonaChats","createInteractiveConversation","createVoiceConversation","endInteractiveConversation","getInteractiveConversation","generateChatCompletionsWithVendor","generateChatCompletionsStreamWithVendor","queryChatMessages","getPermissions","queryPersonaChats","upsertKnowledgeSnippet","switchConfig","deletePersonaChat","bulkDeletePersonaChatsByPersona","generateConversationOutcome"]}
|