@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.
- package/dist/Automations/Events/Event.d.ts +3 -3
- package/dist/Contacts/CommunicationEndpoint.d.ts +8 -8
- package/dist/Conversations/Classifications/ConversationClassificationEvents.d.ts +2 -2
- package/dist/Conversations/Conversation.d.ts +8 -8
- package/dist/Conversations/Routing.d.ts +10 -10
- package/dist/Events/DomainEventTypes.d.ts +23 -23
- package/dist/Tickets/Api.d.ts +16 -0
- package/dist/src/Common/Channels/Channel.d.ts +1 -26
- package/dist/src/Contacts/contacts.d.ts +2 -2
- package/dist/src/Conversations/Conversation.d.ts +48 -241
- package/dist/src/Conversations/Conversation.js +34 -14
- package/dist/src/Conversations/DashBoard/dashboard.d.ts +2 -2
- package/dist/src/Conversations/DashBoard/dashboardForms.d.ts +44 -0
- package/dist/src/Conversations/DashBoard/dashboardForms.js +24 -0
- package/dist/src/Conversations/Flows/Workflows/Workflow.d.ts +123 -280
- package/dist/src/Conversations/Flows/Workflows/Workflow.js +35 -85
- package/dist/src/Conversations/Groups/Group.d.ts +8 -2
- package/dist/src/Conversations/Groups/Group.js +6 -0
- package/dist/src/Conversations/Label.d.ts +1 -1
- package/dist/src/Conversations/WebHook.d.ts +1 -1
- package/dist/src/Conversations/index.d.ts +1 -9
- package/dist/src/Conversations/index.js +1 -9
- package/dist/src/Tickets/Category.d.ts +0 -18
- package/dist/src/Tickets/Dashboard.d.ts +0 -77
- package/dist/src/Tickets/Dashboard.js +1 -13
- package/dist/src/Tickets/Fields.d.ts +0 -1
- package/dist/src/Tickets/Layouts.d.ts +1 -3
- package/dist/src/Tickets/Workflow.d.ts +0 -20
- package/dist/src/Users/UserTrii.d.ts +0 -10
- package/dist/src/Users/UserTrii.js +1 -8
- package/dist/src/index.d.ts +0 -3
- package/dist/src/index.js +1 -4
- package/package.json +1 -1
- package/dist/AI/MapPolygon.d.ts +0 -22
- package/dist/AI/MapPolygon.js +0 -2
- package/dist/Conversations/Flows/Nodes/NodeAIChatBot.d.ts +0 -0
- package/dist/Conversations/Flows/Nodes/NodeAIChatBot.js +0 -0
- package/dist/Conversations/Flows/Nodes/NodeApi.d.ts +0 -2
- package/dist/Conversations/Flows/Nodes/NodeApi.js +0 -183
- package/dist/Conversations/Flows/Nodes/NodeBotIA.d.ts +0 -15
- package/dist/Conversations/Flows/Nodes/NodeBotIA.js +0 -6
- package/dist/Conversations/Flows/Nodes/NodeChatBotIA.d.ts +0 -15
- package/dist/Conversations/Flows/Nodes/NodeChatBotIA.js +0 -6
- package/dist/Conversations/Flows/Nodes/NodeConditional.d.ts +0 -0
- package/dist/Conversations/Flows/Nodes/NodeConditional.js +0 -0
- package/dist/Conversations/Flows/Nodes/NodeContactSearch.d.ts +0 -0
- package/dist/Conversations/Flows/Nodes/NodeContactSearch.js +0 -0
- package/dist/Conversations/Flows/Nodes/NodeContactUpdate.d.ts +0 -0
- package/dist/Conversations/Flows/Nodes/NodeContactUpdate.js +0 -0
- package/dist/Conversations/Flows/Nodes/NodeConversationAssignTo.d.ts +0 -0
- package/dist/Conversations/Flows/Nodes/NodeConversationAssignTo.js +0 -0
- package/dist/Conversations/Flows/Nodes/NodeConversationFinalize.d.ts +0 -0
- package/dist/Conversations/Flows/Nodes/NodeConversationFinalize.js +0 -0
- package/dist/Conversations/Flows/Nodes/NodeConversationUpdate.d.ts +0 -0
- package/dist/Conversations/Flows/Nodes/NodeConversationUpdate.js +0 -0
- package/dist/Conversations/Flows/Nodes/NodeFillForm.d.ts +0 -0
- package/dist/Conversations/Flows/Nodes/NodeFillForm.js +0 -0
- package/dist/Conversations/Flows/Nodes/NodeFillTicket.d.ts +0 -1
- package/dist/Conversations/Flows/Nodes/NodeFillTicket.js +0 -9
- package/dist/Conversations/Flows/Nodes/NodeGoogleCalendar.d.ts +0 -20
- package/dist/Conversations/Flows/Nodes/NodeGoogleCalendar.js +0 -2
- package/dist/Conversations/Flows/Nodes/NodeGoogleMaps copy.d.ts +0 -12
- package/dist/Conversations/Flows/Nodes/NodeGoogleMaps copy.js +0 -6
- package/dist/Conversations/Flows/Nodes/NodeGoogleMaps.d.ts +0 -15
- package/dist/Conversations/Flows/Nodes/NodeGoogleMaps.js +0 -2
- package/dist/Conversations/Flows/Nodes/NodeMsgReply.d.ts +0 -0
- package/dist/Conversations/Flows/Nodes/NodeMsgReply.js +0 -0
- package/dist/Conversations/Flows/Nodes/NodeMsgSend.d.ts +0 -0
- package/dist/Conversations/Flows/Nodes/NodeMsgSend.js +0 -0
- package/dist/Conversations/Flows/Nodes/NodeMsgText.d.ts +0 -1
- package/dist/Conversations/Flows/Nodes/NodeMsgText.js +0 -27
- package/dist/Conversations/Flows/Nodes/NodeMsgWaitResponse.d.ts +0 -0
- package/dist/Conversations/Flows/Nodes/NodeMsgWaitResponse.js +0 -0
- package/dist/Conversations/Flows/Nodes/NodeRedirect.d.ts +0 -0
- package/dist/Conversations/Flows/Nodes/NodeRedirect.js +0 -0
- package/dist/Conversations/Flows/Nodes/NodeSendEmail.d.ts +0 -0
- package/dist/Conversations/Flows/Nodes/NodeSendEmail.js +0 -0
- package/dist/Conversations/Flows/Nodes/NodeSqlQuery.d.ts +0 -0
- package/dist/Conversations/Flows/Nodes/NodeSqlQuery.js +0 -0
- package/dist/Conversations/Flows/Nodes/NodeStart.d.ts +0 -0
- package/dist/Conversations/Flows/Nodes/NodeStart.js +0 -0
- package/dist/Conversations/Flows/Nodes/NodeTimeScheduleControl.d.ts +0 -0
- package/dist/Conversations/Flows/Nodes/NodeTimeScheduleControl.js +0 -0
- package/dist/Conversations/Flows/Nodes/NodeTimeTimer.d.ts +0 -0
- package/dist/Conversations/Flows/Nodes/NodeTimeTimer.js +0 -0
- package/dist/Conversations/Flows/Nodes/NodeTimeWaitUntil.d.ts +0 -0
- package/dist/Conversations/Flows/Nodes/NodeTimeWaitUntil.js +0 -0
- package/dist/Conversations/Flows/Nodes/NodeToolCalculator.d.ts +0 -2
- package/dist/Conversations/Flows/Nodes/NodeToolCalculator.js +0 -37
- package/dist/Conversations/Flows/Nodes/NodeToolContacts.d.ts +0 -2
- package/dist/Conversations/Flows/Nodes/NodeToolContacts.js +0 -59
- package/dist/Conversations/Flows/Nodes/NodeToolFunction.d.ts +0 -2
- package/dist/Conversations/Flows/Nodes/NodeToolFunction.js +0 -45
- package/dist/Conversations/Flows/Nodes/NodeToolGoogleCalendar.d.ts +0 -2
- package/dist/Conversations/Flows/Nodes/NodeToolGoogleCalendar.js +0 -87
- package/dist/Conversations/Flows/Nodes/NodeToolGoogleMaps.d.ts +0 -1
- package/dist/Conversations/Flows/Nodes/NodeToolGoogleMaps.js +0 -2
- package/dist/Conversations/Flows/Nodes/NodeToolKnowledge.d.ts +0 -2
- package/dist/Conversations/Flows/Nodes/NodeToolKnowledge.js +0 -52
- package/dist/Conversations/Flows/Nodes/NodeToolMapsCheckPolygon.d.ts +0 -2
- package/dist/Conversations/Flows/Nodes/NodeToolMapsCheckPolygon.js +0 -59
- package/dist/Conversations/Flows/Nodes/NodeToolMcpClient.d.ts +0 -2
- package/dist/Conversations/Flows/Nodes/NodeToolMcpClient.js +0 -45
- package/dist/Conversations/Flows/Nodes/NodeToolShoppingCart.d.ts +0 -2
- package/dist/Conversations/Flows/Nodes/NodeToolShoppingCart.js +0 -81
- package/dist/Conversations/Flows/Nodes/index.d.ts +0 -24
- package/dist/Conversations/Flows/Nodes/index.js +0 -40
- package/dist/Presence/ChannelRoutingState.d.ts +0 -17
- package/dist/Presence/ChannelRoutingState.js +0 -9
- package/dist/Tickets/AccessLevel.d.ts +0 -5
- package/dist/Tickets/AccessLevel.js +0 -9
- package/dist/src/Automations/Capabilities/Capability.d.ts +0 -48
- package/dist/src/Automations/Capabilities/Capability.js +0 -9
- package/dist/src/Automations/Capabilities/index.d.ts +0 -1
- package/dist/src/Automations/Capabilities/index.js +0 -17
- package/dist/src/Automations/Common.d.ts +0 -47
- package/dist/src/Automations/Common.js +0 -18
- package/dist/src/Automations/Events/Event.d.ts +0 -41
- package/dist/src/Automations/Events/Event.js +0 -2
- package/dist/src/Automations/Events/index.d.ts +0 -1
- package/dist/src/Automations/Events/index.js +0 -17
- package/dist/src/Automations/Executions/Execution.d.ts +0 -114
- package/dist/src/Automations/Executions/Execution.js +0 -23
- package/dist/src/Automations/Executions/index.d.ts +0 -1
- package/dist/src/Automations/Executions/index.js +0 -17
- package/dist/src/Automations/Flows/Canvas.d.ts +0 -86
- package/dist/src/Automations/Flows/Canvas.js +0 -34
- package/dist/src/Automations/Flows/Flow.d.ts +0 -102
- package/dist/src/Automations/Flows/Flow.js +0 -34
- package/dist/src/Automations/Flows/Requests.d.ts +0 -71
- package/dist/src/Automations/Flows/Requests.js +0 -2
- package/dist/src/Automations/Flows/Validation.d.ts +0 -28
- package/dist/src/Automations/Flows/Validation.js +0 -9
- package/dist/src/Automations/Flows/index.d.ts +0 -4
- package/dist/src/Automations/Flows/index.js +0 -20
- package/dist/src/Automations/Nodes/Node.d.ts +0 -75
- package/dist/src/Automations/Nodes/Node.js +0 -18
- package/dist/src/Automations/Nodes/index.d.ts +0 -1
- package/dist/src/Automations/Nodes/index.js +0 -17
- package/dist/src/Automations/index.d.ts +0 -6
- package/dist/src/Automations/index.js +0 -22
- package/dist/src/Chats/Chat.d.ts +0 -61
- package/dist/src/Chats/Chat.js +0 -28
- package/dist/src/Conversations/Assignment.d.ts +0 -81
- package/dist/src/Conversations/Assignment.js +0 -4
- package/dist/src/Conversations/Outbox.d.ts +0 -24
- package/dist/src/Conversations/Outbox.js +0 -4
- package/dist/src/Conversations/Queue.d.ts +0 -107
- package/dist/src/Conversations/Queue.js +0 -4
- package/dist/src/Conversations/Routing.d.ts +0 -164
- package/dist/src/Conversations/Routing.js +0 -2
- package/dist/src/Conversations/Sla.d.ts +0 -227
- package/dist/src/Conversations/Sla.js +0 -6
- package/dist/src/Conversations/Transfer.d.ts +0 -73
- package/dist/src/Conversations/Transfer.js +0 -2
- package/dist/src/Forms/API.d.ts +0 -53
- package/dist/src/Forms/API.js +0 -2
- package/dist/src/Forms/SubmittedForm.d.ts +0 -56
- package/dist/src/Forms/SubmittedForm.js +0 -9
- package/dist/src/Forms/index.d.ts +0 -2
- package/dist/src/Forms/index.js +0 -18
- package/dist/src/Presence/AgentPause.d.ts +0 -24
- package/dist/src/Presence/AgentPause.js +0 -19
- package/dist/src/Presence/QueueParticipation.d.ts +0 -17
- package/dist/src/Presence/QueueParticipation.js +0 -2
- package/dist/src/Presence/QueueRoutingState.d.ts +0 -27
- package/dist/src/Presence/QueueRoutingState.js +0 -9
- package/dist/src/Presence/index.d.ts +0 -3
- package/dist/src/Presence/index.js +0 -19
- /package/dist/{src/Conversations → Conversations}/InboxMongo.d.ts +0 -0
- /package/dist/{src/Conversations → Conversations}/InboxMongo.js +0 -0
- /package/dist/{src/Conversations → Conversations}/InboxProjection.d.ts +0 -0
- /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:
|
|
4
|
-
readonly START_REQUEST_V1:
|
|
5
|
-
readonly 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:
|
|
13
|
-
readonly messengerUser:
|
|
14
|
-
readonly whatsappUser:
|
|
12
|
+
readonly instagramUser: 'instagram_user';
|
|
13
|
+
readonly messengerUser: 'messenger_user';
|
|
14
|
+
readonly whatsappUser: 'whatsapp_user';
|
|
15
15
|
};
|
|
16
16
|
readonly telegram: {
|
|
17
|
-
readonly user:
|
|
18
|
-
readonly chat:
|
|
17
|
+
readonly user: 'user';
|
|
18
|
+
readonly chat: 'chat';
|
|
19
19
|
};
|
|
20
20
|
readonly trii: {
|
|
21
|
-
readonly webchatVisitor:
|
|
21
|
+
readonly webchatVisitor: 'webchat_visitor';
|
|
22
22
|
};
|
|
23
23
|
readonly mercadolibre: {
|
|
24
|
-
readonly buyer:
|
|
24
|
+
readonly buyer: 'buyer';
|
|
25
25
|
};
|
|
26
26
|
readonly google: {
|
|
27
|
-
readonly businessMessagesUser:
|
|
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:
|
|
4
|
-
readonly 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:
|
|
13
|
-
readonly SCHEDULE_TICK:
|
|
12
|
+
readonly MANUAL: 'automations.manual';
|
|
13
|
+
readonly SCHEDULE_TICK: 'automations.schedule.tick';
|
|
14
14
|
};
|
|
15
15
|
readonly CONTACTS: {
|
|
16
|
-
readonly CONTACT_CREATED:
|
|
17
|
-
readonly BUSINESS_CREATED:
|
|
18
|
-
readonly PROPERTY_CHANGED:
|
|
19
|
-
readonly TAG_ADDED:
|
|
20
|
-
readonly TAG_REMOVED:
|
|
21
|
-
readonly 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:
|
|
25
|
-
readonly CONVERSATION_CLOSED:
|
|
26
|
-
readonly MESSAGE_RECEIVED:
|
|
27
|
-
readonly 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:
|
|
31
|
-
readonly STATUS_CHANGED:
|
|
32
|
-
readonly PRIORITY_CHANGED:
|
|
33
|
-
readonly ASSIGNED:
|
|
34
|
-
readonly CUSTOMER_REPLIED:
|
|
35
|
-
readonly SLA_WARNING:
|
|
36
|
-
readonly SLA_BREACHED:
|
|
37
|
-
readonly CLOSED:
|
|
38
|
-
readonly 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:
|
|
41
|
+
readonly SUBMITTED: 'forms.submitted';
|
|
42
42
|
};
|
|
43
43
|
readonly INTEGRATIONS: {
|
|
44
|
-
readonly 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;
|
package/dist/Tickets/Api.d.ts
CHANGED
|
@@ -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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
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
|
|
125
|
+
export declare class ConversationBotVar {
|
|
133
126
|
title: string;
|
|
134
127
|
value: string;
|
|
135
128
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
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
|
-
|
|
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 {};
|