wiil-core-js 0.0.82
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/LICENSE +21 -0
- package/README.md +174 -0
- package/dist/core/account/index.d.ts +7 -0
- package/dist/core/account/index.js +23 -0
- package/dist/core/account/organization.schema.d.ts +118 -0
- package/dist/core/account/organization.schema.js +91 -0
- package/dist/core/account/project.schema.d.ts +121 -0
- package/dist/core/account/project.schema.js +102 -0
- package/dist/core/account/supported-business-verticals.d.ts +8 -0
- package/dist/core/account/supported-business-verticals.js +23 -0
- package/dist/core/assistant-setups/assistant-setup-result.schema.d.ts +115 -0
- package/dist/core/assistant-setups/assistant-setup-result.schema.js +17 -0
- package/dist/core/assistant-setups/base-assistant-setup.schema.d.ts +61 -0
- package/dist/core/assistant-setups/base-assistant-setup.schema.js +29 -0
- package/dist/core/assistant-setups/index.d.ts +4 -0
- package/dist/core/assistant-setups/index.js +21 -0
- package/dist/core/assistant-setups/phone-assistant-setup.schema.d.ts +63 -0
- package/dist/core/assistant-setups/phone-assistant-setup.schema.js +14 -0
- package/dist/core/assistant-setups/web-assitant-setup.schema.d.ts +56 -0
- package/dist/core/assistant-setups/web-assitant-setup.schema.js +17 -0
- package/dist/core/base.schema.d.ts +34 -0
- package/dist/core/base.schema.js +36 -0
- package/dist/core/business-mgt/appointment-additional-info.schema.d.ts +63 -0
- package/dist/core/business-mgt/appointment-additional-info.schema.js +53 -0
- package/dist/core/business-mgt/appointment-field-config.schema.d.ts +251 -0
- package/dist/core/business-mgt/appointment-field-config.schema.js +49 -0
- package/dist/core/business-mgt/bookings.shared.schema.d.ts +47 -0
- package/dist/core/business-mgt/bookings.shared.schema.js +60 -0
- package/dist/core/business-mgt/business-location.schema.d.ts +327 -0
- package/dist/core/business-mgt/business-location.schema.js +176 -0
- package/dist/core/business-mgt/customer-management/customer-group.schema.d.ts +87 -0
- package/dist/core/business-mgt/customer-management/customer-group.schema.js +53 -0
- package/dist/core/business-mgt/customer-management/customer.schema.d.ts +156 -0
- package/dist/core/business-mgt/customer-management/customer.schema.js +93 -0
- package/dist/core/business-mgt/customer-management/index.d.ts +7 -0
- package/dist/core/business-mgt/customer-management/index.js +23 -0
- package/dist/core/business-mgt/customer-management/shipping-address.schema.d.ts +112 -0
- package/dist/core/business-mgt/customer-management/shipping-address.schema.js +79 -0
- package/dist/core/business-mgt/customer.schema.d.ts +111 -0
- package/dist/core/business-mgt/customer.schema.js +73 -0
- package/dist/core/business-mgt/discount-rule.schema.d.ts +183 -0
- package/dist/core/business-mgt/discount-rule.schema.js +108 -0
- package/dist/core/business-mgt/index.d.ts +16 -0
- package/dist/core/business-mgt/index.js +38 -0
- package/dist/core/business-mgt/menu-config.schema.d.ts +165 -0
- package/dist/core/business-mgt/menu-config.schema.js +86 -0
- package/dist/core/business-mgt/menu-management/index.d.ts +11 -0
- package/dist/core/business-mgt/menu-management/index.js +27 -0
- package/dist/core/business-mgt/menu-management/menu-catalog.schema.d.ts +386 -0
- package/dist/core/business-mgt/menu-management/menu-catalog.schema.js +58 -0
- package/dist/core/business-mgt/menu-management/menu-config.schema.d.ts +301 -0
- package/dist/core/business-mgt/menu-management/menu-config.schema.js +169 -0
- package/dist/core/business-mgt/menu-management/menu-item-variant.schema.d.ts +143 -0
- package/dist/core/business-mgt/menu-management/menu-item-variant.schema.js +86 -0
- package/dist/core/business-mgt/menu-management/menu-pricing-rule.schema.d.ts +239 -0
- package/dist/core/business-mgt/menu-management/menu-pricing-rule.schema.js +117 -0
- package/dist/core/business-mgt/menu-management/menu-set.schema.d.ts +420 -0
- package/dist/core/business-mgt/menu-management/menu-set.schema.js +283 -0
- package/dist/core/business-mgt/menu-management/menu.order.schema.d.ts +654 -0
- package/dist/core/business-mgt/menu-management/menu.order.schema.js +204 -0
- package/dist/core/business-mgt/menu-management/modifier.schema.d.ts +585 -0
- package/dist/core/business-mgt/menu-management/modifier.schema.js +341 -0
- package/dist/core/business-mgt/menu.order.schema.d.ts +335 -0
- package/dist/core/business-mgt/menu.order.schema.js +149 -0
- package/dist/core/business-mgt/order.schema.d.ts +222 -0
- package/dist/core/business-mgt/order.schema.js +205 -0
- package/dist/core/business-mgt/pricing-rule.shared.schema.d.ts +56 -0
- package/dist/core/business-mgt/pricing-rule.shared.schema.js +68 -0
- package/dist/core/business-mgt/product-config.schema.d.ts +177 -0
- package/dist/core/business-mgt/product-config.schema.js +106 -0
- package/dist/core/business-mgt/product-management/index.d.ts +12 -0
- package/dist/core/business-mgt/product-management/index.js +28 -0
- package/dist/core/business-mgt/product-management/product-axis-binding.schema.d.ts +54 -0
- package/dist/core/business-mgt/product-management/product-axis-binding.schema.js +54 -0
- package/dist/core/business-mgt/product-management/product-config.schema.d.ts +1042 -0
- package/dist/core/business-mgt/product-management/product-config.schema.js +392 -0
- package/dist/core/business-mgt/product-management/product-display.schema.d.ts +548 -0
- package/dist/core/business-mgt/product-management/product-display.schema.js +80 -0
- package/dist/core/business-mgt/product-management/product-order.schema.d.ts +493 -0
- package/dist/core/business-mgt/product-management/product-order.schema.js +158 -0
- package/dist/core/business-mgt/product-management/product-pricing-rule.schema.d.ts +167 -0
- package/dist/core/business-mgt/product-management/product-pricing-rule.schema.js +68 -0
- package/dist/core/business-mgt/product-management/product-set.schema.d.ts +488 -0
- package/dist/core/business-mgt/product-management/product-set.schema.js +273 -0
- package/dist/core/business-mgt/product-management/product-variant-axis.schema.d.ts +156 -0
- package/dist/core/business-mgt/product-management/product-variant-axis.schema.js +98 -0
- package/dist/core/business-mgt/product-management/product-variant.schema.d.ts +219 -0
- package/dist/core/business-mgt/product-management/product-variant.schema.js +130 -0
- package/dist/core/business-mgt/product-order.schema.d.ts +326 -0
- package/dist/core/business-mgt/product-order.schema.js +153 -0
- package/dist/core/business-mgt/property-config.schema.d.ts +621 -0
- package/dist/core/business-mgt/property-config.schema.js +224 -0
- package/dist/core/business-mgt/property-inquiry.schema.d.ts +222 -0
- package/dist/core/business-mgt/property-inquiry.schema.js +112 -0
- package/dist/core/business-mgt/property-management/index.d.ts +6 -0
- package/dist/core/business-mgt/property-management/index.js +22 -0
- package/dist/core/business-mgt/property-management/property-config.schema.d.ts +1306 -0
- package/dist/core/business-mgt/property-management/property-config.schema.js +367 -0
- package/dist/core/business-mgt/property-management/property-inquiry.schema.d.ts +254 -0
- package/dist/core/business-mgt/property-management/property-inquiry.schema.js +131 -0
- package/dist/core/business-mgt/reservation-mgt/assignment/index.d.ts +3 -0
- package/dist/core/business-mgt/reservation-mgt/assignment/index.js +19 -0
- package/dist/core/business-mgt/reservation-mgt/assignment/reservation-rental-assignment.schema.d.ts +139 -0
- package/dist/core/business-mgt/reservation-mgt/assignment/reservation-rental-assignment.schema.js +90 -0
- package/dist/core/business-mgt/reservation-mgt/assignment/reservation-room-assignment.schema.d.ts +104 -0
- package/dist/core/business-mgt/reservation-mgt/assignment/reservation-room-assignment.schema.js +70 -0
- package/dist/core/business-mgt/reservation-mgt/assignment/reservation-table-assignment.schema.d.ts +104 -0
- package/dist/core/business-mgt/reservation-mgt/assignment/reservation-table-assignment.schema.js +72 -0
- package/dist/core/business-mgt/reservation-mgt/index.d.ts +14 -0
- package/dist/core/business-mgt/reservation-mgt/index.js +31 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-floor-plan-definition.schema.d.ts +180 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-floor-plan-definition.schema.js +75 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-maintenance-block.schema.d.ts +91 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-maintenance-block.schema.js +57 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-rental.schema.d.ts +334 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-rental.schema.js +179 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-room.schema.d.ts +195 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-room.schema.js +106 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-section.schema.d.ts +402 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-section.schema.js +198 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-settings.schema.d.ts +229 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-settings.schema.js +127 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-slot-query.schema.d.ts +382 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-slot-query.schema.js +322 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-table-layout.schema.d.ts +123 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-table-layout.schema.js +83 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-table.schema.d.ts +167 -0
- package/dist/core/business-mgt/reservation-mgt/reservation-table.schema.js +84 -0
- package/dist/core/business-mgt/reservation-mgt/reservation.schema.d.ts +0 -0
- package/dist/core/business-mgt/reservation-mgt/reservation.schema.js +153 -0
- package/dist/core/business-mgt/reservation-mgt/resource/index.d.ts +4 -0
- package/dist/core/business-mgt/reservation-mgt/resource/index.js +20 -0
- package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource-category.schema.d.ts +157 -0
- package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource-category.schema.js +76 -0
- package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource-instance.schema.d.ts +137 -0
- package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource-instance.schema.js +94 -0
- package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource.schema.d.ts +713 -0
- package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource.schema.js +363 -0
- package/dist/core/business-mgt/reservation-mgt/resource/resource-versioning.schema.d.ts +151 -0
- package/dist/core/business-mgt/reservation-mgt/resource/resource-versioning.schema.js +147 -0
- package/dist/core/business-mgt/reservation-resource.schema.d.ts +154 -0
- package/dist/core/business-mgt/reservation-resource.schema.js +100 -0
- package/dist/core/business-mgt/reservation.schema.d.ts +119 -0
- package/dist/core/business-mgt/reservation.schema.js +89 -0
- package/dist/core/business-mgt/service-appointment.schema.d.ts +105 -0
- package/dist/core/business-mgt/service-appointment.schema.js +69 -0
- package/dist/core/business-mgt/service-config.schema.d.ts +453 -0
- package/dist/core/business-mgt/service-config.schema.js +102 -0
- package/dist/core/business-mgt/service-management/appointment-additional-info.schema.d.ts +110 -0
- package/dist/core/business-mgt/service-management/appointment-additional-info.schema.js +78 -0
- package/dist/core/business-mgt/service-management/appointment-field-config.schema.d.ts +304 -0
- package/dist/core/business-mgt/service-management/appointment-field-config.schema.js +75 -0
- package/dist/core/business-mgt/service-management/business-service-config.schema.d.ts +1226 -0
- package/dist/core/business-mgt/service-management/business-service-config.schema.js +317 -0
- package/dist/core/business-mgt/service-management/index.d.ts +13 -0
- package/dist/core/business-mgt/service-management/index.js +29 -0
- package/dist/core/business-mgt/service-management/service-appointment.schema.d.ts +531 -0
- package/dist/core/business-mgt/service-management/service-appointment.schema.js +116 -0
- package/dist/core/business-mgt/service-management/service-person.schema.d.ts +122 -0
- package/dist/core/business-mgt/service-management/service-person.schema.js +66 -0
- package/dist/core/business-mgt/service-management/service-pricing-rule.schema.d.ts +221 -0
- package/dist/core/business-mgt/service-management/service-pricing-rule.schema.js +118 -0
- package/dist/core/business-mgt/service-management/service-provider.schema.d.ts +90 -0
- package/dist/core/business-mgt/service-management/service-provider.schema.js +54 -0
- package/dist/core/business-mgt/service-management/service-slot-query.schema.d.ts +90 -0
- package/dist/core/business-mgt/service-management/service-slot-query.schema.js +113 -0
- package/dist/core/business-mgt/service-management/service-time-off.schema.d.ts +121 -0
- package/dist/core/business-mgt/service-management/service-time-off.schema.js +95 -0
- package/dist/core/business-mgt/service-person.schema.d.ts +43 -0
- package/dist/core/business-mgt/service-person.schema.js +38 -0
- package/dist/core/business-mgt/tax-rule.schema.d.ts +161 -0
- package/dist/core/business-mgt/tax-rule.schema.js +90 -0
- package/dist/core/conversation/conversation-config.schema.d.ts +644 -0
- package/dist/core/conversation/conversation-config.schema.js +351 -0
- package/dist/core/conversation/conversation-message.schema.d.ts +307 -0
- package/dist/core/conversation/conversation-message.schema.js +275 -0
- package/dist/core/conversation/index.d.ts +12 -0
- package/dist/core/conversation/index.js +28 -0
- package/dist/core/conversation/outbound-call.schema.d.ts +209 -0
- package/dist/core/conversation/outbound-call.schema.js +116 -0
- package/dist/core/conversation/outbound-email.schema.d.ts +338 -0
- package/dist/core/conversation/outbound-email.schema.js +150 -0
- package/dist/core/conversation/outbound-sms.schema.d.ts +163 -0
- package/dist/core/conversation/outbound-sms.schema.js +85 -0
- package/dist/core/conversation/outbound-template.schema.d.ts +375 -0
- package/dist/core/conversation/outbound-template.schema.js +160 -0
- package/dist/core/conversation/translation-config.schema.d.ts +92 -0
- package/dist/core/conversation/translation-config.schema.js +88 -0
- package/dist/core/conversation/translation-conversation.schema.d.ts +469 -0
- package/dist/core/conversation/translation-conversation.schema.js +175 -0
- package/dist/core/index.d.ts +12 -0
- package/dist/core/index.js +30 -0
- package/dist/core/service-configuration/agent-config.schema.d.ts +236 -0
- package/dist/core/service-configuration/agent-config.schema.js +152 -0
- package/dist/core/service-configuration/base-agent-setup.d.ts +147 -0
- package/dist/core/service-configuration/base-agent-setup.js +123 -0
- package/dist/core/service-configuration/call-transfer-config.schema.d.ts +60 -0
- package/dist/core/service-configuration/call-transfer-config.schema.js +53 -0
- package/dist/core/service-configuration/deployment-config.schema.d.ts +522 -0
- package/dist/core/service-configuration/deployment-config.schema.js +271 -0
- package/dist/core/service-configuration/dynamic_setup/base-agent-setup.d.ts +130 -0
- package/dist/core/service-configuration/dynamic_setup/base-agent-setup.js +110 -0
- package/dist/core/service-configuration/dynamic_setup/index.d.ts +10 -0
- package/dist/core/service-configuration/dynamic_setup/index.js +26 -0
- package/dist/core/service-configuration/dynamic_setup/phone-agent-setup.d.ts +111 -0
- package/dist/core/service-configuration/dynamic_setup/phone-agent-setup.js +56 -0
- package/dist/core/service-configuration/dynamic_setup/web-agent-setup.d.ts +113 -0
- package/dist/core/service-configuration/dynamic_setup/web-agent-setup.js +55 -0
- package/dist/core/service-configuration/index.d.ts +17 -0
- package/dist/core/service-configuration/index.js +33 -0
- package/dist/core/service-configuration/instruction-config.schema.d.ts +183 -0
- package/dist/core/service-configuration/instruction-config.schema.js +139 -0
- package/dist/core/service-configuration/interaction-channels.schema.d.ts +469 -0
- package/dist/core/service-configuration/interaction-channels.schema.js +390 -0
- package/dist/core/service-configuration/knowledge.schema.d.ts +107 -0
- package/dist/core/service-configuration/knowledge.schema.js +106 -0
- package/dist/core/service-configuration/phone-config.schema.d.ts +206 -0
- package/dist/core/service-configuration/phone-config.schema.js +121 -0
- package/dist/core/service-configuration/phone-number.schema.d.ts +236 -0
- package/dist/core/service-configuration/phone-number.schema.js +211 -0
- package/dist/core/service-configuration/provisioning-config.d.ts +429 -0
- package/dist/core/service-configuration/provisioning-config.js +307 -0
- package/dist/core/service-configuration/support-llm.d.ts +95 -0
- package/dist/core/service-configuration/support-llm.js +76 -0
- package/dist/core/service-configuration/voice-language.schema.d.ts +200 -0
- package/dist/core/service-configuration/voice-language.schema.js +166 -0
- package/dist/core/type-definitions/account-definitions.d.ts +82 -0
- package/dist/core/type-definitions/account-definitions.js +88 -0
- package/dist/core/type-definitions/business-definitions.d.ts +394 -0
- package/dist/core/type-definitions/business-definitions.js +447 -0
- package/dist/core/type-definitions/conversation.type.definition.d.ts +223 -0
- package/dist/core/type-definitions/conversation.type.definition.js +236 -0
- package/dist/core/type-definitions/display-order.d.ts +154 -0
- package/dist/core/type-definitions/display-order.js +154 -0
- package/dist/core/type-definitions/dynamic-fields/field-definition.schema.d.ts +165 -0
- package/dist/core/type-definitions/dynamic-fields/field-definition.schema.js +97 -0
- package/dist/core/type-definitions/dynamic-fields/field-types.d.ts +49 -0
- package/dist/core/type-definitions/dynamic-fields/field-types.js +104 -0
- package/dist/core/type-definitions/dynamic-fields/index.d.ts +9 -0
- package/dist/core/type-definitions/dynamic-fields/index.js +25 -0
- package/dist/core/type-definitions/index.d.ts +10 -0
- package/dist/core/type-definitions/index.js +26 -0
- package/dist/core/type-definitions/knowledge-definitions.d.ts +30 -0
- package/dist/core/type-definitions/knowledge-definitions.js +37 -0
- package/dist/core/type-definitions/service-config.definitions.d.ts +112 -0
- package/dist/core/type-definitions/service-config.definitions.js +135 -0
- package/dist/core/validators/channel-validation.d.ts +19 -0
- package/dist/core/validators/channel-validation.js +40 -0
- package/dist/core/validators/index.d.ts +5 -0
- package/dist/core/validators/index.js +21 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +24 -0
- package/dist/request/index.d.ts +5 -0
- package/dist/request/index.js +21 -0
- package/dist/request/models/index.d.ts +6 -0
- package/dist/request/models/index.js +22 -0
- package/dist/request/models/paginated-quest.schema.d.ts +33 -0
- package/dist/request/models/paginated-quest.schema.js +35 -0
- package/dist/request/models/paginated-result.schema.d.ts +124 -0
- package/dist/request/models/paginated-result.schema.js +94 -0
- package/package.json +43 -0
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.UpdateTranslationChainConfigSchema = exports.CreateTranslationChainConfigSchema = exports.TranslationChainConfigSchema = exports.UpdateProvisioningConfigSchema = exports.CreateProvisioningConfigSchema = exports.ProvisioningConfigChainSchema = exports.TtsModelConfigSchema = exports.SttModelConfigSchema = void 0;
|
|
7
|
+
const zod_1 = __importDefault(require("zod"));
|
|
8
|
+
const base_schema_1 = require("../base.schema");
|
|
9
|
+
const base_agent_setup_1 = require("./base-agent-setup");
|
|
10
|
+
/**
|
|
11
|
+
* @fileoverview Provisioning configuration chain schema definitions.
|
|
12
|
+
*
|
|
13
|
+
* Provisioning chains orchestrate the complete voice interaction pipeline by linking Speech-to-Text (STT),
|
|
14
|
+
* Agent Configuration, and Text-to-Speech (TTS) models. Used for voice-based deployments with CHAINED
|
|
15
|
+
* provisioning type.
|
|
16
|
+
*
|
|
17
|
+
* @module service-configuration/provisioning-config
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Zod schema for Speech-to-Text (STT) model configuration.
|
|
21
|
+
*
|
|
22
|
+
* Defines the STT model used to convert user speech to text in voice-based interactions.
|
|
23
|
+
* Part of the provisioning chain's input processing stage.
|
|
24
|
+
*
|
|
25
|
+
* @remarks
|
|
26
|
+
* **Architecture Context:**
|
|
27
|
+
* - **Used In**: ProvisioningConfigChain (sttConfig field)
|
|
28
|
+
* - **Purpose**: Converts incoming voice to text for agent processing
|
|
29
|
+
* - **Pipeline Position**: First stage (Speech → Text)
|
|
30
|
+
*
|
|
31
|
+
* @typedef {Object} SttModelConfigProperties
|
|
32
|
+
* @property {string} modelId - Identifier of the STT model from Wiil registry (e.g., 'whisper-v3', 'google-stt-enhanced')
|
|
33
|
+
* @property {string} defaultLanguage - Default language code for speech recognition in ISO format (default: "en-US")
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* const sttConfig: SttModelConfig = {
|
|
38
|
+
* modelId: 'whisper-v3',
|
|
39
|
+
* defaultLanguage: 'en-US'
|
|
40
|
+
* };
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
exports.SttModelConfigSchema = zod_1.default.object({
|
|
44
|
+
modelId: zod_1.default.string().describe("Identifier of the STT (Speech-to-Text) model from Wiil registry for converting user speech to text (e.g., 'whisper-v3', 'google-stt-enhanced', 'deepgram-nova')"),
|
|
45
|
+
defaultLanguage: zod_1.default.string().default("en-US").describe("Default language code for speech recognition in ISO 639-1 format with region (e.g., 'en-US', 'es-ES', 'fr-FR'). Used when language auto-detection is not available or fails"),
|
|
46
|
+
});
|
|
47
|
+
/**
|
|
48
|
+
* Zod schema for Text-to-Speech (TTS) model configuration.
|
|
49
|
+
*
|
|
50
|
+
* Defines the TTS model and voice used to convert agent text responses to speech in voice interactions.
|
|
51
|
+
* Part of the provisioning chain's output generation stage.
|
|
52
|
+
*
|
|
53
|
+
* @remarks
|
|
54
|
+
* **Architecture Context:**
|
|
55
|
+
* - **Used In**: ProvisioningConfigChain (ttsConfig field)
|
|
56
|
+
* - **Purpose**: Converts agent text responses to natural speech
|
|
57
|
+
* - **Pipeline Position**: Final stage (Text → Speech)
|
|
58
|
+
* - **Voice Selection**: References voices from WiilSupportModel.supportedVoices
|
|
59
|
+
*
|
|
60
|
+
* @typedef {Object} TtsModelConfigProperties
|
|
61
|
+
* @property {string} modelId - Identifier of the TTS model from Wiil registry (e.g., 'eleven-labs-v2', 'google-tts-wavenet')
|
|
62
|
+
* @property {string} voiceId - Identifier of the specific voice for speech synthesis (e.g., 'adam', 'rachel', 'en-us-neural-female')
|
|
63
|
+
* @property {string} defaultLanguage - Default language code for speech synthesis (default: "en-US")
|
|
64
|
+
* @property {Record<string, any>} [voiceSettings] - Optional voice-specific settings (pitch, speed, stability, etc.)
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* const ttsConfig: TtsModelConfig = {
|
|
69
|
+
* modelId: 'eleven-labs-v2',
|
|
70
|
+
* voiceId: 'adam',
|
|
71
|
+
* defaultLanguage: 'en-US',
|
|
72
|
+
* voiceSettings: { stability: 0.75, similarity_boost: 0.5 }
|
|
73
|
+
* };
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
exports.TtsModelConfigSchema = zod_1.default.object({
|
|
77
|
+
modelId: zod_1.default.string().describe("Identifier of the TTS (Text-to-Speech) model from Wiil registry for converting agent responses to speech (e.g., 'eleven-labs-v2', 'google-tts-wavenet', 'azure-neural-tts')"),
|
|
78
|
+
voiceId: zod_1.default.string().describe("Identifier of the specific voice to use for speech synthesis (e.g., 'adam', 'rachel', 'en-us-neural-female'). Must be available in the TTS model's supportedVoices"),
|
|
79
|
+
defaultLanguage: zod_1.default.string().default("en-US").describe("Default language code for speech synthesis in ISO 639-1 format with region (e.g., 'en-US', 'es-MX', 'fr-CA')"),
|
|
80
|
+
voiceSettings: zod_1.default.record(zod_1.default.string(), zod_1.default.any()).optional().describe("Optional voice-specific settings as key-value pairs for fine-tuning speech output (e.g., { stability: 0.75, similarity_boost: 0.5, pitch: 1.0, speed: 1.1 })"),
|
|
81
|
+
});
|
|
82
|
+
/**
|
|
83
|
+
* Zod schema for provisioning configuration chain.
|
|
84
|
+
*
|
|
85
|
+
* Represents a complete voice interaction processing pipeline that chains Speech-to-Text (STT),
|
|
86
|
+
* Agent Configuration, and Text-to-Speech (TTS) for end-to-end voice conversations. Referenced
|
|
87
|
+
* by Deployment Configurations with CHAINED provisioning type.
|
|
88
|
+
*
|
|
89
|
+
* @remarks
|
|
90
|
+
* **Architecture Context:**
|
|
91
|
+
* - **Used By**: Deployment Configuration (provisioningConfigChainId for CHAINED type)
|
|
92
|
+
* - **Purpose**: Orchestrates complete voice interaction pipeline
|
|
93
|
+
* - **Pipeline Flow**: User Speech → STT → Text → Agent → Text Response → TTS → Agent Speech
|
|
94
|
+
* - **Organization**: Scoped to organization for multi-tenant isolation
|
|
95
|
+
*
|
|
96
|
+
* **Voice Processing Pipeline:**
|
|
97
|
+
* 1. **STT Stage**: Converts incoming user speech to text using sttConfig
|
|
98
|
+
* 2. **Agent Stage**: Processes text through agent (referenced by agentConfigurationId)
|
|
99
|
+
* 3. **TTS Stage**: Converts agent text response to speech using ttsConfig
|
|
100
|
+
*
|
|
101
|
+
* @typedef {Object} ProvisioningConfigChainProperties
|
|
102
|
+
* @property {string} id - Unique identifier for the provisioning chain
|
|
103
|
+
* @property {string} chainName - Human-readable name for the provisioning chain for administrative identification
|
|
104
|
+
* @property {string} [description] - Optional description of the chain's purpose, use case, and configuration details
|
|
105
|
+
* @property {SttModelConfig} sttConfig - Speech-to-text model configuration for converting user voice to text (pipeline stage 1)
|
|
106
|
+
* @property {string} agentConfigurationId - ID of the agent configuration to use for processing text interactions (pipeline stage 2)
|
|
107
|
+
* @property {TtsModelConfig} ttsConfig - Text-to-speech model configuration for converting agent responses to voice (pipeline stage 3)
|
|
108
|
+
* @property {number} [createdAt] - Unix timestamp (milliseconds) when created
|
|
109
|
+
* @property {number} [updatedAt] - Unix timestamp (milliseconds) when last updated
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* ```typescript
|
|
113
|
+
* const provisioningChain: ProvisioningConfigChain = {
|
|
114
|
+
* id: 'chain-123',
|
|
115
|
+
* chainName: 'Customer Support Voice Chain',
|
|
116
|
+
* description: 'Voice processing chain for customer support calls',
|
|
117
|
+
* sttConfig: {
|
|
118
|
+
* modelId: 'whisper-v3',
|
|
119
|
+
* defaultLanguage: 'en-US'
|
|
120
|
+
* },
|
|
121
|
+
* agentConfigurationId: 'agent-789',
|
|
122
|
+
* ttsConfig: {
|
|
123
|
+
* modelId: 'eleven-labs-v2',
|
|
124
|
+
* voiceId: 'adam',
|
|
125
|
+
* defaultLanguage: 'en-US'
|
|
126
|
+
* },
|
|
127
|
+
* createdAt: Date.now(),
|
|
128
|
+
* updatedAt: Date.now()
|
|
129
|
+
* };
|
|
130
|
+
* ```
|
|
131
|
+
*/
|
|
132
|
+
exports.ProvisioningConfigChainSchema = base_schema_1.BaseModelSchema.safeExtend({
|
|
133
|
+
chainName: zod_1.default.string().describe("Human-readable name for the provisioning chain used in administrative interfaces and deployment configuration (e.g., 'Customer Support Voice Chain', 'Multilingual Sales Pipeline')"),
|
|
134
|
+
description: zod_1.default.string().optional().describe("Optional description of the chain's purpose, use case, language support, and configuration details for documentation"),
|
|
135
|
+
sttConfig: exports.SttModelConfigSchema.describe("Speech-to-Text model configuration for the first stage of the pipeline, converting incoming user voice to text for agent processing"),
|
|
136
|
+
agentConfigurationId: zod_1.default.string().describe("ID of the agent configuration to use in the middle stage of the pipeline for processing text interactions and generating text responses"),
|
|
137
|
+
ttsConfig: exports.TtsModelConfigSchema.describe("Text-to-Speech model configuration for the final stage of the pipeline, converting agent text responses back to natural speech for the user"),
|
|
138
|
+
});
|
|
139
|
+
/**
|
|
140
|
+
* Zod schema for creating a new provisioning configuration chain.
|
|
141
|
+
*
|
|
142
|
+
* Omits auto-generated fields that are populated by the system.
|
|
143
|
+
*
|
|
144
|
+
* @remarks
|
|
145
|
+
* Use this schema when creating new provisioning chains.
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* ```typescript
|
|
149
|
+
* const newChain: CreateProvisioningConfig = {
|
|
150
|
+
* chainName: 'New Voice Chain',
|
|
151
|
+
* description: 'Processing chain for multilingual support',
|
|
152
|
+
* sttConfig: {
|
|
153
|
+
* providerType: 'Deepgram',
|
|
154
|
+
* providerModelId: 'nova-2',
|
|
155
|
+
* languageId: 'en'
|
|
156
|
+
* },
|
|
157
|
+
* processingConfig: {
|
|
158
|
+
* providerType: 'OpenAI',
|
|
159
|
+
* providerModelId: 'gpt-4o-mini'
|
|
160
|
+
* },
|
|
161
|
+
* ttsConfig: {
|
|
162
|
+
* providerType: 'ElevenLabs',
|
|
163
|
+
* providerModelId: 'eleven_multilingual_v2',
|
|
164
|
+
* languageId: 'en',
|
|
165
|
+
* voiceId: 'rachel'
|
|
166
|
+
* }
|
|
167
|
+
* };
|
|
168
|
+
* ```
|
|
169
|
+
*/
|
|
170
|
+
exports.CreateProvisioningConfigSchema = zod_1.default.object({
|
|
171
|
+
chainName: zod_1.default.string().describe("Human-readable name for the provisioning chain used in administrative interfaces and deployment configuration (e.g., 'Customer Support Voice Chain', 'Multilingual Sales Pipeline')"),
|
|
172
|
+
description: zod_1.default.string().optional().describe("Optional description of the chain's purpose, use case, language support, and configuration details for documentation"),
|
|
173
|
+
sttConfig: base_agent_setup_1.DynamicSTTModelConfigurationSchema.describe("Speech-to-Text provider configuration used when creating a provisioning chain"),
|
|
174
|
+
processingConfig: base_agent_setup_1.DynamicModelConfigurationSchema.describe("LLM provider configuration used for the agent processing stage in the provisioning chain, defining which model handles text interactions"),
|
|
175
|
+
ttsConfig: base_agent_setup_1.DynamicTTSModelConfigurationSchema.describe("Text-to-Speech provider configuration used when creating a provisioning chain"),
|
|
176
|
+
});
|
|
177
|
+
/**
|
|
178
|
+
* Zod schema for updating an existing provisioning configuration chain.
|
|
179
|
+
*
|
|
180
|
+
* All fields are optional (partial) except id, which is required to identify the chain.
|
|
181
|
+
*
|
|
182
|
+
* @remarks
|
|
183
|
+
* Supports partial updates - only include the fields you want to modify.
|
|
184
|
+
*
|
|
185
|
+
* @example
|
|
186
|
+
* ```typescript
|
|
187
|
+
* const updateChain: UpdateProvisioningConfig = {
|
|
188
|
+
* id: 'chain-123',
|
|
189
|
+
* chainName: 'Updated Voice Chain',
|
|
190
|
+
* description: 'Updated description'
|
|
191
|
+
* };
|
|
192
|
+
* ```
|
|
193
|
+
*/
|
|
194
|
+
exports.UpdateProvisioningConfigSchema = exports.CreateProvisioningConfigSchema.partial().safeExtend({
|
|
195
|
+
id: zod_1.default.string(),
|
|
196
|
+
});
|
|
197
|
+
/**
|
|
198
|
+
* Zod schema for translation chain configuration.
|
|
199
|
+
*
|
|
200
|
+
* Extends the provisioning chain concept with translation-specific processing capabilities.
|
|
201
|
+
* Enables real-time language translation in voice interactions (e.g., English caller to Spanish agent).
|
|
202
|
+
*
|
|
203
|
+
* @remarks
|
|
204
|
+
* **Architecture Context:**
|
|
205
|
+
* - **Extension Of**: ProvisioningConfigChain with translation capabilities
|
|
206
|
+
* - **Purpose**: Real-time language translation for multilingual support
|
|
207
|
+
* - **Pipeline Flow**: Speech (Lang A) → STT → Text (Lang A) → Translation → Text (Lang B) → TTS → Speech (Lang B)
|
|
208
|
+
* - **Use Case**: Cross-language customer support, international business
|
|
209
|
+
*
|
|
210
|
+
* **Translation Pipeline:**
|
|
211
|
+
* 1. **STT Stage**: Converts incoming speech to text in source language
|
|
212
|
+
* 2. **Translation Stage**: Translates text between languages using processingModelId
|
|
213
|
+
* 3. **TTS Stage**: Converts translated text to speech in target language
|
|
214
|
+
*
|
|
215
|
+
* @typedef {Object} TranslationChainConfigProperties
|
|
216
|
+
* @property {string} id - Unique identifier for the translation chain
|
|
217
|
+
* @property {string} chainName - Human-readable name for the translation chain (e.g., 'EN-ES Translation', 'Multilingual Support')
|
|
218
|
+
* @property {string} [description] - Optional description of language pair, use case, and configuration
|
|
219
|
+
* @property {SttModelConfig} sttConfig - Speech-to-text configuration for source language recognition
|
|
220
|
+
* @property {string} processingModelId - ID of the LLM model used for translation processing between languages
|
|
221
|
+
* @property {TtsModelConfig} ttsConfig - Text-to-speech configuration for target language synthesis
|
|
222
|
+
* @property {boolean} isTranslation - Flag indicating this chain performs translation (default: true)
|
|
223
|
+
* @property {number} [createdAt] - Unix timestamp (milliseconds) when created
|
|
224
|
+
* @property {number} [updatedAt] - Unix timestamp (milliseconds) when last updated
|
|
225
|
+
*
|
|
226
|
+
* @example
|
|
227
|
+
* ```typescript
|
|
228
|
+
* const translationChain: TranslationChainConfig = {
|
|
229
|
+
* id: 'chain-123',
|
|
230
|
+
* chainName: 'EN-ES Translation Chain',
|
|
231
|
+
* description: 'English to Spanish translation for customer support',
|
|
232
|
+
* sttConfig: {
|
|
233
|
+
* modelId: 'whisper-v3',
|
|
234
|
+
* defaultLanguage: 'en-US'
|
|
235
|
+
* },
|
|
236
|
+
* processingModelId: 'gpt-4-translator',
|
|
237
|
+
* ttsConfig: {
|
|
238
|
+
* modelId: 'eleven-labs-v2',
|
|
239
|
+
* voiceId: 'spanish-voice',
|
|
240
|
+
* defaultLanguage: 'es-ES'
|
|
241
|
+
* },
|
|
242
|
+
* isTranslation: true,
|
|
243
|
+
* createdAt: Date.now(),
|
|
244
|
+
* updatedAt: Date.now()
|
|
245
|
+
* };
|
|
246
|
+
* ```
|
|
247
|
+
*/
|
|
248
|
+
exports.TranslationChainConfigSchema = base_schema_1.BaseModelSchema.safeExtend({
|
|
249
|
+
chainName: zod_1.default.string().describe("Human-readable name for the translation chain identifying the language pair (e.g., 'EN-ES Translation', 'French to English Support')"),
|
|
250
|
+
description: zod_1.default.string().optional().describe("Optional description of the translation language pair, use case, supported scenarios, and configuration details"),
|
|
251
|
+
sttConfig: exports.SttModelConfigSchema.describe("Speech-to-Text configuration for recognizing and transcribing speech in the source language"),
|
|
252
|
+
processingModelId: zod_1.default.string().describe("ID of the LLM model used for translation processing between source and target languages (e.g., 'gpt-4-translator', 'claude-multilingual')"),
|
|
253
|
+
ttsConfig: exports.TtsModelConfigSchema.describe("Text-to-Speech configuration for synthesizing speech in the target language with appropriate voice and accent"),
|
|
254
|
+
isTranslation: zod_1.default.boolean().default(true).describe("Flag indicating this chain performs real-time language translation (always true for translation chains)"),
|
|
255
|
+
});
|
|
256
|
+
/**
|
|
257
|
+
* Zod schema for creating a new translation chain configuration.
|
|
258
|
+
*
|
|
259
|
+
* Omits auto-generated fields and sets isTranslation to true by default.
|
|
260
|
+
*
|
|
261
|
+
* @example
|
|
262
|
+
* ```typescript
|
|
263
|
+
* const newTranslationChain: CreateTranslationChainConfig = {
|
|
264
|
+
* chainName: 'FR-EN Translation',
|
|
265
|
+
* description: 'French to English translation chain',
|
|
266
|
+
* sttConfig: {
|
|
267
|
+
* providerType: 'Deepgram',
|
|
268
|
+
* providerModelId: 'nova-2',
|
|
269
|
+
* languageId: 'fr'
|
|
270
|
+
* },
|
|
271
|
+
* processingConfig: {
|
|
272
|
+
* providerType: 'OpenAI',
|
|
273
|
+
* providerModelId: 'gpt-4o-mini'
|
|
274
|
+
* },
|
|
275
|
+
* ttsConfig: {
|
|
276
|
+
* providerType: 'ElevenLabs',
|
|
277
|
+
* providerModelId: 'eleven_multilingual_v2',
|
|
278
|
+
* languageId: 'en',
|
|
279
|
+
* voiceId: 'english-voice'
|
|
280
|
+
* },
|
|
281
|
+
* isTranslation: true
|
|
282
|
+
* };
|
|
283
|
+
* ```
|
|
284
|
+
*/
|
|
285
|
+
exports.CreateTranslationChainConfigSchema = exports.CreateProvisioningConfigSchema.safeExtend({
|
|
286
|
+
isTranslation: zod_1.default.boolean().default(true),
|
|
287
|
+
});
|
|
288
|
+
/**
|
|
289
|
+
* Zod schema for updating an existing translation chain configuration.
|
|
290
|
+
*
|
|
291
|
+
* All fields are optional (partial) except id.
|
|
292
|
+
*
|
|
293
|
+
* @example
|
|
294
|
+
* ```typescript
|
|
295
|
+
* const updateTranslationChain: UpdateTranslationChainConfig = {
|
|
296
|
+
* id: 'chain-123',
|
|
297
|
+
* chainName: 'Updated Translation Chain',
|
|
298
|
+
* processingConfig: {
|
|
299
|
+
* providerType: 'OpenAI',
|
|
300
|
+
* providerModelId: 'gpt-4.1-mini'
|
|
301
|
+
* }
|
|
302
|
+
* };
|
|
303
|
+
* ```
|
|
304
|
+
*/
|
|
305
|
+
exports.UpdateTranslationChainConfigSchema = exports.CreateTranslationChainConfigSchema.partial().safeExtend({
|
|
306
|
+
id: zod_1.default.string(),
|
|
307
|
+
});
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { LLMType, SupportedProprietor } from "../type-definitions/service-config.definitions";
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview WIIL Platform support model schema definitions.
|
|
5
|
+
*
|
|
6
|
+
* The WIIL Platform Support Model Registry maintains a curated list of LLM models from various providers
|
|
7
|
+
* (OpenAI, Anthropic, etc.) that are supported by the platform. This registry includes model metadata,
|
|
8
|
+
* capabilities, and associated voices/languages for configuration and deployment.
|
|
9
|
+
*
|
|
10
|
+
* @module service-configuration/support-llm
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Zod schema for WIIL Platform supported model configuration.
|
|
14
|
+
*
|
|
15
|
+
* Represents a language model registered in the WIIL Platform's support registry. The registry
|
|
16
|
+
* provides a centralized catalog of available models with their capabilities, supported languages,
|
|
17
|
+
* and voices. Agent Configurations reference these models via modelId.
|
|
18
|
+
*
|
|
19
|
+
* @remarks
|
|
20
|
+
* **Architecture Context:**
|
|
21
|
+
* - **Used By**: Agent Configuration (modelId reference)
|
|
22
|
+
* - **Purpose**: Central registry of supported LLM models with their capabilities
|
|
23
|
+
* - **Model Types**: TEXT (text-only), VOICE (speech), MULTI_MODE (combined), etc.
|
|
24
|
+
* - **Providers**: OpenAI, Anthropic, Google, ElevenLabs, and other LLM proprietors
|
|
25
|
+
*
|
|
26
|
+
* **Model Lifecycle:**
|
|
27
|
+
* - **Active**: Available for new deployments (discontinued: false)
|
|
28
|
+
* - **Discontinued**: Legacy support only, not recommended for new deployments (discontinued: true)
|
|
29
|
+
*
|
|
30
|
+
* **Model ID Distinction:**
|
|
31
|
+
* - **modelId**: WIIL Platform unique model identifier (NOT the provider's model ID)
|
|
32
|
+
* - **provider_model_id**: Original model ID from the provider's system (e.g., 'gpt-4-1106-preview' from OpenAI)
|
|
33
|
+
*
|
|
34
|
+
* @typedef {Object} WIILSupportModelProperties
|
|
35
|
+
* @property {string} modelId - WIIL Platform unique model identifier used in Agent Configuration references (e.g., 'YUSI21217J1', 'EYUW&*EU@H$#')
|
|
36
|
+
* @property {SupportedProprietor} proprietor - Model proprietor/provider organization (OPENAI, ANTHROPIC, GOOGLE, ELEVENLABS, etc.)
|
|
37
|
+
* @property {string} name - Human-readable name of the model for display in UI (e.g., 'GPT-4 Turbo', 'Claude 3 Sonnet', 'ElevenLabs Multilingual v2')
|
|
38
|
+
* @property {string} [provider_model_id] - Original model ID from the provider's system (e.g., 'gpt-4-1106-preview' for OpenAI, 'claude-3-sonnet-20240229' for Anthropic)
|
|
39
|
+
* @property {string} description - Description of the model's capabilities, use cases, strengths, and limitations for selection guidance
|
|
40
|
+
* @property {LLMType} type - Type of LLM functionality (TEXT for text generation, VOICE for TTS, MULTI_MODE for combined text/voice, etc.)
|
|
41
|
+
* @property {boolean} discontinued - Whether this model has been discontinued and is only available for legacy support (default: false)
|
|
42
|
+
* @property {Voice[] | null} [supportedVoices] - Array of voice configurations supported by this model (populated for TTS/voice models, null for text-only models)
|
|
43
|
+
* @property {Language[] | null} [supportLanguages] - Array of languages supported by this model for processing and generation (null if language-agnostic)
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* const supportModel: WIILSupportModel = {
|
|
48
|
+
* modelId: 'YUSI21217J1',
|
|
49
|
+
* proprietor: SupportedProprietor.OPENAI,
|
|
50
|
+
* name: 'GPT-4 Turbo',
|
|
51
|
+
* provider_model_id: 'gpt-4-1106-preview',
|
|
52
|
+
* description: 'Latest GPT-4 model with improved performance',
|
|
53
|
+
* type: LLMType.TEXT,
|
|
54
|
+
* discontinued: false,
|
|
55
|
+
* supportedVoices: null,
|
|
56
|
+
* supportLanguages: [
|
|
57
|
+
* { languageId: 'en', name: 'English', code: 'en-US', isDefault: true }
|
|
58
|
+
* ]
|
|
59
|
+
* };
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare const WiilSupportModelSchema: z.ZodObject<{
|
|
63
|
+
modelId: z.ZodString;
|
|
64
|
+
proprietor: z.ZodEnum<typeof SupportedProprietor>;
|
|
65
|
+
name: z.ZodString;
|
|
66
|
+
provider_model_id: z.ZodOptional<z.ZodString>;
|
|
67
|
+
description: z.ZodString;
|
|
68
|
+
type: z.ZodEnum<typeof LLMType>;
|
|
69
|
+
discontinued: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
70
|
+
supportedVoices: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
71
|
+
voiceId: z.ZodString;
|
|
72
|
+
name: z.ZodString;
|
|
73
|
+
description: z.ZodString;
|
|
74
|
+
gender: z.ZodEnum<{
|
|
75
|
+
neutral: "neutral";
|
|
76
|
+
male: "male";
|
|
77
|
+
female: "female";
|
|
78
|
+
}>;
|
|
79
|
+
language: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
80
|
+
isDefault: z.ZodDefault<z.ZodBoolean>;
|
|
81
|
+
}, z.core.$strip>>>>;
|
|
82
|
+
supportLanguages: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
83
|
+
languageId: z.ZodString;
|
|
84
|
+
name: z.ZodString;
|
|
85
|
+
code: z.ZodString;
|
|
86
|
+
isDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
87
|
+
isExperimental: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
88
|
+
}, z.core.$strip>>>>;
|
|
89
|
+
}, z.core.$strip>;
|
|
90
|
+
/**
|
|
91
|
+
* Type definition for WIIL Platform support model.
|
|
92
|
+
*
|
|
93
|
+
* Represents a complete model configuration in the WIIL Platform support registry.
|
|
94
|
+
*/
|
|
95
|
+
export type WiilSupportModel = z.infer<typeof WiilSupportModelSchema>;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WiilSupportModelSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const service_config_definitions_1 = require("../type-definitions/service-config.definitions");
|
|
6
|
+
const voice_language_schema_1 = require("./voice-language.schema");
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview WIIL Platform support model schema definitions.
|
|
9
|
+
*
|
|
10
|
+
* The WIIL Platform Support Model Registry maintains a curated list of LLM models from various providers
|
|
11
|
+
* (OpenAI, Anthropic, etc.) that are supported by the platform. This registry includes model metadata,
|
|
12
|
+
* capabilities, and associated voices/languages for configuration and deployment.
|
|
13
|
+
*
|
|
14
|
+
* @module service-configuration/support-llm
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Zod schema for WIIL Platform supported model configuration.
|
|
18
|
+
*
|
|
19
|
+
* Represents a language model registered in the WIIL Platform's support registry. The registry
|
|
20
|
+
* provides a centralized catalog of available models with their capabilities, supported languages,
|
|
21
|
+
* and voices. Agent Configurations reference these models via modelId.
|
|
22
|
+
*
|
|
23
|
+
* @remarks
|
|
24
|
+
* **Architecture Context:**
|
|
25
|
+
* - **Used By**: Agent Configuration (modelId reference)
|
|
26
|
+
* - **Purpose**: Central registry of supported LLM models with their capabilities
|
|
27
|
+
* - **Model Types**: TEXT (text-only), VOICE (speech), MULTI_MODE (combined), etc.
|
|
28
|
+
* - **Providers**: OpenAI, Anthropic, Google, ElevenLabs, and other LLM proprietors
|
|
29
|
+
*
|
|
30
|
+
* **Model Lifecycle:**
|
|
31
|
+
* - **Active**: Available for new deployments (discontinued: false)
|
|
32
|
+
* - **Discontinued**: Legacy support only, not recommended for new deployments (discontinued: true)
|
|
33
|
+
*
|
|
34
|
+
* **Model ID Distinction:**
|
|
35
|
+
* - **modelId**: WIIL Platform unique model identifier (NOT the provider's model ID)
|
|
36
|
+
* - **provider_model_id**: Original model ID from the provider's system (e.g., 'gpt-4-1106-preview' from OpenAI)
|
|
37
|
+
*
|
|
38
|
+
* @typedef {Object} WIILSupportModelProperties
|
|
39
|
+
* @property {string} modelId - WIIL Platform unique model identifier used in Agent Configuration references (e.g., 'YUSI21217J1', 'EYUW&*EU@H$#')
|
|
40
|
+
* @property {SupportedProprietor} proprietor - Model proprietor/provider organization (OPENAI, ANTHROPIC, GOOGLE, ELEVENLABS, etc.)
|
|
41
|
+
* @property {string} name - Human-readable name of the model for display in UI (e.g., 'GPT-4 Turbo', 'Claude 3 Sonnet', 'ElevenLabs Multilingual v2')
|
|
42
|
+
* @property {string} [provider_model_id] - Original model ID from the provider's system (e.g., 'gpt-4-1106-preview' for OpenAI, 'claude-3-sonnet-20240229' for Anthropic)
|
|
43
|
+
* @property {string} description - Description of the model's capabilities, use cases, strengths, and limitations for selection guidance
|
|
44
|
+
* @property {LLMType} type - Type of LLM functionality (TEXT for text generation, VOICE for TTS, MULTI_MODE for combined text/voice, etc.)
|
|
45
|
+
* @property {boolean} discontinued - Whether this model has been discontinued and is only available for legacy support (default: false)
|
|
46
|
+
* @property {Voice[] | null} [supportedVoices] - Array of voice configurations supported by this model (populated for TTS/voice models, null for text-only models)
|
|
47
|
+
* @property {Language[] | null} [supportLanguages] - Array of languages supported by this model for processing and generation (null if language-agnostic)
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```typescript
|
|
51
|
+
* const supportModel: WIILSupportModel = {
|
|
52
|
+
* modelId: 'YUSI21217J1',
|
|
53
|
+
* proprietor: SupportedProprietor.OPENAI,
|
|
54
|
+
* name: 'GPT-4 Turbo',
|
|
55
|
+
* provider_model_id: 'gpt-4-1106-preview',
|
|
56
|
+
* description: 'Latest GPT-4 model with improved performance',
|
|
57
|
+
* type: LLMType.TEXT,
|
|
58
|
+
* discontinued: false,
|
|
59
|
+
* supportedVoices: null,
|
|
60
|
+
* supportLanguages: [
|
|
61
|
+
* { languageId: 'en', name: 'English', code: 'en-US', isDefault: true }
|
|
62
|
+
* ]
|
|
63
|
+
* };
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
exports.WiilSupportModelSchema = zod_1.z.object({
|
|
67
|
+
modelId: zod_1.z.string().describe("WIIL Platform unique model identifier (NOT the provider's model ID) used in Agent Configuration references (e.g., 'YUSI21217J1', 'EYUW&*EU@H$#')"),
|
|
68
|
+
proprietor: zod_1.z.enum(service_config_definitions_1.SupportedProprietor).describe("Model proprietor/provider organization that developed and maintains the model (OPENAI, ANTHROPIC, GOOGLE, ELEVENLABS, SIGNALWIRE, etc.)"),
|
|
69
|
+
name: zod_1.z.string().describe("Human-readable name of the model for display in administrative interfaces and model selection UI (e.g., 'GPT-4 Turbo', 'Claude 3 Sonnet')"),
|
|
70
|
+
provider_model_id: zod_1.z.string().optional().describe("Original model identifier from the provider's system (e.g., 'gpt-4-1106-preview' for OpenAI, 'claude-3-sonnet-20240229' for Anthropic, used for API calls to the provider)"),
|
|
71
|
+
description: zod_1.z.string().describe("Comprehensive description of the model's capabilities, recommended use cases, strengths, limitations, and selection guidance for administrators"),
|
|
72
|
+
type: zod_1.z.enum(service_config_definitions_1.LLMType).describe("Type of LLM functionality provided by this model (TEXT for text generation, VOICE for speech synthesis, STT for speech recognition, MULTI_MODE for combined capabilities)"),
|
|
73
|
+
discontinued: zod_1.z.boolean().optional().default(false).describe("Whether this model has been discontinued by the provider and is only available for legacy support of existing deployments (not recommended for new deployments)"),
|
|
74
|
+
supportedVoices: zod_1.z.array(voice_language_schema_1.VoiceSchema).optional().nullable().describe("Array of voice configurations supported by this model (populated for TTS and voice models with available voice options, null for text-only models)"),
|
|
75
|
+
supportLanguages: zod_1.z.array(voice_language_schema_1.LanguageSchema).optional().nullable().describe("Array of languages supported by this model for processing, generation, and understanding (null if model is language-agnostic or supports all languages)"),
|
|
76
|
+
});
|