@t4dhg/mcp-factorial 7.1.0 → 9.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.
Files changed (209) hide show
  1. package/README.md +279 -56
  2. package/dist/api/ats.d.ts +78 -0
  3. package/dist/api/ats.d.ts.map +1 -0
  4. package/dist/api/ats.js +173 -0
  5. package/dist/api/ats.js.map +1 -0
  6. package/dist/api/attendance.d.ts +27 -0
  7. package/dist/api/attendance.d.ts.map +1 -0
  8. package/dist/api/attendance.js +62 -0
  9. package/dist/api/attendance.js.map +1 -0
  10. package/dist/api/contracts.d.ts +40 -0
  11. package/dist/api/contracts.d.ts.map +1 -0
  12. package/dist/api/contracts.js +146 -0
  13. package/dist/api/contracts.js.map +1 -0
  14. package/dist/api/documents.d.ts +95 -0
  15. package/dist/api/documents.d.ts.map +1 -0
  16. package/dist/api/documents.js +269 -0
  17. package/dist/api/documents.js.map +1 -0
  18. package/dist/api/employees.d.ts +35 -0
  19. package/dist/api/employees.d.ts.map +1 -0
  20. package/dist/api/employees.js +116 -0
  21. package/dist/api/employees.js.map +1 -0
  22. package/dist/api/index.d.ts +22 -0
  23. package/dist/api/index.d.ts.map +1 -0
  24. package/dist/api/index.js +36 -0
  25. package/dist/api/index.js.map +1 -0
  26. package/dist/api/job-catalog.d.ts +21 -0
  27. package/dist/api/job-catalog.d.ts.map +1 -0
  28. package/dist/api/job-catalog.js +34 -0
  29. package/dist/api/job-catalog.js.map +1 -0
  30. package/dist/api/locations.d.ts +26 -0
  31. package/dist/api/locations.d.ts.map +1 -0
  32. package/dist/api/locations.js +59 -0
  33. package/dist/api/locations.js.map +1 -0
  34. package/dist/api/payroll.d.ts +30 -0
  35. package/dist/api/payroll.d.ts.map +1 -0
  36. package/dist/api/payroll.js +68 -0
  37. package/dist/api/payroll.js.map +1 -0
  38. package/dist/api/projects.d.ts +82 -0
  39. package/dist/api/projects.d.ts.map +1 -0
  40. package/dist/api/projects.js +193 -0
  41. package/dist/api/projects.js.map +1 -0
  42. package/dist/api/shared.d.ts +12 -0
  43. package/dist/api/shared.d.ts.map +1 -0
  44. package/dist/api/shared.js +17 -0
  45. package/dist/api/shared.js.map +1 -0
  46. package/dist/api/teams.d.ts +26 -0
  47. package/dist/api/teams.d.ts.map +1 -0
  48. package/dist/api/teams.js +59 -0
  49. package/dist/api/teams.js.map +1 -0
  50. package/dist/api/time-off.d.ts +47 -0
  51. package/dist/api/time-off.d.ts.map +1 -0
  52. package/dist/api/time-off.js +112 -0
  53. package/dist/api/time-off.js.map +1 -0
  54. package/dist/api/training.d.ts +62 -0
  55. package/dist/api/training.d.ts.map +1 -0
  56. package/dist/api/training.js +147 -0
  57. package/dist/api/training.js.map +1 -0
  58. package/dist/api/work-areas.d.ts +30 -0
  59. package/dist/api/work-areas.d.ts.map +1 -0
  60. package/dist/api/work-areas.js +71 -0
  61. package/dist/api/work-areas.js.map +1 -0
  62. package/dist/api.d.ts +3 -464
  63. package/dist/api.d.ts.map +1 -1
  64. package/dist/api.js +3 -1274
  65. package/dist/api.js.map +1 -1
  66. package/dist/audit.d.ts +8 -3
  67. package/dist/audit.d.ts.map +1 -1
  68. package/dist/audit.js +8 -3
  69. package/dist/audit.js.map +1 -1
  70. package/dist/config.d.ts +1 -1
  71. package/dist/config.d.ts.map +1 -1
  72. package/dist/config.js +4 -1
  73. package/dist/config.js.map +1 -1
  74. package/dist/http-client.d.ts +12 -0
  75. package/dist/http-client.d.ts.map +1 -1
  76. package/dist/http-client.js +32 -1
  77. package/dist/http-client.js.map +1 -1
  78. package/dist/index.d.ts +6 -13
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +6 -3860
  81. package/dist/index.js.map +1 -1
  82. package/dist/oauth.d.ts +63 -0
  83. package/dist/oauth.d.ts.map +1 -0
  84. package/dist/oauth.js +143 -0
  85. package/dist/oauth.js.map +1 -0
  86. package/dist/schemas/ats.d.ts +403 -0
  87. package/dist/schemas/ats.d.ts.map +1 -0
  88. package/dist/schemas/ats.js +159 -0
  89. package/dist/schemas/ats.js.map +1 -0
  90. package/dist/schemas/documents.d.ts +108 -0
  91. package/dist/schemas/documents.d.ts.map +1 -0
  92. package/dist/schemas/documents.js +63 -0
  93. package/dist/schemas/documents.js.map +1 -0
  94. package/dist/schemas/employees.d.ts +586 -0
  95. package/dist/schemas/employees.d.ts.map +1 -0
  96. package/dist/schemas/employees.js +241 -0
  97. package/dist/schemas/employees.js.map +1 -0
  98. package/dist/schemas/index.d.ts +18 -0
  99. package/dist/schemas/index.d.ts.map +1 -0
  100. package/dist/schemas/index.js +28 -0
  101. package/dist/schemas/index.js.map +1 -0
  102. package/dist/schemas/job-catalog.d.ts +69 -0
  103. package/dist/schemas/job-catalog.d.ts.map +1 -0
  104. package/dist/schemas/job-catalog.js +34 -0
  105. package/dist/schemas/job-catalog.js.map +1 -0
  106. package/dist/schemas/payroll.d.ts +117 -0
  107. package/dist/schemas/payroll.d.ts.map +1 -0
  108. package/dist/schemas/payroll.js +68 -0
  109. package/dist/schemas/payroll.js.map +1 -0
  110. package/dist/schemas/projects.d.ts +303 -0
  111. package/dist/schemas/projects.d.ts.map +1 -0
  112. package/dist/schemas/projects.js +133 -0
  113. package/dist/schemas/projects.js.map +1 -0
  114. package/dist/schemas/shared.d.ts +55 -0
  115. package/dist/schemas/shared.d.ts.map +1 -0
  116. package/dist/schemas/shared.js +78 -0
  117. package/dist/schemas/shared.js.map +1 -0
  118. package/dist/schemas/time-off.d.ts +432 -0
  119. package/dist/schemas/time-off.d.ts.map +1 -0
  120. package/dist/schemas/time-off.js +175 -0
  121. package/dist/schemas/time-off.js.map +1 -0
  122. package/dist/schemas/training.d.ts +327 -0
  123. package/dist/schemas/training.d.ts.map +1 -0
  124. package/dist/schemas/training.js +138 -0
  125. package/dist/schemas/training.js.map +1 -0
  126. package/dist/schemas/work-areas.d.ts +64 -0
  127. package/dist/schemas/work-areas.d.ts.map +1 -0
  128. package/dist/schemas/work-areas.js +32 -0
  129. package/dist/schemas/work-areas.js.map +1 -0
  130. package/dist/schemas.d.ts +3 -1932
  131. package/dist/schemas.d.ts.map +1 -1
  132. package/dist/schemas.js +3 -785
  133. package/dist/schemas.js.map +1 -1
  134. package/dist/tool-utils.d.ts +0 -14
  135. package/dist/tool-utils.d.ts.map +1 -1
  136. package/dist/tool-utils.js +5 -18
  137. package/dist/tool-utils.js.map +1 -1
  138. package/dist/tools/ats.d.ts +6 -0
  139. package/dist/tools/ats.d.ts.map +1 -0
  140. package/dist/tools/ats.js +206 -0
  141. package/dist/tools/ats.js.map +1 -0
  142. package/dist/tools/attendance.d.ts +6 -0
  143. package/dist/tools/attendance.d.ts.map +1 -0
  144. package/dist/tools/attendance.js +86 -0
  145. package/dist/tools/attendance.js.map +1 -0
  146. package/dist/tools/contracts.d.ts +6 -0
  147. package/dist/tools/contracts.d.ts.map +1 -0
  148. package/dist/tools/contracts.js +63 -0
  149. package/dist/tools/contracts.js.map +1 -0
  150. package/dist/tools/documents.d.ts +6 -0
  151. package/dist/tools/documents.d.ts.map +1 -0
  152. package/dist/tools/documents.js +135 -0
  153. package/dist/tools/documents.js.map +1 -0
  154. package/dist/tools/employees.d.ts +6 -0
  155. package/dist/tools/employees.d.ts.map +1 -0
  156. package/dist/tools/employees.js +125 -0
  157. package/dist/tools/employees.js.map +1 -0
  158. package/dist/tools/index.d.ts +17 -0
  159. package/dist/tools/index.d.ts.map +1 -0
  160. package/dist/tools/index.js +221 -0
  161. package/dist/tools/index.js.map +1 -0
  162. package/dist/tools/job-catalog.d.ts +6 -0
  163. package/dist/tools/job-catalog.d.ts.map +1 -0
  164. package/dist/tools/job-catalog.js +39 -0
  165. package/dist/tools/job-catalog.js.map +1 -0
  166. package/dist/tools/locations.d.ts +6 -0
  167. package/dist/tools/locations.d.ts.map +1 -0
  168. package/dist/tools/locations.js +93 -0
  169. package/dist/tools/locations.js.map +1 -0
  170. package/dist/tools/payroll.d.ts +6 -0
  171. package/dist/tools/payroll.d.ts.map +1 -0
  172. package/dist/tools/payroll.js +76 -0
  173. package/dist/tools/payroll.js.map +1 -0
  174. package/dist/tools/projects.d.ts +6 -0
  175. package/dist/tools/projects.d.ts.map +1 -0
  176. package/dist/tools/projects.js +203 -0
  177. package/dist/tools/projects.js.map +1 -0
  178. package/dist/tools/shared.d.ts +84 -0
  179. package/dist/tools/shared.d.ts.map +1 -0
  180. package/dist/tools/shared.js +164 -0
  181. package/dist/tools/shared.js.map +1 -0
  182. package/dist/tools/teams.d.ts +6 -0
  183. package/dist/tools/teams.d.ts.map +1 -0
  184. package/dist/tools/teams.js +81 -0
  185. package/dist/tools/teams.js.map +1 -0
  186. package/dist/tools/time-off.d.ts +6 -0
  187. package/dist/tools/time-off.d.ts.map +1 -0
  188. package/dist/tools/time-off.js +144 -0
  189. package/dist/tools/time-off.js.map +1 -0
  190. package/dist/tools/training.d.ts +6 -0
  191. package/dist/tools/training.d.ts.map +1 -0
  192. package/dist/tools/training.js +160 -0
  193. package/dist/tools/training.js.map +1 -0
  194. package/dist/tools/work-areas.d.ts +6 -0
  195. package/dist/tools/work-areas.d.ts.map +1 -0
  196. package/dist/tools/work-areas.js +85 -0
  197. package/dist/tools/work-areas.js.map +1 -0
  198. package/dist/types.d.ts +1 -1
  199. package/dist/types.d.ts.map +1 -1
  200. package/dist/utils.d.ts +35 -0
  201. package/dist/utils.d.ts.map +1 -1
  202. package/dist/utils.js +97 -0
  203. package/dist/utils.js.map +1 -1
  204. package/dist/write-safety.d.ts +229 -2
  205. package/dist/write-safety.d.ts.map +1 -1
  206. package/dist/write-safety.js +42 -3
  207. package/dist/write-safety.js.map +1 -1
  208. package/llms.txt +2 -2
  209. package/package.json +2 -2
@@ -0,0 +1,432 @@
1
+ /**
2
+ * Time Off schemas: Leave, LeaveType, Allowance, Shift
3
+ */
4
+ import { z } from 'zod';
5
+ /**
6
+ * Leave schema
7
+ *
8
+ * Only the identifier types and the `days_taken` field were changed for API
9
+ * version 2026-07-01. The remaining fields are known not to match what the
10
+ * live API returns (there is no `status`, approval is a boolean `approved`,
11
+ * and `half_day` values are null, 'beggining_of_day' or 'end_of_day'); that
12
+ * rework belongs to the attendance feature and is deliberately left out here.
13
+ */
14
+ export declare const LeaveSchema: z.ZodObject<{
15
+ id: z.ZodString;
16
+ employee_id: z.ZodString;
17
+ leave_type_id: z.ZodString;
18
+ start_on: z.ZodString;
19
+ finish_on: z.ZodString;
20
+ half_day: z.ZodNullable<z.ZodEnum<["all_day", "start", "finish"]>>;
21
+ status: z.ZodEnum<["pending", "approved", "declined"]>;
22
+ description: z.ZodNullable<z.ZodString>;
23
+ deleted_at: z.ZodNullable<z.ZodString>;
24
+ duration_attributes: z.ZodNullable<z.ZodObject<{
25
+ days: z.ZodNumber;
26
+ hours: z.ZodNumber;
27
+ }, "strip", z.ZodTypeAny, {
28
+ days: number;
29
+ hours: number;
30
+ }, {
31
+ days: number;
32
+ hours: number;
33
+ }>>;
34
+ days_taken: z.ZodOptional<z.ZodNumber>;
35
+ created_at: z.ZodNullable<z.ZodString>;
36
+ updated_at: z.ZodNullable<z.ZodString>;
37
+ }, "strip", z.ZodTypeAny, {
38
+ status: "pending" | "approved" | "declined";
39
+ id: string;
40
+ created_at: string | null;
41
+ updated_at: string | null;
42
+ description: string | null;
43
+ employee_id: string;
44
+ leave_type_id: string;
45
+ start_on: string;
46
+ finish_on: string;
47
+ half_day: "all_day" | "start" | "finish" | null;
48
+ deleted_at: string | null;
49
+ duration_attributes: {
50
+ days: number;
51
+ hours: number;
52
+ } | null;
53
+ days_taken?: number | undefined;
54
+ }, {
55
+ status: "pending" | "approved" | "declined";
56
+ id: string;
57
+ created_at: string | null;
58
+ updated_at: string | null;
59
+ description: string | null;
60
+ employee_id: string;
61
+ leave_type_id: string;
62
+ start_on: string;
63
+ finish_on: string;
64
+ half_day: "all_day" | "start" | "finish" | null;
65
+ deleted_at: string | null;
66
+ duration_attributes: {
67
+ days: number;
68
+ hours: number;
69
+ } | null;
70
+ days_taken?: number | undefined;
71
+ }>;
72
+ export type Leave = z.infer<typeof LeaveSchema>;
73
+ /**
74
+ * Leave type schema
75
+ *
76
+ * Field set verified against live /timeoff/leave-types responses on API
77
+ * version 2026-07-01. Leave types carry no `code` and no timestamps.
78
+ */
79
+ export declare const LeaveTypeSchema: z.ZodObject<{
80
+ id: z.ZodString;
81
+ name: z.ZodString;
82
+ translated_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
83
+ /** Built-in kind: 'holiday', 'sick', 'parental', 'compassionate', 'overtime_compensation', 'other', 'custom' */
84
+ identifier: z.ZodString;
85
+ color: z.ZodNullable<z.ZodString>;
86
+ description: z.ZodNullable<z.ZodString>;
87
+ company_id: z.ZodNullable<z.ZodString>;
88
+ active: z.ZodOptional<z.ZodBoolean>;
89
+ editable: z.ZodOptional<z.ZodBoolean>;
90
+ approval_required: z.ZodOptional<z.ZodBoolean>;
91
+ accrues: z.ZodOptional<z.ZodBoolean>;
92
+ attachment: z.ZodOptional<z.ZodBoolean>;
93
+ is_attachment_mandatory: z.ZodOptional<z.ZodBoolean>;
94
+ allow_endless: z.ZodOptional<z.ZodBoolean>;
95
+ restricted: z.ZodOptional<z.ZodBoolean>;
96
+ visibility: z.ZodOptional<z.ZodBoolean>;
97
+ workable: z.ZodOptional<z.ZodBoolean>;
98
+ payable: z.ZodOptional<z.ZodBoolean>;
99
+ details_required: z.ZodOptional<z.ZodBoolean>;
100
+ half_days_units_enabled: z.ZodOptional<z.ZodBoolean>;
101
+ eau_eligible: z.ZodOptional<z.ZodBoolean>;
102
+ allowance_ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
103
+ max_days_in_cents: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
104
+ min_days_in_cents: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
105
+ }, "strip", z.ZodTypeAny, {
106
+ id: string;
107
+ identifier: string;
108
+ company_id: string | null;
109
+ name: string;
110
+ description: string | null;
111
+ color: string | null;
112
+ active?: boolean | undefined;
113
+ workable?: boolean | undefined;
114
+ translated_name?: string | null | undefined;
115
+ editable?: boolean | undefined;
116
+ approval_required?: boolean | undefined;
117
+ accrues?: boolean | undefined;
118
+ attachment?: boolean | undefined;
119
+ is_attachment_mandatory?: boolean | undefined;
120
+ allow_endless?: boolean | undefined;
121
+ restricted?: boolean | undefined;
122
+ visibility?: boolean | undefined;
123
+ payable?: boolean | undefined;
124
+ details_required?: boolean | undefined;
125
+ half_days_units_enabled?: boolean | undefined;
126
+ eau_eligible?: boolean | undefined;
127
+ allowance_ids?: string[] | undefined;
128
+ max_days_in_cents?: number | null | undefined;
129
+ min_days_in_cents?: number | null | undefined;
130
+ }, {
131
+ id: string;
132
+ identifier: string;
133
+ company_id: string | null;
134
+ name: string;
135
+ description: string | null;
136
+ color: string | null;
137
+ active?: boolean | undefined;
138
+ workable?: boolean | undefined;
139
+ translated_name?: string | null | undefined;
140
+ editable?: boolean | undefined;
141
+ approval_required?: boolean | undefined;
142
+ accrues?: boolean | undefined;
143
+ attachment?: boolean | undefined;
144
+ is_attachment_mandatory?: boolean | undefined;
145
+ allow_endless?: boolean | undefined;
146
+ restricted?: boolean | undefined;
147
+ visibility?: boolean | undefined;
148
+ payable?: boolean | undefined;
149
+ details_required?: boolean | undefined;
150
+ half_days_units_enabled?: boolean | undefined;
151
+ eau_eligible?: boolean | undefined;
152
+ allowance_ids?: string[] | undefined;
153
+ max_days_in_cents?: number | null | undefined;
154
+ min_days_in_cents?: number | null | undefined;
155
+ }>;
156
+ export type LeaveType = z.infer<typeof LeaveTypeSchema>;
157
+ /**
158
+ * Allowance schema
159
+ *
160
+ * /timeoff/allowances returns the allowance *definitions* of a time-off
161
+ * policy (cycle, accrual, carry-over and rounding rules), not per-employee
162
+ * balances. Field set verified against a live response on API version
163
+ * 2026-07-01. Per-employee balances live in /timeoff/allowance_stats, which
164
+ * this server does not call.
165
+ */
166
+ export declare const AllowanceSchema: z.ZodObject<{
167
+ id: z.ZodString;
168
+ timeoff_policy_id: z.ZodString;
169
+ name: z.ZodString;
170
+ leave_type_ids: z.ZodArray<z.ZodString, "many">;
171
+ allowance_type: z.ZodEnum<["days", "hours"]>;
172
+ available_days: z.ZodString;
173
+ days_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
174
+ timeoff_cycle: z.ZodString;
175
+ cycle_start: z.ZodOptional<z.ZodNullable<z.ZodString>>;
176
+ cycle_length: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
177
+ frequency: z.ZodOptional<z.ZodNullable<z.ZodEnum<["monthly_flexible", "yearly", "lifetime"]>>>;
178
+ source_units: z.ZodOptional<z.ZodNullable<z.ZodString>>;
179
+ accrued_units_availability: z.ZodOptional<z.ZodNullable<z.ZodString>>;
180
+ accrued_factor_in_cents: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
181
+ accrued_denominator_in_cents: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
182
+ holiday_allowance_in_cents: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
183
+ maximum_amount_in_cents: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
184
+ unlimited_holidays: z.ZodOptional<z.ZodBoolean>;
185
+ unlimited_accrued_hours: z.ZodOptional<z.ZodBoolean>;
186
+ carry_over_days: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
187
+ carry_over_units_in_cents: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
188
+ unlimited_carry_over: z.ZodOptional<z.ZodBoolean>;
189
+ unlimited_carry_over_expiration: z.ZodOptional<z.ZodBoolean>;
190
+ expire_in_months: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
191
+ employee_carry_over_starting_year: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
192
+ count_holiday_as_workable: z.ZodBoolean;
193
+ negative_counter_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
194
+ proration_type: z.ZodEnum<["proration_enabled", "proration_disabled"]>;
195
+ pto_proratio_enabled: z.ZodOptional<z.ZodBoolean>;
196
+ range_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
197
+ rounding: z.ZodEnum<["half_day", "decimals", "quarters", "round_up"]>;
198
+ send_notification: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
199
+ tenure_periods_enabled: z.ZodOptional<z.ZodBoolean>;
200
+ tenure_periods: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
201
+ tenure_period_transition: z.ZodOptional<z.ZodNullable<z.ZodString>>;
202
+ position: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
203
+ }, "strip", z.ZodTypeAny, {
204
+ id: string;
205
+ name: string;
206
+ timeoff_policy_id: string;
207
+ leave_type_ids: string[];
208
+ allowance_type: "days" | "hours";
209
+ available_days: string;
210
+ timeoff_cycle: string;
211
+ count_holiday_as_workable: boolean;
212
+ proration_type: "proration_enabled" | "proration_disabled";
213
+ rounding: "half_day" | "decimals" | "quarters" | "round_up";
214
+ days_type?: string | null | undefined;
215
+ cycle_start?: string | null | undefined;
216
+ cycle_length?: number | null | undefined;
217
+ frequency?: "yearly" | "monthly_flexible" | "lifetime" | null | undefined;
218
+ source_units?: string | null | undefined;
219
+ accrued_units_availability?: string | null | undefined;
220
+ accrued_factor_in_cents?: number | null | undefined;
221
+ accrued_denominator_in_cents?: number | null | undefined;
222
+ holiday_allowance_in_cents?: number | null | undefined;
223
+ maximum_amount_in_cents?: number | null | undefined;
224
+ unlimited_holidays?: boolean | undefined;
225
+ unlimited_accrued_hours?: boolean | undefined;
226
+ carry_over_days?: number | null | undefined;
227
+ carry_over_units_in_cents?: number | null | undefined;
228
+ unlimited_carry_over?: boolean | undefined;
229
+ unlimited_carry_over_expiration?: boolean | undefined;
230
+ expire_in_months?: number | null | undefined;
231
+ employee_carry_over_starting_year?: number | null | undefined;
232
+ negative_counter_type?: string | null | undefined;
233
+ pto_proratio_enabled?: boolean | undefined;
234
+ range_type?: string | null | undefined;
235
+ send_notification?: boolean | null | undefined;
236
+ tenure_periods_enabled?: boolean | undefined;
237
+ tenure_periods?: unknown[] | undefined;
238
+ tenure_period_transition?: string | null | undefined;
239
+ position?: number | null | undefined;
240
+ }, {
241
+ id: string;
242
+ name: string;
243
+ timeoff_policy_id: string;
244
+ leave_type_ids: string[];
245
+ allowance_type: "days" | "hours";
246
+ available_days: string;
247
+ timeoff_cycle: string;
248
+ count_holiday_as_workable: boolean;
249
+ proration_type: "proration_enabled" | "proration_disabled";
250
+ rounding: "half_day" | "decimals" | "quarters" | "round_up";
251
+ days_type?: string | null | undefined;
252
+ cycle_start?: string | null | undefined;
253
+ cycle_length?: number | null | undefined;
254
+ frequency?: "yearly" | "monthly_flexible" | "lifetime" | null | undefined;
255
+ source_units?: string | null | undefined;
256
+ accrued_units_availability?: string | null | undefined;
257
+ accrued_factor_in_cents?: number | null | undefined;
258
+ accrued_denominator_in_cents?: number | null | undefined;
259
+ holiday_allowance_in_cents?: number | null | undefined;
260
+ maximum_amount_in_cents?: number | null | undefined;
261
+ unlimited_holidays?: boolean | undefined;
262
+ unlimited_accrued_hours?: boolean | undefined;
263
+ carry_over_days?: number | null | undefined;
264
+ carry_over_units_in_cents?: number | null | undefined;
265
+ unlimited_carry_over?: boolean | undefined;
266
+ unlimited_carry_over_expiration?: boolean | undefined;
267
+ expire_in_months?: number | null | undefined;
268
+ employee_carry_over_starting_year?: number | null | undefined;
269
+ negative_counter_type?: string | null | undefined;
270
+ pto_proratio_enabled?: boolean | undefined;
271
+ range_type?: string | null | undefined;
272
+ send_notification?: boolean | null | undefined;
273
+ tenure_periods_enabled?: boolean | undefined;
274
+ tenure_periods?: unknown[] | undefined;
275
+ tenure_period_transition?: string | null | undefined;
276
+ position?: number | null | undefined;
277
+ }>;
278
+ export type Allowance = z.infer<typeof AllowanceSchema>;
279
+ /**
280
+ * Shift schema
281
+ *
282
+ * Only the identifier types were changed for API version 2026-07-01. The
283
+ * remaining fields are known not to match what the live API returns; that
284
+ * rework belongs to the attendance feature and is deliberately left out here.
285
+ */
286
+ export declare const ShiftSchema: z.ZodObject<{
287
+ id: z.ZodString;
288
+ employee_id: z.ZodString;
289
+ clock_in: z.ZodString;
290
+ clock_out: z.ZodNullable<z.ZodString>;
291
+ worked_hours: z.ZodNullable<z.ZodNumber>;
292
+ break_minutes: z.ZodNullable<z.ZodNumber>;
293
+ location: z.ZodNullable<z.ZodString>;
294
+ notes: z.ZodNullable<z.ZodString>;
295
+ created_at: z.ZodNullable<z.ZodString>;
296
+ updated_at: z.ZodNullable<z.ZodString>;
297
+ }, "strip", z.ZodTypeAny, {
298
+ id: string;
299
+ created_at: string | null;
300
+ updated_at: string | null;
301
+ employee_id: string;
302
+ clock_in: string;
303
+ clock_out: string | null;
304
+ worked_hours: number | null;
305
+ break_minutes: number | null;
306
+ location: string | null;
307
+ notes: string | null;
308
+ }, {
309
+ id: string;
310
+ created_at: string | null;
311
+ updated_at: string | null;
312
+ employee_id: string;
313
+ clock_in: string;
314
+ clock_out: string | null;
315
+ worked_hours: number | null;
316
+ break_minutes: number | null;
317
+ location: string | null;
318
+ notes: string | null;
319
+ }>;
320
+ export type Shift = z.infer<typeof ShiftSchema>;
321
+ /**
322
+ * Leave create input schema
323
+ */
324
+ export declare const CreateLeaveInputSchema: z.ZodObject<{
325
+ employee_id: z.ZodNumber;
326
+ leave_type_id: z.ZodNumber;
327
+ start_on: z.ZodString;
328
+ finish_on: z.ZodString;
329
+ half_day: z.ZodOptional<z.ZodEnum<["all_day", "start", "finish"]>>;
330
+ description: z.ZodOptional<z.ZodString>;
331
+ }, "strip", z.ZodTypeAny, {
332
+ employee_id: number;
333
+ leave_type_id: number;
334
+ start_on: string;
335
+ finish_on: string;
336
+ description?: string | undefined;
337
+ half_day?: "all_day" | "start" | "finish" | undefined;
338
+ }, {
339
+ employee_id: number;
340
+ leave_type_id: number;
341
+ start_on: string;
342
+ finish_on: string;
343
+ description?: string | undefined;
344
+ half_day?: "all_day" | "start" | "finish" | undefined;
345
+ }>;
346
+ export type CreateLeaveInput = z.infer<typeof CreateLeaveInputSchema>;
347
+ /**
348
+ * Leave update input schema
349
+ */
350
+ export declare const UpdateLeaveInputSchema: z.ZodObject<Omit<{
351
+ employee_id: z.ZodOptional<z.ZodNumber>;
352
+ leave_type_id: z.ZodOptional<z.ZodNumber>;
353
+ start_on: z.ZodOptional<z.ZodString>;
354
+ finish_on: z.ZodOptional<z.ZodString>;
355
+ half_day: z.ZodOptional<z.ZodOptional<z.ZodEnum<["all_day", "start", "finish"]>>>;
356
+ description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
357
+ }, "employee_id">, "strip", z.ZodTypeAny, {
358
+ description?: string | undefined;
359
+ leave_type_id?: number | undefined;
360
+ start_on?: string | undefined;
361
+ finish_on?: string | undefined;
362
+ half_day?: "all_day" | "start" | "finish" | undefined;
363
+ }, {
364
+ description?: string | undefined;
365
+ leave_type_id?: number | undefined;
366
+ start_on?: string | undefined;
367
+ finish_on?: string | undefined;
368
+ half_day?: "all_day" | "start" | "finish" | undefined;
369
+ }>;
370
+ export type UpdateLeaveInput = z.infer<typeof UpdateLeaveInputSchema>;
371
+ /**
372
+ * Leave approval/rejection input schema
373
+ */
374
+ export declare const LeaveDecisionInputSchema: z.ZodObject<{
375
+ reason: z.ZodOptional<z.ZodString>;
376
+ }, "strip", z.ZodTypeAny, {
377
+ reason?: string | undefined;
378
+ }, {
379
+ reason?: string | undefined;
380
+ }>;
381
+ export type LeaveDecisionInput = z.infer<typeof LeaveDecisionInputSchema>;
382
+ /**
383
+ * Shift create input schema
384
+ */
385
+ export declare const CreateShiftInputSchema: z.ZodObject<{
386
+ employee_id: z.ZodNumber;
387
+ clock_in: z.ZodString;
388
+ clock_out: z.ZodOptional<z.ZodString>;
389
+ break_minutes: z.ZodOptional<z.ZodNumber>;
390
+ location: z.ZodOptional<z.ZodString>;
391
+ notes: z.ZodOptional<z.ZodString>;
392
+ }, "strip", z.ZodTypeAny, {
393
+ employee_id: number;
394
+ clock_in: string;
395
+ clock_out?: string | undefined;
396
+ break_minutes?: number | undefined;
397
+ location?: string | undefined;
398
+ notes?: string | undefined;
399
+ }, {
400
+ employee_id: number;
401
+ clock_in: string;
402
+ clock_out?: string | undefined;
403
+ break_minutes?: number | undefined;
404
+ location?: string | undefined;
405
+ notes?: string | undefined;
406
+ }>;
407
+ export type CreateShiftInput = z.infer<typeof CreateShiftInputSchema>;
408
+ /**
409
+ * Shift update input schema
410
+ */
411
+ export declare const UpdateShiftInputSchema: z.ZodObject<Omit<{
412
+ employee_id: z.ZodOptional<z.ZodNumber>;
413
+ clock_in: z.ZodOptional<z.ZodString>;
414
+ clock_out: z.ZodOptional<z.ZodOptional<z.ZodString>>;
415
+ break_minutes: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
416
+ location: z.ZodOptional<z.ZodOptional<z.ZodString>>;
417
+ notes: z.ZodOptional<z.ZodOptional<z.ZodString>>;
418
+ }, "employee_id">, "strip", z.ZodTypeAny, {
419
+ clock_in?: string | undefined;
420
+ clock_out?: string | undefined;
421
+ break_minutes?: number | undefined;
422
+ location?: string | undefined;
423
+ notes?: string | undefined;
424
+ }, {
425
+ clock_in?: string | undefined;
426
+ clock_out?: string | undefined;
427
+ break_minutes?: number | undefined;
428
+ location?: string | undefined;
429
+ notes?: string | undefined;
430
+ }>;
431
+ export type UpdateShiftInput = z.infer<typeof UpdateShiftInputSchema>;
432
+ //# sourceMappingURL=time-off.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time-off.d.ts","sourceRoot":"","sources":["../../src/schemas/time-off.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBtB,CAAC;AAEH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEhD;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;;IAI1B,gHAAgH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBhH,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqC1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD;;;;;;GAMG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWtB,CAAC;AAEH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAMhD;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;EAOjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;EAA+D,CAAC;AAEnG,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;EAEnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;EAOjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;EAA+D,CAAC;AAEnG,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,175 @@
1
+ /**
2
+ * Time Off schemas: Leave, LeaveType, Allowance, Shift
3
+ */
4
+ import { z } from 'zod';
5
+ import { dateString, resourceId } from './shared.js';
6
+ /**
7
+ * Leave schema
8
+ *
9
+ * Only the identifier types and the `days_taken` field were changed for API
10
+ * version 2026-07-01. The remaining fields are known not to match what the
11
+ * live API returns (there is no `status`, approval is a boolean `approved`,
12
+ * and `half_day` values are null, 'beggining_of_day' or 'end_of_day'); that
13
+ * rework belongs to the attendance feature and is deliberately left out here.
14
+ */
15
+ export const LeaveSchema = z.object({
16
+ id: resourceId,
17
+ employee_id: resourceId,
18
+ leave_type_id: resourceId,
19
+ start_on: z.string(),
20
+ finish_on: z.string(),
21
+ half_day: z.enum(['all_day', 'start', 'finish']).nullable(),
22
+ status: z.enum(['pending', 'approved', 'declined']),
23
+ description: z.string().nullable(),
24
+ deleted_at: z.string().nullable(),
25
+ duration_attributes: z
26
+ .object({
27
+ days: z.number(),
28
+ hours: z.number(),
29
+ })
30
+ .nullable(),
31
+ // Added in API 2026-01-01: number of days taken for paid leave
32
+ days_taken: z.number().optional(),
33
+ created_at: z.string().nullable(),
34
+ updated_at: z.string().nullable(),
35
+ });
36
+ /**
37
+ * Leave type schema
38
+ *
39
+ * Field set verified against live /timeoff/leave-types responses on API
40
+ * version 2026-07-01. Leave types carry no `code` and no timestamps.
41
+ */
42
+ export const LeaveTypeSchema = z.object({
43
+ id: resourceId,
44
+ name: z.string(),
45
+ translated_name: z.string().nullable().optional(),
46
+ /** Built-in kind: 'holiday', 'sick', 'parental', 'compassionate', 'overtime_compensation', 'other', 'custom' */
47
+ identifier: z.string(),
48
+ color: z.string().nullable(),
49
+ description: z.string().nullable(),
50
+ company_id: resourceId.nullable(),
51
+ active: z.boolean().optional(),
52
+ editable: z.boolean().optional(),
53
+ approval_required: z.boolean().optional(),
54
+ accrues: z.boolean().optional(),
55
+ attachment: z.boolean().optional(),
56
+ is_attachment_mandatory: z.boolean().optional(),
57
+ allow_endless: z.boolean().optional(),
58
+ restricted: z.boolean().optional(),
59
+ visibility: z.boolean().optional(),
60
+ workable: z.boolean().optional(),
61
+ payable: z.boolean().optional(),
62
+ details_required: z.boolean().optional(),
63
+ half_days_units_enabled: z.boolean().optional(),
64
+ // Added in API 2026-07-01
65
+ eau_eligible: z.boolean().optional(),
66
+ allowance_ids: z.array(resourceId).optional(),
67
+ max_days_in_cents: z.number().nullable().optional(),
68
+ min_days_in_cents: z.number().nullable().optional(),
69
+ });
70
+ /**
71
+ * Allowance schema
72
+ *
73
+ * /timeoff/allowances returns the allowance *definitions* of a time-off
74
+ * policy (cycle, accrual, carry-over and rounding rules), not per-employee
75
+ * balances. Field set verified against a live response on API version
76
+ * 2026-07-01. Per-employee balances live in /timeoff/allowance_stats, which
77
+ * this server does not call.
78
+ */
79
+ export const AllowanceSchema = z.object({
80
+ id: resourceId,
81
+ timeoff_policy_id: resourceId,
82
+ name: z.string(),
83
+ leave_type_ids: z.array(resourceId),
84
+ allowance_type: z.enum(['days', 'hours']),
85
+ available_days: z.string(),
86
+ days_type: z.string().nullable().optional(),
87
+ timeoff_cycle: z.string(),
88
+ cycle_start: z.string().nullable().optional(),
89
+ cycle_length: z.number().nullable().optional(),
90
+ frequency: z.enum(['monthly_flexible', 'yearly', 'lifetime']).nullable().optional(),
91
+ source_units: z.string().nullable().optional(),
92
+ accrued_units_availability: z.string().nullable().optional(),
93
+ accrued_factor_in_cents: z.number().nullable().optional(),
94
+ accrued_denominator_in_cents: z.number().nullable().optional(),
95
+ holiday_allowance_in_cents: z.number().nullable().optional(),
96
+ maximum_amount_in_cents: z.number().nullable().optional(),
97
+ unlimited_holidays: z.boolean().optional(),
98
+ unlimited_accrued_hours: z.boolean().optional(),
99
+ carry_over_days: z.number().nullable().optional(),
100
+ carry_over_units_in_cents: z.number().nullable().optional(),
101
+ unlimited_carry_over: z.boolean().optional(),
102
+ unlimited_carry_over_expiration: z.boolean().optional(),
103
+ expire_in_months: z.number().nullable().optional(),
104
+ employee_carry_over_starting_year: z.number().nullable().optional(),
105
+ count_holiday_as_workable: z.boolean(),
106
+ negative_counter_type: z.string().nullable().optional(),
107
+ proration_type: z.enum(['proration_enabled', 'proration_disabled']),
108
+ pto_proratio_enabled: z.boolean().optional(),
109
+ range_type: z.string().nullable().optional(),
110
+ rounding: z.enum(['half_day', 'decimals', 'quarters', 'round_up']),
111
+ send_notification: z.boolean().nullable().optional(),
112
+ tenure_periods_enabled: z.boolean().optional(),
113
+ tenure_periods: z.array(z.unknown()).optional(),
114
+ tenure_period_transition: z.string().nullable().optional(),
115
+ position: z.number().nullable().optional(),
116
+ });
117
+ /**
118
+ * Shift schema
119
+ *
120
+ * Only the identifier types were changed for API version 2026-07-01. The
121
+ * remaining fields are known not to match what the live API returns; that
122
+ * rework belongs to the attendance feature and is deliberately left out here.
123
+ */
124
+ export const ShiftSchema = z.object({
125
+ id: resourceId,
126
+ employee_id: resourceId,
127
+ clock_in: z.string(),
128
+ clock_out: z.string().nullable(),
129
+ worked_hours: z.number().nullable(),
130
+ break_minutes: z.number().nullable(),
131
+ location: z.string().nullable(),
132
+ notes: z.string().nullable(),
133
+ created_at: z.string().nullable(),
134
+ updated_at: z.string().nullable(),
135
+ });
136
+ // ============================================================================
137
+ // Write Input Schemas
138
+ // ============================================================================
139
+ /**
140
+ * Leave create input schema
141
+ */
142
+ export const CreateLeaveInputSchema = z.object({
143
+ employee_id: z.number().positive(),
144
+ leave_type_id: z.number().positive(),
145
+ start_on: dateString,
146
+ finish_on: dateString,
147
+ half_day: z.enum(['all_day', 'start', 'finish']).optional(),
148
+ description: z.string().max(500).optional(),
149
+ });
150
+ /**
151
+ * Leave update input schema
152
+ */
153
+ export const UpdateLeaveInputSchema = CreateLeaveInputSchema.partial().omit({ employee_id: true });
154
+ /**
155
+ * Leave approval/rejection input schema
156
+ */
157
+ export const LeaveDecisionInputSchema = z.object({
158
+ reason: z.string().max(500).optional(),
159
+ });
160
+ /**
161
+ * Shift create input schema
162
+ */
163
+ export const CreateShiftInputSchema = z.object({
164
+ employee_id: z.number().positive(),
165
+ clock_in: z.string().datetime(),
166
+ clock_out: z.string().datetime().optional(),
167
+ break_minutes: z.number().min(0).max(480).optional(),
168
+ location: z.string().max(200).optional(),
169
+ notes: z.string().max(500).optional(),
170
+ });
171
+ /**
172
+ * Shift update input schema
173
+ */
174
+ export const UpdateShiftInputSchema = CreateShiftInputSchema.partial().omit({ employee_id: true });
175
+ //# sourceMappingURL=time-off.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time-off.js","sourceRoot":"","sources":["../../src/schemas/time-off.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAErD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,EAAE,EAAE,UAAU;IACd,WAAW,EAAE,UAAU;IACvB,aAAa,EAAE,UAAU;IACzB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3D,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACnD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,mBAAmB,EAAE,CAAC;SACnB,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC;SACD,QAAQ,EAAE;IACb,+DAA+D;IAC/D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAIH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACjD,gHAAgH;IAChH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;IACjC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACzC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAClC,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/C,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACrC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAClC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAClC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACxC,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/C,0BAA0B;IAC1B,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE;IAC7C,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACnD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACpD,CAAC,CAAC;AAIH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,EAAE,EAAE,UAAU;IACd,iBAAiB,EAAE,UAAU;IAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;IACnC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC9C,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACnF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC9C,0BAA0B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5D,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzD,4BAA4B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC9D,0BAA0B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5D,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzD,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC1C,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACjD,yBAAyB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3D,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC5C,+BAA+B,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACvD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClD,iCAAiC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACnE,yBAAyB,EAAE,CAAC,CAAC,OAAO,EAAE;IACtC,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACvD,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;IACnE,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC5C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5C,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAClE,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACpD,sBAAsB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9C,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC/C,wBAAwB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC1D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAIH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,EAAE,EAAE,UAAU;IACd,WAAW,EAAE,UAAU;IACvB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAIH,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,UAAU;IACrB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;AAInG;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACpD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC"}