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.
Files changed (261) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +174 -0
  3. package/dist/core/account/index.d.ts +7 -0
  4. package/dist/core/account/index.js +23 -0
  5. package/dist/core/account/organization.schema.d.ts +118 -0
  6. package/dist/core/account/organization.schema.js +91 -0
  7. package/dist/core/account/project.schema.d.ts +121 -0
  8. package/dist/core/account/project.schema.js +102 -0
  9. package/dist/core/account/supported-business-verticals.d.ts +8 -0
  10. package/dist/core/account/supported-business-verticals.js +23 -0
  11. package/dist/core/assistant-setups/assistant-setup-result.schema.d.ts +115 -0
  12. package/dist/core/assistant-setups/assistant-setup-result.schema.js +17 -0
  13. package/dist/core/assistant-setups/base-assistant-setup.schema.d.ts +61 -0
  14. package/dist/core/assistant-setups/base-assistant-setup.schema.js +29 -0
  15. package/dist/core/assistant-setups/index.d.ts +4 -0
  16. package/dist/core/assistant-setups/index.js +21 -0
  17. package/dist/core/assistant-setups/phone-assistant-setup.schema.d.ts +63 -0
  18. package/dist/core/assistant-setups/phone-assistant-setup.schema.js +14 -0
  19. package/dist/core/assistant-setups/web-assitant-setup.schema.d.ts +56 -0
  20. package/dist/core/assistant-setups/web-assitant-setup.schema.js +17 -0
  21. package/dist/core/base.schema.d.ts +34 -0
  22. package/dist/core/base.schema.js +36 -0
  23. package/dist/core/business-mgt/appointment-additional-info.schema.d.ts +63 -0
  24. package/dist/core/business-mgt/appointment-additional-info.schema.js +53 -0
  25. package/dist/core/business-mgt/appointment-field-config.schema.d.ts +251 -0
  26. package/dist/core/business-mgt/appointment-field-config.schema.js +49 -0
  27. package/dist/core/business-mgt/bookings.shared.schema.d.ts +47 -0
  28. package/dist/core/business-mgt/bookings.shared.schema.js +60 -0
  29. package/dist/core/business-mgt/business-location.schema.d.ts +327 -0
  30. package/dist/core/business-mgt/business-location.schema.js +176 -0
  31. package/dist/core/business-mgt/customer-management/customer-group.schema.d.ts +87 -0
  32. package/dist/core/business-mgt/customer-management/customer-group.schema.js +53 -0
  33. package/dist/core/business-mgt/customer-management/customer.schema.d.ts +156 -0
  34. package/dist/core/business-mgt/customer-management/customer.schema.js +93 -0
  35. package/dist/core/business-mgt/customer-management/index.d.ts +7 -0
  36. package/dist/core/business-mgt/customer-management/index.js +23 -0
  37. package/dist/core/business-mgt/customer-management/shipping-address.schema.d.ts +112 -0
  38. package/dist/core/business-mgt/customer-management/shipping-address.schema.js +79 -0
  39. package/dist/core/business-mgt/customer.schema.d.ts +111 -0
  40. package/dist/core/business-mgt/customer.schema.js +73 -0
  41. package/dist/core/business-mgt/discount-rule.schema.d.ts +183 -0
  42. package/dist/core/business-mgt/discount-rule.schema.js +108 -0
  43. package/dist/core/business-mgt/index.d.ts +16 -0
  44. package/dist/core/business-mgt/index.js +38 -0
  45. package/dist/core/business-mgt/menu-config.schema.d.ts +165 -0
  46. package/dist/core/business-mgt/menu-config.schema.js +86 -0
  47. package/dist/core/business-mgt/menu-management/index.d.ts +11 -0
  48. package/dist/core/business-mgt/menu-management/index.js +27 -0
  49. package/dist/core/business-mgt/menu-management/menu-catalog.schema.d.ts +386 -0
  50. package/dist/core/business-mgt/menu-management/menu-catalog.schema.js +58 -0
  51. package/dist/core/business-mgt/menu-management/menu-config.schema.d.ts +301 -0
  52. package/dist/core/business-mgt/menu-management/menu-config.schema.js +169 -0
  53. package/dist/core/business-mgt/menu-management/menu-item-variant.schema.d.ts +143 -0
  54. package/dist/core/business-mgt/menu-management/menu-item-variant.schema.js +86 -0
  55. package/dist/core/business-mgt/menu-management/menu-pricing-rule.schema.d.ts +239 -0
  56. package/dist/core/business-mgt/menu-management/menu-pricing-rule.schema.js +117 -0
  57. package/dist/core/business-mgt/menu-management/menu-set.schema.d.ts +420 -0
  58. package/dist/core/business-mgt/menu-management/menu-set.schema.js +283 -0
  59. package/dist/core/business-mgt/menu-management/menu.order.schema.d.ts +654 -0
  60. package/dist/core/business-mgt/menu-management/menu.order.schema.js +204 -0
  61. package/dist/core/business-mgt/menu-management/modifier.schema.d.ts +585 -0
  62. package/dist/core/business-mgt/menu-management/modifier.schema.js +341 -0
  63. package/dist/core/business-mgt/menu.order.schema.d.ts +335 -0
  64. package/dist/core/business-mgt/menu.order.schema.js +149 -0
  65. package/dist/core/business-mgt/order.schema.d.ts +222 -0
  66. package/dist/core/business-mgt/order.schema.js +205 -0
  67. package/dist/core/business-mgt/pricing-rule.shared.schema.d.ts +56 -0
  68. package/dist/core/business-mgt/pricing-rule.shared.schema.js +68 -0
  69. package/dist/core/business-mgt/product-config.schema.d.ts +177 -0
  70. package/dist/core/business-mgt/product-config.schema.js +106 -0
  71. package/dist/core/business-mgt/product-management/index.d.ts +12 -0
  72. package/dist/core/business-mgt/product-management/index.js +28 -0
  73. package/dist/core/business-mgt/product-management/product-axis-binding.schema.d.ts +54 -0
  74. package/dist/core/business-mgt/product-management/product-axis-binding.schema.js +54 -0
  75. package/dist/core/business-mgt/product-management/product-config.schema.d.ts +1042 -0
  76. package/dist/core/business-mgt/product-management/product-config.schema.js +392 -0
  77. package/dist/core/business-mgt/product-management/product-display.schema.d.ts +548 -0
  78. package/dist/core/business-mgt/product-management/product-display.schema.js +80 -0
  79. package/dist/core/business-mgt/product-management/product-order.schema.d.ts +493 -0
  80. package/dist/core/business-mgt/product-management/product-order.schema.js +158 -0
  81. package/dist/core/business-mgt/product-management/product-pricing-rule.schema.d.ts +167 -0
  82. package/dist/core/business-mgt/product-management/product-pricing-rule.schema.js +68 -0
  83. package/dist/core/business-mgt/product-management/product-set.schema.d.ts +488 -0
  84. package/dist/core/business-mgt/product-management/product-set.schema.js +273 -0
  85. package/dist/core/business-mgt/product-management/product-variant-axis.schema.d.ts +156 -0
  86. package/dist/core/business-mgt/product-management/product-variant-axis.schema.js +98 -0
  87. package/dist/core/business-mgt/product-management/product-variant.schema.d.ts +219 -0
  88. package/dist/core/business-mgt/product-management/product-variant.schema.js +130 -0
  89. package/dist/core/business-mgt/product-order.schema.d.ts +326 -0
  90. package/dist/core/business-mgt/product-order.schema.js +153 -0
  91. package/dist/core/business-mgt/property-config.schema.d.ts +621 -0
  92. package/dist/core/business-mgt/property-config.schema.js +224 -0
  93. package/dist/core/business-mgt/property-inquiry.schema.d.ts +222 -0
  94. package/dist/core/business-mgt/property-inquiry.schema.js +112 -0
  95. package/dist/core/business-mgt/property-management/index.d.ts +6 -0
  96. package/dist/core/business-mgt/property-management/index.js +22 -0
  97. package/dist/core/business-mgt/property-management/property-config.schema.d.ts +1306 -0
  98. package/dist/core/business-mgt/property-management/property-config.schema.js +367 -0
  99. package/dist/core/business-mgt/property-management/property-inquiry.schema.d.ts +254 -0
  100. package/dist/core/business-mgt/property-management/property-inquiry.schema.js +131 -0
  101. package/dist/core/business-mgt/reservation-mgt/assignment/index.d.ts +3 -0
  102. package/dist/core/business-mgt/reservation-mgt/assignment/index.js +19 -0
  103. package/dist/core/business-mgt/reservation-mgt/assignment/reservation-rental-assignment.schema.d.ts +139 -0
  104. package/dist/core/business-mgt/reservation-mgt/assignment/reservation-rental-assignment.schema.js +90 -0
  105. package/dist/core/business-mgt/reservation-mgt/assignment/reservation-room-assignment.schema.d.ts +104 -0
  106. package/dist/core/business-mgt/reservation-mgt/assignment/reservation-room-assignment.schema.js +70 -0
  107. package/dist/core/business-mgt/reservation-mgt/assignment/reservation-table-assignment.schema.d.ts +104 -0
  108. package/dist/core/business-mgt/reservation-mgt/assignment/reservation-table-assignment.schema.js +72 -0
  109. package/dist/core/business-mgt/reservation-mgt/index.d.ts +14 -0
  110. package/dist/core/business-mgt/reservation-mgt/index.js +31 -0
  111. package/dist/core/business-mgt/reservation-mgt/reservation-floor-plan-definition.schema.d.ts +180 -0
  112. package/dist/core/business-mgt/reservation-mgt/reservation-floor-plan-definition.schema.js +75 -0
  113. package/dist/core/business-mgt/reservation-mgt/reservation-maintenance-block.schema.d.ts +91 -0
  114. package/dist/core/business-mgt/reservation-mgt/reservation-maintenance-block.schema.js +57 -0
  115. package/dist/core/business-mgt/reservation-mgt/reservation-rental.schema.d.ts +334 -0
  116. package/dist/core/business-mgt/reservation-mgt/reservation-rental.schema.js +179 -0
  117. package/dist/core/business-mgt/reservation-mgt/reservation-room.schema.d.ts +195 -0
  118. package/dist/core/business-mgt/reservation-mgt/reservation-room.schema.js +106 -0
  119. package/dist/core/business-mgt/reservation-mgt/reservation-section.schema.d.ts +402 -0
  120. package/dist/core/business-mgt/reservation-mgt/reservation-section.schema.js +198 -0
  121. package/dist/core/business-mgt/reservation-mgt/reservation-settings.schema.d.ts +229 -0
  122. package/dist/core/business-mgt/reservation-mgt/reservation-settings.schema.js +127 -0
  123. package/dist/core/business-mgt/reservation-mgt/reservation-slot-query.schema.d.ts +382 -0
  124. package/dist/core/business-mgt/reservation-mgt/reservation-slot-query.schema.js +322 -0
  125. package/dist/core/business-mgt/reservation-mgt/reservation-table-layout.schema.d.ts +123 -0
  126. package/dist/core/business-mgt/reservation-mgt/reservation-table-layout.schema.js +83 -0
  127. package/dist/core/business-mgt/reservation-mgt/reservation-table.schema.d.ts +167 -0
  128. package/dist/core/business-mgt/reservation-mgt/reservation-table.schema.js +84 -0
  129. package/dist/core/business-mgt/reservation-mgt/reservation.schema.d.ts +0 -0
  130. package/dist/core/business-mgt/reservation-mgt/reservation.schema.js +153 -0
  131. package/dist/core/business-mgt/reservation-mgt/resource/index.d.ts +4 -0
  132. package/dist/core/business-mgt/reservation-mgt/resource/index.js +20 -0
  133. package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource-category.schema.d.ts +157 -0
  134. package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource-category.schema.js +76 -0
  135. package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource-instance.schema.d.ts +137 -0
  136. package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource-instance.schema.js +94 -0
  137. package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource.schema.d.ts +713 -0
  138. package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource.schema.js +363 -0
  139. package/dist/core/business-mgt/reservation-mgt/resource/resource-versioning.schema.d.ts +151 -0
  140. package/dist/core/business-mgt/reservation-mgt/resource/resource-versioning.schema.js +147 -0
  141. package/dist/core/business-mgt/reservation-resource.schema.d.ts +154 -0
  142. package/dist/core/business-mgt/reservation-resource.schema.js +100 -0
  143. package/dist/core/business-mgt/reservation.schema.d.ts +119 -0
  144. package/dist/core/business-mgt/reservation.schema.js +89 -0
  145. package/dist/core/business-mgt/service-appointment.schema.d.ts +105 -0
  146. package/dist/core/business-mgt/service-appointment.schema.js +69 -0
  147. package/dist/core/business-mgt/service-config.schema.d.ts +453 -0
  148. package/dist/core/business-mgt/service-config.schema.js +102 -0
  149. package/dist/core/business-mgt/service-management/appointment-additional-info.schema.d.ts +110 -0
  150. package/dist/core/business-mgt/service-management/appointment-additional-info.schema.js +78 -0
  151. package/dist/core/business-mgt/service-management/appointment-field-config.schema.d.ts +304 -0
  152. package/dist/core/business-mgt/service-management/appointment-field-config.schema.js +75 -0
  153. package/dist/core/business-mgt/service-management/business-service-config.schema.d.ts +1226 -0
  154. package/dist/core/business-mgt/service-management/business-service-config.schema.js +317 -0
  155. package/dist/core/business-mgt/service-management/index.d.ts +13 -0
  156. package/dist/core/business-mgt/service-management/index.js +29 -0
  157. package/dist/core/business-mgt/service-management/service-appointment.schema.d.ts +531 -0
  158. package/dist/core/business-mgt/service-management/service-appointment.schema.js +116 -0
  159. package/dist/core/business-mgt/service-management/service-person.schema.d.ts +122 -0
  160. package/dist/core/business-mgt/service-management/service-person.schema.js +66 -0
  161. package/dist/core/business-mgt/service-management/service-pricing-rule.schema.d.ts +221 -0
  162. package/dist/core/business-mgt/service-management/service-pricing-rule.schema.js +118 -0
  163. package/dist/core/business-mgt/service-management/service-provider.schema.d.ts +90 -0
  164. package/dist/core/business-mgt/service-management/service-provider.schema.js +54 -0
  165. package/dist/core/business-mgt/service-management/service-slot-query.schema.d.ts +90 -0
  166. package/dist/core/business-mgt/service-management/service-slot-query.schema.js +113 -0
  167. package/dist/core/business-mgt/service-management/service-time-off.schema.d.ts +121 -0
  168. package/dist/core/business-mgt/service-management/service-time-off.schema.js +95 -0
  169. package/dist/core/business-mgt/service-person.schema.d.ts +43 -0
  170. package/dist/core/business-mgt/service-person.schema.js +38 -0
  171. package/dist/core/business-mgt/tax-rule.schema.d.ts +161 -0
  172. package/dist/core/business-mgt/tax-rule.schema.js +90 -0
  173. package/dist/core/conversation/conversation-config.schema.d.ts +644 -0
  174. package/dist/core/conversation/conversation-config.schema.js +351 -0
  175. package/dist/core/conversation/conversation-message.schema.d.ts +307 -0
  176. package/dist/core/conversation/conversation-message.schema.js +275 -0
  177. package/dist/core/conversation/index.d.ts +12 -0
  178. package/dist/core/conversation/index.js +28 -0
  179. package/dist/core/conversation/outbound-call.schema.d.ts +209 -0
  180. package/dist/core/conversation/outbound-call.schema.js +116 -0
  181. package/dist/core/conversation/outbound-email.schema.d.ts +338 -0
  182. package/dist/core/conversation/outbound-email.schema.js +150 -0
  183. package/dist/core/conversation/outbound-sms.schema.d.ts +163 -0
  184. package/dist/core/conversation/outbound-sms.schema.js +85 -0
  185. package/dist/core/conversation/outbound-template.schema.d.ts +375 -0
  186. package/dist/core/conversation/outbound-template.schema.js +160 -0
  187. package/dist/core/conversation/translation-config.schema.d.ts +92 -0
  188. package/dist/core/conversation/translation-config.schema.js +88 -0
  189. package/dist/core/conversation/translation-conversation.schema.d.ts +469 -0
  190. package/dist/core/conversation/translation-conversation.schema.js +175 -0
  191. package/dist/core/index.d.ts +12 -0
  192. package/dist/core/index.js +30 -0
  193. package/dist/core/service-configuration/agent-config.schema.d.ts +236 -0
  194. package/dist/core/service-configuration/agent-config.schema.js +152 -0
  195. package/dist/core/service-configuration/base-agent-setup.d.ts +147 -0
  196. package/dist/core/service-configuration/base-agent-setup.js +123 -0
  197. package/dist/core/service-configuration/call-transfer-config.schema.d.ts +60 -0
  198. package/dist/core/service-configuration/call-transfer-config.schema.js +53 -0
  199. package/dist/core/service-configuration/deployment-config.schema.d.ts +522 -0
  200. package/dist/core/service-configuration/deployment-config.schema.js +271 -0
  201. package/dist/core/service-configuration/dynamic_setup/base-agent-setup.d.ts +130 -0
  202. package/dist/core/service-configuration/dynamic_setup/base-agent-setup.js +110 -0
  203. package/dist/core/service-configuration/dynamic_setup/index.d.ts +10 -0
  204. package/dist/core/service-configuration/dynamic_setup/index.js +26 -0
  205. package/dist/core/service-configuration/dynamic_setup/phone-agent-setup.d.ts +111 -0
  206. package/dist/core/service-configuration/dynamic_setup/phone-agent-setup.js +56 -0
  207. package/dist/core/service-configuration/dynamic_setup/web-agent-setup.d.ts +113 -0
  208. package/dist/core/service-configuration/dynamic_setup/web-agent-setup.js +55 -0
  209. package/dist/core/service-configuration/index.d.ts +17 -0
  210. package/dist/core/service-configuration/index.js +33 -0
  211. package/dist/core/service-configuration/instruction-config.schema.d.ts +183 -0
  212. package/dist/core/service-configuration/instruction-config.schema.js +139 -0
  213. package/dist/core/service-configuration/interaction-channels.schema.d.ts +469 -0
  214. package/dist/core/service-configuration/interaction-channels.schema.js +390 -0
  215. package/dist/core/service-configuration/knowledge.schema.d.ts +107 -0
  216. package/dist/core/service-configuration/knowledge.schema.js +106 -0
  217. package/dist/core/service-configuration/phone-config.schema.d.ts +206 -0
  218. package/dist/core/service-configuration/phone-config.schema.js +121 -0
  219. package/dist/core/service-configuration/phone-number.schema.d.ts +236 -0
  220. package/dist/core/service-configuration/phone-number.schema.js +211 -0
  221. package/dist/core/service-configuration/provisioning-config.d.ts +429 -0
  222. package/dist/core/service-configuration/provisioning-config.js +307 -0
  223. package/dist/core/service-configuration/support-llm.d.ts +95 -0
  224. package/dist/core/service-configuration/support-llm.js +76 -0
  225. package/dist/core/service-configuration/voice-language.schema.d.ts +200 -0
  226. package/dist/core/service-configuration/voice-language.schema.js +166 -0
  227. package/dist/core/type-definitions/account-definitions.d.ts +82 -0
  228. package/dist/core/type-definitions/account-definitions.js +88 -0
  229. package/dist/core/type-definitions/business-definitions.d.ts +394 -0
  230. package/dist/core/type-definitions/business-definitions.js +447 -0
  231. package/dist/core/type-definitions/conversation.type.definition.d.ts +223 -0
  232. package/dist/core/type-definitions/conversation.type.definition.js +236 -0
  233. package/dist/core/type-definitions/display-order.d.ts +154 -0
  234. package/dist/core/type-definitions/display-order.js +154 -0
  235. package/dist/core/type-definitions/dynamic-fields/field-definition.schema.d.ts +165 -0
  236. package/dist/core/type-definitions/dynamic-fields/field-definition.schema.js +97 -0
  237. package/dist/core/type-definitions/dynamic-fields/field-types.d.ts +49 -0
  238. package/dist/core/type-definitions/dynamic-fields/field-types.js +104 -0
  239. package/dist/core/type-definitions/dynamic-fields/index.d.ts +9 -0
  240. package/dist/core/type-definitions/dynamic-fields/index.js +25 -0
  241. package/dist/core/type-definitions/index.d.ts +10 -0
  242. package/dist/core/type-definitions/index.js +26 -0
  243. package/dist/core/type-definitions/knowledge-definitions.d.ts +30 -0
  244. package/dist/core/type-definitions/knowledge-definitions.js +37 -0
  245. package/dist/core/type-definitions/service-config.definitions.d.ts +112 -0
  246. package/dist/core/type-definitions/service-config.definitions.js +135 -0
  247. package/dist/core/validators/channel-validation.d.ts +19 -0
  248. package/dist/core/validators/channel-validation.js +40 -0
  249. package/dist/core/validators/index.d.ts +5 -0
  250. package/dist/core/validators/index.js +21 -0
  251. package/dist/index.d.ts +6 -0
  252. package/dist/index.js +24 -0
  253. package/dist/request/index.d.ts +5 -0
  254. package/dist/request/index.js +21 -0
  255. package/dist/request/models/index.d.ts +6 -0
  256. package/dist/request/models/index.js +22 -0
  257. package/dist/request/models/paginated-quest.schema.d.ts +33 -0
  258. package/dist/request/models/paginated-quest.schema.js +35 -0
  259. package/dist/request/models/paginated-result.schema.d.ts +124 -0
  260. package/dist/request/models/paginated-result.schema.js +94 -0
  261. 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>;