@trii/types 2.10.742 → 2.10.743

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 (104) hide show
  1. package/dist/Automations/Events/Event.d.ts +3 -3
  2. package/dist/Common/index.js +17 -7
  3. package/dist/Contacts/CommunicationEndpoint.d.ts +8 -8
  4. package/dist/Conversations/Classifications/ConversationClassificationEvents.d.ts +2 -2
  5. package/dist/Conversations/Conversation.d.ts +8 -8
  6. package/dist/Conversations/DashBoard/dashboardForms.d.ts +44 -0
  7. package/dist/Conversations/DashBoard/dashboardForms.js +24 -0
  8. package/dist/Conversations/InboxCounters.d.ts +18 -0
  9. package/dist/Conversations/InboxMongo.d.ts +12 -12
  10. package/dist/Conversations/Routing.d.ts +10 -10
  11. package/dist/Conversations/index.js +17 -7
  12. package/dist/Events/DomainEventTypes.d.ts +23 -23
  13. package/dist/Tickets/SelfService.d.ts +58 -0
  14. package/dist/index.js +17 -7
  15. package/dist/src/Common/Channels/Channel.d.ts +1 -28
  16. package/dist/src/Contacts/contacts.d.ts +2 -2
  17. package/dist/src/Conversations/Conversation.d.ts +48 -331
  18. package/dist/src/Conversations/Conversation.js +34 -14
  19. package/dist/src/Conversations/DashBoard/dashboard.d.ts +2 -2
  20. package/dist/src/Conversations/DashBoard/dashboardForms.d.ts +44 -0
  21. package/dist/src/Conversations/DashBoard/dashboardForms.js +24 -0
  22. package/dist/src/Conversations/Flows/Workflows/Workflow.d.ts +123 -280
  23. package/dist/src/Conversations/Flows/Workflows/Workflow.js +35 -85
  24. package/dist/src/Conversations/Groups/Group.d.ts +8 -2
  25. package/dist/src/Conversations/Groups/Group.js +6 -0
  26. package/dist/src/Conversations/Label.d.ts +1 -1
  27. package/dist/src/Conversations/WebHook.d.ts +1 -1
  28. package/dist/src/Conversations/index.d.ts +1 -9
  29. package/dist/src/Conversations/index.js +1 -9
  30. package/dist/src/Tickets/Category.d.ts +0 -18
  31. package/dist/src/Tickets/Dashboard.d.ts +0 -78
  32. package/dist/src/Tickets/Dashboard.js +1 -13
  33. package/dist/src/Tickets/Fields.d.ts +0 -1
  34. package/dist/src/Tickets/Layouts.d.ts +1 -3
  35. package/dist/src/Tickets/Workflow.d.ts +0 -20
  36. package/dist/src/Users/UserTrii.d.ts +0 -10
  37. package/dist/src/Users/UserTrii.js +1 -8
  38. package/dist/src/index.d.ts +0 -3
  39. package/dist/src/index.js +1 -4
  40. package/package.json +2 -5
  41. package/dist/src/Automations/Capabilities/Capability.d.ts +0 -81
  42. package/dist/src/Automations/Capabilities/Capability.js +0 -23
  43. package/dist/src/Automations/Capabilities/index.d.ts +0 -1
  44. package/dist/src/Automations/Capabilities/index.js +0 -17
  45. package/dist/src/Automations/Common.d.ts +0 -94
  46. package/dist/src/Automations/Common.js +0 -40
  47. package/dist/src/Automations/Events/Event.d.ts +0 -69
  48. package/dist/src/Automations/Events/Event.js +0 -14
  49. package/dist/src/Automations/Events/index.d.ts +0 -1
  50. package/dist/src/Automations/Events/index.js +0 -17
  51. package/dist/src/Automations/Executions/Execution.d.ts +0 -254
  52. package/dist/src/Automations/Executions/Execution.js +0 -62
  53. package/dist/src/Automations/Executions/Testing.d.ts +0 -166
  54. package/dist/src/Automations/Executions/Testing.js +0 -54
  55. package/dist/src/Automations/Executions/index.d.ts +0 -2
  56. package/dist/src/Automations/Executions/index.js +0 -18
  57. package/dist/src/Automations/Flows/Canvas.d.ts +0 -103
  58. package/dist/src/Automations/Flows/Canvas.js +0 -38
  59. package/dist/src/Automations/Flows/Flow.d.ts +0 -147
  60. package/dist/src/Automations/Flows/Flow.js +0 -58
  61. package/dist/src/Automations/Flows/Requests.d.ts +0 -71
  62. package/dist/src/Automations/Flows/Validation.d.ts +0 -28
  63. package/dist/src/Automations/Flows/Validation.js +0 -9
  64. package/dist/src/Automations/Flows/index.d.ts +0 -4
  65. package/dist/src/Automations/Flows/index.js +0 -20
  66. package/dist/src/Automations/Nodes/Node.d.ts +0 -113
  67. package/dist/src/Automations/Nodes/Node.js +0 -27
  68. package/dist/src/Automations/Nodes/index.d.ts +0 -1
  69. package/dist/src/Automations/Nodes/index.js +0 -17
  70. package/dist/src/Automations/index.d.ts +0 -6
  71. package/dist/src/Automations/index.js +0 -22
  72. package/dist/src/Chats/Chat.d.ts +0 -61
  73. package/dist/src/Chats/Chat.js +0 -28
  74. package/dist/src/Conversations/Assignment.d.ts +0 -81
  75. package/dist/src/Conversations/Assignment.js +0 -4
  76. package/dist/src/Conversations/InboxMongo.d.ts +0 -154
  77. package/dist/src/Conversations/InboxMongo.js +0 -128
  78. package/dist/src/Conversations/InboxProjection.d.ts +0 -162
  79. package/dist/src/Conversations/InboxProjection.js +0 -2
  80. package/dist/src/Conversations/Outbox.d.ts +0 -24
  81. package/dist/src/Conversations/Outbox.js +0 -4
  82. package/dist/src/Conversations/Queue.d.ts +0 -107
  83. package/dist/src/Conversations/Queue.js +0 -4
  84. package/dist/src/Conversations/Routing.d.ts +0 -164
  85. package/dist/src/Conversations/Routing.js +0 -2
  86. package/dist/src/Conversations/Sla.d.ts +0 -227
  87. package/dist/src/Conversations/Sla.js +0 -6
  88. package/dist/src/Conversations/Transfer.d.ts +0 -73
  89. package/dist/src/Conversations/Transfer.js +0 -2
  90. package/dist/src/Forms/API.d.ts +0 -53
  91. package/dist/src/Forms/API.js +0 -2
  92. package/dist/src/Forms/SubmittedForm.d.ts +0 -56
  93. package/dist/src/Forms/SubmittedForm.js +0 -9
  94. package/dist/src/Forms/index.d.ts +0 -2
  95. package/dist/src/Forms/index.js +0 -18
  96. package/dist/src/Presence/AgentPause.d.ts +0 -24
  97. package/dist/src/Presence/AgentPause.js +0 -19
  98. package/dist/src/Presence/QueueParticipation.d.ts +0 -17
  99. package/dist/src/Presence/QueueParticipation.js +0 -2
  100. package/dist/src/Presence/QueueRoutingState.d.ts +0 -27
  101. package/dist/src/Presence/QueueRoutingState.js +0 -9
  102. package/dist/src/Presence/index.d.ts +0 -3
  103. package/dist/src/Presence/index.js +0 -19
  104. /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;
@@ -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;
@@ -2,6 +2,7 @@ import { ChannelType } from "../Common/Channels/ChannelType";
2
2
  import { ITicketAuditedEntity, ITicketProperty, TicketPriority } from "./Common";
3
3
  import { ITicketMessageReference } from "./Conversation";
4
4
  import type { ITicketCursorResponse } from "./Api";
5
+ import type { ITicketAttachmentUploadSession } from "./AdvancedApi";
5
6
  export declare enum TicketPortalAuthenticationMode {
6
7
  PUBLIC = "PUBLIC",
7
8
  OPTIONAL = "OPTIONAL",
@@ -508,6 +509,63 @@ export interface ISubmitTicketRequestDto {
508
509
  formSubmissionId: string;
509
510
  idempotencyKey: string;
510
511
  }
512
+ /**
513
+ * One file the portal declares BEFORE any byte exists in storage.
514
+ *
515
+ * `sizeBytes` and `mimeType` are the client's DECLARATION and stay that way for
516
+ * the life of the attachment: tickets-api never sees the bytes (media-api owns
517
+ * storage), so there is nothing to compare them against.
518
+ */
519
+ export interface ICreateCustomerTicketAttachmentDto {
520
+ fileName: string;
521
+ mimeType: string;
522
+ sizeBytes: number;
523
+ checksum?: string;
524
+ }
525
+ /**
526
+ * Direct ticket creation from a portal, without going through a request draft.
527
+ *
528
+ * What is ABSENT is the contract, not an oversight: there is no channelType,
529
+ * channelId, primaryConversationId, assigneeId, assigneeName, assignedGroupId,
530
+ * statusId, origin, tagIds or externalReferences. Routing, channel provenance
531
+ * and the internal taxonomy are decisions of the agent side; the server fills
532
+ * them in (origin WEB_FORM, the space's initial status, the routing defaults of
533
+ * the category and the request type).
534
+ */
535
+ export interface ICreateCustomerTicketDto {
536
+ /** Mongo ObjectId of the contact opening the ticket. Row-level authorisation
537
+ * of the whole customer surface: required, never defaulted. */
538
+ contactId: string;
539
+ title: string;
540
+ description?: string;
541
+ categoryId: string;
542
+ requestTypeId?: string;
543
+ /** Optional: a portal may or may not let the customer choose. Absent means the
544
+ * server default (MEDIUM). */
545
+ priority?: TicketPriority;
546
+ properties?: ITicketProperty[];
547
+ /** Files the customer is about to upload. Declaring them here is what puts the
548
+ * upload destinations inside the create transaction. */
549
+ attachments?: ICreateCustomerTicketAttachmentDto[];
550
+ /** REQUIRED, unlike ICreateTicketDto where it is optional: a portal submit is
551
+ * the canonical double-click. `source` is NOT part of the contract - the
552
+ * server derives it from the portal slug, so one portal's keys cannot collide
553
+ * with another's. */
554
+ idempotencyKey: string;
555
+ }
556
+ /**
557
+ * The answer to a create, and the reason the flow is ordered ticket-first.
558
+ *
559
+ * `attachmentUploads` carries one session per declared attachment, in the order
560
+ * they were declared, each already bound to the new ticket. The portal uploads
561
+ * the bytes to `uploadUrl` and then completes each session. Until it does, the
562
+ * ticket has no attachments - the deliberate trade: no byte is ever uploaded for
563
+ * a ticket that failed to be created.
564
+ */
565
+ export interface ICustomerTicketCreatedView {
566
+ ticket: ICustomerTicketView;
567
+ attachmentUploads: ITicketAttachmentUploadSession[];
568
+ }
511
569
  export interface ICustomerTicketActionDto {
512
570
  expectedVersion: number;
513
571
  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 (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.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"));
@@ -37,16 +37,6 @@ interface IChannelInfo {
37
37
  */
38
38
  status?: string;
39
39
  }
40
- /**
41
- * Fallback routing used only when no published Flow entry point matches the
42
- * channel, or when the selected Flow cannot produce a valid disposition.
43
- *
44
- * Flow-to-channel bindings remain authoritative in FlowEntryPoint.
45
- */
46
- interface ChannelConversationRoutingConfig {
47
- /** Stable id of a ConversationQueue in the same space as the channel. */
48
- defaultQueueId: string;
49
- }
50
40
  interface IChannel {
51
41
  id?: string | null;
52
42
  spaceId?: string | null;
@@ -54,30 +44,13 @@ interface IChannel {
54
44
  description?: string | null;
55
45
  type?: ChannelType | null;
56
46
  permissions?: Permission[] | null;
57
- /**
58
- * @deprecated Legacy channel assignment configuration. Use
59
- * ChannelConversationRoutingConfig; Flow bindings live in FlowEntryPoint.
60
- */
61
47
  assignTo?: ConversationAssigned;
62
- /**
63
- * @deprecated Legacy channel assignment configuration. Use
64
- * ChannelConversationRoutingConfig; QueueRoutingPolicy controls agent
65
- * distribution only after a Queue has been selected.
66
- */
67
48
  assignMethod: AssignMethod;
68
- /**
69
- * @deprecated Ownership is produced by the routing decision.
70
- */
71
49
  assignToOwner?: boolean;
72
50
  /**
73
51
  * habilita la creacion de conversaciones para este canal, si esta en false, los mensajes entrantes no generaran conversaciones
74
52
  */
75
53
  conversationsEnabled: boolean | false;
76
- /**
77
- * Default Queue for newly-created conversations that are not handled by a
78
- * Flow. Store only the Queue id;
79
- */
80
- conversationRouting?: ChannelConversationRoutingConfig | null;
81
54
  /**
82
55
  * Gets or sets a value indicating whether webhook notifications are enabled.
83
56
  * Redirects incoming messages to the specified webhook URL when set to true.
@@ -123,4 +96,4 @@ declare enum channelStatus {
123
96
  SUSPENDED = 7,
124
97
  CONFIGURATION_PENDING = 9
125
98
  }
126
- export { IChannel, IChannelInfo, ChannelConversationRoutingConfig, channelStatus, MessagingAvailability };
99
+ export { IChannel, IChannelInfo, channelStatus, MessagingAvailability };
@@ -14,7 +14,7 @@ export interface IBusiness {
14
14
  counters?: ICounters;
15
15
  name: string;
16
16
  imageUrl: string;
17
- ownerUserId?: string;
17
+ owner?: string;
18
18
  membersId: string[];
19
19
  members: IContactInfo[];
20
20
  phones: IContactAddress[];
@@ -54,7 +54,7 @@ export interface IContact {
54
54
  lastName: string;
55
55
  imageUrl: string;
56
56
  birthDate?: Date | null;
57
- ownerUserId?: string;
57
+ owner?: string;
58
58
  businessId?: string;
59
59
  businessName?: string;
60
60
  phones: IContactAddress[];