@trii/types 2.10.707 → 2.10.709

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 (186) hide show
  1. package/dist/AI/MapPolygon.d.ts +22 -0
  2. package/dist/AI/MapPolygon.js +2 -0
  3. package/dist/Automations/Events/Event.d.ts +3 -3
  4. package/dist/Common/Channels/Email.d.ts +1 -0
  5. package/dist/Common/Channels/Facebook.d.ts +1 -0
  6. package/dist/Common/Channels/Form.d.ts +1 -0
  7. package/dist/Common/Channels/GoogleBusiness.d.ts +1 -0
  8. package/dist/Common/Channels/Instagram.d.ts +1 -0
  9. package/dist/Common/Channels/MercadoLibre.d.ts +1 -0
  10. package/dist/Common/Channels/WebChat.d.ts +1 -0
  11. package/dist/Contacts/CommunicationEndpoint.d.ts +107 -0
  12. package/dist/Contacts/CommunicationEndpoint.js +39 -0
  13. package/dist/Contacts/CommunicationMethod.d.ts +9 -0
  14. package/dist/Contacts/CommunicationMethod.js +2 -0
  15. package/dist/Contacts/index.d.ts +2 -0
  16. package/dist/Contacts/index.js +2 -0
  17. package/dist/Conversations/Assignment.d.ts +97 -1
  18. package/dist/Conversations/Conversation.d.ts +16 -9
  19. package/dist/Conversations/Flows/Nodes/NodeAIChatBot.d.ts +0 -0
  20. package/dist/Conversations/Flows/Nodes/NodeAIChatBot.js +0 -0
  21. package/dist/Conversations/Flows/Nodes/NodeApi.d.ts +2 -0
  22. package/dist/Conversations/Flows/Nodes/NodeApi.js +183 -0
  23. package/dist/Conversations/Flows/Nodes/NodeBotIA.d.ts +15 -0
  24. package/dist/Conversations/Flows/Nodes/NodeBotIA.js +6 -0
  25. package/dist/Conversations/Flows/Nodes/NodeChatBotIA.d.ts +15 -0
  26. package/dist/Conversations/Flows/Nodes/NodeChatBotIA.js +6 -0
  27. package/dist/Conversations/Flows/Nodes/NodeConditional.d.ts +0 -0
  28. package/dist/Conversations/Flows/Nodes/NodeConditional.js +0 -0
  29. package/dist/Conversations/Flows/Nodes/NodeContactSearch.d.ts +0 -0
  30. package/dist/Conversations/Flows/Nodes/NodeContactSearch.js +0 -0
  31. package/dist/Conversations/Flows/Nodes/NodeContactUpdate.d.ts +0 -0
  32. package/dist/Conversations/Flows/Nodes/NodeContactUpdate.js +0 -0
  33. package/dist/Conversations/Flows/Nodes/NodeConversationAssignTo.d.ts +0 -0
  34. package/dist/Conversations/Flows/Nodes/NodeConversationAssignTo.js +0 -0
  35. package/dist/Conversations/Flows/Nodes/NodeConversationFinalize.d.ts +0 -0
  36. package/dist/Conversations/Flows/Nodes/NodeConversationFinalize.js +0 -0
  37. package/dist/Conversations/Flows/Nodes/NodeConversationUpdate.d.ts +0 -0
  38. package/dist/Conversations/Flows/Nodes/NodeConversationUpdate.js +0 -0
  39. package/dist/Conversations/Flows/Nodes/NodeFillForm.d.ts +0 -0
  40. package/dist/Conversations/Flows/Nodes/NodeFillForm.js +0 -0
  41. package/dist/Conversations/Flows/Nodes/NodeFillTicket.d.ts +1 -0
  42. package/dist/Conversations/Flows/Nodes/NodeFillTicket.js +9 -0
  43. package/dist/Conversations/Flows/Nodes/NodeGoogleCalendar.d.ts +20 -0
  44. package/dist/Conversations/Flows/Nodes/NodeGoogleCalendar.js +2 -0
  45. package/dist/Conversations/Flows/Nodes/NodeGoogleMaps copy.d.ts +12 -0
  46. package/dist/Conversations/Flows/Nodes/NodeGoogleMaps copy.js +6 -0
  47. package/dist/Conversations/Flows/Nodes/NodeGoogleMaps.d.ts +15 -0
  48. package/dist/Conversations/Flows/Nodes/NodeGoogleMaps.js +2 -0
  49. package/dist/Conversations/Flows/Nodes/NodeMsgReply.d.ts +0 -0
  50. package/dist/Conversations/Flows/Nodes/NodeMsgReply.js +0 -0
  51. package/dist/Conversations/Flows/Nodes/NodeMsgSend.d.ts +0 -0
  52. package/dist/Conversations/Flows/Nodes/NodeMsgSend.js +0 -0
  53. package/dist/Conversations/Flows/Nodes/NodeMsgText.d.ts +1 -0
  54. package/dist/Conversations/Flows/Nodes/NodeMsgText.js +27 -0
  55. package/dist/Conversations/Flows/Nodes/NodeMsgWaitResponse.d.ts +0 -0
  56. package/dist/Conversations/Flows/Nodes/NodeMsgWaitResponse.js +0 -0
  57. package/dist/Conversations/Flows/Nodes/NodeRedirect.d.ts +0 -0
  58. package/dist/Conversations/Flows/Nodes/NodeRedirect.js +0 -0
  59. package/dist/Conversations/Flows/Nodes/NodeSendEmail.d.ts +0 -0
  60. package/dist/Conversations/Flows/Nodes/NodeSendEmail.js +0 -0
  61. package/dist/Conversations/Flows/Nodes/NodeSqlQuery.d.ts +0 -0
  62. package/dist/Conversations/Flows/Nodes/NodeSqlQuery.js +0 -0
  63. package/dist/Conversations/Flows/Nodes/NodeStart.d.ts +0 -0
  64. package/dist/Conversations/Flows/Nodes/NodeStart.js +0 -0
  65. package/dist/Conversations/Flows/Nodes/NodeTimeScheduleControl.d.ts +0 -0
  66. package/dist/Conversations/Flows/Nodes/NodeTimeScheduleControl.js +0 -0
  67. package/dist/Conversations/Flows/Nodes/NodeTimeTimer.d.ts +0 -0
  68. package/dist/Conversations/Flows/Nodes/NodeTimeTimer.js +0 -0
  69. package/dist/Conversations/Flows/Nodes/NodeTimeWaitUntil.d.ts +0 -0
  70. package/dist/Conversations/Flows/Nodes/NodeTimeWaitUntil.js +0 -0
  71. package/dist/Conversations/Flows/Nodes/NodeToolCalculator.d.ts +2 -0
  72. package/dist/Conversations/Flows/Nodes/NodeToolCalculator.js +37 -0
  73. package/dist/Conversations/Flows/Nodes/NodeToolContacts.d.ts +2 -0
  74. package/dist/Conversations/Flows/Nodes/NodeToolContacts.js +59 -0
  75. package/dist/Conversations/Flows/Nodes/NodeToolFunction.d.ts +2 -0
  76. package/dist/Conversations/Flows/Nodes/NodeToolFunction.js +45 -0
  77. package/dist/Conversations/Flows/Nodes/NodeToolGoogleCalendar.d.ts +2 -0
  78. package/dist/Conversations/Flows/Nodes/NodeToolGoogleCalendar.js +87 -0
  79. package/dist/Conversations/Flows/Nodes/NodeToolGoogleMaps.d.ts +1 -0
  80. package/dist/Conversations/Flows/Nodes/NodeToolGoogleMaps.js +2 -0
  81. package/dist/Conversations/Flows/Nodes/NodeToolKnowledge.d.ts +2 -0
  82. package/dist/Conversations/Flows/Nodes/NodeToolKnowledge.js +52 -0
  83. package/dist/Conversations/Flows/Nodes/NodeToolMapsCheckPolygon.d.ts +2 -0
  84. package/dist/Conversations/Flows/Nodes/NodeToolMapsCheckPolygon.js +59 -0
  85. package/dist/Conversations/Flows/Nodes/NodeToolMcpClient.d.ts +2 -0
  86. package/dist/Conversations/Flows/Nodes/NodeToolMcpClient.js +45 -0
  87. package/dist/Conversations/Flows/Nodes/NodeToolShoppingCart.d.ts +2 -0
  88. package/dist/Conversations/Flows/Nodes/NodeToolShoppingCart.js +81 -0
  89. package/dist/Conversations/Flows/Nodes/index.d.ts +24 -0
  90. package/dist/Conversations/Flows/Nodes/index.js +40 -0
  91. package/dist/Conversations/InboxMongo.d.ts +12 -12
  92. package/dist/Conversations/Routing.d.ts +10 -10
  93. package/dist/Presence/ChannelRoutingState.d.ts +17 -0
  94. package/dist/Presence/ChannelRoutingState.js +9 -0
  95. package/dist/Tickets/AccessLevel.d.ts +5 -0
  96. package/dist/Tickets/AccessLevel.js +9 -0
  97. package/dist/index.d.ts +23 -23
  98. package/dist/index.js +59 -59
  99. package/dist/src/Automations/Capabilities/Capability.d.ts +48 -0
  100. package/dist/src/Automations/Capabilities/Capability.js +9 -0
  101. package/dist/src/Automations/Capabilities/index.d.ts +1 -0
  102. package/dist/src/Automations/Capabilities/index.js +17 -0
  103. package/dist/src/Automations/Common.d.ts +47 -0
  104. package/dist/src/Automations/Common.js +18 -0
  105. package/dist/src/Automations/Events/Event.d.ts +41 -0
  106. package/dist/src/Automations/Events/Event.js +2 -0
  107. package/dist/src/Automations/Events/index.d.ts +1 -0
  108. package/dist/src/Automations/Events/index.js +17 -0
  109. package/dist/src/Automations/Executions/Execution.d.ts +114 -0
  110. package/dist/src/Automations/Executions/Execution.js +23 -0
  111. package/dist/src/Automations/Executions/index.d.ts +1 -0
  112. package/dist/src/Automations/Executions/index.js +17 -0
  113. package/dist/src/Automations/Flows/Canvas.d.ts +86 -0
  114. package/dist/src/Automations/Flows/Canvas.js +34 -0
  115. package/dist/src/Automations/Flows/Flow.d.ts +102 -0
  116. package/dist/src/Automations/Flows/Flow.js +34 -0
  117. package/dist/src/Automations/Flows/Requests.d.ts +71 -0
  118. package/dist/src/Automations/Flows/Requests.js +2 -0
  119. package/dist/src/Automations/Flows/Validation.d.ts +28 -0
  120. package/dist/src/Automations/Flows/Validation.js +9 -0
  121. package/dist/src/Automations/Flows/index.d.ts +4 -0
  122. package/dist/src/Automations/Flows/index.js +20 -0
  123. package/dist/src/Automations/Nodes/Node.d.ts +75 -0
  124. package/dist/src/Automations/Nodes/Node.js +18 -0
  125. package/dist/src/Automations/Nodes/index.d.ts +1 -0
  126. package/dist/src/Automations/Nodes/index.js +17 -0
  127. package/dist/src/Automations/index.d.ts +6 -0
  128. package/dist/src/Automations/index.js +22 -0
  129. package/dist/src/Chats/Chat.d.ts +61 -0
  130. package/dist/src/Chats/Chat.js +28 -0
  131. package/dist/src/Common/Channels/Channel.d.ts +26 -1
  132. package/dist/src/Contacts/contacts.d.ts +2 -2
  133. package/dist/src/Conversations/Assignment.d.ts +81 -0
  134. package/dist/src/Conversations/Assignment.js +4 -0
  135. package/dist/src/Conversations/Conversation.d.ts +241 -48
  136. package/dist/src/Conversations/Conversation.js +14 -34
  137. package/dist/src/Conversations/DashBoard/dashboard.d.ts +2 -2
  138. package/dist/src/Conversations/Flows/Workflows/Workflow.d.ts +280 -123
  139. package/dist/src/Conversations/Flows/Workflows/Workflow.js +85 -35
  140. package/dist/src/Conversations/Groups/Group.d.ts +2 -8
  141. package/dist/src/Conversations/Groups/Group.js +0 -6
  142. package/dist/src/Conversations/InboxMongo.d.ts +154 -0
  143. package/dist/src/Conversations/InboxMongo.js +128 -0
  144. package/dist/src/Conversations/InboxProjection.d.ts +162 -0
  145. package/dist/src/Conversations/InboxProjection.js +2 -0
  146. package/dist/src/Conversations/Label.d.ts +1 -1
  147. package/dist/src/Conversations/Outbox.d.ts +24 -0
  148. package/dist/src/Conversations/Outbox.js +4 -0
  149. package/dist/src/Conversations/Queue.d.ts +107 -0
  150. package/dist/src/Conversations/Queue.js +4 -0
  151. package/dist/src/Conversations/Routing.d.ts +164 -0
  152. package/dist/src/Conversations/Routing.js +2 -0
  153. package/dist/src/Conversations/Sla.d.ts +227 -0
  154. package/dist/src/Conversations/Sla.js +6 -0
  155. package/dist/src/Conversations/Transfer.d.ts +73 -0
  156. package/dist/src/Conversations/Transfer.js +2 -0
  157. package/dist/src/Conversations/WebHook.d.ts +1 -1
  158. package/dist/src/Conversations/index.d.ts +9 -1
  159. package/dist/src/Conversations/index.js +9 -1
  160. package/dist/src/Forms/API.d.ts +53 -0
  161. package/dist/src/Forms/API.js +2 -0
  162. package/dist/src/Forms/SubmittedForm.d.ts +56 -0
  163. package/dist/src/Forms/SubmittedForm.js +9 -0
  164. package/dist/src/Forms/index.d.ts +2 -0
  165. package/dist/src/Forms/index.js +18 -0
  166. package/dist/src/Presence/AgentPause.d.ts +24 -0
  167. package/dist/src/Presence/AgentPause.js +19 -0
  168. package/dist/src/Presence/QueueParticipation.d.ts +17 -0
  169. package/dist/src/Presence/QueueParticipation.js +2 -0
  170. package/dist/src/Presence/QueueRoutingState.d.ts +27 -0
  171. package/dist/src/Presence/QueueRoutingState.js +9 -0
  172. package/dist/src/Presence/index.d.ts +3 -0
  173. package/dist/src/Presence/index.js +19 -0
  174. package/dist/src/Tickets/Category.d.ts +18 -0
  175. package/dist/src/Tickets/Dashboard.d.ts +77 -0
  176. package/dist/src/Tickets/Dashboard.js +13 -1
  177. package/dist/src/Tickets/Fields.d.ts +1 -0
  178. package/dist/src/Tickets/Layouts.d.ts +3 -1
  179. package/dist/src/Tickets/Workflow.d.ts +20 -0
  180. package/dist/src/Users/UserTrii.d.ts +10 -0
  181. package/dist/src/Users/UserTrii.js +8 -1
  182. package/dist/src/index.d.ts +3 -0
  183. package/dist/src/index.js +4 -1
  184. package/package.json +1 -1
  185. package/dist/src/Conversations/DashBoard/dashboardForms.d.ts +0 -44
  186. package/dist/src/Conversations/DashBoard/dashboardForms.js +0 -24
@@ -0,0 +1,22 @@
1
+ export interface Map {
2
+ id?: string | null;
3
+ spaceId: string | "";
4
+ name: string | "";
5
+ description: string | "";
6
+ layers: MapLayer[];
7
+ createdAt: Date;
8
+ createdBy: string;
9
+ updatedAt?: Date | null;
10
+ updatedBy?: string | null;
11
+ deletedAt?: Date | null;
12
+ deletedBy?: string | null;
13
+ }
14
+ export interface MapLayer {
15
+ id?: string | null;
16
+ spaceId: string | "";
17
+ name: string | "";
18
+ fileName: string | "";
19
+ fileUrl: string | "";
20
+ data?: object | null;
21
+ polygons?: object | null;
22
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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;
@@ -30,6 +30,7 @@ export declare class EmailConfig {
30
30
  reassign?: boolean;
31
31
  reassignTime?: number;
32
32
  reassignGroupId?: string;
33
+ reOpenTime?: number;
33
34
  connectedEmailDoamin: string;
34
35
  inboundConnectedEmail: string;
35
36
  inboundConnectedEmailStatus: EmailConfigOutboundStatus;
@@ -1,6 +1,7 @@
1
1
  import { ISchedule } from "../Schedules/Schedules";
2
2
  export declare class FacebookConfig {
3
3
  token?: string | '';
4
+ reOpenTime?: number;
4
5
  fbAccessToken: string;
5
6
  fbAccessTokenExpiration: Date;
6
7
  fbUserId: string;
@@ -43,6 +43,7 @@ export declare class FormConfig {
43
43
  reassignGroupId?: string;
44
44
  scheduleId?: string | null;
45
45
  schedule?: ISchedule | null;
46
+ reOpenTime?: number;
46
47
  title?: string | '';
47
48
  subTitle?: string | '';
48
49
  color?: string | '';
@@ -4,6 +4,7 @@ export declare class GoogleBusinessConfig {
4
4
  reassign?: boolean;
5
5
  reassignTime?: number;
6
6
  reassignGroupId?: string;
7
+ reOpenTime?: number;
7
8
  autoResponseBusinessHours?: boolean;
8
9
  autoResponseOutOfBusinessHours?: boolean;
9
10
  autoResponseHoliday?: boolean;
@@ -16,6 +16,7 @@ export declare class InstagramConfig {
16
16
  reassign?: boolean;
17
17
  reassignTime?: number;
18
18
  reassignGroupId?: string;
19
+ reOpenTime?: number;
19
20
  signatureEnabled?: boolean;
20
21
  signatureText?: string;
21
22
  autoResponseBusinessHours?: boolean;
@@ -4,6 +4,7 @@ export declare class MercadoLibreConfig {
4
4
  reassign?: boolean;
5
5
  reassignTime?: number;
6
6
  reassignGroupId?: string;
7
+ reOpenTime?: number;
7
8
  autoResponseBusinessHours?: boolean;
8
9
  autoResponseOutOfBusinessHours?: boolean;
9
10
  autoResponseHoliday?: boolean;
@@ -4,6 +4,7 @@ export declare class WebChatConfig {
4
4
  reassign?: boolean;
5
5
  reassignTime?: number;
6
6
  reassignGroupId?: string;
7
+ reOpenTime?: number;
7
8
  signatureEnabled?: boolean;
8
9
  signatureText?: string;
9
10
  autoResponseBusinessHours?: boolean;
@@ -0,0 +1,107 @@
1
+ export declare enum CommunicationEndpointKind {
2
+ PHONE = "phone",
3
+ EMAIL = "email",
4
+ PROVIDER_IDENTITY = "provider_identity"
5
+ }
6
+ /**
7
+ * Known provider identity namespaces. Contracts continue to accept strings so
8
+ * custom providers and namespaces can be introduced without a library update.
9
+ */
10
+ export declare const providerIdentityNamespaces: {
11
+ readonly meta: {
12
+ readonly instagramUser: "instagram_user";
13
+ readonly messengerUser: "messenger_user";
14
+ readonly whatsappUser: "whatsapp_user";
15
+ };
16
+ readonly telegram: {
17
+ readonly user: "user";
18
+ readonly chat: "chat";
19
+ };
20
+ readonly trii: {
21
+ readonly webchatVisitor: "webchat_visitor";
22
+ };
23
+ readonly mercadolibre: {
24
+ readonly buyer: "buyer";
25
+ };
26
+ readonly google: {
27
+ readonly businessMessagesUser: "business_messages_user";
28
+ };
29
+ };
30
+ export type KnownIdentityProvider = keyof typeof providerIdentityNamespaces;
31
+ export type KnownProviderIdentityNamespace = {
32
+ [TProvider in KnownIdentityProvider]: (typeof providerIdentityNamespaces)[TProvider][keyof (typeof providerIdentityNamespaces)[TProvider]];
33
+ }[KnownIdentityProvider];
34
+ export declare enum CommunicationEndpointStatus {
35
+ ACTIVE = "active",
36
+ INACTIVE = "inactive",
37
+ ORPHANED = "orphaned"
38
+ }
39
+ export interface ICommunicationEndpointActivity {
40
+ firstSeenAt?: Date;
41
+ lastSeenAt?: Date;
42
+ lastMessageInAt?: Date;
43
+ lastMessageOutAt?: Date;
44
+ }
45
+ export interface ICommunicationEndpoint {
46
+ id: string;
47
+ spaceId: string;
48
+ kind: CommunicationEndpointKind;
49
+ status: CommunicationEndpointStatus;
50
+ normalizedValue: string;
51
+ normalizationVersion: number;
52
+ displayValue: string;
53
+ phoneInfo?: IPhoneEndpointInfo;
54
+ emailInfo?: IEmailEndpointInfo;
55
+ providerIdentityInfo?: IProviderIdentityEndpointInfo;
56
+ activity?: ICommunicationEndpointActivity;
57
+ createdAt: Date;
58
+ createdBy?: string;
59
+ updatedAt?: Date;
60
+ updatedBy?: string;
61
+ inactiveAt?: Date;
62
+ inactiveBy?: string;
63
+ }
64
+ export interface IPhoneEndpointInfo {
65
+ e164: string;
66
+ isMobile: boolean;
67
+ country: string;
68
+ countryName: string;
69
+ /**
70
+ * ISO 3166-2 subdivision code when it can be resolved from the phone
71
+ * number, for example `AR-C` or `US-CA`. Empty when unknown, not
72
+ * applicable, or when the number does not identify a subdivision.
73
+ */
74
+ state: string;
75
+ /**
76
+ * Display name corresponding to `state`, for example `Córdoba` or
77
+ * `California`. Empty when `state` is not available.
78
+ */
79
+ stateName: string;
80
+ }
81
+ export interface IEmailEndpointInfo {
82
+ localPart: string;
83
+ domain: string;
84
+ }
85
+ export interface IProviderIdentityProfile {
86
+ displayName?: string;
87
+ username?: string;
88
+ imageUrl?: string;
89
+ imageObservedAt?: Date;
90
+ }
91
+ export interface IProviderIdentityEndpointInfo {
92
+ /** System that issues and controls the external identity. */
93
+ provider: string;
94
+ /**
95
+ * Provider-defined namespace in which the identity keys are valid.
96
+ * This is not a communication channel or a configured channel account.
97
+ */
98
+ identityNamespace: string;
99
+ /** Configured channel account in which the external identity is valid. */
100
+ channelAccountId: string;
101
+ profile?: IProviderIdentityProfile;
102
+ }
103
+ export interface ICommunicationEndpointSnapshot {
104
+ endpointId: string;
105
+ kind: CommunicationEndpointKind;
106
+ displayValue: string;
107
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommunicationEndpointStatus = exports.providerIdentityNamespaces = exports.CommunicationEndpointKind = void 0;
4
+ var CommunicationEndpointKind;
5
+ (function (CommunicationEndpointKind) {
6
+ CommunicationEndpointKind["PHONE"] = "phone";
7
+ CommunicationEndpointKind["EMAIL"] = "email";
8
+ CommunicationEndpointKind["PROVIDER_IDENTITY"] = "provider_identity";
9
+ })(CommunicationEndpointKind || (exports.CommunicationEndpointKind = CommunicationEndpointKind = {}));
10
+ /**
11
+ * Known provider identity namespaces. Contracts continue to accept strings so
12
+ * custom providers and namespaces can be introduced without a library update.
13
+ */
14
+ exports.providerIdentityNamespaces = {
15
+ meta: {
16
+ instagramUser: 'instagram_user',
17
+ messengerUser: 'messenger_user',
18
+ whatsappUser: 'whatsapp_user',
19
+ },
20
+ telegram: {
21
+ user: 'user',
22
+ chat: 'chat',
23
+ },
24
+ trii: {
25
+ webchatVisitor: 'webchat_visitor',
26
+ },
27
+ mercadolibre: {
28
+ buyer: 'buyer',
29
+ },
30
+ google: {
31
+ businessMessagesUser: 'business_messages_user',
32
+ },
33
+ };
34
+ var CommunicationEndpointStatus;
35
+ (function (CommunicationEndpointStatus) {
36
+ CommunicationEndpointStatus["ACTIVE"] = "active";
37
+ CommunicationEndpointStatus["INACTIVE"] = "inactive";
38
+ CommunicationEndpointStatus["ORPHANED"] = "orphaned";
39
+ })(CommunicationEndpointStatus || (exports.CommunicationEndpointStatus = CommunicationEndpointStatus = {}));
@@ -0,0 +1,9 @@
1
+ export interface ICommunicationMethod {
2
+ endpointId: string;
3
+ isFavorite: boolean;
4
+ label: string;
5
+ note: string;
6
+ sortOrder: number;
7
+ linkedAt: Date;
8
+ linkedBy?: string;
9
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -7,3 +7,5 @@ export * from './Import';
7
7
  export * from './Relationship';
8
8
  export * from './options';
9
9
  export * from './DuplicateContact';
10
+ export * from './CommunicationEndpoint';
11
+ export * from './CommunicationMethod';
@@ -23,3 +23,5 @@ __exportStar(require("./Import"), exports);
23
23
  __exportStar(require("./Relationship"), exports);
24
24
  __exportStar(require("./options"), exports);
25
25
  __exportStar(require("./DuplicateContact"), exports);
26
+ __exportStar(require("./CommunicationEndpoint"), exports);
27
+ __exportStar(require("./CommunicationMethod"), exports);
@@ -1,7 +1,7 @@
1
1
  import { ID } from './Conversation';
2
2
  export declare const CONVERSATION_ASSIGNMENT_EVENTS_COLLECTION = "conversation_assignment_events";
3
3
  export type ConversationAssignmentEventType = 'enqueued' | 'routing_started' | 'offered' | 'assigned' | 'accepted' | 'transferred' | 'released' | 'timed_out' | 'requeued';
4
- export type ConversationAssignmentReason = 'conversation_created' | 'routing_selected' | 'manual_assignment' | 'manual_transfer' | 'flow_routing' | 'offer_timeout' | 'assignment_timeout' | 'agent_accepted' | 'agent_released' | 'supervisor_released' | 'capacity_rebalance' | 'sla_escalation' | 'system_recovery';
4
+ export type ConversationAssignmentReason = 'conversation_created' | 'routing_selected' | 'manual_assignment' | 'manual_transfer' | 'flow_routing' | 'offer_timeout' | 'assignment_timeout' | 'agent_accepted' | 'agent_released' | 'supervisor_released' | 'capacity_rebalance' | 'sla_escalation' | 'system_recovery' | 'transfer_cancelled' | 'transfer_declined';
5
5
  export type AssignmentOwnerReference = {
6
6
  type: 'none';
7
7
  id?: never;
@@ -83,3 +83,99 @@ export interface ConversationAssignmentEvent {
83
83
  occurredAt: Date;
84
84
  recordedAt: Date;
85
85
  }
86
+ export interface AcceptConversationAssignmentCommand {
87
+ commandId: string;
88
+ spaceId: ID;
89
+ conversationId: ID;
90
+ assignmentId: ID;
91
+ expectedConversationVersion: number;
92
+ actor: AssignmentActorReference;
93
+ requestedAt: Date;
94
+ }
95
+ export type AcceptConversationAssignmentRejectionCode = 'conversation_not_found' | 'assignment_not_current' | 'assignment_not_offered' | 'actor_not_authorized';
96
+ export type AcceptConversationAssignmentResult = {
97
+ status: 'accepted' | 'already_applied';
98
+ commandId: string;
99
+ conversationId: ID;
100
+ previousVersion: number;
101
+ conversationVersion: number;
102
+ previous?: AssignmentStateReference;
103
+ current: AssignmentStateReference;
104
+ assignmentEventId: ID;
105
+ outboxEventId?: ID;
106
+ } | {
107
+ status: 'version_conflict';
108
+ commandId: string;
109
+ conversationId: ID;
110
+ expectedVersion: number;
111
+ currentVersion: number;
112
+ } | {
113
+ status: 'rejected';
114
+ commandId: string;
115
+ conversationId: ID;
116
+ code: AcceptConversationAssignmentRejectionCode;
117
+ };
118
+ export interface DeclineConversationAssignmentCommand {
119
+ commandId: string;
120
+ spaceId: ID;
121
+ conversationId: ID;
122
+ assignmentId: ID;
123
+ expectedConversationVersion: number;
124
+ actor: AssignmentActorReference;
125
+ requestedAt: Date;
126
+ }
127
+ export type DeclineConversationAssignmentRejectionCode = 'conversation_not_found' | 'assignment_not_current' | 'assignment_not_offered' | 'actor_not_authorized';
128
+ export type DeclineConversationAssignmentResult = {
129
+ status: 'declined' | 'already_applied';
130
+ commandId: string;
131
+ conversationId: ID;
132
+ previousVersion: number;
133
+ conversationVersion: number;
134
+ previous?: AssignmentStateReference;
135
+ current: AssignmentStateReference;
136
+ assignmentEventId: ID;
137
+ outboxEventId?: ID;
138
+ } | {
139
+ status: 'version_conflict';
140
+ commandId: string;
141
+ conversationId: ID;
142
+ expectedVersion: number;
143
+ currentVersion: number;
144
+ } | {
145
+ status: 'rejected';
146
+ commandId: string;
147
+ conversationId: ID;
148
+ code: DeclineConversationAssignmentRejectionCode;
149
+ };
150
+ export interface CancelConversationAssignmentCommand {
151
+ commandId: string;
152
+ spaceId: ID;
153
+ conversationId: ID;
154
+ assignmentId: ID;
155
+ expectedConversationVersion: number;
156
+ actor: AssignmentActorReference;
157
+ requestedAt: Date;
158
+ }
159
+ export type CancelConversationAssignmentRejectionCode = 'conversation_not_found' | 'assignment_not_current' | 'assignment_not_cancellable' | 'actor_not_authorized';
160
+ export type CancelConversationAssignmentResult = {
161
+ status: 'cancelled' | 'already_applied';
162
+ commandId: string;
163
+ conversationId: ID;
164
+ previousVersion: number;
165
+ conversationVersion: number;
166
+ previous?: AssignmentStateReference;
167
+ current: AssignmentStateReference;
168
+ assignmentEventId: ID;
169
+ outboxEventId?: ID;
170
+ } | {
171
+ status: 'version_conflict';
172
+ commandId: string;
173
+ conversationId: ID;
174
+ expectedVersion: number;
175
+ currentVersion: number;
176
+ } | {
177
+ status: 'rejected';
178
+ commandId: string;
179
+ conversationId: ID;
180
+ code: CancelConversationAssignmentRejectionCode;
181
+ };
@@ -6,6 +6,7 @@ import { IContactAddress, IContactInfo } from "../Contacts/contacts";
6
6
  import { IEnding } from "./Ending";
7
7
  import { ChatType } from "../Chats/Chat";
8
8
  import { TransferConversationCommand, TransferConversationResult } from "./Transfer";
9
+ import { AcceptConversationAssignmentCommand, AcceptConversationAssignmentResult, DeclineConversationAssignmentCommand, DeclineConversationAssignmentResult, CancelConversationAssignmentCommand, CancelConversationAssignmentResult } from "./Assignment";
9
10
  export interface IConversation {
10
11
  id: string;
11
12
  spaceId: string;
@@ -211,35 +212,35 @@ export type ConversationAssignmentSnapshot = {
211
212
  offerExpiresAt?: never;
212
213
  assignedAt?: never;
213
214
  acceptedAt?: never;
214
- } | (QueuedConversationAssignmentBase & {
215
+ } | QueuedConversationAssignmentBase & {
215
216
  status: 'queued' | 'routing';
216
217
  owner: NoConversationOwner;
217
218
  offeredAt?: never;
218
219
  offerExpiresAt?: never;
219
220
  assignedAt?: never;
220
221
  acceptedAt?: never;
221
- }) | (QueuedConversationAssignmentBase & {
222
+ } | QueuedConversationAssignmentBase & {
222
223
  status: 'offered';
223
224
  owner: UserConversationOwner;
224
225
  offeredAt: Date;
225
226
  offerExpiresAt?: Date;
226
227
  assignedAt?: never;
227
228
  acceptedAt?: never;
228
- }) | (QueuedConversationAssignmentBase & {
229
+ } | QueuedConversationAssignmentBase & {
229
230
  status: 'assigned';
230
231
  owner: UserConversationOwner;
231
232
  offeredAt?: Date;
232
233
  offerExpiresAt?: Date;
233
234
  assignedAt: Date;
234
235
  acceptedAt?: never;
235
- }) | (QueuedConversationAssignmentBase & {
236
+ } | QueuedConversationAssignmentBase & {
236
237
  status: 'accepted';
237
238
  owner: UserConversationOwner;
238
239
  offeredAt?: Date;
239
240
  offerExpiresAt?: Date;
240
241
  assignedAt: Date;
241
242
  acceptedAt: Date;
242
- });
243
+ };
243
244
  export type ActorType = 'user' | 'contact' | 'bot' | 'flow' | 'system';
244
245
  export type ParticipantRole = 'owner' | 'collaborator' | 'follower' | 'mentioned' | 'supervisor' | 'bot' | 'flow' | 'historical';
245
246
  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';
@@ -273,15 +274,15 @@ interface ConversationSubscriptionBase {
273
274
  * A subscription is persistent product intent. Assignment or participation
274
275
  * visibility must not create it unless an explicit auto-follow policy applies.
275
276
  */
276
- export type ConversationSubscription = (ConversationSubscriptionBase & {
277
+ export type ConversationSubscription = ConversationSubscriptionBase & {
277
278
  status: 'following';
278
279
  followedAt: Date;
279
280
  unfollowedAt?: never;
280
- }) | (ConversationSubscriptionBase & {
281
+ } | ConversationSubscriptionBase & {
281
282
  status: 'unfollowed';
282
283
  followedAt: Date;
283
284
  unfollowedAt: Date;
284
- });
285
+ };
285
286
  export interface PutConversationSubscriptionRequest {
286
287
  expectedVersion?: number;
287
288
  notifications: ConversationSubscriptionNotifications;
@@ -517,6 +518,12 @@ export interface TransferOptionsResponse {
517
518
  queues: TransferQueueOptionDto[];
518
519
  usersByQueue?: Record<ID, TransferUserOptionDto[]>;
519
520
  }
520
- export type StartTransferRequest = Pick<TransferConversationCommand, 'target' | 'expectedConversationVersion' | 'reason'>;
521
+ export type StartTransferRequest = Pick<TransferConversationCommand, 'commandId' | 'target' | 'expectedConversationVersion' | 'reason'>;
521
522
  export type StartTransferResponse = TransferConversationResult;
523
+ export type AcceptAssignmentRequest = Pick<AcceptConversationAssignmentCommand, 'commandId' | 'expectedConversationVersion'>;
524
+ export type AcceptAssignmentResponse = AcceptConversationAssignmentResult;
525
+ export type DeclineAssignmentRequest = Pick<DeclineConversationAssignmentCommand, 'commandId' | 'expectedConversationVersion'>;
526
+ export type DeclineAssignmentResponse = DeclineConversationAssignmentResult;
527
+ export type CancelAssignmentRequest = Pick<CancelConversationAssignmentCommand, 'commandId' | 'expectedConversationVersion'>;
528
+ export type CancelAssignmentResponse = CancelConversationAssignmentResult;
522
529
  export {};
@@ -0,0 +1,2 @@
1
+ import { INode } from "../Flow";
2
+ export declare const defaultNodeApi: INode;
@@ -0,0 +1,183 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultNodeApi = void 0;
4
+ const Flow_1 = require("../Flow");
5
+ exports.defaultNodeApi = {
6
+ id: "NodeApi-{uid}",
7
+ type: Flow_1.NodeType.API,
8
+ category: 'action',
9
+ description: "Node for making API calls, allowing for dynamic interactions with external services.",
10
+ tags: [],
11
+ version: 1,
12
+ asyncLoadHandlesOut: false,
13
+ handlesIn: [
14
+ {
15
+ id: "in",
16
+ type: 'target',
17
+ position: 'left',
18
+ name: "IN",
19
+ nameKey: 'NODE_API_IN',
20
+ showName: false,
21
+ multiple: false
22
+ }
23
+ ],
24
+ handlesOut: [
25
+ {
26
+ id: "onNext",
27
+ type: 'source',
28
+ position: 'right',
29
+ name: "Next",
30
+ nameKey: 'NODE_API_NEXT',
31
+ showName: true,
32
+ multiple: false
33
+ }
34
+ ],
35
+ name: "API Node",
36
+ nameKey: 'NODE_API_NAME',
37
+ enableStatics: false,
38
+ properties: [
39
+ {
40
+ type: 'string',
41
+ id: 'url',
42
+ label: 'URL',
43
+ labelKey: 'NODE_API_URL',
44
+ optional: false,
45
+ default: '',
46
+ placeholder: 'Enter the URL for the API endpoint',
47
+ description: 'The URL of the API endpoint to which the request will be sent.'
48
+ },
49
+ {
50
+ type: 'options',
51
+ id: 'method',
52
+ label: 'Method',
53
+ labelKey: 'NODE_API_METHOD',
54
+ optional: false,
55
+ default: 'GET',
56
+ options: [
57
+ { id: 'GET', label: 'GET' },
58
+ { id: 'POST', label: 'POST' },
59
+ { id: 'PUT', label: 'PUT' },
60
+ { id: 'DELETE', label: 'DELETE' },
61
+ { id: 'PATCH', label: 'PATCH' },
62
+ { id: 'HEAD', label: 'HEAD' },
63
+ { id: 'OPTIONS', label: 'OPTIONS' }
64
+ ]
65
+ },
66
+ {
67
+ type: 'options',
68
+ id: 'authType',
69
+ label: 'Authentication Type',
70
+ labelKey: 'NODE_API_AUTH_TYPE',
71
+ optional: true,
72
+ default: 'NONE',
73
+ options: [
74
+ { id: 'NONE', label: 'None' },
75
+ { id: 'BASIC', label: 'Basic Auth' },
76
+ { id: 'API_KEY', label: 'API Key' },
77
+ { id: 'BEARER', label: 'Bearer Token' }
78
+ ]
79
+ },
80
+ {
81
+ type: 'array',
82
+ id: 'authBasic',
83
+ label: 'Basic Authentication',
84
+ labelKey: 'NODE_API_AUTH_BASIC',
85
+ show: {
86
+ authType: 'BASIC'
87
+ },
88
+ optional: true,
89
+ array: [
90
+ {
91
+ type: 'string',
92
+ id: 'username',
93
+ label: 'Username',
94
+ labelKey: 'NODE_API_AUTH_BASIC_USERNAME',
95
+ default: '',
96
+ optional: false
97
+ },
98
+ {
99
+ type: 'string',
100
+ id: 'password',
101
+ label: 'Password',
102
+ labelKey: 'NODE_API_AUTH_BASIC_PASSWORD',
103
+ default: '',
104
+ optional: false
105
+ }
106
+ ],
107
+ },
108
+ {
109
+ type: 'array',
110
+ id: 'authApiKey',
111
+ label: 'API Key Authentication',
112
+ labelKey: 'NODE_API_AUTH_API_KEY',
113
+ show: {
114
+ authType: 'API_KEY'
115
+ },
116
+ optional: true,
117
+ array: [
118
+ {
119
+ type: 'string',
120
+ id: 'headerKey',
121
+ label: 'API Header Key',
122
+ labelKey: 'NODE_API_AUTH_API_KEY_NAME'
123
+ },
124
+ {
125
+ type: 'string',
126
+ id: 'key',
127
+ label: 'API Key',
128
+ labelKey: 'NODE_API_AUTH_API_KEY_KEY'
129
+ }
130
+ ]
131
+ },
132
+ {
133
+ type: 'array',
134
+ id: 'authBearer',
135
+ label: 'Bearer Token Authentication',
136
+ show: {
137
+ authType: 'BEARER'
138
+ },
139
+ labelKey: 'NODE_API_AUTH_BEARER_TOKEN',
140
+ optional: true,
141
+ array: [
142
+ {
143
+ type: 'string',
144
+ id: 'token',
145
+ label: 'Bearer Token',
146
+ labelKey: 'NODE_API_AUTH_BEARER_TOKEN'
147
+ }
148
+ ]
149
+ },
150
+ {
151
+ id: 'body',
152
+ type: 'string',
153
+ label: 'Request Body',
154
+ labelKey: 'NODE_API_REQUEST_BODY',
155
+ optional: true,
156
+ acceptVariable: true,
157
+ placeholder: 'Enter the request body in JSON format',
158
+ rows: 5
159
+ },
160
+ {
161
+ type: 'options',
162
+ id: 'responseContentType',
163
+ label: 'Response Content Type',
164
+ labelKey: 'NODE_API_CONTENT_TYPE',
165
+ optional: true,
166
+ default: 'application/json',
167
+ options: [
168
+ { id: 'application/json', label: 'application/json' },
169
+ { id: 'application/x-www-form-urlencoded', label: 'application/x-www-form-urlencoded' },
170
+ { id: 'text/plain', label: 'text/plain' },
171
+ { id: 'multipart/form-data', label: 'multipart/form-data' }
172
+ ]
173
+ }
174
+ ],
175
+ values: undefined,
176
+ color: '#00bcd4', // Cyan color for the start node
177
+ icon: '',
178
+ badge: undefined,
179
+ hideInput: true,
180
+ hideOutput: false,
181
+ author: '',
182
+ documentation: '',
183
+ };