@upsales/schemas 0.1.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.
package/dist/index.js ADDED
@@ -0,0 +1,1492 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var index_exports = {};
22
+ __export(index_exports, {
23
+ ActivitySchema: () => ActivitySchema,
24
+ AddressSchema: () => AddressSchema,
25
+ AddressTypeSchema: () => AddressTypeSchema,
26
+ AgreementSchema: () => AgreementSchema,
27
+ AppointmentSchema: () => AppointmentSchema,
28
+ CategorySchema: () => CategorySchema,
29
+ ClientSchema: () => ClientSchema,
30
+ ContactSchema: () => ContactSchema,
31
+ CreateActivitySchema: () => CreateActivitySchema,
32
+ CreateAgreementSchema: () => CreateAgreementSchema,
33
+ CreateAppointmentSchema: () => CreateAppointmentSchema,
34
+ CreateClientSchema: () => CreateClientSchema,
35
+ CreateContactSchema: () => CreateContactSchema,
36
+ CreateMailSchema: () => CreateMailSchema,
37
+ CreateOpportunitySchema: () => CreateOpportunitySchema,
38
+ CreateOrderSchema: () => CreateOrderSchema,
39
+ CreateProductSchema: () => CreateProductSchema,
40
+ CreateProjectPlanSchema: () => CreateProjectPlanSchema,
41
+ CreateSocialEventSchema: () => CreateSocialEventSchema,
42
+ CreateTicketSchema: () => CreateTicketSchema,
43
+ CreateUserSchema: () => CreateUserSchema,
44
+ CustomFieldSchema: () => CustomFieldSchema,
45
+ IdNameSchema: () => IdNameSchema,
46
+ MailSchema: () => MailSchema,
47
+ OpportunitySchema: () => OpportunitySchema,
48
+ OrderSchema: () => OrderSchema,
49
+ ProductSchema: () => ProductSchema,
50
+ ProjectPlanSchema: () => ProjectPlanSchema,
51
+ QuotaSchema: () => QuotaSchema,
52
+ SocialEventSchema: () => SocialEventSchema,
53
+ TicketSchema: () => TicketSchema,
54
+ UpdateActivitySchema: () => UpdateActivitySchema,
55
+ UpdateAgreementSchema: () => UpdateAgreementSchema,
56
+ UpdateAppointmentSchema: () => UpdateAppointmentSchema,
57
+ UpdateClientSchema: () => UpdateClientSchema,
58
+ UpdateContactSchema: () => UpdateContactSchema,
59
+ UpdateMailSchema: () => UpdateMailSchema,
60
+ UpdateOpportunitySchema: () => UpdateOpportunitySchema,
61
+ UpdateOrderSchema: () => UpdateOrderSchema,
62
+ UpdateProductSchema: () => UpdateProductSchema,
63
+ UpdateProjectPlanSchema: () => UpdateProjectPlanSchema,
64
+ UpdateSocialEventSchema: () => UpdateSocialEventSchema,
65
+ UpdateTicketSchema: () => UpdateTicketSchema,
66
+ UpdateUserSchema: () => UpdateUserSchema,
67
+ UserSchema: () => UserSchema
68
+ });
69
+ module.exports = __toCommonJS(index_exports);
70
+
71
+ // src/shared.ts
72
+ var import_zod = require("zod");
73
+ var AddressTypeSchema = import_zod.z.enum(["Mail", "Visit", "Invoice", "Delivery", "Other"]);
74
+ var AddressSchema = import_zod.z.object({
75
+ zipcode: import_zod.z.string().nullable(),
76
+ city: import_zod.z.string().nullable(),
77
+ state: import_zod.z.string().nullable(),
78
+ address: import_zod.z.string().nullable(),
79
+ type: AddressTypeSchema,
80
+ country: import_zod.z.string().nullable(),
81
+ latitude: import_zod.z.number().nullable(),
82
+ longitude: import_zod.z.number().nullable()
83
+ });
84
+ var IdNameSchema = import_zod.z.object({
85
+ id: import_zod.z.number().int(),
86
+ name: import_zod.z.string()
87
+ });
88
+ var CategorySchema = import_zod.z.object({
89
+ id: import_zod.z.number().int(),
90
+ name: import_zod.z.string().optional()
91
+ });
92
+ var CustomFieldSchema = import_zod.z.object({
93
+ fieldId: import_zod.z.number().int(),
94
+ value: import_zod.z.unknown()
95
+ });
96
+ var QuotaSchema = import_zod.z.object({
97
+ id: import_zod.z.number().int(),
98
+ currency: import_zod.z.string(),
99
+ currencyRate: import_zod.z.number(),
100
+ period: import_zod.z.string(),
101
+ quota: import_zod.z.number(),
102
+ type: import_zod.z.unknown(),
103
+ userId: import_zod.z.number().int().nullable(),
104
+ periodType: import_zod.z.enum(["yearly", "quarterly", "monthly"])
105
+ });
106
+
107
+ // src/client.ts
108
+ var import_zod2 = require("zod");
109
+ var ClientUserSchema = import_zod2.z.object({
110
+ id: import_zod2.z.number().int(),
111
+ name: import_zod2.z.string(),
112
+ role: import_zod2.z.string().optional(),
113
+ email: import_zod2.z.string().optional()
114
+ });
115
+ var ConnectedClientSchema = import_zod2.z.object({
116
+ id: import_zod2.z.number().int(),
117
+ clientId: import_zod2.z.number().int(),
118
+ relatedToClientId: import_zod2.z.number().int(),
119
+ name: import_zod2.z.string(),
120
+ description: import_zod2.z.string(),
121
+ descriptionChildParent: import_zod2.z.string()
122
+ });
123
+ var GrowthSchema = import_zod2.z.object({
124
+ salesLast12Months: import_zod2.z.number(),
125
+ cmLast12Months: import_zod2.z.number(),
126
+ salesTrend12Months: import_zod2.z.number(),
127
+ cmTrend12Months: import_zod2.z.number(),
128
+ arrLast12Months: import_zod2.z.number(),
129
+ mrrLast12Months: import_zod2.z.number(),
130
+ arr: import_zod2.z.number(),
131
+ arrTotal: import_zod2.z.number(),
132
+ mrr: import_zod2.z.number(),
133
+ arrOneYearAgo: import_zod2.z.number(),
134
+ mrrOneYearAgo: import_zod2.z.number(),
135
+ salesPercentOfTurnover: import_zod2.z.number(),
136
+ arrPercentOfTurnover: import_zod2.z.number(),
137
+ mrrPercentOfTurnover: import_zod2.z.number(),
138
+ cmPercentOfTurnover: import_zod2.z.number()
139
+ }).nullable();
140
+ var ClientSchema = import_zod2.z.object({
141
+ // Identity
142
+ id: import_zod2.z.number().int(),
143
+ name: import_zod2.z.string().max(100),
144
+ // Contact info
145
+ phone: import_zod2.z.string().max(30).nullable(),
146
+ phoneCountryCode: import_zod2.z.string().max(2).nullable(),
147
+ fax: import_zod2.z.string().max(30).nullable(),
148
+ webpage: import_zod2.z.string().max(255).nullable(),
149
+ // Status
150
+ active: import_zod2.z.union([import_zod2.z.literal(0), import_zod2.z.literal(1)]),
151
+ journeyStep: import_zod2.z.string().max(100).nullable(),
152
+ score: import_zod2.z.number().int(),
153
+ isExternal: import_zod2.z.number().int(),
154
+ // Organization info
155
+ orgNo: import_zod2.z.string().max(32).nullable(),
156
+ registrationDate: import_zod2.z.string().nullable(),
157
+ status: import_zod2.z.string().max(32).nullable(),
158
+ companyForm: import_zod2.z.string().max(32).nullable(),
159
+ sniCode: import_zod2.z.string().max(10).nullable(),
160
+ sicCode: import_zod2.z.string().max(6).nullable(),
161
+ naicsCode: import_zod2.z.string().max(6).nullable(),
162
+ ukSicCode: import_zod2.z.string().max(5).nullable(),
163
+ naceCode: import_zod2.z.string().max(6).nullable(),
164
+ cfar: import_zod2.z.string().nullable(),
165
+ dunsNo: import_zod2.z.string().max(10).nullable(),
166
+ currency: import_zod2.z.string().max(3).nullable(),
167
+ // Financial
168
+ turnover: import_zod2.z.number().nullable(),
169
+ profit: import_zod2.z.number().nullable(),
170
+ noEmployees: import_zod2.z.number().nullable(),
171
+ creditRating: import_zod2.z.string().max(28).nullable(),
172
+ prospectingCreditRating: import_zod2.z.string().max(8).nullable(),
173
+ prospectingNumericCreditRating: import_zod2.z.number().nullable(),
174
+ probabilityOfDefault: import_zod2.z.number().nullable(),
175
+ // Social
176
+ facebook: import_zod2.z.string().max(256).nullable(),
177
+ twitter: import_zod2.z.string().max(256).nullable(),
178
+ linkedin: import_zod2.z.string().max(256).nullable(),
179
+ // Text fields
180
+ notes: import_zod2.z.string().nullable(),
181
+ about: import_zod2.z.string().nullable(),
182
+ // Dates
183
+ regDate: import_zod2.z.string(),
184
+ deactivationDate: import_zod2.z.string().nullable(),
185
+ deactivatedBy: import_zod2.z.number().nullable(),
186
+ deactivationReason: import_zod2.z.string().max(256).nullable(),
187
+ monitorChangeDate: import_zod2.z.string().nullable(),
188
+ // Relations
189
+ parent: IdNameSchema.nullable(),
190
+ operationalAccount: IdNameSchema.nullable(),
191
+ users: import_zod2.z.array(ClientUserSchema),
192
+ categories: import_zod2.z.array(CategorySchema),
193
+ projects: import_zod2.z.array(IdNameSchema),
194
+ addresses: import_zod2.z.array(AddressSchema),
195
+ connectedClients: import_zod2.z.array(ConnectedClientSchema),
196
+ custom: import_zod2.z.array(CustomFieldSchema),
197
+ clientQuotas: import_zod2.z.array(QuotaSchema),
198
+ // Prospecting
199
+ prospectingId: import_zod2.z.string().nullable(),
200
+ autoMatchedProspectingId: import_zod2.z.string().nullable(),
201
+ isMonitored: import_zod2.z.boolean(),
202
+ excludedFromProspectingMonitor: import_zod2.z.boolean(),
203
+ // Computed / read-only
204
+ regBy: import_zod2.z.unknown(),
205
+ userEditable: import_zod2.z.boolean(),
206
+ userRemovable: import_zod2.z.boolean(),
207
+ growth: GrowthSchema.optional(),
208
+ priceListId: import_zod2.z.number().nullable(),
209
+ // Activity tracking
210
+ hasActivity: import_zod2.z.string().nullable().optional(),
211
+ hadActivity: import_zod2.z.string().nullable().optional(),
212
+ hasAppointment: import_zod2.z.string().nullable().optional(),
213
+ hadAppointment: import_zod2.z.string().nullable().optional(),
214
+ hasOpportunity: import_zod2.z.string().nullable().optional(),
215
+ hadOpportunity: import_zod2.z.string().nullable().optional(),
216
+ hasOrder: import_zod2.z.string().nullable().optional(),
217
+ hadOrder: import_zod2.z.string().nullable().optional()
218
+ });
219
+ var CreateClientSchema = import_zod2.z.object({
220
+ name: import_zod2.z.string().min(1).max(100),
221
+ // Contact info
222
+ phone: import_zod2.z.string().max(30).nullable().optional(),
223
+ phoneCountryCode: import_zod2.z.string().max(2).nullable().optional(),
224
+ fax: import_zod2.z.string().max(30).nullable().optional(),
225
+ webpage: import_zod2.z.string().max(255).nullable().optional(),
226
+ // Status
227
+ active: import_zod2.z.union([import_zod2.z.literal(0), import_zod2.z.literal(1)]).optional(),
228
+ journeyStep: import_zod2.z.string().max(100).nullable().optional(),
229
+ // Organization
230
+ orgNo: import_zod2.z.string().max(32).nullable().optional(),
231
+ registrationDate: import_zod2.z.string().nullable().optional(),
232
+ status: import_zod2.z.string().max(32).nullable().optional(),
233
+ companyForm: import_zod2.z.string().max(32).nullable().optional(),
234
+ sniCode: import_zod2.z.string().max(10).nullable().optional(),
235
+ sicCode: import_zod2.z.string().max(6).nullable().optional(),
236
+ naicsCode: import_zod2.z.string().max(6).nullable().optional(),
237
+ ukSicCode: import_zod2.z.string().max(5).nullable().optional(),
238
+ naceCode: import_zod2.z.string().max(6).nullable().optional(),
239
+ cfar: import_zod2.z.string().nullable().optional(),
240
+ dunsNo: import_zod2.z.string().max(10).nullable().optional(),
241
+ currency: import_zod2.z.string().max(3).nullable().optional(),
242
+ // Financial
243
+ turnover: import_zod2.z.number().nullable().optional(),
244
+ profit: import_zod2.z.number().nullable().optional(),
245
+ noEmployees: import_zod2.z.number().nullable().optional(),
246
+ creditRating: import_zod2.z.string().max(28).nullable().optional(),
247
+ prospectingCreditRating: import_zod2.z.string().max(8).nullable().optional(),
248
+ prospectingNumericCreditRating: import_zod2.z.number().nullable().optional(),
249
+ // Social
250
+ facebook: import_zod2.z.string().max(256).nullable().optional(),
251
+ twitter: import_zod2.z.string().max(256).nullable().optional(),
252
+ linkedin: import_zod2.z.string().max(256).nullable().optional(),
253
+ // Text
254
+ notes: import_zod2.z.string().nullable().optional(),
255
+ about: import_zod2.z.string().nullable().optional(),
256
+ // Relations
257
+ parent: IdNameSchema.nullable().optional(),
258
+ operationalAccount: IdNameSchema.nullable().optional(),
259
+ users: import_zod2.z.array(import_zod2.z.object({ id: import_zod2.z.number().int() })).optional(),
260
+ categories: import_zod2.z.array(CategorySchema).optional(),
261
+ projects: import_zod2.z.array(import_zod2.z.object({ id: import_zod2.z.number().int() })).optional(),
262
+ addresses: import_zod2.z.array(AddressSchema).optional(),
263
+ connectedClients: import_zod2.z.array(ConnectedClientSchema.partial()).optional(),
264
+ custom: import_zod2.z.array(CustomFieldSchema).optional(),
265
+ // Prospecting
266
+ prospectingId: import_zod2.z.string().nullable().optional(),
267
+ autoMatchedProspectingId: import_zod2.z.string().nullable().optional(),
268
+ excludedFromProspectingMonitor: import_zod2.z.boolean().optional(),
269
+ // Deactivation
270
+ deactivationReason: import_zod2.z.string().max(256).nullable().optional(),
271
+ deactivationDate: import_zod2.z.string().nullable().optional(),
272
+ deactivatedBy: import_zod2.z.number().nullable().optional(),
273
+ // Price list
274
+ priceListId: import_zod2.z.number().nullable().optional()
275
+ });
276
+ var UpdateClientSchema = CreateClientSchema.partial().extend({
277
+ id: import_zod2.z.number().int()
278
+ });
279
+
280
+ // src/contact.ts
281
+ var import_zod3 = require("zod");
282
+ var ContactClientSchema = import_zod3.z.object({
283
+ id: import_zod3.z.number().int(),
284
+ name: import_zod3.z.string(),
285
+ journeyStep: import_zod3.z.string().nullable().optional(),
286
+ phone: import_zod3.z.string().nullable().optional(),
287
+ active: import_zod3.z.union([import_zod3.z.literal(0), import_zod3.z.literal(1)]).optional()
288
+ });
289
+ var SalutationSchema = import_zod3.z.object({
290
+ language: import_zod3.z.string(),
291
+ tagId: import_zod3.z.number().int(),
292
+ value: import_zod3.z.string()
293
+ });
294
+ var TitleCategorySchema = import_zod3.z.object({
295
+ tagId: import_zod3.z.number().int(),
296
+ value: import_zod3.z.string().optional()
297
+ });
298
+ var OptInSchema = import_zod3.z.object({
299
+ id: import_zod3.z.number().int(),
300
+ brandId: import_zod3.z.number().int(),
301
+ title: import_zod3.z.string(),
302
+ type: import_zod3.z.string()
303
+ });
304
+ var OptOutSchema = import_zod3.z.object({
305
+ title: import_zod3.z.string()
306
+ });
307
+ var ContactSchema = import_zod3.z.object({
308
+ // Identity
309
+ id: import_zod3.z.number().int(),
310
+ name: import_zod3.z.string().max(50),
311
+ firstName: import_zod3.z.string().max(50).optional(),
312
+ lastName: import_zod3.z.string().max(50).optional(),
313
+ // Contact info
314
+ email: import_zod3.z.string().max(128),
315
+ phone: import_zod3.z.string().max(30).nullable(),
316
+ phoneCountryCode: import_zod3.z.string().max(2).nullable(),
317
+ cellPhone: import_zod3.z.string().max(30).nullable(),
318
+ cellPhoneCountryCode: import_zod3.z.string().max(2).nullable(),
319
+ linkedin: import_zod3.z.string().max(256).nullable(),
320
+ // Professional
321
+ title: import_zod3.z.string().max(128).nullable(),
322
+ salutation: SalutationSchema.nullable().optional(),
323
+ titleCategory: TitleCategorySchema.nullable().optional(),
324
+ // Status
325
+ active: import_zod3.z.union([import_zod3.z.literal(0), import_zod3.z.literal(1)]),
326
+ journeyStep: import_zod3.z.string().max(100).nullable(),
327
+ score: import_zod3.z.number().int(),
328
+ isPriority: import_zod3.z.boolean().optional(),
329
+ // Text
330
+ notes: import_zod3.z.string().nullable(),
331
+ // Dates
332
+ regDate: import_zod3.z.string(),
333
+ regBy: import_zod3.z.unknown(),
334
+ unsubscribed: import_zod3.z.string().nullable().optional(),
335
+ // Relations
336
+ client: ContactClientSchema,
337
+ categories: import_zod3.z.array(CategorySchema),
338
+ projects: import_zod3.z.array(IdNameSchema),
339
+ custom: import_zod3.z.array(CustomFieldSchema),
340
+ connectedClients: import_zod3.z.array(import_zod3.z.unknown()).optional(),
341
+ // Consent
342
+ optins: import_zod3.z.array(OptInSchema).optional(),
343
+ optOut: import_zod3.z.array(OptOutSchema).optional(),
344
+ // Email
345
+ mailBounces: import_zod3.z.array(import_zod3.z.enum(["hard_bounce", "soft_bounce"])).optional(),
346
+ emailBounceReason: import_zod3.z.string().optional(),
347
+ unsubscribedMailCampaign: import_zod3.z.unknown().optional(),
348
+ // Computed / read-only
349
+ userEditable: import_zod3.z.boolean(),
350
+ userRemovable: import_zod3.z.boolean(),
351
+ importId: import_zod3.z.number().nullable().optional(),
352
+ firstTouch: import_zod3.z.unknown().optional(),
353
+ socialEvent: import_zod3.z.unknown().optional(),
354
+ supportTickets: import_zod3.z.object({
355
+ hasOpen: import_zod3.z.boolean(),
356
+ hasClosed: import_zod3.z.boolean()
357
+ }).optional(),
358
+ signals: import_zod3.z.unknown().optional(),
359
+ // Activity tracking
360
+ hasActivity: import_zod3.z.string().nullable().optional(),
361
+ hadActivity: import_zod3.z.string().nullable().optional(),
362
+ hasAppointment: import_zod3.z.string().nullable().optional(),
363
+ hadAppointment: import_zod3.z.string().nullable().optional(),
364
+ hasOpportunity: import_zod3.z.string().nullable().optional(),
365
+ hadOpportunity: import_zod3.z.string().nullable().optional(),
366
+ hasOrder: import_zod3.z.string().nullable().optional(),
367
+ hadOrder: import_zod3.z.string().nullable().optional(),
368
+ hasMail: import_zod3.z.boolean().optional(),
369
+ hasForm: import_zod3.z.boolean().optional(),
370
+ hasVisit: import_zod3.z.boolean().optional()
371
+ });
372
+ var CreateContactSchema = import_zod3.z.object({
373
+ // Identity
374
+ name: import_zod3.z.string().max(50).optional(),
375
+ firstName: import_zod3.z.string().max(50).optional(),
376
+ lastName: import_zod3.z.string().max(50).optional(),
377
+ // Contact info
378
+ email: import_zod3.z.string().max(128).optional(),
379
+ phone: import_zod3.z.string().max(30).nullable().optional(),
380
+ phoneCountryCode: import_zod3.z.string().max(2).nullable().optional(),
381
+ cellPhone: import_zod3.z.string().max(30).nullable().optional(),
382
+ cellPhoneCountryCode: import_zod3.z.string().max(2).nullable().optional(),
383
+ linkedin: import_zod3.z.string().max(256).nullable().optional(),
384
+ // Professional
385
+ title: import_zod3.z.string().max(128).nullable().optional(),
386
+ salutation: import_zod3.z.object({ tagId: import_zod3.z.number().int() }).nullable().optional(),
387
+ titleCategory: import_zod3.z.object({ tagId: import_zod3.z.number().int() }).nullable().optional(),
388
+ // Status
389
+ active: import_zod3.z.union([import_zod3.z.literal(0), import_zod3.z.literal(1)]).optional(),
390
+ journeyStep: import_zod3.z.string().max(100).nullable().optional(),
391
+ isPriority: import_zod3.z.boolean().optional(),
392
+ // Text
393
+ notes: import_zod3.z.string().nullable().optional(),
394
+ // Relations — client is required
395
+ client: import_zod3.z.object({ id: import_zod3.z.number().int() }),
396
+ categories: import_zod3.z.array(import_zod3.z.object({ id: import_zod3.z.number().int() })).optional(),
397
+ projects: import_zod3.z.array(import_zod3.z.object({ id: import_zod3.z.number().int() })).optional(),
398
+ custom: import_zod3.z.array(CustomFieldSchema).optional(),
399
+ optins: import_zod3.z.array(import_zod3.z.object({ id: import_zod3.z.number().int() })).optional(),
400
+ // Other
401
+ firstTouch: import_zod3.z.unknown().optional(),
402
+ ssn: import_zod3.z.string().max(32).nullable().optional()
403
+ });
404
+ var UpdateContactSchema = CreateContactSchema.partial().extend({
405
+ id: import_zod3.z.number().int()
406
+ });
407
+
408
+ // src/order.ts
409
+ var import_zod4 = require("zod");
410
+ var OrderStageSchema = import_zod4.z.object({
411
+ id: import_zod4.z.number().int(),
412
+ name: import_zod4.z.string().optional(),
413
+ probability: import_zod4.z.number().optional()
414
+ });
415
+ var OrderRowSchema = import_zod4.z.object({
416
+ id: import_zod4.z.number().int().optional(),
417
+ quantity: import_zod4.z.number(),
418
+ price: import_zod4.z.number(),
419
+ discount: import_zod4.z.number(),
420
+ listPrice: import_zod4.z.number(),
421
+ purchaseCost: import_zod4.z.number(),
422
+ productId: import_zod4.z.number().int(),
423
+ tierQuantity: import_zod4.z.number(),
424
+ sortId: import_zod4.z.number().int(),
425
+ bundleFixedPrice: import_zod4.z.boolean().optional(),
426
+ bundleRows: import_zod4.z.array(
427
+ import_zod4.z.object({
428
+ id: import_zod4.z.number().int().optional(),
429
+ listPrice: import_zod4.z.number(),
430
+ price: import_zod4.z.number(),
431
+ quantity: import_zod4.z.number(),
432
+ tierQuantity: import_zod4.z.number(),
433
+ purchaseCost: import_zod4.z.number(),
434
+ sortId: import_zod4.z.number().int().optional(),
435
+ productId: import_zod4.z.number().int(),
436
+ discount: import_zod4.z.number().optional(),
437
+ discountPercent: import_zod4.z.number().optional()
438
+ })
439
+ ).optional(),
440
+ custom: import_zod4.z.array(CustomFieldSchema).optional(),
441
+ product: import_zod4.z.object({
442
+ id: import_zod4.z.number().int(),
443
+ name: import_zod4.z.string()
444
+ }).optional()
445
+ });
446
+ var OrderClientSchema = import_zod4.z.object({
447
+ id: import_zod4.z.number().int(),
448
+ name: import_zod4.z.string(),
449
+ orgNo: import_zod4.z.string().nullable().optional(),
450
+ journeyStep: import_zod4.z.string().nullable().optional(),
451
+ priceListId: import_zod4.z.number().nullable().optional(),
452
+ operationalAccount: IdNameSchema.nullable().optional()
453
+ });
454
+ var OrderContactSchema = import_zod4.z.object({
455
+ id: import_zod4.z.number().int(),
456
+ name: import_zod4.z.string(),
457
+ firstName: import_zod4.z.string().optional(),
458
+ lastName: import_zod4.z.string().optional()
459
+ });
460
+ var RisksSchema = import_zod4.z.object({
461
+ closingDateChangedOccured: import_zod4.z.string().nullable(),
462
+ companySizeOccured: import_zod4.z.string().nullable(),
463
+ daysInStageOccured: import_zod4.z.string().nullable(),
464
+ noAppointmentsOccured: import_zod4.z.string().nullable(),
465
+ noNextStepOccured: import_zod4.z.string().nullable(),
466
+ noRecentContactOccured: import_zod4.z.string().nullable(),
467
+ noStakeholderInvolvedOccured: import_zod4.z.string().nullable(),
468
+ notAnsweringCallsOccured: import_zod4.z.string().nullable(),
469
+ orderValueChangedOccured: import_zod4.z.string().nullable(),
470
+ orderValueOccured: import_zod4.z.string().nullable(),
471
+ postponedAppointmentsOccured: import_zod4.z.string().nullable()
472
+ });
473
+ var UserSalesStatisticsSchema = import_zod4.z.object({
474
+ mostCommonAppointmentsPerOrder: import_zod4.z.number().nullable(),
475
+ mostCommonStakeholder: import_zod4.z.string(),
476
+ avgSalesCycleLength: import_zod4.z.number().nullable()
477
+ }).nullable();
478
+ var ProjectPlanOptionSchema = import_zod4.z.object({
479
+ projectPlanTemplateId: import_zod4.z.number().int(),
480
+ notes: import_zod4.z.string(),
481
+ startDate: import_zod4.z.string().nullable(),
482
+ endDate: import_zod4.z.string().nullable(),
483
+ userId: import_zod4.z.number().int().nullable()
484
+ });
485
+ var OrderSchema = import_zod4.z.object({
486
+ // Identity
487
+ id: import_zod4.z.number().int(),
488
+ description: import_zod4.z.string().max(130),
489
+ // Dates
490
+ date: import_zod4.z.string(),
491
+ closeDate: import_zod4.z.string().nullable(),
492
+ regDate: import_zod4.z.string(),
493
+ confirmedDate: import_zod4.z.string().nullable().optional(),
494
+ // Relations
495
+ client: OrderClientSchema,
496
+ contact: OrderContactSchema.nullable().optional(),
497
+ project: IdNameSchema.nullable().optional(),
498
+ user: import_zod4.z.unknown(),
499
+ clientConnection: IdNameSchema.nullable().optional(),
500
+ agreement: import_zod4.z.object({ id: import_zod4.z.number().int(), description: import_zod4.z.string().optional() }).nullable().optional(),
501
+ salesCoach: import_zod4.z.array(import_zod4.z.unknown()).optional(),
502
+ checklist: import_zod4.z.array(import_zod4.z.unknown()).optional(),
503
+ // Stage & probability
504
+ stage: OrderStageSchema,
505
+ probability: import_zod4.z.number().int(),
506
+ // Values
507
+ value: import_zod4.z.number(),
508
+ annualValue: import_zod4.z.number(),
509
+ annualValueInMasterCurrency: import_zod4.z.number(),
510
+ monthlyValue: import_zod4.z.number().optional(),
511
+ monthlyValueInMasterCurrency: import_zod4.z.number().optional(),
512
+ oneOffValue: import_zod4.z.number().optional(),
513
+ oneOffValueInMasterCurrency: import_zod4.z.number().optional(),
514
+ valueInMasterCurrency: import_zod4.z.number(),
515
+ contributionMargin: import_zod4.z.number(),
516
+ contributionMarginLocalCurrency: import_zod4.z.number(),
517
+ purchaseCost: import_zod4.z.number().optional(),
518
+ // Weighted values
519
+ weightedValue: import_zod4.z.number(),
520
+ weightedValueInMasterCurrency: import_zod4.z.number(),
521
+ weightedAnnualValue: import_zod4.z.number(),
522
+ weightedAnnualValueInMasterCurrency: import_zod4.z.number(),
523
+ weightedMonthlyValue: import_zod4.z.number(),
524
+ weightedMonthlyValueInMasterCurrency: import_zod4.z.number(),
525
+ weightedOneOffValue: import_zod4.z.number(),
526
+ weightedOneOffValueInMasterCurrency: import_zod4.z.number(),
527
+ weightedContributionMargin: import_zod4.z.number(),
528
+ weightedContributionMarginLocalCurrency: import_zod4.z.number(),
529
+ // Currency
530
+ currency: import_zod4.z.string().max(3).nullable(),
531
+ currencyRate: import_zod4.z.number(),
532
+ // Order details
533
+ recurringInterval: import_zod4.z.number().optional(),
534
+ locked: import_zod4.z.union([import_zod4.z.literal(0), import_zod4.z.literal(1)]),
535
+ notes: import_zod4.z.string().nullable(),
536
+ orderRow: import_zod4.z.array(OrderRowSchema),
537
+ custom: import_zod4.z.array(CustomFieldSchema),
538
+ // BANT
539
+ confirmedBudget: import_zod4.z.number().nullable().optional(),
540
+ confirmedSolution: import_zod4.z.boolean().nullable().optional(),
541
+ // Loss/competition
542
+ lostReason: import_zod4.z.number().nullable().optional(),
543
+ competitorId: import_zod4.z.number().nullable().optional(),
544
+ competitor: import_zod4.z.unknown().optional(),
545
+ // Source & marketing
546
+ source: import_zod4.z.unknown().optional(),
547
+ marketingContribution: import_zod4.z.number().nullable().optional(),
548
+ // Stakeholders
549
+ stakeholders: import_zod4.z.array(import_zod4.z.unknown()).optional(),
550
+ titleCategories: import_zod4.z.array(import_zod4.z.unknown()).optional(),
551
+ // Statistics & risks
552
+ noCompletedAppointments: import_zod4.z.number().int(),
553
+ noPostponedAppointments: import_zod4.z.number().int(),
554
+ noTimesCallsNotAnswered: import_zod4.z.number().int(),
555
+ noTimesClosingDateChanged: import_zod4.z.number().int(),
556
+ noTimesOrderValueChanged: import_zod4.z.number().int(),
557
+ risks: RisksSchema.optional(),
558
+ userSalesStatistics: UserSalesStatisticsSchema.optional(),
559
+ // Computed / read-only
560
+ regBy: import_zod4.z.unknown(),
561
+ userEditable: import_zod4.z.boolean(),
562
+ userRemovable: import_zod4.z.boolean(),
563
+ agreementId: import_zod4.z.number().nullable().optional(),
564
+ periodization: import_zod4.z.unknown().optional(),
565
+ lastIntegrationStatus: import_zod4.z.array(import_zod4.z.unknown()).optional(),
566
+ priceListId: import_zod4.z.number().optional(),
567
+ invoiceRelatedClient: import_zod4.z.unknown().optional(),
568
+ projectPlanOptions: import_zod4.z.array(ProjectPlanOptionSchema).optional()
569
+ });
570
+ var CreateOrderSchema = import_zod4.z.object({
571
+ description: import_zod4.z.string().max(130).optional(),
572
+ // Dates
573
+ date: import_zod4.z.string(),
574
+ closeDate: import_zod4.z.string().nullable().optional(),
575
+ regDate: import_zod4.z.string().optional(),
576
+ confirmedDate: import_zod4.z.string().nullable().optional(),
577
+ // Relations — required
578
+ client: import_zod4.z.object({ id: import_zod4.z.number().int() }),
579
+ user: import_zod4.z.object({ id: import_zod4.z.number().int() }),
580
+ stage: import_zod4.z.object({ id: import_zod4.z.number().int() }),
581
+ orderRow: import_zod4.z.array(OrderRowSchema).min(1),
582
+ // Relations — optional
583
+ contact: import_zod4.z.object({ id: import_zod4.z.number().int() }).nullable().optional(),
584
+ project: import_zod4.z.object({ id: import_zod4.z.number().int() }).nullable().optional(),
585
+ clientConnection: import_zod4.z.object({ id: import_zod4.z.number().int() }).nullable().optional(),
586
+ salesCoach: import_zod4.z.object({ id: import_zod4.z.number().int() }).nullable().optional(),
587
+ // Values
588
+ probability: import_zod4.z.number().int().optional(),
589
+ recurringInterval: import_zod4.z.number().optional(),
590
+ currency: import_zod4.z.string().max(3).nullable().optional(),
591
+ currencyRate: import_zod4.z.number().optional(),
592
+ locked: import_zod4.z.union([import_zod4.z.literal(0), import_zod4.z.literal(1)]).optional(),
593
+ // Text
594
+ notes: import_zod4.z.string().nullable().optional(),
595
+ // Custom fields
596
+ custom: import_zod4.z.array(CustomFieldSchema).optional(),
597
+ stakeholders: import_zod4.z.array(import_zod4.z.unknown()).optional(),
598
+ titleCategories: import_zod4.z.array(import_zod4.z.unknown()).optional(),
599
+ // BANT
600
+ confirmedBudget: import_zod4.z.number().nullable().optional(),
601
+ confirmedSolution: import_zod4.z.boolean().nullable().optional(),
602
+ // Loss
603
+ lostReason: import_zod4.z.number().nullable().optional(),
604
+ competitorId: import_zod4.z.number().nullable().optional(),
605
+ competitor: import_zod4.z.unknown().optional(),
606
+ // Source
607
+ source: import_zod4.z.unknown().optional(),
608
+ marketingContribution: import_zod4.z.number().nullable().optional(),
609
+ // Checklist
610
+ checklist: import_zod4.z.array(import_zod4.z.unknown()).optional(),
611
+ // Price list & project plan
612
+ priceListId: import_zod4.z.number().optional(),
613
+ invoiceRelatedClient: import_zod4.z.unknown().optional(),
614
+ projectPlanOptions: import_zod4.z.array(ProjectPlanOptionSchema).optional()
615
+ });
616
+ var UpdateOrderSchema = CreateOrderSchema.partial().extend({
617
+ id: import_zod4.z.number().int()
618
+ });
619
+
620
+ // src/activity.ts
621
+ var import_zod5 = require("zod");
622
+ var ActivityContactSchema = import_zod5.z.object({
623
+ id: import_zod5.z.number().int(),
624
+ name: import_zod5.z.string(),
625
+ cellPhone: import_zod5.z.string().nullable().optional(),
626
+ email: import_zod5.z.string().optional(),
627
+ phone: import_zod5.z.string().nullable().optional(),
628
+ journeyStep: import_zod5.z.string().nullable().optional(),
629
+ active: import_zod5.z.union([import_zod5.z.literal(0), import_zod5.z.literal(1)]).optional()
630
+ });
631
+ var ActivityUserSchema = import_zod5.z.object({
632
+ id: import_zod5.z.number().int(),
633
+ name: import_zod5.z.string(),
634
+ email: import_zod5.z.string().optional(),
635
+ role: import_zod5.z.string().optional()
636
+ });
637
+ var ActivityClientSchema = import_zod5.z.object({
638
+ id: import_zod5.z.number().int(),
639
+ name: import_zod5.z.string(),
640
+ phone: import_zod5.z.string().nullable().optional(),
641
+ journeyStep: import_zod5.z.string().nullable().optional()
642
+ });
643
+ var ActivityOpportunitySchema = import_zod5.z.object({
644
+ id: import_zod5.z.number().int(),
645
+ description: import_zod5.z.string().optional(),
646
+ orderValue: import_zod5.z.number().optional(),
647
+ currency: import_zod5.z.string().optional(),
648
+ probability: import_zod5.z.number().optional()
649
+ });
650
+ var OutcomeSchema = import_zod5.z.union([
651
+ import_zod5.z.string(),
652
+ import_zod5.z.object({
653
+ type: import_zod5.z.string().nullable().optional(),
654
+ outcome: import_zod5.z.string().nullable().optional(),
655
+ user: import_zod5.z.object({ id: import_zod5.z.number().int(), name: import_zod5.z.string() }).optional(),
656
+ date: import_zod5.z.string().optional(),
657
+ commentId: import_zod5.z.string().nullable().optional()
658
+ })
659
+ ]);
660
+ var SourceSchema = import_zod5.z.object({
661
+ type: import_zod5.z.string(),
662
+ id: import_zod5.z.number().int()
663
+ });
664
+ var ActivitySchema = import_zod5.z.object({
665
+ // Identity
666
+ id: import_zod5.z.number().int(),
667
+ description: import_zod5.z.string().max(100),
668
+ isAppointment: import_zod5.z.union([import_zod5.z.literal(0), import_zod5.z.literal(1)]),
669
+ // Dates & time
670
+ date: import_zod5.z.string().nullable(),
671
+ time: import_zod5.z.string().nullable(),
672
+ closeDate: import_zod5.z.string().nullable().optional(),
673
+ closeTime: import_zod5.z.string().nullable().optional(),
674
+ regDate: import_zod5.z.string().optional(),
675
+ // Text
676
+ notes: import_zod5.z.string().nullable(),
677
+ aiNotes: import_zod5.z.string().nullable().optional(),
678
+ aiNotesEn: import_zod5.z.string().nullable().optional(),
679
+ // Relations
680
+ client: ActivityClientSchema.nullable(),
681
+ contacts: import_zod5.z.array(ActivityContactSchema),
682
+ users: import_zod5.z.array(ActivityUserSchema),
683
+ activityType: IdNameSchema,
684
+ project: IdNameSchema.nullable().optional(),
685
+ projectPlan: import_zod5.z.unknown().nullable().optional(),
686
+ opportunity: ActivityOpportunitySchema.nullable().optional(),
687
+ clientRelation: IdNameSchema.nullable().optional(),
688
+ // Parent references
689
+ parentActivityId: import_zod5.z.number().int().nullable(),
690
+ parentAppointmentId: import_zod5.z.number().int().nullable(),
691
+ ticketId: import_zod5.z.number().int().nullable().optional(),
692
+ agreementId: import_zod5.z.number().int().nullable().optional(),
693
+ // Priority & outcome
694
+ priority: import_zod5.z.union([import_zod5.z.literal(0), import_zod5.z.literal(1), import_zod5.z.literal(2), import_zod5.z.literal(3)]),
695
+ outcomes: import_zod5.z.array(import_zod5.z.unknown()).optional(),
696
+ lastOutcome: OutcomeSchema.nullable().optional(),
697
+ // Custom fields
698
+ custom: import_zod5.z.array(CustomFieldSchema),
699
+ // Call list
700
+ callList: import_zod5.z.unknown().nullable().optional(),
701
+ callListId: import_zod5.z.number().int().nullable().optional(),
702
+ // Source
703
+ source: SourceSchema.nullable().optional(),
704
+ // Phone calls
705
+ phoneCalls: import_zod5.z.array(import_zod5.z.unknown()).optional(),
706
+ // Computed / read-only
707
+ regBy: import_zod5.z.unknown(),
708
+ modDate: import_zod5.z.string().optional(),
709
+ userEditable: import_zod5.z.boolean(),
710
+ userRemovable: import_zod5.z.boolean()
711
+ });
712
+ var CreateActivitySchema = import_zod5.z.object({
713
+ description: import_zod5.z.string().max(100).optional(),
714
+ // Dates & time
715
+ date: import_zod5.z.string().nullable().optional(),
716
+ time: import_zod5.z.string().nullable().optional(),
717
+ closeDate: import_zod5.z.string().nullable().optional(),
718
+ // Text
719
+ notes: import_zod5.z.string().nullable().optional(),
720
+ aiNotes: import_zod5.z.string().nullable().optional(),
721
+ aiNotesEn: import_zod5.z.string().nullable().optional(),
722
+ // Relations — required
723
+ users: import_zod5.z.object({ id: import_zod5.z.number().int() }),
724
+ activityType: import_zod5.z.object({ id: import_zod5.z.number().int() }),
725
+ // Relations — optional
726
+ client: import_zod5.z.object({ id: import_zod5.z.number().int() }).nullable().optional(),
727
+ contacts: import_zod5.z.object({ id: import_zod5.z.number().int() }).nullable().optional(),
728
+ project: import_zod5.z.object({ id: import_zod5.z.number().int() }).nullable().optional(),
729
+ projectPlan: import_zod5.z.object({ id: import_zod5.z.number().int() }).nullable().optional(),
730
+ opportunity: import_zod5.z.object({ id: import_zod5.z.number().int() }).nullable().optional(),
731
+ clientRelation: import_zod5.z.object({ id: import_zod5.z.number().int() }).nullable().optional(),
732
+ callList: import_zod5.z.object({ id: import_zod5.z.number().int() }).nullable().optional(),
733
+ taskTemplate: import_zod5.z.object({ id: import_zod5.z.number().int() }).nullable().optional(),
734
+ // Parent references
735
+ parentActivityId: import_zod5.z.number().int().nullable().optional(),
736
+ parentAppointmentId: import_zod5.z.number().int().nullable().optional(),
737
+ ticketId: import_zod5.z.number().int().nullable().optional(),
738
+ agreementId: import_zod5.z.number().int().nullable().optional(),
739
+ // Priority & outcome
740
+ priority: import_zod5.z.union([import_zod5.z.literal(0), import_zod5.z.literal(1), import_zod5.z.literal(2), import_zod5.z.literal(3)]).optional(),
741
+ outcome: import_zod5.z.string().nullable().optional(),
742
+ outcomeType: import_zod5.z.string().nullable().optional(),
743
+ outcomeExtra: import_zod5.z.string().nullable().optional(),
744
+ outcomeCommentId: import_zod5.z.number().int().nullable().optional(),
745
+ // Custom fields
746
+ custom: import_zod5.z.array(CustomFieldSchema).optional(),
747
+ // Source
748
+ sourceType: import_zod5.z.string().nullable().optional(),
749
+ sourceId: import_zod5.z.number().int().nullable().optional(),
750
+ // Other
751
+ doNotRemind: import_zod5.z.boolean().optional(),
752
+ callListId: import_zod5.z.number().int().nullable().optional()
753
+ });
754
+ var UpdateActivitySchema = CreateActivitySchema.partial().extend({
755
+ id: import_zod5.z.number().int()
756
+ });
757
+
758
+ // src/appointment.ts
759
+ var import_zod6 = require("zod");
760
+ var AppointmentClientSchema = import_zod6.z.object({
761
+ id: import_zod6.z.number().int(),
762
+ name: import_zod6.z.string(),
763
+ phone: import_zod6.z.string().nullable().optional()
764
+ });
765
+ var AppointmentContactSchema = import_zod6.z.object({
766
+ id: import_zod6.z.number().int(),
767
+ name: import_zod6.z.string(),
768
+ cellPhone: import_zod6.z.string().nullable().optional(),
769
+ phone: import_zod6.z.string().nullable().optional()
770
+ });
771
+ var AppointmentUserSchema = import_zod6.z.object({
772
+ id: import_zod6.z.number().int(),
773
+ name: import_zod6.z.string()
774
+ });
775
+ var AppointmentSchema = import_zod6.z.object({
776
+ // Identity
777
+ id: import_zod6.z.number().int(),
778
+ description: import_zod6.z.string().max(100),
779
+ isAppointment: import_zod6.z.union([import_zod6.z.literal(0), import_zod6.z.literal(1)]),
780
+ // Dates
781
+ date: import_zod6.z.string(),
782
+ endDate: import_zod6.z.string(),
783
+ regDate: import_zod6.z.string().optional(),
784
+ // Location & meeting
785
+ location: import_zod6.z.string().nullable().optional(),
786
+ weblinkUrl: import_zod6.z.string().nullable().optional(),
787
+ includeWeblink: import_zod6.z.union([import_zod6.z.literal(0), import_zod6.z.literal(1)]).optional(),
788
+ private: import_zod6.z.union([import_zod6.z.literal(0), import_zod6.z.literal(1)]),
789
+ isExternalHost: import_zod6.z.union([import_zod6.z.literal(0), import_zod6.z.literal(1)]).optional(),
790
+ // Text
791
+ notes: import_zod6.z.string().nullable(),
792
+ aiNotes: import_zod6.z.string().nullable().optional(),
793
+ aiNotesEn: import_zod6.z.string().nullable().optional(),
794
+ agenda: import_zod6.z.string().nullable().optional(),
795
+ // Relations
796
+ client: AppointmentClientSchema.nullable(),
797
+ users: import_zod6.z.array(AppointmentUserSchema),
798
+ contacts: import_zod6.z.array(AppointmentContactSchema),
799
+ activityType: IdNameSchema,
800
+ project: IdNameSchema.nullable().optional(),
801
+ projectPlan: IdNameSchema.nullable().optional(),
802
+ opportunity: import_zod6.z.unknown().nullable().optional(),
803
+ clientConnection: IdNameSchema.nullable().optional(),
804
+ // External calendar
805
+ externalCalendarId: import_zod6.z.string().nullable().optional(),
806
+ seriesMasterId: import_zod6.z.string().nullable().optional(),
807
+ uniqueExternalId: import_zod6.z.string().nullable().optional(),
808
+ hostHasCalendarIntegration: import_zod6.z.boolean().optional(),
809
+ bookedRooms: import_zod6.z.unknown().nullable().optional(),
810
+ emailAttendees: import_zod6.z.array(import_zod6.z.unknown()).optional(),
811
+ // Outcome
812
+ outcome: import_zod6.z.unknown().nullable().optional(),
813
+ outcomeType: import_zod6.z.string().nullable().optional(),
814
+ outcomeAction: import_zod6.z.string().nullable().optional(),
815
+ outcomeExtra: import_zod6.z.string().nullable().optional(),
816
+ outcomeCommentId: import_zod6.z.number().int().nullable().optional(),
817
+ // Source
818
+ source: import_zod6.z.unknown().nullable().optional(),
819
+ // Custom fields
820
+ custom: import_zod6.z.array(CustomFieldSchema),
821
+ // Computed / read-only
822
+ regBy: import_zod6.z.unknown(),
823
+ modDate: import_zod6.z.string().optional(),
824
+ userEditable: import_zod6.z.boolean(),
825
+ userRemovable: import_zod6.z.boolean()
826
+ });
827
+ var CreateAppointmentSchema = import_zod6.z.object({
828
+ description: import_zod6.z.string().max(100).optional(),
829
+ // Dates — required
830
+ date: import_zod6.z.string(),
831
+ endDate: import_zod6.z.string(),
832
+ // Location & meeting
833
+ location: import_zod6.z.string().nullable().optional(),
834
+ weblinkUrl: import_zod6.z.string().nullable().optional(),
835
+ includeWeblink: import_zod6.z.boolean().optional(),
836
+ private: import_zod6.z.boolean().optional(),
837
+ isExternalHost: import_zod6.z.boolean().optional(),
838
+ // Text
839
+ notes: import_zod6.z.string().nullable().optional(),
840
+ aiNotes: import_zod6.z.string().nullable().optional(),
841
+ aiNotesEn: import_zod6.z.string().nullable().optional(),
842
+ agenda: import_zod6.z.string().nullable().optional(),
843
+ // Relations — required
844
+ activityType: import_zod6.z.object({ id: import_zod6.z.number().int() }),
845
+ // Relations — optional
846
+ client: import_zod6.z.object({ id: import_zod6.z.number().int() }).nullable().optional(),
847
+ users: import_zod6.z.array(import_zod6.z.object({ id: import_zod6.z.number().int() })).optional(),
848
+ contacts: import_zod6.z.array(import_zod6.z.object({ id: import_zod6.z.number().int() })).optional(),
849
+ project: import_zod6.z.object({ id: import_zod6.z.number().int() }).nullable().optional(),
850
+ projectPlan: import_zod6.z.object({ id: import_zod6.z.number().int() }).nullable().optional(),
851
+ opportunity: import_zod6.z.object({ id: import_zod6.z.number().int() }).nullable().optional(),
852
+ clientConnection: import_zod6.z.object({ id: import_zod6.z.number().int() }).nullable().optional(),
853
+ // External calendar
854
+ externalCalendarId: import_zod6.z.string().nullable().optional(),
855
+ seriesMasterId: import_zod6.z.string().nullable().optional(),
856
+ uniqueExternalId: import_zod6.z.string().nullable().optional(),
857
+ isAgendaDirty: import_zod6.z.boolean().optional(),
858
+ bookedRooms: import_zod6.z.unknown().nullable().optional(),
859
+ emailAttendees: import_zod6.z.array(import_zod6.z.unknown()).optional(),
860
+ // Outcome
861
+ outcome: import_zod6.z.string().nullable().optional(),
862
+ outcomeType: import_zod6.z.string().nullable().optional(),
863
+ outcomeAction: import_zod6.z.string().nullable().optional(),
864
+ outcomeExtra: import_zod6.z.string().nullable().optional(),
865
+ outcomeCommentId: import_zod6.z.number().int().nullable().optional(),
866
+ // Custom fields
867
+ custom: import_zod6.z.array(CustomFieldSchema).optional(),
868
+ // Source
869
+ sourceType: import_zod6.z.string().nullable().optional(),
870
+ sourceId: import_zod6.z.number().int().nullable().optional()
871
+ });
872
+ var UpdateAppointmentSchema = CreateAppointmentSchema.partial().extend({
873
+ id: import_zod6.z.number().int()
874
+ });
875
+
876
+ // src/agreement.ts
877
+ var import_zod7 = require("zod");
878
+ var AgreementMetadataSchema = import_zod7.z.object({
879
+ activeVersionId: import_zod7.z.number().int().nullable(),
880
+ versionNo: import_zod7.z.number().int(),
881
+ agreementDescription: import_zod7.z.string(),
882
+ agreementStartdate: import_zod7.z.string(),
883
+ agreementEnddate: import_zod7.z.string().nullable(),
884
+ agreementInvoiceStartdate: import_zod7.z.string(),
885
+ agreementInitialInvoiceStartdate: import_zod7.z.string(),
886
+ agreementRenewalDate: import_zod7.z.string(),
887
+ agreementRenewalDateReal: import_zod7.z.string().nullable(),
888
+ agreementNextOrderDate: import_zod7.z.string(),
889
+ agreementIntervalType: import_zod7.z.number().int(),
890
+ agreementIntervalPeriod: import_zod7.z.number().int(),
891
+ agreementOrderCreationTime: import_zod7.z.number().int(),
892
+ custom: import_zod7.z.array(CustomFieldSchema).optional(),
893
+ orderSequenceNr: import_zod7.z.number().int(),
894
+ latestOrderId: import_zod7.z.number().int(),
895
+ latestOrderCreationDate: import_zod7.z.string(),
896
+ agreementNotes: import_zod7.z.string(),
897
+ periodLength: import_zod7.z.number().int(),
898
+ willCreateMoreOrders: import_zod7.z.boolean(),
899
+ temporaryNextOrderDate: import_zod7.z.string().nullable().optional(),
900
+ noticeDate: import_zod7.z.string().nullable(),
901
+ noticePeriod: import_zod7.z.number().int()
902
+ });
903
+ var AgreementClientSchema = import_zod7.z.object({
904
+ id: import_zod7.z.number().int(),
905
+ name: import_zod7.z.string(),
906
+ journeyStep: import_zod7.z.string().nullable().optional(),
907
+ priceListId: import_zod7.z.number().nullable().optional(),
908
+ operationalAccount: IdNameSchema.nullable().optional()
909
+ });
910
+ var AgreementSchema = import_zod7.z.object({
911
+ id: import_zod7.z.number().int(),
912
+ description: import_zod7.z.string(),
913
+ notes: import_zod7.z.string().nullable(),
914
+ agreementGroupId: import_zod7.z.number().int().nullable(),
915
+ // Values
916
+ value: import_zod7.z.number(),
917
+ valueInMasterCurrency: import_zod7.z.number(),
918
+ yearlyValue: import_zod7.z.number().nullable(),
919
+ yearlyValueInMasterCurrency: import_zod7.z.number(),
920
+ contributionMargin: import_zod7.z.number(),
921
+ contributionMarginInAgreementCurrency: import_zod7.z.number(),
922
+ yearlyContributionMargin: import_zod7.z.number().nullable(),
923
+ yearlyContributionMarginInAgreementCurrency: import_zod7.z.number(),
924
+ purchaseCost: import_zod7.z.number(),
925
+ currency: import_zod7.z.string().max(3),
926
+ currencyRate: import_zod7.z.number(),
927
+ // Hierarchy
928
+ isParent: import_zod7.z.boolean(),
929
+ parentId: import_zod7.z.number().int().nullable(),
930
+ children: import_zod7.z.array(import_zod7.z.unknown()).optional(),
931
+ // Relations
932
+ client: AgreementClientSchema,
933
+ contact: import_zod7.z.object({ id: import_zod7.z.number().int(), name: import_zod7.z.string() }).nullable(),
934
+ user: import_zod7.z.unknown(),
935
+ project: IdNameSchema.nullable(),
936
+ stage: IdNameSchema,
937
+ clientConnection: IdNameSchema.nullable(),
938
+ orderRow: import_zod7.z.array(import_zod7.z.unknown()),
939
+ custom: import_zod7.z.array(CustomFieldSchema),
940
+ metadata: AgreementMetadataSchema,
941
+ // Dates
942
+ regDate: import_zod7.z.string(),
943
+ modDate: import_zod7.z.string().optional(),
944
+ latestIndexIncreaseDate: import_zod7.z.string().nullable().optional(),
945
+ // Config
946
+ priceListId: import_zod7.z.number().optional(),
947
+ invoiceRelatedClient: import_zod7.z.boolean().optional(),
948
+ indexIncreaseId: import_zod7.z.number().int().nullable().optional(),
949
+ latestIndexIncreaseId: import_zod7.z.number().int().nullable().optional(),
950
+ // Computed
951
+ regBy: import_zod7.z.unknown(),
952
+ userEditable: import_zod7.z.boolean(),
953
+ userRemovable: import_zod7.z.boolean()
954
+ });
955
+ var CreateAgreementSchema = import_zod7.z.object({
956
+ description: import_zod7.z.string(),
957
+ notes: import_zod7.z.string().nullable().optional(),
958
+ // Relations — required
959
+ client: import_zod7.z.object({ id: import_zod7.z.number().int() }),
960
+ user: import_zod7.z.object({ id: import_zod7.z.number().int() }),
961
+ stage: import_zod7.z.object({ id: import_zod7.z.number().int() }),
962
+ orderRow: import_zod7.z.array(import_zod7.z.unknown()).min(1),
963
+ // Relations — optional
964
+ contact: import_zod7.z.object({ id: import_zod7.z.number().int() }).nullable().optional(),
965
+ project: import_zod7.z.object({ id: import_zod7.z.number().int() }).nullable().optional(),
966
+ clientConnection: import_zod7.z.object({ id: import_zod7.z.number().int() }).nullable().optional(),
967
+ // Values
968
+ currency: import_zod7.z.string().max(3).optional(),
969
+ currencyRate: import_zod7.z.number().optional(),
970
+ metadata: import_zod7.z.unknown().optional(),
971
+ custom: import_zod7.z.array(CustomFieldSchema).optional(),
972
+ children: import_zod7.z.array(import_zod7.z.unknown()).optional(),
973
+ // Config
974
+ priceListId: import_zod7.z.number().optional(),
975
+ invoiceRelatedClient: import_zod7.z.unknown().optional(),
976
+ agreementGroupId: import_zod7.z.number().int().nullable().optional(),
977
+ date: import_zod7.z.string().optional(),
978
+ locked: import_zod7.z.boolean().optional(),
979
+ createdFromOrderId: import_zod7.z.number().int().optional(),
980
+ createDiffOrder: import_zod7.z.boolean().optional(),
981
+ diffOrderNote: import_zod7.z.string().optional(),
982
+ notify: import_zod7.z.boolean().optional(),
983
+ arrUser: import_zod7.z.unknown().optional(),
984
+ forceNewVersion: import_zod7.z.boolean().optional(),
985
+ isIndexIncrease: import_zod7.z.boolean().optional()
986
+ });
987
+ var UpdateAgreementSchema = CreateAgreementSchema.partial().extend({
988
+ id: import_zod7.z.number().int()
989
+ });
990
+
991
+ // src/product.ts
992
+ var import_zod8 = require("zod");
993
+ var TierSchema = import_zod8.z.object({
994
+ start: import_zod8.z.number(),
995
+ end: import_zod8.z.number(),
996
+ isTotalPrice: import_zod8.z.boolean(),
997
+ currencies: import_zod8.z.array(import_zod8.z.object({ currency: import_zod8.z.string(), value: import_zod8.z.number() })),
998
+ priceListId: import_zod8.z.number().optional(),
999
+ maxDiscount: import_zod8.z.number().nullable().optional()
1000
+ });
1001
+ var ProductCurrencySchema = import_zod8.z.object({
1002
+ currency: import_zod8.z.string(),
1003
+ price: import_zod8.z.number(),
1004
+ purchaseCost: import_zod8.z.number(),
1005
+ priceListId: import_zod8.z.number().optional(),
1006
+ maxDiscount: import_zod8.z.number().nullable().optional()
1007
+ });
1008
+ var BundleComponentSchema = import_zod8.z.object({
1009
+ id: import_zod8.z.number().int().optional(),
1010
+ quantity: import_zod8.z.number(),
1011
+ tierQuantity: import_zod8.z.number(),
1012
+ productId: import_zod8.z.number().int(),
1013
+ adjustable: import_zod8.z.boolean().optional(),
1014
+ bundleRowPrice: import_zod8.z.number().optional(),
1015
+ bundleRowCost: import_zod8.z.number().optional(),
1016
+ price: import_zod8.z.number().optional(),
1017
+ purchaseCost: import_zod8.z.number().optional()
1018
+ });
1019
+ var ProductSchema = import_zod8.z.object({
1020
+ id: import_zod8.z.number().int(),
1021
+ name: import_zod8.z.string(),
1022
+ listPrice: import_zod8.z.number(),
1023
+ active: import_zod8.z.union([import_zod8.z.literal(0), import_zod8.z.literal(1)]),
1024
+ category: IdNameSchema.nullable().optional(),
1025
+ sortId: import_zod8.z.number().int(),
1026
+ recurringInterval: import_zod8.z.number().nullable(),
1027
+ isMultiCurrency: import_zod8.z.union([import_zod8.z.literal(0), import_zod8.z.literal(1)]),
1028
+ isRecurring: import_zod8.z.union([import_zod8.z.literal(0), import_zod8.z.literal(1)]),
1029
+ purchaseCost: import_zod8.z.number(),
1030
+ articleNo: import_zod8.z.string().nullable(),
1031
+ importId: import_zod8.z.number().nullable().optional(),
1032
+ description: import_zod8.z.string().nullable(),
1033
+ // Multi-currency & tiers
1034
+ currencies: import_zod8.z.array(ProductCurrencySchema),
1035
+ tiers: import_zod8.z.array(TierSchema),
1036
+ // Bundle
1037
+ bundle: import_zod8.z.array(BundleComponentSchema),
1038
+ bundlePriceAdjustment: import_zod8.z.number().nullable().optional(),
1039
+ bundlePriceAdjustmentType: import_zod8.z.unknown().optional(),
1040
+ bundleFixedPrice: import_zod8.z.boolean(),
1041
+ bundleEditable: import_zod8.z.boolean(),
1042
+ // Relations
1043
+ roles: import_zod8.z.array(IdNameSchema),
1044
+ custom: import_zod8.z.array(CustomFieldSchema),
1045
+ projectPlanTemplate: import_zod8.z.object({ id: import_zod8.z.number().int(), name: import_zod8.z.string(), active: import_zod8.z.boolean().optional() }).nullable().optional(),
1046
+ // Computed
1047
+ userEditable: import_zod8.z.boolean(),
1048
+ userRemovable: import_zod8.z.boolean(),
1049
+ userUsable: import_zod8.z.boolean().optional()
1050
+ });
1051
+ var CreateProductSchema = import_zod8.z.object({
1052
+ name: import_zod8.z.string(),
1053
+ listPrice: import_zod8.z.number().optional(),
1054
+ active: import_zod8.z.union([import_zod8.z.literal(0), import_zod8.z.literal(1)]).optional(),
1055
+ category: import_zod8.z.object({ id: import_zod8.z.number().int() }).nullable().optional(),
1056
+ sortId: import_zod8.z.number().int().optional(),
1057
+ recurringInterval: import_zod8.z.number().nullable().optional(),
1058
+ isMultiCurrency: import_zod8.z.boolean().optional(),
1059
+ isRecurring: import_zod8.z.boolean().optional(),
1060
+ purchaseCost: import_zod8.z.number().optional(),
1061
+ articleNo: import_zod8.z.string().nullable().optional(),
1062
+ description: import_zod8.z.string().nullable().optional(),
1063
+ currencies: import_zod8.z.array(ProductCurrencySchema).optional(),
1064
+ tiers: import_zod8.z.array(TierSchema).optional(),
1065
+ bundle: import_zod8.z.array(BundleComponentSchema).optional(),
1066
+ bundlePriceAdjustment: import_zod8.z.number().nullable().optional(),
1067
+ bundlePriceAdjustmentType: import_zod8.z.unknown().optional(),
1068
+ bundleFixedPrice: import_zod8.z.boolean().optional(),
1069
+ bundleEditable: import_zod8.z.boolean().optional(),
1070
+ roles: import_zod8.z.array(import_zod8.z.object({ id: import_zod8.z.number().int() })).optional(),
1071
+ custom: import_zod8.z.array(CustomFieldSchema).optional(),
1072
+ projectPlanTemplate: import_zod8.z.object({ id: import_zod8.z.number().int() }).nullable().optional()
1073
+ });
1074
+ var UpdateProductSchema = CreateProductSchema.partial().extend({
1075
+ id: import_zod8.z.number().int()
1076
+ });
1077
+
1078
+ // src/user.ts
1079
+ var import_zod9 = require("zod");
1080
+ var UserSchema = import_zod9.z.object({
1081
+ id: import_zod9.z.number().int(),
1082
+ name: import_zod9.z.string(),
1083
+ email: import_zod9.z.string(),
1084
+ active: import_zod9.z.union([import_zod9.z.literal(0), import_zod9.z.literal(1)]),
1085
+ administrator: import_zod9.z.union([import_zod9.z.literal(0), import_zod9.z.literal(1)]),
1086
+ teamLeader: import_zod9.z.union([import_zod9.z.literal(0), import_zod9.z.literal(1)]),
1087
+ ghost: import_zod9.z.union([import_zod9.z.literal(0), import_zod9.z.literal(1)]),
1088
+ free: import_zod9.z.union([import_zod9.z.literal(0), import_zod9.z.literal(1)]),
1089
+ role: IdNameSchema.nullable(),
1090
+ regDate: import_zod9.z.string().optional(),
1091
+ // Contact info
1092
+ userTitle: import_zod9.z.string().nullable(),
1093
+ userAddress: import_zod9.z.string().nullable(),
1094
+ userZipCode: import_zod9.z.string().nullable(),
1095
+ userState: import_zod9.z.string().nullable(),
1096
+ userPhone: import_zod9.z.string().nullable(),
1097
+ userCellPhone: import_zod9.z.string().nullable(),
1098
+ // Permissions
1099
+ export: import_zod9.z.union([import_zod9.z.literal(0), import_zod9.z.literal(1)]),
1100
+ billingAdmin: import_zod9.z.union([import_zod9.z.literal(0), import_zod9.z.literal(1)]),
1101
+ crm: import_zod9.z.union([import_zod9.z.literal(0), import_zod9.z.literal(1)]),
1102
+ support: import_zod9.z.union([import_zod9.z.literal(0), import_zod9.z.literal(1)]),
1103
+ service: import_zod9.z.union([import_zod9.z.literal(0), import_zod9.z.literal(1)]),
1104
+ supportAdmin: import_zod9.z.union([import_zod9.z.literal(0), import_zod9.z.literal(1)]),
1105
+ projectAdmin: import_zod9.z.union([import_zod9.z.literal(0), import_zod9.z.literal(1)]),
1106
+ // Other
1107
+ custom: import_zod9.z.array(CustomFieldSchema),
1108
+ celebrationVideoUrl: import_zod9.z.string().nullable().optional(),
1109
+ userEditable: import_zod9.z.boolean(),
1110
+ userRemovable: import_zod9.z.boolean()
1111
+ });
1112
+ var CreateUserSchema = import_zod9.z.object({
1113
+ name: import_zod9.z.string(),
1114
+ email: import_zod9.z.string(),
1115
+ active: import_zod9.z.union([import_zod9.z.literal(0), import_zod9.z.literal(1)]).optional(),
1116
+ administrator: import_zod9.z.boolean().optional(),
1117
+ teamLeader: import_zod9.z.boolean().optional(),
1118
+ ghost: import_zod9.z.boolean().optional(),
1119
+ free: import_zod9.z.boolean().optional(),
1120
+ role: import_zod9.z.object({ id: import_zod9.z.number().int() }).nullable().optional(),
1121
+ userTitle: import_zod9.z.string().nullable().optional(),
1122
+ userAddress: import_zod9.z.string().nullable().optional(),
1123
+ userZipCode: import_zod9.z.string().nullable().optional(),
1124
+ userState: import_zod9.z.string().nullable().optional(),
1125
+ userPhone: import_zod9.z.string().nullable().optional(),
1126
+ userCellPhone: import_zod9.z.string().nullable().optional(),
1127
+ export: import_zod9.z.boolean().optional(),
1128
+ billingAdmin: import_zod9.z.boolean().optional(),
1129
+ crm: import_zod9.z.boolean().optional(),
1130
+ support: import_zod9.z.boolean().optional(),
1131
+ service: import_zod9.z.boolean().optional(),
1132
+ supportAdmin: import_zod9.z.boolean().optional(),
1133
+ projectAdmin: import_zod9.z.boolean().optional(),
1134
+ custom: import_zod9.z.array(CustomFieldSchema).optional(),
1135
+ celebrationVideoUrl: import_zod9.z.string().nullable().optional()
1136
+ });
1137
+ var UpdateUserSchema = CreateUserSchema.partial().extend({
1138
+ id: import_zod9.z.number().int()
1139
+ });
1140
+
1141
+ // src/opportunity.ts
1142
+ var OpportunitySchema = OrderSchema;
1143
+ var CreateOpportunitySchema = CreateOrderSchema;
1144
+ var UpdateOpportunitySchema = UpdateOrderSchema;
1145
+
1146
+ // src/ticket.ts
1147
+ var import_zod10 = require("zod");
1148
+ var TicketStatusSchema = import_zod10.z.object({
1149
+ id: import_zod10.z.number().int(),
1150
+ name: import_zod10.z.string().optional(),
1151
+ closed: import_zod10.z.boolean().optional()
1152
+ });
1153
+ var TicketTypeSchema = import_zod10.z.object({
1154
+ id: import_zod10.z.number().int(),
1155
+ name: import_zod10.z.string(),
1156
+ isDefault: import_zod10.z.boolean().optional()
1157
+ });
1158
+ var TicketContactSchema = import_zod10.z.object({
1159
+ id: import_zod10.z.number().int(),
1160
+ name: import_zod10.z.string(),
1161
+ email: import_zod10.z.string().optional(),
1162
+ phone: import_zod10.z.string().nullable().optional(),
1163
+ cellPhone: import_zod10.z.string().nullable().optional(),
1164
+ title: import_zod10.z.string().nullable().optional()
1165
+ });
1166
+ var TicketInvolvedSchema = import_zod10.z.object({
1167
+ type: import_zod10.z.enum(["TO", "CC"]),
1168
+ email: import_zod10.z.string(),
1169
+ contact: TicketContactSchema.nullable()
1170
+ });
1171
+ var ExternalContactSchema = import_zod10.z.object({
1172
+ id: import_zod10.z.number().int(),
1173
+ title: import_zod10.z.string(),
1174
+ client: import_zod10.z.object({ id: import_zod10.z.number().int(), name: import_zod10.z.string() }).nullable(),
1175
+ involved: import_zod10.z.array(TicketInvolvedSchema),
1176
+ regDate: import_zod10.z.string(),
1177
+ regBy: import_zod10.z.object({ id: import_zod10.z.number().int(), name: import_zod10.z.string() }),
1178
+ lastUpdated: import_zod10.z.string()
1179
+ });
1180
+ var TicketSchema = import_zod10.z.object({
1181
+ id: import_zod10.z.number().int(),
1182
+ title: import_zod10.z.string(),
1183
+ description: import_zod10.z.string(),
1184
+ emailUsed: import_zod10.z.string().nullable(),
1185
+ // Status & type
1186
+ status: TicketStatusSchema,
1187
+ type: TicketTypeSchema,
1188
+ priority: import_zod10.z.number().int(),
1189
+ isPending: import_zod10.z.boolean(),
1190
+ isArchived: import_zod10.z.boolean(),
1191
+ isRead: import_zod10.z.boolean(),
1192
+ isMultiMatch: import_zod10.z.boolean(),
1193
+ // Dates
1194
+ regDate: import_zod10.z.string(),
1195
+ modDate: import_zod10.z.string(),
1196
+ resolveDate: import_zod10.z.string().nullable(),
1197
+ lastUpdated: import_zod10.z.string(),
1198
+ snoozeDate: import_zod10.z.string().nullable(),
1199
+ // Relations
1200
+ client: import_zod10.z.object({ id: import_zod10.z.number().int(), name: import_zod10.z.string() }).nullable(),
1201
+ contact: TicketContactSchema.nullable(),
1202
+ user: import_zod10.z.object({ id: import_zod10.z.number().int(), name: import_zod10.z.string(), email: import_zod10.z.string().optional() }).nullable().optional(),
1203
+ involved: import_zod10.z.array(TicketInvolvedSchema),
1204
+ externalContacts: import_zod10.z.array(ExternalContactSchema),
1205
+ // Linked entities
1206
+ activity: import_zod10.z.unknown().nullable().optional(),
1207
+ appointment: import_zod10.z.unknown().nullable().optional(),
1208
+ opportunity: import_zod10.z.unknown().nullable().optional(),
1209
+ agreement: import_zod10.z.unknown().nullable().optional(),
1210
+ projectPlan: import_zod10.z.unknown().nullable().optional(),
1211
+ relatedTicket: import_zod10.z.unknown().nullable().optional(),
1212
+ // Custom & computed
1213
+ custom: import_zod10.z.array(CustomFieldSchema),
1214
+ regBy: import_zod10.z.object({ id: import_zod10.z.number().int(), name: import_zod10.z.string() }),
1215
+ modBy: import_zod10.z.number().int(),
1216
+ unreadComments: import_zod10.z.number().int(),
1217
+ source: import_zod10.z.unknown().nullable(),
1218
+ mergedWithId: import_zod10.z.number().int().optional(),
1219
+ mergedTickets: import_zod10.z.array(import_zod10.z.unknown()).optional(),
1220
+ directlyMergedTicketIds: import_zod10.z.array(import_zod10.z.number().int()).optional()
1221
+ });
1222
+ var CreateTicketSchema = import_zod10.z.object({
1223
+ title: import_zod10.z.string(),
1224
+ description: import_zod10.z.string().optional(),
1225
+ status: import_zod10.z.object({ id: import_zod10.z.number().int() }).optional(),
1226
+ type: import_zod10.z.object({ id: import_zod10.z.number().int() }).optional(),
1227
+ priority: import_zod10.z.number().int().optional(),
1228
+ client: import_zod10.z.object({ id: import_zod10.z.number().int() }).nullable().optional(),
1229
+ contact: import_zod10.z.object({ id: import_zod10.z.number().int() }).nullable().optional(),
1230
+ user: import_zod10.z.object({ id: import_zod10.z.number().int() }).nullable().optional(),
1231
+ involved: import_zod10.z.array(import_zod10.z.object({ type: import_zod10.z.enum(["TO", "CC"]), email: import_zod10.z.string() })).optional(),
1232
+ custom: import_zod10.z.array(CustomFieldSchema).optional(),
1233
+ snoozeDate: import_zod10.z.string().nullable().optional()
1234
+ });
1235
+ var UpdateTicketSchema = CreateTicketSchema.partial().extend({
1236
+ id: import_zod10.z.number().int()
1237
+ });
1238
+
1239
+ // src/projectPlan.ts
1240
+ var import_zod11 = require("zod");
1241
+ var ProjectPlanSchema = import_zod11.z.object({
1242
+ id: import_zod11.z.number().int(),
1243
+ name: import_zod11.z.string(),
1244
+ // Dates
1245
+ startDate: import_zod11.z.string().nullable(),
1246
+ endDate: import_zod11.z.string().nullable(),
1247
+ startTime: import_zod11.z.string().nullable(),
1248
+ endTime: import_zod11.z.string().nullable(),
1249
+ regDate: import_zod11.z.string(),
1250
+ modDate: import_zod11.z.string(),
1251
+ // Text
1252
+ notes: import_zod11.z.string(),
1253
+ location: import_zod11.z.string().nullable(),
1254
+ locationLatitude: import_zod11.z.number().nullable(),
1255
+ locationLongitude: import_zod11.z.number().nullable(),
1256
+ // Config
1257
+ projectPlanStage: IdNameSchema,
1258
+ projectPlanPriority: IdNameSchema,
1259
+ projectPlanStatus: IdNameSchema,
1260
+ projectPlanType: import_zod11.z.object({
1261
+ id: import_zod11.z.number().int(),
1262
+ name: import_zod11.z.string(),
1263
+ isDefault: import_zod11.z.boolean().optional(),
1264
+ category: import_zod11.z.enum(["PROJECT", "SERVICE"]).optional()
1265
+ }),
1266
+ projectPlanTemplate: import_zod11.z.object({
1267
+ id: import_zod11.z.number().int(),
1268
+ name: import_zod11.z.string(),
1269
+ offsetEndDate: import_zod11.z.boolean().optional()
1270
+ }).nullable(),
1271
+ // Tasks
1272
+ finishedTasks: import_zod11.z.number().int(),
1273
+ openTasks: import_zod11.z.number().int(),
1274
+ // Relations
1275
+ user: import_zod11.z.object({ id: import_zod11.z.number().int(), name: import_zod11.z.string(), email: import_zod11.z.string().optional() }).nullable(),
1276
+ client: import_zod11.z.object({ id: import_zod11.z.number().int(), name: import_zod11.z.string() }),
1277
+ contact: IdNameSchema.nullable(),
1278
+ order: import_zod11.z.object({ id: import_zod11.z.number().int(), description: import_zod11.z.string().optional() }).nullable(),
1279
+ custom: import_zod11.z.array(CustomFieldSchema),
1280
+ productLists: import_zod11.z.array(import_zod11.z.unknown()),
1281
+ productListOrders: import_zod11.z.array(import_zod11.z.unknown()),
1282
+ // Linked entities
1283
+ activityId: import_zod11.z.number().int().optional(),
1284
+ appointmentId: import_zod11.z.number().int().optional(),
1285
+ ticketId: import_zod11.z.number().int().optional(),
1286
+ createdFromTicketId: import_zod11.z.number().int().optional(),
1287
+ agreementId: import_zod11.z.number().int().optional(),
1288
+ relatedOrderId: import_zod11.z.number().int().optional(),
1289
+ // Computed
1290
+ regBy: IdNameSchema,
1291
+ modBy: IdNameSchema
1292
+ });
1293
+ var CreateProjectPlanSchema = import_zod11.z.object({
1294
+ name: import_zod11.z.string(),
1295
+ startDate: import_zod11.z.string().nullable().optional(),
1296
+ endDate: import_zod11.z.string().nullable().optional(),
1297
+ startTime: import_zod11.z.string().nullable().optional(),
1298
+ endTime: import_zod11.z.string().nullable().optional(),
1299
+ notes: import_zod11.z.string().optional(),
1300
+ location: import_zod11.z.string().nullable().optional(),
1301
+ // Config
1302
+ projectPlanStage: import_zod11.z.object({ id: import_zod11.z.number().int() }).optional(),
1303
+ projectPlanPriority: import_zod11.z.object({ id: import_zod11.z.number().int() }).optional(),
1304
+ projectPlanStatus: import_zod11.z.object({ id: import_zod11.z.number().int() }).optional(),
1305
+ projectPlanType: import_zod11.z.object({ id: import_zod11.z.number().int() }).optional(),
1306
+ projectPlanTemplate: import_zod11.z.object({ id: import_zod11.z.number().int() }).nullable().optional(),
1307
+ // Relations
1308
+ user: import_zod11.z.object({ id: import_zod11.z.number().int() }).nullable().optional(),
1309
+ client: import_zod11.z.object({ id: import_zod11.z.number().int() }),
1310
+ contact: import_zod11.z.object({ id: import_zod11.z.number().int() }).nullable().optional(),
1311
+ order: import_zod11.z.object({ id: import_zod11.z.number().int() }).nullable().optional(),
1312
+ custom: import_zod11.z.array(CustomFieldSchema).optional(),
1313
+ productLists: import_zod11.z.array(import_zod11.z.unknown()).optional(),
1314
+ // Linked entities
1315
+ ticketId: import_zod11.z.number().int().optional(),
1316
+ agreementId: import_zod11.z.number().int().optional()
1317
+ });
1318
+ var UpdateProjectPlanSchema = CreateProjectPlanSchema.partial().extend({
1319
+ id: import_zod11.z.number().int()
1320
+ });
1321
+
1322
+ // src/socialEvent.ts
1323
+ var import_zod12 = require("zod");
1324
+ var SocialEventSchema = import_zod12.z.object({
1325
+ id: import_zod12.z.number().int(),
1326
+ name: import_zod12.z.string(),
1327
+ internalName: import_zod12.z.string(),
1328
+ location: import_zod12.z.string().nullable(),
1329
+ date: import_zod12.z.string(),
1330
+ endDate: import_zod12.z.string(),
1331
+ draft: import_zod12.z.boolean(),
1332
+ canceled: import_zod12.z.boolean(),
1333
+ cancelDate: import_zod12.z.string().nullable(),
1334
+ tickets: import_zod12.z.number().int(),
1335
+ userEditable: import_zod12.z.boolean(),
1336
+ userRemovable: import_zod12.z.boolean()
1337
+ });
1338
+ var CreateSocialEventSchema = import_zod12.z.object({
1339
+ name: import_zod12.z.string(),
1340
+ internalName: import_zod12.z.string().optional(),
1341
+ location: import_zod12.z.string().nullable().optional(),
1342
+ date: import_zod12.z.string(),
1343
+ endDate: import_zod12.z.string(),
1344
+ draft: import_zod12.z.boolean().optional(),
1345
+ tickets: import_zod12.z.number().int().optional()
1346
+ });
1347
+ var UpdateSocialEventSchema = CreateSocialEventSchema.partial().extend({
1348
+ id: import_zod12.z.number().int()
1349
+ });
1350
+
1351
+ // src/mail.ts
1352
+ var import_zod13 = require("zod");
1353
+ var MailRecipientSchema = import_zod13.z.object({
1354
+ type: import_zod13.z.enum(["contact", "user", "other"]),
1355
+ name: import_zod13.z.string().optional(),
1356
+ email: import_zod13.z.string(),
1357
+ id: import_zod13.z.number().int().optional(),
1358
+ client: import_zod13.z.object({ id: import_zod13.z.number().int() }).optional(),
1359
+ title: import_zod13.z.string().optional()
1360
+ });
1361
+ var MailRecipientsSchema = import_zod13.z.object({
1362
+ to: import_zod13.z.array(MailRecipientSchema),
1363
+ cc: import_zod13.z.array(MailRecipientSchema),
1364
+ bcc: import_zod13.z.array(MailRecipientSchema)
1365
+ });
1366
+ var AttachmentSchema = import_zod13.z.object({
1367
+ value: import_zod13.z.string(),
1368
+ filename: import_zod13.z.string(),
1369
+ type: import_zod13.z.string(),
1370
+ isProp: import_zod13.z.boolean().optional(),
1371
+ url: import_zod13.z.string().optional()
1372
+ });
1373
+ var MailEventSchema = import_zod13.z.object({
1374
+ id: import_zod13.z.number().int().optional(),
1375
+ value: import_zod13.z.string(),
1376
+ type: import_zod13.z.string(),
1377
+ date: import_zod13.z.string()
1378
+ });
1379
+ var MailSchema = import_zod13.z.object({
1380
+ id: import_zod13.z.number().int(),
1381
+ subject: import_zod13.z.string(),
1382
+ body: import_zod13.z.string(),
1383
+ from: import_zod13.z.string(),
1384
+ fromName: import_zod13.z.string(),
1385
+ to: import_zod13.z.string(),
1386
+ date: import_zod13.z.string(),
1387
+ type: import_zod13.z.string(),
1388
+ // Recipients
1389
+ recipients: MailRecipientsSchema.optional(),
1390
+ cc: import_zod13.z.array(import_zod13.z.string()),
1391
+ bcc: import_zod13.z.array(import_zod13.z.string()),
1392
+ // Attachments & events
1393
+ attachments: import_zod13.z.array(AttachmentSchema),
1394
+ events: import_zod13.z.array(MailEventSchema),
1395
+ // Relations
1396
+ client: import_zod13.z.object({ id: import_zod13.z.number().int(), name: import_zod13.z.string(), journeyStep: import_zod13.z.string().nullable().optional() }),
1397
+ contact: import_zod13.z.object({ id: import_zod13.z.number().int(), name: import_zod13.z.string(), email: import_zod13.z.string().optional() }).optional(),
1398
+ contacts: import_zod13.z.array(import_zod13.z.object({ id: import_zod13.z.number().int(), name: import_zod13.z.string(), email: import_zod13.z.string().optional() })).optional(),
1399
+ users: import_zod13.z.array(import_zod13.z.object({ id: import_zod13.z.number().int(), name: import_zod13.z.string(), email: import_zod13.z.string().optional() })),
1400
+ opportunity: import_zod13.z.unknown().optional(),
1401
+ activity: import_zod13.z.unknown().optional(),
1402
+ appointment: import_zod13.z.unknown().optional(),
1403
+ project: import_zod13.z.unknown().nullable(),
1404
+ // Thread
1405
+ threadId: import_zod13.z.string(),
1406
+ internetMessageId: import_zod13.z.string(),
1407
+ mailThreadId: import_zod13.z.number().int().optional(),
1408
+ mailsInThreadCount: import_zod13.z.number().int().optional(),
1409
+ thread: import_zod13.z.object({ id: import_zod13.z.number().int() }).optional(),
1410
+ // Tracking
1411
+ lastClickDate: import_zod13.z.string().optional(),
1412
+ lastEventDate: import_zod13.z.string().optional(),
1413
+ lastReadDate: import_zod13.z.string().optional(),
1414
+ // Other
1415
+ groupMailId: import_zod13.z.number().int(),
1416
+ jobId: import_zod13.z.number().int(),
1417
+ mailBodySnapshotId: import_zod13.z.number().int(),
1418
+ isMap: import_zod13.z.number().int(),
1419
+ externalMailId: import_zod13.z.unknown(),
1420
+ errorCause: import_zod13.z.unknown(),
1421
+ modDate: import_zod13.z.string(),
1422
+ email: import_zod13.z.string().optional(),
1423
+ template: import_zod13.z.unknown().nullable(),
1424
+ tags: import_zod13.z.unknown().nullable(),
1425
+ // Computed
1426
+ userEditable: import_zod13.z.boolean(),
1427
+ userRemovable: import_zod13.z.unknown()
1428
+ });
1429
+ var CreateMailSchema = import_zod13.z.object({
1430
+ subject: import_zod13.z.string(),
1431
+ body: import_zod13.z.string(),
1432
+ from: import_zod13.z.string(),
1433
+ to: import_zod13.z.string().optional(),
1434
+ recipients: MailRecipientsSchema.optional(),
1435
+ attachments: import_zod13.z.array(AttachmentSchema).optional(),
1436
+ client: import_zod13.z.object({ id: import_zod13.z.number().int() }).optional(),
1437
+ contact: import_zod13.z.object({ id: import_zod13.z.number().int() }).optional(),
1438
+ opportunity: import_zod13.z.object({ id: import_zod13.z.number().int() }).nullable().optional(),
1439
+ activity: import_zod13.z.object({ id: import_zod13.z.number().int() }).nullable().optional(),
1440
+ appointment: import_zod13.z.object({ id: import_zod13.z.number().int() }).nullable().optional()
1441
+ });
1442
+ var UpdateMailSchema = CreateMailSchema.partial().extend({
1443
+ id: import_zod13.z.number().int()
1444
+ });
1445
+ // Annotate the CommonJS export names for ESM import in node:
1446
+ 0 && (module.exports = {
1447
+ ActivitySchema,
1448
+ AddressSchema,
1449
+ AddressTypeSchema,
1450
+ AgreementSchema,
1451
+ AppointmentSchema,
1452
+ CategorySchema,
1453
+ ClientSchema,
1454
+ ContactSchema,
1455
+ CreateActivitySchema,
1456
+ CreateAgreementSchema,
1457
+ CreateAppointmentSchema,
1458
+ CreateClientSchema,
1459
+ CreateContactSchema,
1460
+ CreateMailSchema,
1461
+ CreateOpportunitySchema,
1462
+ CreateOrderSchema,
1463
+ CreateProductSchema,
1464
+ CreateProjectPlanSchema,
1465
+ CreateSocialEventSchema,
1466
+ CreateTicketSchema,
1467
+ CreateUserSchema,
1468
+ CustomFieldSchema,
1469
+ IdNameSchema,
1470
+ MailSchema,
1471
+ OpportunitySchema,
1472
+ OrderSchema,
1473
+ ProductSchema,
1474
+ ProjectPlanSchema,
1475
+ QuotaSchema,
1476
+ SocialEventSchema,
1477
+ TicketSchema,
1478
+ UpdateActivitySchema,
1479
+ UpdateAgreementSchema,
1480
+ UpdateAppointmentSchema,
1481
+ UpdateClientSchema,
1482
+ UpdateContactSchema,
1483
+ UpdateMailSchema,
1484
+ UpdateOpportunitySchema,
1485
+ UpdateOrderSchema,
1486
+ UpdateProductSchema,
1487
+ UpdateProjectPlanSchema,
1488
+ UpdateSocialEventSchema,
1489
+ UpdateTicketSchema,
1490
+ UpdateUserSchema,
1491
+ UserSchema
1492
+ });