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,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CreateTranslationServiceRequestSchema = exports.TranslationConversationConfigSchema = exports.TranslationServiceRequestSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const base_schema_1 = require("../base.schema");
|
|
6
|
+
/**
|
|
7
|
+
* @fileoverview Translation configuration schema definitions for translation services.
|
|
8
|
+
*
|
|
9
|
+
* Translation configurations manage real-time language translation sessions between participants speaking
|
|
10
|
+
* different languages. Enables cross-language communication through speech-to-text transcription, translation,
|
|
11
|
+
* and text-to-speech synthesis. Used for multilingual customer support, international business meetings,
|
|
12
|
+
* and cross-border communications.
|
|
13
|
+
*
|
|
14
|
+
* @module conversation/translation-config
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Translation service request schema.
|
|
18
|
+
*
|
|
19
|
+
* Request payload for initiating a real-time translation session between two participants speaking
|
|
20
|
+
* different languages. Specifies participant identifiers, their native languages, and optional
|
|
21
|
+
* configuration for the translation service provisioning.
|
|
22
|
+
*
|
|
23
|
+
* @remarks
|
|
24
|
+
* **Architecture Context:**
|
|
25
|
+
* - **Extends**: BaseModelSchema with translation-specific fields
|
|
26
|
+
* - **Creates**: TranslationServiceLog when session is initiated
|
|
27
|
+
* - **Participants**: 1:N - One request can lead to multiple participant records
|
|
28
|
+
* - **Session Tracking**: session_id enables grouping related translation requests
|
|
29
|
+
*
|
|
30
|
+
* **Translation Flow:**
|
|
31
|
+
* 1. Client submits TranslationServiceRequest with participant details
|
|
32
|
+
* 2. System creates TranslationServiceLog and participant records
|
|
33
|
+
* 3. Real-time translation session begins with bidirectional audio streaming
|
|
34
|
+
* 4. Speech transcribed → translated → synthesized for each participant
|
|
35
|
+
*
|
|
36
|
+
* **Use Cases:**
|
|
37
|
+
* - Customer calling support in different language than agent
|
|
38
|
+
* - International business calls requiring real-time translation
|
|
39
|
+
* - Multilingual conference calls with language bridges
|
|
40
|
+
*/
|
|
41
|
+
exports.TranslationServiceRequestSchema = base_schema_1.BaseModelSchema.safeExtend({
|
|
42
|
+
initiator_id: zod_1.z.string().describe("Unique identifier for the initiator participant who is requesting the translation service (typically the customer or caller starting the session)"),
|
|
43
|
+
initiator_language_code: base_schema_1.LanguageCodeSchema.describe("ISO 639-1 language code of the initiator's native spoken language (e.g., 'en-US' for American English, 'es-MX' for Mexican Spanish, 'fr-FR' for French)"),
|
|
44
|
+
participant_language_code: base_schema_1.LanguageCodeSchema.describe("ISO 639-1 language code of the other participant's native spoken language (e.g., 'ja-JP' for Japanese, 'de-DE' for German, 'zh-CN' for Mandarin Chinese)"),
|
|
45
|
+
session_id: zod_1.z.string().optional().nullable().describe("Optional session ID for tracking and grouping related translation requests in multi-participant scenarios or session resumption"),
|
|
46
|
+
translation_config_id: zod_1.z.string().optional().nullable().describe("Optional translation configuration ID to use specific provisioning chain for this translation service (references ProvisioningConfigChain with isTranslation=true)"),
|
|
47
|
+
});
|
|
48
|
+
/**
|
|
49
|
+
* Translation conversation configuration schema.
|
|
50
|
+
*
|
|
51
|
+
* Configuration details for an active translation session including WebRTC connection identifiers,
|
|
52
|
+
* channel information, and participant access credentials. Returned when a translation session is
|
|
53
|
+
* successfully initiated, providing clients with necessary connection parameters.
|
|
54
|
+
*
|
|
55
|
+
* @remarks
|
|
56
|
+
* **Architecture Context:**
|
|
57
|
+
* - **Generated By**: Translation service initialization endpoint
|
|
58
|
+
* - **Used For**: Establishing WebRTC connections for real-time audio streaming
|
|
59
|
+
* - **Participants**: Contains access credentials for both initiator and participant
|
|
60
|
+
* - **Security**: Tokens are short-lived and session-specific for secure communication
|
|
61
|
+
*
|
|
62
|
+
* **WebRTC Connection:**
|
|
63
|
+
* - sdrtn_id: Session Description for Real-Time Networking identifier
|
|
64
|
+
* - Enables peer-to-peer audio streaming with low latency
|
|
65
|
+
* - Supports bidirectional translation in real-time
|
|
66
|
+
*
|
|
67
|
+
* **Participant Authentication:**
|
|
68
|
+
* - Each participant receives unique access_id and token
|
|
69
|
+
* - Tokens authenticate WebRTC connections
|
|
70
|
+
* - Session-scoped credentials prevent unauthorized access
|
|
71
|
+
*/
|
|
72
|
+
exports.TranslationConversationConfigSchema = zod_1.z.object({
|
|
73
|
+
sdrtn_id: zod_1.z.string().optional().nullable().describe("SDRTN (Session Description and Real-Time Networking) identifier for WebRTC connections enabling peer-to-peer audio streaming between participants"),
|
|
74
|
+
channel_identifier: zod_1.z.string().describe("Unique identifier for the communication channel (phone number in E.164 format, WebRTC channel ID, or conference room identifier) used for routing and session tracking"),
|
|
75
|
+
initiator_access_id: zod_1.z.string().describe("Unique access identifier for the initiator participant used to authenticate their WebRTC connection and track their audio stream"),
|
|
76
|
+
initiator_token: zod_1.z.string().describe("Short-lived authentication token for the initiator's communication channel, grants access to the translation session (expires after session or timeout)"),
|
|
77
|
+
participant_access_id: zod_1.z.string().describe("Unique access identifier for the other participant used to authenticate their WebRTC connection and track their audio stream"),
|
|
78
|
+
participant_token: zod_1.z.string().describe("Short-lived authentication token for the participant's communication channel, grants access to the translation session (expires after session or timeout)"),
|
|
79
|
+
});
|
|
80
|
+
/**
|
|
81
|
+
* Schema for creating a new translation service request.
|
|
82
|
+
* Omits auto-generated fields.
|
|
83
|
+
*/
|
|
84
|
+
exports.CreateTranslationServiceRequestSchema = exports.TranslationServiceRequestSchema.omit({
|
|
85
|
+
id: true,
|
|
86
|
+
createdAt: true,
|
|
87
|
+
updatedAt: true,
|
|
88
|
+
});
|
|
@@ -0,0 +1,469 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { ConversationStatus, TranslationDirection } from "../type-definitions";
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview Translation conversation schema definitions for real-time translation services.
|
|
5
|
+
*
|
|
6
|
+
* Translation conversations manage the lifecycle, participants, and message history of real-time language
|
|
7
|
+
* translation sessions. Tracks individual translation messages, participant metadata, session duration,
|
|
8
|
+
* and conversation status for multilingual communication across language barriers.
|
|
9
|
+
*
|
|
10
|
+
* @module conversation/translation-conversation
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Translation message schema - represents one translation interaction.
|
|
14
|
+
*
|
|
15
|
+
* Individual translation message capturing the complete translation pipeline from speaker's original speech
|
|
16
|
+
* to translated output for the listener. Tracks both source and target text, languages, participants, and
|
|
17
|
+
* the provisioning chain used for STT → Translation → TTS processing.
|
|
18
|
+
*
|
|
19
|
+
* @remarks
|
|
20
|
+
* **Architecture Context:**
|
|
21
|
+
* - **Used In**: TranslationServiceLog.transcribedConversationLog array
|
|
22
|
+
* - **Processing Pipeline**: Speaker audio → STT (originalText) → Translation (translatedText) → TTS → Target participant
|
|
23
|
+
* - **Provisioning**: References ProvisioningConfigChain with isTranslation=true
|
|
24
|
+
* - **Bidirectional**: Each spoken utterance creates messages for both participants in their languages
|
|
25
|
+
*
|
|
26
|
+
* **Translation Flow:**
|
|
27
|
+
* 1. Participant A speaks in Language A → captured as audio
|
|
28
|
+
* 2. STT transcribes audio → originalText in Language A
|
|
29
|
+
* 3. Translation model translates → translatedText in Language B
|
|
30
|
+
* 4. TTS synthesizes translatedText → audio for Participant B
|
|
31
|
+
* 5. TranslationMessage stored with both texts, languages, and metadata
|
|
32
|
+
*
|
|
33
|
+
* **Metadata Examples:**
|
|
34
|
+
* - audio_url: URL to original audio recording
|
|
35
|
+
* - confidence_score: STT transcription confidence (0-1)
|
|
36
|
+
* - processing_time_ms: Total pipeline latency
|
|
37
|
+
* - translation_model: LLM model used for translation
|
|
38
|
+
*/
|
|
39
|
+
export declare const TranslationMessageSchema: z.ZodObject<{
|
|
40
|
+
messageId: z.ZodString;
|
|
41
|
+
speakerParticipantId: z.ZodString;
|
|
42
|
+
targetParticipantId: z.ZodString;
|
|
43
|
+
originalText: z.ZodOptional<z.ZodString>;
|
|
44
|
+
translatedText: z.ZodOptional<z.ZodString>;
|
|
45
|
+
originalLanguage: z.ZodString;
|
|
46
|
+
targetLanguage: z.ZodString;
|
|
47
|
+
provisioningConfigId: z.ZodString;
|
|
48
|
+
timestamp: z.ZodNumber;
|
|
49
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
50
|
+
}, z.core.$strip>;
|
|
51
|
+
/**
|
|
52
|
+
* Translation participant schema.
|
|
53
|
+
*
|
|
54
|
+
* Represents an individual participant in a translation session including their language preferences,
|
|
55
|
+
* authentication credentials, role, and message history. Participants can be anchors (session initiators)
|
|
56
|
+
* or secondary participants joining the translation conversation.
|
|
57
|
+
*
|
|
58
|
+
* @remarks
|
|
59
|
+
* **Architecture Context:**
|
|
60
|
+
* - **Extends**: BaseModelSchema with participant-specific fields
|
|
61
|
+
* - **Relationship to Session**: N:1 - Multiple participants in one translation session
|
|
62
|
+
* - **Referenced By**: TranslationMessage via speakerParticipantId and targetParticipantId
|
|
63
|
+
* - **Access Control**: participantToken authenticates WebRTC connections
|
|
64
|
+
*
|
|
65
|
+
* **Participant Roles:**
|
|
66
|
+
* - **Anchor (isAnchor=true)**: Session initiator, typically the customer or primary caller
|
|
67
|
+
* - **Secondary (isAnchor=false)**: Joining participant, typically agent or secondary caller
|
|
68
|
+
*
|
|
69
|
+
* **Message Storage:**
|
|
70
|
+
* - transcriptions: Translation messages where this participant is either speaker or target
|
|
71
|
+
* - participantTranscribedLogs: Full conversation messages for audit and quality review
|
|
72
|
+
*
|
|
73
|
+
* **Integration:**
|
|
74
|
+
* - partnerParticipantRecordId links to external systems (CRM, HR, contact databases)
|
|
75
|
+
* - Enables unified participant profiles across multiple sessions
|
|
76
|
+
*/
|
|
77
|
+
export declare const TranslationParticipantSchema: z.ZodObject<{
|
|
78
|
+
id: z.ZodString;
|
|
79
|
+
createdAt: z.ZodOptional<z.ZodNumber>;
|
|
80
|
+
updatedAt: z.ZodOptional<z.ZodNumber>;
|
|
81
|
+
translationServiceLogId: z.ZodOptional<z.ZodString>;
|
|
82
|
+
partnerParticipantRecordId: z.ZodOptional<z.ZodString>;
|
|
83
|
+
name: z.ZodOptional<z.ZodString>;
|
|
84
|
+
isAnchor: z.ZodDefault<z.ZodBoolean>;
|
|
85
|
+
nativeLanguage: z.ZodString;
|
|
86
|
+
participantAccessId: z.ZodNumber;
|
|
87
|
+
participantToken: z.ZodString;
|
|
88
|
+
transcriptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
89
|
+
messageId: z.ZodString;
|
|
90
|
+
speakerParticipantId: z.ZodString;
|
|
91
|
+
targetParticipantId: z.ZodString;
|
|
92
|
+
originalText: z.ZodOptional<z.ZodString>;
|
|
93
|
+
translatedText: z.ZodOptional<z.ZodString>;
|
|
94
|
+
originalLanguage: z.ZodString;
|
|
95
|
+
targetLanguage: z.ZodString;
|
|
96
|
+
provisioningConfigId: z.ZodString;
|
|
97
|
+
timestamp: z.ZodNumber;
|
|
98
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
99
|
+
}, z.core.$strip>>>;
|
|
100
|
+
participantTranscribedLogs: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
|
|
101
|
+
conversation_config_id: z.ZodString;
|
|
102
|
+
message: z.ZodString;
|
|
103
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
104
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
105
|
+
message_type: z.ZodDefault<z.ZodLiteral<import("./conversation-message.schema").MessageType.USER>>;
|
|
106
|
+
user_message_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
107
|
+
last_assistant_message_id: z.ZodOptional<z.ZodString>;
|
|
108
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
109
|
+
conversation_config_id: z.ZodString;
|
|
110
|
+
message: z.ZodString;
|
|
111
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
112
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
113
|
+
message_type: z.ZodDefault<z.ZodLiteral<import("./conversation-message.schema").MessageType.AGENT>>;
|
|
114
|
+
assistant_message_id: z.ZodString;
|
|
115
|
+
last_user_message_id: z.ZodOptional<z.ZodString>;
|
|
116
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
117
|
+
conversation_config_id: z.ZodString;
|
|
118
|
+
message: z.ZodString;
|
|
119
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
120
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
121
|
+
subject: z.ZodString;
|
|
122
|
+
isEmail: z.ZodDefault<z.ZodLiteral<true>>;
|
|
123
|
+
message_type: z.ZodDefault<z.ZodLiteral<import("./conversation-message.schema").MessageType.USER>>;
|
|
124
|
+
provider_message_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
125
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
126
|
+
conversation_config_id: z.ZodString;
|
|
127
|
+
message: z.ZodString;
|
|
128
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
129
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
130
|
+
subject: z.ZodString;
|
|
131
|
+
isEmail: z.ZodDefault<z.ZodLiteral<true>>;
|
|
132
|
+
message_type: z.ZodDefault<z.ZodLiteral<import("./conversation-message.schema").MessageType.AGENT>>;
|
|
133
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
134
|
+
conversation_config_id: z.ZodString;
|
|
135
|
+
message: z.ZodString;
|
|
136
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
137
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
138
|
+
message_type: z.ZodDefault<z.ZodLiteral<import("./conversation-message.schema").MessageType.HUMAN_AGENT>>;
|
|
139
|
+
agent_message_id: z.ZodString;
|
|
140
|
+
agent_session_id: z.ZodString;
|
|
141
|
+
last_user_message_id: z.ZodOptional<z.ZodString>;
|
|
142
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
143
|
+
conversation_config_id: z.ZodString;
|
|
144
|
+
message: z.ZodString;
|
|
145
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
146
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
147
|
+
subject: z.ZodString;
|
|
148
|
+
isEmail: z.ZodDefault<z.ZodLiteral<true>>;
|
|
149
|
+
message_type: z.ZodDefault<z.ZodLiteral<import("./conversation-message.schema").MessageType.HUMAN_AGENT>>;
|
|
150
|
+
agent_session_id: z.ZodString;
|
|
151
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
152
|
+
conversation_config_id: z.ZodString;
|
|
153
|
+
message: z.ZodString;
|
|
154
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
155
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
156
|
+
message_type: z.ZodDefault<z.ZodLiteral<import("./conversation-message.schema").MessageType.SYSTEM>>;
|
|
157
|
+
system_message_id: z.ZodString;
|
|
158
|
+
event_type: z.ZodEnum<typeof import("./conversation-message.schema").SystemMessageEventType>;
|
|
159
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
160
|
+
}, z.core.$strip>]>>>;
|
|
161
|
+
}, z.core.$strip>;
|
|
162
|
+
/**
|
|
163
|
+
* Schema for creating a new translation participant.
|
|
164
|
+
* Omits auto-generated fields.
|
|
165
|
+
*/
|
|
166
|
+
export declare const CreateTranslationParticipantSchema: z.ZodObject<{
|
|
167
|
+
name: z.ZodOptional<z.ZodString>;
|
|
168
|
+
translationServiceLogId: z.ZodOptional<z.ZodString>;
|
|
169
|
+
partnerParticipantRecordId: z.ZodOptional<z.ZodString>;
|
|
170
|
+
isAnchor: z.ZodDefault<z.ZodBoolean>;
|
|
171
|
+
nativeLanguage: z.ZodString;
|
|
172
|
+
participantAccessId: z.ZodNumber;
|
|
173
|
+
participantToken: z.ZodString;
|
|
174
|
+
transcriptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
175
|
+
messageId: z.ZodString;
|
|
176
|
+
speakerParticipantId: z.ZodString;
|
|
177
|
+
targetParticipantId: z.ZodString;
|
|
178
|
+
originalText: z.ZodOptional<z.ZodString>;
|
|
179
|
+
translatedText: z.ZodOptional<z.ZodString>;
|
|
180
|
+
originalLanguage: z.ZodString;
|
|
181
|
+
targetLanguage: z.ZodString;
|
|
182
|
+
provisioningConfigId: z.ZodString;
|
|
183
|
+
timestamp: z.ZodNumber;
|
|
184
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
185
|
+
}, z.core.$strip>>>;
|
|
186
|
+
participantTranscribedLogs: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
|
|
187
|
+
conversation_config_id: z.ZodString;
|
|
188
|
+
message: z.ZodString;
|
|
189
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
190
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
191
|
+
message_type: z.ZodDefault<z.ZodLiteral<import("./conversation-message.schema").MessageType.USER>>;
|
|
192
|
+
user_message_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
193
|
+
last_assistant_message_id: z.ZodOptional<z.ZodString>;
|
|
194
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
195
|
+
conversation_config_id: z.ZodString;
|
|
196
|
+
message: z.ZodString;
|
|
197
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
198
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
199
|
+
message_type: z.ZodDefault<z.ZodLiteral<import("./conversation-message.schema").MessageType.AGENT>>;
|
|
200
|
+
assistant_message_id: z.ZodString;
|
|
201
|
+
last_user_message_id: z.ZodOptional<z.ZodString>;
|
|
202
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
203
|
+
conversation_config_id: z.ZodString;
|
|
204
|
+
message: z.ZodString;
|
|
205
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
206
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
207
|
+
subject: z.ZodString;
|
|
208
|
+
isEmail: z.ZodDefault<z.ZodLiteral<true>>;
|
|
209
|
+
message_type: z.ZodDefault<z.ZodLiteral<import("./conversation-message.schema").MessageType.USER>>;
|
|
210
|
+
provider_message_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
211
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
212
|
+
conversation_config_id: z.ZodString;
|
|
213
|
+
message: z.ZodString;
|
|
214
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
215
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
216
|
+
subject: z.ZodString;
|
|
217
|
+
isEmail: z.ZodDefault<z.ZodLiteral<true>>;
|
|
218
|
+
message_type: z.ZodDefault<z.ZodLiteral<import("./conversation-message.schema").MessageType.AGENT>>;
|
|
219
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
220
|
+
conversation_config_id: z.ZodString;
|
|
221
|
+
message: z.ZodString;
|
|
222
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
223
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
224
|
+
message_type: z.ZodDefault<z.ZodLiteral<import("./conversation-message.schema").MessageType.HUMAN_AGENT>>;
|
|
225
|
+
agent_message_id: z.ZodString;
|
|
226
|
+
agent_session_id: z.ZodString;
|
|
227
|
+
last_user_message_id: z.ZodOptional<z.ZodString>;
|
|
228
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
229
|
+
conversation_config_id: z.ZodString;
|
|
230
|
+
message: z.ZodString;
|
|
231
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
232
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
233
|
+
subject: z.ZodString;
|
|
234
|
+
isEmail: z.ZodDefault<z.ZodLiteral<true>>;
|
|
235
|
+
message_type: z.ZodDefault<z.ZodLiteral<import("./conversation-message.schema").MessageType.HUMAN_AGENT>>;
|
|
236
|
+
agent_session_id: z.ZodString;
|
|
237
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
238
|
+
conversation_config_id: z.ZodString;
|
|
239
|
+
message: z.ZodString;
|
|
240
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
241
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
242
|
+
message_type: z.ZodDefault<z.ZodLiteral<import("./conversation-message.schema").MessageType.SYSTEM>>;
|
|
243
|
+
system_message_id: z.ZodString;
|
|
244
|
+
event_type: z.ZodEnum<typeof import("./conversation-message.schema").SystemMessageEventType>;
|
|
245
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
246
|
+
}, z.core.$strip>]>>>;
|
|
247
|
+
}, z.core.$strip>;
|
|
248
|
+
/**
|
|
249
|
+
* Schema for updating an existing translation participant.
|
|
250
|
+
* All fields are optional except id.
|
|
251
|
+
*/
|
|
252
|
+
export declare const UpdateTranslationParticipantSchema: z.ZodObject<{
|
|
253
|
+
name: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
254
|
+
translationServiceLogId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
255
|
+
partnerParticipantRecordId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
256
|
+
isAnchor: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
257
|
+
nativeLanguage: z.ZodOptional<z.ZodString>;
|
|
258
|
+
participantAccessId: z.ZodOptional<z.ZodNumber>;
|
|
259
|
+
participantToken: z.ZodOptional<z.ZodString>;
|
|
260
|
+
transcriptions: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
261
|
+
messageId: z.ZodString;
|
|
262
|
+
speakerParticipantId: z.ZodString;
|
|
263
|
+
targetParticipantId: z.ZodString;
|
|
264
|
+
originalText: z.ZodOptional<z.ZodString>;
|
|
265
|
+
translatedText: z.ZodOptional<z.ZodString>;
|
|
266
|
+
originalLanguage: z.ZodString;
|
|
267
|
+
targetLanguage: z.ZodString;
|
|
268
|
+
provisioningConfigId: z.ZodString;
|
|
269
|
+
timestamp: z.ZodNumber;
|
|
270
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
271
|
+
}, z.core.$strip>>>>;
|
|
272
|
+
participantTranscribedLogs: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
|
|
273
|
+
conversation_config_id: z.ZodString;
|
|
274
|
+
message: z.ZodString;
|
|
275
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
276
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
277
|
+
message_type: z.ZodDefault<z.ZodLiteral<import("./conversation-message.schema").MessageType.USER>>;
|
|
278
|
+
user_message_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
279
|
+
last_assistant_message_id: z.ZodOptional<z.ZodString>;
|
|
280
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
281
|
+
conversation_config_id: z.ZodString;
|
|
282
|
+
message: z.ZodString;
|
|
283
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
284
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
285
|
+
message_type: z.ZodDefault<z.ZodLiteral<import("./conversation-message.schema").MessageType.AGENT>>;
|
|
286
|
+
assistant_message_id: z.ZodString;
|
|
287
|
+
last_user_message_id: z.ZodOptional<z.ZodString>;
|
|
288
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
289
|
+
conversation_config_id: z.ZodString;
|
|
290
|
+
message: z.ZodString;
|
|
291
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
292
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
293
|
+
subject: z.ZodString;
|
|
294
|
+
isEmail: z.ZodDefault<z.ZodLiteral<true>>;
|
|
295
|
+
message_type: z.ZodDefault<z.ZodLiteral<import("./conversation-message.schema").MessageType.USER>>;
|
|
296
|
+
provider_message_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
297
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
298
|
+
conversation_config_id: z.ZodString;
|
|
299
|
+
message: z.ZodString;
|
|
300
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
301
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
302
|
+
subject: z.ZodString;
|
|
303
|
+
isEmail: z.ZodDefault<z.ZodLiteral<true>>;
|
|
304
|
+
message_type: z.ZodDefault<z.ZodLiteral<import("./conversation-message.schema").MessageType.AGENT>>;
|
|
305
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
306
|
+
conversation_config_id: z.ZodString;
|
|
307
|
+
message: z.ZodString;
|
|
308
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
309
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
310
|
+
message_type: z.ZodDefault<z.ZodLiteral<import("./conversation-message.schema").MessageType.HUMAN_AGENT>>;
|
|
311
|
+
agent_message_id: z.ZodString;
|
|
312
|
+
agent_session_id: z.ZodString;
|
|
313
|
+
last_user_message_id: z.ZodOptional<z.ZodString>;
|
|
314
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
315
|
+
conversation_config_id: z.ZodString;
|
|
316
|
+
message: z.ZodString;
|
|
317
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
318
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
319
|
+
subject: z.ZodString;
|
|
320
|
+
isEmail: z.ZodDefault<z.ZodLiteral<true>>;
|
|
321
|
+
message_type: z.ZodDefault<z.ZodLiteral<import("./conversation-message.schema").MessageType.HUMAN_AGENT>>;
|
|
322
|
+
agent_session_id: z.ZodString;
|
|
323
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
324
|
+
conversation_config_id: z.ZodString;
|
|
325
|
+
message: z.ZodString;
|
|
326
|
+
timestamp: z.ZodDefault<z.ZodNumber>;
|
|
327
|
+
llm_conversation_id: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
328
|
+
message_type: z.ZodDefault<z.ZodLiteral<import("./conversation-message.schema").MessageType.SYSTEM>>;
|
|
329
|
+
system_message_id: z.ZodString;
|
|
330
|
+
event_type: z.ZodEnum<typeof import("./conversation-message.schema").SystemMessageEventType>;
|
|
331
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
332
|
+
}, z.core.$strip>]>>>>;
|
|
333
|
+
id: z.ZodString;
|
|
334
|
+
}, z.core.$strip>;
|
|
335
|
+
/**
|
|
336
|
+
* Translation service log schema.
|
|
337
|
+
*
|
|
338
|
+
* Complete record of a translation session including participant information, session metadata, message
|
|
339
|
+
* history, and operational status. Primary entity for managing and tracking real-time translation services
|
|
340
|
+
* across organizations and projects.
|
|
341
|
+
*
|
|
342
|
+
* @remarks
|
|
343
|
+
* **Architecture Context:**
|
|
344
|
+
* - **Extends**: BaseModelSchema with translation session-specific fields
|
|
345
|
+
* - **Relationship to Participants**: 1:N - One session has multiple participants
|
|
346
|
+
* - **Relationship to Messages**: 1:N - One session contains multiple translation messages
|
|
347
|
+
* - **Scoped To**: Organization and optionally Project for multi-tenant isolation
|
|
348
|
+
*
|
|
349
|
+
* **Translation Directions:**
|
|
350
|
+
* - **BIDIRECTIONAL**: Both participants receive translations (A→B and B→A simultaneously)
|
|
351
|
+
* - **UNIDIRECTIONAL**: Only one direction of translation (e.g., customer to agent only)
|
|
352
|
+
*
|
|
353
|
+
* **Session Lifecycle:**
|
|
354
|
+
* - **ACTIVE**: Translation session in progress with real-time audio streaming
|
|
355
|
+
* - **COMPLETED**: Session successfully concluded, participants disconnected
|
|
356
|
+
* - **FAILED**: Session encountered errors (connection lost, processing failures)
|
|
357
|
+
* - **ABANDONED**: Session abandoned by participants before completion
|
|
358
|
+
*
|
|
359
|
+
* **Message Logging:**
|
|
360
|
+
* - transcribedConversationLog: Central message array for session-level history
|
|
361
|
+
* - logTranscriptionInParticipantRecords: Controls whether messages also stored per-participant
|
|
362
|
+
* - Enables both session-wide and participant-specific message retrieval
|
|
363
|
+
*
|
|
364
|
+
* **Use Cases:**
|
|
365
|
+
* - Multilingual customer support call tracking
|
|
366
|
+
* - International business meeting transcripts
|
|
367
|
+
* - Cross-border service interaction logs
|
|
368
|
+
* - Quality assurance and compliance auditing
|
|
369
|
+
*/
|
|
370
|
+
export declare const TranslationServiceLogSchema: z.ZodObject<{
|
|
371
|
+
id: z.ZodString;
|
|
372
|
+
createdAt: z.ZodOptional<z.ZodNumber>;
|
|
373
|
+
updatedAt: z.ZodOptional<z.ZodNumber>;
|
|
374
|
+
organization_id: z.ZodString;
|
|
375
|
+
project_id: z.ZodOptional<z.ZodString>;
|
|
376
|
+
partner_initiator_id: z.ZodString;
|
|
377
|
+
partner_session_id: z.ZodOptional<z.ZodString>;
|
|
378
|
+
sdrtn_id: z.ZodOptional<z.ZodString>;
|
|
379
|
+
translationConfigId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
380
|
+
participants: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
381
|
+
durationInSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
382
|
+
status: z.ZodDefault<z.ZodEnum<typeof ConversationStatus>>;
|
|
383
|
+
direction: z.ZodDefault<z.ZodEnum<typeof TranslationDirection>>;
|
|
384
|
+
transcribedConversationLog: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
385
|
+
messageId: z.ZodString;
|
|
386
|
+
speakerParticipantId: z.ZodString;
|
|
387
|
+
targetParticipantId: z.ZodString;
|
|
388
|
+
originalText: z.ZodOptional<z.ZodString>;
|
|
389
|
+
translatedText: z.ZodOptional<z.ZodString>;
|
|
390
|
+
originalLanguage: z.ZodString;
|
|
391
|
+
targetLanguage: z.ZodString;
|
|
392
|
+
provisioningConfigId: z.ZodString;
|
|
393
|
+
timestamp: z.ZodNumber;
|
|
394
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
395
|
+
}, z.core.$strip>>>;
|
|
396
|
+
logTranscriptionInParticipantRecords: z.ZodDefault<z.ZodBoolean>;
|
|
397
|
+
translationSummary: z.ZodOptional<z.ZodString>;
|
|
398
|
+
created_day: z.ZodOptional<z.ZodString>;
|
|
399
|
+
}, z.core.$strip>;
|
|
400
|
+
/**
|
|
401
|
+
* Schema for creating a new translation service log.
|
|
402
|
+
* Omits auto-generated fields.
|
|
403
|
+
*/
|
|
404
|
+
export declare const CreateTranslationServiceLogSchema: z.ZodObject<{
|
|
405
|
+
status: z.ZodDefault<z.ZodEnum<typeof ConversationStatus>>;
|
|
406
|
+
project_id: z.ZodOptional<z.ZodString>;
|
|
407
|
+
durationInSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
408
|
+
created_day: z.ZodOptional<z.ZodString>;
|
|
409
|
+
direction: z.ZodDefault<z.ZodEnum<typeof TranslationDirection>>;
|
|
410
|
+
sdrtn_id: z.ZodOptional<z.ZodString>;
|
|
411
|
+
organization_id: z.ZodString;
|
|
412
|
+
partner_initiator_id: z.ZodString;
|
|
413
|
+
partner_session_id: z.ZodOptional<z.ZodString>;
|
|
414
|
+
translationConfigId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
415
|
+
participants: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
416
|
+
transcribedConversationLog: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
417
|
+
messageId: z.ZodString;
|
|
418
|
+
speakerParticipantId: z.ZodString;
|
|
419
|
+
targetParticipantId: z.ZodString;
|
|
420
|
+
originalText: z.ZodOptional<z.ZodString>;
|
|
421
|
+
translatedText: z.ZodOptional<z.ZodString>;
|
|
422
|
+
originalLanguage: z.ZodString;
|
|
423
|
+
targetLanguage: z.ZodString;
|
|
424
|
+
provisioningConfigId: z.ZodString;
|
|
425
|
+
timestamp: z.ZodNumber;
|
|
426
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
427
|
+
}, z.core.$strip>>>;
|
|
428
|
+
logTranscriptionInParticipantRecords: z.ZodDefault<z.ZodBoolean>;
|
|
429
|
+
translationSummary: z.ZodOptional<z.ZodString>;
|
|
430
|
+
}, z.core.$strip>;
|
|
431
|
+
/**
|
|
432
|
+
* Schema for updating an existing translation service log.
|
|
433
|
+
* All fields are optional except id.
|
|
434
|
+
*/
|
|
435
|
+
export declare const UpdateTranslationServiceLogSchema: z.ZodObject<{
|
|
436
|
+
status: z.ZodOptional<z.ZodDefault<z.ZodEnum<typeof ConversationStatus>>>;
|
|
437
|
+
project_id: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
438
|
+
durationInSeconds: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
|
|
439
|
+
created_day: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
440
|
+
direction: z.ZodOptional<z.ZodDefault<z.ZodEnum<typeof TranslationDirection>>>;
|
|
441
|
+
sdrtn_id: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
442
|
+
organization_id: z.ZodOptional<z.ZodString>;
|
|
443
|
+
partner_initiator_id: z.ZodOptional<z.ZodString>;
|
|
444
|
+
partner_session_id: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
445
|
+
translationConfigId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
|
|
446
|
+
participants: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
447
|
+
transcribedConversationLog: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
448
|
+
messageId: z.ZodString;
|
|
449
|
+
speakerParticipantId: z.ZodString;
|
|
450
|
+
targetParticipantId: z.ZodString;
|
|
451
|
+
originalText: z.ZodOptional<z.ZodString>;
|
|
452
|
+
translatedText: z.ZodOptional<z.ZodString>;
|
|
453
|
+
originalLanguage: z.ZodString;
|
|
454
|
+
targetLanguage: z.ZodString;
|
|
455
|
+
provisioningConfigId: z.ZodString;
|
|
456
|
+
timestamp: z.ZodNumber;
|
|
457
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
458
|
+
}, z.core.$strip>>>>;
|
|
459
|
+
logTranscriptionInParticipantRecords: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
460
|
+
translationSummary: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
461
|
+
id: z.ZodString;
|
|
462
|
+
}, z.core.$strip>;
|
|
463
|
+
export type CreateTranslationParticipant = z.infer<typeof CreateTranslationParticipantSchema>;
|
|
464
|
+
export type UpdateTranslationParticipant = z.infer<typeof UpdateTranslationParticipantSchema>;
|
|
465
|
+
export type CreateTranslationServiceLog = z.infer<typeof CreateTranslationServiceLogSchema>;
|
|
466
|
+
export type UpdateTranslationServiceLog = z.infer<typeof UpdateTranslationServiceLogSchema>;
|
|
467
|
+
export type TranslationMessage = z.infer<typeof TranslationMessageSchema>;
|
|
468
|
+
export type TranslationParticipant = z.infer<typeof TranslationParticipantSchema>;
|
|
469
|
+
export type TranslationServiceLog = z.infer<typeof TranslationServiceLogSchema>;
|