@doist/todoist-sdk 8.4.0 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/cjs/test-utils/test-defaults.js +15 -12
  2. package/dist/cjs/types/activity/types.js +1 -1
  3. package/dist/cjs/types/comments/types.js +1 -1
  4. package/dist/cjs/types/insights/types.js +6 -4
  5. package/dist/cjs/types/projects/types.js +13 -3
  6. package/dist/cjs/types/sections/types.js +3 -3
  7. package/dist/cjs/types/sync/resources/live-notifications.js +1 -1
  8. package/dist/cjs/types/sync/resources/notes.js +1 -1
  9. package/dist/cjs/types/sync/resources/user.js +4 -4
  10. package/dist/cjs/types/sync/resources/workspace-filters.js +2 -2
  11. package/dist/cjs/types/sync/resources/workspace-goals.js +2 -2
  12. package/dist/cjs/types/sync/resources/workspaces.js +3 -3
  13. package/dist/cjs/types/sync/response.js +53 -0
  14. package/dist/cjs/types/tasks/types.js +3 -3
  15. package/dist/cjs/types/workspaces/types.js +3 -3
  16. package/dist/cjs/utils/validators.js +56 -133
  17. package/dist/esm/test-utils/test-defaults.js +15 -12
  18. package/dist/esm/types/activity/types.js +1 -1
  19. package/dist/esm/types/comments/types.js +1 -1
  20. package/dist/esm/types/insights/types.js +6 -4
  21. package/dist/esm/types/projects/types.js +12 -2
  22. package/dist/esm/types/sections/types.js +3 -3
  23. package/dist/esm/types/sync/resources/live-notifications.js +1 -1
  24. package/dist/esm/types/sync/resources/notes.js +1 -1
  25. package/dist/esm/types/sync/resources/user.js +4 -4
  26. package/dist/esm/types/sync/resources/workspace-filters.js +2 -2
  27. package/dist/esm/types/sync/resources/workspace-goals.js +2 -2
  28. package/dist/esm/types/sync/resources/workspaces.js +3 -3
  29. package/dist/esm/types/sync/response.js +52 -1
  30. package/dist/esm/types/tasks/types.js +3 -3
  31. package/dist/esm/types/workspaces/types.js +3 -3
  32. package/dist/esm/utils/validators.js +54 -129
  33. package/dist/types/consts/endpoints.d.ts +2 -2
  34. package/dist/types/test-utils/test-defaults.d.ts +13 -13
  35. package/dist/types/todoist-api.d.ts +1 -1
  36. package/dist/types/types/activity/types.d.ts +1 -1
  37. package/dist/types/types/comments/types.d.ts +4 -4
  38. package/dist/types/types/folders/requests.d.ts +2 -2
  39. package/dist/types/types/insights/types.d.ts +9 -9
  40. package/dist/types/types/projects/requests.d.ts +1 -1
  41. package/dist/types/types/projects/types.d.ts +69 -14
  42. package/dist/types/types/sections/types.d.ts +9 -9
  43. package/dist/types/types/sync/commands/workspaces.d.ts +1 -1
  44. package/dist/types/types/sync/resources/live-notifications.d.ts +1 -1
  45. package/dist/types/types/sync/resources/notes.d.ts +1 -1
  46. package/dist/types/types/sync/resources/user.d.ts +4 -4
  47. package/dist/types/types/sync/resources/workspace-filters.d.ts +2 -2
  48. package/dist/types/types/sync/resources/workspace-goals.d.ts +2 -2
  49. package/dist/types/types/sync/resources/workspaces.d.ts +8 -8
  50. package/dist/types/types/sync/response.d.ts +917 -51
  51. package/dist/types/types/tasks/types.d.ts +9 -9
  52. package/dist/types/types/workspaces/requests.d.ts +7 -7
  53. package/dist/types/types/workspaces/types.d.ts +6 -6
  54. package/dist/types/utils/validators.d.ts +187 -117
  55. package/package.json +1 -1
@@ -18,6 +18,9 @@ const DEFAULT_PARENT_ID = '5678';
18
18
  const DEFAULT_ASSIGNEE = '1234';
19
19
  const DEFAULT_CREATOR = '1234';
20
20
  const DEFAULT_DATE = '2020-09-08T12:00:00Z';
21
+ function defaultDate() {
22
+ return new Date(DEFAULT_DATE);
23
+ }
21
24
  const DEFAULT_ENTITY_COLOR = 'berry_red';
22
25
  const DEFAULT_LABELS = ['personal', 'work', 'hobby'];
23
26
  const DEFAULT_USER_ID = '5';
@@ -67,9 +70,9 @@ exports.DEFAULT_TASK = {
67
70
  duration: exports.DEFAULT_DURATION,
68
71
  checked: false,
69
72
  isDeleted: DEFAULT_IS_DELETED,
70
- addedAt: DEFAULT_DATE,
73
+ addedAt: defaultDate(),
71
74
  completedAt: null,
72
- updatedAt: DEFAULT_DATE,
75
+ updatedAt: defaultDate(),
73
76
  due: exports.DEFAULT_DUE_DATE,
74
77
  priority: exports.DEFAULT_TASK_PRIORITY,
75
78
  childOrder: exports.DEFAULT_ORDER,
@@ -95,9 +98,9 @@ exports.TASK_WITH_OPTIONALS_AS_NULL = {
95
98
  duration: null,
96
99
  checked: false,
97
100
  isDeleted: DEFAULT_IS_DELETED,
98
- addedAt: DEFAULT_DATE,
101
+ addedAt: defaultDate(),
99
102
  completedAt: null,
100
- updatedAt: DEFAULT_DATE,
103
+ updatedAt: defaultDate(),
101
104
  due: null,
102
105
  priority: exports.DEFAULT_TASK_PRIORITY,
103
106
  childOrder: exports.DEFAULT_ORDER,
@@ -122,8 +125,8 @@ exports.DEFAULT_PROJECT = {
122
125
  isArchived: DEFAULT_IS_ARCHIVED,
123
126
  isDeleted: DEFAULT_IS_DELETED,
124
127
  isFrozen: DEFAULT_IS_FROZEN,
125
- createdAt: DEFAULT_DATE,
126
- updatedAt: DEFAULT_DATE,
128
+ createdAt: defaultDate(),
129
+ updatedAt: defaultDate(),
127
130
  defaultOrder: exports.DEFAULT_ORDER,
128
131
  description: '',
129
132
  isCollapsed: DEFAULT_IS_COLLAPSED,
@@ -143,8 +146,8 @@ exports.DEFAULT_WORKSPACE_PROJECT = {
143
146
  isArchived: DEFAULT_IS_ARCHIVED,
144
147
  isDeleted: DEFAULT_IS_DELETED,
145
148
  isFrozen: DEFAULT_IS_FROZEN,
146
- createdAt: DEFAULT_DATE,
147
- updatedAt: DEFAULT_DATE,
149
+ createdAt: defaultDate(),
150
+ updatedAt: defaultDate(),
148
151
  defaultOrder: exports.DEFAULT_ORDER,
149
152
  description: '',
150
153
  isCollapsed: DEFAULT_IS_COLLAPSED,
@@ -161,8 +164,8 @@ exports.DEFAULT_SECTION = {
161
164
  id: DEFAULT_SECTION_ID,
162
165
  userId: DEFAULT_USER_ID,
163
166
  projectId: exports.DEFAULT_PROJECT_ID,
164
- addedAt: '2025-03-28T14:01:23.334881Z',
165
- updatedAt: '2025-03-28T14:01:23.334885Z',
167
+ addedAt: new Date('2025-03-28T14:01:23.334881Z'),
168
+ updatedAt: new Date('2025-03-28T14:01:23.334885Z'),
166
169
  archivedAt: null,
167
170
  name: DEFAULT_SECTION_NAME,
168
171
  sectionOrder: exports.DEFAULT_ORDER,
@@ -200,7 +203,7 @@ exports.DEFAULT_RAW_COMMENT = {
200
203
  fileAttachment: exports.DEFAULT_ATTACHMENT,
201
204
  uidsToNotify: null,
202
205
  isDeleted: false,
203
- postedAt: DEFAULT_DATE,
206
+ postedAt: defaultDate(),
204
207
  reactions: DEFAULT_COMMENT_REACTIONS,
205
208
  itemId: exports.DEFAULT_TASK_ID,
206
209
  };
@@ -281,7 +284,7 @@ exports.DEFAULT_NOTE = {
281
284
  id: DEFAULT_COMMENT_ID,
282
285
  projectId: exports.DEFAULT_PROJECT_ID,
283
286
  content: DEFAULT_COMMENT_CONTENT,
284
- postedAt: DEFAULT_DATE,
287
+ postedAt: defaultDate(),
285
288
  fileAttachment: exports.DEFAULT_ATTACHMENT,
286
289
  postedUid: DEFAULT_USER_ID,
287
290
  uidsToNotify: null,
@@ -15,7 +15,7 @@ exports.ActivityEventSchema = zod_1.z
15
15
  objectType: zod_1.z.string(),
16
16
  objectId: zod_1.z.string(),
17
17
  eventType: zod_1.z.string(),
18
- eventDate: zod_1.z.string(),
18
+ eventDate: zod_1.z.coerce.date(),
19
19
  id: zod_1.z
20
20
  .union([zod_1.z.string(), zod_1.z.number()])
21
21
  .transform((val) => { var _a; return (_a = val === null || val === void 0 ? void 0 : val.toString()) !== null && _a !== void 0 ? _a : null; })
@@ -38,7 +38,7 @@ exports.RawCommentSchema = zod_1.z
38
38
  itemId: zod_1.z.string().optional(),
39
39
  projectId: zod_1.z.string().optional(),
40
40
  content: zod_1.z.string(),
41
- postedAt: zod_1.z.string(),
41
+ postedAt: zod_1.z.coerce.date(),
42
42
  fileAttachment: exports.AttachmentSchema.nullable(),
43
43
  postedUid: zod_1.z.string(),
44
44
  uidsToNotify: zod_1.z.array(zod_1.z.string()).nullable(),
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WorkspaceInsightsSchema = exports.ProjectInsightSchema = exports.ProjectProgressSchema = exports.ProjectHealthContextSchema = exports.TaskContextSchema = exports.ProjectMetricsSchema = exports.ProjectHealthSchema = exports.TaskRecommendationSchema = exports.HEALTH_STATUSES = exports.ProjectActivityStatsSchema = exports.WeekRollupSchema = exports.DayActivitySchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  exports.DayActivitySchema = zod_1.z.object({
6
+ // Kept as string: this is a calendar-day bucket (e.g. '2025-01-13'), not a timestamp.
7
+ // Coercing to Date would create UTC midnight, causing day-shift for non-UTC consumers.
6
8
  date: zod_1.z.string(),
7
9
  totalCount: zod_1.z.number().int(),
8
10
  });
@@ -34,7 +36,7 @@ exports.ProjectHealthSchema = zod_1.z.object({
34
36
  descriptionSummary: zod_1.z.string().nullable().optional(),
35
37
  taskRecommendations: zod_1.z.array(exports.TaskRecommendationSchema).nullable().optional(),
36
38
  projectId: zod_1.z.string().nullable().optional(),
37
- updatedAt: zod_1.z.string().nullable().optional(),
39
+ updatedAt: zod_1.z.coerce.date().nullable().optional(),
38
40
  isStale: zod_1.z.boolean().default(false),
39
41
  updateInProgress: zod_1.z.boolean().default(false),
40
42
  });
@@ -53,9 +55,9 @@ exports.TaskContextSchema = zod_1.z.object({
53
55
  deadline: zod_1.z.string().nullable().optional(),
54
56
  priority: zod_1.z.string(),
55
57
  isCompleted: zod_1.z.boolean(),
56
- createdAt: zod_1.z.string(),
57
- updatedAt: zod_1.z.string(),
58
- completedAt: zod_1.z.string().nullable(),
58
+ createdAt: zod_1.z.coerce.date(),
59
+ updatedAt: zod_1.z.coerce.date(),
60
+ completedAt: zod_1.z.coerce.date().nullable(),
59
61
  completedByUid: zod_1.z.string().nullable(),
60
62
  labels: zod_1.z.array(zod_1.z.string()),
61
63
  });
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PROJECT_VIEW_STYLES = exports.WorkspaceProjectSchema = exports.ProjectVisibilitySchema = exports.PROJECT_VISIBILITIES = exports.PersonalProjectSchema = exports.BaseProjectSchema = void 0;
3
+ exports.PROJECT_VIEW_STYLES = exports.ProjectSchema = exports.WorkspaceProjectSchema = exports.ProjectVisibilitySchema = exports.PROJECT_VISIBILITIES = exports.PersonalProjectSchema = exports.BaseProjectSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const url_helpers_1 = require("../../utils/url-helpers");
6
6
  /**
@@ -12,13 +12,13 @@ exports.BaseProjectSchema = zod_1.z.object({
12
12
  canAssignTasks: zod_1.z.boolean(),
13
13
  childOrder: zod_1.z.number().int(),
14
14
  color: zod_1.z.string(),
15
- createdAt: zod_1.z.string().nullable(),
15
+ createdAt: zod_1.z.coerce.date().nullable(),
16
16
  isArchived: zod_1.z.boolean(),
17
17
  isDeleted: zod_1.z.boolean(),
18
18
  isFavorite: zod_1.z.boolean(),
19
19
  isFrozen: zod_1.z.boolean(),
20
20
  name: zod_1.z.string(),
21
- updatedAt: zod_1.z.string().nullable(),
21
+ updatedAt: zod_1.z.coerce.date().nullable(),
22
22
  viewStyle: zod_1.z.string(),
23
23
  defaultOrder: zod_1.z.number().int(),
24
24
  description: zod_1.z.string(),
@@ -52,5 +52,15 @@ exports.WorkspaceProjectSchema = exports.BaseProjectSchema.extend({
52
52
  }).transform((data) => {
53
53
  return Object.assign(Object.assign({}, data), { url: (0, url_helpers_1.getProjectUrl)(data.id, data.name) });
54
54
  });
55
+ /**
56
+ * Schema for any project type in Todoist (personal or workspace).
57
+ * Dispatches to WorkspaceProjectSchema when workspaceId is present, PersonalProjectSchema otherwise.
58
+ */
59
+ exports.ProjectSchema = zod_1.z.unknown().transform((val) => {
60
+ if (typeof val === 'object' && val !== null && 'workspaceId' in val) {
61
+ return exports.WorkspaceProjectSchema.parse(val);
62
+ }
63
+ return exports.PersonalProjectSchema.parse(val);
64
+ });
55
65
  /** Available project view styles. */
56
66
  exports.PROJECT_VIEW_STYLES = ['list', 'board', 'calendar'];
@@ -8,9 +8,9 @@ exports.SectionSchema = zod_1.z
8
8
  id: zod_1.z.string(),
9
9
  userId: zod_1.z.string(),
10
10
  projectId: zod_1.z.string(),
11
- addedAt: zod_1.z.string(),
12
- updatedAt: zod_1.z.string(),
13
- archivedAt: zod_1.z.string().nullable(),
11
+ addedAt: zod_1.z.coerce.date(),
12
+ updatedAt: zod_1.z.coerce.date(),
13
+ archivedAt: zod_1.z.coerce.date().nullable(),
14
14
  name: zod_1.z.string(),
15
15
  sectionOrder: zod_1.z.number().int(),
16
16
  isArchived: zod_1.z.boolean(),
@@ -12,7 +12,7 @@ const zod_1 = require("zod");
12
12
  */
13
13
  exports.LiveNotificationSchema = zod_1.z.looseObject({
14
14
  id: zod_1.z.string(),
15
- createdAt: zod_1.z.string(),
15
+ createdAt: zod_1.z.coerce.date(),
16
16
  fromUid: zod_1.z.string(),
17
17
  notificationType: zod_1.z.string(),
18
18
  isUnread: zod_1.z.boolean(),
@@ -12,7 +12,7 @@ exports.NoteSchema = zod_1.z.looseObject({
12
12
  itemId: zod_1.z.string().optional(),
13
13
  projectId: zod_1.z.string().optional(),
14
14
  content: zod_1.z.string(),
15
- postedAt: zod_1.z.string(),
15
+ postedAt: zod_1.z.coerce.date(),
16
16
  fileAttachment: types_1.AttachmentSchema.nullable(),
17
17
  postedUid: zod_1.z.string(),
18
18
  uidsToNotify: zod_1.z.array(zod_1.z.string()).nullable(),
@@ -57,7 +57,7 @@ exports.SyncUserSchema = zod_1.z.looseObject({
57
57
  daysOff: zod_1.z.array(zod_1.z.number().int()),
58
58
  featureIdentifier: zod_1.z.string(),
59
59
  features: exports.FeaturesSchema,
60
- freeTrailExpires: zod_1.z.string().optional(),
60
+ freeTrailExpires: zod_1.z.coerce.date().optional(),
61
61
  hasMagicNumber: zod_1.z.boolean(),
62
62
  hasPassword: zod_1.z.boolean(),
63
63
  hasStartedATrial: zod_1.z.boolean().optional(),
@@ -66,7 +66,7 @@ exports.SyncUserSchema = zod_1.z.looseObject({
66
66
  isCelebrationsEnabled: zod_1.z.boolean(),
67
67
  isPremium: zod_1.z.boolean(),
68
68
  joinableWorkspace: exports.JoinableWorkspaceSchema.nullable(),
69
- joinedAt: zod_1.z.string(),
69
+ joinedAt: zod_1.z.coerce.date(),
70
70
  gettingStartedGuideProjects: zod_1.z.array(exports.GettingStartedGuideProjectSchema).nullable(),
71
71
  karma: zod_1.z.number(),
72
72
  karmaTrend: zod_1.z.string(),
@@ -84,13 +84,13 @@ exports.SyncUserSchema = zod_1.z.looseObject({
84
84
  onboardingTeamMode: zod_1.z.boolean().nullable().optional(),
85
85
  onboardingUseCases: zod_1.z.array(zod_1.z.string()).nullable().optional(),
86
86
  premiumStatus: zod_1.z.enum(types_1.PREMIUM_STATUSES),
87
- premiumUntil: zod_1.z.string().nullable(),
87
+ premiumUntil: zod_1.z.coerce.date().nullable(),
88
88
  rambleSessionsUsage: zod_1.z
89
89
  .object({
90
90
  currentCount: zod_1.z.number().int(),
91
91
  limit: zod_1.z.number().int(),
92
92
  remaining: zod_1.z.number().int(),
93
- resetDate: zod_1.z.string(),
93
+ resetDate: zod_1.z.coerce.date(),
94
94
  })
95
95
  .nullable()
96
96
  .optional(),
@@ -14,6 +14,6 @@ exports.WorkspaceFilterSchema = zod_1.z.looseObject({
14
14
  isFrozen: zod_1.z.boolean(),
15
15
  creatorUid: zod_1.z.string(),
16
16
  updaterUid: zod_1.z.string(),
17
- createdAt: zod_1.z.string(),
18
- updatedAt: zod_1.z.string(),
17
+ createdAt: zod_1.z.coerce.date(),
18
+ updatedAt: zod_1.z.coerce.date(),
19
19
  });
@@ -21,6 +21,6 @@ exports.WorkspaceGoalSchema = zod_1.z.looseObject({
21
21
  projectIds: zod_1.z.array(zod_1.z.string()),
22
22
  progress: exports.WorkspaceGoalProgressSchema.nullable(),
23
23
  creatorUid: zod_1.z.string(),
24
- createdAt: zod_1.z.string(),
25
- updatedAt: zod_1.z.string(),
24
+ createdAt: zod_1.z.coerce.date(),
25
+ updatedAt: zod_1.z.coerce.date(),
26
26
  });
@@ -32,8 +32,8 @@ exports.SyncWorkspaceSchema = zod_1.z
32
32
  logoSmall: zod_1.z.string().optional(),
33
33
  logoS640: zod_1.z.string().optional(),
34
34
  creatorId: common_1.StringOrNumberSchema,
35
- createdAt: zod_1.z.string().optional(),
36
- dateCreated: zod_1.z.string().optional(),
35
+ createdAt: zod_1.z.coerce.date().optional(),
36
+ dateCreated: zod_1.z.coerce.date().optional(),
37
37
  isDeleted: zod_1.z.boolean(),
38
38
  isCollapsed: zod_1.z.boolean(),
39
39
  role: types_1.WorkspaceRoleSchema.optional(),
@@ -61,7 +61,7 @@ exports.SyncWorkspaceSchema = zod_1.z
61
61
  defaultCollaborators: zod_1.z
62
62
  .object({
63
63
  predefinedGroupIds: zod_1.z.array(zod_1.z.string()),
64
- userIds: zod_1.z.array(zod_1.z.number()),
64
+ userIds: zod_1.z.array(common_1.StringOrNumberSchema),
65
65
  })
66
66
  .optional(),
67
67
  properties: types_1.WorkspacePropertiesSchema.optional(),
@@ -1,2 +1,55 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SyncResponseSchema = exports.SyncErrorSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const types_1 = require("../labels/types");
6
+ const types_2 = require("../projects/types");
7
+ const types_3 = require("../sections/types");
8
+ const types_4 = require("../tasks/types");
9
+ const types_5 = require("../workspaces/types");
10
+ const resources_1 = require("./resources");
11
+ exports.SyncErrorSchema = zod_1.z.object({
12
+ error: zod_1.z.string(),
13
+ errorCode: zod_1.z.number(),
14
+ errorExtra: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()),
15
+ errorTag: zod_1.z.string(),
16
+ httpCode: zod_1.z.number(),
17
+ });
18
+ exports.SyncResponseSchema = zod_1.z.looseObject({
19
+ syncToken: zod_1.z.string().optional(),
20
+ fullSync: zod_1.z.boolean().optional(),
21
+ syncStatus: zod_1.z.record(zod_1.z.string(), zod_1.z.union([zod_1.z.literal('ok'), exports.SyncErrorSchema])).optional(),
22
+ tempIdMapping: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
23
+ items: zod_1.z.array(types_4.TaskSchema).optional(),
24
+ projects: zod_1.z.array(types_2.ProjectSchema).optional(),
25
+ sections: zod_1.z.array(types_3.SectionSchema).optional(),
26
+ labels: zod_1.z.array(types_1.LabelSchema).optional(),
27
+ notes: zod_1.z.array(resources_1.NoteSchema).optional(),
28
+ projectNotes: zod_1.z.array(resources_1.NoteSchema).optional(),
29
+ filters: zod_1.z.array(resources_1.FilterSchema).optional(),
30
+ reminders: zod_1.z.array(resources_1.ReminderSchema).optional(),
31
+ remindersLocation: zod_1.z.array(resources_1.LocationReminderSchema).optional(),
32
+ locations: zod_1.z.array(zod_1.z.record(zod_1.z.string(), zod_1.z.unknown())).optional(),
33
+ user: resources_1.SyncUserSchema.optional(),
34
+ liveNotifications: zod_1.z.array(resources_1.LiveNotificationSchema).optional(),
35
+ collaborators: zod_1.z.array(resources_1.CollaboratorSchema).optional(),
36
+ collaboratorStates: zod_1.z.array(resources_1.CollaboratorStateSchema).optional(),
37
+ userSettings: resources_1.UserSettingsSchema.optional(),
38
+ notificationSettings: zod_1.z.record(zod_1.z.string(), zod_1.z.boolean()).optional(),
39
+ userPlanLimits: resources_1.UserPlanLimitsSchema.optional(),
40
+ completedInfo: zod_1.z.array(resources_1.CompletedInfoSchema).optional(),
41
+ stats: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional(),
42
+ workspaces: zod_1.z.array(resources_1.SyncWorkspaceSchema).optional(),
43
+ workspaceUsers: zod_1.z.array(types_5.WorkspaceUserSchema).optional(),
44
+ workspaceFilters: zod_1.z.array(resources_1.WorkspaceFilterSchema).optional(),
45
+ viewOptions: zod_1.z.array(resources_1.ViewOptionsSchema).optional(),
46
+ projectViewOptionsDefaults: zod_1.z.array(resources_1.ProjectViewOptionsDefaultsSchema).optional(),
47
+ roleActions: zod_1.z.array(zod_1.z.record(zod_1.z.string(), zod_1.z.unknown())).optional(),
48
+ folders: zod_1.z.array(resources_1.FolderSchema).optional(),
49
+ workspaceGoals: zod_1.z.array(resources_1.WorkspaceGoalSchema).optional(),
50
+ dayOrders: zod_1.z.record(zod_1.z.string(), zod_1.z.number()).optional(),
51
+ calendars: zod_1.z.array(resources_1.CalendarSchema).optional(),
52
+ calendarAccounts: zod_1.z.array(resources_1.CalendarAccountSchema).optional(),
53
+ suggestions: zod_1.z.array(resources_1.SuggestionSchema).optional(),
54
+ tooltips: resources_1.TooltipsSchema.optional(),
55
+ });
@@ -40,9 +40,9 @@ exports.TaskSchema = zod_1.z
40
40
  duration: exports.DurationSchema.nullable(),
41
41
  checked: zod_1.z.boolean(),
42
42
  isDeleted: zod_1.z.boolean(),
43
- addedAt: zod_1.z.string().nullable(),
44
- completedAt: zod_1.z.string().nullable(),
45
- updatedAt: zod_1.z.string().nullable(),
43
+ addedAt: zod_1.z.coerce.date().nullable(),
44
+ completedAt: zod_1.z.coerce.date().nullable(),
45
+ updatedAt: zod_1.z.coerce.date().nullable(),
46
46
  due: exports.DueDateSchema.nullable(),
47
47
  priority: zod_1.z.number().int(),
48
48
  childOrder: zod_1.z.number().int(),
@@ -74,7 +74,7 @@ exports.WorkspacePlanDetailsSchema = zod_1.z.object({
74
74
  currentActiveProjects: zod_1.z.number(),
75
75
  maximumActiveProjects: zod_1.z.number(),
76
76
  priceList: zod_1.z.array(exports.FormattedPriceListingSchema),
77
- workspaceId: zod_1.z.number(),
77
+ workspaceId: common_1.StringOrNumberSchema,
78
78
  isTrialing: zod_1.z.boolean(),
79
79
  trialEndsAt: zod_1.z.string().nullable(),
80
80
  cancelAtPeriodEnd: zod_1.z.boolean(),
@@ -125,8 +125,8 @@ exports.WorkspaceSchema = zod_1.z
125
125
  logoMedium: zod_1.z.string().nullish(),
126
126
  logoSmall: zod_1.z.string().nullish(),
127
127
  logoS640: zod_1.z.string().nullish(),
128
- createdAt: zod_1.z.string().optional(),
129
- dateCreated: zod_1.z.string().optional(),
128
+ createdAt: zod_1.z.coerce.date().optional(),
129
+ dateCreated: zod_1.z.coerce.date().optional(),
130
130
  creatorId: common_1.StringOrNumberSchema,
131
131
  properties: exports.WorkspacePropertiesSchema,
132
132
  })
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateTooltips = exports.validateNoteArray = exports.validateNote = exports.validateFolderArray = exports.validateFolder = exports.validateCollaboratorStateArray = exports.validateCollaboratorState = exports.validateCollaboratorArray = exports.validateCollaborator = exports.validateFilterArray = exports.validateFilter = exports.validateMovedIdArray = exports.validateMovedId = exports.validateIdMappingArray = exports.validateIdMapping = exports.validateBackupArray = exports.validateBackup = exports.validateWorkspaceInsights = exports.validateProjectProgress = exports.validateProjectHealthContext = exports.validateProjectHealth = exports.validateProjectActivityStats = exports.validateWorkspaceUserTaskArray = exports.validateWorkspaceUserTask = exports.validateMemberActivityInfoArray = exports.validateMemberActivityInfo = exports.validateWorkspaceArray = exports.validateWorkspace = exports.validateJoinWorkspaceResult = exports.validateWorkspacePlanDetails = exports.validateWorkspaceInvitationArray = exports.validateWorkspaceInvitation = exports.validateWorkspaceUser = exports.validateAttachment = exports.validateActivityEventArray = exports.validateActivityEvent = exports.validateCurrentUser = exports.validateProductivityStats = exports.validateUserArray = exports.validateUser = exports.validateCommentArray = exports.validateComment = exports.validateLabelArray = exports.validateLabel = exports.validateSectionArray = exports.validateSection = exports.validateWorkspaceProjectArray = exports.validateWorkspaceProject = exports.validateTaskArray = exports.validateTask = void 0;
4
- exports.validateSuggestionArray = exports.validateSuggestion = exports.validateUserSettings = exports.validateSyncUser = exports.validateSyncWorkspaceArray = exports.validateSyncWorkspace = exports.validateLiveNotificationArray = exports.validateLiveNotification = exports.validateUserPlanLimits = exports.validateProjectViewOptionsDefaultsArray = exports.validateProjectViewOptionsDefaults = exports.validateViewOptionsArray = exports.validateViewOptions = exports.validateCompletedInfoArray = exports.validateCompletedInfo = exports.validateLocationReminderArray = exports.validateLocationReminder = exports.validateReminderArray = exports.validateReminder = exports.validateCalendarAccountArray = exports.validateCalendarAccount = exports.validateCalendarArray = exports.validateCalendar = exports.validateWorkspaceGoalArray = exports.validateWorkspaceGoal = exports.validateWorkspaceFilterArray = exports.validateWorkspaceFilter = void 0;
5
- exports.validateProject = validateProject;
6
- exports.validateProjectArray = validateProjectArray;
7
- exports.validateWorkspaceUserArray = validateWorkspaceUserArray;
4
+ exports.validateFolderArray = exports.validateFolder = exports.validateCollaboratorStateArray = exports.validateCollaboratorState = exports.validateCollaboratorArray = exports.validateCollaborator = exports.validateFilterArray = exports.validateFilter = exports.validateMovedIdArray = exports.validateMovedId = exports.validateIdMappingArray = exports.validateIdMapping = exports.validateBackupArray = exports.validateBackup = exports.validateWorkspaceInsights = exports.validateProjectProgress = exports.validateProjectHealthContext = exports.validateProjectHealth = exports.validateProjectActivityStats = exports.validateWorkspaceUserTaskArray = exports.validateWorkspaceUserTask = exports.validateMemberActivityInfoArray = exports.validateMemberActivityInfo = exports.validateWorkspaceArray = exports.validateWorkspace = exports.validateJoinWorkspaceResult = exports.validateWorkspacePlanDetails = exports.validateWorkspaceInvitationArray = exports.validateWorkspaceInvitation = exports.validateWorkspaceUserArray = exports.validateWorkspaceUser = exports.validateAttachment = exports.validateActivityEventArray = exports.validateActivityEvent = exports.validateCurrentUser = exports.validateProductivityStats = exports.validateUserArray = exports.validateUser = exports.validateCommentArray = exports.validateComment = exports.validateLabelArray = exports.validateLabel = exports.validateSectionArray = exports.validateSection = exports.validateWorkspaceProjectArray = exports.validateWorkspaceProject = exports.validateProjectArray = exports.validateProject = exports.validateTaskArray = exports.validateTask = void 0;
5
+ exports.validateSuggestionArray = exports.validateSuggestion = exports.validateUserSettings = exports.validateSyncUser = exports.validateSyncWorkspaceArray = exports.validateSyncWorkspace = exports.validateLiveNotificationArray = exports.validateLiveNotification = exports.validateUserPlanLimits = exports.validateProjectViewOptionsDefaultsArray = exports.validateProjectViewOptionsDefaults = exports.validateViewOptionsArray = exports.validateViewOptions = exports.validateCompletedInfoArray = exports.validateCompletedInfo = exports.validateLocationReminderArray = exports.validateLocationReminder = exports.validateReminderArray = exports.validateReminder = exports.validateCalendarAccountArray = exports.validateCalendarAccount = exports.validateCalendarArray = exports.validateCalendar = exports.validateWorkspaceGoalArray = exports.validateWorkspaceGoal = exports.validateWorkspaceFilterArray = exports.validateWorkspaceFilter = exports.validateTooltips = exports.validateNoteArray = exports.validateNote = void 0;
8
6
  exports.parseSyncResponse = parseSyncResponse;
7
+ const zod_1 = require("zod");
9
8
  const types_1 = require("../types/activity/types");
10
9
  const types_2 = require("../types/backups/types");
11
10
  const types_3 = require("../types/comments/types");
@@ -15,147 +14,71 @@ const types_6 = require("../types/labels/types");
15
14
  const types_7 = require("../types/productivity/types");
16
15
  const types_8 = require("../types/projects/types");
17
16
  const types_9 = require("../types/sections/types");
17
+ const response_1 = require("../types/sync/response");
18
18
  const types_10 = require("../types/tasks/types");
19
19
  const types_11 = require("../types/users/types");
20
20
  const types_12 = require("../types/workspaces/types");
21
21
  const resources_1 = require("../types/sync/resources");
22
22
  function createValidator(schema) {
23
- return (input) => schema.parse(input);
24
- }
25
- function createArrayValidator(validateItem) {
26
- return (input) => {
27
- if (!Array.isArray(input)) {
28
- throw new TypeError(`Expected array, got ${typeof input}`);
29
- }
30
- return input.map(validateItem);
23
+ return {
24
+ validate: (input) => schema.parse(input),
25
+ validateArray: (input) => zod_1.z.array(schema).parse(input),
31
26
  };
32
27
  }
33
28
  // Entity validators
34
- exports.validateTask = createValidator(types_10.TaskSchema);
35
- exports.validateTaskArray = createArrayValidator(exports.validateTask);
29
+ _a = createValidator(types_10.TaskSchema), exports.validateTask = _a.validate, exports.validateTaskArray = _a.validateArray;
36
30
  /**
37
31
  * Validates and parses a project input.
38
32
  * @param input The input to validate
39
33
  * @returns A validated project (either PersonalProject or WorkspaceProject)
40
34
  */
41
- function validateProject(input) {
42
- if ('workspaceId' in input) {
43
- return types_8.WorkspaceProjectSchema.parse(input);
44
- }
45
- return types_8.PersonalProjectSchema.parse(input);
46
- }
47
- function validateProjectArray(input) {
48
- if (!Array.isArray(input)) {
49
- throw new TypeError(`Expected array, got ${typeof input}`);
50
- }
51
- return input.map(validateProject);
52
- }
53
- exports.validateWorkspaceProject = createValidator(types_8.WorkspaceProjectSchema);
54
- exports.validateWorkspaceProjectArray = createArrayValidator(exports.validateWorkspaceProject);
55
- exports.validateSection = createValidator(types_9.SectionSchema);
56
- exports.validateSectionArray = createArrayValidator(exports.validateSection);
57
- exports.validateLabel = createValidator(types_6.LabelSchema);
58
- exports.validateLabelArray = createArrayValidator(exports.validateLabel);
59
- exports.validateComment = createValidator(types_3.CommentSchema);
60
- exports.validateCommentArray = createArrayValidator(exports.validateComment);
61
- exports.validateUser = createValidator(types_11.UserSchema);
62
- exports.validateUserArray = createArrayValidator(exports.validateUser);
63
- exports.validateProductivityStats = createValidator(types_7.ProductivityStatsSchema);
64
- exports.validateCurrentUser = createValidator(types_11.CurrentUserSchema);
65
- exports.validateActivityEvent = createValidator(types_1.ActivityEventSchema);
66
- exports.validateActivityEventArray = createArrayValidator(exports.validateActivityEvent);
67
- exports.validateAttachment = createValidator(types_3.AttachmentSchema);
68
- exports.validateWorkspaceUser = createValidator(types_12.WorkspaceUserSchema);
69
- function validateWorkspaceUserArray(input) {
70
- if (!Array.isArray(input)) {
71
- throw new Error(`Expected array for workspace users, got ${typeof input}`);
72
- }
73
- return input.map(exports.validateWorkspaceUser);
74
- }
75
- exports.validateWorkspaceInvitation = createValidator(types_12.WorkspaceInvitationSchema);
76
- exports.validateWorkspaceInvitationArray = createArrayValidator(exports.validateWorkspaceInvitation);
77
- exports.validateWorkspacePlanDetails = createValidator(types_12.WorkspacePlanDetailsSchema);
78
- exports.validateJoinWorkspaceResult = createValidator(types_12.JoinWorkspaceResultSchema);
79
- exports.validateWorkspace = createValidator(types_12.WorkspaceSchema);
80
- exports.validateWorkspaceArray = createArrayValidator(exports.validateWorkspace);
81
- exports.validateMemberActivityInfo = createValidator(types_12.MemberActivityInfoSchema);
82
- exports.validateMemberActivityInfoArray = createArrayValidator(exports.validateMemberActivityInfo);
83
- exports.validateWorkspaceUserTask = createValidator(types_12.WorkspaceUserTaskSchema);
84
- exports.validateWorkspaceUserTaskArray = createArrayValidator(exports.validateWorkspaceUserTask);
85
- exports.validateProjectActivityStats = createValidator(types_5.ProjectActivityStatsSchema);
86
- exports.validateProjectHealth = createValidator(types_5.ProjectHealthSchema);
87
- exports.validateProjectHealthContext = createValidator(types_5.ProjectHealthContextSchema);
88
- exports.validateProjectProgress = createValidator(types_5.ProjectProgressSchema);
89
- exports.validateWorkspaceInsights = createValidator(types_5.WorkspaceInsightsSchema);
90
- exports.validateBackup = createValidator(types_2.BackupSchema);
91
- exports.validateBackupArray = createArrayValidator(exports.validateBackup);
92
- exports.validateIdMapping = createValidator(types_4.IdMappingSchema);
93
- exports.validateIdMappingArray = createArrayValidator(exports.validateIdMapping);
94
- exports.validateMovedId = createValidator(types_4.MovedIdSchema);
95
- exports.validateMovedIdArray = createArrayValidator(exports.validateMovedId);
35
+ _b = createValidator(types_8.ProjectSchema), exports.validateProject = _b.validate, exports.validateProjectArray = _b.validateArray;
36
+ _c = createValidator(types_8.WorkspaceProjectSchema), exports.validateWorkspaceProject = _c.validate, exports.validateWorkspaceProjectArray = _c.validateArray;
37
+ _d = createValidator(types_9.SectionSchema), exports.validateSection = _d.validate, exports.validateSectionArray = _d.validateArray;
38
+ _e = createValidator(types_6.LabelSchema), exports.validateLabel = _e.validate, exports.validateLabelArray = _e.validateArray;
39
+ _f = createValidator(types_3.CommentSchema), exports.validateComment = _f.validate, exports.validateCommentArray = _f.validateArray;
40
+ _g = createValidator(types_11.UserSchema), exports.validateUser = _g.validate, exports.validateUserArray = _g.validateArray;
41
+ exports.validateProductivityStats = createValidator(types_7.ProductivityStatsSchema).validate;
42
+ exports.validateCurrentUser = createValidator(types_11.CurrentUserSchema).validate;
43
+ _h = createValidator(types_1.ActivityEventSchema), exports.validateActivityEvent = _h.validate, exports.validateActivityEventArray = _h.validateArray;
44
+ exports.validateAttachment = createValidator(types_3.AttachmentSchema).validate;
45
+ _j = createValidator(types_12.WorkspaceUserSchema), exports.validateWorkspaceUser = _j.validate, exports.validateWorkspaceUserArray = _j.validateArray;
46
+ _k = createValidator(types_12.WorkspaceInvitationSchema), exports.validateWorkspaceInvitation = _k.validate, exports.validateWorkspaceInvitationArray = _k.validateArray;
47
+ exports.validateWorkspacePlanDetails = createValidator(types_12.WorkspacePlanDetailsSchema).validate;
48
+ exports.validateJoinWorkspaceResult = createValidator(types_12.JoinWorkspaceResultSchema).validate;
49
+ _l = createValidator(types_12.WorkspaceSchema), exports.validateWorkspace = _l.validate, exports.validateWorkspaceArray = _l.validateArray;
50
+ _m = createValidator(types_12.MemberActivityInfoSchema), exports.validateMemberActivityInfo = _m.validate, exports.validateMemberActivityInfoArray = _m.validateArray;
51
+ _o = createValidator(types_12.WorkspaceUserTaskSchema), exports.validateWorkspaceUserTask = _o.validate, exports.validateWorkspaceUserTaskArray = _o.validateArray;
52
+ exports.validateProjectActivityStats = createValidator(types_5.ProjectActivityStatsSchema).validate;
53
+ exports.validateProjectHealth = createValidator(types_5.ProjectHealthSchema).validate;
54
+ exports.validateProjectHealthContext = createValidator(types_5.ProjectHealthContextSchema).validate;
55
+ exports.validateProjectProgress = createValidator(types_5.ProjectProgressSchema).validate;
56
+ exports.validateWorkspaceInsights = createValidator(types_5.WorkspaceInsightsSchema).validate;
57
+ _p = createValidator(types_2.BackupSchema), exports.validateBackup = _p.validate, exports.validateBackupArray = _p.validateArray;
58
+ _q = createValidator(types_4.IdMappingSchema), exports.validateIdMapping = _q.validate, exports.validateIdMappingArray = _q.validateArray;
59
+ _r = createValidator(types_4.MovedIdSchema), exports.validateMovedId = _r.validate, exports.validateMovedIdArray = _r.validateArray;
96
60
  // Sync resource validators
97
- exports.validateFilter = createValidator(resources_1.FilterSchema);
98
- exports.validateFilterArray = createArrayValidator(exports.validateFilter);
99
- exports.validateCollaborator = createValidator(resources_1.CollaboratorSchema);
100
- exports.validateCollaboratorArray = createArrayValidator(exports.validateCollaborator);
101
- exports.validateCollaboratorState = createValidator(resources_1.CollaboratorStateSchema);
102
- exports.validateCollaboratorStateArray = createArrayValidator(exports.validateCollaboratorState);
103
- exports.validateFolder = createValidator(resources_1.FolderSchema);
104
- exports.validateFolderArray = createArrayValidator(exports.validateFolder);
105
- exports.validateNote = createValidator(resources_1.NoteSchema);
106
- exports.validateNoteArray = createArrayValidator(exports.validateNote);
107
- exports.validateTooltips = createValidator(resources_1.TooltipsSchema);
108
- exports.validateWorkspaceFilter = createValidator(resources_1.WorkspaceFilterSchema);
109
- exports.validateWorkspaceFilterArray = createArrayValidator(exports.validateWorkspaceFilter);
110
- exports.validateWorkspaceGoal = createValidator(resources_1.WorkspaceGoalSchema);
111
- exports.validateWorkspaceGoalArray = createArrayValidator(exports.validateWorkspaceGoal);
112
- exports.validateCalendar = createValidator(resources_1.CalendarSchema);
113
- exports.validateCalendarArray = createArrayValidator(exports.validateCalendar);
114
- exports.validateCalendarAccount = createValidator(resources_1.CalendarAccountSchema);
115
- exports.validateCalendarAccountArray = createArrayValidator(exports.validateCalendarAccount);
116
- exports.validateReminder = createValidator(resources_1.ReminderSchema);
117
- exports.validateReminderArray = createArrayValidator(exports.validateReminder);
118
- exports.validateLocationReminder = createValidator(resources_1.LocationReminderSchema);
119
- exports.validateLocationReminderArray = createArrayValidator(exports.validateLocationReminder);
120
- exports.validateCompletedInfo = createValidator(resources_1.CompletedInfoSchema);
121
- exports.validateCompletedInfoArray = createArrayValidator(exports.validateCompletedInfo);
122
- exports.validateViewOptions = createValidator(resources_1.ViewOptionsSchema);
123
- exports.validateViewOptionsArray = createArrayValidator(exports.validateViewOptions);
124
- exports.validateProjectViewOptionsDefaults = createValidator(resources_1.ProjectViewOptionsDefaultsSchema);
125
- exports.validateProjectViewOptionsDefaultsArray = createArrayValidator(exports.validateProjectViewOptionsDefaults);
126
- exports.validateUserPlanLimits = createValidator(resources_1.UserPlanLimitsSchema);
127
- exports.validateLiveNotification = createValidator(resources_1.LiveNotificationSchema);
128
- exports.validateLiveNotificationArray = createArrayValidator(exports.validateLiveNotification);
129
- exports.validateSyncWorkspace = createValidator(resources_1.SyncWorkspaceSchema);
130
- exports.validateSyncWorkspaceArray = createArrayValidator(exports.validateSyncWorkspace);
131
- exports.validateSyncUser = createValidator(resources_1.SyncUserSchema);
132
- exports.validateUserSettings = createValidator(resources_1.UserSettingsSchema);
133
- exports.validateSuggestion = createValidator(resources_1.SuggestionSchema);
134
- exports.validateSuggestionArray = createArrayValidator(exports.validateSuggestion);
61
+ _s = createValidator(resources_1.FilterSchema), exports.validateFilter = _s.validate, exports.validateFilterArray = _s.validateArray;
62
+ _t = createValidator(resources_1.CollaboratorSchema), exports.validateCollaborator = _t.validate, exports.validateCollaboratorArray = _t.validateArray;
63
+ _u = createValidator(resources_1.CollaboratorStateSchema), exports.validateCollaboratorState = _u.validate, exports.validateCollaboratorStateArray = _u.validateArray;
64
+ _v = createValidator(resources_1.FolderSchema), exports.validateFolder = _v.validate, exports.validateFolderArray = _v.validateArray;
65
+ _w = createValidator(resources_1.NoteSchema), exports.validateNote = _w.validate, exports.validateNoteArray = _w.validateArray;
66
+ exports.validateTooltips = createValidator(resources_1.TooltipsSchema).validate;
67
+ _x = createValidator(resources_1.WorkspaceFilterSchema), exports.validateWorkspaceFilter = _x.validate, exports.validateWorkspaceFilterArray = _x.validateArray;
68
+ _y = createValidator(resources_1.WorkspaceGoalSchema), exports.validateWorkspaceGoal = _y.validate, exports.validateWorkspaceGoalArray = _y.validateArray;
69
+ _z = createValidator(resources_1.CalendarSchema), exports.validateCalendar = _z.validate, exports.validateCalendarArray = _z.validateArray;
70
+ _0 = createValidator(resources_1.CalendarAccountSchema), exports.validateCalendarAccount = _0.validate, exports.validateCalendarAccountArray = _0.validateArray;
71
+ _1 = createValidator(resources_1.ReminderSchema), exports.validateReminder = _1.validate, exports.validateReminderArray = _1.validateArray;
72
+ _2 = createValidator(resources_1.LocationReminderSchema), exports.validateLocationReminder = _2.validate, exports.validateLocationReminderArray = _2.validateArray;
73
+ _3 = createValidator(resources_1.CompletedInfoSchema), exports.validateCompletedInfo = _3.validate, exports.validateCompletedInfoArray = _3.validateArray;
74
+ _4 = createValidator(resources_1.ViewOptionsSchema), exports.validateViewOptions = _4.validate, exports.validateViewOptionsArray = _4.validateArray;
75
+ _5 = createValidator(resources_1.ProjectViewOptionsDefaultsSchema), exports.validateProjectViewOptionsDefaults = _5.validate, exports.validateProjectViewOptionsDefaultsArray = _5.validateArray;
76
+ exports.validateUserPlanLimits = createValidator(resources_1.UserPlanLimitsSchema).validate;
77
+ _6 = createValidator(resources_1.LiveNotificationSchema), exports.validateLiveNotification = _6.validate, exports.validateLiveNotificationArray = _6.validateArray;
78
+ _7 = createValidator(resources_1.SyncWorkspaceSchema), exports.validateSyncWorkspace = _7.validate, exports.validateSyncWorkspaceArray = _7.validateArray;
79
+ exports.validateSyncUser = createValidator(resources_1.SyncUserSchema).validate;
80
+ exports.validateUserSettings = createValidator(resources_1.UserSettingsSchema).validate;
81
+ _8 = createValidator(resources_1.SuggestionSchema), exports.validateSuggestion = _8.validate, exports.validateSuggestionArray = _8.validateArray;
135
82
  function parseSyncResponse(raw) {
136
- return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, raw), ('items' in raw ? { items: (0, exports.validateTaskArray)(raw.items) } : {})), ('projects' in raw ? { projects: validateProjectArray(raw.projects) } : {})), ('sections' in raw ? { sections: (0, exports.validateSectionArray)(raw.sections) } : {})), ('labels' in raw ? { labels: (0, exports.validateLabelArray)(raw.labels) } : {})), ('notes' in raw ? { notes: (0, exports.validateNoteArray)(raw.notes) } : {})), ('projectNotes' in raw ? { projectNotes: (0, exports.validateNoteArray)(raw.projectNotes) } : {})), ('filters' in raw ? { filters: (0, exports.validateFilterArray)(raw.filters) } : {})), ('reminders' in raw ? { reminders: (0, exports.validateReminderArray)(raw.reminders) } : {})), ('remindersLocation' in raw
137
- ? { remindersLocation: (0, exports.validateLocationReminderArray)(raw.remindersLocation) }
138
- : {})), ('user' in raw ? { user: (0, exports.validateSyncUser)(raw.user) } : {})), ('liveNotifications' in raw
139
- ? { liveNotifications: (0, exports.validateLiveNotificationArray)(raw.liveNotifications) }
140
- : {})), ('collaborators' in raw
141
- ? { collaborators: (0, exports.validateCollaboratorArray)(raw.collaborators) }
142
- : {})), ('collaboratorStates' in raw
143
- ? { collaboratorStates: (0, exports.validateCollaboratorStateArray)(raw.collaboratorStates) }
144
- : {})), ('userSettings' in raw ? { userSettings: (0, exports.validateUserSettings)(raw.userSettings) } : {})), ('userPlanLimits' in raw
145
- ? { userPlanLimits: (0, exports.validateUserPlanLimits)(raw.userPlanLimits) }
146
- : {})), ('completedInfo' in raw
147
- ? { completedInfo: (0, exports.validateCompletedInfoArray)(raw.completedInfo) }
148
- : {})), ('workspaces' in raw ? { workspaces: (0, exports.validateSyncWorkspaceArray)(raw.workspaces) } : {})), ('workspaceUsers' in raw
149
- ? { workspaceUsers: validateWorkspaceUserArray(raw.workspaceUsers) }
150
- : {})), ('workspaceFilters' in raw
151
- ? { workspaceFilters: (0, exports.validateWorkspaceFilterArray)(raw.workspaceFilters) }
152
- : {})), ('viewOptions' in raw ? { viewOptions: (0, exports.validateViewOptionsArray)(raw.viewOptions) } : {})), ('projectViewOptionsDefaults' in raw
153
- ? {
154
- projectViewOptionsDefaults: (0, exports.validateProjectViewOptionsDefaultsArray)(raw.projectViewOptionsDefaults),
155
- }
156
- : {})), ('folders' in raw ? { folders: (0, exports.validateFolderArray)(raw.folders) } : {})), ('workspaceGoals' in raw
157
- ? { workspaceGoals: (0, exports.validateWorkspaceGoalArray)(raw.workspaceGoals) }
158
- : {})), ('calendars' in raw ? { calendars: (0, exports.validateCalendarArray)(raw.calendars) } : {})), ('calendarAccounts' in raw
159
- ? { calendarAccounts: (0, exports.validateCalendarAccountArray)(raw.calendarAccounts) }
160
- : {})), ('suggestions' in raw ? { suggestions: (0, exports.validateSuggestionArray)(raw.suggestions) } : {})), ('tooltips' in raw ? { tooltips: (0, exports.validateTooltips)(raw.tooltips) } : {}));
83
+ return response_1.SyncResponseSchema.parse(raw);
161
84
  }