@trii/types 2.10.748 → 2.10.749

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/Automations/Events/Event.d.ts +3 -3
  2. package/dist/Common/Channels/Email.d.ts +0 -25
  3. package/dist/Common/Channels/Email.js +1 -14
  4. package/dist/Common/index.js +17 -7
  5. package/dist/Contacts/CommunicationEndpoint.d.ts +8 -8
  6. package/dist/Conversations/Classifications/ConversationClassificationEvents.d.ts +2 -2
  7. package/dist/Conversations/Conversation.d.ts +8 -8
  8. package/dist/Conversations/DashBoard/dashboardForms.d.ts +44 -0
  9. package/dist/Conversations/DashBoard/dashboardForms.js +24 -0
  10. package/dist/Conversations/InboxCounters.d.ts +18 -0
  11. package/dist/Conversations/InboxMongo.d.ts +12 -12
  12. package/dist/Conversations/Routing.d.ts +10 -10
  13. package/dist/Conversations/index.js +17 -7
  14. package/dist/Events/DomainEventTypes.d.ts +23 -23
  15. package/dist/Tickets/Conversation.d.ts +87 -1
  16. package/dist/Tickets/Conversation.js +14 -1
  17. package/dist/Tickets/Ticket.d.ts +14 -0
  18. package/dist/index.js +17 -7
  19. package/dist/src/Common/Channels/Channel.d.ts +1 -28
  20. package/dist/src/Contacts/contacts.d.ts +2 -2
  21. package/dist/src/Conversations/Conversation.d.ts +48 -331
  22. package/dist/src/Conversations/Conversation.js +34 -14
  23. package/dist/src/Conversations/DashBoard/dashboard.d.ts +2 -2
  24. package/dist/src/Conversations/DashBoard/dashboardForms.d.ts +44 -0
  25. package/dist/src/Conversations/DashBoard/dashboardForms.js +24 -0
  26. package/dist/src/Conversations/Flows/Workflows/Workflow.d.ts +123 -280
  27. package/dist/src/Conversations/Flows/Workflows/Workflow.js +35 -85
  28. package/dist/src/Conversations/Groups/Group.d.ts +8 -2
  29. package/dist/src/Conversations/Groups/Group.js +6 -0
  30. package/dist/src/Conversations/Label.d.ts +1 -1
  31. package/dist/src/Conversations/WebHook.d.ts +1 -1
  32. package/dist/src/Conversations/index.d.ts +1 -9
  33. package/dist/src/Conversations/index.js +1 -9
  34. package/dist/src/Tickets/Category.d.ts +0 -18
  35. package/dist/src/Tickets/Dashboard.d.ts +0 -78
  36. package/dist/src/Tickets/Dashboard.js +1 -13
  37. package/dist/src/Tickets/Fields.d.ts +0 -1
  38. package/dist/src/Tickets/Layouts.d.ts +1 -3
  39. package/dist/src/Tickets/Workflow.d.ts +0 -20
  40. package/dist/src/Users/UserTrii.d.ts +0 -10
  41. package/dist/src/Users/UserTrii.js +1 -8
  42. package/dist/src/index.d.ts +0 -3
  43. package/dist/src/index.js +1 -4
  44. package/package.json +2 -5
  45. package/dist/src/Automations/Capabilities/Capability.d.ts +0 -81
  46. package/dist/src/Automations/Capabilities/Capability.js +0 -23
  47. package/dist/src/Automations/Capabilities/index.d.ts +0 -1
  48. package/dist/src/Automations/Capabilities/index.js +0 -17
  49. package/dist/src/Automations/Common.d.ts +0 -94
  50. package/dist/src/Automations/Common.js +0 -40
  51. package/dist/src/Automations/Events/Event.d.ts +0 -69
  52. package/dist/src/Automations/Events/Event.js +0 -14
  53. package/dist/src/Automations/Events/index.d.ts +0 -1
  54. package/dist/src/Automations/Events/index.js +0 -17
  55. package/dist/src/Automations/Executions/Execution.d.ts +0 -254
  56. package/dist/src/Automations/Executions/Execution.js +0 -62
  57. package/dist/src/Automations/Executions/Testing.d.ts +0 -166
  58. package/dist/src/Automations/Executions/Testing.js +0 -54
  59. package/dist/src/Automations/Executions/index.d.ts +0 -2
  60. package/dist/src/Automations/Executions/index.js +0 -18
  61. package/dist/src/Automations/Flows/Canvas.d.ts +0 -103
  62. package/dist/src/Automations/Flows/Canvas.js +0 -38
  63. package/dist/src/Automations/Flows/Flow.d.ts +0 -147
  64. package/dist/src/Automations/Flows/Flow.js +0 -58
  65. package/dist/src/Automations/Flows/Requests.d.ts +0 -71
  66. package/dist/src/Automations/Flows/Validation.d.ts +0 -28
  67. package/dist/src/Automations/Flows/Validation.js +0 -9
  68. package/dist/src/Automations/Flows/index.d.ts +0 -4
  69. package/dist/src/Automations/Flows/index.js +0 -20
  70. package/dist/src/Automations/Nodes/Node.d.ts +0 -113
  71. package/dist/src/Automations/Nodes/Node.js +0 -27
  72. package/dist/src/Automations/Nodes/index.d.ts +0 -1
  73. package/dist/src/Automations/Nodes/index.js +0 -17
  74. package/dist/src/Automations/index.d.ts +0 -6
  75. package/dist/src/Automations/index.js +0 -22
  76. package/dist/src/Chats/Chat.d.ts +0 -61
  77. package/dist/src/Chats/Chat.js +0 -28
  78. package/dist/src/Conversations/Assignment.d.ts +0 -81
  79. package/dist/src/Conversations/Assignment.js +0 -4
  80. package/dist/src/Conversations/InboxMongo.d.ts +0 -154
  81. package/dist/src/Conversations/InboxMongo.js +0 -128
  82. package/dist/src/Conversations/InboxProjection.d.ts +0 -162
  83. package/dist/src/Conversations/InboxProjection.js +0 -2
  84. package/dist/src/Conversations/Outbox.d.ts +0 -24
  85. package/dist/src/Conversations/Outbox.js +0 -4
  86. package/dist/src/Conversations/Queue.d.ts +0 -107
  87. package/dist/src/Conversations/Queue.js +0 -4
  88. package/dist/src/Conversations/Routing.d.ts +0 -164
  89. package/dist/src/Conversations/Routing.js +0 -2
  90. package/dist/src/Conversations/Sla.d.ts +0 -227
  91. package/dist/src/Conversations/Sla.js +0 -6
  92. package/dist/src/Conversations/Transfer.d.ts +0 -73
  93. package/dist/src/Conversations/Transfer.js +0 -2
  94. package/dist/src/Forms/API.d.ts +0 -53
  95. package/dist/src/Forms/API.js +0 -2
  96. package/dist/src/Forms/SubmittedForm.d.ts +0 -56
  97. package/dist/src/Forms/SubmittedForm.js +0 -9
  98. package/dist/src/Forms/index.d.ts +0 -2
  99. package/dist/src/Forms/index.js +0 -18
  100. package/dist/src/Presence/AgentPause.d.ts +0 -24
  101. package/dist/src/Presence/AgentPause.js +0 -19
  102. package/dist/src/Presence/QueueParticipation.d.ts +0 -17
  103. package/dist/src/Presence/QueueParticipation.js +0 -2
  104. package/dist/src/Presence/QueueRoutingState.d.ts +0 -27
  105. package/dist/src/Presence/QueueRoutingState.js +0 -9
  106. package/dist/src/Presence/index.d.ts +0 -3
  107. package/dist/src/Presence/index.js +0 -19
  108. /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: "automations.domain-event/v1";
4
- readonly START_REQUEST_V1: "automations.start-request/v1";
5
- readonly EXECUTION_WORK_ITEM_V1: "automations.execution.work-item/v1";
3
+ readonly DOMAIN_EVENT_V1: 'automations.domain-event/v1';
4
+ readonly START_REQUEST_V1: 'automations.start-request/v1';
5
+ readonly EXECUTION_WORK_ITEM_V1: 'automations.execution.work-item/v1';
6
6
  };
7
7
  export interface AutomationEventDefinition {
8
8
  eventType: string;
@@ -19,12 +19,6 @@ export declare enum EmailConfigFromNameType {
19
19
  USER_NAME = 2,
20
20
  CUSTOM = 3
21
21
  }
22
- export declare enum EmailConfigInboundConnectionType {
23
- NULL = 0,
24
- IMAP = 1,
25
- GOOGLE = 2,
26
- MICROSOFT = 3
27
- }
28
22
  export declare class EmailConfig {
29
23
  useInCampaigns?: boolean;
30
24
  token?: string;
@@ -50,27 +44,8 @@ export declare class EmailConfig {
50
44
  outboundTrii?: EmailDomain;
51
45
  outboundGoogleStatus: EmailConfigOutboundStatus;
52
46
  outboundGoogleAccount: GoogleAccountInfo;
53
- inboundConnectionType: EmailConfigInboundConnectionType;
54
- inboundSyncStatus: EmailConfigOutboundStatus;
55
- inboundImapServer?: string;
56
- inboundImapPort: number | 993;
57
- inboundImapSecurityType: EmailConfigOutboundSecurityType;
58
- inboundImapUser?: string;
59
- inboundImapPassword?: string;
60
- inboundMicrosoftAccount?: MicrosoftAccountInfo;
61
- inboundMicrosoftAccessData?: MicrosoftAccountDataAccess;
62
47
  signature: string;
63
48
  }
64
- export declare class MicrosoftAccountInfo {
65
- name: string;
66
- email: string;
67
- }
68
- export declare class MicrosoftAccountDataAccess {
69
- access_token?: string;
70
- access_token_expiration: Date;
71
- refresh_token?: string;
72
- scope?: string;
73
- }
74
49
  export declare class EmailDomain {
75
50
  id: string;
76
51
  spaceId: string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DNSRecord = exports.EmailDomain = exports.MicrosoftAccountDataAccess = exports.MicrosoftAccountInfo = exports.EmailConfig = exports.EmailConfigInboundConnectionType = exports.EmailConfigFromNameType = exports.EmailConfigOutboundStatus = exports.EmailConfigOutboundSecurityType = exports.EmailConfigOutboundConnectionType = void 0;
3
+ exports.DNSRecord = exports.EmailDomain = exports.EmailConfig = exports.EmailConfigFromNameType = exports.EmailConfigOutboundStatus = exports.EmailConfigOutboundSecurityType = exports.EmailConfigOutboundConnectionType = void 0;
4
4
  var EmailConfigOutboundConnectionType;
5
5
  (function (EmailConfigOutboundConnectionType) {
6
6
  EmailConfigOutboundConnectionType[EmailConfigOutboundConnectionType["NULL"] = 0] = "NULL";
@@ -25,22 +25,9 @@ var EmailConfigFromNameType;
25
25
  EmailConfigFromNameType[EmailConfigFromNameType["USER_NAME"] = 2] = "USER_NAME";
26
26
  EmailConfigFromNameType[EmailConfigFromNameType["CUSTOM"] = 3] = "CUSTOM";
27
27
  })(EmailConfigFromNameType || (exports.EmailConfigFromNameType = EmailConfigFromNameType = {}));
28
- var EmailConfigInboundConnectionType;
29
- (function (EmailConfigInboundConnectionType) {
30
- EmailConfigInboundConnectionType[EmailConfigInboundConnectionType["NULL"] = 0] = "NULL";
31
- EmailConfigInboundConnectionType[EmailConfigInboundConnectionType["IMAP"] = 1] = "IMAP";
32
- EmailConfigInboundConnectionType[EmailConfigInboundConnectionType["GOOGLE"] = 2] = "GOOGLE";
33
- EmailConfigInboundConnectionType[EmailConfigInboundConnectionType["MICROSOFT"] = 3] = "MICROSOFT";
34
- })(EmailConfigInboundConnectionType || (exports.EmailConfigInboundConnectionType = EmailConfigInboundConnectionType = {}));
35
28
  class EmailConfig {
36
29
  }
37
30
  exports.EmailConfig = EmailConfig;
38
- class MicrosoftAccountInfo {
39
- }
40
- exports.MicrosoftAccountInfo = MicrosoftAccountInfo;
41
- class MicrosoftAccountDataAccess {
42
- }
43
- exports.MicrosoftAccountDataAccess = MicrosoftAccountDataAccess;
44
31
  class EmailDomain {
45
32
  }
46
33
  exports.EmailDomain = EmailDomain;
@@ -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 (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
- };
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: "instagram_user";
13
- readonly messengerUser: "messenger_user";
14
- readonly whatsappUser: "whatsapp_user";
12
+ readonly instagramUser: 'instagram_user';
13
+ readonly messengerUser: 'messenger_user';
14
+ readonly whatsappUser: 'whatsapp_user';
15
15
  };
16
16
  readonly telegram: {
17
- readonly user: "user";
18
- readonly chat: "chat";
17
+ readonly user: 'user';
18
+ readonly chat: 'chat';
19
19
  };
20
20
  readonly trii: {
21
- readonly webchatVisitor: "webchat_visitor";
21
+ readonly webchatVisitor: 'webchat_visitor';
22
22
  };
23
23
  readonly mercadolibre: {
24
- readonly buyer: "buyer";
24
+ readonly buyer: 'buyer';
25
25
  };
26
26
  readonly google: {
27
- readonly businessMessagesUser: "business_messages_user";
27
+ readonly businessMessagesUser: 'business_messages_user';
28
28
  };
29
29
  };
30
30
  export type KnownIdentityProvider = keyof typeof providerIdentityNamespaces;
@@ -1,7 +1,7 @@
1
1
  import type { ConversationClassificationEvaluationStatus } from './ConversationClassificationEvaluation';
2
2
  export declare const CONVERSATION_CLASSIFICATION_EVENT_TYPES: {
3
- readonly CONVERSATION_RESOLVED_FOR_EVALUATION: "conversation.resolved-for-classification";
4
- readonly EVALUATION_FINISHED: "conversation.classification-evaluation-finished";
3
+ readonly CONVERSATION_RESOLVED_FOR_EVALUATION: 'conversation.resolved-for-classification';
4
+ readonly EVALUATION_FINISHED: 'conversation.classification-evaluation-finished';
5
5
  };
6
6
  export declare const CONVERSATION_CLASSIFICATION_EVENT_SCHEMA_VERSION: 1;
7
7
  /**
@@ -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: "uq_subscription_user_conversation";
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: "ix_subscription_conversation_followers";
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: "uq_inbox_item_user_conversation";
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: "ix_inbox_view_activity";
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: "ix_inbox_view_priority";
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: "ix_inbox_view_status_activity";
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: "ix_inbox_view_queue_activity";
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: "uq_inbox_counter_user_view";
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: "uq_inbox_processor_source_scope";
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 (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
- };
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: "automations.manual";
13
- readonly SCHEDULE_TICK: "automations.schedule.tick";
12
+ readonly MANUAL: 'automations.manual';
13
+ readonly SCHEDULE_TICK: 'automations.schedule.tick';
14
14
  };
15
15
  readonly CONTACTS: {
16
- readonly CONTACT_CREATED: "contacts.contact.created";
17
- readonly BUSINESS_CREATED: "contacts.business.created";
18
- readonly PROPERTY_CHANGED: "contacts.property.changed";
19
- readonly TAG_ADDED: "contacts.tag.added";
20
- readonly TAG_REMOVED: "contacts.tag.removed";
21
- readonly PROPERTY_DATE_REACHED: "contacts.property.date_reached";
16
+ readonly CONTACT_CREATED: 'contacts.contact.created';
17
+ readonly BUSINESS_CREATED: 'contacts.business.created';
18
+ readonly PROPERTY_CHANGED: 'contacts.property.changed';
19
+ readonly TAG_ADDED: 'contacts.tag.added';
20
+ readonly TAG_REMOVED: 'contacts.tag.removed';
21
+ readonly PROPERTY_DATE_REACHED: 'contacts.property.date_reached';
22
22
  };
23
23
  readonly CONVERSATIONS: {
24
- readonly CONVERSATION_CREATED: "conversations.conversation.created";
25
- readonly CONVERSATION_CLOSED: "conversations.conversation.closed";
26
- readonly MESSAGE_RECEIVED: "conversations.message.received";
27
- readonly AGENT_INTERVENED: "conversations.agent.intervened";
24
+ readonly CONVERSATION_CREATED: 'conversations.conversation.created';
25
+ readonly CONVERSATION_CLOSED: 'conversations.conversation.closed';
26
+ readonly MESSAGE_RECEIVED: 'conversations.message.received';
27
+ readonly AGENT_INTERVENED: 'conversations.agent.intervened';
28
28
  };
29
29
  readonly TICKETS: {
30
- readonly CREATED: "tickets.created";
31
- readonly STATUS_CHANGED: "tickets.status_changed";
32
- readonly PRIORITY_CHANGED: "tickets.priority_changed";
33
- readonly ASSIGNED: "tickets.assigned";
34
- readonly CUSTOMER_REPLIED: "tickets.customer_replied";
35
- readonly SLA_WARNING: "tickets.sla_warning";
36
- readonly SLA_BREACHED: "tickets.sla_breached";
37
- readonly CLOSED: "tickets.closed";
38
- readonly REOPENED: "tickets.reopened";
30
+ readonly CREATED: 'tickets.created';
31
+ readonly STATUS_CHANGED: 'tickets.status_changed';
32
+ readonly PRIORITY_CHANGED: 'tickets.priority_changed';
33
+ readonly ASSIGNED: 'tickets.assigned';
34
+ readonly CUSTOMER_REPLIED: 'tickets.customer_replied';
35
+ readonly SLA_WARNING: 'tickets.sla_warning';
36
+ readonly SLA_BREACHED: 'tickets.sla_breached';
37
+ readonly CLOSED: 'tickets.closed';
38
+ readonly REOPENED: 'tickets.reopened';
39
39
  };
40
40
  readonly FORMS: {
41
- readonly SUBMITTED: "forms.submitted";
41
+ readonly SUBMITTED: 'forms.submitted';
42
42
  };
43
43
  readonly INTEGRATIONS: {
44
- readonly WEBHOOK_RECEIVED: "integrations.webhook.received";
44
+ readonly WEBHOOK_RECEIVED: 'integrations.webhook.received';
45
45
  };
46
46
  };
47
47
  type Values<T> = T extends unknown ? T[keyof T] : never;
@@ -1,4 +1,4 @@
1
- import { MessageDirection, MessageVisibility } from '../Common/Messages/Message';
1
+ import { MessageDirection, MessageVisibility, MessageType } from '../Common/Messages/Message';
2
2
  import { ChannelType } from '../Common/Channels/ChannelType';
3
3
  import { ITicketActivity } from './Workflow';
4
4
  export declare enum TicketConversationRole {
@@ -47,10 +47,96 @@ export interface ITicketMessageEvent {
47
47
  actorType: TicketMessageActorType;
48
48
  eventType: TicketMessageEventType;
49
49
  }
50
+ /**
51
+ * Where a cited message's frozen content came from.
52
+ *
53
+ * There is deliberately no CLIENT value: the content is always resolved
54
+ * server-to-server, never supplied by whoever creates the ticket.
55
+ */
56
+ export declare enum TicketMessageSnapshotSource {
57
+ /** Row written before server-side resolution existed; `snapshot` is null. */
58
+ PENDING = "PENDING",
59
+ /** Resolved by the backend against the messages service. */
60
+ SERVICE = "SERVICE"
61
+ }
62
+ export interface ITicketMessageSnapshotAttachment {
63
+ id?: string;
64
+ filename?: string;
65
+ mimeType?: string;
66
+ url?: string;
67
+ isInline?: boolean;
68
+ }
69
+ /**
70
+ * Frozen copy of a message cited as the reason a ticket was opened.
71
+ *
72
+ * It is EVIDENCE, not a cache: it is written once, when the ticket is created, and
73
+ * never refreshed. If the message is edited or deleted afterwards, what the agent
74
+ * cited was this version, and that is precisely what is worth keeping. It also
75
+ * outlives the conversation, whose retention policy may be shorter than the
76
+ * ticket's.
77
+ *
78
+ * It is a deliberate projection, not the raw message: transport noise (mail
79
+ * headers, delivery logs, HTML bodies) is dropped, and `body` is plain text capped
80
+ * at a fixed length, with `bodyTruncated` recording whether the cap was hit. Anyone
81
+ * needing the whole message opens it in the conversation.
82
+ */
83
+ export interface ITicketMessageSnapshot {
84
+ messageId: string;
85
+ conversationId: string;
86
+ /** ISO 8601, as the messages service reports it. */
87
+ timestamp: string | null;
88
+ direction: MessageDirection | null;
89
+ type: MessageType | null;
90
+ channel: {
91
+ id?: string;
92
+ name?: string;
93
+ type?: ChannelType;
94
+ } | null;
95
+ /**
96
+ * Who wrote it. For an inbound message the remote contact's name and address are
97
+ * enough; for an outbound one the author is the agent, named by `userId`. `from`
98
+ * keeps the raw channel-agnostic identifier (e.g. `"email:foo@bar.com"`).
99
+ */
100
+ author: {
101
+ userId?: string;
102
+ name?: string;
103
+ address?: string;
104
+ from?: string;
105
+ };
106
+ /** Only for channels that carry one, such as email. */
107
+ subject?: string;
108
+ body: string | null;
109
+ bodyTruncated: boolean;
110
+ attachments: ITicketMessageSnapshotAttachment[];
111
+ }
112
+ /**
113
+ * A message cited on a ticket, as persisted. Immutable: written only at ticket
114
+ * creation and never edited afterwards.
115
+ *
116
+ * Not to be confused with `ITicketMessageReference`, which is the far smaller
117
+ * pointer the timeline projects.
118
+ */
119
+ export interface ITicketCitedMessage {
120
+ id: string;
121
+ spaceId: string;
122
+ ticketId: string;
123
+ conversationId: string;
124
+ messageId: string;
125
+ snapshot: ITicketMessageSnapshot | null;
126
+ snapshotSource: TicketMessageSnapshotSource;
127
+ snapshotAt?: Date;
128
+ linkedAt: Date;
129
+ linkedBy?: string;
130
+ reason?: string;
131
+ }
50
132
  export declare enum TicketTimelineEntryType {
51
133
  ACTIVITY = "ACTIVITY",
52
134
  MESSAGE = "MESSAGE"
53
135
  }
136
+ /**
137
+ * Pointer a timeline entry carries. Content, when needed, lives in the cited
138
+ * message's `ITicketMessageSnapshot` or in the conversation itself.
139
+ */
54
140
  export interface ITicketMessageReference {
55
141
  conversationId: string;
56
142
  messageId: string;