@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,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.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";
@@ -39,6 +55,17 @@ var TicketRelationType;
39
55
  TicketRelationType["HAS_INCIDENT"] = "HAS_INCIDENT";
40
56
  TicketRelationType["PROBLEM_OF"] = "PROBLEM_OF";
41
57
  })(TicketRelationType || (exports.TicketRelationType = TicketRelationType = {}));
58
+ var TicketPeriodPreset;
59
+ (function (TicketPeriodPreset) {
60
+ TicketPeriodPreset["LAST_24_HOURS"] = "LAST_24_HOURS";
61
+ TicketPeriodPreset["LAST_7_DAYS"] = "LAST_7_DAYS";
62
+ TicketPeriodPreset["LAST_30_DAYS"] = "LAST_30_DAYS";
63
+ })(TicketPeriodPreset || (exports.TicketPeriodPreset = TicketPeriodPreset = {}));
64
+ var TicketMergeConfirmationLevel;
65
+ (function (TicketMergeConfirmationLevel) {
66
+ TicketMergeConfirmationLevel["CONFIRM"] = "CONFIRM";
67
+ TicketMergeConfirmationLevel["SUPERVISOR"] = "SUPERVISOR";
68
+ })(TicketMergeConfirmationLevel || (exports.TicketMergeConfirmationLevel = TicketMergeConfirmationLevel = {}));
42
69
  var TicketFollowerRole;
43
70
  (function (TicketFollowerRole) {
44
71
  TicketFollowerRole["FOLLOWER"] = "FOLLOWER";
@@ -1,4 +1,4 @@
1
- import { ITicketAuditedEntity } from './Common';
1
+ import { ITicketAuditedEntity } from "./Common";
2
2
  export declare enum TicketApprovalMode {
3
3
  SEQUENTIAL = "SEQUENTIAL",
4
4
  PARALLEL = "PARALLEL"
@@ -29,13 +29,13 @@ export interface ITicketApprovalQuorum {
29
29
  rejectOnAnyRejection?: boolean;
30
30
  }
31
31
  export type ITicketApprover = {
32
- type: 'USER';
32
+ type: "USER";
33
33
  userId: string;
34
34
  } | {
35
- type: 'GROUP';
35
+ type: "GROUP";
36
36
  groupId: string;
37
37
  } | {
38
- type: 'ROLE';
38
+ type: "ROLE";
39
39
  roleId: string;
40
40
  };
41
41
  export interface ITicketApprovalStepDefinition {
@@ -56,6 +56,22 @@ export interface ITicketApprovalProcessDefinition extends ITicketAuditedEntity {
56
56
  steps: ITicketApprovalStepDefinition[];
57
57
  enabled: boolean;
58
58
  }
59
+ export interface ICreateTicketApprovalProcessDefinitionDto {
60
+ name: string;
61
+ description?: string;
62
+ categoryIds?: string[];
63
+ mode: TicketApprovalMode;
64
+ steps: ITicketApprovalStepDefinition[];
65
+ enabled: boolean;
66
+ }
67
+ export interface IUpdateTicketApprovalProcessDefinitionDto {
68
+ name?: string;
69
+ description?: string | null;
70
+ categoryIds?: string[] | null;
71
+ mode?: TicketApprovalMode;
72
+ steps?: ITicketApprovalStepDefinition[];
73
+ enabled?: boolean;
74
+ }
59
75
  export interface ITicketApprovalStep extends ITicketApprovalStepDefinition {
60
76
  status: TicketApprovalStatus;
61
77
  startedAt?: Date;
@@ -1,4 +1,4 @@
1
- import { TicketPropertyValue } from "./Common";
1
+ import { ITicketAuditedEntity, TicketPropertyValue } from "./Common";
2
2
  import { TicketSecurityOperation } from "./Security";
3
3
  /** Events published by Tickets that may start or resume a Flow execution. */
4
4
  export declare enum TicketAutomationTrigger {
@@ -196,6 +196,7 @@ export interface ITicketAutomationActionExecution {
196
196
  result?: ITicketAutomationActionResult;
197
197
  }
198
198
  /** Tenant safety limits enforced by Tickets before accepting Flow-originated actions. */
199
+ /** Tenant safety limits enforced by Tickets before accepting Flow-originated actions. */
199
200
  export interface ITicketAutomationLimits {
200
201
  spaceId: string;
201
202
  maximumCausalDepth: number;
@@ -204,6 +205,31 @@ export interface ITicketAutomationLimits {
204
205
  maximumEventsPerTicketPerMinute: number;
205
206
  ignoreSameFlowCausedEvents: boolean;
206
207
  deadLetterAfterAttempts: number;
208
+ recommended: ITicketAutomationLimitValues;
209
+ /** 0 for a space that has never saved its limits; the first PUT creates version 1. */
210
+ version: number;
211
+ createdAt?: Date;
212
+ createdBy?: string;
213
+ updatedAt?: Date;
214
+ updatedBy?: string;
215
+ }
216
+ /** Replaces the whole automation limits record; expectedVersion guards concurrent edits. */
217
+ export interface IUpdateTicketAutomationLimitsDto {
218
+ expectedVersion: number;
219
+ maximumCausalDepth: number;
220
+ maximumActionsPerExecution: number;
221
+ maximumActionsPerTicketPerMinute: number;
222
+ maximumEventsPerTicketPerMinute: number;
223
+ ignoreSameFlowCausedEvents: boolean;
224
+ deadLetterAfterAttempts: number;
225
+ }
226
+ export interface ITicketAutomationLimitValues {
227
+ maximumCausalDepth: number;
228
+ maximumActionsPerExecution: number;
229
+ maximumActionsPerTicketPerMinute: number;
230
+ maximumEventsPerTicketPerMinute: number;
231
+ ignoreSameFlowCausedEvents: boolean;
232
+ deadLetterAfterAttempts: number;
207
233
  }
208
234
  /** Loop-check request evaluated before dispatching an event or executing an action. */
209
235
  export interface ITicketAutomationGuardRequest {
@@ -220,7 +246,7 @@ export interface ITicketAutomationGuardDecision {
220
246
  actionsRemaining?: number;
221
247
  }
222
248
  /** Registers the Flow binding that determines which ticket event starts which flow version. */
223
- export interface ITicketFlowBinding {
249
+ export interface ITicketFlowBinding extends ITicketAuditedEntity {
224
250
  id: string;
225
251
  spaceId: string;
226
252
  name: string;
@@ -235,3 +261,21 @@ export interface ITicketFlowBinding {
235
261
  updatedAt?: Date;
236
262
  updatedBy?: string;
237
263
  }
264
+ export interface ICreateTicketFlowBindingDto {
265
+ name: string;
266
+ trigger: TicketAutomationTrigger;
267
+ flowId: string;
268
+ flowVersion?: number;
269
+ categoryIds?: string[];
270
+ enabled?: boolean;
271
+ ignoreEventsCausedBySameFlow?: boolean;
272
+ }
273
+ export interface IUpdateTicketFlowBindingDto {
274
+ name?: string;
275
+ trigger?: TicketAutomationTrigger;
276
+ flowId?: string;
277
+ flowVersion?: number;
278
+ categoryIds?: string[];
279
+ enabled?: boolean;
280
+ ignoreEventsCausedBySameFlow?: boolean;
281
+ }
@@ -51,3 +51,21 @@ export interface IUpdateTicketCategoryDto {
51
51
  fieldDefinitionIds?: string[] | null;
52
52
  layoutIds?: string[] | null;
53
53
  }
54
+ export interface ICreateTicketResolutionTypeDto {
55
+ name: string;
56
+ description?: string;
57
+ enabled?: boolean;
58
+ order?: number;
59
+ formRequirements?: ITicketFormRequirement[];
60
+ fieldDefinitionIds?: string[];
61
+ layoutIds?: string[];
62
+ }
63
+ export interface IUpdateTicketResolutionTypeDto {
64
+ name?: string;
65
+ description?: string | null;
66
+ enabled?: boolean;
67
+ order?: number;
68
+ formRequirements?: ITicketFormRequirement[] | null;
69
+ fieldDefinitionIds?: string[] | null;
70
+ layoutIds?: string[] | null;
71
+ }
@@ -193,6 +193,17 @@ export declare enum TicketMetricCode {
193
193
  SECURITY_DENIAL_COUNT = "SECURITY_DENIAL_COUNT",
194
194
  PII_ACCESS_COUNT = "PII_ACCESS_COUNT"
195
195
  }
196
+ export declare enum DashboardIcon {
197
+ DASHBOARD = "DASHBOARD",
198
+ HOME = "HOME",
199
+ SUPPORT = "SUPPORT",
200
+ ANALYTICS = "ANALYTICS",
201
+ REPORTS = "REPORTS",
202
+ USERS = "USERS",
203
+ SETTINGS = "SETTINGS",
204
+ FAVORITES = "FAVORITES",
205
+ QUICK_ACTIONS = "QUICK_ACTIONS"
206
+ }
196
207
  export interface ITicketAnalyticsFilter extends ITicketFilter {
197
208
  range: ITicketDateRange;
198
209
  channelTypes?: ChannelType[];
@@ -218,6 +229,7 @@ export interface ITicketMetricDefinition {
218
229
  supportsPercentile?: boolean;
219
230
  supportsRealTime?: boolean;
220
231
  higherIsBetter?: boolean;
232
+ supportedFilters: (keyof Omit<ITicketAnalyticsFilter, 'range'>)[];
221
233
  }
222
234
  export interface ITicketMetricQuery {
223
235
  metric: TicketMetricCode;
@@ -318,11 +330,43 @@ export interface ITicketDashboard {
318
330
  refreshMode: TicketWidgetRefreshMode;
319
331
  refreshIntervalSeconds?: number;
320
332
  isDefault?: boolean;
333
+ order: number;
334
+ icon?: DashboardIcon;
321
335
  createdAt: Date;
322
336
  createdBy: string;
323
337
  updatedAt?: Date;
324
338
  updatedBy?: string;
325
339
  }
340
+ export interface ICreateTicketDashboardDto {
341
+ name: string;
342
+ description?: string;
343
+ audience: TicketAnalyticsAudience;
344
+ visibility: TicketDashboardVisibility;
345
+ sharedRoleIds?: string[];
346
+ sharedGroupIds?: string[];
347
+ defaultFilter?: ITicketAnalyticsFilter;
348
+ widgets?: ITicketWidgetConfiguration[];
349
+ refreshMode?: TicketWidgetRefreshMode;
350
+ refreshIntervalSeconds?: number;
351
+ order?: number;
352
+ isDefault?: boolean;
353
+ icon?: DashboardIcon;
354
+ }
355
+ export interface IUpdateTicketDashboardDto {
356
+ name?: string;
357
+ description?: string;
358
+ audience?: TicketAnalyticsAudience;
359
+ visibility?: TicketDashboardVisibility;
360
+ sharedRoleIds?: string[];
361
+ sharedGroupIds?: string[];
362
+ defaultFilter?: ITicketAnalyticsFilter;
363
+ widgets?: ITicketWidgetConfiguration[];
364
+ refreshMode?: TicketWidgetRefreshMode;
365
+ refreshIntervalSeconds?: number;
366
+ order?: number;
367
+ isDefault?: boolean;
368
+ icon?: DashboardIcon;
369
+ }
326
370
  export interface ITicketDashboardTemplate {
327
371
  id: string;
328
372
  spaceId: string;
@@ -332,6 +376,20 @@ export interface ITicketDashboardTemplate {
332
376
  widgets: ITicketWidgetConfiguration[];
333
377
  enabled: boolean;
334
378
  }
379
+ export interface ICreateTicketDashboardTemplateDto {
380
+ name: string;
381
+ description?: string;
382
+ audience: TicketAnalyticsAudience;
383
+ widgets?: ITicketWidgetConfiguration[];
384
+ enabled?: boolean;
385
+ }
386
+ export interface IUpdateTicketDashboardTemplateDto {
387
+ name?: string;
388
+ description?: string;
389
+ audience?: TicketAnalyticsAudience;
390
+ widgets?: ITicketWidgetConfiguration[];
391
+ enabled?: boolean;
392
+ }
335
393
  export interface ITicketDashboardSnapshot {
336
394
  id: string;
337
395
  dashboardId: string;
@@ -371,6 +429,26 @@ export interface ITicketAnalyticsGoal {
371
429
  ownerUserId?: string;
372
430
  createdAt: Date;
373
431
  }
432
+ export interface ICreateTicketAnalyticsGoalDto {
433
+ name: string;
434
+ metric: TicketMetricCode;
435
+ target: number;
436
+ filter: ITicketAnalyticsFilter;
437
+ validFrom: Date;
438
+ validUntil?: Date;
439
+ ownerGroupId?: string;
440
+ ownerUserId?: string;
441
+ }
442
+ export interface IUpdateTicketAnalyticsGoalDto {
443
+ name?: string;
444
+ metric?: TicketMetricCode;
445
+ target?: number;
446
+ filter?: ITicketAnalyticsFilter;
447
+ validFrom?: Date;
448
+ validUntil?: Date;
449
+ ownerGroupId?: string;
450
+ ownerUserId?: string;
451
+ }
374
452
  /** Reports freshness so users know whether a card is real-time, delayed or partial. */
375
453
  export interface ITicketAnalyticsFreshness {
376
454
  metric: TicketMetricCode;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TicketMetricCode = exports.TicketDrilldownTarget = exports.TicketWidgetRefreshMode = exports.TicketMetricFormat = exports.TicketComparisonMode = exports.TicketTimeGranularity = exports.TicketAnalyticsDimension = exports.TicketMetricAggregation = exports.TicketWidgetType = exports.TicketDashboardVisibility = exports.TicketAnalyticsAudience = void 0;
3
+ exports.DashboardIcon = exports.TicketMetricCode = exports.TicketDrilldownTarget = exports.TicketWidgetRefreshMode = exports.TicketMetricFormat = exports.TicketComparisonMode = exports.TicketTimeGranularity = exports.TicketAnalyticsDimension = exports.TicketMetricAggregation = exports.TicketWidgetType = exports.TicketDashboardVisibility = exports.TicketAnalyticsAudience = void 0;
4
4
  var TicketAnalyticsAudience;
5
5
  (function (TicketAnalyticsAudience) {
6
6
  TicketAnalyticsAudience["AGENT"] = "AGENT";
@@ -204,3 +204,15 @@ var TicketMetricCode;
204
204
  TicketMetricCode["SECURITY_DENIAL_COUNT"] = "SECURITY_DENIAL_COUNT";
205
205
  TicketMetricCode["PII_ACCESS_COUNT"] = "PII_ACCESS_COUNT";
206
206
  })(TicketMetricCode || (exports.TicketMetricCode = TicketMetricCode = {}));
207
+ var DashboardIcon;
208
+ (function (DashboardIcon) {
209
+ DashboardIcon["DASHBOARD"] = "DASHBOARD";
210
+ DashboardIcon["HOME"] = "HOME";
211
+ DashboardIcon["SUPPORT"] = "SUPPORT";
212
+ DashboardIcon["ANALYTICS"] = "ANALYTICS";
213
+ DashboardIcon["REPORTS"] = "REPORTS";
214
+ DashboardIcon["USERS"] = "USERS";
215
+ DashboardIcon["SETTINGS"] = "SETTINGS";
216
+ DashboardIcon["FAVORITES"] = "FAVORITES";
217
+ DashboardIcon["QUICK_ACTIONS"] = "QUICK_ACTIONS";
218
+ })(DashboardIcon || (exports.DashboardIcon = DashboardIcon = {}));
@@ -90,6 +90,7 @@ export interface ITicketFieldDefinition extends ITicketAuditedEntity {
90
90
  objectFields?: ITicketObjectField[];
91
91
  validation?: ITicketFieldValidation;
92
92
  scopeType: TicketFieldScopeType;
93
+ version: number;
93
94
  categoryIds?: string[];
94
95
  requestTypeIds?: string[];
95
96
  conditions?: ITicketFieldCondition[];
@@ -97,6 +98,9 @@ export interface ITicketFieldDefinition extends ITicketAuditedEntity {
97
98
  writeRoleIds?: string[];
98
99
  classification?: TicketDataClassification;
99
100
  maskingStrategy?: TicketMaskingStrategy;
101
+ containsPii?: boolean;
102
+ searchableWhenMasked?: boolean;
103
+ retentionPolicyId?: string;
100
104
  searchable?: boolean;
101
105
  filterable?: boolean;
102
106
  sortable?: boolean;
@@ -36,6 +36,8 @@ export interface ITicketLayoutSection {
36
36
  collapsedByDefault?: boolean;
37
37
  fields: ITicketLayoutField[];
38
38
  }
39
+ export interface ITicketLayoutSectionDTO extends Omit<ITicketLayoutSection, 'id'> {
40
+ }
39
41
  /** Controls presentation only; validation remains authoritative in ITicketFieldDefinition. */
40
42
  export interface ITicketLayout extends ITicketAuditedEntity {
41
43
  name: string;
@@ -56,7 +58,7 @@ export interface ICreateTicketLayoutDto {
56
58
  categoryIds?: string[];
57
59
  requestTypeIds?: string[];
58
60
  roleIds?: string[];
59
- sections: ITicketLayoutSection[];
61
+ sections: ITicketLayoutSectionDTO[];
60
62
  }
61
63
  export interface IUpdateTicketLayoutDto extends Partial<ICreateTicketLayoutDto> {
62
64
  enabled?: boolean;
@@ -1,6 +1,6 @@
1
- import { ChannelType } from '../Common/Channels/ChannelType';
2
- import { ITicketAuditedEntity, TicketPriority, TicketPropertyValue } from './Common';
3
- import { TicketConditionOperator } from './Workflow';
1
+ import { ChannelType } from "../Common/Channels/ChannelType";
2
+ import { ITicketAuditedEntity, TicketPriority, TicketPropertyValue } from "./Common";
3
+ import { TicketConditionOperator } from "./Workflow";
4
4
  export declare enum TicketRoutingStrategy {
5
5
  ROUND_ROBIN = "ROUND_ROBIN",
6
6
  LEAST_BUSY = "LEAST_BUSY",
@@ -288,3 +288,105 @@ export interface IManualRouteTicketDto {
288
288
  agentId?: string;
289
289
  reason?: string;
290
290
  }
291
+ export interface ICreateTicketQueueDto {
292
+ name: string;
293
+ description?: string;
294
+ enabled: boolean;
295
+ priority: number;
296
+ conditions?: ITicketRoutingConditionGroup;
297
+ primaryGroupIds: string[];
298
+ fallbackGroupIds?: string[];
299
+ strategy: TicketRoutingStrategy;
300
+ ordering: ITicketQueueOrder[];
301
+ skillRequirements?: ITicketSkillRequirement[];
302
+ offerTimeoutSeconds?: number;
303
+ maximumWaitMinutes?: number;
304
+ escalationPolicyId?: string;
305
+ }
306
+ export type IUpdateTicketQueueDto = Partial<ICreateTicketQueueDto>;
307
+ export interface ICreateTicketSkillDto {
308
+ name: string;
309
+ description?: string;
310
+ enabled?: boolean;
311
+ }
312
+ export type IUpdateTicketSkillDto = Partial<ICreateTicketSkillDto>;
313
+ export interface ICreateTicketEscalationPolicyDto {
314
+ name: string;
315
+ description?: string;
316
+ enabled?: boolean;
317
+ steps: ITicketEscalationStep[];
318
+ }
319
+ export type IUpdateTicketEscalationPolicyDto = Partial<ICreateTicketEscalationPolicyDto>;
320
+ export interface ITicketQueueSimulateRequestDto {
321
+ queueId?: string;
322
+ conditions?: ITicketRoutingConditionGroup;
323
+ sampleTicket: Record<string, unknown>;
324
+ }
325
+ export interface ITicketQueueSimulateResponseDto {
326
+ wouldEnter: boolean;
327
+ reasons: string[];
328
+ }
329
+ export interface ICreateTicketRoutingPolicyDto {
330
+ name: string;
331
+ description?: string;
332
+ enabled: boolean;
333
+ priority: number;
334
+ conditions?: ITicketRoutingConditionGroup;
335
+ queueId: string;
336
+ strategyOverride?: TicketRoutingStrategy;
337
+ skillRequirements?: ITicketSkillRequirement[];
338
+ validFrom?: Date;
339
+ validUntil?: Date;
340
+ }
341
+ export type IUpdateTicketRoutingPolicyDto = Partial<ICreateTicketRoutingPolicyDto>;
342
+ export interface IReorderTicketRoutingPoliciesDto {
343
+ orderedIds: string[];
344
+ }
345
+ export declare enum TicketSkillWarningCode {
346
+ ENABLED_BUT_UNASSIGNED = "ENABLED_BUT_UNASSIGNED",
347
+ DISABLED_BUT_REFERENCED = "DISABLED_BUT_REFERENCED",
348
+ REQUIRED_BY_QUEUE_BUT_UNMET = "REQUIRED_BY_QUEUE_BUT_UNMET"
349
+ }
350
+ export interface ITicketSkillUsageSummary {
351
+ agentsCount: number;
352
+ queuesCount: number;
353
+ policiesCount: number;
354
+ }
355
+ export interface ITicketSkillUsageRef {
356
+ id: string;
357
+ name: string;
358
+ }
359
+ export interface ITicketSkillUsage {
360
+ agents: number;
361
+ queues: ITicketSkillUsageRef[];
362
+ policies: ITicketSkillUsageRef[];
363
+ }
364
+ export interface ITicketSkillWithUsage extends ITicketSkill {
365
+ usage: ITicketSkillUsageSummary;
366
+ warnings: TicketSkillWarningCode[];
367
+ }
368
+ export interface ICreateAgentTicketSkillDto {
369
+ userId: string;
370
+ skillId: string;
371
+ proficiency?: number;
372
+ priority?: number;
373
+ enabled?: boolean;
374
+ validFrom?: Date;
375
+ validUntil?: Date;
376
+ }
377
+ export type IUpdateAgentTicketSkillDto = Partial<Omit<ICreateAgentTicketSkillDto, "userId" | "skillId">>;
378
+ export interface IAgentChannelCapacityConfig {
379
+ id: string;
380
+ userId: string;
381
+ channelType?: ChannelType;
382
+ maximumConcurrent: number;
383
+ reservedCapacity?: number;
384
+ effectiveCapacity: number;
385
+ }
386
+ export interface ICreateAgentChannelCapacityDto {
387
+ userId: string;
388
+ channelType?: ChannelType;
389
+ maximumConcurrent: number;
390
+ reservedCapacity?: number;
391
+ }
392
+ export type IUpdateAgentChannelCapacityDto = Partial<Omit<ICreateAgentChannelCapacityDto, "userId" | "channelType">>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TicketAssignmentEndReason = exports.TicketEscalationActionType = exports.TicketEscalationTrigger = exports.TicketSkillRelaxationMode = exports.TicketQueueOrderDirection = exports.TicketQueueOrderCriterion = exports.TicketRoutingConditionGroupOperator = exports.AgentAvailabilityStatus = exports.TicketRoutingStatus = exports.TicketRoutingStrategy = void 0;
3
+ exports.TicketSkillWarningCode = exports.TicketAssignmentEndReason = exports.TicketEscalationActionType = exports.TicketEscalationTrigger = exports.TicketSkillRelaxationMode = exports.TicketQueueOrderDirection = exports.TicketQueueOrderCriterion = exports.TicketRoutingConditionGroupOperator = exports.AgentAvailabilityStatus = exports.TicketRoutingStatus = exports.TicketRoutingStrategy = void 0;
4
4
  var TicketRoutingStrategy;
5
5
  (function (TicketRoutingStrategy) {
6
6
  TicketRoutingStrategy["ROUND_ROBIN"] = "ROUND_ROBIN";
@@ -85,3 +85,9 @@ var TicketAssignmentEndReason;
85
85
  TicketAssignmentEndReason["EXPIRED"] = "EXPIRED";
86
86
  TicketAssignmentEndReason["MANUAL"] = "MANUAL";
87
87
  })(TicketAssignmentEndReason || (exports.TicketAssignmentEndReason = TicketAssignmentEndReason = {}));
88
+ var TicketSkillWarningCode;
89
+ (function (TicketSkillWarningCode) {
90
+ TicketSkillWarningCode["ENABLED_BUT_UNASSIGNED"] = "ENABLED_BUT_UNASSIGNED";
91
+ TicketSkillWarningCode["DISABLED_BUT_REFERENCED"] = "DISABLED_BUT_REFERENCED";
92
+ TicketSkillWarningCode["REQUIRED_BY_QUEUE_BUT_UNMET"] = "REQUIRED_BY_QUEUE_BUT_UNMET";
93
+ })(TicketSkillWarningCode || (exports.TicketSkillWarningCode = TicketSkillWarningCode = {}));