@trii/types 2.10.742 → 2.10.744
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/index.js +17 -7
- 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/DashBoard/dashboardForms.d.ts +44 -0
- package/dist/Conversations/DashBoard/dashboardForms.js +24 -0
- package/dist/Conversations/InboxCounters.d.ts +18 -0
- package/dist/Conversations/InboxMongo.d.ts +12 -12
- package/dist/Conversations/Routing.d.ts +10 -10
- package/dist/Conversations/index.js +17 -7
- package/dist/Events/DomainEventTypes.d.ts +23 -23
- package/dist/Tickets/SelfService.d.ts +130 -1
- package/dist/index.js +17 -7
- package/dist/src/Common/Channels/Channel.d.ts +1 -28
- package/dist/src/Contacts/contacts.d.ts +2 -2
- package/dist/src/Conversations/Conversation.d.ts +48 -331
- 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 -78
- 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 +2 -5
- package/dist/src/Automations/Capabilities/Capability.d.ts +0 -81
- package/dist/src/Automations/Capabilities/Capability.js +0 -23
- 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 -94
- package/dist/src/Automations/Common.js +0 -40
- package/dist/src/Automations/Events/Event.d.ts +0 -69
- package/dist/src/Automations/Events/Event.js +0 -14
- 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 -254
- package/dist/src/Automations/Executions/Execution.js +0 -62
- package/dist/src/Automations/Executions/Testing.d.ts +0 -166
- package/dist/src/Automations/Executions/Testing.js +0 -54
- package/dist/src/Automations/Executions/index.d.ts +0 -2
- package/dist/src/Automations/Executions/index.js +0 -18
- package/dist/src/Automations/Flows/Canvas.d.ts +0 -103
- package/dist/src/Automations/Flows/Canvas.js +0 -38
- package/dist/src/Automations/Flows/Flow.d.ts +0 -147
- package/dist/src/Automations/Flows/Flow.js +0 -58
- package/dist/src/Automations/Flows/Requests.d.ts +0 -71
- 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 -113
- package/dist/src/Automations/Nodes/Node.js +0 -27
- 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/InboxMongo.d.ts +0 -154
- package/dist/src/Conversations/InboxMongo.js +0 -128
- package/dist/src/Conversations/InboxProjection.d.ts +0 -162
- package/dist/src/Conversations/InboxProjection.js +0 -2
- 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/Automations/Flows/Requests.js → Conversations/InboxCounters.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,13 +15,23 @@ 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) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
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
|
+
})();
|
|
25
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
36
|
exports.QueueEvent = exports.Schedules = exports.Notifications = exports.Messages = exports.Channels = exports.API = void 0;
|
|
27
37
|
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
|
/**
|
|
@@ -233,35 +233,35 @@ export type ConversationAssignmentSnapshot = {
|
|
|
233
233
|
offerExpiresAt?: never;
|
|
234
234
|
assignedAt?: never;
|
|
235
235
|
acceptedAt?: never;
|
|
236
|
-
} | QueuedConversationAssignmentBase & {
|
|
236
|
+
} | (QueuedConversationAssignmentBase & {
|
|
237
237
|
status: 'queued' | 'routing';
|
|
238
238
|
owner: NoConversationOwner;
|
|
239
239
|
offeredAt?: never;
|
|
240
240
|
offerExpiresAt?: never;
|
|
241
241
|
assignedAt?: never;
|
|
242
242
|
acceptedAt?: never;
|
|
243
|
-
} | QueuedConversationAssignmentBase & {
|
|
243
|
+
}) | (QueuedConversationAssignmentBase & {
|
|
244
244
|
status: 'offered';
|
|
245
245
|
owner: UserConversationOwner;
|
|
246
246
|
offeredAt: Date;
|
|
247
247
|
offerExpiresAt?: Date;
|
|
248
248
|
assignedAt?: never;
|
|
249
249
|
acceptedAt?: never;
|
|
250
|
-
} | QueuedConversationAssignmentBase & {
|
|
250
|
+
}) | (QueuedConversationAssignmentBase & {
|
|
251
251
|
status: 'assigned';
|
|
252
252
|
owner: UserConversationOwner;
|
|
253
253
|
offeredAt?: Date;
|
|
254
254
|
offerExpiresAt?: Date;
|
|
255
255
|
assignedAt: Date;
|
|
256
256
|
acceptedAt?: never;
|
|
257
|
-
} | QueuedConversationAssignmentBase & {
|
|
257
|
+
}) | (QueuedConversationAssignmentBase & {
|
|
258
258
|
status: 'accepted';
|
|
259
259
|
owner: UserConversationOwner;
|
|
260
260
|
offeredAt?: Date;
|
|
261
261
|
offerExpiresAt?: Date;
|
|
262
262
|
assignedAt: Date;
|
|
263
263
|
acceptedAt: Date;
|
|
264
|
-
};
|
|
264
|
+
});
|
|
265
265
|
export type ActorType = 'user' | 'contact' | 'bot' | 'flow' | 'system';
|
|
266
266
|
export type ParticipantRole = 'owner' | 'collaborator' | 'follower' | 'mentioned' | 'supervisor' | 'bot' | 'flow' | 'historical';
|
|
267
267
|
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';
|
|
@@ -295,15 +295,15 @@ interface ConversationSubscriptionBase {
|
|
|
295
295
|
* A subscription is persistent product intent. Assignment or participation
|
|
296
296
|
* visibility must not create it unless an explicit auto-follow policy applies.
|
|
297
297
|
*/
|
|
298
|
-
export type ConversationSubscription = ConversationSubscriptionBase & {
|
|
298
|
+
export type ConversationSubscription = (ConversationSubscriptionBase & {
|
|
299
299
|
status: 'following';
|
|
300
300
|
followedAt: Date;
|
|
301
301
|
unfollowedAt?: never;
|
|
302
|
-
} | ConversationSubscriptionBase & {
|
|
302
|
+
}) | (ConversationSubscriptionBase & {
|
|
303
303
|
status: 'unfollowed';
|
|
304
304
|
followedAt: Date;
|
|
305
305
|
unfollowedAt: Date;
|
|
306
|
-
};
|
|
306
|
+
});
|
|
307
307
|
export interface PutConversationSubscriptionRequest {
|
|
308
308
|
expectedVersion?: number;
|
|
309
309
|
notifications: ConversationSubscriptionNotifications;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { FormItemType } from "../../Common/Channels/Form";
|
|
2
|
+
export declare class DashBoardFormsSummaryInfo {
|
|
3
|
+
formId: string;
|
|
4
|
+
timeStart: Date;
|
|
5
|
+
timeEnd: Date;
|
|
6
|
+
completedForms: number;
|
|
7
|
+
records: DashBoardFormsQuestionSummary[];
|
|
8
|
+
}
|
|
9
|
+
export declare class DashBoardFormsQuestionSummary {
|
|
10
|
+
questionId: string;
|
|
11
|
+
question: string;
|
|
12
|
+
type: FormItemType;
|
|
13
|
+
count: number;
|
|
14
|
+
responses: DashBoardFormsResponseSummary[];
|
|
15
|
+
}
|
|
16
|
+
export declare class DashBoardFormsResponseSummary {
|
|
17
|
+
count: number;
|
|
18
|
+
responseTitle: string;
|
|
19
|
+
}
|
|
20
|
+
export declare class DashBoardFormsSubmittedFormsInfo {
|
|
21
|
+
formId: string;
|
|
22
|
+
timeStart: Date;
|
|
23
|
+
timeEnd: Date;
|
|
24
|
+
completedForms: number;
|
|
25
|
+
records: DashBoardFormsSubmittedFormRecord[];
|
|
26
|
+
}
|
|
27
|
+
export declare class DashBoardFormsSubmittedFormRecord {
|
|
28
|
+
id: string;
|
|
29
|
+
tags: FormTag[];
|
|
30
|
+
responses: DashBoardFormsSubmittedFormResponse[];
|
|
31
|
+
expireAt: Date;
|
|
32
|
+
createdAt: Date;
|
|
33
|
+
completedAt: Date;
|
|
34
|
+
}
|
|
35
|
+
export declare class DashBoardFormsSubmittedFormResponse {
|
|
36
|
+
questionId: string;
|
|
37
|
+
question: string;
|
|
38
|
+
type: FormItemType;
|
|
39
|
+
response: any;
|
|
40
|
+
}
|
|
41
|
+
export declare class FormTag {
|
|
42
|
+
name: string;
|
|
43
|
+
value: string;
|
|
44
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FormTag = exports.DashBoardFormsSubmittedFormResponse = exports.DashBoardFormsSubmittedFormRecord = exports.DashBoardFormsSubmittedFormsInfo = exports.DashBoardFormsResponseSummary = exports.DashBoardFormsQuestionSummary = exports.DashBoardFormsSummaryInfo = void 0;
|
|
4
|
+
class DashBoardFormsSummaryInfo {
|
|
5
|
+
}
|
|
6
|
+
exports.DashBoardFormsSummaryInfo = DashBoardFormsSummaryInfo;
|
|
7
|
+
class DashBoardFormsQuestionSummary {
|
|
8
|
+
}
|
|
9
|
+
exports.DashBoardFormsQuestionSummary = DashBoardFormsQuestionSummary;
|
|
10
|
+
class DashBoardFormsResponseSummary {
|
|
11
|
+
}
|
|
12
|
+
exports.DashBoardFormsResponseSummary = DashBoardFormsResponseSummary;
|
|
13
|
+
class DashBoardFormsSubmittedFormsInfo {
|
|
14
|
+
}
|
|
15
|
+
exports.DashBoardFormsSubmittedFormsInfo = DashBoardFormsSubmittedFormsInfo;
|
|
16
|
+
class DashBoardFormsSubmittedFormRecord {
|
|
17
|
+
}
|
|
18
|
+
exports.DashBoardFormsSubmittedFormRecord = DashBoardFormsSubmittedFormRecord;
|
|
19
|
+
class DashBoardFormsSubmittedFormResponse {
|
|
20
|
+
}
|
|
21
|
+
exports.DashBoardFormsSubmittedFormResponse = DashBoardFormsSubmittedFormResponse;
|
|
22
|
+
class FormTag {
|
|
23
|
+
}
|
|
24
|
+
exports.FormTag = FormTag;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface InboxCounters {
|
|
2
|
+
spaceId: string;
|
|
3
|
+
userId: string;
|
|
4
|
+
pending: number;
|
|
5
|
+
following: number;
|
|
6
|
+
slaWarning: number;
|
|
7
|
+
slaBreached: number;
|
|
8
|
+
teamSlaBreached: number;
|
|
9
|
+
finalized: number;
|
|
10
|
+
spam: number;
|
|
11
|
+
tags: TagCount[];
|
|
12
|
+
updatedAt: Date;
|
|
13
|
+
}
|
|
14
|
+
export interface TagCount {
|
|
15
|
+
tagId: string;
|
|
16
|
+
name: string;
|
|
17
|
+
count: number;
|
|
18
|
+
}
|
|
@@ -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 = InboxPageQueryBase & {
|
|
147
|
+
export type InboxPageQuery = (InboxPageQueryBase & {
|
|
148
148
|
sort: 'activity';
|
|
149
149
|
cursor?: InboxActivityCursor;
|
|
150
|
-
} | InboxPageQueryBase & {
|
|
150
|
+
}) | (InboxPageQueryBase & {
|
|
151
151
|
sort: 'priority';
|
|
152
152
|
cursor?: InboxPriorityCursor;
|
|
153
|
-
};
|
|
153
|
+
});
|
|
154
154
|
export {};
|
|
@@ -26,27 +26,27 @@ export interface PartyOwnerAssigneeResolver {
|
|
|
26
26
|
mode: 'prefer' | 'required';
|
|
27
27
|
}
|
|
28
28
|
export type QueueOwnerAssigneeResolver = PartyOwnerAssigneeResolver;
|
|
29
|
-
export type QueueRoutingPolicy = QueueRoutingPolicyBase & {
|
|
29
|
+
export type QueueRoutingPolicy = (QueueRoutingPolicyBase & {
|
|
30
30
|
distributionMode: 'shared';
|
|
31
31
|
strategy?: never;
|
|
32
32
|
ownerResolver?: never;
|
|
33
|
-
} | QueueRoutingPolicyBase & {
|
|
33
|
+
}) | (QueueRoutingPolicyBase & {
|
|
34
34
|
distributionMode: 'manual_pull';
|
|
35
35
|
strategy?: never;
|
|
36
36
|
ownerResolver?: never;
|
|
37
|
-
} | QueueRoutingPolicyBase & {
|
|
37
|
+
}) | (QueueRoutingPolicyBase & {
|
|
38
38
|
distributionMode: 'exclusive';
|
|
39
39
|
strategy: QueueRoutingStrategy;
|
|
40
|
-
ownerResolver?: undefined | PartyOwnerAssigneeResolver & {
|
|
40
|
+
ownerResolver?: undefined | (PartyOwnerAssigneeResolver & {
|
|
41
41
|
mode: 'prefer';
|
|
42
|
-
};
|
|
43
|
-
} | QueueRoutingPolicyBase & {
|
|
42
|
+
});
|
|
43
|
+
}) | (QueueRoutingPolicyBase & {
|
|
44
44
|
distributionMode: 'exclusive';
|
|
45
45
|
strategy?: never;
|
|
46
46
|
ownerResolver: PartyOwnerAssigneeResolver & {
|
|
47
47
|
mode: 'required';
|
|
48
48
|
};
|
|
49
|
-
};
|
|
49
|
+
});
|
|
50
50
|
export type QueueRoutingConfig = QueueRoutingPolicy & {
|
|
51
51
|
queueId: string;
|
|
52
52
|
spaceId: string;
|
|
@@ -133,15 +133,15 @@ export type PartyOwnerAssigneeEvaluation = {
|
|
|
133
133
|
}>;
|
|
134
134
|
outcome: 'selected';
|
|
135
135
|
nextStep?: never;
|
|
136
|
-
} | FailedPartyOwnerEvaluation & {
|
|
136
|
+
} | (FailedPartyOwnerEvaluation & {
|
|
137
137
|
type: 'party_owner';
|
|
138
138
|
mode: 'prefer';
|
|
139
139
|
nextStep: 'strategy';
|
|
140
|
-
} | FailedPartyOwnerEvaluation & {
|
|
140
|
+
}) | (FailedPartyOwnerEvaluation & {
|
|
141
141
|
type: 'party_owner';
|
|
142
142
|
mode: 'required';
|
|
143
143
|
nextStep: 'fallback';
|
|
144
|
-
};
|
|
144
|
+
});
|
|
145
145
|
export interface RoutingDecision {
|
|
146
146
|
decisionId: string;
|
|
147
147
|
spaceId: string;
|
|
@@ -15,13 +15,23 @@ 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) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
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
|
+
})();
|
|
25
35
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
26
36
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
27
37
|
};
|
|
@@ -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;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { ChannelType } from "../Common/Channels/ChannelType";
|
|
2
|
-
import { ITicketAuditedEntity, ITicketProperty, TicketPriority } from "./Common";
|
|
2
|
+
import { ITicketAuditedEntity, ITicketProperty, TicketPriority, TicketPropertyValue } from "./Common";
|
|
3
3
|
import { ITicketMessageReference } from "./Conversation";
|
|
4
4
|
import type { ITicketCursorResponse } from "./Api";
|
|
5
|
+
import type { ITicketAttachmentUploadSession } from "./AdvancedApi";
|
|
6
|
+
import type { ITicketFieldOption, ITicketFieldValidation, ITicketObjectField, TicketFieldType } from "./Fields";
|
|
5
7
|
export declare enum TicketPortalAuthenticationMode {
|
|
6
8
|
PUBLIC = "PUBLIC",
|
|
7
9
|
OPTIONAL = "OPTIONAL",
|
|
@@ -508,6 +510,133 @@ export interface ISubmitTicketRequestDto {
|
|
|
508
510
|
formSubmissionId: string;
|
|
509
511
|
idempotencyKey: string;
|
|
510
512
|
}
|
|
513
|
+
/** Just enough of the category to render a grouped catalog: a heading, its order,
|
|
514
|
+
* and the id the portal has to send back in ICreateCustomerTicketDto. */
|
|
515
|
+
export interface ICustomerRequestTypeCategoryView {
|
|
516
|
+
id: string;
|
|
517
|
+
name: string;
|
|
518
|
+
description?: string;
|
|
519
|
+
order: number;
|
|
520
|
+
}
|
|
521
|
+
/**
|
|
522
|
+
* One entry of the portal's catalog.
|
|
523
|
+
*
|
|
524
|
+
* A customer-safe projection of ITicketRequestType, built as an allowlist rather
|
|
525
|
+
* than by removing keys: the agent shape carries defaultAssignedGroupId (which
|
|
526
|
+
* internal group handles what), workflowId, slaPolicyId, audiencePolicyId,
|
|
527
|
+
* fieldDefinitionIds, layoutIds and the createdBy/updatedBy uuids of agents,
|
|
528
|
+
* none of which belong on a public surface.
|
|
529
|
+
*
|
|
530
|
+
* `formId` / `formVersion` travel because the portal renders the form.
|
|
531
|
+
* `defaultPriority` is a hint for preselection; the create endpoint applies its
|
|
532
|
+
* own default regardless.
|
|
533
|
+
*/
|
|
534
|
+
export interface ICustomerRequestTypeView {
|
|
535
|
+
id: string;
|
|
536
|
+
name: string;
|
|
537
|
+
description?: string;
|
|
538
|
+
icon?: string;
|
|
539
|
+
formId: string;
|
|
540
|
+
formVersion?: number;
|
|
541
|
+
defaultPriority?: TicketPriority;
|
|
542
|
+
category: ICustomerRequestTypeCategoryView;
|
|
543
|
+
}
|
|
544
|
+
/**
|
|
545
|
+
* One field of the portal's create form.
|
|
546
|
+
*
|
|
547
|
+
* Allowlist over ITicketFieldDefinition: classification, maskingStrategy,
|
|
548
|
+
* containsPii, readRoleIds, writeRoleIds, retentionPolicyId, conditions and the
|
|
549
|
+
* scope arrays stay server-side. `validation`, `options` and `objectFields` do
|
|
550
|
+
* travel — without them the portal cannot render a select or give the customer
|
|
551
|
+
* feedback before a round trip that ends in a 422.
|
|
552
|
+
*
|
|
553
|
+
* `required` is the EFFECTIVE value for the creation context, not the field's
|
|
554
|
+
* own flag: it already folds in requiredForStatusIds for the initial status and
|
|
555
|
+
* any condition that makes the field mandatory.
|
|
556
|
+
*/
|
|
557
|
+
export interface ICustomerFormFieldView {
|
|
558
|
+
nameKey: string;
|
|
559
|
+
label: string;
|
|
560
|
+
description?: string;
|
|
561
|
+
placeholder?: string;
|
|
562
|
+
type: TicketFieldType;
|
|
563
|
+
required: boolean;
|
|
564
|
+
defaultValue?: TicketPropertyValue;
|
|
565
|
+
options?: ITicketFieldOption[];
|
|
566
|
+
objectFields?: ITicketObjectField[];
|
|
567
|
+
validation?: ITicketFieldValidation;
|
|
568
|
+
}
|
|
569
|
+
/**
|
|
570
|
+
* What the portal renders so a customer can fill in `properties` on
|
|
571
|
+
* ICreateCustomerTicketDto.
|
|
572
|
+
*
|
|
573
|
+
* NO LAYOUT, unlike the agent form schema: layouts are selected by roleIds and a
|
|
574
|
+
* contact has no role, so "the effective layout for a customer" is not a
|
|
575
|
+
* question the layout model can answer. Presentation belongs to the portal; this
|
|
576
|
+
* answers membership, obligation and shape.
|
|
577
|
+
*/
|
|
578
|
+
export interface ICustomerFormSchemaView {
|
|
579
|
+
requestTypeId: string;
|
|
580
|
+
categoryId: string;
|
|
581
|
+
fields: ICustomerFormFieldView[];
|
|
582
|
+
}
|
|
583
|
+
/**
|
|
584
|
+
* One file the portal declares BEFORE any byte exists in storage.
|
|
585
|
+
*
|
|
586
|
+
* `sizeBytes` and `mimeType` are the client's DECLARATION and stay that way for
|
|
587
|
+
* the life of the attachment: tickets-api never sees the bytes (media-api owns
|
|
588
|
+
* storage), so there is nothing to compare them against.
|
|
589
|
+
*/
|
|
590
|
+
export interface ICreateCustomerTicketAttachmentDto {
|
|
591
|
+
fileName: string;
|
|
592
|
+
mimeType: string;
|
|
593
|
+
sizeBytes: number;
|
|
594
|
+
checksum?: string;
|
|
595
|
+
}
|
|
596
|
+
/**
|
|
597
|
+
* Direct ticket creation from a portal, without going through a request draft.
|
|
598
|
+
*
|
|
599
|
+
* What is ABSENT is the contract, not an oversight: there is no channelType,
|
|
600
|
+
* channelId, primaryConversationId, assigneeId, assigneeName, assignedGroupId,
|
|
601
|
+
* statusId, origin, tagIds or externalReferences. Routing, channel provenance
|
|
602
|
+
* and the internal taxonomy are decisions of the agent side; the server fills
|
|
603
|
+
* them in (origin WEB_FORM, the space's initial status, the routing defaults of
|
|
604
|
+
* the category and the request type).
|
|
605
|
+
*/
|
|
606
|
+
export interface ICreateCustomerTicketDto {
|
|
607
|
+
/** Mongo ObjectId of the contact opening the ticket. Row-level authorisation
|
|
608
|
+
* of the whole customer surface: required, never defaulted. */
|
|
609
|
+
contactId: string;
|
|
610
|
+
title: string;
|
|
611
|
+
description?: string;
|
|
612
|
+
categoryId: string;
|
|
613
|
+
requestTypeId?: string;
|
|
614
|
+
/** Optional: a portal may or may not let the customer choose. Absent means the
|
|
615
|
+
* server default (MEDIUM). */
|
|
616
|
+
priority?: TicketPriority;
|
|
617
|
+
properties?: ITicketProperty[];
|
|
618
|
+
/** Files the customer is about to upload. Declaring them here is what puts the
|
|
619
|
+
* upload destinations inside the create transaction. */
|
|
620
|
+
attachments?: ICreateCustomerTicketAttachmentDto[];
|
|
621
|
+
/** REQUIRED, unlike ICreateTicketDto where it is optional: a portal submit is
|
|
622
|
+
* the canonical double-click. `source` is NOT part of the contract - the
|
|
623
|
+
* server derives it from the portal slug, so one portal's keys cannot collide
|
|
624
|
+
* with another's. */
|
|
625
|
+
idempotencyKey: string;
|
|
626
|
+
}
|
|
627
|
+
/**
|
|
628
|
+
* The answer to a create, and the reason the flow is ordered ticket-first.
|
|
629
|
+
*
|
|
630
|
+
* `attachmentUploads` carries one session per declared attachment, in the order
|
|
631
|
+
* they were declared, each already bound to the new ticket. The portal uploads
|
|
632
|
+
* the bytes to `uploadUrl` and then completes each session. Until it does, the
|
|
633
|
+
* ticket has no attachments - the deliberate trade: no byte is ever uploaded for
|
|
634
|
+
* a ticket that failed to be created.
|
|
635
|
+
*/
|
|
636
|
+
export interface ICustomerTicketCreatedView {
|
|
637
|
+
ticket: ICustomerTicketView;
|
|
638
|
+
attachmentUploads: ITicketAttachmentUploadSession[];
|
|
639
|
+
}
|
|
511
640
|
export interface ICustomerTicketActionDto {
|
|
512
641
|
expectedVersion: number;
|
|
513
642
|
action: TicketCustomerAction;
|
package/dist/index.js
CHANGED
|
@@ -15,13 +15,23 @@ 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) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
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
|
+
})();
|
|
25
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
36
|
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;
|
|
27
37
|
exports.Accounts = __importStar(require("./Accounts/index"));
|