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,211 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PhoneNumberPricingSchema = exports.PhoneNumberPurchaseRequestSchema = exports.BusinessPhoneNumberPurchaseRequestSchema = exports.CreatePhoneNumberPurchaseSchema = exports.PhoneNumberPurchaseSchema = exports.PhoneProviderResponseSchema = exports.BasePhoneNumberInfoSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const service_config_definitions_1 = require("../type-definitions/service-config.definitions");
|
|
6
|
+
const base_schema_1 = require("../base.schema");
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview Phone number configuration and purchase schema definitions.
|
|
9
|
+
*
|
|
10
|
+
* Phone number schemas manage the complete lifecycle of phone number acquisition from telephony providers:
|
|
11
|
+
* discovery of available inventory, purchase transactions, and provisioning into Phone Configurations.
|
|
12
|
+
* Supports multiple providers (SignalWire, Twilio) with provider-specific extensions.
|
|
13
|
+
*
|
|
14
|
+
* @module service-configuration/phone-number
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Zod schema for base phone number information.
|
|
18
|
+
*
|
|
19
|
+
* Common properties shared across all phone number providers.
|
|
20
|
+
*
|
|
21
|
+
* @typedef {Object} BasePhoneNumberInfoProperties
|
|
22
|
+
* @property {string} friendlyName - Human-readable name for the phone number
|
|
23
|
+
* @property {string} phoneNumber - The phone number in E.164 format
|
|
24
|
+
* @property {string | null} [lata] - Local Access and Transport Area code
|
|
25
|
+
* @property {string} [rateCenter] - Rate center for the phone number
|
|
26
|
+
* @property {string} [region] - Geographic region
|
|
27
|
+
* @property {string} [postalCode] - Postal/ZIP code for the phone number
|
|
28
|
+
* @property {string} countryCode - ISO country code
|
|
29
|
+
* @property {Object} capabilities - Phone number capabilities
|
|
30
|
+
* @property {boolean} capabilities.voice - Supports voice calls
|
|
31
|
+
* @property {boolean} capabilities.SMS - Supports SMS messaging
|
|
32
|
+
* @property {boolean} capabilities.MMS - Supports MMS messaging
|
|
33
|
+
* @property {boolean} beta - Whether this is a beta number
|
|
34
|
+
* @property {PhoneNumberType} numberType - Type of phone number (local, toll-free, etc.)
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```typescript
|
|
38
|
+
* const phoneInfo: BasePhoneNumberInfo = {
|
|
39
|
+
* friendlyName: 'Customer Support Line',
|
|
40
|
+
* phoneNumber: '+12125551234',
|
|
41
|
+
* countryCode: 'US',
|
|
42
|
+
* capabilities: { voice: true, SMS: true, MMS: false },
|
|
43
|
+
* beta: false,
|
|
44
|
+
* numberType: PhoneNumberType.LOCAL
|
|
45
|
+
* };
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
exports.BasePhoneNumberInfoSchema = zod_1.z.object({
|
|
49
|
+
friendlyName: zod_1.z.string().describe("Human-readable display name for this phone number (e.g., 'New York Local', 'Customer Support Line')"),
|
|
50
|
+
phoneNumber: zod_1.z.string().describe("Phone number in E.164 international format (e.g., '+12125551234')"),
|
|
51
|
+
lata: zod_1.z.string().nullable().optional().describe("Local Access and Transport Area (LATA) code for North American numbers (telecom routing identifier)"),
|
|
52
|
+
rateCenter: zod_1.z.string().optional().describe("Rate center name for billing and routing purposes (North American telephony concept)"),
|
|
53
|
+
region: zod_1.z.string().optional().describe("State or province code where the number is registered (e.g., 'NY', 'CA', 'ON')"),
|
|
54
|
+
postalCode: zod_1.z.string().optional().describe("Postal or ZIP code associated with this phone number's geographic location"),
|
|
55
|
+
countryCode: zod_1.z.string().describe("ISO 3166-1 alpha-2 country code for this phone number (e.g., 'US', 'GB', 'CA')"),
|
|
56
|
+
capabilities: zod_1.z.object({
|
|
57
|
+
voice: zod_1.z.boolean().describe("Whether this phone number supports voice calls (inbound/outbound telephony)"),
|
|
58
|
+
SMS: zod_1.z.boolean().describe("Whether this phone number supports SMS text messaging"),
|
|
59
|
+
MMS: zod_1.z.boolean().describe("Whether this phone number supports MMS multimedia messaging"),
|
|
60
|
+
}).describe("Capabilities supported by this phone number for voice and messaging"),
|
|
61
|
+
beta: zod_1.z.boolean().describe("Whether this is a beta phone number (experimental or limited availability)"),
|
|
62
|
+
numberType: zod_1.z.enum(service_config_definitions_1.PhoneNumberType).describe("Type of phone number (LOCAL for geographic, TOLL_FREE for 1-800 numbers, MOBILE for cellular, etc.)"),
|
|
63
|
+
});
|
|
64
|
+
/**
|
|
65
|
+
* Zod schema for phone provider response.
|
|
66
|
+
*
|
|
67
|
+
* Response from phone number provider API calls.
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```typescript
|
|
71
|
+
* const response: PhoneProviderResponse = {
|
|
72
|
+
* success: true,
|
|
73
|
+
* status: 200,
|
|
74
|
+
* data: { availableNumbers: [...] }
|
|
75
|
+
* };
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
exports.PhoneProviderResponseSchema = zod_1.z.object({
|
|
79
|
+
success: zod_1.z.boolean(),
|
|
80
|
+
status: zod_1.z.number().optional(),
|
|
81
|
+
data: zod_1.z.unknown(),
|
|
82
|
+
});
|
|
83
|
+
/**
|
|
84
|
+
* Zod schema for phone number purchase transaction.
|
|
85
|
+
*
|
|
86
|
+
* Represents a phone number purchase request and its lifecycle through the purchase process.
|
|
87
|
+
*
|
|
88
|
+
* @typedef {Object} PhoneNumberPurchaseProperties
|
|
89
|
+
* @property {string} id - Unique identifier for the purchase transaction
|
|
90
|
+
* @property {string} friendlyName - Human-readable name for the purchased number
|
|
91
|
+
* @property {string} phoneNumber - The phone number being purchased
|
|
92
|
+
* @property {ProviderType} providerType - Provider from which the number is being purchased
|
|
93
|
+
* @property {string} countryCode - ISO country code for the phone number (e.g., 'US', 'GB', 'CA')
|
|
94
|
+
* @property {number} amount - Purchase amount (must be positive)
|
|
95
|
+
* @property {string} currency - Currency code (3 characters, default: "USD")
|
|
96
|
+
* @property {PhonePurchaseStatus} status - Current status of the purchase (default: PENDING)
|
|
97
|
+
* @property {PhoneNumberType} numberType - Type of phone number (default: LOCAL)
|
|
98
|
+
* @property {string | null} [statusDetails] - Additional details about the current status
|
|
99
|
+
* @property {number | null} [completedAt] - Timestamp when purchase was completed
|
|
100
|
+
* @property {Record<string, any> | null} [metadata] - Additional metadata for the purchase
|
|
101
|
+
* @property {number} [createdAt] - Timestamp when created
|
|
102
|
+
* @property {number} [updatedAt] - Timestamp when last updated
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```typescript
|
|
106
|
+
* const purchase: PhoneNumberPurchase = {
|
|
107
|
+
* id: '32422DEGER56',
|
|
108
|
+
* friendlyName: 'Main Support Line',
|
|
109
|
+
* phoneNumber: '+12125551234',
|
|
110
|
+
* countryCode: 'US',
|
|
111
|
+
* chargedCredits: 1500,
|
|
112
|
+
* status: PhonePurchaseStatus.COMPLETED,
|
|
113
|
+
* numberType: PhoneNumberType.LOCAL,
|
|
114
|
+
* completedAt: Date.now(),
|
|
115
|
+
* createdAt: Date.now(),
|
|
116
|
+
* updatedAt: Date.now()
|
|
117
|
+
* };
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
exports.PhoneNumberPurchaseSchema = base_schema_1.BaseModelSchema.safeExtend({
|
|
121
|
+
friendlyName: zod_1.z.string().describe("Human-readable name for the phone number being purchased (e.g., 'Customer Support Line', 'Sales Main Number')"),
|
|
122
|
+
phoneNumber: base_schema_1.PhoneNumberSchema.describe("Phone number in E.164 international format being purchased (e.g., '+12125551234')"),
|
|
123
|
+
countryCode: zod_1.z.string().length(2).describe("ISO 3166-1 alpha-2 country code for the phone number (e.g., 'US', 'GB', 'CA')"),
|
|
124
|
+
chargedCredits: zod_1.z.number().positive().describe("Amount charged for the phone number purchase (must be a positive number)"),
|
|
125
|
+
status: zod_1.z.enum(service_config_definitions_1.PhonePurchaseStatus).default(service_config_definitions_1.PhonePurchaseStatus.PENDING).describe("Current status of the purchase transaction (PENDING, PROCESSING, COMPLETED, FAILED, CANCELLED)"),
|
|
126
|
+
numberType: zod_1.z.enum(service_config_definitions_1.PhoneNumberType).default(service_config_definitions_1.PhoneNumberType.LOCAL).describe("Type of phone number being purchased (LOCAL for geographic, TOLL_FREE for 1-800, MOBILE for cellular)"),
|
|
127
|
+
statusDetails: zod_1.z.string().nullable().optional().describe("Additional details about the current status (error messages, provider notes, or completion details)"),
|
|
128
|
+
completedAt: zod_1.z.number().nullable().optional().describe("Unix timestamp (milliseconds) when the purchase was successfully completed and number became active"),
|
|
129
|
+
metadata: zod_1.z.record(zod_1.z.string(), zod_1.z.any()).nullable().optional().describe("Additional metadata for the purchase including provider-specific details, billing information, or custom attributes"),
|
|
130
|
+
});
|
|
131
|
+
/**
|
|
132
|
+
* Zod schema for creating a new phone number purchase.
|
|
133
|
+
*
|
|
134
|
+
* Omits auto-generated and transaction-specific fields.
|
|
135
|
+
*
|
|
136
|
+
* @remarks
|
|
137
|
+
* Use this schema when initiating a new phone number purchase.
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```typescript
|
|
141
|
+
* const newPurchase: CreatePhoneNumberPurchase = {
|
|
142
|
+
* friendlyName: 'New Support Line',
|
|
143
|
+
* phoneNumber: '+12125551234',
|
|
144
|
+
* countryCode: 'US',
|
|
145
|
+
* providerType: ProviderType.TWILIO,
|
|
146
|
+
* phoneNumberInfo: { ... },
|
|
147
|
+
* numberType: PhoneNumberType.LOCAL
|
|
148
|
+
* };
|
|
149
|
+
* ```
|
|
150
|
+
*/
|
|
151
|
+
exports.CreatePhoneNumberPurchaseSchema = exports.PhoneNumberPurchaseSchema.omit({
|
|
152
|
+
id: true,
|
|
153
|
+
amount: true,
|
|
154
|
+
chargedCredits: true,
|
|
155
|
+
status: true,
|
|
156
|
+
createdAt: true,
|
|
157
|
+
updatedAt: true,
|
|
158
|
+
statusDetails: true,
|
|
159
|
+
completedAt: true,
|
|
160
|
+
metadata: true,
|
|
161
|
+
});
|
|
162
|
+
exports.BusinessPhoneNumberPurchaseRequestSchema = zod_1.z.object({
|
|
163
|
+
phoneNumber: base_schema_1.PhoneNumberSchema.describe("Phone number in international format to be purchased"),
|
|
164
|
+
friendlyName: zod_1.z.string().optional().describe("Human-readable display name for the phone number being purchased"),
|
|
165
|
+
}).describe("Schema for business phone number purchase request, containing necessary information to initiate a phone number purchase for a business account");
|
|
166
|
+
/**
|
|
167
|
+
* Legacy schema export for backwards compatibility.
|
|
168
|
+
* @deprecated Use CreatePhoneNumberPurchaseSchema instead.
|
|
169
|
+
*/
|
|
170
|
+
exports.PhoneNumberPurchaseRequestSchema = exports.CreatePhoneNumberPurchaseSchema;
|
|
171
|
+
/**
|
|
172
|
+
* Zod schema for phone number pricing information.
|
|
173
|
+
*
|
|
174
|
+
* Represents pricing details for phone numbers from various providers.
|
|
175
|
+
*
|
|
176
|
+
* @typedef {Object} PhoneNumberPricingProperties
|
|
177
|
+
* @property {PhoneNumberType} number_type - Type of phone number
|
|
178
|
+
* @property {string} country - Full country name
|
|
179
|
+
* @property {string} countryCode - ISO country code
|
|
180
|
+
* @property {Array} phoneNumberPrices - Array of pricing tiers
|
|
181
|
+
* @property {number} price - Final price for the number
|
|
182
|
+
* @property {string} priceUnit - Unit of pricing (e.g., "per month")
|
|
183
|
+
* @property {string} currency - Currency code (3 characters, default: "USD")
|
|
184
|
+
*
|
|
185
|
+
* @example
|
|
186
|
+
* ```typescript
|
|
187
|
+
* const pricing: PhoneNumberPricing = {
|
|
188
|
+
* number_type: PhoneNumberType.LOCAL,
|
|
189
|
+
* country: 'United States',
|
|
190
|
+
* countryCode: 'US',
|
|
191
|
+
* phoneNumberPrices: [
|
|
192
|
+
* { base_price: '1.00', current_price: '1.00' }
|
|
193
|
+
* ],
|
|
194
|
+
* price: 1.00,
|
|
195
|
+
* priceUnit: 'per month',
|
|
196
|
+
* currency: 'USD'
|
|
197
|
+
* };
|
|
198
|
+
* ```
|
|
199
|
+
*/
|
|
200
|
+
exports.PhoneNumberPricingSchema = zod_1.z.object({
|
|
201
|
+
number_type: zod_1.z.enum(service_config_definitions_1.PhoneNumberType),
|
|
202
|
+
country: zod_1.z.string(),
|
|
203
|
+
countryCode: zod_1.z.string(),
|
|
204
|
+
phoneNumberPrices: zod_1.z.array(zod_1.z.object({
|
|
205
|
+
base_price: zod_1.z.string(),
|
|
206
|
+
current_price: zod_1.z.string(),
|
|
207
|
+
})),
|
|
208
|
+
price: zod_1.z.number(),
|
|
209
|
+
priceUnit: zod_1.z.string(),
|
|
210
|
+
currency: zod_1.z.string().length(3).default('USD'),
|
|
211
|
+
});
|
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
import z from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Provisioning configuration chain schema definitions.
|
|
4
|
+
*
|
|
5
|
+
* Provisioning chains orchestrate the complete voice interaction pipeline by linking Speech-to-Text (STT),
|
|
6
|
+
* Agent Configuration, and Text-to-Speech (TTS) models. Used for voice-based deployments with CHAINED
|
|
7
|
+
* provisioning type.
|
|
8
|
+
*
|
|
9
|
+
* @module service-configuration/provisioning-config
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Zod schema for Speech-to-Text (STT) model configuration.
|
|
13
|
+
*
|
|
14
|
+
* Defines the STT model used to convert user speech to text in voice-based interactions.
|
|
15
|
+
* Part of the provisioning chain's input processing stage.
|
|
16
|
+
*
|
|
17
|
+
* @remarks
|
|
18
|
+
* **Architecture Context:**
|
|
19
|
+
* - **Used In**: ProvisioningConfigChain (sttConfig field)
|
|
20
|
+
* - **Purpose**: Converts incoming voice to text for agent processing
|
|
21
|
+
* - **Pipeline Position**: First stage (Speech → Text)
|
|
22
|
+
*
|
|
23
|
+
* @typedef {Object} SttModelConfigProperties
|
|
24
|
+
* @property {string} modelId - Identifier of the STT model from Wiil registry (e.g., 'whisper-v3', 'google-stt-enhanced')
|
|
25
|
+
* @property {string} defaultLanguage - Default language code for speech recognition in ISO format (default: "en-US")
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* const sttConfig: SttModelConfig = {
|
|
30
|
+
* modelId: 'whisper-v3',
|
|
31
|
+
* defaultLanguage: 'en-US'
|
|
32
|
+
* };
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare const SttModelConfigSchema: z.ZodObject<{
|
|
36
|
+
modelId: z.ZodString;
|
|
37
|
+
defaultLanguage: z.ZodDefault<z.ZodString>;
|
|
38
|
+
}, z.core.$strip>;
|
|
39
|
+
/**
|
|
40
|
+
* Type definition for STT model configuration.
|
|
41
|
+
*/
|
|
42
|
+
export type SttModelConfig = z.infer<typeof SttModelConfigSchema>;
|
|
43
|
+
/**
|
|
44
|
+
* Zod schema for Text-to-Speech (TTS) model configuration.
|
|
45
|
+
*
|
|
46
|
+
* Defines the TTS model and voice used to convert agent text responses to speech in voice interactions.
|
|
47
|
+
* Part of the provisioning chain's output generation stage.
|
|
48
|
+
*
|
|
49
|
+
* @remarks
|
|
50
|
+
* **Architecture Context:**
|
|
51
|
+
* - **Used In**: ProvisioningConfigChain (ttsConfig field)
|
|
52
|
+
* - **Purpose**: Converts agent text responses to natural speech
|
|
53
|
+
* - **Pipeline Position**: Final stage (Text → Speech)
|
|
54
|
+
* - **Voice Selection**: References voices from WiilSupportModel.supportedVoices
|
|
55
|
+
*
|
|
56
|
+
* @typedef {Object} TtsModelConfigProperties
|
|
57
|
+
* @property {string} modelId - Identifier of the TTS model from Wiil registry (e.g., 'eleven-labs-v2', 'google-tts-wavenet')
|
|
58
|
+
* @property {string} voiceId - Identifier of the specific voice for speech synthesis (e.g., 'adam', 'rachel', 'en-us-neural-female')
|
|
59
|
+
* @property {string} defaultLanguage - Default language code for speech synthesis (default: "en-US")
|
|
60
|
+
* @property {Record<string, any>} [voiceSettings] - Optional voice-specific settings (pitch, speed, stability, etc.)
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```typescript
|
|
64
|
+
* const ttsConfig: TtsModelConfig = {
|
|
65
|
+
* modelId: 'eleven-labs-v2',
|
|
66
|
+
* voiceId: 'adam',
|
|
67
|
+
* defaultLanguage: 'en-US',
|
|
68
|
+
* voiceSettings: { stability: 0.75, similarity_boost: 0.5 }
|
|
69
|
+
* };
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export declare const TtsModelConfigSchema: z.ZodObject<{
|
|
73
|
+
modelId: z.ZodString;
|
|
74
|
+
voiceId: z.ZodString;
|
|
75
|
+
defaultLanguage: z.ZodDefault<z.ZodString>;
|
|
76
|
+
voiceSettings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
77
|
+
}, z.core.$strip>;
|
|
78
|
+
/**
|
|
79
|
+
* Type definition for TTS model configuration.
|
|
80
|
+
*/
|
|
81
|
+
export type TtsModelConfig = z.infer<typeof TtsModelConfigSchema>;
|
|
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
|
+
export declare const ProvisioningConfigChainSchema: z.ZodObject<{
|
|
133
|
+
id: z.ZodString;
|
|
134
|
+
createdAt: z.ZodOptional<z.ZodNumber>;
|
|
135
|
+
updatedAt: z.ZodOptional<z.ZodNumber>;
|
|
136
|
+
chainName: z.ZodString;
|
|
137
|
+
description: z.ZodOptional<z.ZodString>;
|
|
138
|
+
sttConfig: z.ZodObject<{
|
|
139
|
+
modelId: z.ZodString;
|
|
140
|
+
defaultLanguage: z.ZodDefault<z.ZodString>;
|
|
141
|
+
}, z.core.$strip>;
|
|
142
|
+
agentConfigurationId: z.ZodString;
|
|
143
|
+
ttsConfig: z.ZodObject<{
|
|
144
|
+
modelId: z.ZodString;
|
|
145
|
+
voiceId: z.ZodString;
|
|
146
|
+
defaultLanguage: z.ZodDefault<z.ZodString>;
|
|
147
|
+
voiceSettings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
148
|
+
}, z.core.$strip>;
|
|
149
|
+
}, z.core.$strip>;
|
|
150
|
+
/**
|
|
151
|
+
* Type definition for provisioning configuration chain.
|
|
152
|
+
*/
|
|
153
|
+
export type ProvisioningConfigChain = z.infer<typeof ProvisioningConfigChainSchema>;
|
|
154
|
+
/**
|
|
155
|
+
* Zod schema for creating a new provisioning configuration chain.
|
|
156
|
+
*
|
|
157
|
+
* Omits auto-generated fields that are populated by the system.
|
|
158
|
+
*
|
|
159
|
+
* @remarks
|
|
160
|
+
* Use this schema when creating new provisioning chains.
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```typescript
|
|
164
|
+
* const newChain: CreateProvisioningConfig = {
|
|
165
|
+
* chainName: 'New Voice Chain',
|
|
166
|
+
* description: 'Processing chain for multilingual support',
|
|
167
|
+
* sttConfig: {
|
|
168
|
+
* providerType: 'Deepgram',
|
|
169
|
+
* providerModelId: 'nova-2',
|
|
170
|
+
* languageId: 'en'
|
|
171
|
+
* },
|
|
172
|
+
* processingConfig: {
|
|
173
|
+
* providerType: 'OpenAI',
|
|
174
|
+
* providerModelId: 'gpt-4o-mini'
|
|
175
|
+
* },
|
|
176
|
+
* ttsConfig: {
|
|
177
|
+
* providerType: 'ElevenLabs',
|
|
178
|
+
* providerModelId: 'eleven_multilingual_v2',
|
|
179
|
+
* languageId: 'en',
|
|
180
|
+
* voiceId: 'rachel'
|
|
181
|
+
* }
|
|
182
|
+
* };
|
|
183
|
+
* ```
|
|
184
|
+
*/
|
|
185
|
+
export declare const CreateProvisioningConfigSchema: z.ZodObject<{
|
|
186
|
+
chainName: z.ZodString;
|
|
187
|
+
description: z.ZodOptional<z.ZodString>;
|
|
188
|
+
sttConfig: z.ZodObject<{
|
|
189
|
+
providerType: z.ZodEnum<typeof import("..").SupportedProprietor>;
|
|
190
|
+
providerModelId: z.ZodString;
|
|
191
|
+
languageId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
192
|
+
}, z.core.$strip>;
|
|
193
|
+
processingConfig: z.ZodObject<{
|
|
194
|
+
providerType: z.ZodEnum<typeof import("..").SupportedProprietor>;
|
|
195
|
+
providerModelId: z.ZodString;
|
|
196
|
+
}, z.core.$strip>;
|
|
197
|
+
ttsConfig: z.ZodObject<{
|
|
198
|
+
providerType: z.ZodEnum<typeof import("..").SupportedProprietor>;
|
|
199
|
+
providerModelId: z.ZodString;
|
|
200
|
+
languageId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
201
|
+
voiceId: z.ZodOptional<z.ZodString>;
|
|
202
|
+
}, z.core.$strip>;
|
|
203
|
+
}, z.core.$strip>;
|
|
204
|
+
/**
|
|
205
|
+
* Type definition for creating a provisioning configuration chain.
|
|
206
|
+
*/
|
|
207
|
+
export type CreateProvisioningConfig = z.infer<typeof CreateProvisioningConfigSchema>;
|
|
208
|
+
/**
|
|
209
|
+
* Zod schema for updating an existing provisioning configuration chain.
|
|
210
|
+
*
|
|
211
|
+
* All fields are optional (partial) except id, which is required to identify the chain.
|
|
212
|
+
*
|
|
213
|
+
* @remarks
|
|
214
|
+
* Supports partial updates - only include the fields you want to modify.
|
|
215
|
+
*
|
|
216
|
+
* @example
|
|
217
|
+
* ```typescript
|
|
218
|
+
* const updateChain: UpdateProvisioningConfig = {
|
|
219
|
+
* id: 'chain-123',
|
|
220
|
+
* chainName: 'Updated Voice Chain',
|
|
221
|
+
* description: 'Updated description'
|
|
222
|
+
* };
|
|
223
|
+
* ```
|
|
224
|
+
*/
|
|
225
|
+
export declare const UpdateProvisioningConfigSchema: z.ZodObject<{
|
|
226
|
+
chainName: z.ZodOptional<z.ZodString>;
|
|
227
|
+
description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
228
|
+
sttConfig: z.ZodOptional<z.ZodObject<{
|
|
229
|
+
providerType: z.ZodEnum<typeof import("..").SupportedProprietor>;
|
|
230
|
+
providerModelId: z.ZodString;
|
|
231
|
+
languageId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
232
|
+
}, z.core.$strip>>;
|
|
233
|
+
processingConfig: z.ZodOptional<z.ZodObject<{
|
|
234
|
+
providerType: z.ZodEnum<typeof import("..").SupportedProprietor>;
|
|
235
|
+
providerModelId: z.ZodString;
|
|
236
|
+
}, z.core.$strip>>;
|
|
237
|
+
ttsConfig: z.ZodOptional<z.ZodObject<{
|
|
238
|
+
providerType: z.ZodEnum<typeof import("..").SupportedProprietor>;
|
|
239
|
+
providerModelId: z.ZodString;
|
|
240
|
+
languageId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
241
|
+
voiceId: z.ZodOptional<z.ZodString>;
|
|
242
|
+
}, z.core.$strip>>;
|
|
243
|
+
id: z.ZodString;
|
|
244
|
+
}, z.core.$strip>;
|
|
245
|
+
/**
|
|
246
|
+
* Type definition for updating a provisioning configuration chain.
|
|
247
|
+
*/
|
|
248
|
+
export type UpdateProvisioningConfig = z.infer<typeof UpdateProvisioningConfigSchema>;
|
|
249
|
+
/**
|
|
250
|
+
* Zod schema for translation chain configuration.
|
|
251
|
+
*
|
|
252
|
+
* Extends the provisioning chain concept with translation-specific processing capabilities.
|
|
253
|
+
* Enables real-time language translation in voice interactions (e.g., English caller to Spanish agent).
|
|
254
|
+
*
|
|
255
|
+
* @remarks
|
|
256
|
+
* **Architecture Context:**
|
|
257
|
+
* - **Extension Of**: ProvisioningConfigChain with translation capabilities
|
|
258
|
+
* - **Purpose**: Real-time language translation for multilingual support
|
|
259
|
+
* - **Pipeline Flow**: Speech (Lang A) → STT → Text (Lang A) → Translation → Text (Lang B) → TTS → Speech (Lang B)
|
|
260
|
+
* - **Use Case**: Cross-language customer support, international business
|
|
261
|
+
*
|
|
262
|
+
* **Translation Pipeline:**
|
|
263
|
+
* 1. **STT Stage**: Converts incoming speech to text in source language
|
|
264
|
+
* 2. **Translation Stage**: Translates text between languages using processingModelId
|
|
265
|
+
* 3. **TTS Stage**: Converts translated text to speech in target language
|
|
266
|
+
*
|
|
267
|
+
* @typedef {Object} TranslationChainConfigProperties
|
|
268
|
+
* @property {string} id - Unique identifier for the translation chain
|
|
269
|
+
* @property {string} chainName - Human-readable name for the translation chain (e.g., 'EN-ES Translation', 'Multilingual Support')
|
|
270
|
+
* @property {string} [description] - Optional description of language pair, use case, and configuration
|
|
271
|
+
* @property {SttModelConfig} sttConfig - Speech-to-text configuration for source language recognition
|
|
272
|
+
* @property {string} processingModelId - ID of the LLM model used for translation processing between languages
|
|
273
|
+
* @property {TtsModelConfig} ttsConfig - Text-to-speech configuration for target language synthesis
|
|
274
|
+
* @property {boolean} isTranslation - Flag indicating this chain performs translation (default: true)
|
|
275
|
+
* @property {number} [createdAt] - Unix timestamp (milliseconds) when created
|
|
276
|
+
* @property {number} [updatedAt] - Unix timestamp (milliseconds) when last updated
|
|
277
|
+
*
|
|
278
|
+
* @example
|
|
279
|
+
* ```typescript
|
|
280
|
+
* const translationChain: TranslationChainConfig = {
|
|
281
|
+
* id: 'chain-123',
|
|
282
|
+
* chainName: 'EN-ES Translation Chain',
|
|
283
|
+
* description: 'English to Spanish translation for customer support',
|
|
284
|
+
* sttConfig: {
|
|
285
|
+
* modelId: 'whisper-v3',
|
|
286
|
+
* defaultLanguage: 'en-US'
|
|
287
|
+
* },
|
|
288
|
+
* processingModelId: 'gpt-4-translator',
|
|
289
|
+
* ttsConfig: {
|
|
290
|
+
* modelId: 'eleven-labs-v2',
|
|
291
|
+
* voiceId: 'spanish-voice',
|
|
292
|
+
* defaultLanguage: 'es-ES'
|
|
293
|
+
* },
|
|
294
|
+
* isTranslation: true,
|
|
295
|
+
* createdAt: Date.now(),
|
|
296
|
+
* updatedAt: Date.now()
|
|
297
|
+
* };
|
|
298
|
+
* ```
|
|
299
|
+
*/
|
|
300
|
+
export declare const TranslationChainConfigSchema: z.ZodObject<{
|
|
301
|
+
id: z.ZodString;
|
|
302
|
+
createdAt: z.ZodOptional<z.ZodNumber>;
|
|
303
|
+
updatedAt: z.ZodOptional<z.ZodNumber>;
|
|
304
|
+
chainName: z.ZodString;
|
|
305
|
+
description: z.ZodOptional<z.ZodString>;
|
|
306
|
+
sttConfig: z.ZodObject<{
|
|
307
|
+
modelId: z.ZodString;
|
|
308
|
+
defaultLanguage: z.ZodDefault<z.ZodString>;
|
|
309
|
+
}, z.core.$strip>;
|
|
310
|
+
processingModelId: z.ZodString;
|
|
311
|
+
ttsConfig: z.ZodObject<{
|
|
312
|
+
modelId: z.ZodString;
|
|
313
|
+
voiceId: z.ZodString;
|
|
314
|
+
defaultLanguage: z.ZodDefault<z.ZodString>;
|
|
315
|
+
voiceSettings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
316
|
+
}, z.core.$strip>;
|
|
317
|
+
isTranslation: z.ZodDefault<z.ZodBoolean>;
|
|
318
|
+
}, z.core.$strip>;
|
|
319
|
+
/**
|
|
320
|
+
* Type definition for translation chain configuration.
|
|
321
|
+
*/
|
|
322
|
+
export type TranslationChainConfig = z.infer<typeof TranslationChainConfigSchema>;
|
|
323
|
+
/**
|
|
324
|
+
* Zod schema for creating a new translation chain configuration.
|
|
325
|
+
*
|
|
326
|
+
* Omits auto-generated fields and sets isTranslation to true by default.
|
|
327
|
+
*
|
|
328
|
+
* @example
|
|
329
|
+
* ```typescript
|
|
330
|
+
* const newTranslationChain: CreateTranslationChainConfig = {
|
|
331
|
+
* chainName: 'FR-EN Translation',
|
|
332
|
+
* description: 'French to English translation chain',
|
|
333
|
+
* sttConfig: {
|
|
334
|
+
* providerType: 'Deepgram',
|
|
335
|
+
* providerModelId: 'nova-2',
|
|
336
|
+
* languageId: 'fr'
|
|
337
|
+
* },
|
|
338
|
+
* processingConfig: {
|
|
339
|
+
* providerType: 'OpenAI',
|
|
340
|
+
* providerModelId: 'gpt-4o-mini'
|
|
341
|
+
* },
|
|
342
|
+
* ttsConfig: {
|
|
343
|
+
* providerType: 'ElevenLabs',
|
|
344
|
+
* providerModelId: 'eleven_multilingual_v2',
|
|
345
|
+
* languageId: 'en',
|
|
346
|
+
* voiceId: 'english-voice'
|
|
347
|
+
* },
|
|
348
|
+
* isTranslation: true
|
|
349
|
+
* };
|
|
350
|
+
* ```
|
|
351
|
+
*/
|
|
352
|
+
export declare const CreateTranslationChainConfigSchema: z.ZodObject<{
|
|
353
|
+
chainName: z.ZodString;
|
|
354
|
+
description: z.ZodOptional<z.ZodString>;
|
|
355
|
+
sttConfig: z.ZodObject<{
|
|
356
|
+
providerType: z.ZodEnum<typeof import("..").SupportedProprietor>;
|
|
357
|
+
providerModelId: z.ZodString;
|
|
358
|
+
languageId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
359
|
+
}, z.core.$strip>;
|
|
360
|
+
processingConfig: z.ZodObject<{
|
|
361
|
+
providerType: z.ZodEnum<typeof import("..").SupportedProprietor>;
|
|
362
|
+
providerModelId: z.ZodString;
|
|
363
|
+
}, z.core.$strip>;
|
|
364
|
+
ttsConfig: z.ZodObject<{
|
|
365
|
+
providerType: z.ZodEnum<typeof import("..").SupportedProprietor>;
|
|
366
|
+
providerModelId: z.ZodString;
|
|
367
|
+
languageId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
368
|
+
voiceId: z.ZodOptional<z.ZodString>;
|
|
369
|
+
}, z.core.$strip>;
|
|
370
|
+
isTranslation: z.ZodDefault<z.ZodBoolean>;
|
|
371
|
+
}, z.core.$strip>;
|
|
372
|
+
/**
|
|
373
|
+
* Type definition for creating a translation chain configuration.
|
|
374
|
+
*/
|
|
375
|
+
export type CreateTranslationChainConfig = z.infer<typeof CreateTranslationChainConfigSchema>;
|
|
376
|
+
/**
|
|
377
|
+
* Zod schema for updating an existing translation chain configuration.
|
|
378
|
+
*
|
|
379
|
+
* All fields are optional (partial) except id.
|
|
380
|
+
*
|
|
381
|
+
* @example
|
|
382
|
+
* ```typescript
|
|
383
|
+
* const updateTranslationChain: UpdateTranslationChainConfig = {
|
|
384
|
+
* id: 'chain-123',
|
|
385
|
+
* chainName: 'Updated Translation Chain',
|
|
386
|
+
* processingConfig: {
|
|
387
|
+
* providerType: 'OpenAI',
|
|
388
|
+
* providerModelId: 'gpt-4.1-mini'
|
|
389
|
+
* }
|
|
390
|
+
* };
|
|
391
|
+
* ```
|
|
392
|
+
*/
|
|
393
|
+
export declare const UpdateTranslationChainConfigSchema: z.ZodObject<{
|
|
394
|
+
chainName: z.ZodOptional<z.ZodString>;
|
|
395
|
+
description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
396
|
+
sttConfig: z.ZodOptional<z.ZodObject<{
|
|
397
|
+
providerType: z.ZodEnum<typeof import("..").SupportedProprietor>;
|
|
398
|
+
providerModelId: z.ZodString;
|
|
399
|
+
languageId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
400
|
+
}, z.core.$strip>>;
|
|
401
|
+
processingConfig: z.ZodOptional<z.ZodObject<{
|
|
402
|
+
providerType: z.ZodEnum<typeof import("..").SupportedProprietor>;
|
|
403
|
+
providerModelId: z.ZodString;
|
|
404
|
+
}, z.core.$strip>>;
|
|
405
|
+
ttsConfig: z.ZodOptional<z.ZodObject<{
|
|
406
|
+
providerType: z.ZodEnum<typeof import("..").SupportedProprietor>;
|
|
407
|
+
providerModelId: z.ZodString;
|
|
408
|
+
languageId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
409
|
+
voiceId: z.ZodOptional<z.ZodString>;
|
|
410
|
+
}, z.core.$strip>>;
|
|
411
|
+
isTranslation: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
412
|
+
id: z.ZodString;
|
|
413
|
+
}, z.core.$strip>;
|
|
414
|
+
/**
|
|
415
|
+
* Type definition for updating a translation chain configuration.
|
|
416
|
+
*/
|
|
417
|
+
export type UpdateTranslationChainConfig = z.infer<typeof UpdateTranslationChainConfigSchema>;
|
|
418
|
+
/**
|
|
419
|
+
* Union type for any chain configuration (provisioning or translation).
|
|
420
|
+
*/
|
|
421
|
+
export type ChainConfiguration = ProvisioningConfigChain | TranslationChainConfig;
|
|
422
|
+
/**
|
|
423
|
+
* Union type for creating any chain configuration.
|
|
424
|
+
*/
|
|
425
|
+
export type CreateChainConfiguration = CreateProvisioningConfig | CreateTranslationChainConfig;
|
|
426
|
+
/**
|
|
427
|
+
* Union type for updating any chain configuration.
|
|
428
|
+
*/
|
|
429
|
+
export type UpdateChainConfiguration = UpdateProvisioningConfig | UpdateTranslationChainConfig;
|