@trii/types 2.10.764 → 2.10.766
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/Common/Messages/Message.d.ts +1 -0
- package/dist/Common/index.js +7 -17
- package/dist/Contacts/CommunicationEndpoint.d.ts +8 -8
- package/dist/Conversations/Classifications/ConversationClassificationEvents.d.ts +2 -2
- package/dist/Conversations/Conversation.d.ts +11 -11
- package/dist/Conversations/InboxMongo.d.ts +12 -12
- package/dist/Conversations/InboxQueries.d.ts +73 -3
- package/dist/Conversations/Routing.d.ts +10 -10
- package/dist/Conversations/index.js +7 -17
- package/dist/Events/DomainEventTypes.d.ts +23 -23
- package/dist/Spaces/spaces.d.ts +2 -2
- package/dist/Tickets/Automation.d.ts +2 -0
- package/dist/Tickets/Automation.js +2 -0
- package/dist/Tickets/Routing.d.ts +9 -0
- package/dist/Tickets/Workflow.d.ts +3 -1
- package/dist/Tickets/Workflow.js +2 -0
- package/dist/index.js +7 -17
- package/dist/src/Automations/Capabilities/Capability.d.ts +81 -0
- package/dist/src/Automations/Capabilities/Capability.js +23 -0
- package/dist/src/Automations/Capabilities/index.d.ts +1 -0
- package/dist/src/Automations/Capabilities/index.js +17 -0
- package/dist/src/Automations/Common.d.ts +94 -0
- package/dist/src/Automations/Common.js +40 -0
- package/dist/src/Automations/Events/Event.d.ts +69 -0
- package/dist/src/Automations/Events/Event.js +14 -0
- package/dist/src/Automations/Events/index.d.ts +1 -0
- package/dist/src/Automations/Events/index.js +17 -0
- package/dist/src/Automations/Executions/Execution.d.ts +254 -0
- package/dist/src/Automations/Executions/Execution.js +62 -0
- package/dist/src/Automations/Executions/Testing.d.ts +166 -0
- package/dist/src/Automations/Executions/Testing.js +54 -0
- package/dist/src/Automations/Executions/index.d.ts +2 -0
- package/dist/src/Automations/Executions/index.js +18 -0
- package/dist/src/Automations/Flows/Canvas.d.ts +103 -0
- package/dist/src/Automations/Flows/Canvas.js +38 -0
- package/dist/src/Automations/Flows/Flow.d.ts +147 -0
- package/dist/src/Automations/Flows/Flow.js +58 -0
- package/dist/src/Automations/Flows/Requests.d.ts +71 -0
- package/dist/src/Automations/Flows/Validation.d.ts +28 -0
- package/dist/src/Automations/Flows/Validation.js +9 -0
- package/dist/src/Automations/Flows/index.d.ts +4 -0
- package/dist/src/Automations/Flows/index.js +20 -0
- package/dist/src/Automations/Nodes/Node.d.ts +113 -0
- package/dist/src/Automations/Nodes/Node.js +27 -0
- package/dist/src/Automations/Nodes/index.d.ts +1 -0
- package/dist/src/Automations/Nodes/index.js +17 -0
- package/dist/src/Automations/index.d.ts +6 -0
- package/dist/src/Automations/index.js +22 -0
- package/dist/src/Chats/Chat.d.ts +61 -0
- package/dist/src/Chats/Chat.js +28 -0
- package/dist/src/Common/Channels/Channel.d.ts +28 -1
- package/dist/src/Contacts/contacts.d.ts +2 -2
- package/dist/src/Conversations/Assignment.d.ts +81 -0
- package/dist/src/Conversations/Assignment.js +4 -0
- package/dist/src/Conversations/Conversation.d.ts +331 -48
- package/dist/src/Conversations/Conversation.js +14 -34
- package/dist/src/Conversations/DashBoard/dashboard.d.ts +2 -2
- package/dist/src/Conversations/Flows/Workflows/Workflow.d.ts +280 -123
- package/dist/src/Conversations/Flows/Workflows/Workflow.js +85 -35
- package/dist/src/Conversations/Groups/Group.d.ts +2 -8
- package/dist/src/Conversations/Groups/Group.js +0 -6
- package/dist/src/Conversations/InboxMongo.d.ts +154 -0
- package/dist/src/Conversations/InboxMongo.js +128 -0
- package/dist/src/Conversations/InboxProjection.d.ts +162 -0
- package/dist/src/Conversations/InboxProjection.js +2 -0
- package/dist/src/Conversations/Label.d.ts +1 -1
- package/dist/src/Conversations/Outbox.d.ts +24 -0
- package/dist/src/Conversations/Outbox.js +4 -0
- package/dist/src/Conversations/Queue.d.ts +107 -0
- package/dist/src/Conversations/Queue.js +4 -0
- package/dist/src/Conversations/Routing.d.ts +164 -0
- package/dist/src/Conversations/Routing.js +2 -0
- package/dist/src/Conversations/Sla.d.ts +227 -0
- package/dist/src/Conversations/Sla.js +6 -0
- package/dist/src/Conversations/Transfer.d.ts +73 -0
- package/dist/src/Conversations/Transfer.js +2 -0
- package/dist/src/Conversations/WebHook.d.ts +1 -1
- package/dist/src/Conversations/index.d.ts +9 -1
- package/dist/src/Conversations/index.js +9 -1
- package/dist/src/Forms/API.d.ts +53 -0
- package/dist/src/Forms/API.js +2 -0
- package/dist/src/Forms/SubmittedForm.d.ts +56 -0
- package/dist/src/Forms/SubmittedForm.js +9 -0
- package/dist/src/Forms/index.d.ts +2 -0
- package/dist/src/Forms/index.js +18 -0
- package/dist/src/Presence/AgentPause.d.ts +24 -0
- package/dist/src/Presence/AgentPause.js +19 -0
- package/dist/src/Presence/QueueParticipation.d.ts +17 -0
- package/dist/src/Presence/QueueParticipation.js +2 -0
- package/dist/src/Presence/QueueRoutingState.d.ts +27 -0
- package/dist/src/Presence/QueueRoutingState.js +9 -0
- package/dist/src/Presence/index.d.ts +3 -0
- package/dist/src/Presence/index.js +19 -0
- package/dist/src/Tickets/Category.d.ts +18 -0
- package/dist/src/Tickets/Dashboard.d.ts +78 -0
- package/dist/src/Tickets/Dashboard.js +13 -1
- package/dist/src/Tickets/Fields.d.ts +1 -0
- package/dist/src/Tickets/Layouts.d.ts +3 -1
- package/dist/src/Tickets/Workflow.d.ts +20 -0
- package/dist/src/Users/UserTrii.d.ts +10 -0
- package/dist/src/Users/UserTrii.js +8 -1
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.js +4 -1
- package/package.json +5 -2
- package/dist/Conversations/DashBoard/dashboardForms.d.ts +0 -44
- package/dist/Conversations/DashBoard/dashboardForms.js +0 -24
- package/dist/Conversations/InboxCounters.d.ts +0 -18
- package/dist/src/Conversations/DashBoard/dashboardForms.d.ts +0 -44
- package/dist/src/Conversations/DashBoard/dashboardForms.js +0 -24
- /package/dist/{Conversations/InboxCounters.js → src/Automations/Flows/Requests.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;
|
package/dist/Common/index.js
CHANGED
|
@@ -15,23 +15,13 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) ||
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
35
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
26
|
exports.QueueEvent = exports.Schedules = exports.Notifications = exports.Messages = exports.Channels = exports.API = void 0;
|
|
37
27
|
exports.API = __importStar(require("./API/index"));
|
|
@@ -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
|
/**
|
|
@@ -11,6 +11,7 @@ import { IEnding } from "./Ending";
|
|
|
11
11
|
import { ChatType } from "../Chats/Chat";
|
|
12
12
|
import { TransferConversationCommand, TransferConversationResult } from "./Transfer";
|
|
13
13
|
import { AcceptConversationAssignmentCommand, AcceptConversationAssignmentResult, DeclineConversationAssignmentCommand, DeclineConversationAssignmentResult, CancelConversationAssignmentCommand, CancelConversationAssignmentResult } from "./Assignment";
|
|
14
|
+
import { InboxPaginationSort, InboxSortDirection } from "./InboxQueries";
|
|
14
15
|
export interface IConversation {
|
|
15
16
|
id: string;
|
|
16
17
|
spaceId: string;
|
|
@@ -258,35 +259,35 @@ export type ConversationAssignmentSnapshot = {
|
|
|
258
259
|
offerExpiresAt?: never;
|
|
259
260
|
assignedAt?: never;
|
|
260
261
|
acceptedAt?: never;
|
|
261
|
-
} |
|
|
262
|
+
} | QueuedConversationAssignmentBase & {
|
|
262
263
|
status: 'queued' | 'routing';
|
|
263
264
|
owner: NoConversationOwner;
|
|
264
265
|
offeredAt?: never;
|
|
265
266
|
offerExpiresAt?: never;
|
|
266
267
|
assignedAt?: never;
|
|
267
268
|
acceptedAt?: never;
|
|
268
|
-
}
|
|
269
|
+
} | QueuedConversationAssignmentBase & {
|
|
269
270
|
status: 'offered';
|
|
270
271
|
owner: UserConversationOwner;
|
|
271
272
|
offeredAt: Date;
|
|
272
273
|
offerExpiresAt?: Date;
|
|
273
274
|
assignedAt?: never;
|
|
274
275
|
acceptedAt?: never;
|
|
275
|
-
}
|
|
276
|
+
} | QueuedConversationAssignmentBase & {
|
|
276
277
|
status: 'assigned';
|
|
277
278
|
owner: UserConversationOwner;
|
|
278
279
|
offeredAt?: Date;
|
|
279
280
|
offerExpiresAt?: Date;
|
|
280
281
|
assignedAt: Date;
|
|
281
282
|
acceptedAt?: never;
|
|
282
|
-
}
|
|
283
|
+
} | QueuedConversationAssignmentBase & {
|
|
283
284
|
status: 'accepted';
|
|
284
285
|
owner: UserConversationOwner;
|
|
285
286
|
offeredAt?: Date;
|
|
286
287
|
offerExpiresAt?: Date;
|
|
287
288
|
assignedAt: Date;
|
|
288
289
|
acceptedAt: Date;
|
|
289
|
-
}
|
|
290
|
+
};
|
|
290
291
|
export type ActorType = 'user' | 'contact' | 'bot' | 'flow' | 'system';
|
|
291
292
|
export type ParticipantRole = 'owner' | 'collaborator' | 'follower' | 'mentioned' | 'supervisor' | 'bot' | 'flow' | 'historical';
|
|
292
293
|
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 +321,15 @@ interface ConversationSubscriptionBase {
|
|
|
320
321
|
* A subscription is persistent product intent. Assignment or participation
|
|
321
322
|
* visibility must not create it unless an explicit auto-follow policy applies.
|
|
322
323
|
*/
|
|
323
|
-
export type ConversationSubscription =
|
|
324
|
+
export type ConversationSubscription = ConversationSubscriptionBase & {
|
|
324
325
|
status: 'following';
|
|
325
326
|
followedAt: Date;
|
|
326
327
|
unfollowedAt?: never;
|
|
327
|
-
}
|
|
328
|
+
} | ConversationSubscriptionBase & {
|
|
328
329
|
status: 'unfollowed';
|
|
329
330
|
followedAt: Date;
|
|
330
331
|
unfollowedAt: Date;
|
|
331
|
-
}
|
|
332
|
+
};
|
|
332
333
|
export interface PutConversationSubscriptionRequest {
|
|
333
334
|
expectedVersion?: number;
|
|
334
335
|
notifications: ConversationSubscriptionNotifications;
|
|
@@ -387,9 +388,8 @@ export interface InboxFilterDto {
|
|
|
387
388
|
to?: Date;
|
|
388
389
|
};
|
|
389
390
|
sort: {
|
|
390
|
-
type:
|
|
391
|
-
|
|
392
|
-
type: 'priority';
|
|
391
|
+
type: InboxPaginationSort;
|
|
392
|
+
direction?: InboxSortDirection;
|
|
393
393
|
};
|
|
394
394
|
}
|
|
395
395
|
export interface InboxFacetOptionDto {
|
|
@@ -11,7 +11,7 @@ export declare const INBOX_PROCESSOR_RECEIPTS_COLLECTION = "inbox_processor_rece
|
|
|
11
11
|
* InboxAudienceResolver receives as input.
|
|
12
12
|
*/
|
|
13
13
|
export declare const CONVERSATION_SUBSCRIPTION_INDEXES: readonly [{
|
|
14
|
-
readonly name:
|
|
14
|
+
readonly name: "uq_subscription_user_conversation";
|
|
15
15
|
readonly key: {
|
|
16
16
|
readonly spaceId: 1;
|
|
17
17
|
readonly userId: 1;
|
|
@@ -19,7 +19,7 @@ export declare const CONVERSATION_SUBSCRIPTION_INDEXES: readonly [{
|
|
|
19
19
|
};
|
|
20
20
|
readonly unique: true;
|
|
21
21
|
}, {
|
|
22
|
-
readonly name:
|
|
22
|
+
readonly name: "ix_subscription_conversation_followers";
|
|
23
23
|
readonly key: {
|
|
24
24
|
readonly spaceId: 1;
|
|
25
25
|
readonly conversationId: 1;
|
|
@@ -35,7 +35,7 @@ export declare const CONVERSATION_SUBSCRIPTION_INDEXES: readonly [{
|
|
|
35
35
|
* must not combine multiple array paths.
|
|
36
36
|
*/
|
|
37
37
|
export declare const USER_INBOX_ITEM_INDEXES: readonly [{
|
|
38
|
-
readonly name:
|
|
38
|
+
readonly name: "uq_inbox_item_user_conversation";
|
|
39
39
|
readonly key: {
|
|
40
40
|
readonly spaceId: 1;
|
|
41
41
|
readonly userId: 1;
|
|
@@ -43,7 +43,7 @@ export declare const USER_INBOX_ITEM_INDEXES: readonly [{
|
|
|
43
43
|
};
|
|
44
44
|
readonly unique: true;
|
|
45
45
|
}, {
|
|
46
|
-
readonly name:
|
|
46
|
+
readonly name: "ix_inbox_view_activity";
|
|
47
47
|
readonly key: {
|
|
48
48
|
readonly spaceId: 1;
|
|
49
49
|
readonly userId: 1;
|
|
@@ -53,7 +53,7 @@ export declare const USER_INBOX_ITEM_INDEXES: readonly [{
|
|
|
53
53
|
readonly id: -1;
|
|
54
54
|
};
|
|
55
55
|
}, {
|
|
56
|
-
readonly name:
|
|
56
|
+
readonly name: "ix_inbox_view_priority";
|
|
57
57
|
readonly key: {
|
|
58
58
|
readonly spaceId: 1;
|
|
59
59
|
readonly userId: 1;
|
|
@@ -64,7 +64,7 @@ export declare const USER_INBOX_ITEM_INDEXES: readonly [{
|
|
|
64
64
|
readonly id: -1;
|
|
65
65
|
};
|
|
66
66
|
}, {
|
|
67
|
-
readonly name:
|
|
67
|
+
readonly name: "ix_inbox_view_status_activity";
|
|
68
68
|
readonly key: {
|
|
69
69
|
readonly spaceId: 1;
|
|
70
70
|
readonly userId: 1;
|
|
@@ -74,7 +74,7 @@ export declare const USER_INBOX_ITEM_INDEXES: readonly [{
|
|
|
74
74
|
readonly id: -1;
|
|
75
75
|
};
|
|
76
76
|
}, {
|
|
77
|
-
readonly name:
|
|
77
|
+
readonly name: "ix_inbox_view_queue_activity";
|
|
78
78
|
readonly key: {
|
|
79
79
|
readonly spaceId: 1;
|
|
80
80
|
readonly userId: 1;
|
|
@@ -91,7 +91,7 @@ export declare const USER_INBOX_ITEM_INDEXES: readonly [{
|
|
|
91
91
|
* spaceId + userId prefix.
|
|
92
92
|
*/
|
|
93
93
|
export declare const USER_INBOX_COUNTER_INDEXES: readonly [{
|
|
94
|
-
readonly name:
|
|
94
|
+
readonly name: "uq_inbox_counter_user_view";
|
|
95
95
|
readonly key: {
|
|
96
96
|
readonly spaceId: 1;
|
|
97
97
|
readonly userId: 1;
|
|
@@ -103,7 +103,7 @@ export declare const USER_INBOX_COUNTER_INDEXES: readonly [{
|
|
|
103
103
|
* MongoDB indexes for durable processor idempotency receipts.
|
|
104
104
|
*/
|
|
105
105
|
export declare const INBOX_PROCESSOR_RECEIPT_INDEXES: readonly [{
|
|
106
|
-
readonly name:
|
|
106
|
+
readonly name: "uq_inbox_processor_source_scope";
|
|
107
107
|
readonly key: {
|
|
108
108
|
readonly processor: 1;
|
|
109
109
|
readonly sourceEventId: 1;
|
|
@@ -144,11 +144,11 @@ interface InboxPageQueryBase {
|
|
|
144
144
|
viewId: InboxViewId;
|
|
145
145
|
limit: number;
|
|
146
146
|
}
|
|
147
|
-
export type InboxPageQuery =
|
|
147
|
+
export type InboxPageQuery = InboxPageQueryBase & {
|
|
148
148
|
sort: 'activity';
|
|
149
149
|
cursor?: InboxActivityCursor;
|
|
150
|
-
}
|
|
150
|
+
} | InboxPageQueryBase & {
|
|
151
151
|
sort: 'priority';
|
|
152
152
|
cursor?: InboxPriorityCursor;
|
|
153
|
-
}
|
|
153
|
+
};
|
|
154
154
|
export {};
|
|
@@ -1,23 +1,33 @@
|
|
|
1
|
-
import type { ID, InboxViewId, InboxFilterDto } from './Conversation';
|
|
2
|
-
export type InboxPaginationSort = 'activity' | 'priority';
|
|
1
|
+
import type { ID, InboxViewId, InboxFilterDto, IConversation, ConversationStatus, InteractionKind } from './Conversation';
|
|
2
|
+
export type InboxPaginationSort = 'activity' | 'priority' | 'created';
|
|
3
|
+
export type InboxSortDirection = 'asc' | 'desc';
|
|
3
4
|
/** Cursor over current authorized conversations, after filtering.
|
|
4
5
|
* Bind to tenant/user/view/filter/sort; live updates may move rows between pages.
|
|
5
6
|
*/
|
|
6
7
|
export interface InboxActivityCursor {
|
|
7
8
|
sort: 'activity';
|
|
9
|
+
direction?: InboxSortDirection;
|
|
8
10
|
pinned: boolean;
|
|
9
11
|
lastActivityAt: Date;
|
|
10
12
|
conversationId: ID;
|
|
11
13
|
}
|
|
12
14
|
export interface InboxPriorityCursor {
|
|
13
15
|
sort: 'priority';
|
|
16
|
+
direction?: InboxSortDirection;
|
|
14
17
|
pinned: boolean;
|
|
15
18
|
/** Explicit rank urgent > high > normal > low, not lexical order. */
|
|
16
19
|
priority: 'low' | 'normal' | 'high' | 'urgent';
|
|
17
20
|
lastActivityAt: Date;
|
|
18
21
|
conversationId: ID;
|
|
19
22
|
}
|
|
20
|
-
export
|
|
23
|
+
export interface InboxCreatedCursor {
|
|
24
|
+
sort: 'created';
|
|
25
|
+
direction?: InboxSortDirection;
|
|
26
|
+
pinned: boolean;
|
|
27
|
+
createdAt: Date;
|
|
28
|
+
conversationId: ID;
|
|
29
|
+
}
|
|
30
|
+
export type InboxPaginationCursor = InboxActivityCursor | InboxPriorityCursor | InboxCreatedCursor;
|
|
21
31
|
export interface InboxPageQuery {
|
|
22
32
|
/** Trusted server context, not client authorization claims. */
|
|
23
33
|
spaceId: ID;
|
|
@@ -28,3 +38,63 @@ export interface InboxPageQuery {
|
|
|
28
38
|
/** Must match filter.sort. */
|
|
29
39
|
cursor?: InboxPaginationCursor | null;
|
|
30
40
|
}
|
|
41
|
+
/** Complete authorized personal lists for local-first inbox navigation. */
|
|
42
|
+
export interface PersonalInboxSnapshot {
|
|
43
|
+
schemaVersion: 1;
|
|
44
|
+
generatedAt: string;
|
|
45
|
+
snapshotId: string;
|
|
46
|
+
views: PersonalInboxMembership;
|
|
47
|
+
items: PersonalInboxItem[];
|
|
48
|
+
}
|
|
49
|
+
export interface PersonalInboxMembership {
|
|
50
|
+
pending: ID[];
|
|
51
|
+
following: ID[];
|
|
52
|
+
}
|
|
53
|
+
export interface PersonalInboxItem {
|
|
54
|
+
id: ID;
|
|
55
|
+
version: number;
|
|
56
|
+
chatName: string;
|
|
57
|
+
contactName: string | null;
|
|
58
|
+
contactId: ID | null;
|
|
59
|
+
contactIsBusiness: boolean | null;
|
|
60
|
+
chatImage: string | null;
|
|
61
|
+
channelType: string;
|
|
62
|
+
channelName: string | null;
|
|
63
|
+
status: ConversationStatus;
|
|
64
|
+
priority: IConversation['priority'];
|
|
65
|
+
lastMessagePreview: string;
|
|
66
|
+
lastMessageId: ID | null;
|
|
67
|
+
wallRootCommentId: ID | null;
|
|
68
|
+
lastActivityAt: string;
|
|
69
|
+
createdAt: string;
|
|
70
|
+
pinned: boolean;
|
|
71
|
+
requiresAction: boolean;
|
|
72
|
+
unreadCount: number;
|
|
73
|
+
isUnread: boolean;
|
|
74
|
+
readState: IConversation['readState'];
|
|
75
|
+
slaStatus: IConversation['sla']['status'];
|
|
76
|
+
slaDeadlineAt: string | null;
|
|
77
|
+
queueId: ID | null;
|
|
78
|
+
ownerUserId: ID | null;
|
|
79
|
+
ownerName: string | null;
|
|
80
|
+
ownerAvatarUrl: string | null;
|
|
81
|
+
interactionKind: InteractionKind;
|
|
82
|
+
participants: {
|
|
83
|
+
id: ID;
|
|
84
|
+
name: string;
|
|
85
|
+
imageUrl: string | null;
|
|
86
|
+
}[];
|
|
87
|
+
labels: {
|
|
88
|
+
id: ID;
|
|
89
|
+
name: string | null;
|
|
90
|
+
color: string | null;
|
|
91
|
+
}[];
|
|
92
|
+
}
|
|
93
|
+
export interface ResolvePersonalInboxItemsRequest {
|
|
94
|
+
conversationIds: ID[];
|
|
95
|
+
}
|
|
96
|
+
export interface ResolvedPersonalInboxItems {
|
|
97
|
+
views: PersonalInboxMembership;
|
|
98
|
+
items: PersonalInboxItem[];
|
|
99
|
+
removedIds: ID[];
|
|
100
|
+
}
|
|
@@ -18,27 +18,27 @@ export interface PartyOwnerAssigneeResolver {
|
|
|
18
18
|
mode: 'prefer' | 'required';
|
|
19
19
|
}
|
|
20
20
|
export type QueueOwnerAssigneeResolver = PartyOwnerAssigneeResolver;
|
|
21
|
-
export type QueueRoutingPolicy =
|
|
21
|
+
export type QueueRoutingPolicy = QueueRoutingPolicyBase & {
|
|
22
22
|
distributionMode: 'shared';
|
|
23
23
|
strategy?: never;
|
|
24
24
|
ownerResolver?: never;
|
|
25
|
-
}
|
|
25
|
+
} | QueueRoutingPolicyBase & {
|
|
26
26
|
distributionMode: 'manual_pull';
|
|
27
27
|
strategy?: never;
|
|
28
28
|
ownerResolver?: never;
|
|
29
|
-
}
|
|
29
|
+
} | QueueRoutingPolicyBase & {
|
|
30
30
|
distributionMode: 'exclusive';
|
|
31
31
|
strategy: QueueRoutingStrategy;
|
|
32
|
-
ownerResolver?: undefined |
|
|
32
|
+
ownerResolver?: undefined | PartyOwnerAssigneeResolver & {
|
|
33
33
|
mode: 'prefer';
|
|
34
|
-
}
|
|
35
|
-
}
|
|
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
|
-
} |
|
|
128
|
+
} | FailedPartyOwnerEvaluation & {
|
|
129
129
|
type: 'party_owner';
|
|
130
130
|
mode: 'prefer';
|
|
131
131
|
nextStep: 'strategy';
|
|
132
|
-
}
|
|
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;
|
|
@@ -15,23 +15,13 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) ||
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
35
25
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
36
26
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
37
27
|
};
|
|
@@ -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/Spaces/spaces.d.ts
CHANGED
|
@@ -50,13 +50,13 @@ export declare const RegionInfo: {
|
|
|
50
50
|
Value: number;
|
|
51
51
|
DisplayName: string;
|
|
52
52
|
RegionalDisplayName: string;
|
|
53
|
-
}
|
|
53
|
+
};
|
|
54
54
|
getInfo_from_Value: (Value: number) => {
|
|
55
55
|
Name: string;
|
|
56
56
|
Value: number;
|
|
57
57
|
DisplayName: string;
|
|
58
58
|
RegionalDisplayName: string;
|
|
59
|
-
}
|
|
59
|
+
};
|
|
60
60
|
};
|
|
61
61
|
export interface ISpace {
|
|
62
62
|
id: string;
|
|
@@ -25,6 +25,8 @@ export declare enum TicketAutomationTrigger {
|
|
|
25
25
|
TICKET_RESOLVED = "TICKET_RESOLVED",
|
|
26
26
|
/** The ticket entered a work queue or moved to another one. */
|
|
27
27
|
TICKET_ENQUEUED = "TICKET_ENQUEUED",
|
|
28
|
+
/** A step of an escalation policy ran on the ticket. */
|
|
29
|
+
TICKET_ESCALATED = "TICKET_ESCALATED",
|
|
28
30
|
SCHEDULED = "SCHEDULED",
|
|
29
31
|
MANUAL = "MANUAL"
|
|
30
32
|
}
|
|
@@ -27,6 +27,8 @@ var TicketAutomationTrigger;
|
|
|
27
27
|
TicketAutomationTrigger["TICKET_RESOLVED"] = "TICKET_RESOLVED";
|
|
28
28
|
/** The ticket entered a work queue or moved to another one. */
|
|
29
29
|
TicketAutomationTrigger["TICKET_ENQUEUED"] = "TICKET_ENQUEUED";
|
|
30
|
+
/** A step of an escalation policy ran on the ticket. */
|
|
31
|
+
TicketAutomationTrigger["TICKET_ESCALATED"] = "TICKET_ESCALATED";
|
|
30
32
|
TicketAutomationTrigger["SCHEDULED"] = "SCHEDULED";
|
|
31
33
|
TicketAutomationTrigger["MANUAL"] = "MANUAL";
|
|
32
34
|
})(TicketAutomationTrigger || (exports.TicketAutomationTrigger = TicketAutomationTrigger = {}));
|
|
@@ -147,6 +147,12 @@ export interface ITicketQueue extends ITicketAuditedEntity {
|
|
|
147
147
|
strategy: TicketRoutingStrategy;
|
|
148
148
|
ordering: ITicketQueueOrder[];
|
|
149
149
|
skillRequirements?: ITicketSkillRequirement[];
|
|
150
|
+
/**
|
|
151
|
+
* How long a ticket may wait in this queue before `escalationPolicyId` starts:
|
|
152
|
+
* escalation starts at the ticket's enqueue time + this value (0 = as soon as it
|
|
153
|
+
* waits). Without it the queue never escalates. Pulling or assigning the ticket
|
|
154
|
+
* stops the clock; re-enqueueing restarts it. Wall-clock minutes (no calendar).
|
|
155
|
+
*/
|
|
150
156
|
maximumWaitMinutes?: number;
|
|
151
157
|
escalationPolicyId?: string;
|
|
152
158
|
}
|
|
@@ -175,8 +181,11 @@ export interface ITicketEscalationStep {
|
|
|
175
181
|
id: string;
|
|
176
182
|
order: number;
|
|
177
183
|
trigger: TicketEscalationTrigger;
|
|
184
|
+
/** Minutes after the escalation started (see ITicketQueue.maximumWaitMinutes) until the first run. Default 0. */
|
|
178
185
|
thresholdMinutes?: number;
|
|
186
|
+
/** Runs again every N minutes after the first one. Without it the step runs once. */
|
|
179
187
|
repeatEveryMinutes?: number;
|
|
188
|
+
/** Cap on runs per stay in the queue (a re-enqueue starts a new stay). */
|
|
180
189
|
maximumExecutions?: number;
|
|
181
190
|
actions: ITicketEscalationAction[];
|
|
182
191
|
}
|
|
@@ -94,7 +94,9 @@ export declare enum TicketActivityType {
|
|
|
94
94
|
CHECKLIST_COMPLETED = "CHECKLIST_COMPLETED",
|
|
95
95
|
TICKET_EVENT = "TICKET_EVENT",
|
|
96
96
|
/** The ticket entered a work queue or moved to another one (`changes` carries `queueId`). */
|
|
97
|
-
ENQUEUED = "ENQUEUED"
|
|
97
|
+
ENQUEUED = "ENQUEUED",
|
|
98
|
+
/** A step of an escalation policy ran on the ticket (`changes` carries what its actions changed). */
|
|
99
|
+
ESCALATED = "ESCALATED"
|
|
98
100
|
}
|
|
99
101
|
export interface ITicketFieldChange {
|
|
100
102
|
fieldNameKey: string;
|
package/dist/Tickets/Workflow.js
CHANGED
|
@@ -43,4 +43,6 @@ var TicketActivityType;
|
|
|
43
43
|
TicketActivityType["TICKET_EVENT"] = "TICKET_EVENT";
|
|
44
44
|
/** The ticket entered a work queue or moved to another one (`changes` carries `queueId`). */
|
|
45
45
|
TicketActivityType["ENQUEUED"] = "ENQUEUED";
|
|
46
|
+
/** A step of an escalation policy ran on the ticket (`changes` carries what its actions changed). */
|
|
47
|
+
TicketActivityType["ESCALATED"] = "ESCALATED";
|
|
46
48
|
})(TicketActivityType || (exports.TicketActivityType = TicketActivityType = {}));
|
package/dist/index.js
CHANGED
|
@@ -15,23 +15,13 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) ||
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
35
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
26
|
exports.Automations = exports.Forms = exports.APIResponses = exports.Shop = exports.AI = exports.APIKeys = exports.Events = exports.EventsQueue = exports.ApiResponses = exports.Presence = exports.Users = exports.Collections = exports.Sales = exports.Tickets = exports.Spaces = exports.Reports = exports.Security = exports.Calls = exports.Conversations = exports.Calendar = exports.Contacts = exports.Common = exports.AuditLogs = exports.Accounts = void 0;
|
|
37
27
|
exports.Accounts = __importStar(require("./Accounts/index"));
|