@turndown/library 0.1.64 → 0.1.66

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,947 @@
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/types/index.ts
21
+ var types_exports = {};
22
+ __export(types_exports, {
23
+ ACCOUNT_STATUS: () => ACCOUNT_STATUS,
24
+ ACCOUNT_TYPE: () => ACCOUNT_TYPE,
25
+ AUTH_STATUS: () => AUTH_STATUS,
26
+ AcceptInvitationRequestSchema: () => AcceptInvitationRequestSchema,
27
+ BILLING_PERIOD: () => BILLING_PERIOD,
28
+ CHECKLIST_EXECUTION_STATUS: () => CHECKLIST_EXECUTION_STATUS,
29
+ COMPANY_RELATIONSHIP_STATUS: () => COMPANY_RELATIONSHIP_STATUS,
30
+ COMPANY_TYPES: () => COMPANY_TYPES,
31
+ ChangePasswordRequestSchema: () => ChangePasswordRequestSchema,
32
+ CompanyFilter: () => CompanyFilter,
33
+ CreateCompanyRequestSchema: () => CreateCompanyRequestSchema,
34
+ CreatePropertyRequestSchema: () => CreatePropertyRequestSchema,
35
+ CreateRoomRequestSchema: () => CreateRoomRequestSchema,
36
+ DAMAGE_SEVERITY: () => DAMAGE_SEVERITY,
37
+ DAMAGE_STATUS: () => DAMAGE_STATUS,
38
+ DATABASE_STATUS: () => DATABASE_STATUS,
39
+ ENVIRONMENT: () => ENVIRONMENT,
40
+ ERROR_CODES: () => ERROR_CODES,
41
+ FilterCondition: () => FilterCondition,
42
+ ForgotPasswordRequestSchema: () => ForgotPasswordRequestSchema,
43
+ HTTP_METHOD: () => HTTP_METHOD,
44
+ HTTP_STATUS: () => HTTP_STATUS,
45
+ IMAGE_ENTITY: () => IMAGE_ENTITY,
46
+ IMAGE_ENTITY_TYPE: () => IMAGE_ENTITY_TYPE,
47
+ INVENTORY_ITEM_TYPE: () => INVENTORY_ITEM_TYPE,
48
+ INVENTORY_RESTOCK_ORDER_STATUS: () => INVENTORY_RESTOCK_ORDER_STATUS,
49
+ INVENTORY_UNITS: () => INVENTORY_UNITS,
50
+ INVITATION_STATUS: () => INVITATION_STATUS,
51
+ InviteCompanyToCompanyRequestSchema: () => InviteCompanyToCompanyRequestSchema,
52
+ InviteUserToCompanyRequestSchema: () => InviteUserToCompanyRequestSchema,
53
+ LANGUAGE: () => LANGUAGE,
54
+ LoginRequestSchema: () => LoginRequestSchema,
55
+ LogoutRequestSchema: () => LogoutRequestSchema,
56
+ MODE: () => MODE,
57
+ MONTHS: () => MONTHS,
58
+ PROPERTY_STATUS: () => PROPERTY_STATUS,
59
+ PROPERTY_TYPES: () => PROPERTY_TYPES,
60
+ PropertyStatusOptions: () => PropertyStatusOptions,
61
+ PropertyTypeOptions: () => PropertyTypeOptions,
62
+ ROOM_TYPE: () => ROOM_TYPE,
63
+ RefreshSessionRequestSchema: () => RefreshSessionRequestSchema,
64
+ RegisterRequestSchema: () => RegisterRequestSchema,
65
+ RegisterWithInvitationRequestSchema: () => RegisterWithInvitationRequestSchema,
66
+ SERVER_STATUS: () => SERVER_STATUS,
67
+ SERVICE_TYPES: () => SERVICE_TYPES,
68
+ SEVERITY: () => SEVERITY,
69
+ STATUS: () => STATUS,
70
+ SUBSCRIPTION_PROVIDER: () => SUBSCRIPTION_PROVIDER,
71
+ SUBSCRIPTION_STATUS: () => SUBSCRIPTION_STATUS,
72
+ ServiceTypeOptions: () => ServiceTypeOptions,
73
+ SeverityOptions: () => SeverityOptions,
74
+ SortDirection: () => SortDirection,
75
+ StatusOptions: () => StatusOptions,
76
+ US_JURISDICTIONS: () => US_JURISDICTIONS,
77
+ UnitedStatesJurisdictionOptions: () => UnitedStatesJurisdictionOptions,
78
+ UpdateCompanyRequestSchema: () => UpdateCompanyRequestSchema,
79
+ UpdateCurrentUserRequestSchema: () => UpdateCurrentUserRequestSchema,
80
+ UpdatePropertyAccessInformationRequestSchema: () => UpdatePropertyAccessInformationRequestSchema,
81
+ UpdatePropertyRequestSchema: () => UpdatePropertyRequestSchema,
82
+ UpdateRoomRequestSchema: () => UpdateRoomRequestSchema,
83
+ UpdateUserRequestSchema: () => UpdateUserRequestSchema,
84
+ WEEK_DAY: () => WEEK_DAY,
85
+ WEEK_DAY_LETTER: () => WEEK_DAY_LETTER,
86
+ WEEK_DAY_SHORT_LABEL: () => WEEK_DAY_SHORT_LABEL,
87
+ WORK_ORDER_PRIORITY: () => WORK_ORDER_PRIORITY,
88
+ WORK_ORDER_STATUS: () => WORK_ORDER_STATUS,
89
+ WORK_SESSION_STATUS: () => WORK_SESSION_STATUS,
90
+ createPagingObject: () => createPagingObject,
91
+ createValidationSchema: () => createValidationSchema,
92
+ isAuthError: () => isAuthError,
93
+ isMissingFieldsError: () => isMissingFieldsError,
94
+ isRateLimitError: () => isRateLimitError,
95
+ isValidationError: () => isValidationError,
96
+ optionalEnumField: () => optionalEnumField,
97
+ optionalNullableEnumField: () => optionalNullableEnumField,
98
+ optionalNullableNonNegativeIntegerField: () => optionalNullableNonNegativeIntegerField,
99
+ optionalNullableStringField: () => optionalNullableStringField,
100
+ optionalRecordField: () => optionalRecordField,
101
+ optionalStringField: () => optionalStringField,
102
+ requiredEmailField: () => requiredEmailField,
103
+ requiredEnumField: () => requiredEnumField,
104
+ requiredStringField: () => requiredStringField,
105
+ requiredUuidField: () => requiredUuidField
106
+ });
107
+ module.exports = __toCommonJS(types_exports);
108
+
109
+ // src/types/api/index.ts
110
+ var HTTP_METHOD = {
111
+ GET: "GET",
112
+ POST: "POST",
113
+ PUT: "PUT",
114
+ PATCH: "PATCH",
115
+ DELETE: "DELETE"
116
+ };
117
+ var ERROR_CODES = {
118
+ BAD_REQUEST: "BAD_REQUEST",
119
+ VALIDATION_ERROR: "VALIDATION_ERROR",
120
+ MISSING_FIELDS: "MISSING_FIELDS",
121
+ UNAUTHORIZED: "UNAUTHORIZED",
122
+ INVALID_TOKEN: "INVALID_TOKEN",
123
+ INVALID_CREDENTIALS: "INVALID_CREDENTIALS",
124
+ FORBIDDEN: "FORBIDDEN",
125
+ NOT_FOUND: "NOT_FOUND",
126
+ CONFLICT: "CONFLICT",
127
+ ALREADY_EXISTS: "ALREADY_EXISTS",
128
+ RATE_LIMIT: "RATE_LIMIT",
129
+ RATE_LIMIT_EXCEEDED: "RATE_LIMIT_EXCEEDED",
130
+ INTERNAL_ERROR: "INTERNAL_ERROR",
131
+ DATABASE_ERROR: "DATABASE_ERROR",
132
+ NOT_IMPLEMENTED: "NOT_IMPLEMENTED"
133
+ };
134
+ var HTTP_STATUS = {
135
+ Ok: 200,
136
+ Created: 201,
137
+ NoContent: 204,
138
+ BadRequest: 400,
139
+ Unauthorized: 401,
140
+ Forbidden: 403,
141
+ NotFound: 404,
142
+ Conflict: 409,
143
+ UnprocessableEntity: 422,
144
+ TooManyRequests: 429,
145
+ InternalError: 500
146
+ };
147
+
148
+ // src/types/validation/index.ts
149
+ var createValidationSchema = (fields) => {
150
+ const allowedFields = Object.keys(fields);
151
+ const requiredFields = allowedFields.filter((fieldName) => {
152
+ return fields[fieldName].required;
153
+ });
154
+ return {
155
+ fields,
156
+ allowedFields,
157
+ requiredFields,
158
+ validate: (value, options = {}) => {
159
+ if (!isRecord(value)) {
160
+ return {
161
+ success: false,
162
+ issues: [
163
+ {
164
+ fieldName: "body",
165
+ type: "INVALID_BODY"
166
+ }
167
+ ]
168
+ };
169
+ }
170
+ const issues = getValidationIssues(fields, value, options);
171
+ if (issues.length > 0) {
172
+ return {
173
+ success: false,
174
+ issues
175
+ };
176
+ }
177
+ return {
178
+ success: true,
179
+ data: value,
180
+ issues: []
181
+ };
182
+ }
183
+ };
184
+ };
185
+ var requiredStringField = (missingValuePolicy = "Nullish") => ({
186
+ required: true,
187
+ missingValuePolicy,
188
+ validate: isNonEmptyString
189
+ });
190
+ var optionalStringField = () => ({
191
+ required: false,
192
+ missingValuePolicy: "Nullish",
193
+ validate: isNonEmptyString
194
+ });
195
+ var optionalNullableStringField = () => ({
196
+ required: false,
197
+ missingValuePolicy: "Nullish",
198
+ validate: (value) => {
199
+ return value === null || isNonEmptyString(value);
200
+ }
201
+ });
202
+ var requiredEmailField = (missingValuePolicy = "BlankString") => ({
203
+ required: true,
204
+ missingValuePolicy,
205
+ validate: isEmail
206
+ });
207
+ var requiredUuidField = (missingValuePolicy = "Nullish") => ({
208
+ required: true,
209
+ missingValuePolicy,
210
+ validate: isUuid
211
+ });
212
+ var optionalNullableNonNegativeIntegerField = () => ({
213
+ required: false,
214
+ missingValuePolicy: "Nullish",
215
+ validate: (value) => {
216
+ return value === null || Number.isInteger(value) && Number(value) >= 0;
217
+ }
218
+ });
219
+ var optionalRecordField = () => ({
220
+ required: false,
221
+ missingValuePolicy: "Nullish",
222
+ validate: isRecord
223
+ });
224
+ var requiredEnumField = (allowedValues, missingValuePolicy = "Nullish") => ({
225
+ required: true,
226
+ missingValuePolicy,
227
+ validate: (value) => {
228
+ return isAllowedStringValue(value, allowedValues);
229
+ }
230
+ });
231
+ var optionalEnumField = (allowedValues) => ({
232
+ required: false,
233
+ missingValuePolicy: "Nullish",
234
+ validate: (value) => {
235
+ return isAllowedStringValue(value, allowedValues);
236
+ }
237
+ });
238
+ var optionalNullableEnumField = (allowedValues) => ({
239
+ required: false,
240
+ missingValuePolicy: "Nullish",
241
+ validate: (value) => {
242
+ return value === null || isAllowedStringValue(value, allowedValues);
243
+ }
244
+ });
245
+ var getValidationIssues = (fields, value, options) => {
246
+ const allowedFieldSet = new Set(Object.keys(fields));
247
+ const issues = [];
248
+ Object.entries(fields).forEach(([fieldName, field]) => {
249
+ const fieldValue = value[fieldName];
250
+ if (field.required && isMissingValue(fieldValue, field.missingValuePolicy)) {
251
+ issues.push({
252
+ fieldName,
253
+ type: "MISSING_FIELD"
254
+ });
255
+ return;
256
+ }
257
+ if (fieldValue === void 0) {
258
+ return;
259
+ }
260
+ if (!field.validate(fieldValue)) {
261
+ issues.push({
262
+ fieldName,
263
+ type: "INVALID_FIELD"
264
+ });
265
+ }
266
+ });
267
+ if (options.rejectUnknownFields === true) {
268
+ Object.keys(value).forEach((fieldName) => {
269
+ if (!allowedFieldSet.has(fieldName)) {
270
+ issues.push({
271
+ fieldName,
272
+ type: "UNSUPPORTED_FIELD"
273
+ });
274
+ }
275
+ });
276
+ }
277
+ return issues;
278
+ };
279
+ var isRecord = (value) => {
280
+ return typeof value === "object" && value !== null && !Array.isArray(value);
281
+ };
282
+ var isMissingValue = (value, missingValuePolicy) => {
283
+ if (value === void 0 || value === null) {
284
+ return true;
285
+ }
286
+ return missingValuePolicy === "BlankString" && typeof value === "string" && value.trim().length === 0;
287
+ };
288
+ var isNonEmptyString = (value) => {
289
+ return typeof value === "string" && value.trim().length > 0;
290
+ };
291
+ var isAllowedStringValue = (value, allowedValues) => {
292
+ return typeof value === "string" && allowedValues.includes(value);
293
+ };
294
+ var isEmail = (value) => {
295
+ if (!isNonEmptyString(value)) {
296
+ return false;
297
+ }
298
+ return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value.trim());
299
+ };
300
+ var isUuid = (value) => {
301
+ if (!isNonEmptyString(value)) {
302
+ return false;
303
+ }
304
+ return /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(
305
+ value
306
+ );
307
+ };
308
+
309
+ // src/types/user/constants.ts
310
+ var ACCOUNT_TYPE = {
311
+ TURNDOWN_ADMIN: "TURNDOWN_ADMIN",
312
+ ACCOUNT_ADMIN: "ACCOUNT_ADMIN",
313
+ MANAGER: "MANAGER",
314
+ STAFF: "STAFF",
315
+ GUEST: "GUEST"
316
+ };
317
+ var ACCOUNT_STATUS = {
318
+ ACTIVE: "ACTIVE",
319
+ INACTIVE: "INACTIVE",
320
+ SUSPENDED: "SUSPENDED",
321
+ PENDING: "PENDING"
322
+ };
323
+ var LANGUAGE = {
324
+ ENGLISH: "ENGLISH",
325
+ FRENCH: "FRENCH",
326
+ SPANISH: "SPANISH",
327
+ GERMAN: "GERMAN"
328
+ };
329
+
330
+ // src/types/auth/routes.ts
331
+ var AccountTypeValues = Object.values(ACCOUNT_TYPE);
332
+ var RegisterRequestSchema = createValidationSchema({
333
+ email: requiredEmailField(),
334
+ password: requiredStringField("BlankString"),
335
+ firstName: requiredStringField("BlankString"),
336
+ lastName: optionalStringField(),
337
+ accountType: requiredEnumField(AccountTypeValues, "BlankString"),
338
+ deviceInfo: optionalRecordField()
339
+ });
340
+ var LoginRequestSchema = createValidationSchema({
341
+ email: requiredEmailField(),
342
+ password: requiredStringField("BlankString"),
343
+ deviceInfo: optionalRecordField()
344
+ });
345
+ var RefreshSessionRequestSchema = createValidationSchema({
346
+ refreshToken: requiredStringField("BlankString"),
347
+ deviceInfo: optionalRecordField()
348
+ });
349
+ var LogoutRequestSchema = createValidationSchema({
350
+ refreshToken: optionalStringField()
351
+ });
352
+ var ChangePasswordRequestSchema = createValidationSchema({
353
+ currentPassword: requiredStringField("BlankString"),
354
+ newPassword: requiredStringField("BlankString")
355
+ });
356
+ var ForgotPasswordRequestSchema = createValidationSchema({
357
+ email: requiredEmailField()
358
+ });
359
+ var RegisterWithInvitationRequestSchema = createValidationSchema({
360
+ token: requiredStringField("BlankString"),
361
+ password: requiredStringField("BlankString"),
362
+ firstName: requiredStringField("BlankString"),
363
+ lastName: optionalStringField(),
364
+ deviceInfo: optionalRecordField()
365
+ });
366
+ var AcceptInvitationRequestSchema = createValidationSchema({
367
+ userId: optionalStringField(),
368
+ token: requiredStringField("BlankString")
369
+ });
370
+
371
+ // src/types/auth/index.ts
372
+ var AUTH_STATUS = {
373
+ Initializing: "Initializing",
374
+ Unauthenticated: "Unauthenticated",
375
+ Authenticated: "Authenticated",
376
+ Refreshing: "Refreshing",
377
+ SessionExpired: "SessionExpired"
378
+ };
379
+
380
+ // src/types/base/paging.types.ts
381
+ var SortDirection = {
382
+ Asc: "Asc",
383
+ Desc: "Desc"
384
+ };
385
+ var FilterCondition = {
386
+ Equal: "=",
387
+ GreaterThan: ">",
388
+ LessThan: "<",
389
+ NotEqual: "!=",
390
+ Like: "LIKE",
391
+ In: "IN",
392
+ GreaterThanOrEqual: ">=",
393
+ LessThanOrEqual: "<="
394
+ };
395
+ var createPagingObject = (page, size, sort, filters) => ({
396
+ pagination: {
397
+ page,
398
+ size,
399
+ sort,
400
+ filters
401
+ }
402
+ });
403
+
404
+ // src/types/base/index.ts
405
+ var ENVIRONMENT = {
406
+ Prod: "Prod",
407
+ Dev: "Dev",
408
+ Local: "Local",
409
+ Test: "Test"
410
+ };
411
+ var MODE = {
412
+ Create: "Create",
413
+ Edit: "Edit",
414
+ Delete: "Delete",
415
+ Details: "Details"
416
+ };
417
+ var IMAGE_ENTITY = {
418
+ USER_PROFILE: "USER_PROFILE",
419
+ PROPERTY: "PROPERTY",
420
+ COMPANY: "COMPANY",
421
+ CHECKLIST_ITEM: "CHECKLIST_ITEM",
422
+ PROPERTY_ROOM: "PROPERTY_ROOM",
423
+ MAINTENANCE_TICKET: "MAINTENANCE_TICKET",
424
+ WORK_REPORT: "WORK_REPORT",
425
+ CLEANING_REPORT: "CLEANING_REPORT",
426
+ TURNDOWN_DEFAULT: "TURNDOWN_DEFAULT"
427
+ };
428
+ var US_JURISDICTIONS = {
429
+ // 50 States
430
+ AL: "Alabama",
431
+ AK: "Alaska",
432
+ AZ: "Arizona",
433
+ AR: "Arkansas",
434
+ CA: "California",
435
+ CO: "Colorado",
436
+ CT: "Connecticut",
437
+ DE: "Delaware",
438
+ FL: "Florida",
439
+ GA: "Georgia",
440
+ HI: "Hawaii",
441
+ ID: "Idaho",
442
+ IL: "Illinois",
443
+ IN: "Indiana",
444
+ IA: "Iowa",
445
+ KS: "Kansas",
446
+ KY: "Kentucky",
447
+ LA: "Louisiana",
448
+ ME: "Maine",
449
+ MD: "Maryland",
450
+ MA: "Massachusetts",
451
+ MI: "Michigan",
452
+ MN: "Minnesota",
453
+ MS: "Mississippi",
454
+ MO: "Missouri",
455
+ MT: "Montana",
456
+ NE: "Nebraska",
457
+ NV: "Nevada",
458
+ NH: "New Hampshire",
459
+ NJ: "New Jersey",
460
+ NM: "New Mexico",
461
+ NY: "New York",
462
+ NC: "North Carolina",
463
+ ND: "North Dakota",
464
+ OH: "Ohio",
465
+ OK: "Oklahoma",
466
+ OR: "Oregon",
467
+ PA: "Pennsylvania",
468
+ RI: "Rhode Island",
469
+ SC: "South Carolina",
470
+ SD: "South Dakota",
471
+ TN: "Tennessee",
472
+ TX: "Texas",
473
+ UT: "Utah",
474
+ VT: "Vermont",
475
+ VA: "Virginia",
476
+ WA: "Washington",
477
+ WV: "West Virginia",
478
+ WI: "Wisconsin",
479
+ WY: "Wyoming",
480
+ // Territories
481
+ DC: "District of Columbia",
482
+ PR: "Puerto Rico",
483
+ GU: "Guam",
484
+ VI: "United States Virgin Islands",
485
+ AS: "American Samoa",
486
+ MP: "Northern Mariana Islands"
487
+ };
488
+ var STATUS = {
489
+ PENDING: "PENDING",
490
+ IN_PROGRESS: "IN_PROGRESS",
491
+ COMPLETED: "COMPLETED",
492
+ OVERDUE: "OVERDUE",
493
+ ACTIVE: "ACTIVE",
494
+ INACTIVE: "INACTIVE"
495
+ };
496
+ var SEVERITY = {
497
+ LOW: "LOW",
498
+ MEDIUM: "MEDIUM",
499
+ HIGH: "HIGH"
500
+ };
501
+ var SERVICE_TYPES = {
502
+ PROPERTY: "PROPERTY",
503
+ CLEANING: "CLEANING",
504
+ MAINTENANCE: "MAINTENANCE",
505
+ INSPECTION: "INSPECTION",
506
+ OTHER: "OTHER"
507
+ };
508
+ var MONTHS = [
509
+ "January",
510
+ "February",
511
+ "March",
512
+ "April",
513
+ "May",
514
+ "June",
515
+ "July",
516
+ "August",
517
+ "September",
518
+ "October",
519
+ "November",
520
+ "December"
521
+ ];
522
+ var WEEK_DAY = {
523
+ Sunday: "Sunday",
524
+ Monday: "Monday",
525
+ Tuesday: "Tuesday",
526
+ Wednesday: "Wednesday",
527
+ Thursday: "Thursday",
528
+ Friday: "Friday",
529
+ Saturday: "Saturday"
530
+ };
531
+ var WEEK_DAY_SHORT_LABEL = {
532
+ Sunday: "Sun",
533
+ Monday: "Mon",
534
+ Tuesday: "Tue",
535
+ Wednesday: "Wed",
536
+ Thursday: "Thu",
537
+ Friday: "Fri",
538
+ Saturday: "Sat"
539
+ };
540
+ var WEEK_DAY_LETTER = {
541
+ Sunday: "S",
542
+ Monday: "M",
543
+ Tuesday: "T",
544
+ Wednesday: "W",
545
+ Thursday: "T",
546
+ Friday: "F",
547
+ Saturday: "S"
548
+ };
549
+ var createSelectOptions = (values) => values.map((value) => ({
550
+ label: value,
551
+ value
552
+ }));
553
+ var getRecordValues = (record) => Object.values(record);
554
+ var UnitedStatesJurisdictionOptions = createSelectOptions(
555
+ getRecordValues(US_JURISDICTIONS)
556
+ );
557
+ var StatusOptions = [
558
+ { label: "Pending", value: STATUS.PENDING },
559
+ { label: "In Progress", value: STATUS.IN_PROGRESS },
560
+ { label: "Completed", value: STATUS.COMPLETED },
561
+ { label: "Overdue", value: STATUS.OVERDUE },
562
+ { label: "Active", value: STATUS.ACTIVE },
563
+ { label: "Inactive", value: STATUS.INACTIVE }
564
+ ];
565
+ var SeverityOptions = [
566
+ { label: "Low", value: SEVERITY.LOW },
567
+ { label: "Medium", value: SEVERITY.MEDIUM },
568
+ { label: "High", value: SEVERITY.HIGH }
569
+ ];
570
+ var ServiceTypeOptions = [
571
+ { label: "Property", value: SERVICE_TYPES.PROPERTY },
572
+ { label: "Cleaning", value: SERVICE_TYPES.CLEANING },
573
+ { label: "Maintenance", value: SERVICE_TYPES.MAINTENANCE },
574
+ { label: "Inspection", value: SERVICE_TYPES.INSPECTION },
575
+ { label: "Other", value: SERVICE_TYPES.OTHER }
576
+ ];
577
+
578
+ // src/types/company/constants.ts
579
+ var COMPANY_RELATIONSHIP_STATUS = {
580
+ ACTIVE: "ACTIVE",
581
+ INACTIVE: "INACTIVE",
582
+ SUSPENDED: "SUSPENDED"
583
+ };
584
+ var INVITATION_STATUS = {
585
+ PENDING: "PENDING",
586
+ ACCEPTED: "ACCEPTED",
587
+ EXPIRED: "EXPIRED",
588
+ REVOKED: "REVOKED",
589
+ DECLINED: "DECLINED"
590
+ };
591
+ var COMPANY_TYPES = {
592
+ PROPERTY_MANAGEMENT: "PROPERTY_MANAGEMENT",
593
+ MAINTENANCE: "MAINTENANCE",
594
+ CLEANER: "CLEANER",
595
+ OTHER: "OTHER"
596
+ };
597
+
598
+ // src/types/company/routes.ts
599
+ var CompanyFilter = {
600
+ Active: "active",
601
+ Pending: "pending",
602
+ All: "all"
603
+ };
604
+ var CompanyTypeValues = Object.values(COMPANY_TYPES);
605
+ var StateCodeValues = Object.keys(US_JURISDICTIONS);
606
+ var InviteUserRoleValues = Object.values(ACCOUNT_TYPE).filter(
607
+ (accountType) => accountType !== ACCOUNT_TYPE.TURNDOWN_ADMIN
608
+ );
609
+ var CreateCompanyRequestSchema = createValidationSchema({
610
+ displayName: requiredStringField("BlankString"),
611
+ addressLine1: requiredStringField("BlankString"),
612
+ addressLine2: optionalNullableStringField(),
613
+ city: requiredStringField("BlankString"),
614
+ stateCode: requiredEnumField(StateCodeValues, "BlankString"),
615
+ postalCode: requiredStringField("BlankString"),
616
+ companyType: requiredEnumField(CompanyTypeValues, "BlankString"),
617
+ country: optionalNullableStringField(),
618
+ timezone: optionalNullableStringField(),
619
+ imageUrl: optionalNullableStringField()
620
+ });
621
+ var UpdateCompanyRequestSchema = createValidationSchema({
622
+ displayName: optionalStringField(),
623
+ addressLine1: optionalStringField(),
624
+ addressLine2: optionalNullableStringField(),
625
+ city: optionalStringField(),
626
+ stateCode: optionalEnumField(StateCodeValues),
627
+ postalCode: optionalStringField(),
628
+ companyType: optionalEnumField(CompanyTypeValues),
629
+ country: optionalNullableStringField(),
630
+ timezone: optionalNullableStringField(),
631
+ imageUrl: optionalNullableStringField()
632
+ });
633
+ var InviteUserToCompanyRequestSchema = createValidationSchema({
634
+ email: requiredEmailField(),
635
+ role: requiredEnumField(InviteUserRoleValues, "BlankString")
636
+ });
637
+ var InviteCompanyToCompanyRequestSchema = createValidationSchema({
638
+ providerCompanyId: requiredUuidField(),
639
+ message: optionalNullableStringField()
640
+ });
641
+
642
+ // src/types/damage-report/index.ts
643
+ var DAMAGE_SEVERITY = {
644
+ LOW: "LOW",
645
+ MEDIUM: "MEDIUM",
646
+ HIGH: "HIGH",
647
+ CRITICAL: "CRITICAL"
648
+ };
649
+ var DAMAGE_STATUS = {
650
+ OPEN: "OPEN",
651
+ IN_REVIEW: "IN_REVIEW",
652
+ ASSIGNED: "ASSIGNED",
653
+ IN_PROGRESS: "IN_PROGRESS",
654
+ RESOLVED: "RESOLVED",
655
+ CLOSED: "CLOSED",
656
+ ESCALATED: "ESCALATED"
657
+ };
658
+ var WORK_ORDER_PRIORITY = {
659
+ LOW: "LOW",
660
+ NORMAL: "NORMAL",
661
+ HIGH: "HIGH",
662
+ URGENT: "URGENT"
663
+ };
664
+ var WORK_ORDER_STATUS = {
665
+ PENDING: "PENDING",
666
+ SCHEDULED: "SCHEDULED",
667
+ IN_PROGRESS: "IN_PROGRESS",
668
+ COMPLETED: "COMPLETED",
669
+ CANCELLED: "CANCELLED"
670
+ };
671
+
672
+ // src/types/errors/index.ts
673
+ var isErrorLike = (error) => {
674
+ return typeof error === "object" && error !== null;
675
+ };
676
+ function isValidationError(error) {
677
+ return isErrorLike(error) && error.code === ERROR_CODES.VALIDATION_ERROR && Array.isArray(error.details);
678
+ }
679
+ function isMissingFieldsError(error) {
680
+ return isErrorLike(error) && error.code === ERROR_CODES.MISSING_FIELDS && typeof error.details === "object" && error.details !== null && "missingFields" in error.details && Array.isArray(error.details.missingFields);
681
+ }
682
+ function isRateLimitError(error) {
683
+ return isErrorLike(error) && error.code === ERROR_CODES.RATE_LIMIT_EXCEEDED;
684
+ }
685
+ function isAuthError(error) {
686
+ return isErrorLike(error) && (error.code === ERROR_CODES.UNAUTHORIZED || error.code === ERROR_CODES.INVALID_TOKEN || error.code === ERROR_CODES.INVALID_CREDENTIALS);
687
+ }
688
+
689
+ // src/types/health/index.ts
690
+ var SERVER_STATUS = {
691
+ Healthy: "Healthy",
692
+ Unhealthy: "UnHealthy"
693
+ };
694
+ var DATABASE_STATUS = {
695
+ Unknown: "Unknown",
696
+ Connected: "Connected",
697
+ Disconnected: "Disconnected"
698
+ };
699
+
700
+ // src/types/image/index.ts
701
+ var IMAGE_ENTITY_TYPE = {
702
+ USER_PROFILE: "USER_PROFILE",
703
+ PROPERTY: "PROPERTY",
704
+ COMPANY: "COMPANY",
705
+ CHECKLIST_ITEM: "CHECKLIST_ITEM",
706
+ PROPERTY_ROOM: "PROPERTY_ROOM",
707
+ MAINTENANCE_TICKET: "MAINTENANCE_TICKET",
708
+ WORK_REPORT: "WORK_REPORT",
709
+ CLEANING_REPORT: "CLEANING_REPORT",
710
+ TURNDOWN_DEFAULT: "TURNDOWN_DEFAULT"
711
+ };
712
+
713
+ // src/types/inventory/index.ts
714
+ var INVENTORY_RESTOCK_ORDER_STATUS = {
715
+ PENDING: "PENDING",
716
+ ORDERED: "ORDERED",
717
+ SHIPPED: "SHIPPED",
718
+ RECEIVED: "RECEIVED"
719
+ };
720
+ var INVENTORY_UNITS = {
721
+ COUNT: "COUNT",
722
+ ROLLS: "ROLLS",
723
+ PODS: "PODS",
724
+ BOXES: "BOXES",
725
+ BOTTLES: "BOTTLES",
726
+ PACKS: "PACKS",
727
+ BAGS: "BAGS",
728
+ GALLONS: "GALLONS",
729
+ LITERS: "LITERS",
730
+ KILOGRAMS: "KILOGRAMS",
731
+ POUNDS: "POUNDS",
732
+ OUNCES: "OUNCES",
733
+ GRAMS: "GRAMS",
734
+ SHEETS: "SHEETS",
735
+ CASES: "CASES",
736
+ CARTONS: "CARTONS",
737
+ OTHER: "OTHER"
738
+ };
739
+ var INVENTORY_ITEM_TYPE = {
740
+ CONSUMABLE: "CONSUMABLE",
741
+ FIXED: "FIXED"
742
+ };
743
+
744
+ // src/types/property/constants.ts
745
+ var PROPERTY_STATUS = {
746
+ ACTIVE: "ACTIVE",
747
+ INACTIVE: "INACTIVE"
748
+ };
749
+ var PropertyStatusOptions = [
750
+ {
751
+ label: "Active",
752
+ value: PROPERTY_STATUS.ACTIVE
753
+ },
754
+ {
755
+ label: "Inactive",
756
+ value: PROPERTY_STATUS.INACTIVE
757
+ }
758
+ ];
759
+ var PROPERTY_TYPES = {
760
+ APARTMENT: "APARTMENT",
761
+ COMMERCIAL: "COMMERCIAL",
762
+ CONDO: "CONDO",
763
+ DUPLEX: "DUPLEX",
764
+ HOUSE: "HOUSE",
765
+ MULTI_FAMILY: "MULTI_FAMILY",
766
+ OFFICE: "OFFICE",
767
+ RETAIL: "RETAIL",
768
+ TOWNHOUSE: "TOWNHOUSE",
769
+ VACATION_RENTAL: "VACATION_RENTAL",
770
+ WAREHOUSE: "WAREHOUSE"
771
+ };
772
+ var PropertyTypeOptions = [
773
+ {
774
+ label: "Apartment",
775
+ value: PROPERTY_TYPES.APARTMENT
776
+ },
777
+ {
778
+ label: "Commercial",
779
+ value: PROPERTY_TYPES.COMMERCIAL
780
+ },
781
+ {
782
+ label: "Condo",
783
+ value: PROPERTY_TYPES.CONDO
784
+ },
785
+ {
786
+ label: "Duplex",
787
+ value: PROPERTY_TYPES.DUPLEX
788
+ },
789
+ {
790
+ label: "House",
791
+ value: PROPERTY_TYPES.HOUSE
792
+ },
793
+ {
794
+ label: "Multi-Family",
795
+ value: PROPERTY_TYPES.MULTI_FAMILY
796
+ },
797
+ {
798
+ label: "Office",
799
+ value: PROPERTY_TYPES.OFFICE
800
+ },
801
+ {
802
+ label: "Retail",
803
+ value: PROPERTY_TYPES.RETAIL
804
+ },
805
+ {
806
+ label: "Townhouse",
807
+ value: PROPERTY_TYPES.TOWNHOUSE
808
+ },
809
+ {
810
+ label: "Vacation Rental",
811
+ value: PROPERTY_TYPES.VACATION_RENTAL
812
+ },
813
+ {
814
+ label: "Warehouse",
815
+ value: PROPERTY_TYPES.WAREHOUSE
816
+ }
817
+ ];
818
+
819
+ // src/types/property/routes.ts
820
+ var PropertyTypeValues = Object.values(PROPERTY_TYPES);
821
+ var PropertyStatusValues = Object.values(PROPERTY_STATUS);
822
+ var StateCodeValues2 = Object.keys(US_JURISDICTIONS);
823
+ var CreatePropertyRequestSchema = createValidationSchema({
824
+ companyId: requiredStringField(),
825
+ displayName: requiredStringField(),
826
+ propertyType: requiredEnumField(PropertyTypeValues),
827
+ status: optionalNullableEnumField(PropertyStatusValues),
828
+ addressLine1: requiredStringField(),
829
+ addressLine2: optionalNullableStringField(),
830
+ city: requiredStringField(),
831
+ stateCode: requiredEnumField(StateCodeValues2),
832
+ postalCode: requiredStringField(),
833
+ country: optionalNullableStringField(),
834
+ sqft: optionalNullableNonNegativeIntegerField(),
835
+ timezone: optionalNullableStringField(),
836
+ imageUrl: optionalNullableStringField(),
837
+ specialNotes: optionalNullableStringField()
838
+ });
839
+ var UpdatePropertyRequestSchema = createValidationSchema({
840
+ displayName: optionalStringField(),
841
+ propertyType: optionalNullableEnumField(PropertyTypeValues),
842
+ status: optionalNullableEnumField(PropertyStatusValues),
843
+ addressLine1: optionalStringField(),
844
+ addressLine2: optionalNullableStringField(),
845
+ city: optionalStringField(),
846
+ stateCode: optionalEnumField(StateCodeValues2),
847
+ postalCode: optionalStringField(),
848
+ country: optionalNullableStringField(),
849
+ sqft: optionalNullableNonNegativeIntegerField(),
850
+ timezone: optionalNullableStringField(),
851
+ imageUrl: optionalNullableStringField(),
852
+ specialNotes: optionalNullableStringField()
853
+ });
854
+ var UpdatePropertyAccessInformationRequestSchema = createValidationSchema({
855
+ entryInstructions: optionalNullableStringField(),
856
+ accessCode: optionalNullableStringField(),
857
+ wifiName: optionalNullableStringField(),
858
+ wifiPassword: optionalNullableStringField(),
859
+ alarmCode: optionalNullableStringField(),
860
+ parkingInfo: optionalNullableStringField(),
861
+ specialNotes: optionalNullableStringField()
862
+ });
863
+
864
+ // src/types/room/constants.ts
865
+ var ROOM_TYPE = {
866
+ BEDROOM: "BEDROOM",
867
+ BATHROOM: "BATHROOM",
868
+ KITCHEN: "KITCHEN",
869
+ LIVING_ROOM: "LIVING_ROOM",
870
+ DINING_ROOM: "DINING_ROOM",
871
+ OFFICE: "OFFICE",
872
+ GARAGE: "GARAGE",
873
+ LAUNDRY_ROOM: "LAUNDRY_ROOM",
874
+ BASEMENT: "BASEMENT",
875
+ ATTIC: "ATTIC",
876
+ BALCONY: "BALCONY",
877
+ PORCH: "PORCH",
878
+ GARDEN: "GARDEN",
879
+ OTHER: "OTHER"
880
+ };
881
+
882
+ // src/types/room/routes.ts
883
+ var RoomTypeValues = Object.values(ROOM_TYPE);
884
+ var CreateRoomRequestSchema = createValidationSchema({
885
+ propertyId: requiredStringField(),
886
+ displayName: requiredStringField(),
887
+ description: optionalNullableStringField(),
888
+ checklistTemplateId: optionalNullableStringField(),
889
+ roomType: optionalNullableEnumField(RoomTypeValues),
890
+ heroPhoto: optionalNullableStringField()
891
+ });
892
+ var UpdateRoomRequestSchema = createValidationSchema({
893
+ displayName: optionalStringField(),
894
+ description: optionalNullableStringField(),
895
+ checklistTemplateId: optionalNullableStringField(),
896
+ roomType: optionalNullableEnumField(RoomTypeValues),
897
+ heroPhoto: optionalNullableStringField()
898
+ });
899
+
900
+ // src/types/subscription/index.ts
901
+ var SUBSCRIPTION_STATUS = {
902
+ ACTIVE: "ACTIVE",
903
+ CANCELED: "CANCELED",
904
+ EXPIRED: "EXPIRED",
905
+ PAST_DUE: "PAST_DUE",
906
+ TRIALING: "TRIALING"
907
+ };
908
+ var SUBSCRIPTION_PROVIDER = {
909
+ STRIPE: "STRIPE",
910
+ APPLE: "APPLE",
911
+ GOOGLE: "GOOGLE"
912
+ };
913
+ var BILLING_PERIOD = {
914
+ MONTHLY: "MONTHLY",
915
+ YEARLY: "YEARLY"
916
+ };
917
+
918
+ // src/types/user/routes.ts
919
+ var LanguageValues = Object.values(LANGUAGE);
920
+ var UpdateUserRequestSchema = createValidationSchema({
921
+ firstName: optionalStringField(),
922
+ lastName: optionalNullableStringField(),
923
+ mi: optionalNullableStringField(),
924
+ username: optionalNullableStringField(),
925
+ email: optionalStringField(),
926
+ phoneNumber: optionalNullableStringField(),
927
+ phoneFormat: optionalNullableStringField(),
928
+ preferredLanguage: optionalEnumField(LanguageValues)
929
+ });
930
+ var UpdateCurrentUserRequestSchema = createValidationSchema({
931
+ firstName: optionalStringField(),
932
+ lastName: optionalStringField()
933
+ });
934
+
935
+ // src/types/work-session/index.ts
936
+ var WORK_SESSION_STATUS = {
937
+ IN_PROGRESS: "IN_PROGRESS",
938
+ COMPLETED: "COMPLETED",
939
+ CANCELLED: "CANCELLED"
940
+ };
941
+ var CHECKLIST_EXECUTION_STATUS = {
942
+ PENDING: "PENDING",
943
+ IN_PROGRESS: "IN_PROGRESS",
944
+ COMPLETED: "COMPLETED",
945
+ SKIPPED: "SKIPPED"
946
+ };
947
+ //# sourceMappingURL=index.cjs.map