@dakkitor/api-contracts 1.1.98 → 1.1.99
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/abilities/abilities.contract.d.ts +1 -1
- package/dist/abilities/abilities.contract.d.ts.map +1 -1
- package/dist/dashboards/dashboard-widgets.contract.d.ts +223 -0
- package/dist/dashboards/dashboard-widgets.contract.d.ts.map +1 -1
- package/dist/dashboards/dashboard-widgets.contract.js +40 -1
- package/package.json +1 -1
|
@@ -30,5 +30,5 @@ export type RoleAbilitiesType = typeof RoleAbilities;
|
|
|
30
30
|
* Used for feature-level permission checking.
|
|
31
31
|
* These must be kept in sync with the subjects in the abilities JSON files.
|
|
32
32
|
*/
|
|
33
|
-
export type VirtualSubjects = 'FaDashboardWidgets' | 'SaDashboardWidgets' | 'DashboardTrends' | 'FirstAgentTutorials' | 'SecondAgentTutorials';
|
|
33
|
+
export type VirtualSubjects = 'FaDashboardWidgets' | 'SaDashboardWidgets' | 'DashboardTrends' | 'AllAgentsCallHistory' | 'FirstAgentTutorials' | 'SecondAgentTutorials';
|
|
34
34
|
//# sourceMappingURL=abilities.contract.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abilities.contract.d.ts","sourceRoot":"","sources":["../../contracts/abilities/abilities.contract.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,EAAE,WAAW,EAAoC,CAAC;AAC7E,eAAO,MAAM,YAAY,EAAE,WAAW,EAAkC,CAAC;AACzE,eAAO,MAAM,mBAAmB,EAAE,WAAW,EACP,CAAC;AACvC,eAAO,MAAM,oBAAoB,EAAE,WAAW,EACP,CAAC;AACxC,eAAO,MAAM,YAAY,EAAE,WAAW,EAAkC,CAAC;AAEzE,eAAO,MAAM,aAAa;;;;;;CAMhB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,OAAO,aAAa,CAAC;AAErD;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACvB,oBAAoB,GACpB,oBAAoB,GACpB,iBAAiB,GACjB,qBAAqB,GACrB,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"abilities.contract.d.ts","sourceRoot":"","sources":["../../contracts/abilities/abilities.contract.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,EAAE,WAAW,EAAoC,CAAC;AAC7E,eAAO,MAAM,YAAY,EAAE,WAAW,EAAkC,CAAC;AACzE,eAAO,MAAM,mBAAmB,EAAE,WAAW,EACP,CAAC;AACvC,eAAO,MAAM,oBAAoB,EAAE,WAAW,EACP,CAAC;AACxC,eAAO,MAAM,YAAY,EAAE,WAAW,EAAkC,CAAC;AAEzE,eAAO,MAAM,aAAa;;;;;;CAMhB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,OAAO,aAAa,CAAC;AAErD;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACvB,oBAAoB,GACpB,oBAAoB,GACpB,iBAAiB,GACjB,sBAAsB,GACtB,qBAAqB,GACrB,sBAAsB,CAAC"}
|
|
@@ -149,6 +149,132 @@ export declare const FaCallHistoryWidgetSchema: z.ZodObject<{
|
|
|
149
149
|
performanceTier: "high" | "medium" | "low" | "new";
|
|
150
150
|
ratingBreakdown: Record<string, number>;
|
|
151
151
|
}>;
|
|
152
|
+
/**
|
|
153
|
+
* Agent Call History Item - Call performance metrics for a single agent
|
|
154
|
+
*/
|
|
155
|
+
export declare const AgentCallHistoryItemSchema: z.ZodObject<{
|
|
156
|
+
agentId: z.ZodString;
|
|
157
|
+
agentName: z.ZodString;
|
|
158
|
+
agentEmail: z.ZodString;
|
|
159
|
+
callsOnDate: z.ZodNumber;
|
|
160
|
+
totalCalls: z.ZodNumber;
|
|
161
|
+
averageRating: z.ZodNumber;
|
|
162
|
+
conversionRate: z.ZodNumber;
|
|
163
|
+
performanceScore: z.ZodNumber;
|
|
164
|
+
performanceTier: z.ZodEnum<["high", "medium", "low", "new"]>;
|
|
165
|
+
}, "strip", z.ZodTypeAny, {
|
|
166
|
+
totalCalls: number;
|
|
167
|
+
averageRating: number;
|
|
168
|
+
conversionRate: number;
|
|
169
|
+
performanceScore: number;
|
|
170
|
+
performanceTier: "high" | "medium" | "low" | "new";
|
|
171
|
+
agentId: string;
|
|
172
|
+
agentName: string;
|
|
173
|
+
agentEmail: string;
|
|
174
|
+
callsOnDate: number;
|
|
175
|
+
}, {
|
|
176
|
+
totalCalls: number;
|
|
177
|
+
averageRating: number;
|
|
178
|
+
conversionRate: number;
|
|
179
|
+
performanceScore: number;
|
|
180
|
+
performanceTier: "high" | "medium" | "low" | "new";
|
|
181
|
+
agentId: string;
|
|
182
|
+
agentName: string;
|
|
183
|
+
agentEmail: string;
|
|
184
|
+
callsOnDate: number;
|
|
185
|
+
}>;
|
|
186
|
+
/**
|
|
187
|
+
* Query parameters for all agents call history endpoint
|
|
188
|
+
*/
|
|
189
|
+
export declare const AllAgentsCallHistoryQuerySchema: z.ZodObject<{
|
|
190
|
+
limit: z.ZodDefault<z.ZodNumber>;
|
|
191
|
+
page: z.ZodDefault<z.ZodNumber>;
|
|
192
|
+
} & {
|
|
193
|
+
date: z.ZodOptional<z.ZodString>;
|
|
194
|
+
}, "strip", z.ZodTypeAny, {
|
|
195
|
+
limit: number;
|
|
196
|
+
page: number;
|
|
197
|
+
date?: string | undefined;
|
|
198
|
+
}, {
|
|
199
|
+
date?: string | undefined;
|
|
200
|
+
limit?: number | undefined;
|
|
201
|
+
page?: number | undefined;
|
|
202
|
+
}>;
|
|
203
|
+
/**
|
|
204
|
+
* Paginated response for all agents call history
|
|
205
|
+
*/
|
|
206
|
+
export declare const AllAgentsCallHistoryResponseSchema: z.ZodObject<{
|
|
207
|
+
items: z.ZodArray<z.ZodObject<{
|
|
208
|
+
agentId: z.ZodString;
|
|
209
|
+
agentName: z.ZodString;
|
|
210
|
+
agentEmail: z.ZodString;
|
|
211
|
+
callsOnDate: z.ZodNumber;
|
|
212
|
+
totalCalls: z.ZodNumber;
|
|
213
|
+
averageRating: z.ZodNumber;
|
|
214
|
+
conversionRate: z.ZodNumber;
|
|
215
|
+
performanceScore: z.ZodNumber;
|
|
216
|
+
performanceTier: z.ZodEnum<["high", "medium", "low", "new"]>;
|
|
217
|
+
}, "strip", z.ZodTypeAny, {
|
|
218
|
+
totalCalls: number;
|
|
219
|
+
averageRating: number;
|
|
220
|
+
conversionRate: number;
|
|
221
|
+
performanceScore: number;
|
|
222
|
+
performanceTier: "high" | "medium" | "low" | "new";
|
|
223
|
+
agentId: string;
|
|
224
|
+
agentName: string;
|
|
225
|
+
agentEmail: string;
|
|
226
|
+
callsOnDate: number;
|
|
227
|
+
}, {
|
|
228
|
+
totalCalls: number;
|
|
229
|
+
averageRating: number;
|
|
230
|
+
conversionRate: number;
|
|
231
|
+
performanceScore: number;
|
|
232
|
+
performanceTier: "high" | "medium" | "low" | "new";
|
|
233
|
+
agentId: string;
|
|
234
|
+
agentName: string;
|
|
235
|
+
agentEmail: string;
|
|
236
|
+
callsOnDate: number;
|
|
237
|
+
}>, "many">;
|
|
238
|
+
totalCount: z.ZodNumber;
|
|
239
|
+
limit: z.ZodNumber;
|
|
240
|
+
skip: z.ZodNumber;
|
|
241
|
+
currentPage: z.ZodNumber;
|
|
242
|
+
totalPages: z.ZodNumber;
|
|
243
|
+
}, "strip", z.ZodTypeAny, {
|
|
244
|
+
limit: number;
|
|
245
|
+
items: {
|
|
246
|
+
totalCalls: number;
|
|
247
|
+
averageRating: number;
|
|
248
|
+
conversionRate: number;
|
|
249
|
+
performanceScore: number;
|
|
250
|
+
performanceTier: "high" | "medium" | "low" | "new";
|
|
251
|
+
agentId: string;
|
|
252
|
+
agentName: string;
|
|
253
|
+
agentEmail: string;
|
|
254
|
+
callsOnDate: number;
|
|
255
|
+
}[];
|
|
256
|
+
totalCount: number;
|
|
257
|
+
skip: number;
|
|
258
|
+
currentPage: number;
|
|
259
|
+
totalPages: number;
|
|
260
|
+
}, {
|
|
261
|
+
limit: number;
|
|
262
|
+
items: {
|
|
263
|
+
totalCalls: number;
|
|
264
|
+
averageRating: number;
|
|
265
|
+
conversionRate: number;
|
|
266
|
+
performanceScore: number;
|
|
267
|
+
performanceTier: "high" | "medium" | "low" | "new";
|
|
268
|
+
agentId: string;
|
|
269
|
+
agentName: string;
|
|
270
|
+
agentEmail: string;
|
|
271
|
+
callsOnDate: number;
|
|
272
|
+
}[];
|
|
273
|
+
totalCount: number;
|
|
274
|
+
skip: number;
|
|
275
|
+
currentPage: number;
|
|
276
|
+
totalPages: number;
|
|
277
|
+
}>;
|
|
152
278
|
/**
|
|
153
279
|
* FA Actives Widget - Today's active workers (FA perspective)
|
|
154
280
|
*/
|
|
@@ -666,6 +792,100 @@ export declare const dashboardWidgetsContract: {
|
|
|
666
792
|
}>;
|
|
667
793
|
};
|
|
668
794
|
};
|
|
795
|
+
getAllAvailableAgentsCallHistory: {
|
|
796
|
+
summary: "Get call history for all available agents";
|
|
797
|
+
query: z.ZodObject<{
|
|
798
|
+
limit: z.ZodDefault<z.ZodNumber>;
|
|
799
|
+
page: z.ZodDefault<z.ZodNumber>;
|
|
800
|
+
} & {
|
|
801
|
+
date: z.ZodOptional<z.ZodString>;
|
|
802
|
+
}, "strip", z.ZodTypeAny, {
|
|
803
|
+
limit: number;
|
|
804
|
+
page: number;
|
|
805
|
+
date?: string | undefined;
|
|
806
|
+
}, {
|
|
807
|
+
date?: string | undefined;
|
|
808
|
+
limit?: number | undefined;
|
|
809
|
+
page?: number | undefined;
|
|
810
|
+
}>;
|
|
811
|
+
description: "Returns paginated call performance metrics for all agents marked as available in lead distribution";
|
|
812
|
+
method: "GET";
|
|
813
|
+
path: "/widgets/agents/call-history";
|
|
814
|
+
responses: {
|
|
815
|
+
200: z.ZodObject<{
|
|
816
|
+
items: z.ZodArray<z.ZodObject<{
|
|
817
|
+
agentId: z.ZodString;
|
|
818
|
+
agentName: z.ZodString;
|
|
819
|
+
agentEmail: z.ZodString;
|
|
820
|
+
callsOnDate: z.ZodNumber;
|
|
821
|
+
totalCalls: z.ZodNumber;
|
|
822
|
+
averageRating: z.ZodNumber;
|
|
823
|
+
conversionRate: z.ZodNumber;
|
|
824
|
+
performanceScore: z.ZodNumber;
|
|
825
|
+
performanceTier: z.ZodEnum<["high", "medium", "low", "new"]>;
|
|
826
|
+
}, "strip", z.ZodTypeAny, {
|
|
827
|
+
totalCalls: number;
|
|
828
|
+
averageRating: number;
|
|
829
|
+
conversionRate: number;
|
|
830
|
+
performanceScore: number;
|
|
831
|
+
performanceTier: "high" | "medium" | "low" | "new";
|
|
832
|
+
agentId: string;
|
|
833
|
+
agentName: string;
|
|
834
|
+
agentEmail: string;
|
|
835
|
+
callsOnDate: number;
|
|
836
|
+
}, {
|
|
837
|
+
totalCalls: number;
|
|
838
|
+
averageRating: number;
|
|
839
|
+
conversionRate: number;
|
|
840
|
+
performanceScore: number;
|
|
841
|
+
performanceTier: "high" | "medium" | "low" | "new";
|
|
842
|
+
agentId: string;
|
|
843
|
+
agentName: string;
|
|
844
|
+
agentEmail: string;
|
|
845
|
+
callsOnDate: number;
|
|
846
|
+
}>, "many">;
|
|
847
|
+
totalCount: z.ZodNumber;
|
|
848
|
+
limit: z.ZodNumber;
|
|
849
|
+
skip: z.ZodNumber;
|
|
850
|
+
currentPage: z.ZodNumber;
|
|
851
|
+
totalPages: z.ZodNumber;
|
|
852
|
+
}, "strip", z.ZodTypeAny, {
|
|
853
|
+
limit: number;
|
|
854
|
+
items: {
|
|
855
|
+
totalCalls: number;
|
|
856
|
+
averageRating: number;
|
|
857
|
+
conversionRate: number;
|
|
858
|
+
performanceScore: number;
|
|
859
|
+
performanceTier: "high" | "medium" | "low" | "new";
|
|
860
|
+
agentId: string;
|
|
861
|
+
agentName: string;
|
|
862
|
+
agentEmail: string;
|
|
863
|
+
callsOnDate: number;
|
|
864
|
+
}[];
|
|
865
|
+
totalCount: number;
|
|
866
|
+
skip: number;
|
|
867
|
+
currentPage: number;
|
|
868
|
+
totalPages: number;
|
|
869
|
+
}, {
|
|
870
|
+
limit: number;
|
|
871
|
+
items: {
|
|
872
|
+
totalCalls: number;
|
|
873
|
+
averageRating: number;
|
|
874
|
+
conversionRate: number;
|
|
875
|
+
performanceScore: number;
|
|
876
|
+
performanceTier: "high" | "medium" | "low" | "new";
|
|
877
|
+
agentId: string;
|
|
878
|
+
agentName: string;
|
|
879
|
+
agentEmail: string;
|
|
880
|
+
callsOnDate: number;
|
|
881
|
+
}[];
|
|
882
|
+
totalCount: number;
|
|
883
|
+
skip: number;
|
|
884
|
+
currentPage: number;
|
|
885
|
+
totalPages: number;
|
|
886
|
+
}>;
|
|
887
|
+
};
|
|
888
|
+
};
|
|
669
889
|
getFaActives: {
|
|
670
890
|
summary: "Get FA actives widget data";
|
|
671
891
|
description: "Returns today's active workers from FA perspective";
|
|
@@ -1154,6 +1374,9 @@ export type FaCheckingsWidget = z.infer<typeof FaCheckingsWidgetSchema>;
|
|
|
1154
1374
|
export type FaCallHistoryWidget = z.infer<typeof FaCallHistoryWidgetSchema>;
|
|
1155
1375
|
export type FaActivesWidget = z.infer<typeof FaActivesWidgetSchema>;
|
|
1156
1376
|
export type FaBookingsWidget = z.infer<typeof FaBookingsWidgetSchema>;
|
|
1377
|
+
export type AgentCallHistoryItem = z.infer<typeof AgentCallHistoryItemSchema>;
|
|
1378
|
+
export type AllAgentsCallHistoryQuery = z.infer<typeof AllAgentsCallHistoryQuerySchema>;
|
|
1379
|
+
export type AllAgentsCallHistoryResponse = z.infer<typeof AllAgentsCallHistoryResponseSchema>;
|
|
1157
1380
|
export type SaWorkersWidget = z.infer<typeof SaWorkersWidgetSchema>;
|
|
1158
1381
|
export type SaBookingsWidget = z.infer<typeof SaBookingsWidgetSchema>;
|
|
1159
1382
|
export type SaActivesWidget = z.infer<typeof SaActivesWidgetSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-widgets.contract.d.ts","sourceRoot":"","sources":["../../contracts/dashboards/dashboard-widgets.contract.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"dashboard-widgets.contract.d.ts","sourceRoot":"","sources":["../../contracts/dashboards/dashboard-widgets.contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,9 +7,11 @@
|
|
|
7
7
|
* Provides role-specific widgets for First Agent (FA) and Second Agent (SA).
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.dashboardWidgetsContract = exports.CollaborationsTrendSchema = exports.WorkersTrendSchema = exports.CallPerformanceTrendSchema = exports.BookingsTrendSchema = exports.ActivesTrendSchema = exports.SaActivesWidgetSchema = exports.SaBookingsWidgetSchema = exports.SaWorkersWidgetSchema = exports.FaBookingsWidgetSchema = exports.FaActivesWidgetSchema = exports.FaCallHistoryWidgetSchema = exports.FaCheckingsWidgetSchema = exports.FaClientsWidgetSchema = exports.FaPipelineWidgetSchema = exports.TrendDataPointSchema = exports.DateRangeQuerySchema = void 0;
|
|
10
|
+
exports.dashboardWidgetsContract = exports.CollaborationsTrendSchema = exports.WorkersTrendSchema = exports.CallPerformanceTrendSchema = exports.BookingsTrendSchema = exports.ActivesTrendSchema = exports.SaActivesWidgetSchema = exports.SaBookingsWidgetSchema = exports.SaWorkersWidgetSchema = exports.FaBookingsWidgetSchema = exports.FaActivesWidgetSchema = exports.AllAgentsCallHistoryResponseSchema = exports.AllAgentsCallHistoryQuerySchema = exports.AgentCallHistoryItemSchema = exports.FaCallHistoryWidgetSchema = exports.FaCheckingsWidgetSchema = exports.FaClientsWidgetSchema = exports.FaPipelineWidgetSchema = exports.TrendDataPointSchema = exports.DateRangeQuerySchema = void 0;
|
|
11
11
|
const core_1 = require("@ts-rest/core");
|
|
12
12
|
const zod_1 = require("zod");
|
|
13
|
+
const pagination_schema_1 = require("../common/pagination.schema");
|
|
14
|
+
const pagination_query_schema_1 = require("../common/pagination-query.schema");
|
|
13
15
|
const c = (0, core_1.initContract)();
|
|
14
16
|
// =============================================================================
|
|
15
17
|
// COMMON SCHEMAS
|
|
@@ -78,6 +80,33 @@ exports.FaCallHistoryWidgetSchema = zod_1.z.object({
|
|
|
78
80
|
.record(zod_1.z.string(), zod_1.z.number())
|
|
79
81
|
.describe('Calls by rating type'),
|
|
80
82
|
});
|
|
83
|
+
/**
|
|
84
|
+
* Agent Call History Item - Call performance metrics for a single agent
|
|
85
|
+
*/
|
|
86
|
+
exports.AgentCallHistoryItemSchema = zod_1.z.object({
|
|
87
|
+
agentId: zod_1.z.string().uuid(),
|
|
88
|
+
agentName: zod_1.z.string(),
|
|
89
|
+
agentEmail: zod_1.z.string().email(),
|
|
90
|
+
callsOnDate: zod_1.z.number().describe('Number of calls on the specified date'),
|
|
91
|
+
totalCalls: zod_1.z.number().describe('Total calls (all time)'),
|
|
92
|
+
averageRating: zod_1.z.number().describe('Average rating weight (0-1)'),
|
|
93
|
+
conversionRate: zod_1.z.number().describe('Conversion rate (0-1)'),
|
|
94
|
+
performanceScore: zod_1.z.number().describe('Overall performance score (0-100)'),
|
|
95
|
+
performanceTier: zod_1.z.enum(['high', 'medium', 'low', 'new']),
|
|
96
|
+
});
|
|
97
|
+
/**
|
|
98
|
+
* Query parameters for all agents call history endpoint
|
|
99
|
+
*/
|
|
100
|
+
exports.AllAgentsCallHistoryQuerySchema = pagination_query_schema_1.PaginationQuerySchema.extend({
|
|
101
|
+
date: zod_1.z
|
|
102
|
+
.string()
|
|
103
|
+
.optional()
|
|
104
|
+
.describe('Date in YYYY-MM-DD format. Defaults to today if not provided.'),
|
|
105
|
+
});
|
|
106
|
+
/**
|
|
107
|
+
* Paginated response for all agents call history
|
|
108
|
+
*/
|
|
109
|
+
exports.AllAgentsCallHistoryResponseSchema = (0, pagination_schema_1.createPaginatedResponseSchema)(exports.AgentCallHistoryItemSchema);
|
|
81
110
|
/**
|
|
82
111
|
* FA Actives Widget - Today's active workers (FA perspective)
|
|
83
112
|
*/
|
|
@@ -250,6 +279,16 @@ exports.dashboardWidgetsContract = c.router({
|
|
|
250
279
|
summary: 'Get FA call history widget data',
|
|
251
280
|
description: 'Returns call performance metrics for First Agent dashboard',
|
|
252
281
|
},
|
|
282
|
+
getAllAvailableAgentsCallHistory: {
|
|
283
|
+
method: 'GET',
|
|
284
|
+
path: '/widgets/agents/call-history',
|
|
285
|
+
query: exports.AllAgentsCallHistoryQuerySchema,
|
|
286
|
+
responses: {
|
|
287
|
+
200: exports.AllAgentsCallHistoryResponseSchema,
|
|
288
|
+
},
|
|
289
|
+
summary: 'Get call history for all available agents',
|
|
290
|
+
description: 'Returns paginated call performance metrics for all agents marked as available in lead distribution',
|
|
291
|
+
},
|
|
253
292
|
getFaActives: {
|
|
254
293
|
method: 'GET',
|
|
255
294
|
path: '/widgets/fa/actives',
|