@t4dhg/mcp-factorial 1.1.0 → 2.0.0

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.
@@ -0,0 +1,502 @@
1
+ /**
2
+ * Zod schemas for runtime validation of API responses
3
+ *
4
+ * Catches API version mismatches and ensures type safety at runtime.
5
+ */
6
+ import { z } from 'zod';
7
+ /**
8
+ * Employee schema
9
+ */
10
+ export declare const EmployeeSchema: z.ZodObject<{
11
+ id: z.ZodNumber;
12
+ first_name: z.ZodNullable<z.ZodString>;
13
+ last_name: z.ZodNullable<z.ZodString>;
14
+ full_name: z.ZodNullable<z.ZodString>;
15
+ email: z.ZodNullable<z.ZodString>;
16
+ birthday_on: z.ZodNullable<z.ZodString>;
17
+ hired_on: z.ZodNullable<z.ZodString>;
18
+ start_date: z.ZodNullable<z.ZodString>;
19
+ terminated_on: z.ZodNullable<z.ZodString>;
20
+ gender: z.ZodNullable<z.ZodString>;
21
+ nationality: z.ZodNullable<z.ZodString>;
22
+ manager_id: z.ZodNullable<z.ZodNumber>;
23
+ role: z.ZodNullable<z.ZodString>;
24
+ timeoff_manager_id: z.ZodNullable<z.ZodNumber>;
25
+ company_id: z.ZodNullable<z.ZodNumber>;
26
+ legal_entity_id: z.ZodNullable<z.ZodNumber>;
27
+ team_ids: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
28
+ location_id: z.ZodNullable<z.ZodNumber>;
29
+ created_at: z.ZodNullable<z.ZodString>;
30
+ updated_at: z.ZodNullable<z.ZodString>;
31
+ }, "strip", z.ZodTypeAny, {
32
+ id: number;
33
+ first_name: string | null;
34
+ last_name: string | null;
35
+ full_name: string | null;
36
+ email: string | null;
37
+ birthday_on: string | null;
38
+ hired_on: string | null;
39
+ start_date: string | null;
40
+ terminated_on: string | null;
41
+ gender: string | null;
42
+ nationality: string | null;
43
+ manager_id: number | null;
44
+ role: string | null;
45
+ timeoff_manager_id: number | null;
46
+ company_id: number | null;
47
+ legal_entity_id: number | null;
48
+ team_ids: number[];
49
+ location_id: number | null;
50
+ created_at: string | null;
51
+ updated_at: string | null;
52
+ }, {
53
+ id: number;
54
+ first_name: string | null;
55
+ last_name: string | null;
56
+ full_name: string | null;
57
+ email: string | null;
58
+ birthday_on: string | null;
59
+ hired_on: string | null;
60
+ start_date: string | null;
61
+ terminated_on: string | null;
62
+ gender: string | null;
63
+ nationality: string | null;
64
+ manager_id: number | null;
65
+ role: string | null;
66
+ timeoff_manager_id: number | null;
67
+ company_id: number | null;
68
+ legal_entity_id: number | null;
69
+ location_id: number | null;
70
+ created_at: string | null;
71
+ updated_at: string | null;
72
+ team_ids?: number[] | undefined;
73
+ }>;
74
+ export type Employee = z.infer<typeof EmployeeSchema>;
75
+ /**
76
+ * Team schema
77
+ */
78
+ export declare const TeamSchema: z.ZodObject<{
79
+ id: z.ZodNumber;
80
+ name: z.ZodString;
81
+ description: z.ZodNullable<z.ZodString>;
82
+ company_id: z.ZodNullable<z.ZodNumber>;
83
+ employee_ids: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
84
+ lead_ids: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
85
+ created_at: z.ZodNullable<z.ZodString>;
86
+ updated_at: z.ZodNullable<z.ZodString>;
87
+ }, "strip", z.ZodTypeAny, {
88
+ id: number;
89
+ company_id: number | null;
90
+ created_at: string | null;
91
+ updated_at: string | null;
92
+ name: string;
93
+ description: string | null;
94
+ employee_ids: number[];
95
+ lead_ids: number[];
96
+ }, {
97
+ id: number;
98
+ company_id: number | null;
99
+ created_at: string | null;
100
+ updated_at: string | null;
101
+ name: string;
102
+ description: string | null;
103
+ employee_ids?: number[] | undefined;
104
+ lead_ids?: number[] | undefined;
105
+ }>;
106
+ export type Team = z.infer<typeof TeamSchema>;
107
+ /**
108
+ * Location schema
109
+ */
110
+ export declare const LocationSchema: z.ZodObject<{
111
+ id: z.ZodNumber;
112
+ name: z.ZodString;
113
+ country: z.ZodNullable<z.ZodString>;
114
+ phone_number: z.ZodNullable<z.ZodString>;
115
+ state: z.ZodNullable<z.ZodString>;
116
+ city: z.ZodNullable<z.ZodString>;
117
+ address_line_1: z.ZodNullable<z.ZodString>;
118
+ address_line_2: z.ZodNullable<z.ZodString>;
119
+ postal_code: z.ZodNullable<z.ZodString>;
120
+ company_id: z.ZodNullable<z.ZodNumber>;
121
+ created_at: z.ZodNullable<z.ZodString>;
122
+ updated_at: z.ZodNullable<z.ZodString>;
123
+ }, "strip", z.ZodTypeAny, {
124
+ id: number;
125
+ company_id: number | null;
126
+ created_at: string | null;
127
+ updated_at: string | null;
128
+ name: string;
129
+ country: string | null;
130
+ phone_number: string | null;
131
+ state: string | null;
132
+ city: string | null;
133
+ address_line_1: string | null;
134
+ address_line_2: string | null;
135
+ postal_code: string | null;
136
+ }, {
137
+ id: number;
138
+ company_id: number | null;
139
+ created_at: string | null;
140
+ updated_at: string | null;
141
+ name: string;
142
+ country: string | null;
143
+ phone_number: string | null;
144
+ state: string | null;
145
+ city: string | null;
146
+ address_line_1: string | null;
147
+ address_line_2: string | null;
148
+ postal_code: string | null;
149
+ }>;
150
+ export type Location = z.infer<typeof LocationSchema>;
151
+ /**
152
+ * Contract schema
153
+ */
154
+ export declare const ContractSchema: z.ZodObject<{
155
+ id: z.ZodNumber;
156
+ employee_id: z.ZodNumber;
157
+ job_title: z.ZodNullable<z.ZodString>;
158
+ effective_on: z.ZodNullable<z.ZodString>;
159
+ created_at: z.ZodNullable<z.ZodString>;
160
+ updated_at: z.ZodNullable<z.ZodString>;
161
+ }, "strip", z.ZodTypeAny, {
162
+ id: number;
163
+ created_at: string | null;
164
+ updated_at: string | null;
165
+ employee_id: number;
166
+ job_title: string | null;
167
+ effective_on: string | null;
168
+ }, {
169
+ id: number;
170
+ created_at: string | null;
171
+ updated_at: string | null;
172
+ employee_id: number;
173
+ job_title: string | null;
174
+ effective_on: string | null;
175
+ }>;
176
+ export type Contract = z.infer<typeof ContractSchema>;
177
+ /**
178
+ * Leave schema
179
+ */
180
+ export declare const LeaveSchema: z.ZodObject<{
181
+ id: z.ZodNumber;
182
+ employee_id: z.ZodNumber;
183
+ leave_type_id: z.ZodNumber;
184
+ start_on: z.ZodString;
185
+ finish_on: z.ZodString;
186
+ half_day: z.ZodNullable<z.ZodEnum<["all_day", "start", "finish"]>>;
187
+ status: z.ZodEnum<["pending", "approved", "declined"]>;
188
+ description: z.ZodNullable<z.ZodString>;
189
+ deleted_at: z.ZodNullable<z.ZodString>;
190
+ duration_attributes: z.ZodNullable<z.ZodObject<{
191
+ days: z.ZodNumber;
192
+ hours: z.ZodNumber;
193
+ }, "strip", z.ZodTypeAny, {
194
+ days: number;
195
+ hours: number;
196
+ }, {
197
+ days: number;
198
+ hours: number;
199
+ }>>;
200
+ created_at: z.ZodNullable<z.ZodString>;
201
+ updated_at: z.ZodNullable<z.ZodString>;
202
+ }, "strip", z.ZodTypeAny, {
203
+ id: number;
204
+ status: "pending" | "approved" | "declined";
205
+ created_at: string | null;
206
+ updated_at: string | null;
207
+ description: string | null;
208
+ employee_id: number;
209
+ leave_type_id: number;
210
+ start_on: string;
211
+ finish_on: string;
212
+ half_day: "all_day" | "start" | "finish" | null;
213
+ deleted_at: string | null;
214
+ duration_attributes: {
215
+ days: number;
216
+ hours: number;
217
+ } | null;
218
+ }, {
219
+ id: number;
220
+ status: "pending" | "approved" | "declined";
221
+ created_at: string | null;
222
+ updated_at: string | null;
223
+ description: string | null;
224
+ employee_id: number;
225
+ leave_type_id: number;
226
+ start_on: string;
227
+ finish_on: string;
228
+ half_day: "all_day" | "start" | "finish" | null;
229
+ deleted_at: string | null;
230
+ duration_attributes: {
231
+ days: number;
232
+ hours: number;
233
+ } | null;
234
+ }>;
235
+ export type Leave = z.infer<typeof LeaveSchema>;
236
+ /**
237
+ * Leave type schema
238
+ */
239
+ export declare const LeaveTypeSchema: z.ZodObject<{
240
+ id: z.ZodNumber;
241
+ name: z.ZodString;
242
+ code: z.ZodNullable<z.ZodString>;
243
+ color: z.ZodNullable<z.ZodString>;
244
+ description: z.ZodNullable<z.ZodString>;
245
+ company_id: z.ZodNullable<z.ZodNumber>;
246
+ created_at: z.ZodNullable<z.ZodString>;
247
+ updated_at: z.ZodNullable<z.ZodString>;
248
+ }, "strip", z.ZodTypeAny, {
249
+ id: number;
250
+ company_id: number | null;
251
+ code: string | null;
252
+ created_at: string | null;
253
+ updated_at: string | null;
254
+ name: string;
255
+ description: string | null;
256
+ color: string | null;
257
+ }, {
258
+ id: number;
259
+ company_id: number | null;
260
+ code: string | null;
261
+ created_at: string | null;
262
+ updated_at: string | null;
263
+ name: string;
264
+ description: string | null;
265
+ color: string | null;
266
+ }>;
267
+ export type LeaveType = z.infer<typeof LeaveTypeSchema>;
268
+ /**
269
+ * Allowance schema
270
+ */
271
+ export declare const AllowanceSchema: z.ZodObject<{
272
+ id: z.ZodNumber;
273
+ employee_id: z.ZodNumber;
274
+ leave_type_id: z.ZodNumber;
275
+ policy_id: z.ZodNullable<z.ZodNumber>;
276
+ balance_days: z.ZodNumber;
277
+ consumed_days: z.ZodNumber;
278
+ available_days: z.ZodNumber;
279
+ valid_from: z.ZodNullable<z.ZodString>;
280
+ valid_to: z.ZodNullable<z.ZodString>;
281
+ created_at: z.ZodNullable<z.ZodString>;
282
+ updated_at: z.ZodNullable<z.ZodString>;
283
+ }, "strip", z.ZodTypeAny, {
284
+ id: number;
285
+ created_at: string | null;
286
+ updated_at: string | null;
287
+ employee_id: number;
288
+ leave_type_id: number;
289
+ policy_id: number | null;
290
+ balance_days: number;
291
+ consumed_days: number;
292
+ available_days: number;
293
+ valid_from: string | null;
294
+ valid_to: string | null;
295
+ }, {
296
+ id: number;
297
+ created_at: string | null;
298
+ updated_at: string | null;
299
+ employee_id: number;
300
+ leave_type_id: number;
301
+ policy_id: number | null;
302
+ balance_days: number;
303
+ consumed_days: number;
304
+ available_days: number;
305
+ valid_from: string | null;
306
+ valid_to: string | null;
307
+ }>;
308
+ export type Allowance = z.infer<typeof AllowanceSchema>;
309
+ /**
310
+ * Shift schema
311
+ */
312
+ export declare const ShiftSchema: z.ZodObject<{
313
+ id: z.ZodNumber;
314
+ employee_id: z.ZodNumber;
315
+ clock_in: z.ZodString;
316
+ clock_out: z.ZodNullable<z.ZodString>;
317
+ worked_hours: z.ZodNullable<z.ZodNumber>;
318
+ break_minutes: z.ZodNullable<z.ZodNumber>;
319
+ location: z.ZodNullable<z.ZodString>;
320
+ notes: z.ZodNullable<z.ZodString>;
321
+ created_at: z.ZodNullable<z.ZodString>;
322
+ updated_at: z.ZodNullable<z.ZodString>;
323
+ }, "strip", z.ZodTypeAny, {
324
+ id: number;
325
+ created_at: string | null;
326
+ updated_at: string | null;
327
+ employee_id: number;
328
+ clock_in: string;
329
+ clock_out: string | null;
330
+ worked_hours: number | null;
331
+ break_minutes: number | null;
332
+ location: string | null;
333
+ notes: string | null;
334
+ }, {
335
+ id: number;
336
+ created_at: string | null;
337
+ updated_at: string | null;
338
+ employee_id: number;
339
+ clock_in: string;
340
+ clock_out: string | null;
341
+ worked_hours: number | null;
342
+ break_minutes: number | null;
343
+ location: string | null;
344
+ notes: string | null;
345
+ }>;
346
+ export type Shift = z.infer<typeof ShiftSchema>;
347
+ /**
348
+ * Folder schema
349
+ */
350
+ export declare const FolderSchema: z.ZodObject<{
351
+ id: z.ZodNumber;
352
+ name: z.ZodString;
353
+ parent_id: z.ZodNullable<z.ZodNumber>;
354
+ company_id: z.ZodNullable<z.ZodNumber>;
355
+ created_at: z.ZodNullable<z.ZodString>;
356
+ updated_at: z.ZodNullable<z.ZodString>;
357
+ }, "strip", z.ZodTypeAny, {
358
+ id: number;
359
+ company_id: number | null;
360
+ created_at: string | null;
361
+ updated_at: string | null;
362
+ name: string;
363
+ parent_id: number | null;
364
+ }, {
365
+ id: number;
366
+ company_id: number | null;
367
+ created_at: string | null;
368
+ updated_at: string | null;
369
+ name: string;
370
+ parent_id: number | null;
371
+ }>;
372
+ export type Folder = z.infer<typeof FolderSchema>;
373
+ /**
374
+ * Document schema
375
+ */
376
+ export declare const DocumentSchema: z.ZodObject<{
377
+ id: z.ZodNumber;
378
+ name: z.ZodString;
379
+ folder_id: z.ZodNullable<z.ZodNumber>;
380
+ author_id: z.ZodNullable<z.ZodNumber>;
381
+ company_id: z.ZodNullable<z.ZodNumber>;
382
+ public: z.ZodDefault<z.ZodBoolean>;
383
+ space: z.ZodNullable<z.ZodString>;
384
+ file_url: z.ZodNullable<z.ZodString>;
385
+ mime_type: z.ZodNullable<z.ZodString>;
386
+ size_bytes: z.ZodNullable<z.ZodNumber>;
387
+ created_at: z.ZodNullable<z.ZodString>;
388
+ updated_at: z.ZodNullable<z.ZodString>;
389
+ }, "strip", z.ZodTypeAny, {
390
+ id: number;
391
+ company_id: number | null;
392
+ created_at: string | null;
393
+ updated_at: string | null;
394
+ name: string;
395
+ folder_id: number | null;
396
+ author_id: number | null;
397
+ public: boolean;
398
+ space: string | null;
399
+ file_url: string | null;
400
+ mime_type: string | null;
401
+ size_bytes: number | null;
402
+ }, {
403
+ id: number;
404
+ company_id: number | null;
405
+ created_at: string | null;
406
+ updated_at: string | null;
407
+ name: string;
408
+ folder_id: number | null;
409
+ author_id: number | null;
410
+ space: string | null;
411
+ file_url: string | null;
412
+ mime_type: string | null;
413
+ size_bytes: number | null;
414
+ public?: boolean | undefined;
415
+ }>;
416
+ export type Document = z.infer<typeof DocumentSchema>;
417
+ /**
418
+ * Job role schema
419
+ */
420
+ export declare const JobRoleSchema: z.ZodObject<{
421
+ id: z.ZodNumber;
422
+ name: z.ZodString;
423
+ description: z.ZodNullable<z.ZodString>;
424
+ company_id: z.ZodNullable<z.ZodNumber>;
425
+ created_at: z.ZodNullable<z.ZodString>;
426
+ updated_at: z.ZodNullable<z.ZodString>;
427
+ }, "strip", z.ZodTypeAny, {
428
+ id: number;
429
+ company_id: number | null;
430
+ created_at: string | null;
431
+ updated_at: string | null;
432
+ name: string;
433
+ description: string | null;
434
+ }, {
435
+ id: number;
436
+ company_id: number | null;
437
+ created_at: string | null;
438
+ updated_at: string | null;
439
+ name: string;
440
+ description: string | null;
441
+ }>;
442
+ export type JobRole = z.infer<typeof JobRoleSchema>;
443
+ /**
444
+ * Job level schema
445
+ */
446
+ export declare const JobLevelSchema: z.ZodObject<{
447
+ id: z.ZodNumber;
448
+ name: z.ZodString;
449
+ description: z.ZodNullable<z.ZodString>;
450
+ company_id: z.ZodNullable<z.ZodNumber>;
451
+ created_at: z.ZodNullable<z.ZodString>;
452
+ updated_at: z.ZodNullable<z.ZodString>;
453
+ }, "strip", z.ZodTypeAny, {
454
+ id: number;
455
+ company_id: number | null;
456
+ created_at: string | null;
457
+ updated_at: string | null;
458
+ name: string;
459
+ description: string | null;
460
+ }, {
461
+ id: number;
462
+ company_id: number | null;
463
+ created_at: string | null;
464
+ updated_at: string | null;
465
+ name: string;
466
+ description: string | null;
467
+ }>;
468
+ export type JobLevel = z.infer<typeof JobLevelSchema>;
469
+ /**
470
+ * API response wrapper schema
471
+ */
472
+ export declare function createApiResponseSchema<T extends z.ZodTypeAny>(dataSchema: T): z.ZodObject<{
473
+ data: T;
474
+ }, "strip", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
475
+ data: T;
476
+ }>, any> extends infer T_1 ? { [k in keyof T_1]: T_1[k]; } : never, z.baseObjectInputType<{
477
+ data: T;
478
+ }> extends infer T_2 ? { [k_1 in keyof T_2]: T_2[k_1]; } : never>;
479
+ /**
480
+ * API list response wrapper schema
481
+ */
482
+ export declare function createApiListResponseSchema<T extends z.ZodTypeAny>(itemSchema: T): z.ZodObject<{
483
+ data: z.ZodArray<T, "many">;
484
+ }, "strip", z.ZodTypeAny, {
485
+ data: T["_output"][];
486
+ }, {
487
+ data: T["_input"][];
488
+ }>;
489
+ /**
490
+ * Parse and validate data against a schema
491
+ * @throws SchemaValidationError if validation fails
492
+ */
493
+ export declare function parseData<T>(schemaName: string, schema: z.ZodSchema<T>, data: unknown): T;
494
+ /**
495
+ * Safely parse data without throwing (returns undefined on failure)
496
+ */
497
+ export declare function safeParseData<T>(schema: z.ZodSchema<T>, data: unknown): T | undefined;
498
+ /**
499
+ * Parse an array of items against a schema
500
+ */
501
+ export declare function parseArray<T>(schemaName: string, itemSchema: z.ZodSchema<T>, data: unknown): T[];
502
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}