@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,327 @@
1
+ /**
2
+ * Training schemas: Training, TrainingSession, TrainingMembership
3
+ */
4
+ import { z } from 'zod';
5
+ /**
6
+ * Training schema
7
+ *
8
+ * Response field set taken from the 2026-07-01 reference; the verification
9
+ * tenant has no trainings, so it could not be checked against a live record.
10
+ * Note that the cost totals are serialised as decimal strings.
11
+ */
12
+ export declare const TrainingSchema: z.ZodObject<{
13
+ id: z.ZodString;
14
+ company_id: z.ZodOptional<z.ZodString>;
15
+ author_id: z.ZodOptional<z.ZodString>;
16
+ author_employee_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
17
+ name: z.ZodString;
18
+ code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
19
+ description: z.ZodNullable<z.ZodString>;
20
+ objectives: z.ZodOptional<z.ZodNullable<z.ZodString>>;
21
+ status: z.ZodOptional<z.ZodNullable<z.ZodEnum<["draft", "active", "deleted"]>>>;
22
+ catalog: z.ZodOptional<z.ZodBoolean>;
23
+ external: z.ZodOptional<z.ZodBoolean>;
24
+ external_provider: z.ZodOptional<z.ZodNullable<z.ZodString>>;
25
+ year: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
26
+ category_ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
27
+ competency_ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
28
+ is_mandatory: z.ZodOptional<z.ZodBoolean>;
29
+ total_duration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
30
+ valid_for: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
31
+ subsidized: z.ZodNullable<z.ZodBoolean>;
32
+ fundae_subsidized: z.ZodOptional<z.ZodBoolean>;
33
+ cost: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
34
+ subsidized_cost: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
35
+ total_cost: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
36
+ cost_decimal: z.ZodOptional<z.ZodNullable<z.ZodString>>;
37
+ subsidized_cost_decimal: z.ZodOptional<z.ZodNullable<z.ZodString>>;
38
+ total_cost_decimal: z.ZodOptional<z.ZodNullable<z.ZodString>>;
39
+ total_training_cost: z.ZodOptional<z.ZodNullable<z.ZodString>>;
40
+ total_training_indirect_cost: z.ZodOptional<z.ZodNullable<z.ZodString>>;
41
+ total_training_salary_cost: z.ZodOptional<z.ZodNullable<z.ZodString>>;
42
+ total_training_subsidized_cost: z.ZodOptional<z.ZodNullable<z.ZodString>>;
43
+ total_participants: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
44
+ number_of_expired_participants: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
45
+ training_attendance_status: z.ZodOptional<z.ZodNullable<z.ZodEnum<["notassigned", "notstarted", "missing", "started", "partiallycompleted", "completed"]>>>;
46
+ created_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
47
+ updated_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
48
+ }, "strip", z.ZodTypeAny, {
49
+ id: string;
50
+ name: string;
51
+ description: string | null;
52
+ subsidized: boolean | null;
53
+ code?: string | null | undefined;
54
+ status?: "active" | "draft" | "deleted" | null | undefined;
55
+ company_id?: string | undefined;
56
+ created_at?: string | null | undefined;
57
+ updated_at?: string | null | undefined;
58
+ year?: number | null | undefined;
59
+ author_id?: string | undefined;
60
+ author_employee_id?: string | null | undefined;
61
+ objectives?: string | null | undefined;
62
+ catalog?: boolean | undefined;
63
+ external?: boolean | undefined;
64
+ external_provider?: string | null | undefined;
65
+ category_ids?: string[] | undefined;
66
+ competency_ids?: string[] | undefined;
67
+ is_mandatory?: boolean | undefined;
68
+ total_duration?: number | null | undefined;
69
+ valid_for?: number | null | undefined;
70
+ fundae_subsidized?: boolean | undefined;
71
+ cost?: number | null | undefined;
72
+ subsidized_cost?: number | null | undefined;
73
+ total_cost?: number | null | undefined;
74
+ cost_decimal?: string | null | undefined;
75
+ subsidized_cost_decimal?: string | null | undefined;
76
+ total_cost_decimal?: string | null | undefined;
77
+ total_training_cost?: string | null | undefined;
78
+ total_training_indirect_cost?: string | null | undefined;
79
+ total_training_salary_cost?: string | null | undefined;
80
+ total_training_subsidized_cost?: string | null | undefined;
81
+ total_participants?: number | null | undefined;
82
+ number_of_expired_participants?: number | null | undefined;
83
+ training_attendance_status?: "completed" | "notassigned" | "notstarted" | "missing" | "started" | "partiallycompleted" | null | undefined;
84
+ }, {
85
+ id: string;
86
+ name: string;
87
+ description: string | null;
88
+ subsidized: boolean | null;
89
+ code?: string | null | undefined;
90
+ status?: "active" | "draft" | "deleted" | null | undefined;
91
+ company_id?: string | undefined;
92
+ created_at?: string | null | undefined;
93
+ updated_at?: string | null | undefined;
94
+ year?: number | null | undefined;
95
+ author_id?: string | undefined;
96
+ author_employee_id?: string | null | undefined;
97
+ objectives?: string | null | undefined;
98
+ catalog?: boolean | undefined;
99
+ external?: boolean | undefined;
100
+ external_provider?: string | null | undefined;
101
+ category_ids?: string[] | undefined;
102
+ competency_ids?: string[] | undefined;
103
+ is_mandatory?: boolean | undefined;
104
+ total_duration?: number | null | undefined;
105
+ valid_for?: number | null | undefined;
106
+ fundae_subsidized?: boolean | undefined;
107
+ cost?: number | null | undefined;
108
+ subsidized_cost?: number | null | undefined;
109
+ total_cost?: number | null | undefined;
110
+ cost_decimal?: string | null | undefined;
111
+ subsidized_cost_decimal?: string | null | undefined;
112
+ total_cost_decimal?: string | null | undefined;
113
+ total_training_cost?: string | null | undefined;
114
+ total_training_indirect_cost?: string | null | undefined;
115
+ total_training_salary_cost?: string | null | undefined;
116
+ total_training_subsidized_cost?: string | null | undefined;
117
+ total_participants?: number | null | undefined;
118
+ number_of_expired_participants?: number | null | undefined;
119
+ training_attendance_status?: "completed" | "notassigned" | "notstarted" | "missing" | "started" | "partiallycompleted" | null | undefined;
120
+ }>;
121
+ export type Training = z.infer<typeof TrainingSchema>;
122
+ /**
123
+ * Training create input schema
124
+ */
125
+ export declare const CreateTrainingInputSchema: z.ZodObject<{
126
+ name: z.ZodString;
127
+ description: z.ZodOptional<z.ZodString>;
128
+ category_id: z.ZodOptional<z.ZodNumber>;
129
+ subsidized: z.ZodOptional<z.ZodBoolean>;
130
+ }, "strip", z.ZodTypeAny, {
131
+ name: string;
132
+ description?: string | undefined;
133
+ subsidized?: boolean | undefined;
134
+ category_id?: number | undefined;
135
+ }, {
136
+ name: string;
137
+ description?: string | undefined;
138
+ subsidized?: boolean | undefined;
139
+ category_id?: number | undefined;
140
+ }>;
141
+ export type CreateTrainingInput = z.infer<typeof CreateTrainingInputSchema>;
142
+ /**
143
+ * Training update input schema
144
+ */
145
+ export declare const UpdateTrainingInputSchema: z.ZodObject<{
146
+ name: z.ZodOptional<z.ZodString>;
147
+ description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
148
+ category_id: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
149
+ subsidized: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
150
+ }, "strip", z.ZodTypeAny, {
151
+ name?: string | undefined;
152
+ description?: string | undefined;
153
+ subsidized?: boolean | undefined;
154
+ category_id?: number | undefined;
155
+ }, {
156
+ name?: string | undefined;
157
+ description?: string | undefined;
158
+ subsidized?: boolean | undefined;
159
+ category_id?: number | undefined;
160
+ }>;
161
+ export type UpdateTrainingInput = z.infer<typeof UpdateTrainingInputSchema>;
162
+ /**
163
+ * Training Session schema
164
+ *
165
+ * Response field set taken from the 2026-07-01 reference; the verification
166
+ * tenant has no sessions, so it could not be checked against a live record.
167
+ */
168
+ export declare const TrainingSessionSchema: z.ZodObject<{
169
+ id: z.ZodString;
170
+ training_id: z.ZodString;
171
+ training_class_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
172
+ parent_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
173
+ session_feedback_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
174
+ session_attendance_ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
175
+ name: z.ZodNullable<z.ZodString>;
176
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
177
+ starts_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
178
+ ends_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
179
+ due_date: z.ZodOptional<z.ZodNullable<z.ZodString>>;
180
+ duration: z.ZodOptional<z.ZodNullable<z.ZodString>>;
181
+ modality: z.ZodOptional<z.ZodNullable<z.ZodEnum<["online", "inperson", "mixed"]>>>;
182
+ schedule: z.ZodOptional<z.ZodNullable<z.ZodEnum<["scheduled", "selfpaced"]>>>;
183
+ link: z.ZodOptional<z.ZodNullable<z.ZodString>>;
184
+ location: z.ZodNullable<z.ZodString>;
185
+ status: z.ZodOptional<z.ZodNullable<z.ZodString>>;
186
+ subsidized: z.ZodOptional<z.ZodBoolean>;
187
+ }, "strip", z.ZodTypeAny, {
188
+ id: string;
189
+ name: string | null;
190
+ location: string | null;
191
+ training_id: string;
192
+ status?: string | null | undefined;
193
+ description?: string | null | undefined;
194
+ due_date?: string | null | undefined;
195
+ subsidized?: boolean | undefined;
196
+ training_class_id?: string | null | undefined;
197
+ parent_id?: string | null | undefined;
198
+ session_feedback_id?: string | null | undefined;
199
+ session_attendance_ids?: string[] | undefined;
200
+ starts_at?: string | null | undefined;
201
+ ends_at?: string | null | undefined;
202
+ duration?: string | null | undefined;
203
+ modality?: "online" | "inperson" | "mixed" | null | undefined;
204
+ schedule?: "scheduled" | "selfpaced" | null | undefined;
205
+ link?: string | null | undefined;
206
+ }, {
207
+ id: string;
208
+ name: string | null;
209
+ location: string | null;
210
+ training_id: string;
211
+ status?: string | null | undefined;
212
+ description?: string | null | undefined;
213
+ due_date?: string | null | undefined;
214
+ subsidized?: boolean | undefined;
215
+ training_class_id?: string | null | undefined;
216
+ parent_id?: string | null | undefined;
217
+ session_feedback_id?: string | null | undefined;
218
+ session_attendance_ids?: string[] | undefined;
219
+ starts_at?: string | null | undefined;
220
+ ends_at?: string | null | undefined;
221
+ duration?: string | null | undefined;
222
+ modality?: "online" | "inperson" | "mixed" | null | undefined;
223
+ schedule?: "scheduled" | "selfpaced" | null | undefined;
224
+ link?: string | null | undefined;
225
+ }>;
226
+ export type TrainingSession = z.infer<typeof TrainingSessionSchema>;
227
+ /**
228
+ * Training Session create input schema
229
+ */
230
+ export declare const CreateTrainingSessionInputSchema: z.ZodObject<{
231
+ training_id: z.ZodNumber;
232
+ name: z.ZodOptional<z.ZodString>;
233
+ start_date: z.ZodOptional<z.ZodString>;
234
+ end_date: z.ZodOptional<z.ZodString>;
235
+ location: z.ZodOptional<z.ZodString>;
236
+ max_attendees: z.ZodOptional<z.ZodNumber>;
237
+ }, "strip", z.ZodTypeAny, {
238
+ training_id: number;
239
+ name?: string | undefined;
240
+ start_date?: string | undefined;
241
+ location?: string | undefined;
242
+ end_date?: string | undefined;
243
+ max_attendees?: number | undefined;
244
+ }, {
245
+ training_id: number;
246
+ name?: string | undefined;
247
+ start_date?: string | undefined;
248
+ location?: string | undefined;
249
+ end_date?: string | undefined;
250
+ max_attendees?: number | undefined;
251
+ }>;
252
+ export type CreateTrainingSessionInput = z.infer<typeof CreateTrainingSessionInputSchema>;
253
+ /**
254
+ * Training Session update input schema
255
+ */
256
+ export declare const UpdateTrainingSessionInputSchema: z.ZodObject<Omit<{
257
+ training_id: z.ZodOptional<z.ZodNumber>;
258
+ name: z.ZodOptional<z.ZodOptional<z.ZodString>>;
259
+ start_date: z.ZodOptional<z.ZodOptional<z.ZodString>>;
260
+ end_date: z.ZodOptional<z.ZodOptional<z.ZodString>>;
261
+ location: z.ZodOptional<z.ZodOptional<z.ZodString>>;
262
+ max_attendees: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
263
+ }, "training_id">, "strip", z.ZodTypeAny, {
264
+ name?: string | undefined;
265
+ start_date?: string | undefined;
266
+ location?: string | undefined;
267
+ end_date?: string | undefined;
268
+ max_attendees?: number | undefined;
269
+ }, {
270
+ name?: string | undefined;
271
+ start_date?: string | undefined;
272
+ location?: string | undefined;
273
+ end_date?: string | undefined;
274
+ max_attendees?: number | undefined;
275
+ }>;
276
+ export type UpdateTrainingSessionInput = z.infer<typeof UpdateTrainingSessionInputSchema>;
277
+ /**
278
+ * Training Membership (Enrollment) schema
279
+ *
280
+ * Response field set taken from the 2026-07-01 reference for
281
+ * /trainings/training_memberships; the verification tenant has no trainings,
282
+ * so it could not be checked against a live record.
283
+ */
284
+ export declare const TrainingMembershipSchema: z.ZodObject<{
285
+ id: z.ZodString;
286
+ training_id: z.ZodString;
287
+ employee_id: z.ZodString;
288
+ access_id: z.ZodOptional<z.ZodString>;
289
+ status: z.ZodOptional<z.ZodNullable<z.ZodEnum<["notassigned", "notstarted", "missing", "started", "partiallycompleted", "completed"]>>>;
290
+ training_due_date: z.ZodOptional<z.ZodNullable<z.ZodString>>;
291
+ training_completed_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
292
+ }, "strip", z.ZodTypeAny, {
293
+ id: string;
294
+ employee_id: string;
295
+ training_id: string;
296
+ status?: "completed" | "notassigned" | "notstarted" | "missing" | "started" | "partiallycompleted" | null | undefined;
297
+ access_id?: string | undefined;
298
+ training_due_date?: string | null | undefined;
299
+ training_completed_at?: string | null | undefined;
300
+ }, {
301
+ id: string;
302
+ employee_id: string;
303
+ training_id: string;
304
+ status?: "completed" | "notassigned" | "notstarted" | "missing" | "started" | "partiallycompleted" | null | undefined;
305
+ access_id?: string | undefined;
306
+ training_due_date?: string | null | undefined;
307
+ training_completed_at?: string | null | undefined;
308
+ }>;
309
+ export type TrainingMembership = z.infer<typeof TrainingMembershipSchema>;
310
+ /**
311
+ * Training enrollment input schema
312
+ */
313
+ export declare const EnrollTrainingInputSchema: z.ZodObject<{
314
+ training_id: z.ZodNumber;
315
+ employee_id: z.ZodNumber;
316
+ session_id: z.ZodOptional<z.ZodNumber>;
317
+ }, "strip", z.ZodTypeAny, {
318
+ employee_id: number;
319
+ training_id: number;
320
+ session_id?: number | undefined;
321
+ }, {
322
+ employee_id: number;
323
+ training_id: number;
324
+ session_id?: number | undefined;
325
+ }>;
326
+ export type EnrollTrainingInput = z.infer<typeof EnrollTrainingInputSchema>;
327
+ //# sourceMappingURL=training.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"training.d.ts","sourceRoot":"","sources":["../../src/schemas/training.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyCzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;EAKpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;EAAsC,CAAC;AAE7E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;EAO3C,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F;;GAEG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;EAE3C,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;EAWnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;EAIpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Training schemas: Training, TrainingSession, TrainingMembership
3
+ */
4
+ import { z } from 'zod';
5
+ import { dateString, resourceId } from './shared.js';
6
+ /**
7
+ * Training schema
8
+ *
9
+ * Response field set taken from the 2026-07-01 reference; the verification
10
+ * tenant has no trainings, so it could not be checked against a live record.
11
+ * Note that the cost totals are serialised as decimal strings.
12
+ */
13
+ export const TrainingSchema = z.object({
14
+ id: resourceId,
15
+ company_id: resourceId.optional(),
16
+ author_id: resourceId.optional(),
17
+ // Added in API 2026-07-01
18
+ author_employee_id: resourceId.nullable().optional(),
19
+ name: z.string(),
20
+ code: z.string().nullable().optional(),
21
+ description: z.string().nullable(),
22
+ objectives: z.string().nullable().optional(),
23
+ status: z.enum(['draft', 'active', 'deleted']).nullable().optional(),
24
+ catalog: z.boolean().optional(),
25
+ external: z.boolean().optional(),
26
+ external_provider: z.string().nullable().optional(),
27
+ year: z.number().nullable().optional(),
28
+ category_ids: z.array(resourceId).optional(),
29
+ competency_ids: z.array(resourceId).optional(),
30
+ // Added in API 2026-01-01
31
+ is_mandatory: z.boolean().optional(),
32
+ total_duration: z.number().nullable().optional(),
33
+ valid_for: z.number().nullable().optional(),
34
+ subsidized: z.boolean().nullable(),
35
+ fundae_subsidized: z.boolean().optional(),
36
+ cost: z.number().nullable().optional(),
37
+ subsidized_cost: z.number().nullable().optional(),
38
+ total_cost: z.number().nullable().optional(),
39
+ cost_decimal: z.string().nullable().optional(),
40
+ subsidized_cost_decimal: z.string().nullable().optional(),
41
+ total_cost_decimal: z.string().nullable().optional(),
42
+ total_training_cost: z.string().nullable().optional(),
43
+ total_training_indirect_cost: z.string().nullable().optional(),
44
+ total_training_salary_cost: z.string().nullable().optional(),
45
+ total_training_subsidized_cost: z.string().nullable().optional(),
46
+ total_participants: z.number().nullable().optional(),
47
+ number_of_expired_participants: z.number().nullable().optional(),
48
+ training_attendance_status: z
49
+ .enum(['notassigned', 'notstarted', 'missing', 'started', 'partiallycompleted', 'completed'])
50
+ .nullable()
51
+ .optional(),
52
+ created_at: z.string().nullable().optional(),
53
+ updated_at: z.string().nullable().optional(),
54
+ });
55
+ /**
56
+ * Training create input schema
57
+ */
58
+ export const CreateTrainingInputSchema = z.object({
59
+ name: z.string().min(1).max(100),
60
+ description: z.string().max(1000).optional(),
61
+ category_id: z.number().positive().optional(),
62
+ subsidized: z.boolean().optional(),
63
+ });
64
+ /**
65
+ * Training update input schema
66
+ */
67
+ export const UpdateTrainingInputSchema = CreateTrainingInputSchema.partial();
68
+ /**
69
+ * Training Session schema
70
+ *
71
+ * Response field set taken from the 2026-07-01 reference; the verification
72
+ * tenant has no sessions, so it could not be checked against a live record.
73
+ */
74
+ export const TrainingSessionSchema = z.object({
75
+ id: resourceId,
76
+ training_id: resourceId,
77
+ training_class_id: resourceId.nullable().optional(),
78
+ parent_id: resourceId.nullable().optional(),
79
+ session_feedback_id: resourceId.nullable().optional(),
80
+ session_attendance_ids: z.array(resourceId).optional(),
81
+ name: z.string().nullable(),
82
+ description: z.string().nullable().optional(),
83
+ starts_at: z.string().nullable().optional(),
84
+ ends_at: z.string().nullable().optional(),
85
+ due_date: z.string().nullable().optional(),
86
+ duration: z.string().nullable().optional(),
87
+ modality: z.enum(['online', 'inperson', 'mixed']).nullable().optional(),
88
+ schedule: z.enum(['scheduled', 'selfpaced']).nullable().optional(),
89
+ link: z.string().nullable().optional(),
90
+ location: z.string().nullable(),
91
+ status: z.string().nullable().optional(),
92
+ subsidized: z.boolean().optional(),
93
+ });
94
+ /**
95
+ * Training Session create input schema
96
+ */
97
+ export const CreateTrainingSessionInputSchema = z.object({
98
+ training_id: z.number().positive(),
99
+ name: z.string().max(100).optional(),
100
+ start_date: dateString.optional(),
101
+ end_date: dateString.optional(),
102
+ location: z.string().max(200).optional(),
103
+ max_attendees: z.number().positive().optional(),
104
+ });
105
+ /**
106
+ * Training Session update input schema
107
+ */
108
+ export const UpdateTrainingSessionInputSchema = CreateTrainingSessionInputSchema.partial().omit({
109
+ training_id: true,
110
+ });
111
+ /**
112
+ * Training Membership (Enrollment) schema
113
+ *
114
+ * Response field set taken from the 2026-07-01 reference for
115
+ * /trainings/training_memberships; the verification tenant has no trainings,
116
+ * so it could not be checked against a live record.
117
+ */
118
+ export const TrainingMembershipSchema = z.object({
119
+ id: resourceId,
120
+ training_id: resourceId,
121
+ employee_id: resourceId,
122
+ access_id: resourceId.optional(),
123
+ status: z
124
+ .enum(['notassigned', 'notstarted', 'missing', 'started', 'partiallycompleted', 'completed'])
125
+ .nullable()
126
+ .optional(),
127
+ training_due_date: z.string().nullable().optional(),
128
+ training_completed_at: z.string().nullable().optional(),
129
+ });
130
+ /**
131
+ * Training enrollment input schema
132
+ */
133
+ export const EnrollTrainingInputSchema = z.object({
134
+ training_id: z.number().positive(),
135
+ employee_id: z.number().positive(),
136
+ session_id: z.number().positive().optional(),
137
+ });
138
+ //# sourceMappingURL=training.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"training.js","sourceRoot":"","sources":["../../src/schemas/training.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Work Area schemas
3
+ *
4
+ * Response field set taken from the 2026-07-01 reference for
5
+ * /locations/work_areas; the verification tenant has no work areas, so it
6
+ * could not be checked against a live record.
7
+ */
8
+ import { z } from 'zod';
9
+ /**
10
+ * Work Area schema
11
+ */
12
+ export declare const WorkAreaSchema: z.ZodObject<{
13
+ id: z.ZodString;
14
+ location_id: z.ZodString;
15
+ name: z.ZodString;
16
+ /** Set when the work area is archived; null while it is active */
17
+ archived_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
18
+ }, "strip", z.ZodTypeAny, {
19
+ id: string;
20
+ location_id: string;
21
+ name: string;
22
+ archived_at?: string | null | undefined;
23
+ }, {
24
+ id: string;
25
+ location_id: string;
26
+ name: string;
27
+ archived_at?: string | null | undefined;
28
+ }>;
29
+ export type WorkArea = z.infer<typeof WorkAreaSchema>;
30
+ /**
31
+ * Work Area create input schema
32
+ */
33
+ export declare const CreateWorkAreaInputSchema: z.ZodObject<{
34
+ name: z.ZodString;
35
+ description: z.ZodOptional<z.ZodString>;
36
+ location_id: z.ZodOptional<z.ZodNumber>;
37
+ }, "strip", z.ZodTypeAny, {
38
+ name: string;
39
+ location_id?: number | undefined;
40
+ description?: string | undefined;
41
+ }, {
42
+ name: string;
43
+ location_id?: number | undefined;
44
+ description?: string | undefined;
45
+ }>;
46
+ export type CreateWorkAreaInput = z.infer<typeof CreateWorkAreaInputSchema>;
47
+ /**
48
+ * Work Area update input schema
49
+ */
50
+ export declare const UpdateWorkAreaInputSchema: z.ZodObject<{
51
+ name: z.ZodOptional<z.ZodString>;
52
+ description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
53
+ location_id: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
54
+ }, "strip", z.ZodTypeAny, {
55
+ location_id?: number | undefined;
56
+ name?: string | undefined;
57
+ description?: string | undefined;
58
+ }, {
59
+ location_id?: number | undefined;
60
+ name?: string | undefined;
61
+ description?: string | undefined;
62
+ }>;
63
+ export type UpdateWorkAreaInput = z.infer<typeof UpdateWorkAreaInputSchema>;
64
+ //# sourceMappingURL=work-areas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"work-areas.d.ts","sourceRoot":"","sources":["../../src/schemas/work-areas.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;GAEG;AACH,eAAO,MAAM,cAAc;;;;IAIzB,kEAAkE;;;;;;;;;;;;EAElE,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;EAIpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;EAAsC,CAAC;AAE7E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Work Area schemas
3
+ *
4
+ * Response field set taken from the 2026-07-01 reference for
5
+ * /locations/work_areas; the verification tenant has no work areas, so it
6
+ * could not be checked against a live record.
7
+ */
8
+ import { z } from 'zod';
9
+ import { resourceId } from './shared.js';
10
+ /**
11
+ * Work Area schema
12
+ */
13
+ export const WorkAreaSchema = z.object({
14
+ id: resourceId,
15
+ location_id: resourceId,
16
+ name: z.string(),
17
+ /** Set when the work area is archived; null while it is active */
18
+ archived_at: z.string().nullable().optional(),
19
+ });
20
+ /**
21
+ * Work Area create input schema
22
+ */
23
+ export const CreateWorkAreaInputSchema = z.object({
24
+ name: z.string().min(1).max(100),
25
+ description: z.string().max(500).optional(),
26
+ location_id: z.number().positive().optional(),
27
+ });
28
+ /**
29
+ * Work Area update input schema
30
+ */
31
+ export const UpdateWorkAreaInputSchema = CreateWorkAreaInputSchema.partial();
32
+ //# sourceMappingURL=work-areas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"work-areas.js","sourceRoot":"","sources":["../../src/schemas/work-areas.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,EAAE,EAAE,UAAU;IACd,WAAW,EAAE,UAAU;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,kEAAkE;IAClE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,yBAAyB,CAAC,OAAO,EAAE,CAAC"}