@doist/todoist-api-typescript 7.6.0 → 7.7.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 (162) hide show
  1. package/dist/cjs/todoist-api.js +8 -7
  2. package/dist/cjs/types/activity/index.js +18 -0
  3. package/dist/cjs/types/activity/requests.js +2 -0
  4. package/dist/cjs/types/activity/types.js +28 -0
  5. package/dist/cjs/types/backups/index.js +18 -0
  6. package/dist/cjs/types/backups/requests.js +2 -0
  7. package/dist/cjs/types/backups/types.js +8 -0
  8. package/dist/cjs/types/comments/index.js +18 -0
  9. package/dist/cjs/types/comments/requests.js +2 -0
  10. package/dist/cjs/types/comments/types.js +60 -0
  11. package/dist/cjs/types/common.js +2 -0
  12. package/dist/cjs/types/emails/index.js +17 -0
  13. package/dist/cjs/types/emails/requests.js +5 -0
  14. package/dist/cjs/types/id-mappings/index.js +18 -0
  15. package/dist/cjs/types/{requests.js → id-mappings/requests.js} +1 -7
  16. package/dist/cjs/types/id-mappings/types.js +12 -0
  17. package/dist/cjs/types/index.js +16 -2
  18. package/dist/cjs/types/insights/index.js +18 -0
  19. package/dist/cjs/types/insights/requests.js +2 -0
  20. package/dist/cjs/types/insights/types.js +84 -0
  21. package/dist/cjs/types/labels/index.js +18 -0
  22. package/dist/cjs/types/labels/requests.js +2 -0
  23. package/dist/cjs/types/labels/types.js +11 -0
  24. package/dist/cjs/types/productivity/index.js +17 -0
  25. package/dist/cjs/types/productivity/types.js +67 -0
  26. package/dist/cjs/types/projects/index.js +18 -0
  27. package/dist/cjs/types/projects/requests.js +2 -0
  28. package/dist/cjs/types/projects/types.js +56 -0
  29. package/dist/cjs/types/reminders/index.js +17 -0
  30. package/dist/cjs/types/reminders/requests.js +5 -0
  31. package/dist/cjs/types/sections/index.js +18 -0
  32. package/dist/cjs/types/sections/requests.js +2 -0
  33. package/dist/cjs/types/sections/types.js +22 -0
  34. package/dist/cjs/types/sync/commands/shared.js +2 -2
  35. package/dist/cjs/types/sync/resources/collaborators.js +2 -2
  36. package/dist/cjs/types/sync/resources/notes.js +2 -2
  37. package/dist/cjs/types/sync/resources/reminders.js +3 -3
  38. package/dist/cjs/types/sync/resources/user.js +2 -2
  39. package/dist/cjs/types/sync/resources/workspaces.js +5 -5
  40. package/dist/cjs/types/tasks/index.js +18 -0
  41. package/dist/cjs/types/tasks/requests.js +2 -0
  42. package/dist/cjs/types/tasks/types.js +59 -0
  43. package/dist/cjs/types/templates/index.js +17 -0
  44. package/dist/cjs/types/templates/requests.js +2 -0
  45. package/dist/cjs/types/uploads/index.js +17 -0
  46. package/dist/cjs/types/uploads/requests.js +2 -0
  47. package/dist/cjs/types/users/index.js +17 -0
  48. package/dist/cjs/types/users/types.js +51 -0
  49. package/dist/cjs/types/workspaces/index.js +18 -0
  50. package/dist/cjs/types/workspaces/requests.js +2 -0
  51. package/dist/cjs/types/workspaces/types.js +137 -0
  52. package/dist/cjs/utils/validators.js +38 -27
  53. package/dist/esm/todoist-api.js +4 -3
  54. package/dist/esm/types/activity/index.js +2 -0
  55. package/dist/esm/types/activity/requests.js +1 -0
  56. package/dist/esm/types/activity/types.js +25 -0
  57. package/dist/esm/types/backups/index.js +2 -0
  58. package/dist/esm/types/backups/requests.js +1 -0
  59. package/dist/esm/types/backups/types.js +5 -0
  60. package/dist/esm/types/comments/index.js +2 -0
  61. package/dist/esm/types/comments/requests.js +1 -0
  62. package/dist/esm/types/comments/types.js +57 -0
  63. package/dist/esm/types/common.js +1 -0
  64. package/dist/esm/types/emails/index.js +1 -0
  65. package/dist/esm/types/emails/requests.js +2 -0
  66. package/dist/esm/types/id-mappings/index.js +2 -0
  67. package/dist/esm/types/{requests.js → id-mappings/requests.js} +0 -6
  68. package/dist/esm/types/id-mappings/types.js +9 -0
  69. package/dist/esm/types/index.js +16 -2
  70. package/dist/esm/types/insights/index.js +2 -0
  71. package/dist/esm/types/insights/requests.js +1 -0
  72. package/dist/esm/types/insights/types.js +81 -0
  73. package/dist/esm/types/labels/index.js +2 -0
  74. package/dist/esm/types/labels/requests.js +1 -0
  75. package/dist/esm/types/labels/types.js +8 -0
  76. package/dist/esm/types/productivity/index.js +1 -0
  77. package/dist/esm/types/productivity/types.js +64 -0
  78. package/dist/esm/types/projects/index.js +2 -0
  79. package/dist/esm/types/projects/requests.js +1 -0
  80. package/dist/esm/types/projects/types.js +53 -0
  81. package/dist/esm/types/reminders/index.js +1 -0
  82. package/dist/esm/types/reminders/requests.js +2 -0
  83. package/dist/esm/types/sections/index.js +2 -0
  84. package/dist/esm/types/sections/requests.js +1 -0
  85. package/dist/esm/types/sections/types.js +19 -0
  86. package/dist/esm/types/sync/commands/shared.js +1 -1
  87. package/dist/esm/types/sync/resources/collaborators.js +1 -1
  88. package/dist/esm/types/sync/resources/notes.js +1 -1
  89. package/dist/esm/types/sync/resources/reminders.js +1 -1
  90. package/dist/esm/types/sync/resources/user.js +1 -1
  91. package/dist/esm/types/sync/resources/workspaces.js +1 -1
  92. package/dist/esm/types/tasks/index.js +2 -0
  93. package/dist/esm/types/tasks/requests.js +1 -0
  94. package/dist/esm/types/tasks/types.js +56 -0
  95. package/dist/esm/types/templates/index.js +1 -0
  96. package/dist/esm/types/templates/requests.js +1 -0
  97. package/dist/esm/types/uploads/index.js +1 -0
  98. package/dist/esm/types/uploads/requests.js +1 -0
  99. package/dist/esm/types/users/index.js +1 -0
  100. package/dist/esm/types/users/types.js +48 -0
  101. package/dist/esm/types/workspaces/index.js +2 -0
  102. package/dist/esm/types/workspaces/requests.js +1 -0
  103. package/dist/esm/types/workspaces/types.js +134 -0
  104. package/dist/esm/utils/validators.js +12 -1
  105. package/dist/types/test-utils/test-defaults.d.ts +5 -5
  106. package/dist/types/todoist-api.d.ts +16 -2
  107. package/dist/types/types/activity/index.d.ts +2 -0
  108. package/dist/types/types/activity/requests.d.ts +85 -0
  109. package/dist/types/types/activity/types.d.ts +49 -0
  110. package/dist/types/types/backups/index.d.ts +2 -0
  111. package/dist/types/types/backups/requests.d.ts +16 -0
  112. package/dist/types/types/backups/types.d.ts +7 -0
  113. package/dist/types/types/comments/index.d.ts +2 -0
  114. package/dist/types/types/comments/requests.d.ts +64 -0
  115. package/dist/types/types/comments/types.d.ts +141 -0
  116. package/dist/types/types/common.d.ts +6 -0
  117. package/dist/types/types/emails/index.d.ts +1 -0
  118. package/dist/types/types/emails/requests.d.ts +30 -0
  119. package/dist/types/types/id-mappings/index.d.ts +2 -0
  120. package/dist/types/types/id-mappings/requests.d.ts +28 -0
  121. package/dist/types/types/id-mappings/types.d.ts +13 -0
  122. package/dist/types/types/index.d.ts +16 -2
  123. package/dist/types/types/insights/index.d.ts +2 -0
  124. package/dist/types/types/insights/requests.d.ts +26 -0
  125. package/dist/types/types/insights/types.d.ts +186 -0
  126. package/dist/types/types/labels/index.d.ts +2 -0
  127. package/dist/types/types/labels/requests.d.ts +75 -0
  128. package/dist/types/types/labels/types.d.ts +13 -0
  129. package/dist/types/types/productivity/index.d.ts +1 -0
  130. package/dist/types/types/productivity/types.d.ts +115 -0
  131. package/dist/types/types/projects/index.d.ts +2 -0
  132. package/dist/types/types/projects/requests.d.ts +169 -0
  133. package/dist/types/types/projects/types.d.ts +201 -0
  134. package/dist/types/types/reminders/index.d.ts +1 -0
  135. package/dist/types/types/reminders/requests.d.ts +91 -0
  136. package/dist/types/types/sections/index.d.ts +2 -0
  137. package/dist/types/types/sections/requests.d.ts +41 -0
  138. package/dist/types/types/sections/types.d.ts +44 -0
  139. package/dist/types/types/sync/commands/projects.d.ts +2 -1
  140. package/dist/types/types/sync/commands/shared.d.ts +2 -2
  141. package/dist/types/types/sync/commands/workspaces.d.ts +1 -1
  142. package/dist/types/types/sync/resources/notes.d.ts +1 -1
  143. package/dist/types/types/sync/response.d.ts +5 -1
  144. package/dist/types/types/tasks/index.d.ts +2 -0
  145. package/dist/types/types/tasks/requests.d.ts +197 -0
  146. package/dist/types/types/tasks/types.d.ts +162 -0
  147. package/dist/types/types/templates/index.d.ts +1 -0
  148. package/dist/types/types/templates/requests.d.ts +92 -0
  149. package/dist/types/types/uploads/index.d.ts +1 -0
  150. package/dist/types/types/uploads/requests.d.ts +32 -0
  151. package/dist/types/types/users/index.d.ts +1 -0
  152. package/dist/types/types/users/types.d.ts +66 -0
  153. package/dist/types/types/workspaces/index.d.ts +2 -0
  154. package/dist/types/types/workspaces/requests.d.ts +260 -0
  155. package/dist/types/types/workspaces/types.d.ts +225 -0
  156. package/dist/types/utils/colors.d.ts +1 -1
  157. package/dist/types/utils/validators.d.ts +7 -6
  158. package/package.json +3 -3
  159. package/dist/cjs/types/entities.js +0 -552
  160. package/dist/esm/types/entities.js +0 -548
  161. package/dist/types/types/entities.d.ts +0 -1211
  162. package/dist/types/types/requests.d.ts +0 -1188
@@ -0,0 +1,169 @@
1
+ import type { ColorKey } from '../../utils/colors.js';
2
+ import type { SearchArgs } from '../common.js';
3
+ import type { Comment } from '../comments/types.js';
4
+ import type { Section } from '../sections/types.js';
5
+ import type { Task } from '../tasks/types.js';
6
+ import type { User } from '../users/types.js';
7
+ import type { CollaboratorRole, WorkspaceRole } from '../workspaces/types.js';
8
+ import type { PersonalProject, ProjectViewStyle, ProjectVisibility, WorkspaceProject } from './types.js';
9
+ /**
10
+ * Arguments for retrieving projects.
11
+ * @see https://developer.todoist.com/api/v1/#tag/Projects/operation/get_projects_api_v1_projects_get
12
+ */
13
+ export type GetProjectsArgs = {
14
+ cursor?: string | null;
15
+ limit?: number;
16
+ };
17
+ /**
18
+ * Arguments for searching projects.
19
+ */
20
+ export type SearchProjectsArgs = SearchArgs;
21
+ /**
22
+ * Response from retrieving projects.
23
+ * @see https://developer.todoist.com/api/v1/#tag/Projects/operation/get_projects_api_v1_projects_get
24
+ */
25
+ export type GetProjectsResponse = {
26
+ results: (PersonalProject | WorkspaceProject)[];
27
+ nextCursor: string | null;
28
+ };
29
+ /**
30
+ * Arguments for retrieving archived projects.
31
+ * @see https://developer.todoist.com/api/v1/#tag/Projects/operation/get_archived_projects_api_v1_projects_archived_get
32
+ */
33
+ export type GetArchivedProjectsArgs = {
34
+ cursor?: string | null;
35
+ limit?: number;
36
+ };
37
+ /**
38
+ * Response from retrieving archived projects.
39
+ * @see https://developer.todoist.com/api/v1/#tag/Projects/operation/get_archived_projects_api_v1_projects_archived_get
40
+ */
41
+ export type GetArchivedProjectsResponse = {
42
+ results: (PersonalProject | WorkspaceProject)[];
43
+ nextCursor: string | null;
44
+ };
45
+ /**
46
+ * Arguments for creating a new project.
47
+ * @see https://developer.todoist.com/api/v1/#tag/Projects/operation/create_project_api_v1_projects_post
48
+ */
49
+ export type AddProjectArgs = {
50
+ name: string;
51
+ parentId?: string;
52
+ color?: ColorKey;
53
+ isFavorite?: boolean;
54
+ viewStyle?: ProjectViewStyle;
55
+ workspaceId?: string;
56
+ };
57
+ /**
58
+ * Arguments for updating a project.
59
+ * @see https://developer.todoist.com/api/v1/#tag/Projects/operation/update_project_api_v1_projects__project_id__post
60
+ */
61
+ export type UpdateProjectArgs = {
62
+ name?: string;
63
+ color?: ColorKey;
64
+ isFavorite?: boolean;
65
+ viewStyle?: ProjectViewStyle;
66
+ };
67
+ /**
68
+ * Arguments for retrieving project collaborators.
69
+ * @see https://developer.todoist.com/api/v1/#tag/Projects/operation/get_project_collaborators_api_v1_projects__project_id__collaborators_get
70
+ */
71
+ export type GetProjectCollaboratorsArgs = {
72
+ cursor?: string | null;
73
+ limit?: number;
74
+ };
75
+ /**
76
+ * Response from retrieving project collaborators.
77
+ * @see https://developer.todoist.com/api/v1/#tag/Projects/operation/get_project_collaborators_api_v1_projects__project_id__collaborators_get
78
+ */
79
+ export type GetProjectCollaboratorsResponse = {
80
+ results: User[];
81
+ nextCursor: string | null;
82
+ };
83
+ /**
84
+ * Arguments for moving a project to a workspace.
85
+ */
86
+ export type MoveProjectToWorkspaceArgs = {
87
+ /** The ID of the project to move. */
88
+ projectId: string;
89
+ /** The target workspace ID. */
90
+ workspaceId: string;
91
+ /** Optional target folder ID within the workspace. */
92
+ folderId?: string | null;
93
+ /** Optional access settings for the project in the workspace. */
94
+ access?: {
95
+ visibility: ProjectVisibility;
96
+ };
97
+ };
98
+ /**
99
+ * Arguments for moving a project to personal.
100
+ */
101
+ export type MoveProjectToPersonalArgs = {
102
+ /** The ID of the project to move. */
103
+ projectId: string;
104
+ };
105
+ /**
106
+ * Arguments for counting archived projects.
107
+ * @see https://developer.todoist.com/api/v1/#tag/Projects/operation/count_projects_archived_api_v1_projects_archived_count_get
108
+ */
109
+ export type GetArchivedProjectsCountArgs = {
110
+ workspaceId?: number | null;
111
+ joined?: boolean | null;
112
+ };
113
+ /**
114
+ * Response from counting archived projects.
115
+ * @see https://developer.todoist.com/api/v1/#tag/Projects/operation/count_projects_archived_api_v1_projects_archived_count_get
116
+ */
117
+ export type GetArchivedProjectsCountResponse = {
118
+ count: number;
119
+ };
120
+ /**
121
+ * An action permitted for a role.
122
+ */
123
+ export type ActionView = {
124
+ name: string;
125
+ };
126
+ /**
127
+ * A project collaborator role with its permitted actions.
128
+ */
129
+ export type ProjectRoleView = {
130
+ name: CollaboratorRole;
131
+ actions: ActionView[];
132
+ };
133
+ /**
134
+ * A workspace role with its permitted actions.
135
+ */
136
+ export type WorkspaceRoleView = {
137
+ name: WorkspaceRole;
138
+ actions: ActionView[];
139
+ };
140
+ /**
141
+ * Response from getting project permissions (role-to-action mappings).
142
+ * @see https://developer.todoist.com/api/v1/#tag/Projects/operation/permissions_api_v1_projects_permissions_get
143
+ */
144
+ export type GetProjectPermissionsResponse = {
145
+ projectCollaboratorActions: ProjectRoleView[];
146
+ workspaceCollaboratorActions: WorkspaceRoleView[];
147
+ };
148
+ /**
149
+ * Arguments for getting full project data.
150
+ * @see https://developer.todoist.com/api/v1/#tag/Projects/operation/projects_full_data_api_v1_projects__project_id__full_get
151
+ */
152
+ export type GetFullProjectArgs = {
153
+ /**
154
+ * Required to access the public project without authentication.
155
+ */
156
+ publicKey?: string | null;
157
+ };
158
+ /**
159
+ * Response from getting full project data.
160
+ * @see https://developer.todoist.com/api/v1/#tag/Projects/operation/projects_full_data_api_v1_projects__project_id__full_get
161
+ */
162
+ export type GetFullProjectResponse = {
163
+ project: (PersonalProject | WorkspaceProject) | null;
164
+ commentsCount: number;
165
+ tasks: Task[];
166
+ sections: Section[];
167
+ collaborators: User[];
168
+ notes: Comment[];
169
+ };
@@ -0,0 +1,201 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Base schema for all project types in Todoist.
4
+ * Contains common fields shared between personal and workspace projects.
5
+ */
6
+ export declare const BaseProjectSchema: z.ZodObject<{
7
+ id: z.ZodString;
8
+ canAssignTasks: z.ZodBoolean;
9
+ childOrder: z.ZodNumber;
10
+ color: z.ZodString;
11
+ createdAt: z.ZodNullable<z.ZodString>;
12
+ isArchived: z.ZodBoolean;
13
+ isDeleted: z.ZodBoolean;
14
+ isFavorite: z.ZodBoolean;
15
+ isFrozen: z.ZodBoolean;
16
+ name: z.ZodString;
17
+ updatedAt: z.ZodNullable<z.ZodString>;
18
+ viewStyle: z.ZodString;
19
+ defaultOrder: z.ZodNumber;
20
+ description: z.ZodString;
21
+ isCollapsed: z.ZodBoolean;
22
+ isShared: z.ZodBoolean;
23
+ }, z.core.$strip>;
24
+ /**
25
+ * Schema for personal projects in Todoist.
26
+ */
27
+ export declare const PersonalProjectSchema: z.ZodPipe<z.ZodObject<{
28
+ id: z.ZodString;
29
+ canAssignTasks: z.ZodBoolean;
30
+ childOrder: z.ZodNumber;
31
+ color: z.ZodString;
32
+ createdAt: z.ZodNullable<z.ZodString>;
33
+ isArchived: z.ZodBoolean;
34
+ isDeleted: z.ZodBoolean;
35
+ isFavorite: z.ZodBoolean;
36
+ isFrozen: z.ZodBoolean;
37
+ name: z.ZodString;
38
+ updatedAt: z.ZodNullable<z.ZodString>;
39
+ viewStyle: z.ZodString;
40
+ defaultOrder: z.ZodNumber;
41
+ description: z.ZodString;
42
+ isCollapsed: z.ZodBoolean;
43
+ isShared: z.ZodBoolean;
44
+ parentId: z.ZodNullable<z.ZodString>;
45
+ inboxProject: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
46
+ }, z.core.$strip>, z.ZodTransform<{
47
+ url: string;
48
+ id: string;
49
+ canAssignTasks: boolean;
50
+ childOrder: number;
51
+ color: string;
52
+ createdAt: string | null;
53
+ isArchived: boolean;
54
+ isDeleted: boolean;
55
+ isFavorite: boolean;
56
+ isFrozen: boolean;
57
+ name: string;
58
+ updatedAt: string | null;
59
+ viewStyle: string;
60
+ defaultOrder: number;
61
+ description: string;
62
+ isCollapsed: boolean;
63
+ isShared: boolean;
64
+ parentId: string | null;
65
+ inboxProject: boolean;
66
+ }, {
67
+ id: string;
68
+ canAssignTasks: boolean;
69
+ childOrder: number;
70
+ color: string;
71
+ createdAt: string | null;
72
+ isArchived: boolean;
73
+ isDeleted: boolean;
74
+ isFavorite: boolean;
75
+ isFrozen: boolean;
76
+ name: string;
77
+ updatedAt: string | null;
78
+ viewStyle: string;
79
+ defaultOrder: number;
80
+ description: string;
81
+ isCollapsed: boolean;
82
+ isShared: boolean;
83
+ parentId: string | null;
84
+ inboxProject: boolean;
85
+ }>>;
86
+ /** Available project visibility levels. */
87
+ export declare const PROJECT_VISIBILITIES: readonly ["restricted", "team", "public"];
88
+ /** Visibility level of a workspace project. */
89
+ export type ProjectVisibility = (typeof PROJECT_VISIBILITIES)[number];
90
+ export declare const ProjectVisibilitySchema: z.ZodEnum<{
91
+ restricted: "restricted";
92
+ team: "team";
93
+ public: "public";
94
+ }>;
95
+ /**
96
+ * Schema for workspace projects in Todoist.
97
+ */
98
+ export declare const WorkspaceProjectSchema: z.ZodPipe<z.ZodObject<{
99
+ id: z.ZodString;
100
+ canAssignTasks: z.ZodBoolean;
101
+ childOrder: z.ZodNumber;
102
+ color: z.ZodString;
103
+ createdAt: z.ZodNullable<z.ZodString>;
104
+ isArchived: z.ZodBoolean;
105
+ isDeleted: z.ZodBoolean;
106
+ isFavorite: z.ZodBoolean;
107
+ isFrozen: z.ZodBoolean;
108
+ name: z.ZodString;
109
+ updatedAt: z.ZodNullable<z.ZodString>;
110
+ viewStyle: z.ZodString;
111
+ defaultOrder: z.ZodNumber;
112
+ description: z.ZodString;
113
+ isCollapsed: z.ZodBoolean;
114
+ isShared: z.ZodBoolean;
115
+ access: z.ZodOptional<z.ZodObject<{
116
+ visibility: z.ZodEnum<{
117
+ restricted: "restricted";
118
+ team: "team";
119
+ public: "public";
120
+ }>;
121
+ }, z.core.$strip>>;
122
+ collaboratorRoleDefault: z.ZodString;
123
+ folderId: z.ZodNullable<z.ZodString>;
124
+ isInviteOnly: z.ZodNullable<z.ZodBoolean>;
125
+ isLinkSharingEnabled: z.ZodBoolean;
126
+ role: z.ZodNullable<z.ZodString>;
127
+ status: z.ZodString;
128
+ workspaceId: z.ZodString;
129
+ }, z.core.$strip>, z.ZodTransform<{
130
+ url: string;
131
+ id: string;
132
+ canAssignTasks: boolean;
133
+ childOrder: number;
134
+ color: string;
135
+ createdAt: string | null;
136
+ isArchived: boolean;
137
+ isDeleted: boolean;
138
+ isFavorite: boolean;
139
+ isFrozen: boolean;
140
+ name: string;
141
+ updatedAt: string | null;
142
+ viewStyle: string;
143
+ defaultOrder: number;
144
+ description: string;
145
+ isCollapsed: boolean;
146
+ isShared: boolean;
147
+ collaboratorRoleDefault: string;
148
+ folderId: string | null;
149
+ isInviteOnly: boolean | null;
150
+ isLinkSharingEnabled: boolean;
151
+ role: string | null;
152
+ status: string;
153
+ workspaceId: string;
154
+ access?: {
155
+ visibility: "restricted" | "team" | "public";
156
+ } | undefined;
157
+ }, {
158
+ id: string;
159
+ canAssignTasks: boolean;
160
+ childOrder: number;
161
+ color: string;
162
+ createdAt: string | null;
163
+ isArchived: boolean;
164
+ isDeleted: boolean;
165
+ isFavorite: boolean;
166
+ isFrozen: boolean;
167
+ name: string;
168
+ updatedAt: string | null;
169
+ viewStyle: string;
170
+ defaultOrder: number;
171
+ description: string;
172
+ isCollapsed: boolean;
173
+ isShared: boolean;
174
+ collaboratorRoleDefault: string;
175
+ folderId: string | null;
176
+ isInviteOnly: boolean | null;
177
+ isLinkSharingEnabled: boolean;
178
+ role: string | null;
179
+ status: string;
180
+ workspaceId: string;
181
+ access?: {
182
+ visibility: "restricted" | "team" | "public";
183
+ } | undefined;
184
+ }>>;
185
+ /**
186
+ * Represents a personal project in Todoist.
187
+ * @see https://developer.todoist.com/api/v1/#tag/Projects
188
+ */
189
+ export type PersonalProject = z.infer<typeof PersonalProjectSchema>;
190
+ /**
191
+ * Represents a workspace project in Todoist.
192
+ * @see https://developer.todoist.com/api/v1/#tag/Projects
193
+ */
194
+ export type WorkspaceProject = z.infer<typeof WorkspaceProjectSchema>;
195
+ /** Available project view styles. */
196
+ export declare const PROJECT_VIEW_STYLES: readonly ["list", "board", "calendar"];
197
+ /**
198
+ * View style for a project.
199
+ * @see https://developer.todoist.com/api/v1/#tag/Projects
200
+ */
201
+ export type ProjectViewStyle = (typeof PROJECT_VIEW_STYLES)[number];
@@ -0,0 +1 @@
1
+ export * from './requests.js';
@@ -0,0 +1,91 @@
1
+ import type { DueDate } from '../tasks/types.js';
2
+ import type { LocationTrigger, Reminder, LocationReminder } from '../sync/resources/reminders.js';
3
+ /** Available reminder delivery services. */
4
+ export declare const REMINDER_DELIVERY_SERVICES: readonly ["email", "push"];
5
+ /** Delivery service for a reminder notification. */
6
+ export type ReminderDeliveryService = (typeof REMINDER_DELIVERY_SERVICES)[number];
7
+ export type ReminderDueDate = Partial<Pick<DueDate, 'date' | 'string' | 'timezone' | 'lang' | 'isRecurring'>>;
8
+ type ReminderTaskArgs = {
9
+ taskId: string;
10
+ };
11
+ type TimeBasedReminderArgs = {
12
+ service?: ReminderDeliveryService;
13
+ notifyUid?: string;
14
+ isUrgent?: boolean;
15
+ };
16
+ type AddLocationReminderFields = {
17
+ notifyUid?: string;
18
+ name: string;
19
+ locLat: string;
20
+ locLong: string;
21
+ locTrigger: LocationTrigger;
22
+ radius?: number;
23
+ };
24
+ export type AddRelativeReminderArgs = ReminderTaskArgs & {
25
+ reminderType?: 'relative';
26
+ minuteOffset: number;
27
+ } & TimeBasedReminderArgs;
28
+ export type AddAbsoluteReminderArgs = ReminderTaskArgs & {
29
+ reminderType: 'absolute';
30
+ due: ReminderDueDate;
31
+ } & TimeBasedReminderArgs;
32
+ export type AddLocationReminderArgs = ReminderTaskArgs & AddLocationReminderFields;
33
+ /**
34
+ * Arguments for creating a new reminder.
35
+ * @see https://developer.todoist.com/api/v1/#tag/Reminders/operation/create_reminder_api_v1_reminders_post
36
+ */
37
+ export type AddReminderArgs = AddRelativeReminderArgs | AddAbsoluteReminderArgs;
38
+ export type UpdateRelativeReminderArgs = {
39
+ reminderType: 'relative';
40
+ } & Partial<Omit<AddRelativeReminderArgs, 'taskId' | 'reminderType'>>;
41
+ export type UpdateAbsoluteReminderArgs = {
42
+ reminderType: 'absolute';
43
+ } & Partial<Omit<AddAbsoluteReminderArgs, 'taskId' | 'reminderType'>>;
44
+ /**
45
+ * Arguments for updating an existing reminder.
46
+ * @see https://developer.todoist.com/api/v1/#tag/Reminders/operation/update_reminder_api_v1_reminders__reminder_id__post
47
+ */
48
+ export type UpdateReminderArgs = UpdateRelativeReminderArgs | UpdateAbsoluteReminderArgs;
49
+ /**
50
+ * Arguments for updating an existing location reminder.
51
+ */
52
+ export type UpdateLocationReminderArgs = Partial<Omit<AddLocationReminderArgs, 'taskId'>>;
53
+ /**
54
+ * Arguments for listing reminders.
55
+ * @see https://developer.todoist.com/api/v1/#tag/Reminders/operation/get_reminders_api_v1_reminders_get
56
+ */
57
+ export type GetRemindersArgs = {
58
+ /** Filter by task ID. */
59
+ taskId?: string | null;
60
+ /** Cursor for pagination. */
61
+ cursor?: string | null;
62
+ /** Number of results per page (max 200, default 50). */
63
+ limit?: number;
64
+ };
65
+ /**
66
+ * Paginated response for reminders.
67
+ */
68
+ export type GetRemindersResponse = {
69
+ results: Reminder[];
70
+ nextCursor: string | null;
71
+ };
72
+ /**
73
+ * Arguments for listing location reminders.
74
+ * @see https://developer.todoist.com/api/v1/#tag/Location-reminders/operation/get_location_reminders_api_v1_location_reminders_get
75
+ */
76
+ export type GetLocationRemindersArgs = {
77
+ /** Filter by task ID. */
78
+ taskId?: string | null;
79
+ /** Cursor for pagination. */
80
+ cursor?: string | null;
81
+ /** Number of results per page (max 200, default 50). */
82
+ limit?: number;
83
+ };
84
+ /**
85
+ * Paginated response for location reminders.
86
+ */
87
+ export type GetLocationRemindersResponse = {
88
+ results: LocationReminder[];
89
+ nextCursor: string | null;
90
+ };
91
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './types.js';
2
+ export * from './requests.js';
@@ -0,0 +1,41 @@
1
+ import type { SearchArgs } from '../common.js';
2
+ import type { Section } from './types.js';
3
+ /**
4
+ * Arguments for retrieving sections.
5
+ * @see https://developer.todoist.com/api/v1/#tag/Sections/operation/get_sections_api_v1_sections_get
6
+ */
7
+ export type GetSectionsArgs = {
8
+ projectId?: string | null;
9
+ cursor?: string | null;
10
+ limit?: number;
11
+ };
12
+ /**
13
+ * Arguments for searching sections.
14
+ */
15
+ export type SearchSectionsArgs = SearchArgs & {
16
+ projectId?: string | null;
17
+ };
18
+ /**
19
+ * Response from retrieving sections.
20
+ * @see https://developer.todoist.com/api/v1/#tag/Sections/operation/get_sections_api_v1_sections_get
21
+ */
22
+ export type GetSectionsResponse = {
23
+ results: Section[];
24
+ nextCursor: string | null;
25
+ };
26
+ /**
27
+ * Arguments for creating a new section.
28
+ * @see https://developer.todoist.com/api/v1/#tag/Sections/operation/create_section_api_v1_sections_post
29
+ */
30
+ export type AddSectionArgs = {
31
+ name: string;
32
+ projectId: string;
33
+ order?: number | null;
34
+ };
35
+ /**
36
+ * Arguments for updating a section.
37
+ * @see https://developer.todoist.com/api/v1/#tag/Sections/operation/update_section_api_v1_sections__section_id__post
38
+ */
39
+ export type UpdateSectionArgs = {
40
+ name: string;
41
+ };
@@ -0,0 +1,44 @@
1
+ import { z } from 'zod';
2
+ export declare const SectionSchema: z.ZodPipe<z.ZodObject<{
3
+ id: z.ZodString;
4
+ userId: z.ZodString;
5
+ projectId: z.ZodString;
6
+ addedAt: z.ZodString;
7
+ updatedAt: z.ZodString;
8
+ archivedAt: z.ZodNullable<z.ZodString>;
9
+ name: z.ZodString;
10
+ sectionOrder: z.ZodNumber;
11
+ isArchived: z.ZodBoolean;
12
+ isDeleted: z.ZodBoolean;
13
+ isCollapsed: z.ZodBoolean;
14
+ }, z.core.$strip>, z.ZodTransform<{
15
+ url: string;
16
+ id: string;
17
+ userId: string;
18
+ projectId: string;
19
+ addedAt: string;
20
+ updatedAt: string;
21
+ archivedAt: string | null;
22
+ name: string;
23
+ sectionOrder: number;
24
+ isArchived: boolean;
25
+ isDeleted: boolean;
26
+ isCollapsed: boolean;
27
+ }, {
28
+ id: string;
29
+ userId: string;
30
+ projectId: string;
31
+ addedAt: string;
32
+ updatedAt: string;
33
+ archivedAt: string | null;
34
+ name: string;
35
+ sectionOrder: number;
36
+ isArchived: boolean;
37
+ isDeleted: boolean;
38
+ isCollapsed: boolean;
39
+ }>>;
40
+ /**
41
+ * Represents a section in a Todoist project.
42
+ * @see https://developer.todoist.com/api/v1/#tag/Sections
43
+ */
44
+ export type Section = z.infer<typeof SectionSchema>;
@@ -1,4 +1,5 @@
1
- import type { ProjectViewStyle, ProjectVisibility, WorkspaceRole, CollaboratorRole } from '../../entities.js';
1
+ import type { ProjectViewStyle, ProjectVisibility } from '../../projects/types.js';
2
+ import type { WorkspaceRole, CollaboratorRole } from '../../workspaces/types.js';
2
3
  import type { ProjectStatus } from './shared.js';
3
4
  import type { ColorKey } from '../../../utils/colors.js';
4
5
  export type ProjectAccessConfig = {
@@ -35,7 +35,7 @@ export type TaskPriority = 1 | 2 | 3 | 4;
35
35
  export declare const PROJECT_STATUSES: readonly ["PLANNED", "IN_PROGRESS", "PAUSED", "COMPLETED", "CANCELED"];
36
36
  /** Project workflow status. */
37
37
  export type ProjectStatus = (typeof PROJECT_STATUSES)[number];
38
- export { COLLABORATOR_ROLES, type CollaboratorRole } from '../../entities.js';
38
+ export { COLLABORATOR_ROLES, type CollaboratorRole } from '../../workspaces/types.js';
39
39
  /** Available reminder notification services. */
40
40
  export declare const REMINDER_SERVICES: readonly ["default", "email", "mobile", "push", "no_default"];
41
41
  /** Reminder notification service. */
@@ -44,7 +44,7 @@ export type ReminderService = (typeof REMINDER_SERVICES)[number];
44
44
  * Default access level for workspaces.
45
45
  * Same values as {@link ProjectVisibility} from entities.
46
46
  */
47
- export { type ProjectVisibility as DefaultAccessLevel } from '../../entities.js';
47
+ export { type ProjectVisibility as DefaultAccessLevel } from '../../projects/types.js';
48
48
  /** Available workspace project sort orders. */
49
49
  export declare const WORKSPACE_PROJECT_SORT_ORDERS: readonly ["MANUAL", "A_TO_Z", "Z_TO_A"];
50
50
  /** Workspace project sort order preference. */
@@ -1,4 +1,4 @@
1
- import type { WorkspaceRole } from '../../entities.js';
1
+ import type { WorkspaceRole } from '../../workspaces/types.js';
2
2
  import type { DefaultAccessLevel, WorkspaceProjectSortOrder } from './shared.js';
3
3
  export type SyncWorkspaceProperties = {
4
4
  organizationSize?: string;
@@ -17,8 +17,8 @@ export declare const NoteSchema: z.ZodObject<{
17
17
  fileUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
18
18
  fileDuration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
19
19
  uploadState: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
20
- pending: "pending";
21
20
  completed: "completed";
21
+ pending: "pending";
22
22
  }>>>;
23
23
  image: z.ZodOptional<z.ZodNullable<z.ZodString>>;
24
24
  imageWidth: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -1,4 +1,8 @@
1
- import type { Task, Label, Section, PersonalProject, WorkspaceProject, WorkspaceUser } from '../entities.js';
1
+ import type { Task } from '../tasks/types.js';
2
+ import type { PersonalProject, WorkspaceProject } from '../projects/types.js';
3
+ import type { Section } from '../sections/types.js';
4
+ import type { Label } from '../labels/types.js';
5
+ import type { WorkspaceUser } from '../workspaces/types.js';
2
6
  import type { Filter, Collaborator, CollaboratorState, Folder, Note, Tooltips, WorkspaceFilter, WorkspaceGoal, Calendar, CalendarAccount, Reminder, CompletedInfo, ViewOptions, ProjectViewOptionsDefaults, UserPlanLimits, LiveNotification, SyncWorkspace, SyncUser, UserSettings, LocationReminder, Suggestion } from './resources/index.js';
3
7
  export type SyncError = {
4
8
  error: string;
@@ -0,0 +1,2 @@
1
+ export * from './types.js';
2
+ export * from './requests.js';