@dakkitor/api-contracts 1.1.84 → 1.1.85
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 +6 -0
- package/dist/abilities/abilities.contract.d.ts.map +1 -1
- package/dist/abilities/abilities.contract.js +1 -1
- package/dist/abilities/first-agent.abilities.json +8 -0
- package/dist/abilities/second-agent.abilities.json +8 -0
- package/dist/call-history/call-history.contract.d.ts +432 -426
- package/dist/call-history/call-history.contract.d.ts.map +1 -1
- package/dist/call-history/call-history.contract.js +2 -5
- package/dist/dashboards/dashboard-widgets.contract.d.ts +1165 -0
- package/dist/dashboards/dashboard-widgets.contract.d.ts.map +1 -0
- package/dist/dashboards/dashboard-widgets.contract.js +354 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/leads/leads.contract.d.ts +71 -71
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-widgets.contract.d.ts","sourceRoot":"","sources":["../../contracts/dashboards/dashboard-widgets.contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Project: Internal Recruitment Platform API
|
|
4
|
+
* File: dashboard-widgets.contract.ts
|
|
5
|
+
*
|
|
6
|
+
* Description: Defines the API contracts for modular dashboard widget endpoints.
|
|
7
|
+
* Provides role-specific widgets for First Agent (FA) and Second Agent (SA).
|
|
8
|
+
*/
|
|
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;
|
|
11
|
+
const core_1 = require("@ts-rest/core");
|
|
12
|
+
const zod_1 = require("zod");
|
|
13
|
+
const c = (0, core_1.initContract)();
|
|
14
|
+
// =============================================================================
|
|
15
|
+
// COMMON SCHEMAS
|
|
16
|
+
// =============================================================================
|
|
17
|
+
/**
|
|
18
|
+
* Date range filter for historical queries
|
|
19
|
+
*/
|
|
20
|
+
exports.DateRangeQuerySchema = zod_1.z.object({
|
|
21
|
+
startDate: zod_1.z.string().describe('Start date in YYYY-MM-DD format'),
|
|
22
|
+
endDate: zod_1.z.string().describe('End date in YYYY-MM-DD format'),
|
|
23
|
+
});
|
|
24
|
+
/**
|
|
25
|
+
* Common trend data point for time-series charts
|
|
26
|
+
*/
|
|
27
|
+
exports.TrendDataPointSchema = zod_1.z.object({
|
|
28
|
+
date: zod_1.z.string().describe('Date in YYYY-MM-DD format'),
|
|
29
|
+
value: zod_1.z.number().describe('Metric value for this date'),
|
|
30
|
+
});
|
|
31
|
+
// =============================================================================
|
|
32
|
+
// FIRST AGENT (FA) WIDGET SCHEMAS
|
|
33
|
+
// =============================================================================
|
|
34
|
+
/**
|
|
35
|
+
* FA Pipeline Widget - Collaboration pipeline overview
|
|
36
|
+
*/
|
|
37
|
+
exports.FaPipelineWidgetSchema = zod_1.z.object({
|
|
38
|
+
collaborations: zod_1.z.object({
|
|
39
|
+
total: zod_1.z.number(),
|
|
40
|
+
byStatus: zod_1.z.record(zod_1.z.string(), zod_1.z.number()),
|
|
41
|
+
recentCount: zod_1.z.number().describe('Collaborations created in last 7 days'),
|
|
42
|
+
}),
|
|
43
|
+
summary: zod_1.z.object({
|
|
44
|
+
activeCollaborations: zod_1.z.number(),
|
|
45
|
+
pendingApproval: zod_1.z.number(),
|
|
46
|
+
}),
|
|
47
|
+
});
|
|
48
|
+
/**
|
|
49
|
+
* FA Clients Widget - Client portfolio summary
|
|
50
|
+
*/
|
|
51
|
+
exports.FaClientsWidgetSchema = zod_1.z.object({
|
|
52
|
+
total: zod_1.z.number(),
|
|
53
|
+
byStatus: zod_1.z.record(zod_1.z.string(), zod_1.z.number()),
|
|
54
|
+
recentlyAdded: zod_1.z.number().describe('Clients added in last 7 days'),
|
|
55
|
+
pendingVerification: zod_1.z.number(),
|
|
56
|
+
});
|
|
57
|
+
/**
|
|
58
|
+
* FA Collaboration Checkings Widget - Checking process status
|
|
59
|
+
*/
|
|
60
|
+
exports.FaCheckingsWidgetSchema = zod_1.z.object({
|
|
61
|
+
total: zod_1.z.number(),
|
|
62
|
+
byDecision: zod_1.z.record(zod_1.z.string(), zod_1.z.number()),
|
|
63
|
+
pendingCount: zod_1.z.number(),
|
|
64
|
+
recentlyCompleted: zod_1.z.number().describe('Checkings completed in last 7 days'),
|
|
65
|
+
});
|
|
66
|
+
/**
|
|
67
|
+
* FA Call History Widget - Call performance metrics
|
|
68
|
+
*/
|
|
69
|
+
exports.FaCallHistoryWidgetSchema = zod_1.z.object({
|
|
70
|
+
totalCalls: zod_1.z.number(),
|
|
71
|
+
callsToday: zod_1.z.number(),
|
|
72
|
+
callsThisWeek: zod_1.z.number(),
|
|
73
|
+
averageRating: zod_1.z.number().describe('Average rating weight (0-1)'),
|
|
74
|
+
conversionRate: zod_1.z.number().describe('Conversion rate (0-1)'),
|
|
75
|
+
performanceScore: zod_1.z.number().describe('Overall performance score (0-100)'),
|
|
76
|
+
performanceTier: zod_1.z.enum(['high', 'medium', 'low', 'new']),
|
|
77
|
+
ratingBreakdown: zod_1.z
|
|
78
|
+
.record(zod_1.z.string(), zod_1.z.number())
|
|
79
|
+
.describe('Calls by rating type'),
|
|
80
|
+
});
|
|
81
|
+
/**
|
|
82
|
+
* FA Actives Widget - Today's active workers (FA perspective)
|
|
83
|
+
*/
|
|
84
|
+
exports.FaActivesWidgetSchema = zod_1.z.object({
|
|
85
|
+
today: zod_1.z.object({
|
|
86
|
+
total: zod_1.z.number(),
|
|
87
|
+
byStatusFa: zod_1.z.record(zod_1.z.string(), zod_1.z.number()),
|
|
88
|
+
}),
|
|
89
|
+
pendingApproval: zod_1.z.number().describe('Actives pending FA approval'),
|
|
90
|
+
});
|
|
91
|
+
/**
|
|
92
|
+
* FA Bookings Widget - Booking management (FA perspective)
|
|
93
|
+
*/
|
|
94
|
+
exports.FaBookingsWidgetSchema = zod_1.z.object({
|
|
95
|
+
total: zod_1.z.number(),
|
|
96
|
+
byStatus: zod_1.z.record(zod_1.z.string(), zod_1.z.number()),
|
|
97
|
+
activeBookings: zod_1.z.number().describe('Bookings with STARTED_THE_JOB status'),
|
|
98
|
+
pendingConfirmation: zod_1.z.number().describe('Bookings awaiting confirmation'),
|
|
99
|
+
upcomingStarts: zod_1.z.number().describe('Bookings starting in next 7 days'),
|
|
100
|
+
});
|
|
101
|
+
// =============================================================================
|
|
102
|
+
// SECOND AGENT (SA) WIDGET SCHEMAS
|
|
103
|
+
// =============================================================================
|
|
104
|
+
/**
|
|
105
|
+
* SA Workers Widget - Worker recruitment summary
|
|
106
|
+
*/
|
|
107
|
+
exports.SaWorkersWidgetSchema = zod_1.z.object({
|
|
108
|
+
total: zod_1.z.number().describe('Total workers created by this agent'),
|
|
109
|
+
addedThisWeek: zod_1.z.number(),
|
|
110
|
+
addedThisMonth: zod_1.z.number(),
|
|
111
|
+
byAvailability: zod_1.z.record(zod_1.z.string(), zod_1.z.number()).optional(),
|
|
112
|
+
});
|
|
113
|
+
/**
|
|
114
|
+
* SA Bookings Widget - Booking management (SA perspective)
|
|
115
|
+
*/
|
|
116
|
+
exports.SaBookingsWidgetSchema = zod_1.z.object({
|
|
117
|
+
total: zod_1.z.number(),
|
|
118
|
+
byStatus: zod_1.z.record(zod_1.z.string(), zod_1.z.number()),
|
|
119
|
+
activeBookings: zod_1.z.number().describe('Bookings with STARTED_THE_JOB status'),
|
|
120
|
+
waitingForConfirmation: zod_1.z.number(),
|
|
121
|
+
upcomingStarts: zod_1.z.number().describe('Bookings starting in next 7 days'),
|
|
122
|
+
});
|
|
123
|
+
/**
|
|
124
|
+
* SA Actives Widget - Today's active workers (SA perspective)
|
|
125
|
+
*/
|
|
126
|
+
exports.SaActivesWidgetSchema = zod_1.z.object({
|
|
127
|
+
today: zod_1.z.object({
|
|
128
|
+
total: zod_1.z.number(),
|
|
129
|
+
byStatusSa: zod_1.z.record(zod_1.z.string(), zod_1.z.number()),
|
|
130
|
+
}),
|
|
131
|
+
pendingConfirmation: zod_1.z.number().describe('Actives pending SA confirmation'),
|
|
132
|
+
});
|
|
133
|
+
// =============================================================================
|
|
134
|
+
// HISTORICAL TREND SCHEMAS
|
|
135
|
+
// =============================================================================
|
|
136
|
+
/**
|
|
137
|
+
* Actives trend data for charts
|
|
138
|
+
*/
|
|
139
|
+
exports.ActivesTrendSchema = zod_1.z.object({
|
|
140
|
+
data: zod_1.z.array(zod_1.z.object({
|
|
141
|
+
date: zod_1.z.string(),
|
|
142
|
+
total: zod_1.z.number(),
|
|
143
|
+
byStatus: zod_1.z.record(zod_1.z.string(), zod_1.z.number()),
|
|
144
|
+
})),
|
|
145
|
+
summary: zod_1.z.object({
|
|
146
|
+
averageDaily: zod_1.z.number(),
|
|
147
|
+
peakDay: zod_1.z.string().nullable(),
|
|
148
|
+
peakValue: zod_1.z.number(),
|
|
149
|
+
}),
|
|
150
|
+
});
|
|
151
|
+
/**
|
|
152
|
+
* Bookings trend data for charts
|
|
153
|
+
*/
|
|
154
|
+
exports.BookingsTrendSchema = zod_1.z.object({
|
|
155
|
+
data: zod_1.z.array(zod_1.z.object({
|
|
156
|
+
date: zod_1.z.string(),
|
|
157
|
+
total: zod_1.z.number(),
|
|
158
|
+
byStatus: zod_1.z.record(zod_1.z.string(), zod_1.z.number()),
|
|
159
|
+
})),
|
|
160
|
+
summary: zod_1.z.object({
|
|
161
|
+
averageDaily: zod_1.z.number(),
|
|
162
|
+
totalCreated: zod_1.z.number(),
|
|
163
|
+
}),
|
|
164
|
+
});
|
|
165
|
+
/**
|
|
166
|
+
* Call performance trend data for charts
|
|
167
|
+
*/
|
|
168
|
+
exports.CallPerformanceTrendSchema = zod_1.z.object({
|
|
169
|
+
data: zod_1.z.array(zod_1.z.object({
|
|
170
|
+
date: zod_1.z.string(),
|
|
171
|
+
totalCalls: zod_1.z.number(),
|
|
172
|
+
averageRating: zod_1.z.number(),
|
|
173
|
+
conversionRate: zod_1.z.number(),
|
|
174
|
+
performanceScore: zod_1.z.number(),
|
|
175
|
+
})),
|
|
176
|
+
summary: zod_1.z.object({
|
|
177
|
+
averageDailyCalls: zod_1.z.number(),
|
|
178
|
+
overallConversionRate: zod_1.z.number(),
|
|
179
|
+
overallAverageRating: zod_1.z.number(),
|
|
180
|
+
}),
|
|
181
|
+
});
|
|
182
|
+
/**
|
|
183
|
+
* Workers trend data for charts (SA only)
|
|
184
|
+
*/
|
|
185
|
+
exports.WorkersTrendSchema = zod_1.z.object({
|
|
186
|
+
data: zod_1.z.array(zod_1.z.object({
|
|
187
|
+
date: zod_1.z.string(),
|
|
188
|
+
added: zod_1.z.number(),
|
|
189
|
+
cumulativeTotal: zod_1.z.number(),
|
|
190
|
+
})),
|
|
191
|
+
summary: zod_1.z.object({
|
|
192
|
+
totalAdded: zod_1.z.number(),
|
|
193
|
+
averagePerDay: zod_1.z.number(),
|
|
194
|
+
}),
|
|
195
|
+
});
|
|
196
|
+
/**
|
|
197
|
+
* Collaborations trend data for charts (FA only)
|
|
198
|
+
*/
|
|
199
|
+
exports.CollaborationsTrendSchema = zod_1.z.object({
|
|
200
|
+
data: zod_1.z.array(zod_1.z.object({
|
|
201
|
+
date: zod_1.z.string(),
|
|
202
|
+
created: zod_1.z.number(),
|
|
203
|
+
byStatus: zod_1.z.record(zod_1.z.string(), zod_1.z.number()),
|
|
204
|
+
})),
|
|
205
|
+
summary: zod_1.z.object({
|
|
206
|
+
totalCreated: zod_1.z.number(),
|
|
207
|
+
activeCount: zod_1.z.number(),
|
|
208
|
+
}),
|
|
209
|
+
});
|
|
210
|
+
// =============================================================================
|
|
211
|
+
// API CONTRACT ROUTER
|
|
212
|
+
// =============================================================================
|
|
213
|
+
exports.dashboardWidgetsContract = c.router({
|
|
214
|
+
// -------------------------------------------------------------------------
|
|
215
|
+
// FIRST AGENT (FA) WIDGETS
|
|
216
|
+
// -------------------------------------------------------------------------
|
|
217
|
+
getFaPipeline: {
|
|
218
|
+
method: 'GET',
|
|
219
|
+
path: '/widgets/fa/pipeline',
|
|
220
|
+
responses: {
|
|
221
|
+
200: exports.FaPipelineWidgetSchema,
|
|
222
|
+
},
|
|
223
|
+
summary: 'Get FA collaboration pipeline widget data',
|
|
224
|
+
description: 'Returns collaboration pipeline overview for First Agent dashboard',
|
|
225
|
+
},
|
|
226
|
+
getFaClients: {
|
|
227
|
+
method: 'GET',
|
|
228
|
+
path: '/widgets/fa/clients',
|
|
229
|
+
responses: {
|
|
230
|
+
200: exports.FaClientsWidgetSchema,
|
|
231
|
+
},
|
|
232
|
+
summary: 'Get FA clients widget data',
|
|
233
|
+
description: 'Returns client portfolio summary for First Agent dashboard',
|
|
234
|
+
},
|
|
235
|
+
getFaCheckings: {
|
|
236
|
+
method: 'GET',
|
|
237
|
+
path: '/widgets/fa/checkings',
|
|
238
|
+
responses: {
|
|
239
|
+
200: exports.FaCheckingsWidgetSchema,
|
|
240
|
+
},
|
|
241
|
+
summary: 'Get FA collaboration checkings widget data',
|
|
242
|
+
description: 'Returns collaboration checking status for First Agent dashboard',
|
|
243
|
+
},
|
|
244
|
+
getFaCallHistory: {
|
|
245
|
+
method: 'GET',
|
|
246
|
+
path: '/widgets/fa/call-history',
|
|
247
|
+
responses: {
|
|
248
|
+
200: exports.FaCallHistoryWidgetSchema,
|
|
249
|
+
},
|
|
250
|
+
summary: 'Get FA call history widget data',
|
|
251
|
+
description: 'Returns call performance metrics for First Agent dashboard',
|
|
252
|
+
},
|
|
253
|
+
getFaActives: {
|
|
254
|
+
method: 'GET',
|
|
255
|
+
path: '/widgets/fa/actives',
|
|
256
|
+
responses: {
|
|
257
|
+
200: exports.FaActivesWidgetSchema,
|
|
258
|
+
},
|
|
259
|
+
summary: 'Get FA actives widget data',
|
|
260
|
+
description: "Returns today's active workers from FA perspective",
|
|
261
|
+
},
|
|
262
|
+
getFaBookings: {
|
|
263
|
+
method: 'GET',
|
|
264
|
+
path: '/widgets/fa/bookings',
|
|
265
|
+
responses: {
|
|
266
|
+
200: exports.FaBookingsWidgetSchema,
|
|
267
|
+
},
|
|
268
|
+
summary: 'Get FA bookings widget data',
|
|
269
|
+
description: 'Returns booking management summary for First Agent dashboard',
|
|
270
|
+
},
|
|
271
|
+
// -------------------------------------------------------------------------
|
|
272
|
+
// SECOND AGENT (SA) WIDGETS
|
|
273
|
+
// -------------------------------------------------------------------------
|
|
274
|
+
getSaWorkers: {
|
|
275
|
+
method: 'GET',
|
|
276
|
+
path: '/widgets/sa/workers',
|
|
277
|
+
responses: {
|
|
278
|
+
200: exports.SaWorkersWidgetSchema,
|
|
279
|
+
},
|
|
280
|
+
summary: 'Get SA workers widget data',
|
|
281
|
+
description: 'Returns worker recruitment summary for Second Agent dashboard',
|
|
282
|
+
},
|
|
283
|
+
getSaBookings: {
|
|
284
|
+
method: 'GET',
|
|
285
|
+
path: '/widgets/sa/bookings',
|
|
286
|
+
responses: {
|
|
287
|
+
200: exports.SaBookingsWidgetSchema,
|
|
288
|
+
},
|
|
289
|
+
summary: 'Get SA bookings widget data',
|
|
290
|
+
description: 'Returns booking management summary for Second Agent dashboard',
|
|
291
|
+
},
|
|
292
|
+
getSaActives: {
|
|
293
|
+
method: 'GET',
|
|
294
|
+
path: '/widgets/sa/actives',
|
|
295
|
+
responses: {
|
|
296
|
+
200: exports.SaActivesWidgetSchema,
|
|
297
|
+
},
|
|
298
|
+
summary: 'Get SA actives widget data',
|
|
299
|
+
description: "Returns today's active workers from SA perspective",
|
|
300
|
+
},
|
|
301
|
+
// -------------------------------------------------------------------------
|
|
302
|
+
// HISTORICAL TRENDS
|
|
303
|
+
// -------------------------------------------------------------------------
|
|
304
|
+
getActivesTrend: {
|
|
305
|
+
method: 'GET',
|
|
306
|
+
path: '/trends/actives',
|
|
307
|
+
query: exports.DateRangeQuerySchema,
|
|
308
|
+
responses: {
|
|
309
|
+
200: exports.ActivesTrendSchema,
|
|
310
|
+
},
|
|
311
|
+
summary: 'Get actives historical trend',
|
|
312
|
+
description: 'Returns time-series data for actives over a date range',
|
|
313
|
+
},
|
|
314
|
+
getBookingsTrend: {
|
|
315
|
+
method: 'GET',
|
|
316
|
+
path: '/trends/bookings',
|
|
317
|
+
query: exports.DateRangeQuerySchema,
|
|
318
|
+
responses: {
|
|
319
|
+
200: exports.BookingsTrendSchema,
|
|
320
|
+
},
|
|
321
|
+
summary: 'Get bookings historical trend',
|
|
322
|
+
description: 'Returns time-series data for bookings over a date range',
|
|
323
|
+
},
|
|
324
|
+
getCallPerformanceTrend: {
|
|
325
|
+
method: 'GET',
|
|
326
|
+
path: '/trends/call-performance',
|
|
327
|
+
query: exports.DateRangeQuerySchema,
|
|
328
|
+
responses: {
|
|
329
|
+
200: exports.CallPerformanceTrendSchema,
|
|
330
|
+
},
|
|
331
|
+
summary: 'Get call performance historical trend',
|
|
332
|
+
description: 'Returns time-series data for call performance over a date range',
|
|
333
|
+
},
|
|
334
|
+
getWorkersTrend: {
|
|
335
|
+
method: 'GET',
|
|
336
|
+
path: '/trends/workers',
|
|
337
|
+
query: exports.DateRangeQuerySchema,
|
|
338
|
+
responses: {
|
|
339
|
+
200: exports.WorkersTrendSchema,
|
|
340
|
+
},
|
|
341
|
+
summary: 'Get workers historical trend (SA only)',
|
|
342
|
+
description: 'Returns time-series data for worker additions over a date range',
|
|
343
|
+
},
|
|
344
|
+
getCollaborationsTrend: {
|
|
345
|
+
method: 'GET',
|
|
346
|
+
path: '/trends/collaborations',
|
|
347
|
+
query: exports.DateRangeQuerySchema,
|
|
348
|
+
responses: {
|
|
349
|
+
200: exports.CollaborationsTrendSchema,
|
|
350
|
+
},
|
|
351
|
+
summary: 'Get collaborations historical trend (FA only)',
|
|
352
|
+
description: 'Returns time-series data for collaborations over a date range',
|
|
353
|
+
},
|
|
354
|
+
});
|
package/dist/index.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ export * from './cron-executions/cron-executions.contract';
|
|
|
19
19
|
export * from './curated-workers/curated-workers.contract';
|
|
20
20
|
export * from './dashboards/agent-daily-metrics.contract';
|
|
21
21
|
export * from './dashboards/dashboard.contract';
|
|
22
|
+
export * from './dashboards/dashboard-widgets.contract';
|
|
22
23
|
export * from './files/files.contract';
|
|
23
24
|
export * from './health/health.contract';
|
|
24
25
|
export * from './jobs/jobs.contract';
|
|
@@ -46,6 +47,7 @@ import { cronExecutionsContract } from './cron-executions/cron-executions.contra
|
|
|
46
47
|
import { curatedWorkersContract } from './curated-workers/curated-workers.contract';
|
|
47
48
|
import { agentDailyMetricsContract } from './dashboards/agent-daily-metrics.contract';
|
|
48
49
|
import { dashboardContract } from './dashboards/dashboard.contract';
|
|
50
|
+
import { dashboardWidgetsContract } from './dashboards/dashboard-widgets.contract';
|
|
49
51
|
import { filesContract } from './files/files.contract';
|
|
50
52
|
import { healthContract } from './health/health.contract';
|
|
51
53
|
import { jobsContractRouter } from './jobs/jobs.contract';
|
|
@@ -81,6 +83,7 @@ type ApiContractRouter = {
|
|
|
81
83
|
Auth: typeof authContract;
|
|
82
84
|
AgentDailyMetrics: typeof agentDailyMetricsContract;
|
|
83
85
|
Dashboard: typeof dashboardContract;
|
|
86
|
+
DashboardWidgets: typeof dashboardWidgetsContract;
|
|
84
87
|
CronExecutions: typeof cronExecutionsContract;
|
|
85
88
|
Health: typeof healthContract;
|
|
86
89
|
Files: typeof filesContract;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../contracts/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../contracts/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -36,6 +36,7 @@ __exportStar(require("./cron-executions/cron-executions.contract"), exports);
|
|
|
36
36
|
__exportStar(require("./curated-workers/curated-workers.contract"), exports);
|
|
37
37
|
__exportStar(require("./dashboards/agent-daily-metrics.contract"), exports);
|
|
38
38
|
__exportStar(require("./dashboards/dashboard.contract"), exports);
|
|
39
|
+
__exportStar(require("./dashboards/dashboard-widgets.contract"), exports);
|
|
39
40
|
__exportStar(require("./files/files.contract"), exports);
|
|
40
41
|
__exportStar(require("./health/health.contract"), exports);
|
|
41
42
|
__exportStar(require("./jobs/jobs.contract"), exports);
|
|
@@ -64,6 +65,7 @@ const cron_executions_contract_1 = require("./cron-executions/cron-executions.co
|
|
|
64
65
|
const curated_workers_contract_1 = require("./curated-workers/curated-workers.contract");
|
|
65
66
|
const agent_daily_metrics_contract_1 = require("./dashboards/agent-daily-metrics.contract");
|
|
66
67
|
const dashboard_contract_1 = require("./dashboards/dashboard.contract");
|
|
68
|
+
const dashboard_widgets_contract_1 = require("./dashboards/dashboard-widgets.contract");
|
|
67
69
|
const files_contract_1 = require("./files/files.contract");
|
|
68
70
|
const health_contract_1 = require("./health/health.contract");
|
|
69
71
|
const jobs_contract_1 = require("./jobs/jobs.contract");
|
|
@@ -100,6 +102,7 @@ exports.apiContractRouter = c.router({
|
|
|
100
102
|
Auth: auth_contract_1.authContract,
|
|
101
103
|
AgentDailyMetrics: agent_daily_metrics_contract_1.agentDailyMetricsContract,
|
|
102
104
|
Dashboard: dashboard_contract_1.dashboardContract,
|
|
105
|
+
DashboardWidgets: dashboard_widgets_contract_1.dashboardWidgetsContract,
|
|
103
106
|
CronExecutions: cron_executions_contract_1.cronExecutionsContract,
|
|
104
107
|
Health: health_contract_1.healthContract,
|
|
105
108
|
Files: files_contract_1.filesContract,
|