@trii/types 2.10.726 → 2.10.728

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 (136) hide show
  1. package/dist/Automations/Events/Event.d.ts +3 -3
  2. package/dist/Contacts/CommunicationEndpoint.d.ts +8 -8
  3. package/dist/Conversations/Conversation.d.ts +8 -8
  4. package/dist/Conversations/InboxMongo.d.ts +12 -12
  5. package/dist/Conversations/Routing.d.ts +10 -10
  6. package/dist/Events/DomainEventTypes.d.ts +23 -23
  7. package/dist/Tickets/AdvancedApi.d.ts +55 -0
  8. package/dist/Tickets/AdvancedApi.js +17 -1
  9. package/dist/Tickets/Security.d.ts +55 -0
  10. package/dist/src/Automations/Capabilities/Capability.d.ts +81 -0
  11. package/dist/src/Automations/Capabilities/Capability.js +23 -0
  12. package/dist/src/Automations/Capabilities/index.d.ts +1 -0
  13. package/dist/src/Automations/Capabilities/index.js +17 -0
  14. package/dist/src/Automations/Common.d.ts +94 -0
  15. package/dist/src/Automations/Common.js +40 -0
  16. package/dist/src/Automations/Events/Event.d.ts +96 -0
  17. package/dist/src/Automations/Events/Event.js +19 -0
  18. package/dist/src/Automations/Events/index.d.ts +1 -0
  19. package/dist/src/Automations/Events/index.js +17 -0
  20. package/dist/src/Automations/Executions/Execution.d.ts +298 -0
  21. package/dist/src/Automations/Executions/Execution.js +76 -0
  22. package/dist/src/Automations/Executions/Testing.d.ts +166 -0
  23. package/dist/src/Automations/Executions/Testing.js +54 -0
  24. package/dist/src/Automations/Executions/index.d.ts +2 -0
  25. package/dist/src/Automations/Executions/index.js +18 -0
  26. package/dist/src/Automations/Flows/Canvas.d.ts +109 -0
  27. package/dist/src/Automations/Flows/Canvas.js +43 -0
  28. package/dist/src/Automations/Flows/Flow.d.ts +154 -0
  29. package/dist/src/Automations/Flows/Flow.js +58 -0
  30. package/dist/src/Automations/Flows/Requests.d.ts +71 -0
  31. package/dist/src/Automations/Flows/Validation.d.ts +28 -0
  32. package/dist/src/Automations/Flows/Validation.js +9 -0
  33. package/dist/src/Automations/Flows/index.d.ts +4 -0
  34. package/dist/src/Automations/Flows/index.js +20 -0
  35. package/dist/src/Automations/Nodes/Node.d.ts +116 -0
  36. package/dist/src/Automations/Nodes/Node.js +27 -0
  37. package/dist/src/Automations/Nodes/index.d.ts +1 -0
  38. package/dist/src/Automations/Nodes/index.js +17 -0
  39. package/dist/src/Automations/Triggers/Trigger.d.ts +112 -0
  40. package/dist/src/Automations/Triggers/Trigger.js +66 -0
  41. package/dist/src/Automations/Triggers/index.d.ts +1 -0
  42. package/dist/src/Automations/Triggers/index.js +17 -0
  43. package/dist/src/Automations/index.d.ts +7 -0
  44. package/dist/src/Automations/index.js +23 -0
  45. package/dist/src/Chats/Chat.d.ts +61 -0
  46. package/dist/src/Chats/Chat.js +28 -0
  47. package/dist/src/Common/Channels/Channel.d.ts +28 -1
  48. package/dist/src/Common/Channels/Email.d.ts +1 -0
  49. package/dist/src/Common/Channels/Facebook.d.ts +1 -0
  50. package/dist/src/Common/Channels/Form.d.ts +1 -0
  51. package/dist/src/Common/Channels/GoogleBusiness.d.ts +1 -0
  52. package/dist/src/Common/Channels/Instagram.d.ts +1 -0
  53. package/dist/src/Common/Channels/MercadoLibre.d.ts +1 -0
  54. package/dist/src/Common/Channels/WebChat.d.ts +1 -0
  55. package/dist/src/Contacts/CommunicationEndpoint.d.ts +107 -0
  56. package/dist/src/Contacts/CommunicationEndpoint.js +39 -0
  57. package/dist/src/Contacts/CommunicationMethod.d.ts +9 -0
  58. package/dist/src/Contacts/CommunicationMethod.js +2 -0
  59. package/dist/src/Contacts/contacts.d.ts +2 -2
  60. package/dist/src/Contacts/index.d.ts +2 -0
  61. package/dist/src/Contacts/index.js +2 -0
  62. package/dist/src/Conversations/Assignment.d.ts +181 -0
  63. package/dist/src/Conversations/Assignment.js +4 -0
  64. package/dist/src/Conversations/Conversation.d.ts +410 -48
  65. package/dist/src/Conversations/Conversation.js +14 -34
  66. package/dist/src/Conversations/DashBoard/dashboard.d.ts +2 -2
  67. package/dist/src/Conversations/Flows/Workflows/Workflow.d.ts +280 -123
  68. package/dist/src/Conversations/Flows/Workflows/Workflow.js +85 -35
  69. package/dist/src/Conversations/Groups/Group.d.ts +2 -8
  70. package/dist/src/Conversations/Groups/Group.js +0 -6
  71. package/dist/src/Conversations/InboxMongo.d.ts +154 -0
  72. package/dist/src/Conversations/InboxMongo.js +128 -0
  73. package/dist/src/Conversations/InboxProjection.d.ts +162 -0
  74. package/dist/src/Conversations/InboxProjection.js +2 -0
  75. package/dist/src/Conversations/Label.d.ts +1 -1
  76. package/dist/src/Conversations/Outbox.d.ts +24 -0
  77. package/dist/src/Conversations/Outbox.js +4 -0
  78. package/dist/src/Conversations/Queue.d.ts +107 -0
  79. package/dist/src/Conversations/Queue.js +4 -0
  80. package/dist/src/Conversations/Routing.d.ts +164 -0
  81. package/dist/src/Conversations/Routing.js +2 -0
  82. package/dist/src/Conversations/Sla.d.ts +227 -0
  83. package/dist/src/Conversations/Sla.js +6 -0
  84. package/dist/src/Conversations/Transfer.d.ts +73 -0
  85. package/dist/src/Conversations/Transfer.js +2 -0
  86. package/dist/src/Conversations/WebHook.d.ts +1 -1
  87. package/dist/src/Conversations/index.d.ts +9 -1
  88. package/dist/src/Conversations/index.js +9 -1
  89. package/dist/src/Events/DomainEventTypes.d.ts +51 -0
  90. package/dist/src/Events/DomainEventTypes.js +49 -0
  91. package/dist/src/Events/index.d.ts +1 -0
  92. package/dist/src/Events/index.js +17 -0
  93. package/dist/src/Forms/API.d.ts +53 -0
  94. package/dist/src/Forms/API.js +2 -0
  95. package/dist/src/Forms/SubmittedForm.d.ts +56 -0
  96. package/dist/src/Forms/SubmittedForm.js +9 -0
  97. package/dist/src/Forms/index.d.ts +2 -0
  98. package/dist/src/Forms/index.js +18 -0
  99. package/dist/src/Presence/AgentPause.d.ts +24 -0
  100. package/dist/src/Presence/AgentPause.js +19 -0
  101. package/dist/src/Presence/QueueParticipation.d.ts +17 -0
  102. package/dist/src/Presence/QueueParticipation.js +2 -0
  103. package/dist/src/Presence/QueueRoutingState.d.ts +27 -0
  104. package/dist/src/Presence/QueueRoutingState.js +9 -0
  105. package/dist/src/Presence/index.d.ts +3 -0
  106. package/dist/src/Presence/index.js +19 -0
  107. package/dist/src/PublicAPI/apiKey.d.ts +92 -3
  108. package/dist/src/PublicAPI/apiKey.js +27 -0
  109. package/dist/src/Tickets/AI.d.ts +50 -2
  110. package/dist/src/Tickets/AdvancedApi.d.ts +142 -2
  111. package/dist/src/Tickets/AdvancedApi.js +28 -1
  112. package/dist/src/Tickets/Approval.d.ts +20 -4
  113. package/dist/src/Tickets/Automation.d.ts +46 -2
  114. package/dist/src/Tickets/Category.d.ts +18 -0
  115. package/dist/src/Tickets/Dashboard.d.ts +78 -0
  116. package/dist/src/Tickets/Dashboard.js +13 -1
  117. package/dist/src/Tickets/Fields.d.ts +4 -0
  118. package/dist/src/Tickets/Layouts.d.ts +3 -1
  119. package/dist/src/Tickets/Routing.d.ts +105 -3
  120. package/dist/src/Tickets/Routing.js +7 -1
  121. package/dist/src/Tickets/Security.d.ts +271 -4
  122. package/dist/src/Tickets/Security.js +10 -1
  123. package/dist/src/Tickets/SelfService.d.ts +190 -0
  124. package/dist/src/Tickets/Sla.d.ts +140 -0
  125. package/dist/src/Tickets/Workflow.d.ts +20 -0
  126. package/dist/src/Users/UserTrii.d.ts +10 -0
  127. package/dist/src/Users/UserTrii.js +8 -1
  128. package/dist/src/index.d.ts +4 -0
  129. package/dist/src/index.js +5 -1
  130. package/package.json +12 -12
  131. package/dist/Conversations/DashBoard/dashboardForms.d.ts +0 -44
  132. package/dist/Conversations/DashBoard/dashboardForms.js +0 -24
  133. package/dist/Conversations/InboxCounters.d.ts +0 -18
  134. package/dist/src/Conversations/DashBoard/dashboardForms.d.ts +0 -44
  135. package/dist/src/Conversations/DashBoard/dashboardForms.js +0 -24
  136. /package/dist/{Conversations/InboxCounters.js → src/Automations/Flows/Requests.js} +0 -0
@@ -1,8 +1,8 @@
1
1
  import { AutomationCustomer, AutomationJsonObject, AutomationJsonSchema, AutomationResourceReference, AutomationSourceApplication } from '../Common';
2
2
  export declare const AUTOMATION_MESSAGE_SCHEMAS: {
3
- readonly DOMAIN_EVENT_V1: '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;
@@ -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;
@@ -212,35 +212,35 @@ export type ConversationAssignmentSnapshot = {
212
212
  offerExpiresAt?: never;
213
213
  assignedAt?: never;
214
214
  acceptedAt?: never;
215
- } | (QueuedConversationAssignmentBase & {
215
+ } | QueuedConversationAssignmentBase & {
216
216
  status: 'queued' | 'routing';
217
217
  owner: NoConversationOwner;
218
218
  offeredAt?: never;
219
219
  offerExpiresAt?: never;
220
220
  assignedAt?: never;
221
221
  acceptedAt?: never;
222
- }) | (QueuedConversationAssignmentBase & {
222
+ } | QueuedConversationAssignmentBase & {
223
223
  status: 'offered';
224
224
  owner: UserConversationOwner;
225
225
  offeredAt: Date;
226
226
  offerExpiresAt?: Date;
227
227
  assignedAt?: never;
228
228
  acceptedAt?: never;
229
- }) | (QueuedConversationAssignmentBase & {
229
+ } | QueuedConversationAssignmentBase & {
230
230
  status: 'assigned';
231
231
  owner: UserConversationOwner;
232
232
  offeredAt?: Date;
233
233
  offerExpiresAt?: Date;
234
234
  assignedAt: Date;
235
235
  acceptedAt?: never;
236
- }) | (QueuedConversationAssignmentBase & {
236
+ } | QueuedConversationAssignmentBase & {
237
237
  status: 'accepted';
238
238
  owner: UserConversationOwner;
239
239
  offeredAt?: Date;
240
240
  offerExpiresAt?: Date;
241
241
  assignedAt: Date;
242
242
  acceptedAt: Date;
243
- });
243
+ };
244
244
  export type ActorType = 'user' | 'contact' | 'bot' | 'flow' | 'system';
245
245
  export type ParticipantRole = 'owner' | 'collaborator' | 'follower' | 'mentioned' | 'supervisor' | 'bot' | 'flow' | 'historical';
246
246
  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';
@@ -274,15 +274,15 @@ interface ConversationSubscriptionBase {
274
274
  * A subscription is persistent product intent. Assignment or participation
275
275
  * visibility must not create it unless an explicit auto-follow policy applies.
276
276
  */
277
- export type ConversationSubscription = (ConversationSubscriptionBase & {
277
+ export type ConversationSubscription = ConversationSubscriptionBase & {
278
278
  status: 'following';
279
279
  followedAt: Date;
280
280
  unfollowedAt?: never;
281
- }) | (ConversationSubscriptionBase & {
281
+ } | ConversationSubscriptionBase & {
282
282
  status: 'unfollowed';
283
283
  followedAt: Date;
284
284
  unfollowedAt: Date;
285
- });
285
+ };
286
286
  export interface PutConversationSubscriptionRequest {
287
287
  expectedVersion?: number;
288
288
  notifications: ConversationSubscriptionNotifications;
@@ -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;
@@ -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;
@@ -97,6 +97,61 @@ export interface IDeleteTicketAttachmentDto {
97
97
  reason?: string;
98
98
  }
99
99
  export type TicketAttachmentPage = ITicketCursorResponse<ITicketAttachment>;
100
+ export declare enum TicketAttachmentTypeMode {
101
+ RECOMMENDED = "RECOMMENDED",
102
+ ALL = "ALL",
103
+ CUSTOM = "CUSTOM"
104
+ }
105
+ export declare enum TicketAttachmentDownloadMode {
106
+ AUTHENTICATED = "AUTHENTICATED",
107
+ TEMPORARY_LINK = "TEMPORARY_LINK"
108
+ }
109
+ export declare enum TicketSuspiciousFileAction {
110
+ BLOCK = "BLOCK",
111
+ QUARANTINE = "QUARANTINE"
112
+ }
113
+ export interface ITicketAttachmentFileType {
114
+ extension: string;
115
+ mimeType: string;
116
+ }
117
+ export interface ITicketAttachmentPolicyValues {
118
+ agentUploadEnabled: boolean;
119
+ customerUploadEnabled: boolean;
120
+ typeMode: TicketAttachmentTypeMode;
121
+ allowedTypes: ITicketAttachmentFileType[];
122
+ maxFileSizeBytes: number;
123
+ maxFilesPerTicket: number;
124
+ /** null = sin tope total. No es cero ni "ilimitado por defecto". */
125
+ maxTotalSizeBytes: number | null;
126
+ downloadMode: TicketAttachmentDownloadMode;
127
+ temporaryLinkExpirationHours: number;
128
+ }
129
+ export interface ITicketAttachmentPolicyLimits {
130
+ maxFileSizeBytes: number;
131
+ maxFilesPerTicket: number;
132
+ maxTotalSizeBytes: number;
133
+ temporaryLinkExpirationHours: number;
134
+ }
135
+ export interface ITicketAttachmentSecurityInfo {
136
+ checksumEnabled: boolean;
137
+ malwareScanEnabled: boolean;
138
+ suspiciousFileAction: TicketSuspiciousFileAction;
139
+ }
140
+ export interface ITicketAttachmentPolicy extends ITicketAttachmentPolicyValues {
141
+ spaceId: string;
142
+ blockedExtensions: string[];
143
+ limits: ITicketAttachmentPolicyLimits;
144
+ security: ITicketAttachmentSecurityInfo;
145
+ recommended: ITicketAttachmentPolicyValues;
146
+ version: number;
147
+ createdAt?: Date;
148
+ createdBy?: string;
149
+ updatedAt?: Date;
150
+ updatedBy?: string;
151
+ }
152
+ export interface IUpdateTicketAttachmentPolicyDto extends ITicketAttachmentPolicyValues {
153
+ expectedVersion: number;
154
+ }
100
155
  export declare enum TicketRelationType {
101
156
  PARENT = "PARENT",
102
157
  CHILD = "CHILD",
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TicketWebhookAuthType = exports.TicketSubscriptionEvent = exports.TicketExportFormat = exports.TicketJobStatus = exports.TicketBulkOperationType = exports.TicketMacroActionType = exports.TicketFollowerRole = exports.TicketMergeConfirmationLevel = exports.TicketPeriodPreset = exports.TicketRelationType = exports.TicketApiErrorCode = exports.TicketExpand = void 0;
3
+ exports.TicketWebhookAuthType = exports.TicketSubscriptionEvent = exports.TicketExportFormat = exports.TicketJobStatus = exports.TicketBulkOperationType = exports.TicketMacroActionType = exports.TicketFollowerRole = exports.TicketMergeConfirmationLevel = exports.TicketPeriodPreset = exports.TicketRelationType = exports.TicketSuspiciousFileAction = exports.TicketAttachmentDownloadMode = exports.TicketAttachmentTypeMode = exports.TicketApiErrorCode = exports.TicketExpand = void 0;
4
4
  var TicketExpand;
5
5
  (function (TicketExpand) {
6
6
  TicketExpand["CONTACT"] = "CONTACT";
@@ -26,6 +26,22 @@ var TicketApiErrorCode;
26
26
  TicketApiErrorCode["SLA_CONFIGURATION_ERROR"] = "SLA_CONFIGURATION_ERROR";
27
27
  TicketApiErrorCode["BULK_PARTIAL_FAILURE"] = "BULK_PARTIAL_FAILURE";
28
28
  })(TicketApiErrorCode || (exports.TicketApiErrorCode = TicketApiErrorCode = {}));
29
+ var TicketAttachmentTypeMode;
30
+ (function (TicketAttachmentTypeMode) {
31
+ TicketAttachmentTypeMode["RECOMMENDED"] = "RECOMMENDED";
32
+ TicketAttachmentTypeMode["ALL"] = "ALL";
33
+ TicketAttachmentTypeMode["CUSTOM"] = "CUSTOM";
34
+ })(TicketAttachmentTypeMode || (exports.TicketAttachmentTypeMode = TicketAttachmentTypeMode = {}));
35
+ var TicketAttachmentDownloadMode;
36
+ (function (TicketAttachmentDownloadMode) {
37
+ TicketAttachmentDownloadMode["AUTHENTICATED"] = "AUTHENTICATED";
38
+ TicketAttachmentDownloadMode["TEMPORARY_LINK"] = "TEMPORARY_LINK";
39
+ })(TicketAttachmentDownloadMode || (exports.TicketAttachmentDownloadMode = TicketAttachmentDownloadMode = {}));
40
+ var TicketSuspiciousFileAction;
41
+ (function (TicketSuspiciousFileAction) {
42
+ TicketSuspiciousFileAction["BLOCK"] = "BLOCK";
43
+ TicketSuspiciousFileAction["QUARANTINE"] = "QUARANTINE";
44
+ })(TicketSuspiciousFileAction || (exports.TicketSuspiciousFileAction = TicketSuspiciousFileAction = {}));
29
45
  var TicketRelationType;
30
46
  (function (TicketRelationType) {
31
47
  TicketRelationType["PARENT"] = "PARENT";
@@ -1,3 +1,4 @@
1
+ import { ITicketCursorResponse } from "./Api";
1
2
  import { ITicketAuditedEntity, TicketPropertyValue } from "./Common";
2
3
  import { TicketFieldType } from "./Fields";
3
4
  import { TicketConditionOperator } from "./Workflow";
@@ -384,6 +385,57 @@ export interface ITicketAccessAuditEvent {
384
385
  allowed: boolean;
385
386
  policyIds?: string[];
386
387
  denialReason?: string;
388
+ technicalContextWithheld: boolean;
389
+ }
390
+ export interface ICreateTicketAccessAuditEventDto {
391
+ actorId: string;
392
+ /** Con qué identidad se actuó. Si no hay impersonación, es el propio actor. */
393
+ effectiveUserId?: string;
394
+ action: TicketAccessAuditAction;
395
+ resourceType: TicketSecurityResourceType;
396
+ resourceId?: string;
397
+ ticketId?: string;
398
+ /** Qué campos se tocaron. NUNCA sus valores. */
399
+ fieldNameKeys?: string[];
400
+ purpose?: string;
401
+ ipAddress?: string;
402
+ userAgent?: string;
403
+ correlationId?: string;
404
+ allowed: boolean;
405
+ policyIds?: string[];
406
+ denialReason?: string;
407
+ }
408
+ export interface ITicketAccessAuditFilters {
409
+ from?: Date;
410
+ to?: Date;
411
+ userId?: string;
412
+ actorId?: string;
413
+ effectiveUserId?: string;
414
+ actions?: TicketAccessAuditAction[];
415
+ resourceTypes?: TicketSecurityResourceType[];
416
+ ticketId?: string;
417
+ fieldNameKey?: string;
418
+ allowed?: boolean;
419
+ policyId?: string;
420
+ ipAddress?: string;
421
+ correlationId?: string;
422
+ }
423
+ export interface ITicketAccessAuditSearchRequest extends ITicketAccessAuditFilters {
424
+ cursor?: string;
425
+ limit?: number;
426
+ }
427
+ export interface ITicketAccessAuditEventDetail {
428
+ event: ITicketAccessAuditEvent;
429
+ correlated: ITicketAccessAuditEvent[];
430
+ }
431
+ export interface ITicketAccessAuditExportPreview {
432
+ filters: ITicketAccessAuditFilters;
433
+ from?: Date;
434
+ to?: Date;
435
+ estimatedEventCount: number;
436
+ includesSensitiveData: boolean;
437
+ includedActions: TicketAccessAuditAction[];
438
+ wideRangeWarning?: string;
387
439
  }
388
440
  export interface ITicketImpersonationSession {
389
441
  id: string;
@@ -426,6 +478,8 @@ export interface ITicketAuthorizationRequest {
426
478
  evaluatedAt?: Date;
427
479
  subjectContext?: ITicketAuthorizationSubjectContext;
428
480
  ticketContext?: ITicketAuthorizationTicketContext;
481
+ record?: boolean;
482
+ purpose?: string;
429
483
  }
430
484
  export interface ITicketAuthorizationSubjectContext {
431
485
  isAgent?: boolean;
@@ -512,3 +566,4 @@ export interface IStartTicketImpersonationDto {
512
566
  reason: string;
513
567
  expiresAt: Date;
514
568
  }
569
+ export type TicketAccessAuditPage = ITicketCursorResponse<ITicketAccessAuditEvent>;
@@ -0,0 +1,81 @@
1
+ import { AutomationError, AutomationJsonObject, AutomationJsonSchema, AutomationSourceApplication } from '../Common';
2
+ export declare enum AutomationCapabilityKind {
3
+ TRIGGER = "trigger",
4
+ ACTION = "action",
5
+ CONDITION = "condition"
6
+ }
7
+ export declare enum AutomationCapabilityEffectClass {
8
+ NONE = "none",
9
+ READ = "read",
10
+ WRITE = "write",
11
+ COMMUNICATION = "communication",
12
+ BULK = "bulk"
13
+ }
14
+ export declare enum AutomationCapabilityIdempotency {
15
+ NONE = "none",
16
+ SUPPORTED = "supported",
17
+ REQUIRED = "required"
18
+ }
19
+ /** Capacidades operativas que el runtime puede aplicar de forma confiable. */
20
+ export interface AutomationCapabilityExecutionSupport {
21
+ effectClass: AutomationCapabilityEffectClass;
22
+ supportsSimulation: boolean;
23
+ supportsTestTargets: boolean;
24
+ supportsUntilNode: boolean;
25
+ supportsFromNode: boolean;
26
+ supportsNodeOnly: boolean;
27
+ supportsCancellation: boolean;
28
+ idempotency: AutomationCapabilityIdempotency;
29
+ defaultTimeoutMs?: number | null;
30
+ maxAttempts?: number | null;
31
+ maxTestItems?: number | null;
32
+ inputSchema?: AutomationJsonSchema | null;
33
+ outputSchema?: AutomationJsonSchema | null;
34
+ simulationOutputSchema?: AutomationJsonSchema | null;
35
+ sensitivePaths?: string[] | null;
36
+ requiredPermissions?: string[] | null;
37
+ }
38
+ /**
39
+ * Capacidad publicada por una aplicación de negocio para que Automation pueda
40
+ * descubrirla y representarla sin incorporar reglas de ese dominio.
41
+ */
42
+ export interface AutomationCapability {
43
+ code: string;
44
+ sourceApplication: AutomationSourceApplication;
45
+ kind: AutomationCapabilityKind;
46
+ name: string;
47
+ description?: string | null;
48
+ inputSchema?: AutomationJsonSchema | null;
49
+ outputSchema?: AutomationJsonSchema | null;
50
+ requiredPermissions: string[];
51
+ enabled: boolean;
52
+ version: number;
53
+ /** Metadata opcional para definitions anteriores a la política de ejecución. */
54
+ executionSupport?: AutomationCapabilityExecutionSupport | null;
55
+ }
56
+ export interface AutomationCapabilityQuery {
57
+ sourceApplications?: AutomationSourceApplication[];
58
+ kinds?: AutomationCapabilityKind[];
59
+ enabledOnly?: boolean;
60
+ version?: number;
61
+ }
62
+ export interface AutomationCapabilityReference {
63
+ code: string;
64
+ version: number;
65
+ sourceApplication: AutomationSourceApplication;
66
+ }
67
+ export interface AutomationCapabilityInvocation {
68
+ invocationId: string;
69
+ executionId: string;
70
+ nodeId: string;
71
+ capability: AutomationCapabilityReference;
72
+ input: AutomationJsonObject;
73
+ context: AutomationJsonObject;
74
+ }
75
+ export interface AutomationCapabilityResult {
76
+ invocationId: string;
77
+ success: boolean;
78
+ output?: AutomationJsonObject | null;
79
+ error?: AutomationError | null;
80
+ completedAt: string;
81
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AutomationCapabilityIdempotency = exports.AutomationCapabilityEffectClass = exports.AutomationCapabilityKind = void 0;
4
+ var AutomationCapabilityKind;
5
+ (function (AutomationCapabilityKind) {
6
+ AutomationCapabilityKind["TRIGGER"] = "trigger";
7
+ AutomationCapabilityKind["ACTION"] = "action";
8
+ AutomationCapabilityKind["CONDITION"] = "condition";
9
+ })(AutomationCapabilityKind || (exports.AutomationCapabilityKind = AutomationCapabilityKind = {}));
10
+ var AutomationCapabilityEffectClass;
11
+ (function (AutomationCapabilityEffectClass) {
12
+ AutomationCapabilityEffectClass["NONE"] = "none";
13
+ AutomationCapabilityEffectClass["READ"] = "read";
14
+ AutomationCapabilityEffectClass["WRITE"] = "write";
15
+ AutomationCapabilityEffectClass["COMMUNICATION"] = "communication";
16
+ AutomationCapabilityEffectClass["BULK"] = "bulk";
17
+ })(AutomationCapabilityEffectClass || (exports.AutomationCapabilityEffectClass = AutomationCapabilityEffectClass = {}));
18
+ var AutomationCapabilityIdempotency;
19
+ (function (AutomationCapabilityIdempotency) {
20
+ AutomationCapabilityIdempotency["NONE"] = "none";
21
+ AutomationCapabilityIdempotency["SUPPORTED"] = "supported";
22
+ AutomationCapabilityIdempotency["REQUIRED"] = "required";
23
+ })(AutomationCapabilityIdempotency || (exports.AutomationCapabilityIdempotency = AutomationCapabilityIdempotency = {}));
@@ -0,0 +1 @@
1
+ export * from './Capability';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./Capability"), exports);