@kb-labs/clickup-contracts 2.96.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,5 @@
1
+ # @kb-labs/clickup-contracts
2
+
3
+ > Part of [KB Labs](https://github.com/KirillBaranov/kb-labs) ecosystem.
4
+
5
+ Public types for the ClickUp plugin.
@@ -0,0 +1,363 @@
1
+ import { z } from 'zod';
2
+
3
+ declare const CLICKUP_BASE_PATH: "/v1/plugins/clickup";
4
+ declare const CLICKUP_ROUTES: {
5
+ readonly WORKSPACE: "/workspace";
6
+ readonly TASKS_SEARCH: "/tasks/search";
7
+ readonly TASK: "/tasks/:taskId";
8
+ readonly TASKS_IN_LIST: "/lists/:listId/tasks";
9
+ readonly LIST_STATUSES: "/lists/:listId/statuses";
10
+ readonly TASK_COMMENTS: "/tasks/:taskId/comments";
11
+ readonly SPACES: "/spaces";
12
+ readonly SPACE: "/spaces/:spaceId";
13
+ readonly SPACE_FOLDERS: "/spaces/:spaceId/folders";
14
+ readonly FOLDER: "/folders/:folderId";
15
+ readonly SPACE_LISTS: "/spaces/:spaceId/lists";
16
+ readonly FOLDER_LISTS: "/folders/:folderId/lists";
17
+ readonly LIST: "/lists/:listId";
18
+ };
19
+ declare const CLICKUP_FULL_ROUTES: {
20
+ readonly WORKSPACE: "/v1/plugins/clickup/workspace";
21
+ readonly TASKS_SEARCH: "/v1/plugins/clickup/tasks/search";
22
+ readonly TASK: "/v1/plugins/clickup/tasks/:taskId";
23
+ readonly TASKS_IN_LIST: "/v1/plugins/clickup/lists/:listId/tasks";
24
+ readonly LIST_STATUSES: "/v1/plugins/clickup/lists/:listId/statuses";
25
+ readonly TASK_COMMENTS: "/v1/plugins/clickup/tasks/:taskId/comments";
26
+ };
27
+
28
+ interface ClickUpStatus {
29
+ id: string;
30
+ status: string;
31
+ color: string;
32
+ type: string;
33
+ orderindex: number;
34
+ }
35
+ interface ClickUpMember {
36
+ id: number;
37
+ username: string;
38
+ email: string;
39
+ profilePicture: string | null;
40
+ }
41
+ interface ClickUpList {
42
+ id: string;
43
+ name: string;
44
+ orderindex: number;
45
+ status: ClickUpStatus | null;
46
+ taskCount?: number;
47
+ statuses?: ClickUpStatus[];
48
+ }
49
+ interface ClickUpFolder {
50
+ id: string;
51
+ name: string;
52
+ orderindex: number;
53
+ lists: ClickUpList[];
54
+ }
55
+ interface ClickUpSpace {
56
+ id: string;
57
+ name: string;
58
+ folders: ClickUpFolder[];
59
+ lists: ClickUpList[];
60
+ }
61
+ interface ClickUpWorkspace {
62
+ id: string;
63
+ name: string;
64
+ spaces: ClickUpSpace[];
65
+ }
66
+ interface ClickUpTask {
67
+ id: string;
68
+ name: string;
69
+ description?: string;
70
+ status: ClickUpStatus;
71
+ priority: {
72
+ id: string;
73
+ priority: string;
74
+ color: string;
75
+ orderindex: string;
76
+ } | null;
77
+ assignees: ClickUpMember[];
78
+ creator: ClickUpMember;
79
+ list: {
80
+ id: string;
81
+ name: string;
82
+ };
83
+ folder: {
84
+ id: string;
85
+ name: string;
86
+ };
87
+ space: {
88
+ id: string;
89
+ };
90
+ url: string;
91
+ due_date: string | null;
92
+ date_created: string;
93
+ date_updated: string;
94
+ tags: Array<{
95
+ name: string;
96
+ tag_fg: string;
97
+ tag_bg: string;
98
+ }>;
99
+ subtasks?: ClickUpTask[];
100
+ parent?: string | null;
101
+ }
102
+ interface ClickUpComment {
103
+ id: string;
104
+ comment: Array<{
105
+ text: string;
106
+ }>;
107
+ comment_text: string;
108
+ user: ClickUpMember;
109
+ date: string;
110
+ resolved: boolean;
111
+ }
112
+ interface ClickUpSpaceFeatures {
113
+ due_dates?: {
114
+ enabled: boolean;
115
+ };
116
+ time_tracking?: {
117
+ enabled: boolean;
118
+ };
119
+ tags?: {
120
+ enabled: boolean;
121
+ };
122
+ time_estimates?: {
123
+ enabled: boolean;
124
+ };
125
+ checklists?: {
126
+ enabled: boolean;
127
+ };
128
+ custom_fields?: {
129
+ enabled: boolean;
130
+ };
131
+ remap_dependencies?: {
132
+ enabled: boolean;
133
+ };
134
+ dependency_warning?: {
135
+ enabled: boolean;
136
+ };
137
+ portfolios?: {
138
+ enabled: boolean;
139
+ };
140
+ }
141
+ interface ClickUpSpaceDetail extends ClickUpSpace {
142
+ color?: string | null;
143
+ private: boolean;
144
+ statuses: ClickUpStatus[];
145
+ features: ClickUpSpaceFeatures;
146
+ }
147
+
148
+ declare const CreateTaskSchema: z.ZodObject<{
149
+ name: z.ZodString;
150
+ markdown_content: z.ZodOptional<z.ZodString>;
151
+ status: z.ZodOptional<z.ZodString>;
152
+ priority: z.ZodOptional<z.ZodNumber>;
153
+ assignees: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
154
+ due_date: z.ZodOptional<z.ZodNumber>;
155
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
156
+ parent: z.ZodOptional<z.ZodString>;
157
+ }, "strip", z.ZodTypeAny, {
158
+ name: string;
159
+ markdown_content?: string | undefined;
160
+ status?: string | undefined;
161
+ priority?: number | undefined;
162
+ assignees?: number[] | undefined;
163
+ due_date?: number | undefined;
164
+ tags?: string[] | undefined;
165
+ parent?: string | undefined;
166
+ }, {
167
+ name: string;
168
+ markdown_content?: string | undefined;
169
+ status?: string | undefined;
170
+ priority?: number | undefined;
171
+ assignees?: number[] | undefined;
172
+ due_date?: number | undefined;
173
+ tags?: string[] | undefined;
174
+ parent?: string | undefined;
175
+ }>;
176
+ declare const UpdateTaskSchema: z.ZodObject<{
177
+ name: z.ZodOptional<z.ZodString>;
178
+ markdown_content: z.ZodOptional<z.ZodString>;
179
+ status: z.ZodOptional<z.ZodString>;
180
+ priority: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
181
+ assignees: z.ZodOptional<z.ZodObject<{
182
+ add: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
183
+ rem: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
184
+ }, "strip", z.ZodTypeAny, {
185
+ add?: number[] | undefined;
186
+ rem?: number[] | undefined;
187
+ }, {
188
+ add?: number[] | undefined;
189
+ rem?: number[] | undefined;
190
+ }>>;
191
+ due_date: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
192
+ }, "strip", z.ZodTypeAny, {
193
+ name?: string | undefined;
194
+ markdown_content?: string | undefined;
195
+ status?: string | undefined;
196
+ priority?: number | null | undefined;
197
+ assignees?: {
198
+ add?: number[] | undefined;
199
+ rem?: number[] | undefined;
200
+ } | undefined;
201
+ due_date?: number | null | undefined;
202
+ }, {
203
+ name?: string | undefined;
204
+ markdown_content?: string | undefined;
205
+ status?: string | undefined;
206
+ priority?: number | null | undefined;
207
+ assignees?: {
208
+ add?: number[] | undefined;
209
+ rem?: number[] | undefined;
210
+ } | undefined;
211
+ due_date?: number | null | undefined;
212
+ }>;
213
+ declare const SearchTasksQuerySchema: z.ZodObject<{
214
+ query: z.ZodOptional<z.ZodString>;
215
+ list_ids: z.ZodOptional<z.ZodString>;
216
+ statuses: z.ZodOptional<z.ZodString>;
217
+ assignees: z.ZodOptional<z.ZodString>;
218
+ limit: z.ZodDefault<z.ZodNumber>;
219
+ page: z.ZodDefault<z.ZodNumber>;
220
+ include_closed: z.ZodDefault<z.ZodBoolean>;
221
+ }, "strip", z.ZodTypeAny, {
222
+ limit: number;
223
+ page: number;
224
+ include_closed: boolean;
225
+ assignees?: string | undefined;
226
+ query?: string | undefined;
227
+ list_ids?: string | undefined;
228
+ statuses?: string | undefined;
229
+ }, {
230
+ assignees?: string | undefined;
231
+ query?: string | undefined;
232
+ list_ids?: string | undefined;
233
+ statuses?: string | undefined;
234
+ limit?: number | undefined;
235
+ page?: number | undefined;
236
+ include_closed?: boolean | undefined;
237
+ }>;
238
+ declare const ListTasksQuerySchema: z.ZodObject<{
239
+ statuses: z.ZodOptional<z.ZodString>;
240
+ assignees: z.ZodOptional<z.ZodString>;
241
+ limit: z.ZodDefault<z.ZodNumber>;
242
+ page: z.ZodDefault<z.ZodNumber>;
243
+ include_closed: z.ZodDefault<z.ZodBoolean>;
244
+ }, "strip", z.ZodTypeAny, {
245
+ limit: number;
246
+ page: number;
247
+ include_closed: boolean;
248
+ assignees?: string | undefined;
249
+ statuses?: string | undefined;
250
+ }, {
251
+ assignees?: string | undefined;
252
+ statuses?: string | undefined;
253
+ limit?: number | undefined;
254
+ page?: number | undefined;
255
+ include_closed?: boolean | undefined;
256
+ }>;
257
+ declare const AddCommentSchema: z.ZodObject<{
258
+ comment_text: z.ZodString;
259
+ assignee: z.ZodOptional<z.ZodNumber>;
260
+ notify_all: z.ZodDefault<z.ZodBoolean>;
261
+ }, "strip", z.ZodTypeAny, {
262
+ comment_text: string;
263
+ notify_all: boolean;
264
+ assignee?: number | undefined;
265
+ }, {
266
+ comment_text: string;
267
+ assignee?: number | undefined;
268
+ notify_all?: boolean | undefined;
269
+ }>;
270
+ declare const CreateSpaceSchema: z.ZodObject<{
271
+ name: z.ZodString;
272
+ color: z.ZodOptional<z.ZodString>;
273
+ private: z.ZodDefault<z.ZodBoolean>;
274
+ }, "strip", z.ZodTypeAny, {
275
+ name: string;
276
+ private: boolean;
277
+ color?: string | undefined;
278
+ }, {
279
+ name: string;
280
+ color?: string | undefined;
281
+ private?: boolean | undefined;
282
+ }>;
283
+ declare const UpdateSpaceSchema: z.ZodObject<{
284
+ name: z.ZodOptional<z.ZodString>;
285
+ color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
286
+ private: z.ZodOptional<z.ZodBoolean>;
287
+ }, "strip", z.ZodTypeAny, {
288
+ name?: string | undefined;
289
+ color?: string | null | undefined;
290
+ private?: boolean | undefined;
291
+ }, {
292
+ name?: string | undefined;
293
+ color?: string | null | undefined;
294
+ private?: boolean | undefined;
295
+ }>;
296
+ declare const CreateFolderSchema: z.ZodObject<{
297
+ name: z.ZodString;
298
+ }, "strip", z.ZodTypeAny, {
299
+ name: string;
300
+ }, {
301
+ name: string;
302
+ }>;
303
+ declare const UpdateFolderSchema: z.ZodObject<{
304
+ name: z.ZodString;
305
+ }, "strip", z.ZodTypeAny, {
306
+ name: string;
307
+ }, {
308
+ name: string;
309
+ }>;
310
+ declare const CreateListSchema: z.ZodObject<{
311
+ name: z.ZodString;
312
+ content: z.ZodOptional<z.ZodString>;
313
+ status: z.ZodOptional<z.ZodString>;
314
+ priority: z.ZodOptional<z.ZodNumber>;
315
+ due_date: z.ZodOptional<z.ZodNumber>;
316
+ assignee: z.ZodOptional<z.ZodNumber>;
317
+ }, "strip", z.ZodTypeAny, {
318
+ name: string;
319
+ status?: string | undefined;
320
+ priority?: number | undefined;
321
+ due_date?: number | undefined;
322
+ assignee?: number | undefined;
323
+ content?: string | undefined;
324
+ }, {
325
+ name: string;
326
+ status?: string | undefined;
327
+ priority?: number | undefined;
328
+ due_date?: number | undefined;
329
+ assignee?: number | undefined;
330
+ content?: string | undefined;
331
+ }>;
332
+ declare const UpdateListSchema: z.ZodObject<{
333
+ name: z.ZodOptional<z.ZodString>;
334
+ content: z.ZodOptional<z.ZodString>;
335
+ status: z.ZodOptional<z.ZodString>;
336
+ priority: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
337
+ due_date: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
338
+ }, "strip", z.ZodTypeAny, {
339
+ name?: string | undefined;
340
+ status?: string | undefined;
341
+ priority?: number | null | undefined;
342
+ due_date?: number | null | undefined;
343
+ content?: string | undefined;
344
+ }, {
345
+ name?: string | undefined;
346
+ status?: string | undefined;
347
+ priority?: number | null | undefined;
348
+ due_date?: number | null | undefined;
349
+ content?: string | undefined;
350
+ }>;
351
+ type CreateSpaceInput = z.infer<typeof CreateSpaceSchema>;
352
+ type UpdateSpaceInput = z.infer<typeof UpdateSpaceSchema>;
353
+ type CreateFolderInput = z.infer<typeof CreateFolderSchema>;
354
+ type UpdateFolderInput = z.infer<typeof UpdateFolderSchema>;
355
+ type CreateListInput = z.infer<typeof CreateListSchema>;
356
+ type UpdateListInput = z.infer<typeof UpdateListSchema>;
357
+ type CreateTaskInput = z.infer<typeof CreateTaskSchema>;
358
+ type UpdateTaskInput = z.infer<typeof UpdateTaskSchema>;
359
+ type SearchTasksQuery = z.infer<typeof SearchTasksQuerySchema>;
360
+ type ListTasksQuery = z.infer<typeof ListTasksQuerySchema>;
361
+ type AddCommentInput = z.infer<typeof AddCommentSchema>;
362
+
363
+ export { type AddCommentInput, AddCommentSchema, CLICKUP_BASE_PATH, CLICKUP_FULL_ROUTES, CLICKUP_ROUTES, type ClickUpComment, type ClickUpFolder, type ClickUpList, type ClickUpMember, type ClickUpSpace, type ClickUpSpaceDetail, type ClickUpSpaceFeatures, type ClickUpStatus, type ClickUpTask, type ClickUpWorkspace, type CreateFolderInput, CreateFolderSchema, type CreateListInput, CreateListSchema, type CreateSpaceInput, CreateSpaceSchema, type CreateTaskInput, CreateTaskSchema, type ListTasksQuery, ListTasksQuerySchema, type SearchTasksQuery, SearchTasksQuerySchema, type UpdateFolderInput, UpdateFolderSchema, type UpdateListInput, UpdateListSchema, type UpdateSpaceInput, UpdateSpaceSchema, type UpdateTaskInput, UpdateTaskSchema };
package/dist/index.js ADDED
@@ -0,0 +1,113 @@
1
+ import { z } from 'zod';
2
+
3
+ // src/routes.ts
4
+ var CLICKUP_BASE_PATH = "/v1/plugins/clickup";
5
+ var CLICKUP_ROUTES = {
6
+ WORKSPACE: "/workspace",
7
+ TASKS_SEARCH: "/tasks/search",
8
+ TASK: "/tasks/:taskId",
9
+ TASKS_IN_LIST: "/lists/:listId/tasks",
10
+ LIST_STATUSES: "/lists/:listId/statuses",
11
+ TASK_COMMENTS: "/tasks/:taskId/comments",
12
+ // Spaces
13
+ SPACES: "/spaces",
14
+ SPACE: "/spaces/:spaceId",
15
+ // Folders
16
+ SPACE_FOLDERS: "/spaces/:spaceId/folders",
17
+ FOLDER: "/folders/:folderId",
18
+ // Lists
19
+ SPACE_LISTS: "/spaces/:spaceId/lists",
20
+ FOLDER_LISTS: "/folders/:folderId/lists",
21
+ LIST: "/lists/:listId"
22
+ };
23
+ var CLICKUP_FULL_ROUTES = {
24
+ WORKSPACE: `${CLICKUP_BASE_PATH}${CLICKUP_ROUTES.WORKSPACE}`,
25
+ TASKS_SEARCH: `${CLICKUP_BASE_PATH}${CLICKUP_ROUTES.TASKS_SEARCH}`,
26
+ TASK: `${CLICKUP_BASE_PATH}${CLICKUP_ROUTES.TASK}`,
27
+ TASKS_IN_LIST: `${CLICKUP_BASE_PATH}${CLICKUP_ROUTES.TASKS_IN_LIST}`,
28
+ LIST_STATUSES: `${CLICKUP_BASE_PATH}${CLICKUP_ROUTES.LIST_STATUSES}`,
29
+ TASK_COMMENTS: `${CLICKUP_BASE_PATH}${CLICKUP_ROUTES.TASK_COMMENTS}`
30
+ };
31
+ var CreateTaskSchema = z.object({
32
+ name: z.string().min(1),
33
+ markdown_content: z.string().optional(),
34
+ status: z.string().optional(),
35
+ priority: z.number().int().min(1).max(4).optional(),
36
+ // 1=urgent 2=high 3=normal 4=low
37
+ assignees: z.array(z.number()).optional(),
38
+ due_date: z.number().optional(),
39
+ // unix ms
40
+ tags: z.array(z.string()).optional(),
41
+ parent: z.string().optional()
42
+ // subtask parent id
43
+ });
44
+ var UpdateTaskSchema = z.object({
45
+ name: z.string().min(1).optional(),
46
+ markdown_content: z.string().optional(),
47
+ status: z.string().optional(),
48
+ priority: z.number().int().min(1).max(4).nullable().optional(),
49
+ assignees: z.object({
50
+ add: z.array(z.number()).optional(),
51
+ rem: z.array(z.number()).optional()
52
+ }).optional(),
53
+ due_date: z.number().nullable().optional()
54
+ });
55
+ var SearchTasksQuerySchema = z.object({
56
+ query: z.string().optional(),
57
+ list_ids: z.string().optional(),
58
+ // comma-separated
59
+ statuses: z.string().optional(),
60
+ // comma-separated
61
+ assignees: z.string().optional(),
62
+ // comma-separated user ids
63
+ limit: z.coerce.number().int().min(1).max(100).default(20),
64
+ page: z.coerce.number().int().min(0).default(0),
65
+ include_closed: z.coerce.boolean().default(false)
66
+ });
67
+ var ListTasksQuerySchema = z.object({
68
+ statuses: z.string().optional(),
69
+ assignees: z.string().optional(),
70
+ limit: z.coerce.number().int().min(1).max(100).default(20),
71
+ page: z.coerce.number().int().min(0).default(0),
72
+ include_closed: z.coerce.boolean().default(false)
73
+ });
74
+ var AddCommentSchema = z.object({
75
+ comment_text: z.string().min(1),
76
+ assignee: z.number().optional(),
77
+ notify_all: z.boolean().default(false)
78
+ });
79
+ var CreateSpaceSchema = z.object({
80
+ name: z.string().min(1),
81
+ color: z.string().optional(),
82
+ private: z.boolean().default(false)
83
+ });
84
+ var UpdateSpaceSchema = z.object({
85
+ name: z.string().min(1).optional(),
86
+ color: z.string().nullable().optional(),
87
+ private: z.boolean().optional()
88
+ });
89
+ var CreateFolderSchema = z.object({
90
+ name: z.string().min(1)
91
+ });
92
+ var UpdateFolderSchema = z.object({
93
+ name: z.string().min(1)
94
+ });
95
+ var CreateListSchema = z.object({
96
+ name: z.string().min(1),
97
+ content: z.string().optional(),
98
+ status: z.string().optional(),
99
+ priority: z.number().int().min(1).max(4).optional(),
100
+ due_date: z.number().optional(),
101
+ assignee: z.number().optional()
102
+ });
103
+ var UpdateListSchema = z.object({
104
+ name: z.string().min(1).optional(),
105
+ content: z.string().optional(),
106
+ status: z.string().optional(),
107
+ priority: z.number().int().min(1).max(4).nullable().optional(),
108
+ due_date: z.number().nullable().optional()
109
+ });
110
+
111
+ export { AddCommentSchema, CLICKUP_BASE_PATH, CLICKUP_FULL_ROUTES, CLICKUP_ROUTES, CreateFolderSchema, CreateListSchema, CreateSpaceSchema, CreateTaskSchema, ListTasksQuerySchema, SearchTasksQuerySchema, UpdateFolderSchema, UpdateListSchema, UpdateSpaceSchema, UpdateTaskSchema };
112
+ //# sourceMappingURL=index.js.map
113
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/routes.ts","../src/schemas.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["export const CLICKUP_BASE_PATH = '/v1/plugins/clickup' as const;\n\nexport const CLICKUP_ROUTES = {\n WORKSPACE: '/workspace',\n TASKS_SEARCH: '/tasks/search',\n TASK: '/tasks/:taskId',\n TASKS_IN_LIST: '/lists/:listId/tasks',\n LIST_STATUSES: '/lists/:listId/statuses',\n TASK_COMMENTS: '/tasks/:taskId/comments',\n // Spaces\n SPACES: '/spaces',\n SPACE: '/spaces/:spaceId',\n // Folders\n SPACE_FOLDERS: '/spaces/:spaceId/folders',\n FOLDER: '/folders/:folderId',\n // Lists\n SPACE_LISTS: '/spaces/:spaceId/lists',\n FOLDER_LISTS: '/folders/:folderId/lists',\n LIST: '/lists/:listId',\n} as const;\n\nexport const CLICKUP_FULL_ROUTES = {\n WORKSPACE: `${CLICKUP_BASE_PATH}${CLICKUP_ROUTES.WORKSPACE}`,\n TASKS_SEARCH: `${CLICKUP_BASE_PATH}${CLICKUP_ROUTES.TASKS_SEARCH}`,\n TASK: `${CLICKUP_BASE_PATH}${CLICKUP_ROUTES.TASK}`,\n TASKS_IN_LIST: `${CLICKUP_BASE_PATH}${CLICKUP_ROUTES.TASKS_IN_LIST}`,\n LIST_STATUSES: `${CLICKUP_BASE_PATH}${CLICKUP_ROUTES.LIST_STATUSES}`,\n TASK_COMMENTS: `${CLICKUP_BASE_PATH}${CLICKUP_ROUTES.TASK_COMMENTS}`,\n} as const;\n","import { z } from 'zod';\n\nexport const CreateTaskSchema = z.object({\n name: z.string().min(1),\n markdown_content: z.string().optional(),\n status: z.string().optional(),\n priority: z.number().int().min(1).max(4).optional(), // 1=urgent 2=high 3=normal 4=low\n assignees: z.array(z.number()).optional(),\n due_date: z.number().optional(), // unix ms\n tags: z.array(z.string()).optional(),\n parent: z.string().optional(), // subtask parent id\n});\n\nexport const UpdateTaskSchema = z.object({\n name: z.string().min(1).optional(),\n markdown_content: z.string().optional(),\n status: z.string().optional(),\n priority: z.number().int().min(1).max(4).nullable().optional(),\n assignees: z.object({\n add: z.array(z.number()).optional(),\n rem: z.array(z.number()).optional(),\n }).optional(),\n due_date: z.number().nullable().optional(),\n});\n\nexport const SearchTasksQuerySchema = z.object({\n query: z.string().optional(),\n list_ids: z.string().optional(), // comma-separated\n statuses: z.string().optional(), // comma-separated\n assignees: z.string().optional(), // comma-separated user ids\n limit: z.coerce.number().int().min(1).max(100).default(20),\n page: z.coerce.number().int().min(0).default(0),\n include_closed: z.coerce.boolean().default(false),\n});\n\nexport const ListTasksQuerySchema = z.object({\n statuses: z.string().optional(),\n assignees: z.string().optional(),\n limit: z.coerce.number().int().min(1).max(100).default(20),\n page: z.coerce.number().int().min(0).default(0),\n include_closed: z.coerce.boolean().default(false),\n});\n\nexport const AddCommentSchema = z.object({\n comment_text: z.string().min(1),\n assignee: z.number().optional(),\n notify_all: z.boolean().default(false),\n});\n\nexport const CreateSpaceSchema = z.object({\n name: z.string().min(1),\n color: z.string().optional(),\n private: z.boolean().default(false),\n});\n\nexport const UpdateSpaceSchema = z.object({\n name: z.string().min(1).optional(),\n color: z.string().nullable().optional(),\n private: z.boolean().optional(),\n});\n\nexport const CreateFolderSchema = z.object({\n name: z.string().min(1),\n});\n\nexport const UpdateFolderSchema = z.object({\n name: z.string().min(1),\n});\n\nexport const CreateListSchema = z.object({\n name: z.string().min(1),\n content: z.string().optional(),\n status: z.string().optional(),\n priority: z.number().int().min(1).max(4).optional(),\n due_date: z.number().optional(),\n assignee: z.number().optional(),\n});\n\nexport const UpdateListSchema = z.object({\n name: z.string().min(1).optional(),\n content: z.string().optional(),\n status: z.string().optional(),\n priority: z.number().int().min(1).max(4).nullable().optional(),\n due_date: z.number().nullable().optional(),\n});\n\nexport type CreateSpaceInput = z.infer<typeof CreateSpaceSchema>;\nexport type UpdateSpaceInput = z.infer<typeof UpdateSpaceSchema>;\nexport type CreateFolderInput = z.infer<typeof CreateFolderSchema>;\nexport type UpdateFolderInput = z.infer<typeof UpdateFolderSchema>;\nexport type CreateListInput = z.infer<typeof CreateListSchema>;\nexport type UpdateListInput = z.infer<typeof UpdateListSchema>;\n\nexport type CreateTaskInput = z.infer<typeof CreateTaskSchema>;\nexport type UpdateTaskInput = z.infer<typeof UpdateTaskSchema>;\nexport type SearchTasksQuery = z.infer<typeof SearchTasksQuerySchema>;\nexport type ListTasksQuery = z.infer<typeof ListTasksQuerySchema>;\nexport type AddCommentInput = z.infer<typeof AddCommentSchema>;\n"]}
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@kb-labs/clickup-contracts",
3
+ "version": "2.96.0",
4
+ "type": "module",
5
+ "description": "Public types for clickup",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "types": "./dist/index.d.ts"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist"
16
+ ],
17
+ "sideEffects": false,
18
+ "dependencies": {
19
+ "zod": "3.25.76"
20
+ },
21
+ "devDependencies": {
22
+ "@types/node": "^24.0.0",
23
+ "rimraf": "^6.0.1",
24
+ "tsup": "^8.5.0",
25
+ "typescript": "^5.6.3",
26
+ "vitest": "^3.2.6",
27
+ "@kb-labs/devkit": "2.96.0"
28
+ },
29
+ "engines": {
30
+ "node": ">=20.0.0",
31
+ "pnpm": ">=9.0.0"
32
+ },
33
+ "scripts": {
34
+ "clean": "rimraf dist",
35
+ "build": "tsup",
36
+ "dev": "tsup --watch",
37
+ "lint": "eslint src --ext .ts",
38
+ "lint:fix": "eslint . --fix",
39
+ "type-check": "tsc --noEmit",
40
+ "test": "vitest run --passWithNoTests"
41
+ }
42
+ }