@trii/types 2.10.761 → 2.10.762

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 (173) hide show
  1. package/dist/Automations/Events/Event.d.ts +3 -3
  2. package/dist/Contacts/CommunicationEndpoint.d.ts +8 -8
  3. package/dist/Conversations/Classifications/ConversationClassificationEvents.d.ts +2 -2
  4. package/dist/Conversations/Conversation.d.ts +8 -8
  5. package/dist/Conversations/Routing.d.ts +10 -10
  6. package/dist/Events/DomainEventTypes.d.ts +23 -23
  7. package/dist/Tickets/Api.d.ts +16 -0
  8. package/dist/src/Common/Channels/Channel.d.ts +1 -26
  9. package/dist/src/Contacts/contacts.d.ts +2 -2
  10. package/dist/src/Conversations/Conversation.d.ts +48 -241
  11. package/dist/src/Conversations/Conversation.js +34 -14
  12. package/dist/src/Conversations/DashBoard/dashboard.d.ts +2 -2
  13. package/dist/src/Conversations/DashBoard/dashboardForms.d.ts +44 -0
  14. package/dist/src/Conversations/DashBoard/dashboardForms.js +24 -0
  15. package/dist/src/Conversations/Flows/Workflows/Workflow.d.ts +123 -280
  16. package/dist/src/Conversations/Flows/Workflows/Workflow.js +35 -85
  17. package/dist/src/Conversations/Groups/Group.d.ts +8 -2
  18. package/dist/src/Conversations/Groups/Group.js +6 -0
  19. package/dist/src/Conversations/Label.d.ts +1 -1
  20. package/dist/src/Conversations/WebHook.d.ts +1 -1
  21. package/dist/src/Conversations/index.d.ts +1 -9
  22. package/dist/src/Conversations/index.js +1 -9
  23. package/dist/src/Tickets/Category.d.ts +0 -18
  24. package/dist/src/Tickets/Dashboard.d.ts +0 -77
  25. package/dist/src/Tickets/Dashboard.js +1 -13
  26. package/dist/src/Tickets/Fields.d.ts +0 -1
  27. package/dist/src/Tickets/Layouts.d.ts +1 -3
  28. package/dist/src/Tickets/Workflow.d.ts +0 -20
  29. package/dist/src/Users/UserTrii.d.ts +0 -10
  30. package/dist/src/Users/UserTrii.js +1 -8
  31. package/dist/src/index.d.ts +0 -3
  32. package/dist/src/index.js +1 -4
  33. package/package.json +1 -1
  34. package/dist/AI/MapPolygon.d.ts +0 -22
  35. package/dist/AI/MapPolygon.js +0 -2
  36. package/dist/Conversations/Flows/Nodes/NodeAIChatBot.d.ts +0 -0
  37. package/dist/Conversations/Flows/Nodes/NodeAIChatBot.js +0 -0
  38. package/dist/Conversations/Flows/Nodes/NodeApi.d.ts +0 -2
  39. package/dist/Conversations/Flows/Nodes/NodeApi.js +0 -183
  40. package/dist/Conversations/Flows/Nodes/NodeBotIA.d.ts +0 -15
  41. package/dist/Conversations/Flows/Nodes/NodeBotIA.js +0 -6
  42. package/dist/Conversations/Flows/Nodes/NodeChatBotIA.d.ts +0 -15
  43. package/dist/Conversations/Flows/Nodes/NodeChatBotIA.js +0 -6
  44. package/dist/Conversations/Flows/Nodes/NodeConditional.d.ts +0 -0
  45. package/dist/Conversations/Flows/Nodes/NodeConditional.js +0 -0
  46. package/dist/Conversations/Flows/Nodes/NodeContactSearch.d.ts +0 -0
  47. package/dist/Conversations/Flows/Nodes/NodeContactSearch.js +0 -0
  48. package/dist/Conversations/Flows/Nodes/NodeContactUpdate.d.ts +0 -0
  49. package/dist/Conversations/Flows/Nodes/NodeContactUpdate.js +0 -0
  50. package/dist/Conversations/Flows/Nodes/NodeConversationAssignTo.d.ts +0 -0
  51. package/dist/Conversations/Flows/Nodes/NodeConversationAssignTo.js +0 -0
  52. package/dist/Conversations/Flows/Nodes/NodeConversationFinalize.d.ts +0 -0
  53. package/dist/Conversations/Flows/Nodes/NodeConversationFinalize.js +0 -0
  54. package/dist/Conversations/Flows/Nodes/NodeConversationUpdate.d.ts +0 -0
  55. package/dist/Conversations/Flows/Nodes/NodeConversationUpdate.js +0 -0
  56. package/dist/Conversations/Flows/Nodes/NodeFillForm.d.ts +0 -0
  57. package/dist/Conversations/Flows/Nodes/NodeFillForm.js +0 -0
  58. package/dist/Conversations/Flows/Nodes/NodeFillTicket.d.ts +0 -1
  59. package/dist/Conversations/Flows/Nodes/NodeFillTicket.js +0 -9
  60. package/dist/Conversations/Flows/Nodes/NodeGoogleCalendar.d.ts +0 -20
  61. package/dist/Conversations/Flows/Nodes/NodeGoogleCalendar.js +0 -2
  62. package/dist/Conversations/Flows/Nodes/NodeGoogleMaps copy.d.ts +0 -12
  63. package/dist/Conversations/Flows/Nodes/NodeGoogleMaps copy.js +0 -6
  64. package/dist/Conversations/Flows/Nodes/NodeGoogleMaps.d.ts +0 -15
  65. package/dist/Conversations/Flows/Nodes/NodeGoogleMaps.js +0 -2
  66. package/dist/Conversations/Flows/Nodes/NodeMsgReply.d.ts +0 -0
  67. package/dist/Conversations/Flows/Nodes/NodeMsgReply.js +0 -0
  68. package/dist/Conversations/Flows/Nodes/NodeMsgSend.d.ts +0 -0
  69. package/dist/Conversations/Flows/Nodes/NodeMsgSend.js +0 -0
  70. package/dist/Conversations/Flows/Nodes/NodeMsgText.d.ts +0 -1
  71. package/dist/Conversations/Flows/Nodes/NodeMsgText.js +0 -27
  72. package/dist/Conversations/Flows/Nodes/NodeMsgWaitResponse.d.ts +0 -0
  73. package/dist/Conversations/Flows/Nodes/NodeMsgWaitResponse.js +0 -0
  74. package/dist/Conversations/Flows/Nodes/NodeRedirect.d.ts +0 -0
  75. package/dist/Conversations/Flows/Nodes/NodeRedirect.js +0 -0
  76. package/dist/Conversations/Flows/Nodes/NodeSendEmail.d.ts +0 -0
  77. package/dist/Conversations/Flows/Nodes/NodeSendEmail.js +0 -0
  78. package/dist/Conversations/Flows/Nodes/NodeSqlQuery.d.ts +0 -0
  79. package/dist/Conversations/Flows/Nodes/NodeSqlQuery.js +0 -0
  80. package/dist/Conversations/Flows/Nodes/NodeStart.d.ts +0 -0
  81. package/dist/Conversations/Flows/Nodes/NodeStart.js +0 -0
  82. package/dist/Conversations/Flows/Nodes/NodeTimeScheduleControl.d.ts +0 -0
  83. package/dist/Conversations/Flows/Nodes/NodeTimeScheduleControl.js +0 -0
  84. package/dist/Conversations/Flows/Nodes/NodeTimeTimer.d.ts +0 -0
  85. package/dist/Conversations/Flows/Nodes/NodeTimeTimer.js +0 -0
  86. package/dist/Conversations/Flows/Nodes/NodeTimeWaitUntil.d.ts +0 -0
  87. package/dist/Conversations/Flows/Nodes/NodeTimeWaitUntil.js +0 -0
  88. package/dist/Conversations/Flows/Nodes/NodeToolCalculator.d.ts +0 -2
  89. package/dist/Conversations/Flows/Nodes/NodeToolCalculator.js +0 -37
  90. package/dist/Conversations/Flows/Nodes/NodeToolContacts.d.ts +0 -2
  91. package/dist/Conversations/Flows/Nodes/NodeToolContacts.js +0 -59
  92. package/dist/Conversations/Flows/Nodes/NodeToolFunction.d.ts +0 -2
  93. package/dist/Conversations/Flows/Nodes/NodeToolFunction.js +0 -45
  94. package/dist/Conversations/Flows/Nodes/NodeToolGoogleCalendar.d.ts +0 -2
  95. package/dist/Conversations/Flows/Nodes/NodeToolGoogleCalendar.js +0 -87
  96. package/dist/Conversations/Flows/Nodes/NodeToolGoogleMaps.d.ts +0 -1
  97. package/dist/Conversations/Flows/Nodes/NodeToolGoogleMaps.js +0 -2
  98. package/dist/Conversations/Flows/Nodes/NodeToolKnowledge.d.ts +0 -2
  99. package/dist/Conversations/Flows/Nodes/NodeToolKnowledge.js +0 -52
  100. package/dist/Conversations/Flows/Nodes/NodeToolMapsCheckPolygon.d.ts +0 -2
  101. package/dist/Conversations/Flows/Nodes/NodeToolMapsCheckPolygon.js +0 -59
  102. package/dist/Conversations/Flows/Nodes/NodeToolMcpClient.d.ts +0 -2
  103. package/dist/Conversations/Flows/Nodes/NodeToolMcpClient.js +0 -45
  104. package/dist/Conversations/Flows/Nodes/NodeToolShoppingCart.d.ts +0 -2
  105. package/dist/Conversations/Flows/Nodes/NodeToolShoppingCart.js +0 -81
  106. package/dist/Conversations/Flows/Nodes/index.d.ts +0 -24
  107. package/dist/Conversations/Flows/Nodes/index.js +0 -40
  108. package/dist/Presence/ChannelRoutingState.d.ts +0 -17
  109. package/dist/Presence/ChannelRoutingState.js +0 -9
  110. package/dist/Tickets/AccessLevel.d.ts +0 -5
  111. package/dist/Tickets/AccessLevel.js +0 -9
  112. package/dist/src/Automations/Capabilities/Capability.d.ts +0 -48
  113. package/dist/src/Automations/Capabilities/Capability.js +0 -9
  114. package/dist/src/Automations/Capabilities/index.d.ts +0 -1
  115. package/dist/src/Automations/Capabilities/index.js +0 -17
  116. package/dist/src/Automations/Common.d.ts +0 -47
  117. package/dist/src/Automations/Common.js +0 -18
  118. package/dist/src/Automations/Events/Event.d.ts +0 -41
  119. package/dist/src/Automations/Events/Event.js +0 -2
  120. package/dist/src/Automations/Events/index.d.ts +0 -1
  121. package/dist/src/Automations/Events/index.js +0 -17
  122. package/dist/src/Automations/Executions/Execution.d.ts +0 -114
  123. package/dist/src/Automations/Executions/Execution.js +0 -23
  124. package/dist/src/Automations/Executions/index.d.ts +0 -1
  125. package/dist/src/Automations/Executions/index.js +0 -17
  126. package/dist/src/Automations/Flows/Canvas.d.ts +0 -86
  127. package/dist/src/Automations/Flows/Canvas.js +0 -34
  128. package/dist/src/Automations/Flows/Flow.d.ts +0 -102
  129. package/dist/src/Automations/Flows/Flow.js +0 -34
  130. package/dist/src/Automations/Flows/Requests.d.ts +0 -71
  131. package/dist/src/Automations/Flows/Requests.js +0 -2
  132. package/dist/src/Automations/Flows/Validation.d.ts +0 -28
  133. package/dist/src/Automations/Flows/Validation.js +0 -9
  134. package/dist/src/Automations/Flows/index.d.ts +0 -4
  135. package/dist/src/Automations/Flows/index.js +0 -20
  136. package/dist/src/Automations/Nodes/Node.d.ts +0 -75
  137. package/dist/src/Automations/Nodes/Node.js +0 -18
  138. package/dist/src/Automations/Nodes/index.d.ts +0 -1
  139. package/dist/src/Automations/Nodes/index.js +0 -17
  140. package/dist/src/Automations/index.d.ts +0 -6
  141. package/dist/src/Automations/index.js +0 -22
  142. package/dist/src/Chats/Chat.d.ts +0 -61
  143. package/dist/src/Chats/Chat.js +0 -28
  144. package/dist/src/Conversations/Assignment.d.ts +0 -81
  145. package/dist/src/Conversations/Assignment.js +0 -4
  146. package/dist/src/Conversations/Outbox.d.ts +0 -24
  147. package/dist/src/Conversations/Outbox.js +0 -4
  148. package/dist/src/Conversations/Queue.d.ts +0 -107
  149. package/dist/src/Conversations/Queue.js +0 -4
  150. package/dist/src/Conversations/Routing.d.ts +0 -164
  151. package/dist/src/Conversations/Routing.js +0 -2
  152. package/dist/src/Conversations/Sla.d.ts +0 -227
  153. package/dist/src/Conversations/Sla.js +0 -6
  154. package/dist/src/Conversations/Transfer.d.ts +0 -73
  155. package/dist/src/Conversations/Transfer.js +0 -2
  156. package/dist/src/Forms/API.d.ts +0 -53
  157. package/dist/src/Forms/API.js +0 -2
  158. package/dist/src/Forms/SubmittedForm.d.ts +0 -56
  159. package/dist/src/Forms/SubmittedForm.js +0 -9
  160. package/dist/src/Forms/index.d.ts +0 -2
  161. package/dist/src/Forms/index.js +0 -18
  162. package/dist/src/Presence/AgentPause.d.ts +0 -24
  163. package/dist/src/Presence/AgentPause.js +0 -19
  164. package/dist/src/Presence/QueueParticipation.d.ts +0 -17
  165. package/dist/src/Presence/QueueParticipation.js +0 -2
  166. package/dist/src/Presence/QueueRoutingState.d.ts +0 -27
  167. package/dist/src/Presence/QueueRoutingState.js +0 -9
  168. package/dist/src/Presence/index.d.ts +0 -3
  169. package/dist/src/Presence/index.js +0 -19
  170. /package/dist/{src/Conversations → Conversations}/InboxMongo.d.ts +0 -0
  171. /package/dist/{src/Conversations → Conversations}/InboxMongo.js +0 -0
  172. /package/dist/{src/Conversations → Conversations}/InboxProjection.d.ts +0 -0
  173. /package/dist/{src/Conversations → Conversations}/InboxProjection.js +0 -0
@@ -1,8 +1,8 @@
1
1
  import { AutomationCustomer, AutomationJsonObject, AutomationJsonSchema, AutomationResourceReference, AutomationSourceApplication } from '../Common';
2
2
  export declare const AUTOMATION_MESSAGE_SCHEMAS: {
3
- readonly DOMAIN_EVENT_V1: "automations.domain-event/v1";
4
- readonly START_REQUEST_V1: "automations.start-request/v1";
5
- readonly EXECUTION_WORK_ITEM_V1: "automations.execution.work-item/v1";
3
+ readonly DOMAIN_EVENT_V1: 'automations.domain-event/v1';
4
+ readonly START_REQUEST_V1: 'automations.start-request/v1';
5
+ readonly EXECUTION_WORK_ITEM_V1: 'automations.execution.work-item/v1';
6
6
  };
7
7
  export interface AutomationEventDefinition {
8
8
  eventType: string;
@@ -9,22 +9,22 @@ export declare enum CommunicationEndpointKind {
9
9
  */
10
10
  export declare const providerIdentityNamespaces: {
11
11
  readonly meta: {
12
- readonly instagramUser: "instagram_user";
13
- readonly messengerUser: "messenger_user";
14
- readonly whatsappUser: "whatsapp_user";
12
+ readonly instagramUser: 'instagram_user';
13
+ readonly messengerUser: 'messenger_user';
14
+ readonly whatsappUser: 'whatsapp_user';
15
15
  };
16
16
  readonly telegram: {
17
- readonly user: "user";
18
- readonly chat: "chat";
17
+ readonly user: 'user';
18
+ readonly chat: 'chat';
19
19
  };
20
20
  readonly trii: {
21
- readonly webchatVisitor: "webchat_visitor";
21
+ readonly webchatVisitor: 'webchat_visitor';
22
22
  };
23
23
  readonly mercadolibre: {
24
- readonly buyer: "buyer";
24
+ readonly buyer: 'buyer';
25
25
  };
26
26
  readonly google: {
27
- readonly businessMessagesUser: "business_messages_user";
27
+ readonly businessMessagesUser: 'business_messages_user';
28
28
  };
29
29
  };
30
30
  export type KnownIdentityProvider = keyof typeof providerIdentityNamespaces;
@@ -1,7 +1,7 @@
1
1
  import type { ConversationClassificationEvaluationStatus } from './ConversationClassificationEvaluation';
2
2
  export declare const CONVERSATION_CLASSIFICATION_EVENT_TYPES: {
3
- readonly CONVERSATION_RESOLVED_FOR_EVALUATION: "conversation.resolved-for-classification";
4
- readonly EVALUATION_FINISHED: "conversation.classification-evaluation-finished";
3
+ readonly CONVERSATION_RESOLVED_FOR_EVALUATION: 'conversation.resolved-for-classification';
4
+ readonly EVALUATION_FINISHED: 'conversation.classification-evaluation-finished';
5
5
  };
6
6
  export declare const CONVERSATION_CLASSIFICATION_EVENT_SCHEMA_VERSION: 1;
7
7
  /**
@@ -258,35 +258,35 @@ export type ConversationAssignmentSnapshot = {
258
258
  offerExpiresAt?: never;
259
259
  assignedAt?: never;
260
260
  acceptedAt?: never;
261
- } | QueuedConversationAssignmentBase & {
261
+ } | (QueuedConversationAssignmentBase & {
262
262
  status: 'queued' | 'routing';
263
263
  owner: NoConversationOwner;
264
264
  offeredAt?: never;
265
265
  offerExpiresAt?: never;
266
266
  assignedAt?: never;
267
267
  acceptedAt?: never;
268
- } | QueuedConversationAssignmentBase & {
268
+ }) | (QueuedConversationAssignmentBase & {
269
269
  status: 'offered';
270
270
  owner: UserConversationOwner;
271
271
  offeredAt: Date;
272
272
  offerExpiresAt?: Date;
273
273
  assignedAt?: never;
274
274
  acceptedAt?: never;
275
- } | QueuedConversationAssignmentBase & {
275
+ }) | (QueuedConversationAssignmentBase & {
276
276
  status: 'assigned';
277
277
  owner: UserConversationOwner;
278
278
  offeredAt?: Date;
279
279
  offerExpiresAt?: Date;
280
280
  assignedAt: Date;
281
281
  acceptedAt?: never;
282
- } | QueuedConversationAssignmentBase & {
282
+ }) | (QueuedConversationAssignmentBase & {
283
283
  status: 'accepted';
284
284
  owner: UserConversationOwner;
285
285
  offeredAt?: Date;
286
286
  offerExpiresAt?: Date;
287
287
  assignedAt: Date;
288
288
  acceptedAt: Date;
289
- };
289
+ });
290
290
  export type ActorType = 'user' | 'contact' | 'bot' | 'flow' | 'system';
291
291
  export type ParticipantRole = 'owner' | 'collaborator' | 'follower' | 'mentioned' | 'supervisor' | 'bot' | 'flow' | 'historical';
292
292
  export type ConversationEventType = 'conversation_created' | 'queued' | 'assigned' | 'accepted' | 'transferred' | 'consult_requested' | 'collaborator_added' | 'participant_added' | 'participant_removed' | 'participation_abandoned' | 'follow_started' | 'follow_stopped' | 'message_sent' | 'message_received' | 'internal_note_added' | 'bot_started' | 'bot_finished' | 'flow_started' | 'flow_finished' | 'status_changed' | 'resolved' | 'reopened' | 'sla_warning' | 'sla_breached' | 'sla_started' | 'sla_paused' | 'sla_resumed' | 'sla_met' | 'sla_overridden';
@@ -320,15 +320,15 @@ interface ConversationSubscriptionBase {
320
320
  * A subscription is persistent product intent. Assignment or participation
321
321
  * visibility must not create it unless an explicit auto-follow policy applies.
322
322
  */
323
- export type ConversationSubscription = ConversationSubscriptionBase & {
323
+ export type ConversationSubscription = (ConversationSubscriptionBase & {
324
324
  status: 'following';
325
325
  followedAt: Date;
326
326
  unfollowedAt?: never;
327
- } | ConversationSubscriptionBase & {
327
+ }) | (ConversationSubscriptionBase & {
328
328
  status: 'unfollowed';
329
329
  followedAt: Date;
330
330
  unfollowedAt: Date;
331
- };
331
+ });
332
332
  export interface PutConversationSubscriptionRequest {
333
333
  expectedVersion?: number;
334
334
  notifications: ConversationSubscriptionNotifications;
@@ -18,27 +18,27 @@ export interface PartyOwnerAssigneeResolver {
18
18
  mode: 'prefer' | 'required';
19
19
  }
20
20
  export type QueueOwnerAssigneeResolver = PartyOwnerAssigneeResolver;
21
- export type QueueRoutingPolicy = QueueRoutingPolicyBase & {
21
+ export type QueueRoutingPolicy = (QueueRoutingPolicyBase & {
22
22
  distributionMode: 'shared';
23
23
  strategy?: never;
24
24
  ownerResolver?: never;
25
- } | QueueRoutingPolicyBase & {
25
+ }) | (QueueRoutingPolicyBase & {
26
26
  distributionMode: 'manual_pull';
27
27
  strategy?: never;
28
28
  ownerResolver?: never;
29
- } | QueueRoutingPolicyBase & {
29
+ }) | (QueueRoutingPolicyBase & {
30
30
  distributionMode: 'exclusive';
31
31
  strategy: QueueRoutingStrategy;
32
- ownerResolver?: undefined | PartyOwnerAssigneeResolver & {
32
+ ownerResolver?: undefined | (PartyOwnerAssigneeResolver & {
33
33
  mode: 'prefer';
34
- };
35
- } | QueueRoutingPolicyBase & {
34
+ });
35
+ }) | (QueueRoutingPolicyBase & {
36
36
  distributionMode: 'exclusive';
37
37
  strategy?: never;
38
38
  ownerResolver: PartyOwnerAssigneeResolver & {
39
39
  mode: 'required';
40
40
  };
41
- };
41
+ });
42
42
  export type QueueRoutingConfig = QueueRoutingPolicy & {
43
43
  queueId: string;
44
44
  spaceId: string;
@@ -125,15 +125,15 @@ export type PartyOwnerAssigneeEvaluation = {
125
125
  }>;
126
126
  outcome: 'selected';
127
127
  nextStep?: never;
128
- } | FailedPartyOwnerEvaluation & {
128
+ } | (FailedPartyOwnerEvaluation & {
129
129
  type: 'party_owner';
130
130
  mode: 'prefer';
131
131
  nextStep: 'strategy';
132
- } | FailedPartyOwnerEvaluation & {
132
+ }) | (FailedPartyOwnerEvaluation & {
133
133
  type: 'party_owner';
134
134
  mode: 'required';
135
135
  nextStep: 'fallback';
136
- };
136
+ });
137
137
  export interface RoutingDecision {
138
138
  decisionId: string;
139
139
  spaceId: string;
@@ -9,39 +9,39 @@
9
9
  */
10
10
  export declare const DOMAIN_EVENT_TYPES: {
11
11
  readonly AUTOMATIONS: {
12
- readonly MANUAL: "automations.manual";
13
- readonly SCHEDULE_TICK: "automations.schedule.tick";
12
+ readonly MANUAL: 'automations.manual';
13
+ readonly SCHEDULE_TICK: 'automations.schedule.tick';
14
14
  };
15
15
  readonly CONTACTS: {
16
- readonly CONTACT_CREATED: "contacts.contact.created";
17
- readonly BUSINESS_CREATED: "contacts.business.created";
18
- readonly PROPERTY_CHANGED: "contacts.property.changed";
19
- readonly TAG_ADDED: "contacts.tag.added";
20
- readonly TAG_REMOVED: "contacts.tag.removed";
21
- readonly PROPERTY_DATE_REACHED: "contacts.property.date_reached";
16
+ readonly CONTACT_CREATED: 'contacts.contact.created';
17
+ readonly BUSINESS_CREATED: 'contacts.business.created';
18
+ readonly PROPERTY_CHANGED: 'contacts.property.changed';
19
+ readonly TAG_ADDED: 'contacts.tag.added';
20
+ readonly TAG_REMOVED: 'contacts.tag.removed';
21
+ readonly PROPERTY_DATE_REACHED: 'contacts.property.date_reached';
22
22
  };
23
23
  readonly CONVERSATIONS: {
24
- readonly CONVERSATION_CREATED: "conversations.conversation.created";
25
- readonly CONVERSATION_CLOSED: "conversations.conversation.closed";
26
- readonly MESSAGE_RECEIVED: "conversations.message.received";
27
- readonly AGENT_INTERVENED: "conversations.agent.intervened";
24
+ readonly CONVERSATION_CREATED: 'conversations.conversation.created';
25
+ readonly CONVERSATION_CLOSED: 'conversations.conversation.closed';
26
+ readonly MESSAGE_RECEIVED: 'conversations.message.received';
27
+ readonly AGENT_INTERVENED: 'conversations.agent.intervened';
28
28
  };
29
29
  readonly TICKETS: {
30
- readonly CREATED: "tickets.created";
31
- readonly STATUS_CHANGED: "tickets.status_changed";
32
- readonly PRIORITY_CHANGED: "tickets.priority_changed";
33
- readonly ASSIGNED: "tickets.assigned";
34
- readonly CUSTOMER_REPLIED: "tickets.customer_replied";
35
- readonly SLA_WARNING: "tickets.sla_warning";
36
- readonly SLA_BREACHED: "tickets.sla_breached";
37
- readonly CLOSED: "tickets.closed";
38
- readonly REOPENED: "tickets.reopened";
30
+ readonly CREATED: 'tickets.created';
31
+ readonly STATUS_CHANGED: 'tickets.status_changed';
32
+ readonly PRIORITY_CHANGED: 'tickets.priority_changed';
33
+ readonly ASSIGNED: 'tickets.assigned';
34
+ readonly CUSTOMER_REPLIED: 'tickets.customer_replied';
35
+ readonly SLA_WARNING: 'tickets.sla_warning';
36
+ readonly SLA_BREACHED: 'tickets.sla_breached';
37
+ readonly CLOSED: 'tickets.closed';
38
+ readonly REOPENED: 'tickets.reopened';
39
39
  };
40
40
  readonly FORMS: {
41
- readonly SUBMITTED: "forms.submitted";
41
+ readonly SUBMITTED: 'forms.submitted';
42
42
  };
43
43
  readonly INTEGRATIONS: {
44
- readonly WEBHOOK_RECEIVED: "integrations.webhook.received";
44
+ readonly WEBHOOK_RECEIVED: 'integrations.webhook.received';
45
45
  };
46
46
  };
47
47
  type Values<T> = T extends unknown ? T[keyof T] : never;
@@ -61,3 +61,19 @@ export interface IAssignTicketDto {
61
61
  assignedGroupId?: string;
62
62
  }
63
63
  export type TicketPage = ITicketCursorResponse<ITicket>;
64
+ /** One ticket waiting in a work queue, as listed by GET /routing/queues/{id}/work. */
65
+ export interface ITicketQueueWorkItem {
66
+ ticket: ITicket;
67
+ enqueuedAt: Date;
68
+ /** 1-based position in the queue's configured order across pages. */
69
+ position: number;
70
+ }
71
+ /** Body of GET /routing/queues/{id}/work. Only members of the queue's groups may read it. */
72
+ export type ITicketQueueWorkPage = ITicketCursorResponse<ITicketQueueWorkItem>;
73
+ /**
74
+ * Body of POST /tickets/{id}/routing/pull: an agent who belongs to one of the
75
+ * queue's groups takes a QUEUED ticket. Pulling is an implicit accept.
76
+ */
77
+ export interface IPullTicketDto {
78
+ expectedVersion: number;
79
+ }
@@ -37,16 +37,6 @@ interface IChannelInfo {
37
37
  */
38
38
  status?: string;
39
39
  }
40
- /**
41
- * Fallback routing used only when no published Flow entry point matches the
42
- * channel, or when the selected Flow cannot produce a valid disposition.
43
- *
44
- * Flow-to-channel bindings remain authoritative in FlowEntryPoint.
45
- */
46
- interface ChannelConversationRoutingConfig {
47
- /** Stable id of a ConversationQueue in the same space as the channel. */
48
- defaultQueueId: string;
49
- }
50
40
  interface IChannel {
51
41
  id?: string | null;
52
42
  spaceId?: string | null;
@@ -54,28 +44,13 @@ interface IChannel {
54
44
  description?: string | null;
55
45
  type?: ChannelType | null;
56
46
  permissions?: Permission[] | null;
57
- /**
58
- * @deprecated Legacy channel assignment configuration. Use QueueRoutingConfig.
59
- */
60
47
  assignTo?: ConversationAssigned;
61
- /**
62
- * @deprecated Legacy channel assignment configuration. Use QueueRoutingConfig.
63
- */
64
48
  assignMethod: AssignMethod;
65
- /**
66
- * @deprecated Ownership is produced by the routing decision.
67
- */
68
49
  assignToOwner?: boolean;
69
50
  /**
70
51
  * habilita la creacion de conversaciones para este canal, si esta en false, los mensajes entrantes no generaran conversaciones
71
52
  */
72
53
  conversationsEnabled: boolean | false;
73
- /**
74
- * Default Queue for newly-created conversations that are not handled by a
75
- * Flow. Store only the Queue id; Queue configuration remains authoritative
76
- * in the Conversations domain.
77
- */
78
- conversationRouting?: ChannelConversationRoutingConfig | null;
79
54
  /**
80
55
  * Gets or sets a value indicating whether webhook notifications are enabled.
81
56
  * Redirects incoming messages to the specified webhook URL when set to true.
@@ -121,4 +96,4 @@ declare enum channelStatus {
121
96
  SUSPENDED = 7,
122
97
  CONFIGURATION_PENDING = 9
123
98
  }
124
- export { IChannel, IChannelInfo, ChannelConversationRoutingConfig, channelStatus, MessagingAvailability };
99
+ export { IChannel, IChannelInfo, channelStatus, MessagingAvailability };
@@ -14,7 +14,7 @@ export interface IBusiness {
14
14
  counters?: ICounters;
15
15
  name: string;
16
16
  imageUrl: string;
17
- ownerUserId?: string;
17
+ owner?: string;
18
18
  membersId: string[];
19
19
  members: IContactInfo[];
20
20
  phones: IContactAddress[];
@@ -54,7 +54,7 @@ export interface IContact {
54
54
  lastName: string;
55
55
  imageUrl: string;
56
56
  birthDate?: Date | null;
57
- ownerUserId?: string;
57
+ owner?: string;
58
58
  businessId?: string;
59
59
  businessName?: string;
60
60
  phones: IContactAddress[];
@@ -4,16 +4,16 @@ import { GroupInfo } from "./Groups/Group";
4
4
  import { Channels } from "../Common/index";
5
5
  import { IContactAddress, IContactInfo } from "../Contacts/contacts";
6
6
  import { IEnding } from "./Ending";
7
- import { ChatType } from "../Chats/Chat";
8
7
  export interface IConversation {
9
8
  id: string;
9
+ /**only for Front-End */
10
+ idLocal?: number;
10
11
  spaceId: string;
11
- version: number;
12
- /** @deprecated Use assignment.owner. */
13
12
  type: ChatType;
14
- /**only for Front-End */
13
+ ownerId: string;
15
14
  chatName: string;
16
15
  chatImage: string;
16
+ chatMembers: IChatMemeber[];
17
17
  chatMembersCount: number;
18
18
  whatsappGroupInfo?: IWhatsAppGroupInfo;
19
19
  contactInfo?: IContactInfo;
@@ -21,55 +21,48 @@ export interface IConversation {
21
21
  remoteAddress: string;
22
22
  remoteAddressId: string;
23
23
  channelInfo: Channels.IChannelInfo;
24
- status: ConversationStatus;
25
- priority: 'low' | 'normal' | 'high' | 'urgent';
26
- assignment: ConversationAssignmentSnapshot;
27
- /** @deprecated Use owner and assignment.*/
28
- assignedTo?: ConversationAssigned;
29
- sla: {
30
- status: 'none' | 'running' | 'warning' | 'breached' | 'met';
31
- deadlineAt?: Date;
32
- policyId?: string;
33
- version: number;
34
- };
35
24
  lastMessage: string;
36
25
  lastMessageId?: string;
37
26
  newMessagesCount: number;
38
27
  newMessagesUnread: boolean;
39
- lastActivityAt: Date;
40
- lastCustomerActivityAt?: Date;
41
- lastAgentActivityAt?: Date;
42
28
  labels: ILabel[];
43
29
  pinned: boolean;
44
- /** @deprecated A transfer is represented by an event and the resulting current state. */
45
30
  transferBy?: string;
46
- /** @deprecated A transfer is represented by an event and the resulting current state. */
47
31
  transferTo?: ConversationAssigned;
48
32
  expired: boolean;
49
- /** @deprecated Expiration does not own a separate assignment snapshot.*/
50
33
  expiredAssignedTo: ConversationAssigned;
34
+ status: ConversationSatus;
35
+ assignedTo?: ConversationAssigned;
51
36
  participants: UserInfo[];
52
37
  archived: boolean;
53
- spam: boolean;
54
38
  externalMessagingWindowEndAt?: Date;
55
39
  workflowId?: string;
56
40
  botStatus: ConversationBotStatus;
57
41
  botVars: ConversationBotVar[];
58
42
  metadata: IConversationMetadata;
59
43
  /** Domain objects discussed or served by this conversation. */
44
+ contextReferences?: IConversationContextReference[];
45
+ finalizedAt: Date;
46
+ finalizedBy?: string;
60
47
  finalizedOnWebChat: Date;
61
48
  ending?: IEnding;
62
49
  qualityEvaluation?: IInteractionQualityEvaluation;
63
50
  reOpenAt?: Date;
64
- reOpenByUserId?: string;
65
- reOpenPolicyId?: string;
66
51
  createdAt: Date;
67
52
  updatedAt: Date;
68
- resolvedAt?: Date;
69
- resolvedByUserId?: string;
70
- resolutionReasonId?: string;
71
- finalizedAt: Date;
72
- finalizedBy?: string;
53
+ }
54
+ export declare enum ConversationContextType {
55
+ TICKET = "TICKET",
56
+ CONVERSATION = "CONVERSATION",
57
+ LEAD = "LEAD",
58
+ DEBT = "DEBT"
59
+ }
60
+ export interface IConversationContextReference {
61
+ entityType: ConversationContextType;
62
+ entityId: string;
63
+ role?: string;
64
+ linkedAt: Date;
65
+ linkedBy?: string;
73
66
  }
74
67
  export interface IWhatsAppGroupInfo {
75
68
  whatsappGroupId: string;
@@ -129,14 +122,29 @@ export declare enum ConversationBotStatus {
129
122
  FINALIZED = 4,
130
123
  CANCELED = 5
131
124
  }
132
- export interface ConversationBotVar {
125
+ export declare class ConversationBotVar {
133
126
  title: string;
134
127
  value: string;
135
128
  }
136
- /**
137
- * @deprecated Legacy channel assignment configuration. Use QueueRoutingConfig.
138
- */
139
- export interface ConversationAssigned {
129
+ export declare enum ChatType {
130
+ /**Conversation with a external channel/contact */
131
+ EXTERNAL = 0,
132
+ /**messages between two users */
133
+ DIRECT = 1,
134
+ /**messages between multiple users */
135
+ GROUP = 2,
136
+ /**Messages to discuss a conversation */
137
+ DISCUSS_CONVERSATION = 11,
138
+ /**Messages to discuss a ticket */
139
+ DISCUSS_TICKET = 12
140
+ }
141
+ export interface IChatMemeber {
142
+ joinTimeStamp: Date;
143
+ isAdmin: boolean;
144
+ userId: string;
145
+ user: UserInfo;
146
+ }
147
+ export declare class ConversationAssigned {
140
148
  groupInfo?: GroupInfo;
141
149
  userInfo?: UserInfo;
142
150
  userIds?: string[];
@@ -145,216 +153,15 @@ export declare enum ConversationDirection {
145
153
  INBOUND = 1,
146
154
  OUTBOUND = 2
147
155
  }
148
- /**
149
- * @deprecated Use QueueDistributionMode and QueueRoutingStrategy.
150
- */
156
+ export declare enum ConversationSatus {
157
+ NEW = 1,
158
+ ACTIVE = 2,
159
+ FINALIZED = 3,
160
+ ARCHIVED = 4
161
+ }
151
162
  export declare enum AssignMethod {
152
163
  ALL = 0,
153
164
  ROUND_ROBIN = 1,
154
165
  RANDOM = 2,
155
166
  LEAST_BUSY = 3
156
167
  }
157
- export declare enum ConversationStatus {
158
- NEW = 1,
159
- OPEN = 2,
160
- ACTIVE = 2,// Alias for OPEN
161
- RESOLVED = 3,
162
- FINALIZED = 3,// Alias for RESOLVED
163
- WAITING = 10
164
- }
165
- export type InboxViewId = 'pending' | 'following' | 'sla_warning' | 'sla_breached' | 'team_sla_breached' | 'resolved';
166
- export type OwnerType = 'user' | 'bot' | 'flow' | 'none';
167
- export interface NoConversationOwner {
168
- type: 'none';
169
- id?: never;
170
- displayName?: never;
171
- avatarUrl?: never;
172
- }
173
- export interface UserConversationOwner {
174
- type: 'user';
175
- id: ID;
176
- displayName?: string;
177
- avatarUrl?: string;
178
- }
179
- export interface BotConversationOwner {
180
- type: 'bot';
181
- id: ID;
182
- displayName?: string;
183
- avatarUrl?: string;
184
- }
185
- export interface FlowConversationOwner {
186
- type: 'flow';
187
- id: ID;
188
- displayName?: string;
189
- avatarUrl?: string;
190
- }
191
- export type ConversationOwner = NoConversationOwner | UserConversationOwner | BotConversationOwner | FlowConversationOwner;
192
- export type ConversationAssignmentStatus = 'unrouted' | 'queued' | 'routing' | 'offered' | 'assigned' | 'accepted';
193
- export type ConversationAssignmentSource = 'routing' | 'manual' | 'transfer' | 'requeue';
194
- interface QueuedConversationAssignmentBase {
195
- assignmentId: ID;
196
- queueId: ID;
197
- source: ConversationAssignmentSource;
198
- queuedAt: Date;
199
- lastRoutingDecisionId?: ID;
200
- }
201
- export type ConversationAssignmentSnapshot = {
202
- status: 'unrouted';
203
- assignmentId?: never;
204
- queueId?: never;
205
- owner: NoConversationOwner | BotConversationOwner | FlowConversationOwner;
206
- source?: never;
207
- queuedAt?: never;
208
- lastRoutingDecisionId?: never;
209
- offeredAt?: never;
210
- offerExpiresAt?: never;
211
- assignedAt?: never;
212
- acceptedAt?: never;
213
- } | (QueuedConversationAssignmentBase & {
214
- status: 'queued' | 'routing';
215
- owner: NoConversationOwner;
216
- offeredAt?: never;
217
- offerExpiresAt?: never;
218
- assignedAt?: never;
219
- acceptedAt?: never;
220
- }) | (QueuedConversationAssignmentBase & {
221
- status: 'offered';
222
- owner: UserConversationOwner;
223
- offeredAt: Date;
224
- offerExpiresAt?: Date;
225
- assignedAt?: never;
226
- acceptedAt?: never;
227
- }) | (QueuedConversationAssignmentBase & {
228
- status: 'assigned';
229
- owner: UserConversationOwner;
230
- offeredAt?: Date;
231
- offerExpiresAt?: Date;
232
- assignedAt: Date;
233
- acceptedAt?: never;
234
- }) | (QueuedConversationAssignmentBase & {
235
- status: 'accepted';
236
- owner: UserConversationOwner;
237
- offeredAt?: Date;
238
- offerExpiresAt?: Date;
239
- assignedAt: Date;
240
- acceptedAt: Date;
241
- });
242
- export type ActorType = 'user' | 'contact' | 'bot' | 'flow' | 'system';
243
- export type ParticipantRole = 'owner' | 'collaborator' | 'follower' | 'mentioned' | 'supervisor' | 'bot' | 'flow' | 'historical';
244
- export type ConversationEventType = 'conversation_created' | 'queued' | 'assigned' | 'accepted' | 'transferred' | 'consult_requested' | 'collaborator_added' | 'participant_added' | 'participant_removed' | 'participation_abandoned' | 'follow_started' | 'follow_stopped' | 'message_sent' | 'message_received' | 'internal_note_added' | 'bot_started' | 'bot_finished' | 'flow_started' | 'flow_finished' | 'status_changed' | 'resolved' | 'reopened' | 'sla_warning' | 'sla_breached' | 'sla_started' | 'sla_paused' | 'sla_resumed' | 'sla_met' | 'sla_overridden';
245
- export type ID = string;
246
- export type ConversationSubscriptionSource = 'manual' | 'assigned' | 'participated' | 'mentioned' | 'supervisor' | 'rule';
247
- export type ConversationSubscriptionNotificationEvent = 'customer_message' | 'internal_mention' | 'assignment_change' | 'acceptance' | 'resolution' | 'reopen';
248
- export type ConversationSubscriptionNotifications = {
249
- mode: 'all' | 'muted';
250
- events?: never;
251
- } | {
252
- mode: 'custom';
253
- events: [
254
- ConversationSubscriptionNotificationEvent,
255
- ...ConversationSubscriptionNotificationEvent[]
256
- ];
257
- };
258
- interface ConversationSubscriptionBase {
259
- id: ID;
260
- spaceId: string;
261
- conversationId: ID;
262
- userId: ID;
263
- source: ConversationSubscriptionSource;
264
- notifications: ConversationSubscriptionNotifications;
265
- createdAt: Date;
266
- updatedAt: Date;
267
- version: number;
268
- }
269
- /**
270
- * Current following state for one user/conversation pair.
271
- *
272
- * A subscription is persistent product intent. Assignment or participation
273
- * visibility must not create it unless an explicit auto-follow policy applies.
274
- */
275
- export type ConversationSubscription = (ConversationSubscriptionBase & {
276
- status: 'following';
277
- followedAt: Date;
278
- unfollowedAt?: never;
279
- }) | (ConversationSubscriptionBase & {
280
- status: 'unfollowed';
281
- followedAt: Date;
282
- unfollowedAt: Date;
283
- });
284
- export type InboxVisibilityReason = 'manual_follow' | 'assigned_to_user' | 'shared_queue_member' | 'queue_claimable' | 'active_participant' | 'sla_warning_owner' | 'sla_breached_owner' | 'supervised_queue_sla' | 'supervisor_escalation' | 'resolved_visible';
285
- export interface ConversationInboxSnapshot {
286
- interactionKind: 'private' | 'wall_post' | 'comment' | 'mention';
287
- channelType: string;
288
- contact: {
289
- id?: ID;
290
- displayName: string;
291
- initials?: string;
292
- };
293
- status: ConversationStatus;
294
- owner: ConversationOwner;
295
- queueId?: ID;
296
- preview?: string;
297
- unreadCount: number;
298
- priority: 'low' | 'normal' | 'high' | 'urgent';
299
- sla: {
300
- status: 'none' | 'running' | 'warning' | 'breached' | 'met';
301
- deadlineAt?: Date;
302
- };
303
- lastActivityAt: Date;
304
- }
305
- /**
306
- * Membership of one materialized conversation in one logical inbox view.
307
- *
308
- * visibilityReasons has set semantics: values must be unique and non-empty.
309
- * Removing one reason preserves the view while at least one reason remains.
310
- */
311
- export interface UserInboxItemView {
312
- viewId: InboxViewId;
313
- visibilityReasons: [
314
- InboxVisibilityReason,
315
- ...InboxVisibilityReason[]
316
- ];
317
- requiresAction: boolean;
318
- }
319
- /**
320
- * Materialized read model. There is exactly one document for each
321
- * spaceId + userId + conversationId tuple.
322
- *
323
- * views must contain unique viewId values. Delete the document when the last
324
- * view is removed.
325
- */
326
- export interface UserInboxItemDocument {
327
- id: ID;
328
- spaceId: ID;
329
- userId: ID;
330
- conversationId: ID;
331
- views: UserInboxItemView[];
332
- snapshot: ConversationInboxSnapshot;
333
- pinned: boolean;
334
- priorityScore: number;
335
- sortAt: Date;
336
- conversationVersion: number;
337
- subscriptionVersion?: number;
338
- projectionVersion: number;
339
- lastSourceEventId: ID;
340
- projectedAt: Date;
341
- }
342
- /**
343
- * Materialized counters for exactly one user/view pair.
344
- *
345
- * total and requiresAction count conversations, never visibility reasons.
346
- * unread counts conversations whose snapshot.unreadCount is greater than zero,
347
- * not the number of unread messages.
348
- */
349
- export interface UserInboxCounterDocument {
350
- id: ID;
351
- spaceId: ID;
352
- userId: ID;
353
- viewId: InboxViewId;
354
- total: number;
355
- requiresAction: number;
356
- unread: number;
357
- projectionVersion: number;
358
- updatedAt: Date;
359
- }
360
- export {};