@dakkitor/api-contracts 1.1.136 → 1.1.137
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 +13 -19
- package/dist/abilities/abilities.contract.d.ts.map +1 -1
- package/dist/abilities/abilities.contract.js +18 -33
- package/dist/abilities/admin.abilities.json +10 -0
- package/dist/abilities/first-agent.abilities.json +17 -2
- package/dist/abilities/second-agent.abilities.json +9 -1
- package/dist/actives/actives.contract.d.ts +6938 -6248
- package/dist/actives/actives.contract.d.ts.map +1 -1
- package/dist/agent-client-links/agent-client-links.contract.d.ts +2151 -702
- package/dist/agent-client-links/agent-client-links.contract.d.ts.map +1 -1
- package/dist/agent-client-links/agent-client-links.contract.js +56 -2
- package/dist/bookings/bookings.contract.d.ts +26042 -22476
- package/dist/bookings/bookings.contract.d.ts.map +1 -1
- package/dist/bookings/bookings.contract.js +161 -37
- package/dist/client-contacts/client-contacts.contract.d.ts +460 -460
- package/dist/clients/clients.contract.d.ts +263 -197
- package/dist/clients/clients.contract.d.ts.map +1 -1
- package/dist/clients/clients.contract.js +50 -6
- package/dist/collaboration-checkings/collaboration-checkings.contract.d.ts +1620 -1620
- package/dist/collaborations/collaborations.contract.d.ts +1456 -1456
- package/dist/collaborations/collaborations.contract.js +2 -2
- package/dist/dashboards/agent-daily-metrics.contract.d.ts +173 -803
- package/dist/dashboards/agent-daily-metrics.contract.d.ts.map +1 -1
- package/dist/dashboards/agent-daily-metrics.contract.js +45 -108
- package/dist/dashboards/dashboard-widgets.contract.d.ts +388 -282
- package/dist/dashboards/dashboard-widgets.contract.d.ts.map +1 -1
- package/dist/dashboards/dashboard-widgets.contract.js +77 -32
- package/dist/dashboards/dashboard.contract.d.ts +215 -305
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/jobs/jobs.contract.d.ts +2885 -2885
- package/dist/kpi-impersonation/kpi-impersonation.contract.d.ts +1340 -0
- package/dist/kpi-impersonation/kpi-impersonation.contract.d.ts.map +1 -0
- package/dist/kpi-impersonation/kpi-impersonation.contract.js +146 -0
- package/dist/lead-distribution/agent-lead-distribution.contract.d.ts +535 -139
- package/dist/lead-distribution/agent-lead-distribution.contract.d.ts.map +1 -1
- package/dist/lead-distribution/agent-lead-distribution.contract.js +57 -1
- package/package.json +1 -1
|
@@ -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,7 +7,7 @@
|
|
|
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.
|
|
10
|
+
exports.dashboardWidgetsContract = exports.CollaborationsTrendSchema = exports.WorkersTrendSchema = exports.CallPerformanceTrendSchema = exports.BookingsTrendSchema = exports.ActivesTrendSchema = exports.SaActivesWidgetSchema = exports.SaBookingsWidgetSchema = exports.SaWorkersWidgetSchema = exports.FaBookingsWidgetSchema = exports.FaActivesWidgetSchema = exports.AllAgentsCallHistoryQuerySchema = exports.FaCallHistoryWidgetSchema = exports.FaCheckingsWidgetSchema = exports.FaClientsWidgetSchema = exports.FaPipelineWidgetSchema = exports.TrendDataPointSchema = exports.DateRangeQuerySchema = exports.DashboardWidgetQuerySchema = void 0;
|
|
11
11
|
const core_1 = require("@ts-rest/core");
|
|
12
12
|
const zod_1 = require("zod");
|
|
13
13
|
const pagination_schema_1 = require("../common/pagination.schema");
|
|
@@ -98,20 +98,19 @@ exports.FaCallHistoryWidgetSchema = zod_1.z.object({
|
|
|
98
98
|
ratingBreakdown: zod_1.z
|
|
99
99
|
.record(zod_1.z.string(), zod_1.z.number())
|
|
100
100
|
.describe('Calls by rating type'),
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
performanceTier: zod_1.z.enum(['high', 'medium', 'low', 'new']),
|
|
101
|
+
// Call type breakdown
|
|
102
|
+
assignmentCalls: zod_1.z.number().describe('Number of assignment calls on date'),
|
|
103
|
+
followUpCalls: zod_1.z.number().describe('Number of follow-up calls on date'),
|
|
104
|
+
callbackCalls: zod_1.z.number().describe('Number of callback calls on date'),
|
|
105
|
+
ownResearchCalls: zod_1.z.number().describe('Number of own research calls on date'),
|
|
106
|
+
// Own research activity
|
|
107
|
+
ownResearchLeadsAdded: zod_1.z
|
|
108
|
+
.number()
|
|
109
|
+
.describe('Total own research leads added on date'),
|
|
110
|
+
ownResearchLeadsExistingInSystem: zod_1.z
|
|
111
|
+
.number()
|
|
112
|
+
.describe('Own research leads that already existed in system'),
|
|
113
|
+
ownResearchLeadsNew: zod_1.z.number().describe('Own research leads new to system'),
|
|
115
114
|
});
|
|
116
115
|
/**
|
|
117
116
|
* Query parameters for all agents call history endpoint
|
|
@@ -121,11 +120,11 @@ exports.AllAgentsCallHistoryQuerySchema = pagination_query_schema_1.PaginationQu
|
|
|
121
120
|
.string()
|
|
122
121
|
.optional()
|
|
123
122
|
.describe('Date in YYYY-MM-DD format. Defaults to today if not provided.'),
|
|
123
|
+
view: zod_1.z
|
|
124
|
+
.enum(['FA', 'SA'])
|
|
125
|
+
.optional()
|
|
126
|
+
.describe('Filter by agent view context (FA or SA).'),
|
|
124
127
|
});
|
|
125
|
-
/**
|
|
126
|
-
* Paginated response for all agents call history
|
|
127
|
-
*/
|
|
128
|
-
exports.AllAgentsCallHistoryResponseSchema = (0, pagination_schema_1.createPaginatedResponseSchema)(exports.AgentCallHistoryItemSchema);
|
|
129
128
|
/**
|
|
130
129
|
* FA Actives Widget - Today's active workers (FA perspective)
|
|
131
130
|
*/
|
|
@@ -140,7 +139,8 @@ exports.FaActivesWidgetSchema = zod_1.z.object({
|
|
|
140
139
|
*/
|
|
141
140
|
exports.FaBookingsWidgetSchema = zod_1.z.object({
|
|
142
141
|
totalToday: zod_1.z.number().describe('Total bookings created today'),
|
|
143
|
-
byStatus: zod_1.z.record(bookings_contract_1.
|
|
142
|
+
byStatus: zod_1.z.record(bookings_contract_1.BookingTypeSchema, zod_1.z.number()),
|
|
143
|
+
byCategory: zod_1.z.record(bookings_contract_1.BookingCategoryEnumSchema, zod_1.z.number()),
|
|
144
144
|
ongoingBookings: zod_1.z
|
|
145
145
|
.number()
|
|
146
146
|
.describe('Bookings where today is between startDate and endDate (or no endDate)'),
|
|
@@ -156,6 +156,7 @@ exports.FaBookingsWidgetSchema = zod_1.z.object({
|
|
|
156
156
|
*/
|
|
157
157
|
exports.SaWorkersWidgetSchema = zod_1.z.object({
|
|
158
158
|
total: zod_1.z.number().describe('Total workers created by this agent'),
|
|
159
|
+
addedToday: zod_1.z.number().describe('Workers added today'),
|
|
159
160
|
addedThisWeek: zod_1.z.number(),
|
|
160
161
|
addedThisMonth: zod_1.z.number(),
|
|
161
162
|
byAvailability: zod_1.z.record(workers_contract_1.AvailabilitySchema, zod_1.z.number()).optional(),
|
|
@@ -165,7 +166,8 @@ exports.SaWorkersWidgetSchema = zod_1.z.object({
|
|
|
165
166
|
*/
|
|
166
167
|
exports.SaBookingsWidgetSchema = zod_1.z.object({
|
|
167
168
|
totalToday: zod_1.z.number().describe('Total bookings created today'),
|
|
168
|
-
byStatus: zod_1.z.record(bookings_contract_1.
|
|
169
|
+
byStatus: zod_1.z.record(bookings_contract_1.BookingTypeSchema, zod_1.z.number()),
|
|
170
|
+
byCategory: zod_1.z.record(bookings_contract_1.BookingCategoryEnumSchema, zod_1.z.number()),
|
|
169
171
|
ongoingBookings: zod_1.z
|
|
170
172
|
.number()
|
|
171
173
|
.describe('Bookings where today is between startDate and endDate (or no endDate)'),
|
|
@@ -207,7 +209,7 @@ exports.BookingsTrendSchema = zod_1.z.object({
|
|
|
207
209
|
data: zod_1.z.array(zod_1.z.object({
|
|
208
210
|
date: zod_1.z.string(),
|
|
209
211
|
total: zod_1.z.number(),
|
|
210
|
-
byStatus: zod_1.z.record(bookings_contract_1.
|
|
212
|
+
byStatus: zod_1.z.record(bookings_contract_1.BookingTypeSchema, zod_1.z.number()),
|
|
211
213
|
})),
|
|
212
214
|
summary: zod_1.z.object({
|
|
213
215
|
averageDaily: zod_1.z.number(),
|
|
@@ -306,16 +308,6 @@ exports.dashboardWidgetsContract = c.router({
|
|
|
306
308
|
summary: 'Get FA call history widget data',
|
|
307
309
|
description: 'Returns call performance metrics for First Agent dashboard',
|
|
308
310
|
},
|
|
309
|
-
getAllAvailableAgentsCallHistory: {
|
|
310
|
-
method: 'GET',
|
|
311
|
-
path: '/widgets/agents/call-history',
|
|
312
|
-
query: exports.AllAgentsCallHistoryQuerySchema,
|
|
313
|
-
responses: {
|
|
314
|
-
200: exports.AllAgentsCallHistoryResponseSchema,
|
|
315
|
-
},
|
|
316
|
-
summary: 'Get call history for all available agents',
|
|
317
|
-
description: 'Returns paginated call performance metrics for all agents marked as available in lead distribution',
|
|
318
|
-
},
|
|
319
311
|
getFaActives: {
|
|
320
312
|
method: 'GET',
|
|
321
313
|
path: '/widgets/fa/actives',
|
|
@@ -370,6 +362,59 @@ exports.dashboardWidgetsContract = c.router({
|
|
|
370
362
|
description: "Returns today's active workers from SA perspective",
|
|
371
363
|
},
|
|
372
364
|
// -------------------------------------------------------------------------
|
|
365
|
+
// ADMIN WIDGETS
|
|
366
|
+
// -------------------------------------------------------------------------
|
|
367
|
+
getAdminAgentStats: {
|
|
368
|
+
method: 'GET',
|
|
369
|
+
path: '/widgets/admin/agent-stats',
|
|
370
|
+
query: exports.AllAgentsCallHistoryQuerySchema, // Reuse same query schema (date, page, limit)
|
|
371
|
+
responses: {
|
|
372
|
+
200: (0, pagination_schema_1.createPaginatedResponseSchema)(zod_1.z.object({
|
|
373
|
+
agentId: zod_1.z.string().uuid(),
|
|
374
|
+
agentName: zod_1.z.string(),
|
|
375
|
+
agentEmail: zod_1.z.string().email(),
|
|
376
|
+
// Actives (FA)
|
|
377
|
+
activesFaTotal: zod_1.z.number(),
|
|
378
|
+
activesFaByStatus: zod_1.z.record(actives_contract_1.ActiveStatusSchema, zod_1.z.number()),
|
|
379
|
+
// Actives (SA)
|
|
380
|
+
activesSaTotal: zod_1.z.number(),
|
|
381
|
+
activesSaByStatus: zod_1.z.record(actives_contract_1.ActiveStatusSchema, zod_1.z.number()),
|
|
382
|
+
// Bookings (FA)
|
|
383
|
+
bookingsFaTotal: zod_1.z.number(),
|
|
384
|
+
bookingsFaOngoing: zod_1.z.number().optional(),
|
|
385
|
+
bookingsFaStartingToday: zod_1.z.number().optional(),
|
|
386
|
+
bookingsFaPendingConfirmation: zod_1.z.number().optional(),
|
|
387
|
+
bookingsFaUpcomingStarts: zod_1.z.number().optional(),
|
|
388
|
+
bookingsFaByStatus: zod_1.z.record(bookings_contract_1.BookingTypeSchema, zod_1.z.number()),
|
|
389
|
+
bookingsFaByCategory: zod_1.z.record(bookings_contract_1.BookingCategoryEnumSchema, zod_1.z.number()),
|
|
390
|
+
// Bookings (SA)
|
|
391
|
+
bookingsSaTotal: zod_1.z.number(),
|
|
392
|
+
bookingsSaOngoing: zod_1.z.number().optional(),
|
|
393
|
+
bookingsSaStartingToday: zod_1.z.number().optional(),
|
|
394
|
+
bookingsSaWaitingForConfirmation: zod_1.z.number().optional(),
|
|
395
|
+
bookingsSaUpcomingStarts: zod_1.z.number().optional(),
|
|
396
|
+
bookingsSaByStatus: zod_1.z.record(bookings_contract_1.BookingTypeSchema, zod_1.z.number()),
|
|
397
|
+
bookingsSaByCategory: zod_1.z.record(bookings_contract_1.BookingCategoryEnumSchema, zod_1.z.number()),
|
|
398
|
+
// Performance
|
|
399
|
+
totalCalls: zod_1.z.number(),
|
|
400
|
+
averageRating: zod_1.z.number(),
|
|
401
|
+
conversionRate: zod_1.z.number(),
|
|
402
|
+
performanceScore: zod_1.z.number(),
|
|
403
|
+
// Call type breakdown
|
|
404
|
+
assignmentCalls: zod_1.z.number(),
|
|
405
|
+
followUpCalls: zod_1.z.number(),
|
|
406
|
+
callbackCalls: zod_1.z.number(),
|
|
407
|
+
ownResearchCalls: zod_1.z.number(),
|
|
408
|
+
// Own research activity
|
|
409
|
+
ownResearchLeadsAdded: zod_1.z.number(),
|
|
410
|
+
ownResearchLeadsExistingInSystem: zod_1.z.number(),
|
|
411
|
+
ownResearchLeadsNew: zod_1.z.number(),
|
|
412
|
+
})),
|
|
413
|
+
},
|
|
414
|
+
summary: 'Get daily stats for all agents (Admin)',
|
|
415
|
+
description: 'Returns paginated daily statistics (actives, bookings, performance) for all agents for a specific date.',
|
|
416
|
+
},
|
|
417
|
+
// -------------------------------------------------------------------------
|
|
373
418
|
// HISTORICAL TRENDS
|
|
374
419
|
// -------------------------------------------------------------------------
|
|
375
420
|
getActivesTrend: {
|